Hi, On 27/11/2007, Uri Lublin <[EMAIL PROTECTED]> wrote: > Hello, > > If one is not lucky he/she may lose PCI interrupts when saving and > loading a VM. > It seems PCI irq related state is not being saved. > When this happens, the guest hangs/spins and the cpu usage of the > process stays around 100%. > > Attached are three patches to fix this: > 01 -- when saving/loading a pci device, save/load its irq_state > 02 -- save/load PCI-Bus irq related state > 03 -- save/load PCI-bridge (i440FX/PIIX3) irq related state > > There are two alternatives, both recalculate PCI irq related state upon > loadvm instead of saving/loading it: > (a) Make every PCI device DEV (e.g. rtl8139, ne2000, usb-uhci, etc) call > its DEV_update_irq() from its state-load-function. or > (b) Keep patch 01 and recalculate 02 and 03 by going over all > PCI-devices on the specific Bus/Bridge.
I committed the three patches together but I changed the put/get functions used to ones that don't assume on sizeof(int) == 4. Compile tested only, please check if I've not screwed this up. Regards