On Thu, Dec 19, 2013 at 11:32:03PM +0100, Laszlo Ersek wrote:
On 12/19/13 23:16, Michael S. Tsirkin wrote:
I suspect we need to init more devices, but I
need to look some
more into this. Basically whatever OS does not restore, we have to.
I don't think that implication is necessarily true. Just because neither
restores some device state currently doesn't imply the firmware should
restore it. The OS is much better equipped to restore complex state;
If you look at my patch, there's nothing complex there.
firmware should only have to ensure that the OS gets a chance to run again.
The Platform Init spec 1.2.1 says in Vol5, 18.104.22.168.1 DXE and the S3
Resume Boot Path,
The ACPI specification only requires the BIOS to restore chipset and
processor configuration. [...]
All of PIIX and Q35 is part if the chipset though.
I'm not sure which part of the ACPI spec they
refer to, and of course
this statement may not be overly accurate either, but it does seem to
limit the firmware's responsibility.
Basically OSes are tested on real hardware. Whatever firmware for
real boards restores, OS-es won't restore so we have to.