>> Indeed. Wrappinge the mutex operations in msgbuf_putchar with if (!cold)
>> makes the kernel boot again.
>
> Here is a diff for that.

After a bit more thinking, it might be worth introduce a
msgbuf_putchar_unlocked() routine for the inner part only, and have
initmsgbuf() use it, since:
- it has made sure the magic value test will suceed.
- this is the only use of msgbuf_putchar() on sparc64 until the proper
  curcpu mappings are set up; all output from pmap_bootstrap() carefully
  uses the prom routines (and do not end up in the message buffer).

$.02

Reply via email to