RELOCATABLE_RAMSTAGE: Fix weak symbols in ACPI

After relocation the weak symbols are no longer NULL.
Always have empty stub function defined.

Change-Id: I6cb959c1fa10b4b63018e400636842e2a15d6e81
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/7955
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Kyösti Mälkki 2014-12-26 13:29:09 +02:00
parent c7c02673e4
commit 134f504cb7
2 changed files with 14 additions and 6 deletions

View File

@ -830,6 +830,10 @@ unsigned long write_acpi_tables(unsigned long start)
#endif #endif
#if CONFIG_HAVE_ACPI_RESUME #if CONFIG_HAVE_ACPI_RESUME
void __attribute__((weak)) mainboard_suspend_resume(void)
{
}
void acpi_resume(void *wake_vec) void acpi_resume(void *wake_vec)
{ {
#if CONFIG_HAVE_SMI_HANDLER #if CONFIG_HAVE_SMI_HANDLER
@ -844,8 +848,7 @@ void acpi_resume(void *wake_vec)
#endif #endif
/* Call mainboard resume handler first, if defined. */ /* Call mainboard resume handler first, if defined. */
if (mainboard_suspend_resume) mainboard_suspend_resume();
mainboard_suspend_resume();
post_code(POST_OS_RESUME); post_code(POST_OS_RESUME);
acpi_jump_to_wakeup(wake_vec); acpi_jump_to_wakeup(wake_vec);
@ -854,13 +857,18 @@ void acpi_resume(void *wake_vec)
/* This is to be filled by SB code - startup value what was found. */ /* This is to be filled by SB code - startup value what was found. */
u8 acpi_slp_type = 0; u8 acpi_slp_type = 0;
int __attribute__((weak)) acpi_get_sleep_type(void)
{
return 0;
}
static void acpi_handoff_wakeup(void) static void acpi_handoff_wakeup(void)
{ {
static int once = 0; static int once = 0;
if (once) if (once)
return; return;
if (acpi_get_sleep_type)
acpi_slp_type = acpi_get_sleep_type(); acpi_slp_type = acpi_get_sleep_type();
once = 1; once = 1;
} }

View File

@ -570,12 +570,12 @@ int acpi_is_wakeup_early(void);
void acpi_fail_wakeup(void); void acpi_fail_wakeup(void);
void acpi_resume(void *wake_vec); void acpi_resume(void *wake_vec);
void acpi_prepare_resume_backup(void); void acpi_prepare_resume_backup(void);
void __attribute__((weak)) mainboard_suspend_resume(void); void mainboard_suspend_resume(void);
void *acpi_find_wakeup_vector(void); void *acpi_find_wakeup_vector(void);
void *acpi_get_wakeup_rsdp(void); void *acpi_get_wakeup_rsdp(void);
void acpi_jump_to_wakeup(void *wakeup_addr); void acpi_jump_to_wakeup(void *wakeup_addr);
int __attribute__((weak)) acpi_get_sleep_type(void); int acpi_get_sleep_type(void);
#endif /* IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) */ #endif /* IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) */
/* cpu/intel/speedstep/acpi.c */ /* cpu/intel/speedstep/acpi.c */