Michael Ellerman
76a8ad2939
[PATCH] Make printk work for really early debugging
...
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: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-25 10:01:05 -07:00
..
irq
[PATCH] adjust handle_IRR_event() return type
2006-06-23 07:43:08 -07:00
power
Add some basic resume trace facilities
2006-06-24 14:44:01 -07:00
.gitignore
acct.c
[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry
2006-06-23 07:42:45 -07:00
audit.c
[PATCH] log more info for directory entry change events
2006-06-20 05:25:28 -04:00
audit.h
[PATCH] log more info for directory entry change events
2006-06-20 05:25:28 -04:00
auditfilter.c
[PATCH] log more info for directory entry change events
2006-06-20 05:25:28 -04:00
auditsc.c
[PATCH] Doc: add audit & acct to DocBook
2006-06-23 07:43:07 -07:00
capability.c
compat.c
[PATCH] move_pages: fix 32 -> 64 bit compat function
2006-06-23 07:42:53 -07:00
configs.c
cpu.c
cpuset.c
[PATCH] SELinux: add security hook call to mediate attach_task (kernel/cpuset.c)
2006-06-23 07:42:54 -07:00
dma.c
exec_domain.c
exit.c
[PATCH] More BUG_ON conversion
2006-06-23 07:43:08 -07:00
extable.c
[PATCH] symbol_put_addr() locks kernel
2006-05-15 11:20:55 -07:00
fork.c
[PATCH] dup fd error fix
2006-06-23 07:43:04 -07:00
futex.c
[PATCH] VFS: Permit filesystem to override root dentry on mount
2006-06-23 07:42:45 -07:00
futex_compat.c
[PATCH] futex: check and validate timevals
2006-03-31 12:18:59 -08:00
hrtimer.c
[PATCH] Define __raw_get_cpu_var and use it
2006-06-25 10:01:01 -07:00
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt
kexec.c
[PATCH] Add a sysfs file to determine if a kexec kernel is loaded
2006-06-23 07:43:02 -07:00
kfifo.c
kmod.c
[PATCH] wait_for_helper: trivial style cleanup
2006-03-28 18:36:41 -08:00
kprobes.c
[PATCH] kprobes: NULL out non-relevant fields in struct kretprobe
2006-04-20 07:54:03 -07:00
ksysfs.c
[PATCH] Add a sysfs file to determine if a kexec kernel is loaded
2006-06-23 07:43:02 -07:00
kthread.c
Makefile
Finally remove the obnoxious inter_module_xxx()
2006-05-08 22:40:05 +01:00
module.c
[PATCH] ensure NULL deref can't possibly happen in is_exported()
2006-06-25 10:00:59 -07:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
panic.c
[PATCH] the scheduled unexport of panic_timeout
2006-04-11 06:18:40 -07:00
params.c
pid.c
[PATCH] pidhash: Refactor the pid hash table
2006-03-31 12:19:00 -08:00
posix-cpu-timers.c
[PATCH] arm_timer: remove a racy and obsolete PF_EXITING check
2006-06-17 10:52:13 -07:00
posix-timers.c
printk.c
[PATCH] Make printk work for really early debugging
2006-06-25 10:01:05 -07:00
profile.c
[PATCH] Remove __devinit and __cpuinit from notifier_call definitions
2006-04-26 08:30:03 -07:00
ptrace.c
ptrace_attach: fix possible deadlock schenario with irqs
2006-05-11 11:08:49 -07:00
rcupdate.c
[PATCH] Make RCU API inaccessible to non-GPL Linux kernel modules
2006-06-23 07:43:07 -07:00
rcutorture.c
[PATCH] for_each_possible_cpu: fixes for generic part
2006-03-28 09:16:05 -08:00
relay.c
resource.c
sched.c
[PATCH] Define __raw_get_cpu_var and use it
2006-06-25 10:01:01 -07:00
seccomp.c
signal.c
[PATCH] collect sid of those who send signals to auditd
2006-06-20 05:25:21 -04:00
softirq.c
[PATCH] Remove __devinit and __cpuinit from notifier_call definitions
2006-04-26 08:30:03 -07:00
softlockup.c
[PATCH] Define __raw_get_cpu_var and use it
2006-06-25 10:01:01 -07:00
spinlock.c
stop_machine.c
sys.c
[PATCH] Allow raw_notifier callouts to unregister themselves
2006-06-25 10:01:01 -07:00
sys_ni.c
[PATCH] sys_move_pages: 32bit support (i386, x86_64)
2006-06-23 07:42:53 -07:00
sysctl.c
[PATCH] CONFIG_NET=n build fix
2006-06-23 07:43:06 -07:00
time.c
Fix comments: s/granuality/granularity/
2006-04-01 01:41:22 +02:00
timer.c
[PATCH] Define __raw_get_cpu_var and use it
2006-06-25 10:01:01 -07:00
uid16.c
[PATCH] Add more prevent_tail_call()
2006-04-19 16:27:18 -07:00
user.c
[PATCH] selinux: add hooks for key subsystem
2006-06-22 15:05:55 -07:00
wait.c
workqueue.c
[PATCH] list: use list_replace_init() instead of list_splice_init()
2006-06-23 07:43:07 -07:00