Another way to fix this, and the next concern on vm save/load, is to
develop an APM or ACPI device. There is a standard interface between
the hardware and the OS, almost all OS's now support a version of APM
or ACPI, and the OS knows to reinitialize various parts of the
hardware after certain events. This would simplify the question of
special instructions or unused IO port. In a way, it would allow the
emulator to be treated like a laptop, where the user can tell it to
suspend or sleep, and when to wake up again. Since the OS has a driver
for APM, it would be aware of these events, reinitialize devices (RTC,
NIC), and Qemu would not be responsible for as many internal details.
My humble $0.02 on the issue....
Nathan