/* SPDX-License-Identifier: GPL-2.0 */1#include <linux/linkage.h>2#include <asm/nospec-branch.h>3#include <asm/page_types.h>4#include <asm/processor-flags.h>56.text7.align PAGE_SIZE89/*10* asm_acpi_mp_play_dead() - Hand over control of the CPU to the BIOS11*12* rdi: Address of the ACPI MADT MPWK ResetVector13* rsi: PGD of the identity mapping14*/15SYM_FUNC_START(asm_acpi_mp_play_dead)16ANNOTATE_NOENDBR17/* Turn off global entries. Following CR3 write will flush them. */18movq %cr4, %rdx19andq $~(X86_CR4_PGE), %rdx20movq %rdx, %cr42122/* Switch to identity mapping */23movq %rsi, %cr32425/* Jump to reset vector */26ANNOTATE_RETPOLINE_SAFE27jmp *%rdi28SYM_FUNC_END(asm_acpi_mp_play_dead)293031