public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/3] UefiCpuPkg/ResetVector: Remove pre-built binaries
@ 2023-06-21  2:55 Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 1/3] UefiCpuPkg: Include ResetVector in DSC Ni, Ray
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ni, Ray @ 2023-06-21  2:55 UTC (permalink / raw)
  To: devel

Ray Ni (3):
  UefiCpuPkg: Include ResetVector in DSC
  UefiCpuPkg/ResetVector: Add guidance of FDF ffs rule
  UefiCpuPkg/ResetVector: Remove pre-built binaries

 .../Vtf0/Bin/IA32/ResetVector.ia32.port80.raw | Bin 532 -> 0 bytes
 .../Vtf0/Bin/IA32/ResetVector.ia32.raw        | Bin 500 -> 0 bytes
 .../Vtf0/Bin/IA32/ResetVector.ia32.serial.raw | Bin 900 -> 0 bytes
 .../ResetVector/Vtf0/Bin/ResetVector.inf      |  31 ------
 .../ResetVector/Vtf0/Bin/ResetVector.uni      |  16 ----
 .../ResetVector/Vtf0/Bin/ResetVector1G.inf    |  31 ------
 .../ResetVector/Vtf0/Bin/ResetVectorExtra.uni |  12 ---
 .../PageTable1G/ResetVector.x64.port80.raw    | Bin 12292 -> 0 bytes
 .../Bin/X64/PageTable1G/ResetVector.x64.raw   | Bin 12292 -> 0 bytes
 .../PageTable1G/ResetVector.x64.serial.raw    | Bin 12292 -> 0 bytes
 .../PageTable2M/ResetVector.x64.port80.raw    | Bin 28676 -> 0 bytes
 .../Bin/X64/PageTable2M/ResetVector.x64.raw   | Bin 28676 -> 0 bytes
 .../PageTable2M/ResetVector.x64.serial.raw    | Bin 28676 -> 0 bytes
 UefiCpuPkg/ResetVector/Vtf0/Build.py          |  89 ------------------
 UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt        |  27 ++----
 .../Vtf0/Tools/FixupForRawSection.py          |  20 ----
 UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf          |  28 +++++-
 UefiCpuPkg/UefiCpuPkg.dsc                     |   4 +-
 18 files changed, 36 insertions(+), 222 deletions(-)
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Build.py
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py

-- 
2.39.1.windows.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/3] UefiCpuPkg: Include ResetVector in DSC
  2023-06-21  2:55 [PATCH v2 0/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray
@ 2023-06-21  2:55 ` Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 2/3] UefiCpuPkg/ResetVector: Add guidance of FDF ffs rule Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 3/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray
  2 siblings, 0 replies; 4+ messages in thread
From: Ni, Ray @ 2023-06-21  2:55 UTC (permalink / raw)
  To: devel; +Cc: Eric Dong, Rahul Kumar, Gerd Hoffmann

Since ResetVector source module shares the same GUID as the binary
module, the binary INF file is just removed from DSC.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
---
 UefiCpuPkg/UefiCpuPkg.dsc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc
index 593c11cc74..7af1c83424 100644
--- a/UefiCpuPkg/UefiCpuPkg.dsc
+++ b/UefiCpuPkg/UefiCpuPkg.dsc
@@ -1,7 +1,7 @@
 ## @file
 #  UefiCpuPkg Package
 #
-#  Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2007 - 2023, Intel Corporation. All rights reserved.<BR>
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -168,7 +168,7 @@
       SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf
   }
   UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
-  UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
+  UefiCpuPkg/ResetVector/Vtf0/ResetVector.inf
   UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
   UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
   UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/PeiCpuExceptionHandlerLibUnitTest.inf
-- 
2.39.1.windows.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/3] UefiCpuPkg/ResetVector: Add guidance of FDF ffs rule
  2023-06-21  2:55 [PATCH v2 0/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 1/3] UefiCpuPkg: Include ResetVector in DSC Ni, Ray
@ 2023-06-21  2:55 ` Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 3/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray
  2 siblings, 0 replies; 4+ messages in thread
From: Ni, Ray @ 2023-06-21  2:55 UTC (permalink / raw)
  To: devel; +Cc: Eric Dong, Rahul Kumar, Gerd Hoffmann

ResetVector assembly implementation puts "ALIGN 16" in the end
to guarantee the final executable file size is multiple of 16 bytes.
Because the module uses a special GUID which guarantees it's put in
the very end of a FV, which should be also the end of the FD.
All of these (file size is multiple of 16B, and the module is put at
end of FV, FV is put at end of FD) guarantee the "JMP xxx" instruction
is at FFFF_FFF0h.

This patch updates INF file and ReadMe.txt to add guidance of FDF ffs
rule for the ResetVector.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
---
 UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt | 27 +++++++-------------------
 UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf   | 19 +++++++++++++++++-
 2 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt b/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt
index 97f4600968..4fcb15c3b1 100644
--- a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt
+++ b/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt
@@ -1,15 +1,16 @@
 
 === HOW TO USE VTF0 ===
+Add this line to your DSC [Components.IA32] or [Components.X64] section:
+  UefiCpuPkg/ResetVector/Vtf0/ResetVector.inf
 
 Add this line to your FDF FV section:
-INF  RuleOverride=RESET_VECTOR USE = IA32 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
-(For X64 SEC/PEI change IA32 to X64 => 'USE = X64')
+  INF  RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/ResetVector.inf
 
 In your FDF FFS file rules sections add:
-[Rule.Common.SEC.RESET_VECTOR]
-  FILE RAW = $(NAMED_GUID) {
-    RAW RAW                |.raw
-  }
+  [Rule.Common.SEC.RESET_VECTOR]
+    FILE RAW = $(NAMED_GUID) {
+      RAW BIN   |.bin
+    }
 
 === VTF0 Boot Flow ===
 
@@ -25,17 +26,3 @@ All inputs to SEC image are register based:
 EAX/RAX - Initial value of the EAX register (BIST: Built-in Self Test)
 DI      - 'BP': boot-strap processor, or 'AP': application processor
 EBP/RBP - Pointer to the start of the Boot Firmware Volume
-
-=== HOW TO BUILD VTF0 ===
-
-Dependencies:
-* Python 3 or newer
-* Nasm 2.03 or newer
-
-To rebuild the VTF0 binaries:
-1. Change to VTF0 source dir: UefiCpuPkg/ResetVector/Vtf0
-2. nasm and python should be in executable path
-3. Run this command:
-   python Build.py
-4. Binaries output will be in UefiCpuPkg/ResetVector/Vtf0/Bin
-
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
index 9922cb2755..03d92d937f 100644
--- a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
+++ b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
@@ -1,7 +1,24 @@
 ## @file
 #  Reset Vector
 #
-#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
+#  Note:
+#    Conf/build_rule.txt contains the build rule [Nasm-to-Binary-Code-File]
+#    to generate .bin file from .nasmb source.
+#
+#    The platform FDF MUST have a FDF rule as follows to build the .bin
+#    file as ResetVector .ffs file:
+#
+#          [Rule.Common.SEC.RESET_VECTOR]
+#            FILE RAW = $(NAMED_GUID) {
+#              RAW BIN   |.bin
+#            }
+#
+#    Following line in FDF forces to use the above rule for the ResetVector:
+#
+#      INF  RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
+#
+#
+#  Copyright (c) 2006 - 2023, Intel Corporation. All rights reserved.<BR>
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
-- 
2.39.1.windows.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 3/3] UefiCpuPkg/ResetVector: Remove pre-built binaries
  2023-06-21  2:55 [PATCH v2 0/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 1/3] UefiCpuPkg: Include ResetVector in DSC Ni, Ray
  2023-06-21  2:55 ` [PATCH v2 2/3] UefiCpuPkg/ResetVector: Add guidance of FDF ffs rule Ni, Ray
@ 2023-06-21  2:55 ` Ni, Ray
  2 siblings, 0 replies; 4+ messages in thread
From: Ni, Ray @ 2023-06-21  2:55 UTC (permalink / raw)
  To: devel; +Cc: Eric Dong, Rahul Kumar, Gerd Hoffmann

Because it's simpler for a platform to include the ResetVector source
and having pre-built binaries add burdens of updating the pre-built
binaries. This patch removes the pre-built binaries and the script
that buids the pre-built binaries.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
---
 .../Vtf0/Bin/IA32/ResetVector.ia32.port80.raw | Bin 532 -> 0 bytes
 .../Vtf0/Bin/IA32/ResetVector.ia32.raw        | Bin 500 -> 0 bytes
 .../Vtf0/Bin/IA32/ResetVector.ia32.serial.raw | Bin 900 -> 0 bytes
 .../ResetVector/Vtf0/Bin/ResetVector.inf      |  31 ------
 .../ResetVector/Vtf0/Bin/ResetVector.uni      |  16 ----
 .../ResetVector/Vtf0/Bin/ResetVector1G.inf    |  31 ------
 .../ResetVector/Vtf0/Bin/ResetVectorExtra.uni |  12 ---
 .../PageTable1G/ResetVector.x64.port80.raw    | Bin 12292 -> 0 bytes
 .../Bin/X64/PageTable1G/ResetVector.x64.raw   | Bin 12292 -> 0 bytes
 .../PageTable1G/ResetVector.x64.serial.raw    | Bin 12292 -> 0 bytes
 .../PageTable2M/ResetVector.x64.port80.raw    | Bin 28676 -> 0 bytes
 .../Bin/X64/PageTable2M/ResetVector.x64.raw   | Bin 28676 -> 0 bytes
 .../PageTable2M/ResetVector.x64.serial.raw    | Bin 28676 -> 0 bytes
 UefiCpuPkg/ResetVector/Vtf0/Build.py          |  89 ------------------
 .../Vtf0/Tools/FixupForRawSection.py          |  20 ----
 UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf          |   9 ++
 16 files changed, 9 insertions(+), 199 deletions(-)
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Build.py
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw
deleted file mode 100644
index a3601274c25dde665872ff375f1deadf1c838476..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 532
zcmYk3L1+^}6hQxG?OGMxP=XCuO{oFvA!34x5(Ckq=%JWHDKR3&%U*@;4lLqfmnDa3
z%DNy3Djoz+o>n|`p_PoRky;N5Js1c|L|nU_OT82o$@oJN@(=(2nR&cF!+4(O<yj7r
z03`qr`gPk(-eL1I<gjg~-j~*<Ny;|UuWlcCK=#?@82xeT5lQeYQs(!?Mbbj5v@mv!
ztRVI9G`&S$B2^D_>*Tp(W`R7Tp<Ep&PxyY{kF21HL0h~>TmFm4ifa-;zC*vz4XttW
zq}0}nTrTTp>dYuOY`31v{#vMxZinN>X5&iA{wjokJ@1Uq(rY83f3nOGnJ7F{XGEc^
zd@axD+xj+9{H@3`dj3!J3w#sG<{Xwjw>n?7OgU*B!aQOW8fp7m--koX4wLm__Al=^
zY?o%Aovx9bx>P+cg?6!W34mnesY#x}LmFy!akfSd$Wy}(n^c!>D977;D8Mlg8>sUS
zM%JHY*m66|cf|=!l}5GTC_q`AVA|#!0!awU3V=G%^$U@u1;gOBUFLS(4fi9z>Se$~
z2tQ>Y`tp9@WdZJg*r|{I*L%>sSmAq{7b<*6qi=YE|Bg)&AL|JbKgC45A{vlk%hz|-
Oedp}VWx$=4LE;}o$@(e)

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw
deleted file mode 100644
index 6124f3f9a40e4e58cc672b54cbf5cc33360b3858..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 500
zcmbO*VZsE%1G)?X3=Fmm3=IE^A{#3Nsty!~l*%?%h@7@P<y$J!SRt`DUv63{cVmT2
z=W~-;rA)6?fT}8<_Vkn<1*)>`lJPIy15`EBv@@}EGf-9QVcpB6tC}lR7)qCP9%hbE
zD4qM7bH{!l=sf!RU+2-6j*JWphPONKb-qaJjx}JsQDps^*`dg+^+1VH^8xlEU6mhQ
z5#rwtE0nzI_7G`&`2YWZ2F{ZucNq_sFcn>Is1RZ<WqU2&dZ3i8^Tg{@h6g&2wSFsQ
zD*5;F9ncRzL*kncNLZdIj%cW07ATPhl0qd$-4czDLFNE0b7(%mTx6~C=k@L811xEc
z7QRuXy8PQCY#0wWS_il?FqFzOJ8Qg_2TFDxPHVIdiz?+~cIIe4puxXAnoaY@Yt|h=
zYZzYE0FC>#o8d#>?cFW^_0sqm#nW~uGcY*tD;-FCl?{{>VA$cn#=yX@^dM~q2SeYD
zz5{&^`d;*1c<nGjo?!w|0Wk1^0Av^l03FA`F!?-$o(-e>8TLB`yyn{P81R}kt@Frh
trq@4TcfR!a_y7OPT|lDq!T)CvW8mcL%Md2W%&-tQh6xj1?}1AK82|{?<x>Cv

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw
deleted file mode 100644
index 48b46e3473e77a1179bf818a1f1deafb7e46cf3e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 900
zcmbO*VZwx6znM3*zuWbbc>}|{T|byNFuntcu)lk$%4~Q*mqCDm!Ipu6;eSzNV}(G~
zf#Q%-*~SWy)3&F4OGO$hB=+XZO)KSYtdQw^ZZfNs>9q<_RmIbup3<X0RkmF+{-t|>
zs%DyYCYEjns%kx~d%1K~bA<{+>5|UF%n=Hub6<O=?fT37W`#n@_cW0GN$*hk255X<
zG(Ok69s7Zx^XTh;okvl%q8nw1rWMnumsU&+42HKm?{&UN>y9;GyisKLn%SYqvh_fT
zY4ZX0A_J8lT@m8n4l9(r>h=(6eE9$We+JHzC3hJQmM|4vZ>SJrF6DeV9T;A%2TIvG
zPrN>Ec%buG>$g%TREMRZIfSquOa9?Efe5dqFoK*_65o74!tz9ML_-C$K#4Sv6e=<5
zmS}to@(R$u4$TLci>y`tyuRIhfF-Tb!Z)f^mw$VN4ddZP>i|~<hEjQEXN}kLK*`R-
zX^qxlQKfv$&K%7LH2AkivuWOV&AJ2Vdxn>P{{8<Cjn*HaST%fy%risb@uKj!-u>Fm
z@S*Sa?ymoOY5a`hX*-k|7##SO4y3&@1iDdxVTS`70|UR(1JnR9Mhj9SG(Kirr|sZi
z=)2K(pzlH7i@po5?Iy@GOaKJ}6o6Ti&ohAO*)Y1FVZT$rYu^2i0k1jII*+_O@aHwt
v>u)cG|Gzx{=l}ng2mk*6-}&JGGhn`gf!CKIEReBbA#My4CcNGQlLOHJZ`sQ4

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
deleted file mode 100644
index 47ac07798b..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
+++ /dev/null
@@ -1,31 +0,0 @@
-## @file
-#  Reset Vector binary
-#
-#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = ResetVector
-  MODULE_UNI_FILE                = ResetVector.uni
-  FILE_GUID                      = 1BA0062E-C779-4582-8566-336AE8F78F09
-  MODULE_TYPE                    = SEC
-  VERSION_STRING                 = 1.1
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-#  VALID_ARCHITECTURES           = IA32 X64
-#
-
-[Binaries.Ia32]
-  RAW|IA32/ResetVector.ia32.raw|*
-
-[Binaries.X64]
-  RAW|X64/PageTable2M/ResetVector.x64.raw|*
-
-[UserExtensions.TianoCore."ExtraFiles"]
-  ResetVectorExtra.uni
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni
deleted file mode 100644
index 3e7bcdafea..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni
+++ /dev/null
@@ -1,16 +0,0 @@
-// /** @file
-// Reset Vector binary
-//
-// Reset Vector binary
-//
-// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// **/
-
-
-#string STR_MODULE_ABSTRACT             #language en-US "Reset Vector binary"
-
-#string STR_MODULE_DESCRIPTION          #language en-US "Reset Vector binary"
-
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf
deleted file mode 100644
index 75705cd344..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector1G.inf
+++ /dev/null
@@ -1,31 +0,0 @@
-## @file
-#  Reset Vector binary
-#
-#  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = ResetVector
-  MODULE_UNI_FILE                = ResetVector.uni
-  FILE_GUID                      = 1BA0062E-C779-4582-8566-336AE8F78F09
-  MODULE_TYPE                    = SEC
-  VERSION_STRING                 = 1.1
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-#  VALID_ARCHITECTURES           = 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/ResetVectorExtra.uni b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni
deleted file mode 100644
index 7d2d579390..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni
+++ /dev/null
@@ -1,12 +0,0 @@
-// /** @file
-// ResetVector Localized Strings and Content
-//
-// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// **/
-
-#string STR_PROPERTIES_MODULE_NAME #language en-US "ResetVector module"
-
-
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw
deleted file mode 100644
index def0ec856d0d14b4ea11b0a33db1512077eae00f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12292
zcmeI&?{C}%0mt!AcdQH$uFlCS4BBl4hB{m;KP|(;0PBy*)H%xl5yeydg?4vvqQK|U
z?7=ZoFPfP6>zR*?i8Vf;2xK2pN+v#Vi4R<|XljUc-93Q$fT+=(-)?WizhKPwlHTjC
z@9%x@?(^u{T&L6NY+dU0R9?yj$_2^=$_2^=$_2^=$_2^=$_2^=$_2^=$_4(f7kHI-
zS2(eHv(Ok+UvXo#qcNy8bTkH4p`$UVbLeOcYAqd&LG{zo7}U9RGzPVfj>e$QqoXmX
z^XX^|>H<0%gL(@cjX_;VM`KVI(a{)Gm5#=s2Iy!E>aBD%2DP4!#-QFtM`KVM=x7Y;
z?Q}E-buk@{L2aa?F{nX08iRTV9gRU<LPujzm(tM~)FwI_gSw24#-J{zqcNx<IvRr-
zrlT>a&2%&dwS|txptjP{7}N+IjX_;OM`KV|($N^yRdh54wT+I(psuE)F{pRa(HPXb
z=x7Y;-E=etwVjT}pst~#F{t;@(HPVYIvRr-rK2&ZF*+K9dM_P~L0wBnV^G)8(HPYA
zbTkHa109V)-AG4cP&d)h7}WddXbftcj>e#FrlT>aopdw?bqgJhLA{@j#-JwXXbkFB
zIvRtzjgH2kcG1xo)a`UM26YD=jX~W>M`KVQprbLUNje&X`XC*RL4Amh#-Kh-M`KVQ
zp`$UV-E=et^-($+gSv~3#-R4l(HPXn=x7Y;<8(9z^$9u}gW5|+V^E)@qcNy`bTkI_
zDLNX1nxdmIsJrQC3~E0ejX~W*M`KX;($N^yeRMPi^=Ud9gSwxN#-Kh!M`KVA(9syw
zXX$7R>T`572K68vjX`~$j>e#BbTkI_1v(mo`XU{TK|MrAV^CkBqcNy2)6p2zSLkRA
z>Z^1#2K6;M8iRV6j>e$APDf)<-=L#0sA)PHgE~M*V^DQE8iQ)k(HPVtbTkI_C>@PK
zHR)&!>YH>l2K5*njX`~jj>e$AO-Ex;kJHf@)Dv_x2K6KzjahZH_!K#yGaoT}(|5O;
z1CQmv-o|CE=7!(yd}ViIL#sLX!o!z;zi~mUxvBlvYk$~S(;X>}YX0TvryGmKQ9Ga7
zbXVi~;;0{7*M6Y!tKz7G3)_F+_}NTzM2(-e7b;W3jh}QcoSR$r{Ndu#UhJN3FV6jP
z*(=}eE1v#%`%mo?wL|yq=sPw&-mOebUw<(5v6-AZy?x~GPfcxnV_~>{^3ddl)}MRD
z7ZuL?P5qC3FV@#g|G~}ml}3Me=wKTC?IYb+M$>-z;2Vwpx!0FnKRtJ<IR6dB`HPd?
zKa;_mjvSbBvocV>w76bhA3HSIdUf@D#gk6Vq%u7|@~`gknVeH=-MD*yV|(?Pshj&2
zTH|}}kQzgkUE8`tMQktBTI2inH!iB|S~rtz)o1SMzxr5r?R>GKR_ev+x}(+MrRuLw
ztgUWYde%~^W5vC7)g9I06gP&dTXOP|Q@!4x<{m6w-;ayO&Fg5dSKV@~yEu38vj6#<
zUY|Yw+>uk))T(_OYx7%+f4US8s-66K@u&gKPxMR0x#z}~U7KI0*<-VrU79^Hd$fD|
zRXSQ6)9I|fnAOXfZ*_d{cW3?4fBgmbzoWyq?dhI>_|`q$wYBz3-8J2RtUTUZdF|i5
z-pWI#i>uM%?aUWHy~)ilPi|hE-2BpHd#Shl=K0S)OL<)`P%cm|P%cm|P%cm|P%cm|
mP%cm|P%iMlvcSqEe=EM_fA;UTeS7azr?XNy`<pYr?)(R#bsxF_

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw
deleted file mode 100644
index cd6559018826fa74d39def72a3d578628d2891f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12292
zcmeI&-EW-*0mt!QTUNFqoI0ngGFZ1&Hq^p4d9@5WCQx4nMdm0&L<EoTB3&OjATPg@
zW*288wF$&T4T%?C851wOpo(Tc(v9$P0SOl_StK<?-PyTunh+(h<J0C#!k=Ks^CUf=
zbMk%qoSxs+In9}yo15Fb*zKx1ss*YAss*YAss*YAss*YAss*YAss*YAss*YA-q#Df
z!K*7BTe@3n463KRv((WTR4*NkLG{tm7}QyGGzPVTj>e$+>1Yh<Y&sf)T1iJ^P^;)@
z3~DtUjX|A5M`KVQprbLUbLnUd>O49cgR0Td7}NkAjX`~oj>e$Y(9sywhv;YwYAqd&
zL4BBx#-KhzM`KXy=x7XTkdDTnK1xSpP#>eCF{tzDXbfsS9gRU<Ku2Rx7t+xf)CM{l
zgBqfvF{q7nGzPVaj>e!i)6p2zFddCSeVmTQpe~}LF{mwcGzPVmj>e!arlT>aPtegA
z)F<g^4C+&KGzK+7M`KWz(9sywrF1j~wT+I(ptjS|7}O3r8iV>Y9gRU<Mn_{%m($T0
z)D?6z26ZJJjX_;SM`KV|)6p2zXXt1QYLt$~pst~#F{qt%GzN7o9gRU<M@M5&V{|kI
zwTq6%psuH*F{s^iGzRrqIvRtzfsV$YZlt3zsGI0$3~HQ?#-Kh&M`KW*r=u~bFVN8#
z)EDV!3~CP@jX~W^M`KX8(9syw1Rae*-AYGeP+y{>F{s<<XbfsE9gRVKnU2Pw_R-N8
z)a`UM1~o}XV^DX{(HPWzIvRtzla9uqzCuT1P<PSM7}QtkXbkFZIvRue8Xb*6-9txX
zP+zB`F{pd#XbkE;IvRue1|5w-)#+#q>YH>l2K6mE8iV>a9gRVKhmOXezDq}AP~W4Y
zF{tm;(HPVZ=x7Y;emWY1`XL>SK|Mf6V^C9cGzN8mj>e#->1Yh9prbLUAJNem)Pr<1
z2GyXWF{p>=XbkFMIvRueF&&LTJwiugP><5l7}R5QGzRrJ9gSIXd-*PMK+A72x>I*F
z8v_sLz~175W@GKkJ73yUtZg<1|8)O_KP}E_HrBWPaoNv{-p+7&R^x9^JW(7g&)Rut
z{Vl~G%d>uVdF!6ycjZ|J7e-zyem&C|R`ILWLf_<2@pNa^{E_l#9qXKF9cv%zDWCR4
z>-E;j`r*5_^&FoX?evXJU2!neJ7#kB)X4CE4o$9mb75%u)Zy{9&A)cbFDR^far!Sk
z&rSDE{n?E*eMNs~-N6+7trt2kZBOg@gKrkS(`VXOme(yWa`#LIuYTdcq#Jz$)907B
zYo>P`9&Em`be;0a#%9ttH9Guu=fq6TsyDCNv%eUrJu`Vt&q8x_;s&YM(6@VQXG0lV
z3-#vczWv2{eY;oAWNYo2JNqv_-dQnUuBP@Q<>fjfwV}n@A5N~QZCd=jrPOwmk5<;U
z)rL~u*-+b*Q}xr`?x5PgEPrQSuXek&O~*SgzV)pBIeX&S-<-arUh7#`pWj^mbEQ1F
ze(I_6>;cV>^-JY7>+>r$dwe#ti?b(ZU+qk6QOaI^Y2!UddEMn>`CA-MzM^G+@vgt+
z@lSN*`iai!BfBO#E9$MIo!-uW+Yfcy-FLd(_5)|io9*SxnJ<63;~SqJ-*{|%<I(Zf
zV)yTJbMIcivRa^8pjx0>pjx0>pjx0>pjx0>pjx0>;QxDp_UeBve_CAnEBEcaQFC+c
Lf1iHO=g0p6T22&^

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw
deleted file mode 100644
index c1cf994c46df4138ef92193eb1dbca86137e7d69..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12292
zcmeI&U5s3H9merzclxp|mRV}Cs}#Cz7bs|Px3smT6t}Iw0#>Tjx)c#X7+w_7?HnAD
zm*2QHW++)VA;GBOjtfFUY{CWWg6X460pUUtFKlciONiR(kd3iPEl_$m(|$4TV1!%E
zIT!Pp|9<D?{C_hSGn*M59UWaZnWoB*d;<9d@(JV<$S06bAfG@!fqVk_1o8>w6UZl!
zPvHN00<W{X%>L%p%s`{svMbGwfkw5{G0><29RrP;LB~L&X3{axs9AIjG-@^-1C8pS
zW1vxU=oo0!Tsj6CbqXB=jrs^31C5$T$3UY_rDLE`MLGr=)k()dqfVn^pi%Sb7--Z-
z=@@9#0y+j7bvhjbjrtfJ1C3fp$3UaH=oo0!$LSbo)F<c|Xw(^W3^ZyH9RrOzla7H#
zokhn$qZZRK(5P-Y1{$@5j)6ukrDLE`%jg(rR1X~kjXIl-fkvG}$3UabrDLE`%jp<s
z)OmCaH0pdh1{(EAItCi`DLMukwSta;MqNP1K%+iQ$3UZc=@@8K9~}dYT1m%1qb{Ul
zpi!&n7--aLItCiGhK_+oeTI&KMy;h|pi%4S7--Z*bPP0VJsks$x|oiEMs1*Dpi!65
zG0>>b(lOAeemVvkwULg2Ms1>Fpi!IY7--bz=oo0!rF0B5>M}Y88g)4x1C1J>W1vx2
z&@s@cE9n?$)Kzp0H0two3^ZyB9RrQ}0v!X5x|)uGMs1~Ipiy6>W1vxAqGO;@*U&N0
zsBLr%H0sNA3^Zyx9RrQ}3LOKD8l+>OQP<Kj(5M}B3^eLGItCi`RXPS5bv+#ejrtlL
z1C6?Yj)6vfosNM<-AKnkqi&*Opi$qTW1vwt(=pJfTj&^QREds(M%_xsK%;J>W1vyD
z(=pJfJLni_)HmrEXw<jp7--a;bPP1=+jI;x>MlA48ucAI1{(EUItCgwM8`m*cG5A>
zs4^V`jY{YkXw=<w3^eL{bPP1ALdQU(zE8(Mqwb+&piw`dW1vy@(lOAe`{)>G)cte}
zH0l952D<6^+l4(po*I9%ut!tlM+<w}rka15Jyn0Q(3gF{?9_=*AL-Dw)k^0*-nlI~
zvszj3@`jhTBnzsQu3z7E)+5O&)yksU-&XxRX>asox2pW*p@))v*{wD_xajKS+3Z$7
zTV1;`c`Ccru89?YNS+w3^eB0(Hc=StP9AMsQ5t`z@W$ia<$so%&wta@^mT8`dS1(V
z?$p@c?5OQ)9Ix%0e%IEA>T9{{`yZ<Q+jgn%K<(Aq!P4&Qd)xL8UD7D@53Sqf^6FvF
z9_sBm`rzQgBNN@_L%RnSR9{Q8-%iZ=UHQ*#zbUs5{V^)@3(1`NPqV4+ax$y-V&jEA
z*Ph>XB-u3m#7ZqE^1*v7AOG)<@FBMLMqBf=$~O$VYu$@G2cuHxET55G&M&Xr-Bo?P
zxs`0c{lhK{t?xP3I56xPrRv%(JCYT}rw1=?o2aheda0BwE^J=jSe(V$M5(%d`;O$)
z!sd=)FE2iQ-K_KWH)f7yyI1|#@icARS?r!Hjvt&^TsrxykX&4utvZUm#cpR;78jTL
z(2xF+rd^u8w>2%(S=F-s4=>y4+1|$VN}3jz?r+q1KOJqpo%*K!eYIxVYTmTf+^M&o
z(cec7JoCfD7nF)^3rl0mvVVDHCs{gl{^2z3)L8#4Dcj5Rv%Rq8>{hm{-+#8Hu?~&w
zAMwcK$ib0U8e7iQX!iKoPjOBh&G9vl6TixN`1dFM#e4pe^-r{S)7Hkky&JbSI!d+Y
z>T8cR+8ameGt&Cy$I`UE?w#!7-t09P%U;%WV9E0XOZE*cd2XOKnf~>?Cu(`Vlh2x8
y<`c*#kWV0=Kt6$d0{H~;3FH&VC-A>Kf%=~g|Lc3j_HCDGbhJKk@-HX90K5y%1}7N+

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw
deleted file mode 100644
index 0e981675cc80f2b08e144c16db44d7b48980c608..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 28676
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
Y==W{Ud+x`?<;xGBdGs@H`}F1i3tIcSg8%>k

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw
deleted file mode 100644
index b9f09dd46f2a8bfec0f0392235ae63ae50847388..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 28676
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

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw
deleted file mode 100644
index a76f8ad124eea6069c797b4450acbc8fba20e23e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 28676
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

diff --git a/UefiCpuPkg/ResetVector/Vtf0/Build.py b/UefiCpuPkg/ResetVector/Vtf0/Build.py
deleted file mode 100644
index 3f1d5cd2c8..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Build.py
+++ /dev/null
@@ -1,89 +0,0 @@
-## @file
-#  Automate the process of building the various reset vector types
-#
-#  Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.<BR>
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-
-import os
-import subprocess
-import sys
-
-PAGE_TABLE_2M  = 'PageTable2M'
-PAGE_TABLE_1G  = 'PageTable1G'
-FILE_FORMAT    = '.raw'
-ALL_RAW_FORMAT = '*' + FILE_FORMAT
-IA32           = 'IA32'
-X64            = 'X64'
-
-# Pre-Define a Macros for Page Table
-PAGE_TABLES = {
-    PAGE_TABLE_2M : "PAGE_TABLE_2M",
-    PAGE_TABLE_1G : "PAGE_TABLE_1G"
-}
-
-def RunCommand(commandLine):
-    return subprocess.call(commandLine)
-
-# 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))
-
-for arch in ('ia32', 'x64'):
-    for debugType in (None, 'port80', 'serial'):
-        for pageTable in PAGE_TABLES.keys():
-            ret = True
-            if arch.lower() == X64.lower():
-                directory = os.path.join('Bin', X64, pageTable)
-            else:
-                directory = os.path.join('Bin', IA32)
-
-            # output raw binary name with arch type
-            fileName = 'ResetVector' + '.' + arch
-
-            if debugType is not None:
-                fileName += '.' + debugType
-            fileName += FILE_FORMAT
-
-            output = 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 = (
-                '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 = RunCommand(commandLine)
-            except FileNotFoundError:
-                print("NASM not found")
-            except:
-                pass
-
-            if ret != 0:
-                print(f"something went wrong while executing {commandLine[-1]}")
-                sys.exit()
-            print('\tASM\t' + output)
-
-            commandLine = (
-                'python',
-                'Tools/FixupForRawSection.py',
-                output,
-                )
-            print('\tFIXUP\t' + output)
-            ret = RunCommand(commandLine)
-            if ret != 0: sys.exit(ret)
-
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py b/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py
deleted file mode 100644
index de771eba22..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py
+++ /dev/null
@@ -1,20 +0,0 @@
-## @file
-#  Apply fixup to VTF binary image for FFS Raw section
-#
-#  Copyright (c) 2008 - 2021, Intel Corporation. All rights reserved.<BR>
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-
-import sys
-
-filename = sys.argv[1]
-
-d = open(sys.argv[1], 'rb').read()
-c = ((len(d) + 4 + 7) & ~7) - 4
-if c > len(d):
-    c -= len(d)
-    f = open(sys.argv[1], 'wb')
-    f.write(b'\x90' * c)
-    f.write(d)
-    f.close()
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
index 03d92d937f..6b406163db 100644
--- a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
+++ b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
@@ -46,3 +46,12 @@
 
 [UserExtensions.TianoCore."ExtraFiles"]
   ResetVectorExtra.uni
+
+[BuildOptions]
+# Different build options can be specified:
+#   * for different architectures:
+#       -DARCH_X64, -DARCH_IA32
+#   * for using 1G page table:
+#       -DPAGE_TABLE_1G
+#   * for different debug channels:
+#       -DDEBUG_SERIAL, -DDEBUG_PORT80, or not specify any debug channel
-- 
2.39.1.windows.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-06-21  2:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-21  2:55 [PATCH v2 0/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray
2023-06-21  2:55 ` [PATCH v2 1/3] UefiCpuPkg: Include ResetVector in DSC Ni, Ray
2023-06-21  2:55 ` [PATCH v2 2/3] UefiCpuPkg/ResetVector: Add guidance of FDF ffs rule Ni, Ray
2023-06-21  2:55 ` [PATCH v2 3/3] UefiCpuPkg/ResetVector: Remove pre-built binaries Ni, Ray

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox