diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf index bce6d00180..ca88b0c95c 100644 --- a/MdePkg/Library/BaseLib/BaseLib.inf +++ b/MdePkg/Library/BaseLib/BaseLib.inf @@ -467,6 +467,7 @@ X64/DisablePaging64.asm | MSFT X64/Mwait.nasm| MSFT X64/Mwait.asm | MSFT + X64/Monitor.nasm| MSFT X64/Monitor.asm | MSFT X64/ReadPmc.asm | MSFT X64/ReadTsc.asm | MSFT @@ -550,6 +551,7 @@ X64/DisablePaging64.asm | INTEL X64/Mwait.nasm| INTEL X64/Mwait.asm | INTEL + X64/Monitor.nasm| INTEL X64/Monitor.asm | INTEL X64/ReadPmc.asm | INTEL X64/ReadTsc.asm | INTEL diff --git a/MdePkg/Library/BaseLib/X64/Monitor.nasm b/MdePkg/Library/BaseLib/X64/Monitor.nasm new file mode 100644 index 0000000000..a5ec3fa75d --- /dev/null +++ b/MdePkg/Library/BaseLib/X64/Monitor.nasm @@ -0,0 +1,43 @@ +;------------------------------------------------------------------------------ +; +; Copyright (c) 2006, Intel Corporation. All rights reserved.
+; This program and the accompanying materials +; are licensed and made available under the terms and conditions of the BSD License +; which accompanies this distribution. The full text of the license may be found at +; http://opensource.org/licenses/bsd-license.php. +; +; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +; +; Module Name: +; +; Monitor.Asm +; +; Abstract: +; +; AsmMonitor function +; +; Notes: +; +;------------------------------------------------------------------------------ + + DEFAULT REL + SECTION .text + +;------------------------------------------------------------------------------ +; UINT64 +; EFIAPI +; AsmMonitor ( +; IN UINTN Eax, +; IN UINTN Ecx, +; IN UINTN Edx +; ); +;------------------------------------------------------------------------------ +global ASM_PFX(AsmMonitor) +ASM_PFX(AsmMonitor): + mov eax, ecx + mov ecx, edx + mov edx, r8d + DB 0xf, 1, 0xc8 ; monitor + ret +