Agreed. Do we also want to go ahead and move the CI binary forward to get some hours on it? - Bret From: Michael D Kinney via groups.io Sent: Friday, January 29, 2021 9:22 AM To: Sheng, W; devel@edk2.groups.io; Kinney, Michael D Cc: Liming Gao; Liu, Zhiguang; Yao, Jiewen Subject: [EXTERNAL] Re: [edk2-devel] [PATCH] MdePkg/Include: Add CET instructions to Nasm.inc Sheng, The following version of the NASM documentation shows support for these instructions. https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnasm.us%2Fdoc%2Fnasmdocb.html&data=04%7C01%7CBret.Barkelew%40microsoft.com%7C64baec72ed934d46095808d8c47a7cfd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637475377656169680%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=c5NkC4v46Pgx3Bu0KqiaM0RdQ%2FIjauW3hzzDQlfeyZg%3D&reserved=0 Do we need to increase the min NASM version requirements for EDK II to avoid adding macros with DB? Thanks, Mike > -----Original Message----- > From: Sheng, W > Sent: Thursday, January 28, 2021 6:35 PM > To: devel@edk2.groups.io > Cc: Kinney, Michael D ; Liming Gao ; Liu, Zhiguang > ; Yao, Jiewen > Subject: [PATCH] MdePkg/Include: Add CET instructions to Nasm.inc > > This is to add instruction SAVEPREVSSP, CLRSSBSY and RSTORSSP_RAX in Nasm, > because these instructions are not supported yet. > > REF: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3192&data=04%7C01%7CBret.Barkelew%40microsoft.com%7C64baec72ed934d46095808d8c47a7cfd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637475377656169680%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=j3x2gnCcnx2E%2B8nuUrQJ7YPdWQbr4yI9yWlkFIiRrj4%3D&reserved=0 > > Signed-off-by: Sheng Wei > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Jiewen Yao > --- > MdePkg/Include/Ia32/Nasm.inc | 14 +++++++++++++- > MdePkg/Include/X64/Nasm.inc | 14 +++++++++++++- > 2 files changed, 26 insertions(+), 2 deletions(-) > > diff --git a/MdePkg/Include/Ia32/Nasm.inc b/MdePkg/Include/Ia32/Nasm.inc > index 31ce861f1e..9c1b7796ea 100644 > --- a/MdePkg/Include/Ia32/Nasm.inc > +++ b/MdePkg/Include/Ia32/Nasm.inc > @@ -1,6 +1,6 @@ > ;------------------------------------------------------------------------------ > ; > -; Copyright (c) 2019, Intel Corporation. All rights reserved.
> +; Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.
> ; SPDX-License-Identifier: BSD-2-Clause-Patent > ; > ; Abstract: > @@ -20,3 +20,15 @@ > %macro INCSSP_EAX 0 > DB 0xF3, 0x0F, 0xAE, 0xE8 > %endmacro > + > +%macro SAVEPREVSSP 0 > + DB 0xF3, 0x0F, 0x01, 0xEA > +%endmacro > + > +%macro CLRSSBSY_EAX 0 > + DB 0x67, 0xF3, 0x0F, 0xAE, 0x30 > +%endmacro > + > +%macro RSTORSSP_EAX 0 > + DB 0x67, 0xF3, 0x0F, 0x01, 0x28 > +%endmacro > diff --git a/MdePkg/Include/X64/Nasm.inc b/MdePkg/Include/X64/Nasm.inc > index 42412735ea..c5189982bb 100644 > --- a/MdePkg/Include/X64/Nasm.inc > +++ b/MdePkg/Include/X64/Nasm.inc > @@ -1,6 +1,6 @@ > ;------------------------------------------------------------------------------ > ; > -; Copyright (c) 2019, Intel Corporation. All rights reserved.
> +; Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.
> ; SPDX-License-Identifier: BSD-2-Clause-Patent > ; > ; Abstract: > @@ -20,3 +20,15 @@ > %macro INCSSP_RAX 0 > DB 0xF3, 0x48, 0x0F, 0xAE, 0xE8 > %endmacro > + > +%macro SAVEPREVSSP 0 > + DB 0xF3, 0x0F, 0x01, 0xEA > +%endmacro > + > +%macro CLRSSBSY_RAX 0 > + DB 0xF3, 0x0F, 0xAE, 0x30 > +%endmacro > + > +%macro RSTORSSP_RAX 0 > + DB 0xF3, 0x0F, 0x01, 0x28 > +%endmacro > -- > 2.16.2.windows.1