On 2015-05-09 21:18:40, Ni, Ruiyu wrote: > From BDS side, there is no feature gap. > From the UI/Firmware Setup side, the standalone UI/Firmware Setup > (provided by MdeModulePkg/Application/BootManagerMenuApp) only lists > all boot options.
Do you mean it lists all boot options in boot variables and doesn't look at the BootOrder variable? -Jordan > So there is feature gap. We need to develop a > feature equivalent UI/Firmware Setup. > Sure I will provide a V2 patch to separate the library and DSC/FDF change, > with subject prefix fixed. > > Thanks, > Ray > -----Original Message----- > From: Justen, Jordan L > Sent: Saturday, May 9, 2015 3:38 AM > To: edk2-devel@lists.sourceforge.net; Ni, Ruiyu > Subject: Re: [edk2] [Patch] Nt32Pkg: Enable new BDS in NT32 platform. > > Are you using 'git format-patch --subject-prefix=Patch'? If you leave > off --subject-prefix, then the default is PATCH. You should only need > subject prefix for special cases, like "RFC" or "PATCH v2". > > Why not just migrate to the new BDS entirely? Or, why not make it the > default? What feature gaps are there from the old BDS? > > How about adding the library in a separate commit from the DSC/FDF > changes? > > -Jordan > > On 2015-05-08 03:15:43, Ruiyu Ni wrote: > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> > > CC: Eric Dong <eric.d...@intel.com> > > --- > > .../PlatformBootManagerLib/PlatformBootManager.c | 220 > > +++++++++++++++++++++ > > .../PlatformBootManagerLib/PlatformBootManager.h | 78 ++++++++ > > .../PlatformBootManagerLib.inf | 52 +++++ > > .../Library/PlatformBootManagerLib/PlatformData.c | 158 +++++++++++++++ > > Nt32Pkg/Nt32Pkg.dsc | 13 +- > > Nt32Pkg/Nt32Pkg.fdf | 8 +- > > 6 files changed, 526 insertions(+), 3 deletions(-) > > create mode 100644 > > Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.c > > create mode 100644 > > Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.h > > create mode 100644 > > Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > create mode 100644 Nt32Pkg/Library/PlatformBootManagerLib/PlatformData.c > > > > diff --git a/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.c > > b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.c > > new file mode 100644 > > index 0000000..60d0126 > > --- /dev/null > > +++ b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.c > > @@ -0,0 +1,220 @@ > > +/** @file > > + This file include all platform action which can be customized > > + by IBV/OEM. > > + > > +Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > > +This program and the accompanying materials > > +are licensed and made available under the terms and conditions of the BSD > > License > > +which accompanies this distribution. The full text of the license may be > > found at > > +http://opensource.org/licenses/bsd-license.php > > + > > +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > > +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > > IMPLIED. > > + > > +**/ > > + > > +#include "PlatformBootManager.h" > > + > > + > > +EFI_GUID mUefiShellFileGuid = { 0x7C04A583, 0x9E3E, 0x4f1c, 0xAD, 0x65, > > 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }; > > + > > +/** > > + Return the index of the load option in the load option array. > > + > > + The function consider two load options are equal when the > > + OptionType, Attributes, Description, FilePath and OptionalData are equal. > > + > > + @param Key Pointer to the load option to be found. > > + @param Array Pointer to the array of load options to be found. > > + @param Count Number of entries in the Array. > > + > > + @retval -1 Key wasn't found in the Array. > > + @retval 0 ~ Count-1 The index of the Key in the Array. > > +**/ > > +INTN > > +PlatformFindLoadOption ( > > + IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Key, > > + IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Array, > > + IN UINTN Count > > + ) > > +{ > > + UINTN Index; > > + > > + for (Index = 0; Index < Count; Index++) { > > + if ((Key->OptionType == Array[Index].OptionType) && > > + (Key->Attributes == Array[Index].Attributes) && > > + (StrCmp (Key->Description, Array[Index].Description) == 0) && > > + (CompareMem (Key->FilePath, Array[Index].FilePath, > > GetDevicePathSize (Key->FilePath)) == 0) && > > + (Key->OptionalDataSize == Array[Index].OptionalDataSize) && > > + (CompareMem (Key->OptionalData, Array[Index].OptionalData, > > Key->OptionalDataSize) == 0)) { > > + return (INTN) Index; > > + } > > + } > > + > > + return -1; > > +} > > + > > +VOID > > +PlatformRegisterFvBootOption ( > > + EFI_GUID *FileGuid, > > + CHAR16 *Description, > > + UINT32 Attributes > > + ) > > +{ > > + EFI_STATUS Status; > > + UINTN OptionIndex; > > + EFI_BOOT_MANAGER_LOAD_OPTION NewOption; > > + EFI_BOOT_MANAGER_LOAD_OPTION *BootOptions; > > + UINTN BootOptionCount; > > + MEDIA_FW_VOL_FILEPATH_DEVICE_PATH FileNode; > > + EFI_LOADED_IMAGE_PROTOCOL *LoadedImage; > > + EFI_DEVICE_PATH_PROTOCOL *DevicePath; > > + > > + Status = gBS->HandleProtocol (gImageHandle, > > &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage); > > + ASSERT_EFI_ERROR (Status); > > + > > + EfiInitializeFwVolDevicepathNode (&FileNode, FileGuid); > > + DevicePath = AppendDevicePathNode ( > > + DevicePathFromHandle (LoadedImage->DeviceHandle), > > + (EFI_DEVICE_PATH_PROTOCOL *) &FileNode > > + ); > > + > > + Status = EfiBootManagerInitializeLoadOption ( > > + &NewOption, > > + LoadOptionNumberUnassigned, > > + LoadOptionTypeBoot, > > + Attributes, > > + Description, > > + DevicePath, > > + NULL, > > + 0 > > + ); > > + if (!EFI_ERROR (Status)) { > > + BootOptions = EfiBootManagerGetLoadOptions (&BootOptionCount, > > LoadOptionTypeBoot); > > + > > + OptionIndex = PlatformFindLoadOption (&NewOption, BootOptions, > > BootOptionCount); > > + > > + if (OptionIndex == -1) { > > + Status = EfiBootManagerAddLoadOptionVariable (&NewOption, (UINTN) > > -1); > > + ASSERT_EFI_ERROR (Status); > > + } > > + EfiBootManagerFreeLoadOption (&NewOption); > > + EfiBootManagerFreeLoadOptions (BootOptions, BootOptionCount); > > + } > > +} > > + > > +/** > > + Do the platform specific action before the console is connected. > > + > > + Such as: > > + Update console variable; > > + Register new Driver#### or Boot####; > > + Signal ReadyToLock event. > > +**/ > > +VOID > > +EFIAPI > > +PlatformBootManagerBeforeConsole ( > > + VOID > > + ) > > +{ > > + UINTN Index; > > + EFI_STATUS Status; > > + WIN_NT_SYSTEM_CONFIGURATION *Configuration; > > + EFI_INPUT_KEY Enter; > > + EFI_INPUT_KEY F2; > > + EFI_BOOT_MANAGER_LOAD_OPTION BootOption; > > + > > + GetVariable2 (L"Setup", &gEfiWinNtSystemConfigGuid, (VOID **) > > &Configuration, NULL); > > + if (Configuration != NULL) { > > + // > > + // SetupVariable is corrupt > > + // > > + Configuration->ConOutRow = PcdGet32 (PcdConOutColumn); > > + Configuration->ConOutColumn = PcdGet32 (PcdConOutRow); > > + > > + Status = gRT->SetVariable ( > > + L"Setup", > > + &gEfiWinNtSystemConfigGuid, > > + EFI_VARIABLE_NON_VOLATILE | > > EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, > > + sizeof (WIN_NT_SYSTEM_CONFIGURATION), > > + Configuration > > + ); > > + if (EFI_ERROR (Status)) { > > + DEBUG ((EFI_D_ERROR, "Failed to save Setup Variable to non-volatile > > storage, Status = %r\n", Status)); > > + } > > + FreePool (Configuration); > > + } > > + > > + // > > + // Update the ocnsole variables. > > + // > > + for (Index = 0; gPlatformConsole[Index].DevicePath != NULL; Index++) { > > + if ((gPlatformConsole[Index].ConnectType & CONSOLE_IN) == CONSOLE_IN) { > > + EfiBootManagerUpdateConsoleVariable (ConIn, > > gPlatformConsole[Index].DevicePath, NULL); > > + } > > + > > + if ((gPlatformConsole[Index].ConnectType & CONSOLE_OUT) == > > CONSOLE_OUT) { > > + EfiBootManagerUpdateConsoleVariable (ConOut, > > gPlatformConsole[Index].DevicePath, NULL); > > + } > > + > > + if ((gPlatformConsole[Index].ConnectType & STD_ERROR) == STD_ERROR) { > > + EfiBootManagerUpdateConsoleVariable (ErrOut, > > gPlatformConsole[Index].DevicePath, NULL); > > + } > > + } > > + > > + // > > + // Register ENTER as CONTINUE key > > + // > > + Enter.ScanCode = SCAN_NULL; > > + Enter.UnicodeChar = CHAR_CARRIAGE_RETURN; > > + EfiBootManagerRegisterContinueKeyOption (0, &Enter, NULL); > > + // > > + // Map F2 to Boot Manager Menu > > + // > > + F2.ScanCode = SCAN_F2; > > + F2.UnicodeChar = CHAR_NULL; > > + EfiBootManagerGetBootManagerMenu (&BootOption); > > + EfiBootManagerAddKeyOptionVariable (NULL, (UINT16) > > BootOption.OptionNumber, 0, &F2, NULL); > > + // > > + // Register UEFI Shell > > + // > > + PlatformRegisterFvBootOption (&mUefiShellFileGuid, L"UEFI Shell", > > LOAD_OPTION_ACTIVE); > > +} > > + > > +/** > > + Do the platform specific action after the console is connected. > > + > > + Such as: > > + Dynamically switch output mode; > > + Signal console ready platform customized event; > > + Run diagnostics like memory testing; > > + Connect certain devices; > > + Dispatch aditional option roms. > > +**/ > > +VOID > > +EFIAPI > > +PlatformBootManagerAfterConsole ( > > + VOID > > + ) > > +{ > > + Print ( > > + L"\n" > > + L"F2 to enter Boot Manager Menu.\n" > > + L"Enter to boot directly.\n" > > + L"\n" > > + ); > > +} > > + > > +/** > > + This function is called each second during the boot manager waits the > > timeout. > > + > > + @param TimeoutRemain The remaining timeout. > > +**/ > > +VOID > > +EFIAPI > > +PlatformBootManagerWaitCallback ( > > + UINT16 TimeoutRemain > > + ) > > +{ > > + Print (L"\r%-2d seconds remained...", TimeoutRemain); > > +} > > diff --git a/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.h > > b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.h > > new file mode 100644 > > index 0000000..6ab7d9f > > --- /dev/null > > +++ b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.h > > @@ -0,0 +1,78 @@ > > +/**@file > > + Head file for BDS Platform specific code > > + > > +Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > > +This program and the accompanying materials > > +are licensed and made available under the terms and conditions of the BSD > > License > > +which accompanies this distribution. The full text of the license may be > > found at > > +http://opensource.org/licenses/bsd-license.php > > > > + > > > > +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > > > > +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > > IMPLIED. > > +**/ > > + > > +#ifndef _PLATFORM_BOOT_MANAGER_H > > +#define _PLATFORM_BOOT_MANAGER_H > > + > > +#include <PiDxe.h> > > + > > +#include <Guid/WinNtSystemConfig.h> > > +#include <Protocol/WinNtThunk.h> > > +#include <Protocol/WinNtIo.h> > > +#include <Protocol/LoadedImage.h> > > + > > +#include <Library/DebugLib.h> > > +#include <Library/BaseMemoryLib.h> > > +#include <Library/UefiBootServicesTableLib.h> > > +#include <Library/UefiRuntimeServicesTableLib.h> > > +#include <Library/MemoryAllocationLib.h> > > +#include <Library/BaseLib.h> > > +#include <Library/UefiRuntimeServicesTableLib.h> > > +#include <Library/UefiLib.h> > > +#include <Library/UefiBootManagerLib.h> > > +#include <Library/PcdLib.h> > > +#include <Library/DevicePathLib.h> > > + > > + > > +typedef struct { > > + EFI_DEVICE_PATH_PROTOCOL *DevicePath; > > + UINTN ConnectType; > > +} PLATFORM_CONSOLE_CONNECT_ENTRY; > > + > > +extern PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[]; > > + > > +#define gEndEntire \ > > + { \ > > + END_DEVICE_PATH_TYPE,\ > > + END_ENTIRE_DEVICE_PATH_SUBTYPE,\ > > + END_DEVICE_PATH_LENGTH,\ > > + 0\ > > + } > > + > > +#define CONSOLE_OUT BIT0 > > +#define CONSOLE_IN BIT1 > > +#define STD_ERROR BIT2 > > + > > +typedef struct { > > + VENDOR_DEVICE_PATH VendorDevicePath; > > + UINT32 Instance; > > +} WIN_NT_VENDOR_DEVICE_PATH_NODE; > > + > > +// > > +// Below is the platform console device path > > +// > > +typedef struct { > > + VENDOR_DEVICE_PATH NtBus; > > + WIN_NT_VENDOR_DEVICE_PATH_NODE SerialDevice; > > + UART_DEVICE_PATH Uart; > > + VENDOR_DEVICE_PATH TerminalType; > > + EFI_DEVICE_PATH_PROTOCOL End; > > +} NT_ISA_SERIAL_DEVICE_PATH; > > + > > +typedef struct { > > + VENDOR_DEVICE_PATH NtBus; > > + WIN_NT_VENDOR_DEVICE_PATH_NODE NtGopDevice; > > + EFI_DEVICE_PATH_PROTOCOL End; > > +} NT_PLATFORM_GOP_DEVICE_PATH; > > + > > +#endif // _PLATFORM_BOOT_MANAGER_H > > diff --git > > a/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > new file mode 100644 > > index 0000000..7754619 > > --- /dev/null > > +++ b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > @@ -0,0 +1,52 @@ > > +## @file > > +# Include all platform action which can be customized by IBV/OEM. > > +# > > +# Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.<BR> > > +# This program and the accompanying materials > > +# are licensed and made available under the terms and conditions of the > > BSD License > > +# which accompanies this distribution. The full text of the license may > > be found at > > +# http://opensource.org/licenses/bsd-license.php > > +# > > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > > +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > > IMPLIED. > > +# > > +## > > + > > +[Defines] > > + INF_VERSION = 0x00010005 > > + BASE_NAME = PlatformBootManagerLib > > + FILE_GUID = 95C097CC-8943-4038-BB8A-1C70CF2E9F3C > > + MODULE_TYPE = DXE_DRIVER > > + VERSION_STRING = 1.0 > > + LIBRARY_CLASS = PlatformBootManagerLib|DXE_DRIVER > > + > > + > > +# > > +# The following information is for reference only and not required by the > > build tools. > > +# > > +# VALID_ARCHITECTURES = IA32 X64 EBC > > +# > > + > > +[Sources] > > + PlatformData.c > > + PlatformBootManager.c > > + PlatformBootManager.h > > + > > +[Packages] > > + MdePkg/MdePkg.dec > > + MdeModulePkg/MdeModulePkg.dec > > + Nt32Pkg/Nt32Pkg.dec > > + > > +[LibraryClasses] > > + BaseLib > > + UefiRuntimeServicesTableLib > > + UefiLib > > + UefiBootManagerLib > > + PcdLib > > + > > +[Guids] > > + gEfiWinNtSystemConfigGuid > > + > > +[Pcd] > > + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow > > + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn > > diff --git a/Nt32Pkg/Library/PlatformBootManagerLib/PlatformData.c > > b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformData.c > > new file mode 100644 > > index 0000000..e92f377 > > --- /dev/null > > +++ b/Nt32Pkg/Library/PlatformBootManagerLib/PlatformData.c > > @@ -0,0 +1,158 @@ > > +/**@file > > + Defined the platform specific device path which will be filled to > > + ConIn/ConOut variables. > > + > > +Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > > +This program and the accompanying materials > > +are licensed and made available under the terms and conditions of the BSD > > License > > +which accompanies this distribution. The full text of the license may be > > found at > > +http://opensource.org/licenses/bsd-license.php > > > > + > > > > +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > > > > +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > > IMPLIED. > > +**/ > > + > > +#include "PlatformBootManager.h" > > + > > +// > > +// Platform specific keyboard device path > > +// > > +NT_PLATFORM_GOP_DEVICE_PATH gGopDevicePath0 = { > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), > > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), > > + EFI_WIN_NT_THUNK_PROTOCOL_GUID > > + }, > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)), > > + (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8), > > + EFI_WIN_NT_GOP_GUID, > > + 0 > > + }, > > + gEndEntire > > +}; > > + > > +NT_PLATFORM_GOP_DEVICE_PATH gGopDevicePath1 = { > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), > > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), > > + EFI_WIN_NT_THUNK_PROTOCOL_GUID > > + }, > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)), > > + (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8), > > + EFI_WIN_NT_GOP_GUID, > > + 1 > > + }, > > + gEndEntire > > +}; > > + > > +// > > +// Platform specific serial device path > > +// > > +NT_ISA_SERIAL_DEVICE_PATH gNtSerialDevicePath0 = { > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), > > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), > > + EFI_WIN_NT_THUNK_PROTOCOL_GUID > > + }, > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)), > > + (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8), > > + EFI_WIN_NT_SERIAL_PORT_GUID > > + }, > > + { > > + MESSAGING_DEVICE_PATH, > > + MSG_UART_DP, > > + (UINT8) (sizeof (UART_DEVICE_PATH)), > > + (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8), > > + 0, > > + 115200, > > + 8, > > + 1, > > + 1 > > + }, > > + { > > + MESSAGING_DEVICE_PATH, > > + MSG_VENDOR_DP, > > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), > > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), > > + DEVICE_PATH_MESSAGING_PC_ANSI > > + }, > > + gEndEntire > > +}; > > + > > +NT_ISA_SERIAL_DEVICE_PATH gNtSerialDevicePath1 = { > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), > > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), > > + EFI_WIN_NT_THUNK_PROTOCOL_GUID > > + }, > > + { > > + HARDWARE_DEVICE_PATH, > > + HW_VENDOR_DP, > > + (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)), > > + (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8), > > + EFI_WIN_NT_SERIAL_PORT_GUID, > > + 1 > > + }, > > + { > > + MESSAGING_DEVICE_PATH, > > + MSG_UART_DP, > > + (UINT8) (sizeof (UART_DEVICE_PATH)), > > + (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8), > > + 0, > > + 115200, > > + 8, > > + 1, > > + 1 > > + }, > > + { > > + MESSAGING_DEVICE_PATH, > > + MSG_VENDOR_DP, > > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), > > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), > > + DEVICE_PATH_MESSAGING_PC_ANSI > > + }, > > + gEndEntire > > +}; > > + > > +// > > +// Predefined platform default console device path > > +// > > +PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[] = { > > + { > > + (EFI_DEVICE_PATH_PROTOCOL *) &gNtSerialDevicePath0, > > + (CONSOLE_OUT | CONSOLE_IN) > > + }, > > + { > > + (EFI_DEVICE_PATH_PROTOCOL *) &gNtSerialDevicePath1, > > + (CONSOLE_OUT | CONSOLE_IN) > > + }, > > + { > > + (EFI_DEVICE_PATH_PROTOCOL *) &gGopDevicePath0, > > + (CONSOLE_OUT | CONSOLE_IN) > > + }, > > + { > > + (EFI_DEVICE_PATH_PROTOCOL *) &gGopDevicePath1, > > + (CONSOLE_OUT | CONSOLE_IN) > > + }, > > + { > > + NULL, > > + 0 > > + } > > +}; > > diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc > > index 1b7d329..b0d3fbf 100644 > > --- a/Nt32Pkg/Nt32Pkg.dsc > > +++ b/Nt32Pkg/Nt32Pkg.dsc > > @@ -5,7 +5,7 @@ > > # a real platform. This also provides an example for how an DSC is > > created. > > # > > # Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR> > > -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> > > +# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> > > # > > # This program and the accompanying materials > > # are licensed and made available under the terms and conditions of the > > BSD License > > @@ -82,6 +82,7 @@ > > > > CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf > > PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf > > > > PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf > > + SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf > > # > > # UEFI & PI > > # > > @@ -97,6 +98,7 @@ > > PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf > > DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf > > > > DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf > > + > > UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf > > > > # > > # Generic Modules > > @@ -118,6 +120,7 @@ > > # Platform > > # > > PlatformBdsLib|Nt32Pkg/Library/Nt32BdsLib/Nt32BdsLib.inf > > + > > PlatformBootManagerLib|Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > # > > # Misc > > # > > @@ -197,7 +200,7 @@ > > PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf > > > > [LibraryClasses.common.UEFI_APPLICATION] > > - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf > > + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > > > > PrintLib|MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf > > > > [LibraryClasses.common.DXE_RUNTIME_DRIVER] > > @@ -428,7 +431,13 @@ > > > > MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf > > > > +!if $(USE_NEW_BDS) == TRUE > > + MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > + MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf > > + MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf > > +!else > > IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf > > +!endif > > MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf > > MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf > > MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf > > diff --git a/Nt32Pkg/Nt32Pkg.fdf b/Nt32Pkg/Nt32Pkg.fdf > > index 7174cdf..1eedb75 100644 > > --- a/Nt32Pkg/Nt32Pkg.fdf > > +++ b/Nt32Pkg/Nt32Pkg.fdf > > @@ -1,7 +1,7 @@ > > ## @file > > # This is NT32 FDF file with UEFI HII features enabled > > # > > -# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> > > +# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR> > > # > > # This program and the accompanying materials > > # are licensed and made available under the terms and conditions of the > > BSD License > > @@ -210,7 +210,13 @@ INF > > MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf > > INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf > > INF Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf > > INF Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf > > +!if $(USE_NEW_BDS) == TRUE > > +INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > +INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf > > +INF > > MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf > > +!else > > INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf > > +!endif > > INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf > > INF Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf > > INF Nt32Pkg/TimerDxe/TimerDxe.inf > > -- > > 1.9.5.msysgit.1 > > > > > > ------------------------------------------------------------------------------ > > One dashboard for servers and applications across Physical-Virtual-Cloud > > Widest out-of-the-box monitoring support with 50+ applications > > Performance metrics, stats and reports that give you Actionable Insights > > Deep dive visibility with transaction tracing using APM Insight. > > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel