In order to use the generic BdsDxe in MdeModulePkg, a platform specific PlatfromBootManagerLib is required. This library will help update the ConIn, ConOut and ErrOut variables. Cc: Prince Agyeman <prince.agyeman@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Lee Leahy <leroy.p.leahy@intel.com>
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
Head file for BDS Platform specific code
 | 
						|
 | 
						|
Copyright (c) 2016, 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_CONSOLE_H
 | 
						|
#define _PLATFORM_CONSOLE_H
 | 
						|
 | 
						|
#include <PiDxe.h>
 | 
						|
#include <IndustryStandard/Pci.h>
 | 
						|
#include <Library/DebugLib.h>
 | 
						|
#include <Library/BaseMemoryLib.h>
 | 
						|
#include <Library/UefiBootServicesTableLib.h>
 | 
						|
#include <Library/MemoryAllocationLib.h>
 | 
						|
#include <Library/BaseLib.h>
 | 
						|
#include <Library/PcdLib.h>
 | 
						|
#include <Library/UefiLib.h>
 | 
						|
#include <Library/DevicePathLib.h>
 | 
						|
#include <Protocol/PciIo.h>
 | 
						|
 | 
						|
#define IS_PCI_ISA_PDECODE(_p)        IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_ISA_PDECODE, 0)
 | 
						|
#define IS_PCI_16550SERIAL(_p)        IS_CLASS3 (_p, PCI_CLASS_SCC, PCI_SUBCLASS_SERIAL, PCI_IF_16550)
 | 
						|
 | 
						|
//
 | 
						|
// Type definitions
 | 
						|
//
 | 
						|
 | 
						|
//
 | 
						|
// Platform Root Bridge
 | 
						|
//
 | 
						|
typedef struct {
 | 
						|
  ACPI_HID_DEVICE_PATH      PciRootBridge;
 | 
						|
  EFI_DEVICE_PATH_PROTOCOL  End;
 | 
						|
} PLATFORM_ROOT_BRIDGE_DEVICE_PATH;
 | 
						|
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *PROTOCOL_INSTANCE_CALLBACK)(
 | 
						|
  IN EFI_HANDLE            Handle,
 | 
						|
  IN VOID                 *Instance,
 | 
						|
  IN VOID                 *Context
 | 
						|
);
 | 
						|
 | 
						|
/**
 | 
						|
  @param[in]  Handle - Handle of PCI device instance
 | 
						|
  @param[in]  PciIo - PCI IO protocol instance
 | 
						|
  @param[in]  Pci - PCI Header register block
 | 
						|
**/
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *VISIT_PCI_INSTANCE_CALLBACK)(
 | 
						|
  IN EFI_HANDLE           Handle,
 | 
						|
  IN EFI_PCI_IO_PROTOCOL  *PciIo,
 | 
						|
  IN PCI_TYPE00           *Pci
 | 
						|
);
 | 
						|
 | 
						|
/**
 | 
						|
  Platform console init. Include the platform firmware vendor, revision
 | 
						|
  and so crc check.
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
PlatformConsoleInit (
 | 
						|
  VOID
 | 
						|
);
 | 
						|
 | 
						|
#endif
 |