summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeif Lindholm <leif.lindholm@linaro.org>2019-03-20 17:51:08 +0000
committerLeif Lindholm <leif.lindholm@linaro.org>2019-03-21 19:30:03 +0000
commitff413ad57f25c6d6bd2e86132fd023ff2b38e59d (patch)
treea95e1cb4d9fcd3de562d568ee6bc7697587b3552
parent0732156e12495fe20a5ead7c6d60253d468a1d7a (diff)
2019.03 w-i-prpf-19.03-rc1
-rwxr-xr-xbuild.sh8
-rw-r--r--patches/edk2-non-osi/0001-Hisilicon-D06-Add-Setup-Item-Support-DPC.patch854
-rw-r--r--patches/edk2-platforms/0001-Hisilicon-D06-Fix-access-variable-fail-issue.patch45
-rw-r--r--patches/edk2-platforms/0002-Hisilicon-D06-Add-Setup-Item-Support-DPC-and-delete-.patch294
-rw-r--r--patches/edk2/0001-MdeModulePkg-add-LockBoxNullLib-for-IA32-X64-in-.dsc.patch35
-rw-r--r--patches/edk2/0002-MdeModulePkg-UefiBootManangerLib-Fix-exception-issue.patch45
6 files changed, 1277 insertions, 4 deletions
diff --git a/build.sh b/build.sh
index f6bb29c..5bc7442 100755
--- a/build.sh
+++ b/build.sh
@@ -10,10 +10,10 @@ EDK2_NON_OSI_REPO=https://github.com/tianocore/edk2-non-osi.git
UEFI_TOOLS_REPO=https://git.linaro.org/uefi/uefi-tools.git
ARM_TF_HASH=9fd2f13bd608832260300640970f73c62357c684
-EDK2_HASH=edk2-stable201811
-EDK2_PLATFORMS_HASH=cc2b26de91e09be9f9789d553e7b3e079c822efb
-EDK2_NON_OSI_HASH=047bb77dd93840fc2ad78bce2f580a0887a4b825
-UEFI_TOOLS_HASH=500a19703bfed2d6f37e212991577a35e3a30a4e
+EDK2_HASH=edk2-stable201903
+EDK2_PLATFORMS_HASH=89f6901df0e29da6619608dc417c052bb3e8f82a
+EDK2_NON_OSI_HASH=99907896565e9b9d6fa508e54b2840db3f0280fc
+UEFI_TOOLS_HASH=27207a83aefc88526466fb2dcba50470cb92974d
config_git()
{
diff --git a/patches/edk2-non-osi/0001-Hisilicon-D06-Add-Setup-Item-Support-DPC.patch b/patches/edk2-non-osi/0001-Hisilicon-D06-Add-Setup-Item-Support-DPC.patch
new file mode 100644
index 0000000..7a3483b
--- /dev/null
+++ b/patches/edk2-non-osi/0001-Hisilicon-D06-Add-Setup-Item-Support-DPC.patch
@@ -0,0 +1,854 @@
+From 57b6cb137748af47ac6b520690e4e883082aad68 Mon Sep 17 00:00:00 2001
+From: Ming Huang <ming.huang@linaro.org>
+Date: Fri, 1 Feb 2019 16:54:06 +0800
+Subject: [PATCH] Hisilicon/D06: Add Setup Item "Support DPC"
+
+Add setup item "Support DPC" to enable or disable PCIe DPC
+(Downstream Port Containment).
+
+Contributed-under: TianoCore Contribution Agreement 1.1
+Signed-off-by: Ming Huang <ming.huang@linaro.org>
+Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+---
+ .../Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.efi | Bin 232832 -> 226784 bytes
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+
+diff --git a/Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.efi b/Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.efi
+index e32c056eadc55e8c527de3bd65c65a7a8f294b36..4511f6bf3920a6b0651c1abe901f0b6f64de4347 100644
+GIT binary patch
+delta 35021
+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
+b`k|jJy{SXPkGb6Axa=ZmSQL++U%veY(^^ot
+
+delta 38714
+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
+z8w9%0A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
+
+--
+2.11.0
+
diff --git a/patches/edk2-platforms/0001-Hisilicon-D06-Fix-access-variable-fail-issue.patch b/patches/edk2-platforms/0001-Hisilicon-D06-Fix-access-variable-fail-issue.patch
new file mode 100644
index 0000000..4d436b3
--- /dev/null
+++ b/patches/edk2-platforms/0001-Hisilicon-D06-Fix-access-variable-fail-issue.patch
@@ -0,0 +1,45 @@
+From 4a24fb8fffb707730eaa5942495713ce54c90d78 Mon Sep 17 00:00:00 2001
+From: Jason Zhang <zhangjinsong2@huawei.com>
+Date: Wed, 31 Oct 2018 15:36:10 +0800
+Subject: [PATCH edk2-platforms 1/2] Hisilicon/D06: Fix access variable fail
+ issue
+
+BmcWdtEnable is a field of OemConfigData structure, need have
+runtime service attribution if use it during exit boot service
+
+Contributed-under: TianoCore Contribution Agreement 1.1
+Signed-off-by: Ming Huang <ming.huang@linaro.org>
+---
+ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr | 2 +-
+ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr
+index 470e9ace3d..08236704fb 100644
+--- a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr
++++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr
+@@ -23,7 +23,7 @@ formset
+ help = STRING_TOKEN(STR_OEM_CONFIG),
+ classguid = gEfiIfrFrontPageGuid, // for MdeModule Bds.
+ efivarstore OEM_CONFIG_DATA,
+- attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,
++ attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_RUNTIME_ACCESS,
+ name = OemConfig,
+ guid = gOemConfigGuid;
+
+diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c
+index 012d45bc02..6668103af0 100644
+--- a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c
++++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c
+@@ -316,7 +316,7 @@ OemConfigUiLibConstructor (
+ Status = gRT->SetVariable (
+ OEM_CONFIG_NAME,
+ &gOemConfigGuid,
+- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
++ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
+ sizeof (OEM_CONFIG_DATA),
+ &Configuration
+ );
+--
+2.11.0
+
diff --git a/patches/edk2-platforms/0002-Hisilicon-D06-Add-Setup-Item-Support-DPC-and-delete-.patch b/patches/edk2-platforms/0002-Hisilicon-D06-Add-Setup-Item-Support-DPC-and-delete-.patch
new file mode 100644
index 0000000..a1dc44c
--- /dev/null
+++ b/patches/edk2-platforms/0002-Hisilicon-D06-Add-Setup-Item-Support-DPC-and-delete-.patch
@@ -0,0 +1,294 @@
+From c99558315c0223fc5686bc2f82d5ff8f9858cdcd Mon Sep 17 00:00:00 2001
+From: Ming Huang <ming.huang@linaro.org>
+Date: Wed, 30 Jan 2019 11:50:09 +0800
+Subject: [PATCH edk2-platforms 2/2] Hisilicon/D06: Add Setup Item "Support
+ DPC" and delete some PCIe menus
+
+Add setup item "Support DPC" to enable or disable PCIe DPC
+(Downstream Port Containment).
+
+The pcie menu is suppressed for original code as these menus
+are not ready. This patch remove the suppression for pcie menu,
+so delete these menus for now.
+
+Contributed-under: TianoCore Contribution Agreement 1.1
+Signed-off-by: Ming Huang <ming.huang@linaro.org>
+---
+ Silicon/Hisilicon/Include/Library/OemConfigData.h | 1 +
+ .../Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr | 2 -
+ .../Hi1620/Hi1620OemConfigUiLib/OemConfig.c | 4 +
+ .../Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr | 197 +--------------------
+ .../Hi1620OemConfigUiLib/PcieConfigStrings.uni | 3 +-
+ 5 files changed, 10 insertions(+), 197 deletions(-)
+
+diff --git a/Silicon/Hisilicon/Include/Library/OemConfigData.h b/Silicon/Hisilicon/Include/Library/OemConfigData.h
+index f120e3123c..c0097d0829 100644
+--- a/Silicon/Hisilicon/Include/Library/OemConfigData.h
++++ b/Silicon/Hisilicon/Include/Library/OemConfigData.h
+@@ -49,6 +49,7 @@ typedef struct {
+ UINT8 OSWdtAction;
+ /*PCIe Config*/
+ UINT8 PcieSRIOVSupport;
++ UINT8 PcieDPCSupport;
+ UINT8 PciePort[PCIE_MAX_TOTAL_PORTS];
+ UINT8 PcieLinkSpeedPort[PCIE_MAX_TOTAL_PORTS];
+ UINT8 PcieLinkDeEmphasisPort[PCIE_MAX_TOTAL_PORTS];
+diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr
+index 08236704fb..93ccb99bdc 100644
+--- a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr
++++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.vfr
+@@ -62,11 +62,9 @@ formset
+ prompt = STRING_TOKEN(STR_IBMC_CONFIG_FORM_TITLE),
+ help = STRING_TOKEN(STR_IBMC_CONFIG_FORM_HELP);
+
+- suppressif TRUE;
+ goto PCIE_CONFIG_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCIE_CONFIG_FORM_TITLE),
+ help = STRING_TOKEN(STR_PCIE_CONFIG_FORM_HELP);
+- endif;
+
+ goto MISC_CONFIG_FORM_ID,
+ prompt = STRING_TOKEN(STR_MISC_CONFIG_FORM_TITLE),
+diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c
+index 6668103af0..be4ce8820f 100644
+--- a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c
++++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c
+@@ -290,6 +290,10 @@ OemConfigUiLibConstructor (
+ Configuration.OSWdtTimeout = 5;
+ Configuration.OSWdtAction = 1;
+ //
++ //Set the default value of the PCIe option
++ //
++ Configuration.PcieDPCSupport = 0;
++ //
+ //Set the default value of the Misc option
+ //
+ Configuration.EnableSmmu = 1;
+diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr
+index 7cf7cdd29b..c65907fe84 100644
+--- a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr
++++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr
+@@ -17,203 +17,12 @@
+ form formid = PCIE_CONFIG_FORM_ID,
+ title = STRING_TOKEN (STR_PCIE_CONFIG_FORM_TITLE);
+
+- goto VFR_FORMID_PCIE_SOCKET0,
+- prompt = STRING_TOKEN (STR_PCIE_CPU_0_PROMPT),
+- help = STRING_TOKEN (STR_PCIE_CPU_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_SOCKET1,
+- prompt = STRING_TOKEN (STR_PCIE_CPU_1_PROMPT),
+- help = STRING_TOKEN (STR_PCIE_CPU_PROMPT_HELP);
+-
+- oneof varid = OEM_CONFIG_DATA.PcieSRIOVSupport,
+- prompt = STRING_TOKEN (STR_SRIOV_SUPPORT_PROMPT),
+- help = STRING_TOKEN (STR_SRIOV_SUPPORT_HELP),
++ oneof varid = OEM_CONFIG_DATA.PcieDPCSupport,
++ prompt = STRING_TOKEN (STR_DPC_SUPPORT_PROMPT),
++ help = STRING_TOKEN (STR_DPC_SUPPORT_HELP),
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ endform;
+
+-form formid = VFR_FORMID_PCIE_SOCKET0,
+- title = STRING_TOKEN(STR_PCIE_CPU_0_PROMPT);
+-
+- goto VFR_FORMID_PCIE_PORT2,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_2_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_PORT4,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_4_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_PORT5,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_5_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_PORT6,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_6_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_PORT7,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_7_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_SOCKET1,
+- title = STRING_TOKEN(STR_PCIE_CPU_1_PROMPT);
+- goto VFR_FORMID_PCIE_PORT10,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_10_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_PORT12,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_12_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-
+- goto VFR_FORMID_PCIE_PORT13,
+- prompt = STRING_TOKEN(STR_PCIE_PORT_13_PROMPT),
+- help = STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP);
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT0,
+- title = STRING_TOKEN(STR_PCIE_PORT_0_PROMPT);
+- #undef INDEX
+- #define INDEX 0
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT1,
+- title = STRING_TOKEN(STR_PCIE_PORT_1_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 1
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT2,
+- title = STRING_TOKEN(STR_PCIE_PORT_2_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 2
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT3,
+- title = STRING_TOKEN(STR_PCIE_PORT_3_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 3
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT4,
+- title = STRING_TOKEN(STR_PCIE_PORT_4_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 4
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT5,
+- title = STRING_TOKEN(STR_PCIE_PORT_5_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 5
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT6,
+- title = STRING_TOKEN(STR_PCIE_PORT_6_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 6
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT7,
+- title = STRING_TOKEN(STR_PCIE_PORT_7_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 7
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT8,
+- title = STRING_TOKEN(STR_PCIE_PORT_8_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 8
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT9,
+- title = STRING_TOKEN(STR_PCIE_PORT_9_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 9
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT10,
+- title = STRING_TOKEN(STR_PCIE_PORT_10_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 10
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT11,
+- title = STRING_TOKEN(STR_PCIE_PORT_11_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 11
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT12,
+- title = STRING_TOKEN(STR_PCIE_PORT_12_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 12
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT13,
+- title = STRING_TOKEN(STR_PCIE_PORT_13_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 13
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT14,
+- title = STRING_TOKEN(STR_PCIE_PORT_14_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 14
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+-form formid = VFR_FORMID_PCIE_PORT15,
+- title = STRING_TOKEN(STR_PCIE_PORT_15_PROMPT);
+-
+- #undef INDEX
+- #define INDEX 15
+- #include "PciePortConfig.hfr"
+-
+-endform;
+-
+diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni
+index d87d30f975..0127ea952d 100644
+--- a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni
++++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni
+@@ -26,7 +26,8 @@
+ #string STR_PCIE_CPU_1_PROMPT #language en-US "CPU 1 PCIE Configuration"
+ #string STR_SRIOV_SUPPORT_PROMPT #language en-US "SRIOV"
+ #string STR_SRIOV_SUPPORT_HELP #language en-US "This option enables / disables the SRIOV function"
+-
++#string STR_DPC_SUPPORT_PROMPT #language en-US "Support DPC"
++#string STR_DPC_SUPPORT_HELP #language en-US "This option enables / disables the DPC function"
+ #string STR_PCIE_PORT_PROMPT_HELP #language en-US "Press <Enter> to config this port."
+ #string STR_PCIE_PORT_0_NULL_PROMPT #language en-US ""
+ #string STR_PCIE_PORT_0_PROMPT #language en-US "CPU 0 Pcie - Port 0"
+--
+2.11.0
+
diff --git a/patches/edk2/0001-MdeModulePkg-add-LockBoxNullLib-for-IA32-X64-in-.dsc.patch b/patches/edk2/0001-MdeModulePkg-add-LockBoxNullLib-for-IA32-X64-in-.dsc.patch
new file mode 100644
index 0000000..3eb926b
--- /dev/null
+++ b/patches/edk2/0001-MdeModulePkg-add-LockBoxNullLib-for-IA32-X64-in-.dsc.patch
@@ -0,0 +1,35 @@
+From 16ac0837939d44f0d233c58de4279ba9ddafaf9f Mon Sep 17 00:00:00 2001
+From: Leif Lindholm <leif.lindholm@linaro.org>
+Date: Mon, 18 Mar 2019 14:06:55 +0000
+Subject: [PATCH] MdeModulePkg: add LockBoxNullLib for !IA32/X64 in .dsc
+
+Commit 05fd2a926833
+("MdeModulePkg/NvmExpressPei: Consume S3StorageDeviceInitList LockBox")
+added a dependency on LockBoxLib to NvmExpressPei, causing builds using
+MdeModulePkg.dsc to fail on architectures other than IA32/X64 with
+missing reference to
+gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode.
+
+Add a resolution for LockBoxNullLib for ARM/AARCH64 to restore builds.
+
+Contributed-under: TianoCore Contribution Agreement 1.1
+Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
+---
+ MdeModulePkg/MdeModulePkg.dsc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
+index 6cd1727a0d..6e27e9cb68 100644
+--- a/MdeModulePkg/MdeModulePkg.dsc
++++ b/MdeModulePkg/MdeModulePkg.dsc
+@@ -178,6 +178,7 @@ [LibraryClasses.common.MM_STANDALONE]
+ [LibraryClasses.ARM, LibraryClasses.AARCH64]
+ ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
+ ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
++ LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
+
+ #
+ # It is not possible to prevent ARM compiler calls to generic intrinsic functions.
+--
+2.11.0
+
diff --git a/patches/edk2/0002-MdeModulePkg-UefiBootManangerLib-Fix-exception-issue.patch b/patches/edk2/0002-MdeModulePkg-UefiBootManangerLib-Fix-exception-issue.patch
new file mode 100644
index 0000000..281179c
--- /dev/null
+++ b/patches/edk2/0002-MdeModulePkg-UefiBootManangerLib-Fix-exception-issue.patch
@@ -0,0 +1,45 @@
+From 5954f793dc48f99356c95cd247c13c5da9e48f14 Mon Sep 17 00:00:00 2001
+From: Ming Huang <ming.huang@linaro.org>
+Date: Tue, 19 Mar 2019 20:59:13 +0800
+Subject: [PATCH 2/2] MdeModulePkg/UefiBootManangerLib: Fix exception issue
+
+The system environment: virtual-CDROM(USB interface) via BMC, insert a
+iso file to CDROM, like ubuntu-18.04.1-server-arm64.iso, change CDROM
+to first boot option.
+With release version bios, disconnecting CDROM when boot to
+"1 seconds left, Press Esc or F2 to enter Setup"
+then system will get a exception.
+
+The root cause is the EFI_BLOCK_IO_PROTOCOL for UsbMass will be uninstalled
+in this situation after print some transfer error. The status will be
+invalid parameter. This line will get a exception for BlockIo not point
+to right address:
+AllocatePool (BlockIo->Media->BlockSize)
+So, here need to judge the status after ASSERT_EFI_ERROR.
+
+The Bugzilla tracker for this:
+https://bugzilla.tianocore.org/show_bug.cgi?id=1631
+
+Contributed-under: TianoCore Contribution Agreement 1.1
+Signed-off-by: Ming Huang <ming.huang@linaro.org>
+---
+ MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
+index 4ce83ce22d..0535cd7335 100644
+--- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
++++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
+@@ -1069,6 +1069,9 @@ BmExpandMediaDevicePath (
+ //
+ Status = gBS->HandleProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID **) &BlockIo);
+ ASSERT_EFI_ERROR (Status);
++ if (EFI_ERROR (Status)) {
++ return NULL;
++ }
+ Buffer = AllocatePool (BlockIo->Media->BlockSize);
+ if (Buffer != NULL) {
+ BlockIo->ReadBlocks (
+--
+2.11.0
+