Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/770
-gerrit
commit 38173d059962cb600361cbe48af36b11765d73c3 Author: Duncan Laurie dlaurie@chromium.org Date: Wed Jan 18 10:05:18 2012 -0800
Don't re-init EBDA in S3 resume path.
I forgot to implement this the first time around.
It does not seem to cause noticeable problems but in heavy suspend/resume testing I saw a suspicious crash in the kernel when trying to bring one of the CPUs back online.
Change-Id: I950ac260f251e2683693d9bd20a0dd5e041aa26e Signed-off-by: Duncan Laurie dlaurie@google.com --- src/arch/x86/lib/ebda.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/arch/x86/lib/ebda.c b/src/arch/x86/lib/ebda.c index faf1451..fb407b6 100644 --- a/src/arch/x86/lib/ebda.c +++ b/src/arch/x86/lib/ebda.c @@ -23,9 +23,18 @@ #include <string.h> #include <arch/io.h> #include <arch/ebda.h> +#if CONFIG_HAVE_ACPI_RESUME +#include <arch/acpi.h> +#endif
void setup_ebda(u32 low_memory_size, u16 ebda_segment, u16 ebda_size) { +#if CONFIG_HAVE_ACPI_RESUME + /* Skip in S3 resume path */ + if (acpi_slp_type == 3) + return; +#endif + if (!low_memory_size || !ebda_segment || !ebda_size) return;