diff --git a/arch/sw_64/include/asm/efi.h b/arch/sw_64/include/asm/efi.h index ae68505e5e117306fb216ebec27588efd01a5466..b9af3592cb28bbde48273649666cdf32d2be20d0 100644 --- a/arch/sw_64/include/asm/efi.h +++ b/arch/sw_64/include/asm/efi.h @@ -6,6 +6,10 @@ #include #ifdef CONFIG_EFI extern void efi_init(void); +extern unsigned long entSuspend; + +#define SLEEP_ENTRY_GUID EFI_GUID(0x59cb76bb, 0x9c3a, 0x4c8f, 0xbd, 0x5c, 0xc0, 0x0f, 0x20, 0x61, 0x18, 0x4b) + #else #define efi_init() #define efi_idmap_init() @@ -35,8 +39,4 @@ extern void efi_init(void); #define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__) -extern unsigned long entSuspend; - -#define SLEEP_ENTRY_GUID EFI_GUID(0x59cb76bb, 0x9c3a, 0x4c8f, 0xbd, 0x5c, 0xc0, 0x0f, 0x20, 0x61, 0x18, 0x4b) - #endif /* _ASM_SW64_EFI_H */ diff --git a/arch/sw_64/kernel/traps.c b/arch/sw_64/kernel/traps.c index 252eb23dd032bd9e5cb83c4e2e39b9a8f14094bc..38a0131290086be373d1684c0e1addc6023bf500 100644 --- a/arch/sw_64/kernel/traps.c +++ b/arch/sw_64/kernel/traps.c @@ -1459,5 +1459,7 @@ trap_init(void) wrent(entIF, 3); wrent(entUna, 4); wrent(entSys, 5); +#ifdef CONFIG_EFI wrent((void *)entSuspend, 6); +#endif }