#include <asm/segment.h> #include <asm/msr.h> #include <asm/processor-flags.h> #include "../../platform/efi/efi_stub_64.S" #ifdef CONFIG_EFI_MIXED .code64 .text ENTRY(efi64_thunk) push %rbp push %rbx subq $16, %rsp leaq efi_exit32(%rip), %rax movl %eax, 8(%rsp) leaq efi_gdt64(%rip), %rax movl %eax, 4(%rsp) movl %eax, 2(%rax) /* Fixup the gdt base address */ leaq efi32_boot_gdt(%rip), %rax movl %eax, (%rsp) call __efi64_thunk addq $16, %rsp pop %rbx pop %rbp ret ENDPROC(efi64_thunk) #endif /* CONFIG_EFI_MIXED */