6.0 BETA2 reboot hangs on SMP system - progress of a sort
Mark Kirkwood
markir at paradise.net.nz
Wed Aug 24 10:09:50 GMT 2005
Ok, a little more testing this time :-).
The situation is this:
kernel(SMP) + bios(no USB) -> hang at reboot
whereas
kernel(SMP) + bios(USB) -> reboot ok
As I am still a kernel debugger newbie, I added a few printfs instead to
pin down where the hang was. It appears to be in:
src/sys/i386/i386/vm_machdep.c:cpu_reset_real()
specifically:
#if !defined(BROKEN_KEYBOARD_RESET)
printf("cpu_reset_real: case CPU_PC98 + !BROKEN_KEYBOARD_RESET
\n"); /* <==== HANGS AFTER DISPLAYING ==== */
DELAY(1000000);
/*
* Attempt to do a CPU reset via the keyboard controller,
* do not turn off GateA20, as any machine that fails
* to do the reset here would then end up in no man's land.
*/
outb(IO_KBD + 4, 0xFE); /* <==== DEDUCE HANG HERE ==== */
DELAY(500000); /* wait 0.5 sec to see if that did it */
printf("Keyboard reset did not work, attempting CPU shutdown\n");
DELAY(1000000); /* wait 1 sec for printf to complete */
#endif
(I have spattered the nice clean source with printf's and DELAY's... but
you get the idea).
So outb(IO_KBD + 4, 0xFE) *looks* like the culprit.
So anybody have any ideas why *SMP* is triggering this? Or why it is
happening anyway?
cheers
Mark
P.S : Funnily enough, searching about I found cases where Windoze SMP
boxes would not reboot *unless* USB was disabled...
Mark Kirkwood wrote:
> Looks like I have false alarmed everybody :-( I must have changed
> something in my BIOS setup since I last (tried to) reboot, because now
> 5.4-RELEASE (SMP) reboots ok, and I have made no changes there.
>
> I will look around and try to see what it is (a quick glance suggests I
> have USB enabled now, whereas it may have been disabled before).
>
More information about the freebsd-current
mailing list