On Tue, Aug 02, 2016 at 04:18:30AM +0000, Xulei (Stone) wrote:
On Fri, Jul 29, 2016 at 04:04:59AM +0000, Xulei (Stone) wrote:
After one day, the vm is stuck. Looking from the following seabios log, it seems seabios stops at "PCI: Using 00:02.0 for primary VGA", and can not execute handle_smp() any more. What may be the reason?
More debugging info would be necessary to find this problem. You could try reproducing and attaching gdb ( http://www.seabios.org/Debugging#Debugging_with_gdb_on_QEMU ). Alternatively, a kvm trace log may help.
kvm trace (seems useful) indicates that cpu 0 keeps always to access 0x00b3 ioport. 0x00b3 is PORT_SMI_STATUS, so i guess my bios is stuck in the function smm_relocate_and_restore { ... /* wait until SMM code executed */ while (inb(PORT_SMI_STATUS) != 0x00) ... }
I'd try adding dprintf() statements around all the code at the top of smm_relocate_and_restore() and enable the dprintf() at the top of handle_smi().
It would also be useful if you can extract the log from the last two working reboots to compare it to the failed case.
-Kevin