[coreboot-gerrit] New patch to review for coreboot: ACPI S3: Cleanup wakeup jump
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Sat Jun 18 12:39:49 CEST 2016
Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15244
-gerrit
commit 8afab54247e6d8ebb99a57444cae0b993b2270e8
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Sat Jun 18 08:55:15 2016 +0300
ACPI S3: Cleanup wakeup jump
With RELOCATABLE_RAMSTAGE this change eliminates any
references to HIGH_MEMORY_SAVE and RAMBASE here.
Change-Id: If0a9e3cc87e92073ba510c853b2742ae373acba5
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
src/arch/x86/acpi_s3.c | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/src/arch/x86/acpi_s3.c b/src/arch/x86/acpi_s3.c
index 7f81791..dadce84 100644
--- a/src/arch/x86/acpi_s3.c
+++ b/src/arch/x86/acpi_s3.c
@@ -147,6 +147,26 @@ void (*acpi_do_wakeup)(uintptr_t vector, u32 backup_source, u32 backup_target,
extern unsigned char __wakeup;
extern unsigned int __wakeup_size;
+static void __acpi_jump_to_wakeup(uintptr_t vector, u32 src,
+ u32 dst, size_t len)
+{
+ lowmem_recovery();
+
+ /* Copy wakeup trampoline in place. */
+ memcpy((void *)WAKEUP_BASE, &__wakeup, __wakeup_size);
+
+ timestamp_add_now(TS_ACPI_WAKE_JUMP);
+
+ acpi_do_wakeup(vector, src, dst, len);
+}
+
+#if IS_ENABLED(CONFIG_RELOCATABLE_RAMSTAGE)
+void acpi_jump_to_wakeup(void *vector)
+{
+ __acpi_jump_to_wakeup((uintptr_t)vector, 0, 0, 0);
+}
+#else
+
void acpi_jump_to_wakeup(void *vector)
{
uintptr_t acpi_backup_memory = 0;
@@ -160,16 +180,9 @@ void acpi_jump_to_wakeup(void *vector)
return;
}
}
-
- lowmem_recovery();
-
- /* Copy wakeup trampoline in place. */
- memcpy((void *)WAKEUP_BASE, &__wakeup, __wakeup_size);
-
- timestamp_add_now(TS_ACPI_WAKE_JUMP);
-
- acpi_do_wakeup((uintptr_t)vector, acpi_backup_memory, CONFIG_RAMBASE,
+ __acpi_jump_to_wakeup((uintptr_t)vector, acpi_backup_memory, CONFIG_RAMBASE,
HIGH_MEMORY_SAVE);
}
+#endif
#endif /* ENV_RAMSTAGE */
More information about the coreboot-gerrit
mailing list