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
 |