]> git.proxmox.com Git - mirror_edk2.git/commit - UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb
UefiCpuPkg: VTF0 Linear-Address Translation to a 1-GByte Page till 512GB
authorAshraf Ali S <ashraf.ali.s@intel.com>
Sat, 11 Sep 2021 11:25:51 +0000 (16:55 +0530)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 16 Sep 2021 14:18:27 +0000 (14:18 +0000)
commit60d8bb9f28f663e6ca58bc87c042fdd82f5607bd
treeae5d4cd1cabe38bc2d3ad78b25709b92e50831e2
parent89f7ed8b29f6a88a8fb78d6fb2c92b4f7edf42d2
UefiCpuPkg: VTF0 Linear-Address Translation to a 1-GByte Page till 512GB

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3473

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.

Reviewed-by: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Debkumar De <debkumar.de@intel.com>
Cc: Harry Han <harry.han@intel.com>
Cc: Catharine West <catharine.west@intel.com>
Cc: Sangeetha V <sangeetha.v@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Sahil Dureja <sahil.dureja@intel.com>
Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com>
25 files changed:
UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw [deleted file]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw [deleted file]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw [deleted file]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw [deleted file]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw [deleted file]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw [deleted file]
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/Build.py
UefiCpuPkg/ResetVector/Vtf0/PageTables.inc [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt
UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb
UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm [deleted file]
UefiCpuPkg/ResetVector/Vtf0/X64/PageTables1G.asm [new file with mode: 0644]
UefiCpuPkg/ResetVector/Vtf0/X64/PageTables2M.asm [new file with mode: 0644]
UefiCpuPkg/UefiCpuPkg.ci.yaml