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

Reply via email to