• Michael Ellerman's avatar
    [PATCH] Make printk work for really early debugging · 76a8ad29
    Michael Ellerman authored
    Currently printk is no use for early debugging because it refuses to
    actually print anything to the console unless
    cpu_online(smp_processor_id()) is true.
    
    The stated explanation is that console drivers may require per-cpu
    resources, or otherwise barf, because the system is not yet setup
    correctly.  Fair enough.
    
    However some console drivers might be quite happy running early during
    boot, in fact we have one, and so it'd be nice if printk understood that.
    
    So I added a flag (which I would have called CON_BOOT, but that's taken)
    called CON_ANYTIME, which indicates that a console is happy to be called
    anytime, even if the cpu is not yet online.
    
    Tested on a Power 5 machine, with both a CON_ANYTIME driver and a bogus
    console driver that BUG()s if called while offline.  No problems AFAICT.
    Built for i386 UP & SMP.
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    76a8ad29
printk.c 27 KB