[coreboot] suspend/resume in v3
Rudolf Marek
r.marek at assembler.cz
Sun Sep 7 21:28:54 CEST 2008
Carl-Daniel Hailfinger napsal(a):
> Rudolf, thanks for giving us that overview. I see that it is a
> description of S3 wakeup. Could you perhaps supplement that with a
> description of S3 suspend?
S3 suspend is just this line in ACPI ASL:
+Name (\_S3, Package () {0x01, 0x01, 0x00, 0x00 })
OS will write the 0x1 to SLP register in ACPI PMIO. OS will take care of cache
flushes etc. The write to this register will cause the SMAF Stop grant message
to be send to CPU, CPU will disconnect the bus, and SB will sequence all signals
similar to power off. The only problem is suspend signal which goes to
superIO, which is needed not to cut power to RAM.
In other words, you dont need to preserve anything/no need for SMM. ACPI allows
that the hardware is in same state as it was during normal power on (for HW
managed by BIOS).
If needed, writing to SLP register might be traped by SMM, and BIOS can save
some values to NVRAM regs, sometimes found in chipsets (memory timing etc) to
ease the startup. But we dont need that we are fast anyway.
Some extra hw clobber might be done in ACPI ASL code, there are methods which
will be called during wakeup or during resume.
http://acpi.info/spec30a.htm
Rudolf
More information about the coreboot
mailing list