summaryrefslogtreecommitdiff
path: root/src/arch/x86/boot/acpi.c
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-01-03 15:15:22 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-01-06 17:33:10 +0100
commitcb28f3f8ed13cdd9ae17441dacf6409eaf390105 (patch)
treef68b47e1fc90a292139ffeb00660defb831a2cb2 /src/arch/x86/boot/acpi.c
parent8526c3a4035c61e65814ef1fbe69b26311440d0c (diff)
CBMEM ACPI: Move resume handler
Handler is ACPI/x86 specific so move details out of cbmem code. With static CBMEM initialisation, ramstage will need to test for S3 wakeup condition so publish also acpi_is_wakeup(). Change-Id: If591535448cdd24a54262b534c1a828fc13da759 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/4619 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src/arch/x86/boot/acpi.c')
-rw-r--r--src/arch/x86/boot/acpi.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/x86/boot/acpi.c b/src/arch/x86/boot/acpi.c
index 96cb270814..0e09ec58c6 100644
--- a/src/arch/x86/boot/acpi.c
+++ b/src/arch/x86/boot/acpi.c
@@ -645,12 +645,18 @@ void acpi_resume(void *wake_vec)
/* This is to be filled by SB code - startup value what was found. */
u8 acpi_slp_type = 0;
-static int acpi_is_wakeup(void)
+int acpi_is_wakeup(void)
{
/* Both resume from S2 and resume from S3 restart at CPU reset */
return (acpi_slp_type == 3 || acpi_slp_type == 2);
}
+void acpi_fail_wakeup(void)
+{
+ if (acpi_slp_type == 3 || acpi_slp_type == 2)
+ acpi_slp_type = 0;
+}
+
static acpi_rsdp_t *valid_rsdp(acpi_rsdp_t *rsdp)
{
if (strncmp((char *)rsdp, RSDP_SIG, sizeof(RSDP_SIG) - 1) != 0)