If you can get to calibrate_delay hypertransport is still routing traffic.
Your diagnosis of the problem is wrong. Most likely it is just an ioapic
programming error in restoring the system to PIC mode.
I agree that there is a problem.
The reliable fix is to totally skip the PIC interrupt mode and go directly
to apic mode.
To make the code kexec on panic code path reliable we need to remove code
not add it.
Frankly I think switching cpus is one of the least reliable things that
we can do in general.
Eric
-