]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg/Include: Add Nasm.inc
authorYao, Jiewen <jiewen.yao@intel.com>
Fri, 22 Feb 2019 13:30:33 +0000 (21:30 +0800)
committerLiming Gao <liming.gao@intel.com>
Thu, 28 Feb 2019 01:39:06 +0000 (09:39 +0800)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1521

This is to add CET related instruction in Nasm
because CET instruction is not supported yet.

See https://www.nasm.us/xdoc/2.14.02/html/nasmdocb.html

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
MdePkg/Include/Ia32/Nasm.inc [new file with mode: 0644]
MdePkg/Include/X64/Nasm.inc [new file with mode: 0644]

diff --git a/MdePkg/Include/Ia32/Nasm.inc b/MdePkg/Include/Ia32/Nasm.inc
new file mode 100644 (file)
index 0000000..c018bb3
--- /dev/null
@@ -0,0 +1,28 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+; This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php.\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Abstract:\r
+;\r
+;   This file provides macro definitions for NASM files.\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+%macro SETSSBSY        0\r
+    DB 0xF3, 0x0F, 0x01, 0xE8\r
+%endmacro\r
+\r
+%macro READSSP_EAX     0\r
+    DB 0xF3, 0x0F, 0x1E, 0xC8\r
+%endmacro\r
+\r
+%macro INCSSP_EAX      0\r
+    DB 0xF3, 0x0F, 0xAE, 0xE8\r
+%endmacro\r
diff --git a/MdePkg/Include/X64/Nasm.inc b/MdePkg/Include/X64/Nasm.inc
new file mode 100644 (file)
index 0000000..129a330
--- /dev/null
@@ -0,0 +1,28 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+; This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php.\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Abstract:\r
+;\r
+;   This file provides macro definitions for NASM files.\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+%macro SETSSBSY        0\r
+    DB 0xF3, 0x0F, 0x01, 0xE8\r
+%endmacro\r
+\r
+%macro READSSP_RAX     0\r
+    DB 0xF3, 0x48, 0x0F, 0x1E, 0xC8\r
+%endmacro\r
+\r
+%macro INCSSP_RAX      0\r
+    DB 0xF3, 0x48, 0x0F, 0xAE, 0xE8\r
+%endmacro\r