I put in printfs and delays and found the system becomes unstable in
cpu_boot_secondary() in arch/amd64/amd64/cpu.c on line 458:
ci->ci_flags |= CPUF_GO; /* XXX atomic */
Whatever acpimadt(4) does with the processor and I/O APICs, appears to
have a knock-on effect with that piece of code to make the system
unstable. I know that disabling acpimadt(4) is not a solution, but
it appears to be a deciding factor on whether or not the machine can
start up the secondary processor or not.
If I were to put Debugger(); in before that line and perhaps print
ci->ci_flags, would that possibly give some clues?
Should I contact kettenis@? I know your time is valuable and would
rather not waste it if I can.
Tom