diff options
author | Ard Biesheuvel <ard.biesheuvel@arm.com> | 2020-06-08 13:02:12 +0200 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2020-06-12 22:17:46 +0000 |
commit | fd708fe0e1f813d6faf02d92ec5e8d73ce876ed1 (patch) | |
tree | 5ef4805369ec63c45a93f9637fe81928c1e87e0a | |
parent | 567bc4b4ae8a975791382dd30ac413bc0d3ce88c (diff) | |
download | edk2-fd708fe0e1f813d6faf02d92ec5e8d73ce876ed1.tar.gz edk2-fd708fe0e1f813d6faf02d92ec5e8d73ce876ed1.tar.bz2 edk2-fd708fe0e1f813d6faf02d92ec5e8d73ce876ed1.zip |
ArmVirtPkg: add FDF rule for self-relocating PrePi
In preparation for making the self-relocating PrePi use the ordinary
BasePeCoffLib routines for relocating the image in place in memory
at start, add a special FDF rule that builds SEC modules as PE32
images with the relocation metadata preserved.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Sami Mujawar <Sami.Mujawar@arm.com>
-rw-r--r-- | ArmVirtPkg/ArmVirtQemuKernel.fdf | 2 | ||||
-rw-r--r-- | ArmVirtPkg/ArmVirtRules.fdf.inc | 5 | ||||
-rw-r--r-- | ArmVirtPkg/ArmVirtXen.fdf | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.fdf b/ArmVirtPkg/ArmVirtQemuKernel.fdf index 72fc8dd698..55e33aba0d 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.fdf +++ b/ArmVirtPkg/ArmVirtQemuKernel.fdf @@ -136,7 +136,7 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
- INF ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
+ INF RuleOverride = SELF_RELOC ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
diff --git a/ArmVirtPkg/ArmVirtRules.fdf.inc b/ArmVirtPkg/ArmVirtRules.fdf.inc index 63de26abe0..b8ec040d23 100644 --- a/ArmVirtPkg/ArmVirtRules.fdf.inc +++ b/ArmVirtPkg/ArmVirtRules.fdf.inc @@ -39,6 +39,11 @@ TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
}
+[Rule.Common.SEC.SELF_RELOC]
+ FILE SEC = $(NAMED_GUID) {
+ TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
+ }
+
[Rule.Common.PEI_CORE]
FILE PEI_CORE = $(NAMED_GUID) FIXED {
TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
diff --git a/ArmVirtPkg/ArmVirtXen.fdf b/ArmVirtPkg/ArmVirtXen.fdf index 6a97bceeac..f708878f49 100644 --- a/ArmVirtPkg/ArmVirtXen.fdf +++ b/ArmVirtPkg/ArmVirtXen.fdf @@ -233,7 +233,7 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
- INF ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
+ INF RuleOverride = SELF_RELOC ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
|