On 05/19/2011 10:01 AM, Ian Campbell wrote:
We had a bit of a brainstorm yesterday and someone suggested that perhaps qemu could deal with it when it sees the I/O ports for the emulated device unplug get hit.
You could imagine doing the unplug even under an OS that uses INT 13h. PV drivers also aren't forced to do the unplug: RHEL5 guests (up to
5.7
at least) use blacklisting, and the Red Hat PV drivers for Windows use
a
filter driver because I never got the unplug to work.
If SeaBIOS is guaranteed to never reinitialize the callback via, trapping writes to HVM_PARAM_CALLBACK_IRQ with an SMI-like effect
sounds
like the way to go, as everybody probably agrees at this point. You could also initate the shutdown from dom0, which you could easily do
via
ACPI even. ;)
Am I understanding right that the OS would need to be completely put on hold in the middle of the hypercall while the BIOS took over and did it's shutdown sequence, which presumably involves xenstore activity?
James