From b4ec32c290a89988ca545b4231dfc8cabc24642b Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Mon, 11 Sep 2017 13:18:05 +0200 Subject: [PATCH] ArmVirtPkg/ArmVirtQemu: port HTTP_BOOT_ENABLE from OvmfPkg * From commit ab44a6e833fa ("OvmfPkg: Add HttpBoot support", 2015-08-23): - introduce HTTP_BOOT_ENABLE build define - resolve HttpLib class - include NetworkPkg drivers DnsDxe, HttpDxe, HttpBootDxe * From commit 1a85139d9eac ("OvmfPkg: Build HTTP utilities driver", 2015-08-28): - include NetworkPkg driver HttpUtilitiesDxe * From commit 4b2fb7986d57 ("OvmfPkg: Allow HTTP connections if HTTP Boot enabled", 2017-01-19): - set PcdAllowHttpConnections to TRUE > ## Indicates whether HTTP connections (i.e., unsecured) are permitted or > ## not. > # TRUE - HTTP connections are allowed. Both the "https://" and > # "http://" URI schemes are permitted. > # FALSE - HTTP connections are denied. Only the "https://" URI scheme is > # permitted. > # @Prompt Indicates whether HTTP connections are permitted or not. > gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|FALSE|BOOLEAN|... TLS_ENABLE (for HTTPS) is not ported for the time being. Cc: Ard Biesheuvel Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek Reviewed-by: Ard Biesheuvel --- ArmVirtPkg/ArmVirtQemu.dsc | 15 +++++++++++++++ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 6 ++++++ ArmVirtPkg/ArmVirtQemuKernel.dsc | 15 +++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index 57baf59739..9ec70fb8b1 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -34,6 +34,7 @@ # -D FLAG=VALUE # DEFINE SECURE_BOOT_ENABLE = FALSE + DEFINE HTTP_BOOT_ENABLE = FALSE !include ArmVirtPkg/ArmVirt.dsc.inc @@ -63,6 +64,10 @@ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf PciHostBridgeLib|ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf +!if $(HTTP_BOOT_ENABLE) == TRUE + HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf +!endif + [LibraryClasses.common.UEFI_DRIVER] UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf @@ -124,6 +129,10 @@ # gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0 +!if $(HTTP_BOOT_ENABLE) == TRUE + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE +!endif + # System Memory Base -- fixed at 0x4000_0000 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000 @@ -338,6 +347,12 @@ MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +!if $(HTTP_BOOT_ENABLE) == TRUE + NetworkPkg/DnsDxe/DnsDxe.inf + NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + NetworkPkg/HttpDxe/HttpDxe.inf + NetworkPkg/HttpBootDxe/HttpBootDxe.inf +!endif # # SCSI Bus and Disk Driver diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc index e54eeea41e..f0f4be2fa0 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -128,6 +128,12 @@ READ_LOCK_STATUS = TRUE INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +!if $(HTTP_BOOT_ENABLE) == TRUE + INF NetworkPkg/DnsDxe/DnsDxe.inf + INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + INF NetworkPkg/HttpDxe/HttpDxe.inf + INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf +!endif # # SCSI Bus and Disk Driver diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc index 8c15da3490..33c1385c85 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc @@ -34,6 +34,7 @@ # -D FLAG=VALUE # DEFINE SECURE_BOOT_ENABLE = FALSE + DEFINE HTTP_BOOT_ENABLE = FALSE !include ArmVirtPkg/ArmVirt.dsc.inc @@ -63,6 +64,10 @@ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf PciHostBridgeLib|ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf +!if $(HTTP_BOOT_ENABLE) == TRUE + HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf +!endif + [LibraryClasses.common.UEFI_DRIVER] UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf @@ -129,6 +134,10 @@ # gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0 +!if $(HTTP_BOOT_ENABLE) == TRUE + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE +!endif + [PcdsPatchableInModule.common] # # This will be overridden in the code @@ -329,6 +338,12 @@ MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +!if $(HTTP_BOOT_ENABLE) == TRUE + NetworkPkg/DnsDxe/DnsDxe.inf + NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + NetworkPkg/HttpDxe/HttpDxe.inf + NetworkPkg/HttpBootDxe/HttpBootDxe.inf +!endif # # SCSI Bus and Disk Driver -- 2.39.2