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