summaryrefslogtreecommitdiff
path: root/HisiPkg
diff options
context:
space:
mode:
authorLeif Lindholm <leif.lindholm@linaro.org>2015-01-26 14:02:04 +0000
committerLeif Lindholm <leif.lindholm@linaro.org>2015-01-26 14:02:04 +0000
commitb81715b7758c45885234cc5e098fed1bb6601f05 (patch)
treecce463116b002c028b579d9627788a01b628400b /HisiPkg
parentfd3f8b3629822eb3e9ee216cad70f9d87353c4e6 (diff)
parente60fbd59cabe28d2205cbdb335e5be29d8b978e8 (diff)
Merged 2015.01 release into masterlinaro-edk2-2015.01
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Diffstat (limited to 'HisiPkg')
-rw-r--r--HisiPkg/D01BoardPkg/Bds/Bds.c219
-rw-r--r--HisiPkg/D01BoardPkg/Bds/BdsInternal.h6
-rw-r--r--HisiPkg/D01BoardPkg/Bds/BootMenu.c37
-rw-r--r--HisiPkg/D01BoardPkg/D01BoardPkg.dsc31
-rw-r--r--HisiPkg/D01BoardPkg/D01BoardPkg.dsc.inc3
-rw-r--r--HisiPkg/D01BoardPkg/D01BoardPkg.fdf8
-rw-r--r--HisiPkg/D01BoardPkg/Library/D01SecLibRTSM/RTSMArmD01SecLib.libbin266912 -> 263988 bytes
7 files changed, 206 insertions, 98 deletions
diff --git a/HisiPkg/D01BoardPkg/Bds/Bds.c b/HisiPkg/D01BoardPkg/Bds/Bds.c
index 0c367fad54..deffd91a27 100644
--- a/HisiPkg/D01BoardPkg/Bds/Bds.c
+++ b/HisiPkg/D01BoardPkg/Bds/Bds.c
@@ -37,6 +37,7 @@ typedef unsigned char U8;
#define RAM_TEST_NOWORK_TAG (0x0A0A0A0A)
EFI_HANDLE mImageHandle;
+static int skip_enter_bootwrapper;
//************************************************
#define SEEK_SET 0
@@ -72,12 +73,6 @@ BootGo (
);
//************************************************
-//address of Linux in DDR
-#define TEXT_DDR_BASE 0x10c00000
-#define MONITOR_DDR_BASE 0x10c08000
-#define KERNEL_DDR_BASE 0x10008000
-#define FILESYSTEM_DDR_BASE 0x10d00000
-
//estimate size of Linux kernel,the size for copying file to DDR isn't bigger than this
#define TEXT_SIZE 0x400000
#define MONITOR_SIZE 0x400000
@@ -85,8 +80,8 @@ BootGo (
#define FILESYSTEM_SIZE 0x1800000
//actual size of copying file to DDR, it should not bigger than estimate size
-#define TEXT_COPY_SIZE 0x20000
-#define MONITOR_COPY_SIZE 0x20000
+#define TEXT_COPY_SIZE 0x8000
+#define MONITOR_COPY_SIZE 0x8000
#define KERNEL_COPY_SIZE 0xa00000
#define FILESYSTEM_COPY_SIZE 0x1800000
@@ -552,12 +547,61 @@ EFI_STATUS CopyNandToMem(void* Dest, UINT32 StartBlockNum, UINT32 LengthCopy)
}
gBS->FreePool(pucData);
return EFI_SUCCESS;
-}
-#define NANDFLASHREAD 1
-
-/**
- This function uses policy data from the platform to determine what operating
- system or system utility should be loaded and invoked. This function call
+}
+#define NANDFLASHREAD 1
+
+static void ReadBootwrapper(void)
+{
+ void *buf;
+ NAND_CMD_INFO_STRU ulNandCMDInfo = { 0 };
+ #ifdef NANDFLASHREAD
+ EFI_NAND_DRIVER_PROTOCOL *nandDriver = NULL;
+
+ gBS->LocateProtocol (&gNANDDriverProtocolGuid, NULL, (VOID *) &nandDriver);
+ ulNandCMDInfo = nandDriver->NandFlashGetCMDInfo(nandDriver);
+ #endif
+ buf = AllocatePool(ulNandCMDInfo.ulBlockSize);
+
+ (VOID)AsciiPrint("\nCopy Bootwrapper from FLASH to SRAM...");
+
+ #ifdef NANDFLASHREAD
+ CopyNandToMem(buf, TEXT_BLOCKNUM_NANDFLASH, ulNandCMDInfo.ulBlockSize);
+ memcpy((void *)TEXT_SRAM_BASE, buf, TEXT_COPY_SIZE);
+ (VOID)AsciiPrint("\nThe .text file is transmitted ok!\n");
+ #else
+ /* copy.text */
+ memcpy((void *)TEXT_SRAM_BASE, (void *)TEXT_FLASH_BASE, TEXT_COPY_SIZE);
+ (VOID)AsciiPrint("\nThe .text file is transmitted ok!\n");
+ #endif
+
+ #ifdef NANDFLASHREAD
+ /* copy .monitor */
+ CopyNandToMem(buf, MONITOR_BLOCKNUM_NANDFLASH, ulNandCMDInfo.ulBlockSize);
+ memcpy((void *)MONITOR_SRAM_BASE, buf, MONITOR_COPY_SIZE);
+ (VOID)AsciiPrint("The .monitor file is transmitted ok!\n");
+ #else
+ /* copy .monitor */
+ memcpy((void *)MONITOR_SRAM_BASE, (void *)MONITOR_FLASH_BASE, MONITOR_COPY_SIZE);
+ (VOID)AsciiPrint("The .monitor file is transmitted ok!\n");
+ #endif
+
+ gBS->FreePool(buf);
+}
+
+static void ReadNandFileSystem(void)
+{
+ #ifdef NANDFLASHREAD
+ CopyNandToMem((VOID *)FILESYSTEM_DDR_BASE, FILESYSTEM_BLOCKNUM_NANDFLASH, FILESYSTEM_COPY_SIZE);
+ (VOID)AsciiPrint("THE .FILESYSTEM FILE IS TRANSMITTED OK!\n");
+ #else
+ memcpy((VOID *)FILESYSTEM_DDR_BASE, (VOID *)FILESYSTEM_FLASH_BASE, FILESYSTEM_COPY_SIZE);
+ (VOID)AsciiPrint("THE .FILESYSTEM FILE IS TRANSMITTED OK!\n");
+ #endif
+}
+
+/**
+ This function uses policy data from the platform to determine what operating
+ system or system utility should be loaded and invoked. This function call
also optionally make the use of user input to determine the operating system
or system utility to be loaded and invoked. When the DXE Core has dispatched
all the drivers on the dispatch queue, this function is called. This
@@ -681,55 +725,17 @@ BdsEntry (
{
DEBUG((EFI_D_ERROR, "LocateProtocol:gNANDDriverProtocolGuid fail!\n"));
}
-
- //Status = BootMenuMain ();
- //ASSERT_EFI_ERROR (Status);
-
- #if 1
- /*2.copy image from FLASH to DDR,and start*/
- (VOID)AsciiPrint("\nTransmit OS from FLASH to DDR now, please wait!");
-
- #ifdef NANDFLASHREAD
- CopyNandToMem((void *)TEXT_DDR_BASE, TEXT_BLOCKNUM_NANDFLASH, TEXT_COPY_SIZE);
- (VOID)AsciiPrint("\nThe .text file is transmitted ok!\n");
- #else
- /* copy.text */
- memcpy((void *)TEXT_DDR_BASE, (void *)TEXT_FLASH_BASE, TEXT_COPY_SIZE);
- (VOID)AsciiPrint("\nThe .text file is transmitted ok!\n");
- #endif
-// /* compare text in FLASH and the same file in DDR*/
-// if (CompareMem((void *)TEXT_DDR_BASE, (void *)TEXT_FLASH_BASE, TEXT_COPY_SIZE) != 0)
-// {
-// (VOID)AsciiPrint("The .text file check fail!\n");
-// //return;
-// }
-// else
-// {
-// (VOID)AsciiPrint("The .text file check sucess!\n");
-// }
-
- #ifdef NANDFLASHREAD
- /* copy .monitor */
- CopyNandToMem((void *)MONITOR_DDR_BASE, MONITOR_BLOCKNUM_NANDFLASH, MONITOR_COPY_SIZE);
- (VOID)AsciiPrint("The .monitor file is transmitted ok!\n");
- #else
- /* copy .monitor */
- memcpy((void *)MONITOR_DDR_BASE, (void *)MONITOR_FLASH_BASE, MONITOR_COPY_SIZE);
- (VOID)AsciiPrint("The .monitor file is transmitted ok!\n");
- #endif
-// /* compare uimage in FLASH and the same file in DDR*/
-// if (CompareMem((void *)MONITOR_DDR_BASE, (void *)MONITOR_FLASH_BASE, MONITOR_COPY_SIZE) != 0)
-// {
-// (VOID)AsciiPrint("The .monitor file check fail!\n");
-// //return;
-// }
-// else
-// {
-// (VOID)AsciiPrint("The .monitor file check sucess!\n");
-// }
-
- #ifdef NANDFLASHREAD
- /* copy.kernel */
+
+ //Status = BootMenuMain ();
+ //ASSERT_EFI_ERROR (Status);
+
+ #if 1
+
+ /*2.copy image from FLASH to DDR,and start*/
+ (VOID)AsciiPrint("\nTransmit OS from FLASH to DDR now, please wait!");
+
+ #ifdef NANDFLASHREAD
+ /* copy.kernel */
CopyNandToMem((void *)KERNEL_DDR_BASE, KERNEL_BLOCKNUM_NANDFLASH, KERNEL_COPY_SIZE);
(VOID)AsciiPrint("\nThe .kernel file is transmitted ok!\n");
#else
@@ -748,14 +754,6 @@ BdsEntry (
// (VOID)AsciiPrint("The .kernel file check sucess!\n\n");
// }
- #ifdef NANDFLASHREAD
- CopyNandToMem((void *)FILESYSTEM_DDR_BASE, FILESYSTEM_BLOCKNUM_NANDFLASH, FILESYSTEM_COPY_SIZE);
- (VOID)AsciiPrint("The .filesystem file is transmitted ok!\n");
- #else
- memcpy((void *)FILESYSTEM_DDR_BASE, (void *)FILESYSTEM_FLASH_BASE, FILESYSTEM_COPY_SIZE);
- (VOID)AsciiPrint("The .filesystem file is transmitted ok!\n");
- #endif
-
// /* compare initrd in FLASH and the same file in DDR*/
// if (CompareMem((void *)FILESYSTEM_DDR_BASE, (void *)FILESYSTEM_FLASH_BASE, FILESYSTEM_COPY_SIZE) != 0)
// {
@@ -768,6 +766,7 @@ BdsEntry (
// }
/*---------------OS-----------------*/
+ skip_enter_bootwrapper = 1;
BootOptionList (&BootOptionsList);
BootGo (&BootOptionsList);
#endif
@@ -780,12 +779,64 @@ BdsEntry (
// Start the Boot Menu
Status = BootMenuMain ();
ASSERT_EFI_ERROR (Status);
-
-}
-
-EFI_BDS_ARCH_PROTOCOL gBdsProtocol = {
- BdsEntry,
-};
+
+}
+
+long bootwrapper_saved_stack;
+static void EnterBootwrapper(void)
+{
+#if !defined(__thumb__)
+#error Please compile in thumb mode
+#endif
+
+ /*
+ * This chunk of assembly enters the bootwrapper code, then
+ * immediately returns here and recovers all clobbered registers
+ */
+ asm volatile("ldr r0, =return_from_bootwrapper \n\
+ orr r0, r0, #1 \n\
+ ldr r4, =bootwrapper_saved_stack \n\
+ str sp, [r4] \n\
+ b RunBootwrapper \n\
+ return_from_bootwrapper: \n\
+ ldr r4, =bootwrapper_saved_stack \n\
+ ldr sp, [r4]"
+ : :
+ : "cc", "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8",
+ "r9", "r10", "r11", "r12", "r14");
+}
+
+/**
+ EFI Exit Event
+
+ Exiting EFI Boot Services can only mean we're bootstrapping into a real OS.
+ So let's copy the bootwrapper code into place to make sure the OS can use it.
+
+ @param[in] Event The Event that is being processed
+ @param[in] Context Event Context
+**/
+
+static EFI_EVENT EfiExitBootServicesEvent;
+
+VOID
+EFIAPI
+ExitBootServicesEvent (
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ )
+{
+ ReadBootwrapper();
+ ReadNandFileSystem();
+
+ if (skip_enter_bootwrapper)
+ return;
+
+ EnterBootwrapper();
+}
+
+EFI_BDS_ARCH_PROTOCOL gBdsProtocol = {
+ BdsEntry,
+};
EFI_STATUS
EFIAPI
@@ -802,8 +853,12 @@ BdsInitialize (
&ImageHandle,
&gEfiBdsArchProtocolGuid, &gBdsProtocol,
NULL
- );
- ASSERT_EFI_ERROR (Status);
-
- return Status;
-}
+ );
+ ASSERT_EFI_ERROR (Status);
+
+ // Register for an ExitBootServicesEvent
+ Status = gBS->CreateEvent (EVT_SIGNAL_EXIT_BOOT_SERVICES, TPL_NOTIFY, ExitBootServicesEvent, NULL, &EfiExitBootServicesEvent);
+ ASSERT_EFI_ERROR (Status);
+
+ return Status;
+}
diff --git a/HisiPkg/D01BoardPkg/Bds/BdsInternal.h b/HisiPkg/D01BoardPkg/Bds/BdsInternal.h
index 447b8c9cd1..0b0d11ef43 100644
--- a/HisiPkg/D01BoardPkg/Bds/BdsInternal.h
+++ b/HisiPkg/D01BoardPkg/Bds/BdsInternal.h
@@ -37,6 +37,12 @@
#define BOOT_DEVICE_OPTION_MAX 300
#define BOOT_DEVICE_ADDRESS_MAX (sizeof(L"0x0000000000000000"))
+//address of Linux in DDR
+#define TEXT_SRAM_BASE 0xe00f0000
+#define MONITOR_SRAM_BASE 0xe00f8000
+#define KERNEL_DDR_BASE 0x10008000
+#define FILESYSTEM_DDR_BASE 0x10d00000
+
#define ARM_BDS_OPTIONAL_DATA_SIGNATURE SIGNATURE_32('a', 'b', 'o', 'd')
#define IS_ARM_BDS_BOOTENTRY(ptr) \
diff --git a/HisiPkg/D01BoardPkg/Bds/BootMenu.c b/HisiPkg/D01BoardPkg/Bds/BootMenu.c
index c9cc4b08d7..3cbafb5bfc 100644
--- a/HisiPkg/D01BoardPkg/Bds/BootMenu.c
+++ b/HisiPkg/D01BoardPkg/Bds/BootMenu.c
@@ -772,34 +772,28 @@ BootLinuxAtagLoader (
EFI_STATUS LoadLinuxAtSecEnd()
{
- LinuxEntry entry = (LinuxEntry)(0x10c00000);
+ LinuxEntry entry = (LinuxEntry)(TEXT_SRAM_BASE);
EFI_STATUS Status = EFI_SUCCESS;
ArmDisableDataCache();
ArmCleanInvalidateDataCache();
ArmDisableInstructionCache ();
ArmInvalidateInstructionCache ();
ArmDisableMmu();
- DEBUG(( EFI_D_ERROR, "MOVE PC 0x10c00000\n"));
+ DEBUG(( EFI_D_ERROR, "MOVE PC TEXT_SRAM_BASE\n"));
(void)entry();
return Status;
}
-EFI_STATUS
-BootGo (
- IN LIST_ENTRY *BootOptionsList
- )
+EFI_STATUS RunBootwrapper(unsigned long kernel_entry)
{
EFI_STATUS Status;
- Status = ShutdownUefiBootServices ();
- if(EFI_ERROR(Status)) {
- DEBUG((EFI_D_ERROR,"ERROR: Can not shutdown UEFI boot services. Status=0x%X\n", Status));
- }
-
*(UINTN*)(UINTN)(0xe302b000 + 0x18) = 0;
*(UINTN*)(UINTN)(0xe302b000 + 0x1c) = 0;
-
- *(volatile UINT32 *)(0xe0000000 + 0x100) = 0x10c00000;
+
+ *(volatile UINT32 *)(0xe0000000 + 0x100) = TEXT_SRAM_BASE;
+ *(volatile UINT32 *)(TEXT_SRAM_BASE + 0x800) = kernel_entry;
+
ArmCleanDataCache();
*(UINT8*)(0xf4007000) = 'G';
Status = LoadLinuxAtSecEnd();
@@ -811,6 +805,23 @@ BootGo (
return Status;
}
+EFI_STATUS
+BootGo (
+ IN LIST_ENTRY *BootOptionsList
+ )
+{
+ EFI_STATUS Status;
+
+ Status = ShutdownUefiBootServices ();
+ if(EFI_ERROR(Status)) {
+ DEBUG((EFI_D_ERROR,"ERROR: Can not shutdown UEFI boot services. Status=0x%X\n", Status));
+ }
+
+ Status = RunBootwrapper(KERNEL_DDR_BASE);
+
+ return Status;
+}
+
struct BOOT_MAIN_ENTRY {
CONST CHAR16* Description;
EFI_STATUS (*Callback) (IN LIST_ENTRY *BootOptionsList);
diff --git a/HisiPkg/D01BoardPkg/D01BoardPkg.dsc b/HisiPkg/D01BoardPkg/D01BoardPkg.dsc
index fcf09d0a64..aaa5ebb05b 100644
--- a/HisiPkg/D01BoardPkg/D01BoardPkg.dsc
+++ b/HisiPkg/D01BoardPkg/D01BoardPkg.dsc
@@ -22,7 +22,11 @@
PLATFORM_GUID = 3a91a0f8-3af4-409d-a71d-a199dc134357
PLATFORM_VERSION = 0.1
DSC_SPECIFICATION = 0x00010005
+!ifdef EDK2_OUT_DIR
+ OUTPUT_DIRECTOY = Build/D01-IntelBds
+!else
OUTPUT_DIRECTORY = Build/D01
+!endif
SUPPORTED_ARCHITECTURES = ARM
BUILD_TARGETS = DEBUG|RELEASE
SKUID_IDENTIFIER = DEFAULT
@@ -48,6 +52,13 @@
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
+!ifdef INTEL_BDS
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
+ GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
+ PlatformBdsLib|ArmPlatformPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
+!endif
+
[LibraryClasses.common.SEC]
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
ArmPlatformSecLib|HisiPkg/D01BoardPkg/Library/D01SecLibRTSM/D01SecLib.inf
@@ -140,6 +151,7 @@
gArmTokenSpaceGuid.PcdGicDistributorBase|0xe0C01000
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xe0C02000
+!ifndef NO_LINUX_LOADER
#
# ARM OS Loader
#
@@ -152,6 +164,7 @@
gArmPlatformTokenSpaceGuid.PcdDefaultBootInitrdPath|L"VenMsg(06ED4DD0-FF78-11D3-BDC4-00A0C94053D1,0000000000000000)/initrd"
gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"mem=256M console=ttyAMA0,115200"
gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1
+!endif
# Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
#gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"
@@ -166,7 +179,7 @@
#
# ARM Architectual Timer Frequency
#
- gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|168750000
+ gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|50000000
gHwTokenSpaceGuid.PcdNorFlashBase|0xf0000000
@@ -176,6 +189,12 @@
gArmTokenSpaceGuid.PcdTimer0InterruptNum|130
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"EVB_SECURE_UEFI_BIOS"
+
+!ifdef INTEL_BDS
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
+!endif
+
################################################################################
#
@@ -324,10 +343,16 @@
# Bds
#
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+!ifdef INTEL_BDS
+ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+ MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+ IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
+!else
HisiPkg/D01BoardPkg/Bds/Bds.inf
-
+!endif
+!ifndef NO_LINUX_LOADER
HisiPkg/Drivers/LinuxAtagList/LinuxAtagList.inf
-
+!endif
#HisiPkg/Drivers/AtaAtapiPassThru/AtaAtapiPassThru.inf
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
diff --git a/HisiPkg/D01BoardPkg/D01BoardPkg.dsc.inc b/HisiPkg/D01BoardPkg/D01BoardPkg.dsc.inc
index d915c35484..85fea4ff9c 100644
--- a/HisiPkg/D01BoardPkg/D01BoardPkg.dsc.inc
+++ b/HisiPkg/D01BoardPkg/D01BoardPkg.dsc.inc
@@ -107,7 +107,10 @@
ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
# BDS Libraries
+ ArmBdsHelperLib|ArmPkg/Library/ArmBdsHelperLib/ArmBdsHelperLib.inf
+!ifndef INTEL_BDS
BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
+!endif
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
diff --git a/HisiPkg/D01BoardPkg/D01BoardPkg.fdf b/HisiPkg/D01BoardPkg/D01BoardPkg.fdf
index f191849e7f..0dd7fdb77b 100644
--- a/HisiPkg/D01BoardPkg/D01BoardPkg.fdf
+++ b/HisiPkg/D01BoardPkg/D01BoardPkg.fdf
@@ -148,7 +148,9 @@ READ_LOCK_STATUS = TRUE
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
INF HisiPkg/Drivers/WatchDogDriver/WatchDogDriver.inf
+!ifndef NO_LINUX_LOADER
INF HisiPkg/Drivers/LinuxAtagList/LinuxAtagList.inf
+!endif
#
# Semi-hosting filesystem
@@ -209,7 +211,13 @@ READ_LOCK_STATUS = TRUE
# Bds
#
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+!ifdef INTEL_BDS
+ INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+ INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+ INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
+!else
INF HisiPkg/D01BoardPkg/Bds/Bds.inf
+!endif
[FV.FVMAIN_COMPACT]
FvAlignment = 8
diff --git a/HisiPkg/D01BoardPkg/Library/D01SecLibRTSM/RTSMArmD01SecLib.lib b/HisiPkg/D01BoardPkg/Library/D01SecLibRTSM/RTSMArmD01SecLib.lib
index a6b5ba0053..a52a0605cf 100644
--- a/HisiPkg/D01BoardPkg/Library/D01SecLibRTSM/RTSMArmD01SecLib.lib
+++ b/HisiPkg/D01BoardPkg/Library/D01SecLibRTSM/RTSMArmD01SecLib.lib
Binary files differ