summaryrefslogtreecommitdiffstats
path: root/src/Makefile.efi
diff options
context:
space:
mode:
authorMichael Brown2021-07-26 16:42:00 +0200
committerMichael Brown2021-07-26 16:47:47 +0200
commitdb6310c3e5948a327a1c6f5706f727fd6cd67c70 (patch)
treea657114850d193442b4d4cbcc7697575b6358a1f /src/Makefile.efi
parent[build] Fix genfsimg to work with FATDIR with space (diff)
downloadipxe-db6310c3e5948a327a1c6f5706f727fd6cd67c70.tar.gz
ipxe-db6310c3e5948a327a1c6f5706f727fd6cd67c70.tar.xz
ipxe-db6310c3e5948a327a1c6f5706f727fd6cd67c70.zip
[efi] Use zero for PCI vendor/device IDs when no applicable ID exists
When building an EFI ROM image for which no PCI vendor/device ID is applicable (e.g. bin-x86_64-efi/ipxe.efirom), the build process will currently construct a command such as ./util/efirom -v -d -c bin-x86_64-efi/ipxe.efidrv \ bin-x86_64-efi/ipxe.efirom which gets interpreted as a vendor ID of "-0xd" (i.e. 0xfff3, after truncation to 16 bits). Fix by using an explicit zero ID when no applicable ID exists, as is already done when constructing BIOS ROM images. Reported-by: Konstantin Aladyshev <aladyshev22@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/Makefile.efi')
-rw-r--r--src/Makefile.efi3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Makefile.efi b/src/Makefile.efi
index 11e29dd5..bd479b3d 100644
--- a/src/Makefile.efi
+++ b/src/Makefile.efi
@@ -43,7 +43,8 @@ $(BIN)/%.drv.efi : $(BIN)/%.efidrv
$(BIN)/%.efirom : $(BIN)/%.efidrv $(EFIROM)
$(QM)$(ECHO) " [FINISH] $@"
- $(Q)$(EFIROM) -v $(TGT_PCI_VENDOR) -d $(TGT_PCI_DEVICE) -c $< $@
+ $(Q)$(EFIROM) -v $(firstword $(TGT_PCI_VENDOR) 0) \
+ -d $(firstword $(TGT_PCI_DEVICE) 0) -c $< $@
$(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined
$(QM)$(ECHO) " [CAB] $@"