mirror of https://github.com/acidanthera/audk.git
43 lines
1.1 KiB
NASM
43 lines
1.1 KiB
NASM
|
;-----------------------------------------------------------------------------
|
||
|
;
|
||
|
; Copyright (c) 2021, AMD. All rights reserved.<BR>
|
||
|
; SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
;
|
||
|
;-----------------------------------------------------------------------------
|
||
|
|
||
|
%include "Nasm.inc"
|
||
|
|
||
|
SECTION .text
|
||
|
|
||
|
;-----------------------------------------------------------------------------
|
||
|
; UINT32
|
||
|
; EFIAPI
|
||
|
; AsmPvalidate (
|
||
|
; IN UINT32 PageSize
|
||
|
; IN UINT32 Validate,
|
||
|
; IN UINT64 Address
|
||
|
; )
|
||
|
;-----------------------------------------------------------------------------
|
||
|
global ASM_PFX(AsmPvalidate)
|
||
|
ASM_PFX(AsmPvalidate):
|
||
|
mov rax, r8
|
||
|
|
||
|
PVALIDATE
|
||
|
|
||
|
; Save the carry flag.
|
||
|
setc dl
|
||
|
|
||
|
; The PVALIDATE instruction returns the status in rax register.
|
||
|
cmp rax, 0
|
||
|
jne PvalidateExit
|
||
|
|
||
|
; Check the carry flag to determine if RMP entry was updated.
|
||
|
cmp dl, 0
|
||
|
je PvalidateExit
|
||
|
|
||
|
; Return the PVALIDATE_RET_NO_RMPUPDATE.
|
||
|
mov rax, 255
|
||
|
|
||
|
PvalidateExit:
|
||
|
ret
|