Attention is currently required from: Patrick Rudolph, Iru Cai, Iru Cai (vimacs). Hello build bot (Jenkins), Patrick Rudolph, Paul Menzel, Arthur Heymans, Iru Cai,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/55947
to look at the new patch set (#4).
Change subject: arch/x86: Save resume vector to stack in x86_64 mode ......................................................................
arch/x86: Save resume vector to stack in x86_64 mode
In x86_64, the first function parameter is passed in rdi register, and the 32-bit code after exiting long mode reads the resume vector in 4(%esp), so it's needed to save the resume vector from rdi to 4(%rsp).
Also note that the function attribute "regparm" only works on x86-32 targets according to the GCC manual, so "asmlinkage" doesn't change the ABI of an x86_64 function.
Tested on HP EliteBook 2560p. The laptop can resume from S3 in x86_64 mode after this change.
Change-Id: I45f2678071b2511c0af5dce9d9b73ac70dfd7252 Signed-off-by: Iru Cai mytbk920423@gmail.com --- M src/arch/x86/wakeup.S 1 file changed, 7 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/47/55947/4