From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web09.8565.1631784476130758156 for ; Thu, 16 Sep 2021 02:27:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=q2fmX0+4; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10108"; a="209615078" X-IronPort-AV: E=Sophos;i="5.85,298,1624345200"; d="scan'208";a="209615078" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Sep 2021 02:27:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,298,1624345200"; d="scan'208";a="553766739" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga002.fm.intel.com with ESMTP; 16 Sep 2021 02:27:54 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 16 Sep 2021 02:27:54 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 16 Sep 2021 02:27:54 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 16 Sep 2021 02:27:54 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 16 Sep 2021 02:27:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D3ceBfQRAmBoQysUcF4grt2vWW+J7N6QhzIcoFnj+ntYxQhmhaOeqhAjzC7qL2CYKITOdH4Cf24ZigwmzlRPRqU+f2tsCdN+bPfUspdgFYirl24l37WUioeWjA2gUXkiEj9WFvnf/67c6l28B6MDRyEAzARMheDIkKcKtoCWa1LsvM6/xTNnjx5TBJbbe4YImS22UWBSQJ3+Jn90d9/d1cNUcV+a3O6UYwOHC9tO84ftyizzaWbOqDc6uWpiV2o7SDM41jvHgk5eFSrdrtoOmJjMpUFy0By4uQS3bkONg2r6ZAgQHIWffoOy3NspS9MTY7zUzsxgaAAJtQQ3VHD3Pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dI+xgG/cdq5u8Wl7i840GEqt391euK6hvL2opELGk2g=; b=MM6uUG+9ehmC3AlhlZImT/voWiO5nkKEPNfN+YeFPHxcIG6Hvp0W4KyMPzY76dtRU63LUAzUFxjIOtPr+q5KdGvCmDxBl2TmW24xbf/Z0qh8s1ekE2O6FY9EgQwUTMCe+doNGp4jhfUR7R3Oug1dhLTIqNBzUExaaDoNtC7R7JHivDuzhI5RZpo7n7qFnLeDfgFUEM8opmJB9uTr/2bHprMDH9mwDGF2HitfutgiD9kAyYpPPq7yapuGKFmJy8zFwkv+hR8PuzqB1CpG/G6SXaIatPGxB7Gukdjusyw9PIiCWSyQRjCW2dRycdRUiXG7qGpVQ3DMsFw8GynnccP2Sg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dI+xgG/cdq5u8Wl7i840GEqt391euK6hvL2opELGk2g=; b=q2fmX0+4c3DsUIzjm5CJwK7Tu2ZJ88YOKxxmlcUg+X23ECgKecTCTp1VYEisHCF6/TwP1bsTh0LOqzn5UQ4pFFxzXuPHQbqBxWbuDfXEdJD0bDW9Gas8H7/j2n/ZIzn+UqEN2Rrbd0CkZ3DKAPDyVMB1OHRm04EmgBJ4M4Nw11g= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MWHPR11MB1277.namprd11.prod.outlook.com (2603:10b6:300:29::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.16; Thu, 16 Sep 2021 09:27:24 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::50ce:c9a3:ab37:9fac]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::50ce:c9a3:ab37:9fac%9]) with mapi id 15.20.4500.019; Thu, 16 Sep 2021 09:27:23 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "Ni, Ray" , "S, Ashraf Ali" CC: "Kumar, Rahul1" , "De, Debkumar" , "Han, Harry" , "West, Catharine" , "V, Sangeetha" , "Chaganty, Rangasai V" , "Dureja, Sahil" Subject: Re: [edk2-devel] [PATCH v6] UefiCpuPkg: VTF0 Linear-Address Translation to a 1-GByte Page till 512GB Thread-Topic: [edk2-devel] [PATCH v6] UefiCpuPkg: VTF0 Linear-Address Translation to a 1-GByte Page till 512GB Thread-Index: AQHXqgLLbkt3si+g/ke/OTJmzShIJaumKltggAA7OZA= Date: Thu, 16 Sep 2021 09:27:23 +0000 Message-ID: References: <16A537EA7144B13F.6478@groups.io> In-Reply-To: <16A537EA7144B13F.6478@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 33ae040c-9c85-41f5-009a-08d978f43109 x-ms-traffictypediagnostic: MWHPR11MB1277: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:34; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SiF/+EzTjou5hd8kzId8m7E/ZOngwVCWN6EYtL3Qc/Fzsdaelrho3Djpze5rRA7HgCUBa3+T6rWfOhKh3o6TI8MjeHLwHJou9VbDrpPGzrtnV0/5MzowCb71qguTwdacKNGscfC66WHl5rfxLlT3v+OHRam+SmXreWvz5XtC95EMYHcrhMHgypVLCejZqpsBqm/cEK8bIcItg9FwObjNxfykAfH9xeemdmcit86Scktl+2duDmDJ2DvMpL6XuMSmF9HBpSM1ePWhN734MDC4XD0CEHJkwcbDKtGU5Z336Kdm5DLx42UsznGOkYjSY0cKaABfIHGo3hqCMAuzSrTjDdks88vj6ppXZhGXcdrQGUTzNJ2ycp21NBbiQ+PNnn8VAR+zWGcDU/mVKvMXdMJbkgSkkSLw3JfHtkOsniYgssBetaiWX8krzVu9fIL7LFu+86PACAAjKujvTEigvMkFq1gbUHjMLbnc3v6D2YGSIYpUKniWK8v0gFLyQoOHZEcESnzm/3a7mgZRyHoJp92fvTOsWuGrV1hB9HuGt3rJPS8lFsFmcryXRh4Tw4Vnw4rrfS4IXSQoYmWZdefwvZSQ5ad5Z8j9Htzs4ZbuY5KX8+Y5Kx6yS/v0ywIDf/lHtDG7L5QXQSUmjsZqzuNsphpAMTpYt1qUZCGXIVmCxWZH/HzkdeOUdHqLfVC/yhtGBlFmBs7GsnoR12LD1utTW+UfQicTelVhRnFFOpp0EDpasbTYchEeHNIVC8arsX/aRdTX/W8ZgeM5lrZ/5kxAgwE9e2Wh3DdQb9nP0K+Fo5qiLlrYgye+mcc9GgQ4/RL/wtApjv9FErZIGCclx8UIZvEhlQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(122000001)(316002)(110136005)(83380400001)(54906003)(8936002)(33656002)(38100700002)(38070700005)(6636002)(7696005)(8676002)(26005)(52536014)(5660300002)(6506007)(107886003)(55016002)(9686003)(53546011)(186003)(86362001)(966005)(19627235002)(71200400001)(66946007)(76116006)(508600001)(30864003)(64756008)(66556008)(66446008)(66476007)(2906002)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?J5No1zLhTxDrWJ6jueskEbEPmInLAvyuTCiezdYt3t+NrWPKNNJUkE1bsgb5?= =?us-ascii?Q?Vzt+D1DNp4ytoVVQExJLNraEx96pbXrJbp4p3KDpqegUuQGkCjgpm77NjYZr?= =?us-ascii?Q?H4dUGHg7WalMbMT/IlAlH5k6m/iAU53RzUazRdvEQGP+Ff9reiUH58iMsCvY?= =?us-ascii?Q?nhCr/zmCkD/20Y1FM5r8tqTWC4mfoOXDL6R7DtFAY8CAcnjL/B8ll4A8/EhB?= =?us-ascii?Q?AC5zYJXYnPXEcUZralfvaHnzNWOlnhBX+vhULrAtI4vdte3QDwdOFCEbz9NO?= =?us-ascii?Q?zUOg+/voWnXnkw53kdNgeCRJwiFb2VbC1jkCEtzAJmXoLJtU92yU02x5FI2N?= =?us-ascii?Q?Y0IMcPr0fbE07wYGv/hMq9WUCQnOexI+S1AgwArUtbm+P7IzYGZ10CK9u1gy?= =?us-ascii?Q?ixZ5OVs1zuzDPGJCbB1LaS5TYMUT1tiS6q9eTZDorSEFG0po+zfwoUpsw0AI?= =?us-ascii?Q?/NHF/UDtyBMEPo2ipW99zM51JMLPM8YW58s4xrOAQAewKeAXvBw6Zk6KEdEd?= =?us-ascii?Q?F8ojj1V0bY83zfwT8JRyPQCz6lOJSuXqu+B0bYC+d05keYH1vfc5roo9YXZl?= =?us-ascii?Q?mfKAZirP7y5/zJw3uZtpYTe9+alPgaNeYU0UGoQkHuoBAABJG5VYCLJ/EZPj?= =?us-ascii?Q?Zos7Y+pBwWiSfQbobbA0FdKHgGlIXQJ06hEOg2jHJyjwYb3caDFGlbUxsMoI?= =?us-ascii?Q?PfVGfk/m1O3TBTjks44wJ/Iod5KcoyUbVLPE+o/rSzJcnPnent76Zn8/3iZ0?= =?us-ascii?Q?EVRxsLnvAl5vZcmoI6N0hGyWJKT2/DDvYWIBig0rJQuVqriNJVFa1YrKBsZL?= =?us-ascii?Q?XnL9WGNNn75zXHdiJwpVV80p0J7IIab4nZ52p6tr/AGEKRKE5EUYb91O7f95?= =?us-ascii?Q?FongWfLpDuKqqJfBdRx5CkDg+8IpsWGoFwwCZVGb7b44odolGK9nBGMaGfcl?= =?us-ascii?Q?qR/EUPJG8MAwxZqI2xckC+Ddc4B+eYvVkBVtvn8uu8bgs7MbBpWM1GqNBfCR?= =?us-ascii?Q?zVyD6n93l28NyCOlRoTZ5Fqj7NF7lCwJjwPaTqgWCSO8VC1EDwAnFsbHon+e?= =?us-ascii?Q?YnfpWOhBLTDpZwaPx9mq3dNT/HkZGW6jaYo8MxkU+rpLwa35ikiMdxMM66R1?= =?us-ascii?Q?mv/CAeWTrlaGl0ssRnUOwL3F60OYwpSK+WpRK7dFEdqah09Iv+oHl/9hvXRp?= =?us-ascii?Q?1OsB2bBI923Y8fWo8cBx3nyvvq7En41YWzjtSVXn4T9LuRxjql0RgvxbXMUX?= =?us-ascii?Q?z61fY1BlYhLp/QWYhhQkDxqHWiHMsfEUIRtuVJOu0SodMxf7sYv3e5qiEuNY?= =?us-ascii?Q?h5YWHqbXVXUD7rEGdxg8QLXG?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33ae040c-9c85-41f5-009a-08d978f43109 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Sep 2021 09:27:23.6894 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7pGdh8eWoWxGLkzmXCrXyyn4nWByIZg1ud7OIFF+xZ46+oEXg+bgsdig8Wn83Kqi2PiQ0G73L6Ncp7fLOltbMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1277 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, https://github.com/tianocore/edk2/pull/1979 detected errors. Can you check and update a new patch to fix? Thanks, Ray -----Original Message----- From: devel@edk2.groups.io On Behalf Of Ni, Ray Sent: Thursday, September 16, 2021 1:58 PM To: S, Ashraf Ali ; devel@edk2.groups.io Cc: Kumar, Rahul1 ; De, Debkumar ; Han, Harry ; West, Catharine ; V, Sangeetha ; Chaganty, Rangasai V ; Dureja, Sahil Subject: Re: [edk2-devel] [PATCH v6] UefiCpuPkg: VTF0 Linear-Address Transl= ation to a 1-GByte Page till 512GB Ashraf, The layout of binary files looks good to me. The Build.py generates the IA32 binary twice which is unnecessary. But I think it's acceptable. Reviewed-by: Ray Ni -----Original Message----- From: S, Ashraf Ali =20 Sent: Wednesday, September 15, 2021 3:25 PM To: devel@edk2.groups.io Cc: S, Ashraf Ali ; Ni, Ray ; Kum= ar, Rahul1 ; De, Debkumar ; = Han, Harry ; West, Catharine ; V, Sangeetha ; Chaganty, Rangasai V ; Dureja, Sahil Subject: [PATCH v6] UefiCpuPkg: VTF0 Linear-Address Translation to a 1-GByt= e Page till 512GB [edk2-devel] [PATCH V5] REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3473 X64 Reset Vector Code can access the memory range till 4GB using the Linear-Address Translation to a 2-MByte Page, when user wants to use more than 4G using 2M Page it will leads to use more number of Page table entries. using the 1-GByte Page table user can use more than 4G Memory by reducing the page table entries using 1-GByte Page, this patch attached can access memory range till 512GByte via Linear- Address Translation to a 1-GByte Page. Build Tool: if the nasm is not found it will throw Build errors like FileNotFoundError: [WinError 2]The system cannot find the file specified run the command wil try except block to get meaningful error message Test Result: Tested in both Simulation environment and Hardware both works fine without any issues. Cc: Ray Ni Cc: Rahul Kumar Cc: Debkumar De Cc: Harry Han Cc: Catharine West Cc: Sangeetha V Cc: Rangasai V Chaganty Cc: Sahil Dureja Signed-off-by: Ashraf Ali S --- .../Vtf0/Bin/IA32/ResetVector.ia32.port80.raw | Bin 0 -> 484 bytes .../Vtf0/Bin/IA32/ResetVector.ia32.raw | Bin 0 -> 468 bytes .../Vtf0/Bin/IA32/ResetVector.ia32.serial.raw | Bin 0 -> 868 bytes .../Vtf0/Bin/ResetVector.ia32.port80.raw | Bin 516 -> 0 bytes .../ResetVector/Vtf0/Bin/ResetVector.ia32.raw | Bin 484 -> 0 bytes .../Vtf0/Bin/ResetVector.ia32.serial.raw | Bin 884 -> 0 bytes .../ResetVector/Vtf0/Bin/ResetVector.inf | 4 +- .../ResetVector/Vtf0/Bin/ResetVector1G.inf | 31 ++++++ .../PageTable1G/ResetVector.x64.port80.raw | Bin 0 -> 12292 bytes .../Bin/X64/PageTable1G/ResetVector.x64.raw | Bin 0 -> 12292 bytes .../PageTable1G/ResetVector.x64.serial.raw | Bin 0 -> 12292 bytes .../PageTable2M}/ResetVector.x64.port80.raw | Bin 28676 -> 28676 bytes .../{ =3D> X64/PageTable2M}/ResetVector.x64.raw | Bin 28676 -> 28676 bytes .../PageTable2M}/ResetVector.x64.serial.raw | Bin 28676 -> 28676 bytes UefiCpuPkg/ResetVector/Vtf0/Build.py | 101 ++++++++++++------ UefiCpuPkg/ResetVector/Vtf0/PageTables.inc | 20 ++++ UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt | 2 +- UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb | 8 +- .../ResetVector/Vtf0/X64/1GPageTables.asm | 53 +++++++++ .../X64/{PageTables.asm =3D> 2MPageTables.asm} | 14 +-- 20 files changed, 185 insertions(+), 48 deletions(-) create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.p= ort80.raw create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.r= aw create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.s= erial.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80= .raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial= .raw create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVe= ctor.x64.port80.raw create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVe= ctor.x64.raw create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVe= ctor.x64.serial.raw rename UefiCpuPkg/ResetVector/Vtf0/Bin/{ =3D> X64/PageTable2M}/ResetVector= .x64.port80.raw (56%) rename UefiCpuPkg/ResetVector/Vtf0/Bin/{ =3D> X64/PageTable2M}/ResetVector= .x64.raw (56%) rename UefiCpuPkg/ResetVector/Vtf0/Bin/{ =3D> X64/PageTable2M}/ResetVector= .x64.serial.raw (56%) create mode 100644 UefiCpuPkg/ResetVector/Vtf0/PageTables.inc create mode 100644 UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm rename UefiCpuPkg/ResetVector/Vtf0/X64/{PageTables.asm =3D> 2MPageTables.a= sm} (74%) diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.r= aw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw new file mode 100644 index 0000000000000000000000000000000000000000..79b23c047bdc6e552d77d5c9e9a= eae21ff04d91d GIT binary patch literal 484 zcmYk2!Alfz6vy8yHl)}V zcG*_&Hg-ER3P7>NzOzHK{_>8}w92SftcjYiOP;uF74pB9jiIw>#6GG&9iTswB!MfR z>~G3@yT|(CI{hlqFjo^qW81h>6zpT|jA+4e?AqPnMDkDNwGuY(iR``YMZ3S04kAoH{**Icc)Uq~+N;a$TM7 z^Te3G@j|=3DR#NJTGK*yH2U@&(7Y{IeM+FVL*o4PV&hBpB!`lv9EUde?FgcS`yA8iMv z*fqmG@SDEy+y0@yiw}4XxLlI&<|#6jJQ3ja=3Dkvb)zpp~$Q5CN?9#*l}WFN2xf1}qi ex=3DGS`BMWOMaSFL0+&dpq=3DIrw)z&XCVVDo(mlgCI3pM%UYB$vrh9+XHNgTvMYh>&7q1g=3DxfqoHJL>v=3DbK_oV*Y_#xgthrX_$x zk=3D?RqHTShwDriZRQ`%sb>wPA#)8er|>zVMY+pfRlzO>Lg-}j;6Ouvy1^?-J@W;Dwr zh~X?JL3WDg3C>QkuOy(Cz2D+G0r_U~$nfcMX3da8daJ0-dS5O=3DA1WLXmNL1lC1Y<` zGxU}H zio}TkTR*G5^X{9FA5UXrek_f(Dm%ge{zcRKQTBarR}@zApFT*{1~02#Vb0G@fokrZCZ#4rO<$dgqlM|B1ucd5-YJ)(Sw+Slu!}T!yY`YJFv$tYmjZq zy5K>?Kj1O9hD6B7TCH9z^k5_?QBk@bSv|$5X~tQj(A|Ri4sZD8@xJ-K_r^3$v+@I# zZaI~2s02=3D>jY@*!-V8W)A4-!XL;z+1fJsxT5>Y;^tYE4tBeTn67w|h(iQb#mui{s# zGFGsXn|MQ05`drU7Rtx5MbC+q9rWozT>dJ$%-0+*PWf=3DihliYUjfcKQyZV~9)lZf7 zweF>|vjKo~Lw}=3DhiN(t)p)Q@EC@akrh&-*40V$PeFXu;FR$SgLo*hx&GR9!=3DnfzLK zBnPCIOUf|9gZ5oMi2}j>`Z|4@Ci;^?3(t9li9R9!_9%D%&hQ`Bt_!X#`HDuOGwV0< zOA3m}2Y4QqCyP<_y=3D#U0&1wWmnM8*+G_p@rkDXt{$?$6axL~Q7+-U$DL-P|f#*4Zo zs+omFydTX6H8K%iz0`lGPW#H-J=3DmQtW53thcDI^#cB7*n6!M@U=3DX({t7>(*pc0>#d zqhk3WKsG#1#O=3DdeV+6|Cet__J(>stU-$*BYc<-*oauAHVL5!xcWo*z>W(-XJ0RQYf zToZ2ap#a=3D@(L3+|Id4O4E=3DNPPlQ|j`^~ZLzLj$yBhnW4j!yK(hDFtZ?MS?}4mxbPR-GRMz=3Da9oB zvMhKKFZ~nNlM5cQb+xr81!+kMl-SZG(_HkTQj62K>Vuhi^XB_L@6C*D+jh>&LL6WM z0E9M5jkxi9eVsI^(KS)(c}ad!Be^-u-jeUs=3DqdWy6LL(A42pq#X1-iV5sza!I8I=3D? z6*P9huZ0loz}XH=3DzA6FaYU~GVsO6;rsjAI!8P!wTWYN=3D~C=3DbxrhB8;BLgK5cO9 zE_#aD5dEUpq>p-w_SG~xWD@0RR2DrFWrutZ1v!s>DqfI?a~7ETjdPBr+OZTuH6@AC z(ZjWOrXk1m6wV#`csWUbg92AHT^9%NWrR81f%$hA&aB$5Egq>cDWST( zc->gqQ~#`>AP(+S1e4QsXD~2Tw+*bS_ZG54!{z}tj_%g2 yBd9#fH`^=3DI`DR3A`}nB*QttZQD+`9S{Z>1OTb`GBa#G zt*_G(GaClinx^RkGo#yGe2LyNvnlO${H9mTj3XK78TZswjJl#0BPWZ(PsE3m63x5< zkjV2pUL=3D{H-<6y`Ayi}y>qBYR=3D+mmu*E{2X*HV!;FJ=3D@olMU=3D1Dr@&PjmS*9G|11z5fTzEKTW^U3gc6Jd}Rz>i=3DxwezWi&|RKrFLb)7MgiLyt(A5Nap z{K@){_&;%jkXDHiVLej|v^%t)8c;mepB%?^+SRc((Td402KNZ-pIe~y>R7ebhG=3DMi zG0>h98oCZ15CogOAHb`XKiHDrNJxngrv+CGHM`_x1(RWLh67mGTp&(0SUJnJ3Rcm& z65UvCM_?B@w(a-w1uqM*d0DnQmyjJzmTIyi$x?vuV|+aEM~V$8raq+}|{T|byNFuntcu)ljL%WQZ+mqCDm!Ipu6;eU~3V}(G) z)1IEv*Nqh-wp}v*rH>jbBxag+CYIi8tdMCvtb4iiLSuyrP%%U4@y^4{5elUTUitue zX}kV1zgeMB@;wb?e$qQsz5yDa7md&LZpVHg=3Dsf!J_y7O@JCCC3MmNn6O*f`#F9Vqv z7z}TB-s^mk)*WlWc%#VeB{R^K4n=3DmY2TH71*@5gLW0fCW5#rwtE0nzG_7G`&2(+1j z^JK|w#)BnHMOPatgqTY?U(N!mY&}rQ*?HpSA)o@o1D(fOzm+_q@(;fW zM0l~75#+LxB322Y6D>~^XEszY3zR4TNud&(Zi&XnApZb;9>@yvd6AdOpO@EwLaZ!6 zURtAtZ&ax{|MmzQ#>0))0j|L4)MR$nc&P@I1gq#goYrU^7F8cjO8KZ@=3D5gH#e8KmvtVCcKiccAY<-;2HrFU^6@7H3!h z3Ku8KdG*i#|1Vel1t!i1 c|DR2GeH)mmfB +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D ResetVector + MODULE_UNI_FILE =3D ResetVector.uni + FILE_GUID =3D 1BA0062E-C779-4582-8566-336AE8F78F09 + MODULE_TYPE =3D SEC + VERSION_STRING =3D 1.1 + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D IA32 X64 +# + +[Binaries.Ia32] + RAW|IA32/ResetVector.ia32.raw|* + +[Binaries.X64] + RAW|X64/PageTable1G/ResetVector.x64.raw|* + +[UserExtensions.TianoCore."ExtraFiles"] + ResetVectorExtra.uni diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x6= 4.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.= x64.port80.raw new file mode 100644 index 0000000000000000000000000000000000000000..279ba03b0c01f552a0d3ed8900e= 06b91f2555901 GIT binary patch literal 12292 zcmeI&+i#oo0mkts4Go0>4qZpX=3Dtz11%2=3DTdhrvQ2P!8c7PF+^UX)tetZH!=3DpH%^Zg z70DEZNZf$9;~&6W5#XW^3Pp^YRpNq96(~?GYU&$$gElnPylKDiKWus}#UDH0_!sB7 zvLnyT%*?Ex?{-yQ$_2^=3D$_2^=3D$_2^=3D$_2^=3D$_2^=3D$_2^=3D$_2^=3D{;wA}z+YE5= x^%P9 z7*tPjW2vJtsAY6C2GvVPV^GJ@(HPWnIvRuOqoXmX2fpiZHqF{lb1jY0L((HPXJbTkIFl8(lpen>}SP^;)@4C+U8GzN7V z9gRV)rlT>a0XiCkI-QQjpngn8V^C+%(HPVkIvRue2_20=3Dok>SyP=3Dje!aqoXmXU(nGQ)Ce7oL0wKqV^CY^XbkEKIvRtzl8(lpM(Jn_>MA-KgSwiI z#-O&*(HPV{H{bu%4}LES<} zV^Fu!(HPWibTkGvPDf)e!KprbLU2kB@G>Nj*W2K5jf zjX^z3M`KXGrK2&ZDjkhM{f>^tpngwBV^DvfqcNyQ=3Dx7Y;Q92rf`Xe2ULH&u2#-RR8 zM`KWr(a{*xU+8EI>Tx<6gPNqHF{mf#Xbh@GM`KWRIvRs|l8(lpo}!~Ms0JO4LH(7E z#-RR2M`KV=3D)6p2zGjuct^(-BYK|M!DV^Gi2(U>K-6t5!tb@U}hck;q!qrdU5mtLxO znvGRkUtDur{mW)!;I)fe57z(LY^>Qix9OAm-l@h0)jw{{^-c`c=3DQ=3D01+Y6rEU0hmw zI!9W2+HWm*@ztK<;Qg)7TL-JV?%mw8Z*rv5J34vE&eVpda{T0`4gY>|V)fT^L$yP@ z##S}I=3DoTMAIN|TL&wAdkEt~w*jg`IizRuvz)caZ=3Dbw1vb)`vU4uJ^UST5#=3D1`*3mo z*5dr)u=3D}SnaM?#sOt{h8Upu3?URfL7HPAe;bYAgGN2k&|IkMruo&8feuG+lxmL2s? zmA5A@@0n|kj9)9&2Ya_|>%x@cGqB&+6*z`r_Xy#e=3DGcUML>bui4Q)sW`hmyx{8W3Qg~u&h-5B z!Rfu78_!X@_?hCP8b>cnPig6L^ivzJ{NtFff9IRre_6Y)9`BsE`>OHI@@ngY&a%#b z7N6=3DaR*rPLiw`Ybomc!(v&C0;Z0(0*Yxj(;{a~y$-(8rQId*z^T`o{AP%cm|P%cm| pP%cm|P%cm|P%cm|@V~ae;x~uCf8V(MuIn^2vv}axcaFWE{1))d6p#P_ literal 0 HcmV?d00001 diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x6= 4.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw new file mode 100644 index 0000000000000000000000000000000000000000..9b09a80f225736a413b7146b0e7= bd4aafc73abe1 GIT binary patch literal 12292 zcmeI&TaT0n0mkuXS=3Da)$%ob6$1>NOPOO>TS?QuaD5Zs;w6>+83+N$HB2ko-cj*9Y3 zR!jz(brR!+@k4mYS}u5+EluG@5-&uFW|e4I-W$1T)ELHh;oqd6p?N3S`Mop$*>`rH ztC`JoI-Smjxo%h0rCOj`pjx0>pjx0>pjx0>pjx0>pjx0>pjx0>;C;QoWnNwB=3D)z&C zF{qyMV41YhJxM{2DO=3Dv z#-N7jXbfr#9gRWVOGjf+Tj^*FY8xGmL2aj_F{u0KXbkF;bTkHaKOK!hJwQieP!H14 z7}P^_GzRrB9gRUfLPujzBXl$dwS$hvpmx&H7}TfeXbkGpbTkGvN=3DIW*yXa^PYBwE? zLG7WVF{sbb(HPWTIvRu8M@M5&pQWQQs4+SkgL;&X#-JXfqcNz*>1Yh<2|5~sdXkRD zpgu=3DOV^I6)XbkEA9gRVKo{q+#zCcG~P+z2@F{p!dGzRr0IvRsIL`P##U#6omsBt

)@^#UD@LA^*vV^A;A z(HPYC>1Yh<2Xr(B^)eleK~2!n7}OCu8iSgoqcNxk9gRV~LPujzuhP*NRFjUzpngb4 zV^BY$qcNx-)6p2zQ92rf`UxG4LH(4D#-NVT(U=3D9dmG2_^b>l5YcjCTQv%mR|*IsKB zt>&toC)Vz7{Jqs2`1SqmXB&TNHP;@W9sWb(!c=3Dpk8t2=3Dyz2ifT*<#tunex&;TU>9S zoj=3Dx7p72upuk9=3DKlTUB$xi~RW^o~wEa6FUSr*g~0@Wy|i7+?L)?9k-ZlVht|f9sZC zJy>>b@-IDaOfH)Eqnj&x8-2y<<7xD@-!9H?OZ%Ep7O~?r_wtyvhjb#rKv2gw;p=3D(aAUZ3YJ5k}Y-{AeUa2wI zyJu4|SjP5jy)|;^aAQU9o~2XSR6F%l-#r(LB{St7nm<~et{AQj&DCDNvZS_t?st|_ z+g{#UTH9J1N_j9?Tc4|=3D*Sg&S&Ht+Wof%!|c5CY|7U%wZTK}59bo%Glw$y7qtLrlx z%72@b53XN*seE+5W=3D8v@@|^XVrJBAto$0yhE7KQ>y?3iq_VVi(orOPP;d0|!8NdAf zO@H&QzvcEXbY}N~V)>a}2Z|;2_M63`;y=3DaD=3DC@w&cIS^ST)sq|&vpO#p7Y;)mg>4%pjx0>pjx0>pjx0>pjx0>pjx0>pjzPlvcUYGuPuD6yz#m6 S(7}D`bmnJo-gD#b&i?@{82-Ef literal 0 HcmV?d00001 diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x6= 4.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.= x64.serial.raw new file mode 100644 index 0000000000000000000000000000000000000000..d9b051ff06d1d30b0dfd585e05e= 75c98ebd88b03 GIT binary patch literal 12292 zcmeI&No9KGfv*W2je6GiJ*aVq!UOdkWL_-KsteR0_g=3D{ zW|6X+Od)I>T48a0WIfkrjcG0>>VbPP0V3LOKDI*5*e zMjcGYK%=3DJ8G0><(=3Don~JmX3i&wa_ups6*)(Xw)=3D11{!r39RrP;PRBr_4yR+FQAf}* z(5M-73^b~hj)6uUNyk8=3Dj-q3rQ8VcnXw)n^1{!rV9RrOzhK_+o&8B0ZQEhY#G-?hV z1C5$X$3Uaz(J|1d`E(34>R37k8g(2U1C2VKj)6ukpkts>C(tp_s1xZJXw*q`3^eLw zItCiGkdA>yokGVzqfVt`pi%8~3^b~Pj)6ukqGO;@i|H6>)M<1KG-?SQ1C3fr$3UY_ zr(>W|XV5XwsAY5vH0n$`1{$@Tj)6vfXw><13^eKjItChbAsqvax`>W}Ms?9K(5Q>)7--ZbbPP1=3DQaT12br~H4 zjk=3DtUfks_H$3UZ2(J|1d)pQIr>Pk8W8g&&N1C6?xj)6v9L&rd)uBBt3QETWJXw-Fd z3^b~nj)6v9Psc!`*3vQ1s2k`QXw;2#3^eK{ItChbGaUnsx`mE`M%_xsK%;J>W1vyD z(=3DpJfJLni_)SYw;H0mxo1{#&4W1vxY(=3DpJfd*~Qw)V*{JH0nM&1{!rg9RrPefR2Gi zJxIquqaLDTpivLgG0><-=3Doo0!qjU^3s)vq&Mm3^b}h$3UYVr(>W|PtY;Y zs3IK$je3%ffkr(=3D$3UZ=3DremN{&(JZ@sAuUIXw-9b3^eL_ItIG#;IEktFN_TSoY|m} z!9AG`O(XS3CXG~H&U7RnFk7_m(?_jmajDo+{Pv}n3e{3^`q?keT2=3DVERBU~HN%^+I z=3DcVGTbwdk3Eo|*A&R5~%@=3D&I`tuR!*I5+rP=3DKHtW@;~M3XTE)8?7F>SJ+)yyWn^Gu za+Eh!N6VYWKDF^w9Su+Y^QkIZ#z`I9%U_mv8o1utBA=3DT<-cfpKR>SLvnWo>6ed?*OXjuCg^A@Y)ek#d-n?#i zVa3=3DB%QalcKkqR=3D`uAt}7hC(WseW1cTYBBPY|CTaQOvaDXC}AP@{88DmcFTPCE0Ih zuQNT%=3DkKj<@Addx>5R+Q78YjT=3D{~DzsI+|b1yW&lX61tF>?D?la;4>K))o%QtZeS} zg6umtOgv#*b;3ZhdsX(1)@s!Uvu(rK!5tH_bBEsz$=3DOB8syW-9ZF6#Gc6P3J-uz>& z)~d04TiP(4(;C))@wUxO_BNocwOV%WwrZKbr#WS4+pNrjA)n8TsWs{m{4l zy&HF(lFK&D$PLU({+X3rWNzp9UA0<^20AB7$zH}@?c#>3Thy@r^VQ}Cn$@?h&wayv zJNmX(uRdOnBgv>u=3DdG?b=3DgJ>cy7yMc zRd-iLM=3DN*lt<@@ve@kv2Pu_`vFXH(al54y_3weJpit@_>lua@4X6G$hJ vP9U8?I)QWo=3D>*aVq!UOd@PC*B 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 literal 28676 zcmeI*_qU~IRlxBb!cc4z0VOI*h=3D`z~ASxiBTM>*{07XO;eQaZIF{5MOqedOT7{y*6 z?7b^dRJH~XJN77+4YpijN3k=3DWBp=3Dt(KS9@d*1G3&&YAan-kIl~yWchU{&26q{`%`* z5x1{b#1*&Qc|{}_i<`}1TypE3L(k-5akDv$JLs8QEN(W3ajBlk#o}gj7X}?DZZ?PUT6!iIi<`}1oYphBSlnz5<1#&yi^a|6 zFkV~F*$$WEN(W3@w$2@7mJ(C zVcb*CJ(G*Y&E_!PLeJ!4akDv$2kMzzEN(W3@s@ff z7mJ(CVZ4=3D|$;IMka~KcOGr3sYY!2hWdL|c(o6TXowVuhv;%0Lg579HZSlnz5<8Aaz zE*3YN!+2XglZ(a8<}lt)&*WlpvpI~1>X}?DZZ?PUFg=3Drt#m(k09=3D$TwBZZ?PUL_L#>#m(k0 z-doS)VsW!MjQ7zqxmet64&zCBCKrpF&0)N+p2@}HW^))%)-$vVsW!MjE~hbxmet64&&qWOfD8To5T2cJ(G*Y&E_yZLC@r3akDv$Pt-HH zSlnz5i^a|6Fg{z)6u(CZZ?PU z&3Yymi<`}1Y(0~U#m(k0o*jpExc)P_Slnz5<6HDhE*3YN!}wM`lZ(a8<}kiZ&*Wlp zvpI}!*E6|T+-wfxJM>I07B`#2_)a~Oi^a|6FuqIAlZ(a8<}iLt&*WlpvpI|(*E6|T+-wfxC-h7% z7B`#2c#fXQ#o}gj7&qvdTr6%jhw+noCKrpF&0+kMp2@}HW^)+N)ib$R+-wfxr}a!O z7B`#2_!&Kui^a|6Fn(6g{@#m(k0p08(evAEeB#tZaJE*3YN!+4>d$;IMka~Qv%XL7N)*&N1; z^h_=3DmH=3DD!wMLm;?#m(k0eo4>dVsW!Mj9=3DC>xmet64&zt!OfD8To5T23J(G*Y&E_zE zP0!?FakDv$U)M9aSlnz56u(CZZ?PU z+j=3DG!i<`}1{EnW<#o}gj7{9A$aT#m(k0{zlK_VsW!MjK9@0xmet64&(3iOfD8To5T2fJ(G*Y z&E_!vLC@r3akDu*jGn_f%pWEfi<`}1{G*=3D9#o}gj82_YaawS z9OuDt4jkveaSj~kz;O;7=3DfH6e9OuAs4*cJq126Xf{G+#j9*_HQ+=3DpAQYsdG&@qKW7 z9~{39j&tBR2aa>#I0ue%;5Y}4bKp1!{-4c(!><51uHz0Ici^}K#~nECz;OqTJ8;~A z;|?5m;J5?F9r!=3D60}np@I*H379(DNE#Ko&0e*WBL=3Dl=3DYe&pdm}`E&Pp)YI?v__HrN zf9~?HecKBka`yMnpS#z!H$L#U&c68kx%(atjdy`d5y!P8=3DiMq7hZ7k z?-ws#Jn-yGA|Cvb3x9m!<}=3DTD+Ji2+>FURxTzWVvuYQMX`XTe|h>- z?)l0auej#sXIyoU^DjM=3Dao1nG<|UW>+%Y@z3YV+o&5aa zfCu-57he0yvv;`WRVR-=3DoZ|3eSD(84aLB`7^eG=3D*=3DPteMnkx>scf011&$#^jpWga< zhciF%)U9W}`f>ODkCWd$Jay`hhev15KkPl9diJ5GpYxPQUUK94M?B#%hkwokE`9X< zPwsd4!`qIyaO0Wtk9hJ^&))sgN8jbt{SVKce$EHn=3D>a#LoI2dS;qVbBXAUoRL(IjC zr?0%}^c8dZr*1xV`pWsqis;jCeRy=3D2(+@g*MIY|m`}CFl@&_J{zC2EzbtwPsx$$?` zz2vzcckwOHoWA6qXKr}o!@e92IrH)-9*(&zZpb?w&UWRTx#2Ex-A&i^b#vX#*S+}U zafkBWQHMkR_nYeQ^lj_5pTa-u*W)(7{=3Dfafc-}id;g(l_-a9?vmOGuf@chFk;pCq$ zo_yBDlT)v{c=3D6<^x86ML@RC>EaJaec+jCdl=3DY?0@=3DLJ{Y=3DlNG%n2UdLIMppT-hRGY SPx9m^JvI){eBb~48~hhX6Rzk0 diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw b/U= efiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw similarity index 56% rename from UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw rename to UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.s= erial.raw index 61c71349a8a599916f3eeae8c5dee92efb56db71..f1d6536cec924d0e167cf1ee4e9= 309ed5fd7ad60 100644 GIT binary patch literal 28676 zcmeI*d-SE}RnYOBPA_S-OsLgHTW#7@C}J^bX{DCprWFh*Pz6gYw+Gb08;W5D$18h` z5vMI70*Z*>qjsei+H{y3lW z{APXM^S=3D9>wcd4Rt@+J8_uO;O&HLmej_Wvq;{=3DWqI8NX=3Df#U>@6F5%bIDz8?juSXe z;5dQf1b$Xe;O2WD{r-P*^X;7D-wXV#e&df9cbvd+0>=3Dp)Cvcp=3DaRSE)94By`z;Ob{ z2^=3DTzb7}$)x!Q-~rVl)OD3XiC&E_z!yZYqNGr3sYY!2gbdL|c(o6TXI(lfbO+-wfx z@p>i~i<`}1JVDRoVsW!Mj3?@uTr6%jhw&smlZ(a8<}j|;Gr3sYY!2hedL|c(o6TW7 zMbG47akDv$pQmSXvAEeB#?RL?xmet64&$kMCKrpF&0&0qp2@}HW^)*)^-L}nH=3DDz_ zLC@r3akDv$57jfdSlnz5<7s*(7mJ(CVf+F;lZ(a8<}jYFXL7N)*&N0%)HAtQ+-wfx z7wMT?EN(W3@eDnai^a|6FmBW{xmet64&xW=3DnOrPxHiz*`^h_=3DmH=3DDzFrk=3D^g;%0Lg z&(brwSlnz56u(CZZ?PUoH(q*{h!Ij z;%0Lg&($-zSlnz5<7PdRi^a|6FrKGpaJ(G*Y&E_zErJl*f;%0LgFVHi& zSlnz5LUE*3YN!}wKtCKrpF&0*Z4XL7N)*&N2LdL|c(o6TXoP|xIIakDv$7wMT? zEN(W3@zHuF7mJ(CVZ2z+XL7N)*&N32)-$6u(CZZ?PUrFte8i<`}1{6RgFi^a|6FwX0lTr6%jhw+E>OfD8To5T3S zdL|c(o6TYT5j~TO#m(k0{-~bG#o}gj7=3DKL96u(CZZ?Ne zdL|c(o6TWdh{Jj)Zent=3DxY-=3DWpU^Y8Slnz5<4!%3i^a|6F#e>T$;IMka~OB&nOrPx zHiz-2^h_=3DmH=3DD!way^ra#m(k0{X}?DZZ?PU4SFUQ zi<`}1e50Pp#o}gj7=3DKC67B`#2`1^V$7mJ(CVf+InuxY-=3DWKhZO}Slnz5PEN(W3@fJOki^a|6Fy5+X zau~>Pahp za6u(CZZ?PUU-e8b7B`#2xT0rrvAEeB#(&c@ zxmet64&%r5OfD8To5T3;dL|c(o6TXoThHWTakDv$_vo2iEN(W3@jvuTE*3YN!}yzs!IQQKbA2@aUP3IoC{7Gl-fB&f; z`{tX@{=3D}K9NB)8^cf9njKKtT3`$>1)^1S!G_V#DI_ko+vzUy_jJ^jKD zog9Aq;gi4X>%He*@z@hP zbIpnTzpwG^Bmeg!{C`~9yRW-?T4z7+&c5-bZ~Kzl>-?!3&OY<-__VVxeBF%~9=3Ddud zhwIHd`_vsTd)~vB-*IO@{>+7s`IOh3d%@{9-2SoGJ#gV=3Dulj_DbI(5Y%I9Bx_TdjN zK5*v3%U=3DDOb02c*mDk_d&p-W!&wAoVJb3vD_g(#%U3&PDlatF|bo!<_eg8Y3aQeCP z?G@3dUwGJEfBKfwH}&Dkvrj*_-}SlgJ~_ED9(!#sxn?>aea-&=3D@U}hkaBcU+Jtrrp zpZnnDi#|{9yZUju^~wkDUh9zvrXQoWAZEXYRW>A`d5d z=3D3S3}&&kORabG?$;&3gGJ=3D+&ub9OJhX8$wK_RM|P$K4O!-FMI3@4Wl%mp}c(fAGEFx@#^}(Z`b_l?|Ia(|KEO#{a41DUh%5SPkqzJzv}Y!XD+_^((Mmle%$5v zUV7w_OJDf#$;qV`z5np=3DrH6OozQdb)a@%v>dfRi}a@%v>eA~r2`Oy!0t*cKTeYNA` zaRSE)94By`z;Ob{2^=3DSIoWOAc#|ivgn82m`-}8ZQ1Xr*1)t~W+anC)MzUk4QJo-i9 Fe*tvrwzvQQ literal 28676 zcmeI*eb}aXSiBf_koT4VNV>r74W=3DUAH! z&^G!0-me$S%5r;UT`EppK(rT8)0QYZ)ueq`n=3DA}bUdDTNKOVMYNA+(W_wP97`P|n% z*Z01!>vvzz?>e5DKb}jME?s(OJUreRH$U{?osnEDZZ?N;-PH$&p2@}HW^)*i(lfbO z+-wfxl%C1O;%0LgkJdA}Slnz5<9a=3Dli^a|6Fdn04a=3D$TwBZZ?PUOZ7}H7B`#2c(R_!#o}gj7&qyeTr6%jhw;nwOfD8To5T1}J(G*Y z&E_zExt__z;%0LgPth~ESlnz5<5%dJTr6%jhw&@*OfD8To5Ogjp2@}HW^))f>zQ0E zZZ?PUv^b2z{h!Ij;%0Lgx9FK%EN(W3@nL!<7mJ(CVLV;WzQ0E zZZ?PUGCh-v#m(k0K10vsVsW!MjNhbZazQ0EZZ?PUC3+?oi<`}1`~^Lei^a|6FfQtuTr6%jhw&;s zlZ(a8<}hBZXL7N)*&N1e^h_=3DmH=3DD!wi+Uy(i<`}1+@)u7vAEeB#$VDixmet64&#!Z z$;IMka~OYF&*WlpvpI|})ib$R+-wfx%k)ex7B`#2_;Njyi^a|6Fup?1D~mlZ(a8 z<}m)6p2@}HW^)*SUC-oVakDv$zoBPxvAEeB#y9DiTr6%jhw(S{OfD8To5T29dL|c( zo6TW-v!2Pt;%0Lge_PMwVsW!MjK8C2ai^a|6FuqmK6u(CZZ?PU&-F|$7B`#2_!oL67mJ(CVZ2_? z6u(CZZ?PU20fFD#m(k0 z-l%7CvAEeB#+&p^E*3YN!}v};lZ(a8<}lu@XL7N)*&N1q>6u(CZZ?PU-FhY$i<`}1 z{7XHPi^a|6F#eUE$;IMka~S_x&*WlpvpI}^qi1rlxY-=3DW_vo2iEN(W3@fJOki^a|6 zFuqsMxmet64&wnm zlZ(a8<}gn5OfD8To5OgAp2@}HW^))1>X}?DZZ?PU<9a3+i<`}1{8v4bi^a|6FfQwv zTr6%jhwz);J6MP z*MVPT>%iex03640297guoPpyE9B1G-1IHOS&cJa7jx+F!bO!Ey&#Ak=3D zAOGf?&;HbztFQmLmmj(PtZTNPaLxAPFW>X}!?^gyllNS?a^>P1A6Z}fYPVif|H4;0 zdF!JhZhhOuAG-L!nOA@Iv#z`Uju)StIvi!*@dlFe%F0B zpMBufw?FB^4&pzsoAE@(BJaz7dldnDOd1s%y;o_T5zT>dNt$p!L zcfRY~3m>y?Q=3D}Gyjb1ub%lGFM0ZVPk!+5)b)=3D(Y@NCAaW8%4xsN^l+E+aPy8A9X z?`5BK_&A?=3D>P62u`G~_`KD5Wh`_5c=3D-pgNk?n6$!=3DyBIS3biz{`4*LZ57d{pMBVR-05eXzPS$%o_hM0e#iO4 z-Zx!yl|1K~Y5VAFw*NPu>jxZ8+LiY1s~6g>m;cwT=3DR9KT36I!%{N}eRnR`C$a6KFj?aVu#beNVKweB}jn}{MWep$^j z58iO*;u}u#y@!kUM7JAA3bjNX3F;bkBC7rNV@_NLpP_QuoK+# diff --git a/UefiCpuPkg/ResetVector/Vtf0/Build.py b/UefiCpuPkg/ResetVector/= Vtf0/Build.py index b791d32762..3f1d5cd2c8 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Build.py +++ b/UefiCpuPkg/ResetVector/Vtf0/Build.py @@ -6,45 +6,84 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent # =20 -import glob import os import subprocess import sys =20 +PAGE_TABLE_2M =3D 'PageTable2M' +PAGE_TABLE_1G =3D 'PageTable1G' +FILE_FORMAT =3D '.raw' +ALL_RAW_FORMAT =3D '*' + FILE_FORMAT +IA32 =3D 'IA32' +X64 =3D 'X64' + +# Pre-Define a Macros for Page Table +PAGE_TABLES =3D { + PAGE_TABLE_2M : "PAGE_TABLE_2M", + PAGE_TABLE_1G : "PAGE_TABLE_1G" +} + def RunCommand(commandLine): - #print ' '.join(commandLine) return subprocess.call(commandLine) =20 -for filename in glob.glob(os.path.join('Bin', '*.raw')): - os.remove(filename) +# Check for all raw binaries and delete them +for root, dirs, files in os.walk('Bin'): + for file in files: + if file.endswith(FILE_FORMAT): + os.remove(os.path.join(root, file)) =20 for arch in ('ia32', 'x64'): for debugType in (None, 'port80', 'serial'): - output =3D os.path.join('Bin', 'ResetVector') - output +=3D '.' + arch - if debugType is not None: - output +=3D '.' + debugType - output +=3D '.raw' - commandLine =3D ( - 'nasm', - '-D', 'ARCH_%s' % arch.upper(), - '-D', 'DEBUG_%s' % str(debugType).upper(), - '-o', output, - 'Vtf0.nasmb', - ) - print(f"Command : {' '.join(commandLine)}") - ret =3D RunCommand(commandLine) - if ret !=3D 0: - print(f"something went wrong while executing {commandLine[-1]}= ") - sys.exit() - print('\tASM\t' + output) - - commandLine =3D ( - 'python', - 'Tools/FixupForRawSection.py', - output, - ) - print('\tFIXUP\t' + output) - ret =3D RunCommand(commandLine) - if ret !=3D 0: sys.exit(ret) + for pageTable in PAGE_TABLES.keys(): + ret =3D True + if arch.lower() =3D=3D X64.lower(): + directory =3D os.path.join('Bin', X64, pageTable) + else: + directory =3D os.path.join('Bin', IA32) + + # output raw binary name with arch type + fileName =3D 'ResetVector' + '.' + arch + + if debugType is not None: + fileName +=3D '.' + debugType + fileName +=3D FILE_FORMAT + + output =3D os.path.join(directory, fileName) + + # if the directory not exists then create it + if not os.path.isdir(directory): + os.makedirs(directory) + + # Prepare the command to execute the nasmb + commandLine =3D ( + 'nasm', + '-D', 'ARCH_%s' % arch.upper(), + '-D', 'DEBUG_%s' % str(debugType).upper(), + '-D', PAGE_TABLES[pageTable].upper(), + '-o', output, + 'Vtf0.nasmb', + ) + + print(f"Command : {' '.join(commandLine)}") + + try: + ret =3D RunCommand(commandLine) + except FileNotFoundError: + print("NASM not found") + except: + pass + + if ret !=3D 0: + print(f"something went wrong while executing {commandLine[= -1]}") + sys.exit() + print('\tASM\t' + output) + + commandLine =3D ( + 'python', + 'Tools/FixupForRawSection.py', + output, + ) + print('\tFIXUP\t' + output) + ret =3D RunCommand(commandLine) + if ret !=3D 0: sys.exit(ret) =20 diff --git a/UefiCpuPkg/ResetVector/Vtf0/PageTables.inc b/UefiCpuPkg/ResetV= ector/Vtf0/PageTables.inc new file mode 100644 index 0000000000..31958ae878 --- /dev/null +++ b/UefiCpuPkg/ResetVector/Vtf0/PageTables.inc @@ -0,0 +1,20 @@ +;-------------------------------------------------------------------------= ----- +; @file +; Definitions of Page Table Entry for the reset vector module +; +; Copyright (c) 2021, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; +;-------------------------------------------------------------------------= ----- + +%define PAGE_PRESENT 0x01 +%define PAGE_READ_WRITE 0x02 +%define PAGE_USER_SUPERVISOR 0x04 +%define PAGE_WRITE_THROUGH 0x08 +%define PAGE_CACHE_DISABLE 0x010 +%define PAGE_ACCESSED 0x020 +%define PAGE_DIRTY 0x040 +%define PAGE_SIZE 0x080 +%define PAGE_GLOBAL 0x0100 +%define PAGE_2M_PAT 0x01000 + diff --git a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt b/UefiCpuPkg/ResetVecto= r/Vtf0/ReadMe.txt index e6e5b54243..97f4600968 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt +++ b/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt @@ -29,7 +29,7 @@ EBP/RBP - Pointer to the start of the Boot Firmware Volum= e =3D=3D=3D HOW TO BUILD VTF0 =3D=3D=3D =20 Dependencies: -* Python 2.5~2.7 +* Python 3 or newer * Nasm 2.03 or newer =20 To rebuild the VTF0 binaries: diff --git a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb b/UefiCpuPkg/ResetVecto= r/Vtf0/Vtf0.nasmb index 493738c79c..2cdaa14507 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb +++ b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb @@ -35,8 +35,14 @@ =20 %include "PostCodes.inc" =20 +%include "PageTables.inc" + %ifdef ARCH_X64 -%include "X64/PageTables.asm" + %ifdef PAGE_TABLE_1G + %include "X64/1GPageTables.asm" + %else + %include "X64/2MPageTables.asm" + %endif %endif =20 %ifdef DEBUG_PORT80 diff --git a/UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm b/UefiCpuPkg/= ResetVector/Vtf0/X64/1GPageTables.asm new file mode 100644 index 0000000000..19bd3d5a92 --- /dev/null +++ b/UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm @@ -0,0 +1,53 @@ +;-------------------------------------------------------------------------= ----- +; @file +; Emits Page Tables for 1:1 mapping of the addresses 0 - 0x8000000000 (512= GB) +; +; Copyright (c) 2021, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; Linear-Address Translation to a 1-GByte Page +; +;-------------------------------------------------------------------------= ----- + +BITS 64 + +%define ALIGN_TOP_TO_4K_FOR_PAGING + +%define PAGE_PDP_ATTR (PAGE_ACCESSED + \ + PAGE_READ_WRITE + \ + PAGE_PRESENT) + +%define PAGE_PDP_1G_ATTR (PAGE_ACCESSED + \ + PAGE_READ_WRITE + \ + PAGE_DIRTY + \ + PAGE_PRESENT + \ + PAGE_SIZE) + +%define PGTBLS_OFFSET(x) ((x) - TopLevelPageDirectory) +%define PGTBLS_ADDR(x) (ADDR_OF(TopLevelPageDirectory) + (x)) + +%define PDP(offset) (ADDR_OF(TopLevelPageDirectory) + (offset) + \ + PAGE_PDP_ATTR) + +%define PDP_1G(x) ((x << 30) + PAGE_PDP_1G_ATTR) + +ALIGN 16 + +TopLevelPageDirectory: + + ; + ; Top level Page Directory Pointers (1 * 512GB entry) + ; + DQ PDP(0x1000) + + TIMES 0x1000-PGTBLS_OFFSET($) DB 0 + ; + ; Next level Page Directory Pointers (512 * 1GB entries =3D> 512GB) + ; +%assign i 0 +%rep 512 + DQ PDP_1G(i) + %assign i i+1 +%endrep + TIMES 0x2000-PGTBLS_OFFSET($) DB 0 + +EndOfPageTables: diff --git a/UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm b/UefiCpuPkg/Re= setVector/Vtf0/X64/2MPageTables.asm similarity index 74% rename from UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm rename to UefiCpuPkg/ResetVector/Vtf0/X64/2MPageTables.asm index 5bc3093f90..b97df384ac 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm +++ b/UefiCpuPkg/ResetVector/Vtf0/X64/2MPageTables.asm @@ -11,19 +11,7 @@ BITS 64 =20 %define ALIGN_TOP_TO_4K_FOR_PAGING =20 -%define PAGE_PRESENT 0x01 -%define PAGE_READ_WRITE 0x02 -%define PAGE_USER_SUPERVISOR 0x04 -%define PAGE_WRITE_THROUGH 0x08 -%define PAGE_CACHE_DISABLE 0x010 -%define PAGE_ACCESSED 0x020 -%define PAGE_DIRTY 0x040 -%define PAGE_PAT 0x080 -%define PAGE_GLOBAL 0x0100 -%define PAGE_2M_MBO 0x080 -%define PAGE_2M_PAT 0x01000 - -%define PAGE_2M_PDE_ATTR (PAGE_2M_MBO + \ +%define PAGE_2M_PDE_ATTR (PAGE_SIZE + \ PAGE_ACCESSED + \ PAGE_DIRTY + \ PAGE_READ_WRITE + \ --=20 2.30.2.windows.1