;------------------------------------------------------------------------------ ; | |
; Copyright (c) 2019 - 2023, Intel Corporation. All rights reserved.<BR> | |
; SPDX-License-Identifier: BSD-2-Clause-Patent | |
; | |
;------------------------------------------------------------------------------- | |
%include "Nasm.inc" | |
%include "Cet.inc" | |
DEFAULT REL | |
SECTION .text | |
global ASM_PFX(DisableCet) | |
ASM_PFX(DisableCet): | |
; Skip the pushed data for call | |
mov rax, 1 | |
incsspq rax | |
mov rax, cr4 | |
btr eax, CR4_CET_BIT ; clear CET | |
mov cr4, rax | |
ret | |
global ASM_PFX(EnableCet) | |
ASM_PFX(EnableCet): | |
mov rax, cr4 | |
bts eax, CR4_CET_BIT ; set CET | |
mov cr4, rax | |
; use jmp to skip the check for ret | |
pop rax | |
jmp rax | |