lkml.org 
[lkml]   [2009]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: printk regression?


On Wed, 1 Jul 2009, Linus Torvalds wrote:
>
> Same goes for the insane binary printing crap. How about just making it
> sane?

Untested.

Note the comment. I kept it doing the insane thing (print out bit#0 as the
first bit), but do wonder if that's really what you want. Normally, you
print the least-significant-bit right-most.

Linus
---
arch/x86/kernel/apic/io_apic.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 4d0216f..cf52a29 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1724,16 +1724,19 @@ __apicdebuginit(void) print_APIC_bitfield(int base)
if (apic_verbosity == APIC_QUIET)
return;

- printk(KERN_DEBUG "0123456789abcdef0123456789abcdef\n" KERN_DEBUG);
+ printk(KERN_DEBUG "0123456789abcdef0123456789abcdef\n");
for (i = 0; i < 8; i++) {
+ char bin[33];
v = apic_read(base + i*0x10);
+
+ /* Do we really want to print out LSB first? */
for (j = 0; j < 32; j++) {
- if (v & (1<<j))
- printk("1");
- else
- printk("0");
+ bin[j] = '0' + (v&1);
+ v >>= 1;
}
- printk("\n");
+ bin[32] = 0;
+
+ printk(KERN_DEBUG "%s\n", bin);
}
}

@@ -1745,7 +1748,7 @@ __apicdebuginit(void) print_local_APIC(void *dummy)
if (apic_verbosity == APIC_QUIET)
return;

- printk("\n" KERN_DEBUG "printing local APIC contents on CPU#%d/%d:\n",
+ printk(KERN_DEBUG "printing local APIC contents on CPU#%d/%d:\n",
smp_processor_id(), hard_smp_processor_id());
v = apic_read(APIC_ID);
printk(KERN_INFO "... APIC ID: %08x (%01x)\n", v, read_apic_id());

\
 
 \ /
  Last update: 2009-10-18 23:28    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site