On Thu, 18 Sep 2008, Stefan Reinauer wrote:

See patch

--

After dumping the ecx flags, decode_flags starts in the same line for the edx flags if less than 16 flags were decoded. Some flags could not be read because they're overwritten. This patch fixes the problem by forcing a new line for each decode.

Signed-off-by: Stefan Reinauer <[EMAIL PROTECTED]>

With the two comments below addressed, this patch is

Acked-by: Ulf Jordan <[EMAIL PROTECTED]>


Index: coreinfo/cpuinfo_module.c
===================================================================
--- coreinfo/cpuinfo_module.c   (revision 3569)
+++ coreinfo/cpuinfo_module.c   (working copy)
@@ -97,6 +97,7 @@
 {
        int i;
        int lrow = *row;
+       int output_available=0;

        wmove(win, lrow, 2);

@@ -104,8 +105,10 @@
                if (flags[i] == NULL)
                        continue;

-               if (reg & (1 << i))
+               if (reg & (1 << i)) {
                        wprintw(win, "%s ", flags[i]);
+                       output_available=1;
+               }

                if (i && (i % 16) == 0) {
                        lrow++;
@@ -113,6 +116,8 @@
                }
        }

+       lrow += output_available;
+
        *row = lrow;
 }

@@ -131,7 +136,7 @@

        switch (vendor) {
        case VENDOR_AMD:
-               wmove(win, lrow++, 1);
+               wmove(win, lrow, 1);
                wprintw(win, "AMD Extended Flags: ");

This hunk will make the decoded flags overwrite the heading, please remove.

                decode_flags(win, ecx, amd_cap_generic_ecx_flags, &lrow);
                docpuid(0x80000001, &eax, &ebx, &ecx, &edx);
@@ -139,7 +144,7 @@
                decode_flags(win, ecx, amd_cap_extended_ecx_flags, &lrow);
                break;
        case VENDOR_INTEL:
-               wmove(win, lrow++, 1);
+               wmove(win, lrow, 1);
                wprintw(win, "Intel Extended Flags: ");

Ditto.

                decode_flags(win, ecx, intel_cap_generic_ecx_flags, &lrow);
                docpuid(0x80000001, &eax, &ebx, &ecx, &edx);


/ulf

--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to