266 lines
12 KiB
Plaintext
266 lines
12 KiB
Plaintext
## @file
|
|
# H2O Console Redirection package project build description file.
|
|
#
|
|
#******************************************************************************
|
|
#* Copyright (c) 2013 - 2016, Insyde Software Corporation. All Rights Reserved.
|
|
#*
|
|
#* You may not reproduce, distribute, publish, display, perform, modify, adapt,
|
|
#* transmit, broadcast, present, recite, release, license or otherwise exploit
|
|
#* any part of this publication in any form, by any means, without the prior
|
|
#* written permission of Insyde Software Corporation.
|
|
#*
|
|
#******************************************************************************
|
|
#
|
|
|
|
[Defines]
|
|
|
|
[LibraryClasses]
|
|
CrConfigDefaultLib|InsydeCrPkg/Library/CrConfigDefaultLib/CrConfigDefaultLib.inf
|
|
CrDeviceVariableLib|InsydeCrPkg/Library/CrDeviceVariableLib/CrDeviceVariableLib.inf
|
|
|
|
[LibraryClasses.common.PEIM]
|
|
|
|
[LibraryClasses.common.DXE_DRIVER]
|
|
|
|
[LibraryClasses.common.DXE_SMM_DRIVER]
|
|
|
|
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER]
|
|
|
|
[LibraryClasses.common.UEFI_APPLICATION]
|
|
|
|
[PcdsFeatureFlag]
|
|
#
|
|
# Console Redirection Feature Flag
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OConsoleRedirectionSupported|TRUE
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrPciSerialSupported|TRUE
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrUsbSerialSupported|FALSE
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrHsuSerialSupported|TRUE
|
|
|
|
#
|
|
# Advance Console Redirection Feature Flag
|
|
# (Here's PCDs work on wired-or)
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported|FALSE
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrSrvManagerSupported|FALSE
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrTelnetSupported|FALSE
|
|
|
|
[PcdsFixedAtBuild]
|
|
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrSoftwareSmi|0xDC
|
|
|
|
#
|
|
# Console Redirection support Devices List
|
|
# List can be extended and 0xFF indicates end of list.
|
|
#
|
|
# Enable = 0 : Disable this device in SCU default.
|
|
# Enable = 1 : If the Device path exist, then enable this device in SCU default.
|
|
# DevName : If device exist then the device name is dispalyed on console Redirection page in SCU.
|
|
# Device Path String:
|
|
# Device path need to description until the previous node of the UART node.
|
|
# If the CR device need used itself default setting, the device can description device path until terminal device node.
|
|
#
|
|
## Example 1: (Using COM1 to redirect console default, Uart setting come from VFR globol setting)
|
|
# UINT8(0x01), L"COM1" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x0)"
|
|
#
|
|
## Example 2: (After boot search all uart16550 compatible device under PciRoot(0x0) and list in SCU.
|
|
# If device path string have "*", the Enalbe flag is invalid.)
|
|
# UINT8(0x00), L"OTHER" , L"PciRoot(0x0)/*"
|
|
#
|
|
## Example 3: (Using COM2 to redirect console default, Uart and terminal setting are the same with device path nodes)
|
|
# UINT8(0x01), L"COM2" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x1)/Uart(57600,8,N,1)/VenVt100()"
|
|
#
|
|
## Example 4: (Using MMIO HsUart to redirect console default, UART setting come from VFR global setting.
|
|
# The MMIO is FE030400, UID is 2(The UID is the same as the list order of PcdH2OCrPchHsUartMmioAddress))
|
|
# UINT8(0x01), L"HsUart" , L"VenHw(E76FD4E9-0A30-4CA9-9540-D799534CC4FF, 004003FE02000000)"
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrDevice|{ \
|
|
#-------------------------------------------------------------------------------------------------------------
|
|
#| Enable || DevName || Device Path String
|
|
#-------------------------------------------------------------------------------------------------------------
|
|
UINT8(0x01), L"COM1" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x0)", \
|
|
UINT8(0x00), L"COM2" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x1)", \
|
|
UINT8(0x00), L"OTHERS" , L"*", \
|
|
UINT8(0xFF), UINT8(0xFF) , UINT8(0xFF) \
|
|
}
|
|
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrPolicy| { \
|
|
# Flag Name | FALSE(0x00) | TRUE(0x01)
|
|
#----------------------------------------------------
|
|
UINT8(0x00), \ # CRVideoType | Color | Mono
|
|
UINT8(0x00), \ # CRTerminalKey | Senseless | Sensitive
|
|
UINT8(0x01), \ # CRComboKey | Disable | Enable
|
|
UINT8(0x00), \ # Reserve (compatiable) | |
|
|
UINT8(0x00), \ # Reserve (compatiable) | |
|
|
UINT8(0x01), \ # CRUnKbcSupport | Disable | Enable
|
|
UINT8(0x00), \ # Reserve (compatiable) | |
|
|
UINT8(0x01), \ # CRManualRefresh | Disable | Enable
|
|
UINT8(0x01), \ # CRTerminalCharSet | ASCII | Graphic
|
|
UINT8(0x00), \ # CRAsyncTerm | Auto | Force Async
|
|
UINT8(0x00), \ # CRScreenOffCheck | Disable | Enable
|
|
UINT8(0x01), \ # CRShowHelp | Disable | Enable
|
|
UINT8(0x00), \ # CRHeadlessVBuffer | Vbuffer | EBDA
|
|
UINT8(0x00), \ # Reserve (compatiable) | |
|
|
UINT8(0x00), \ # Reserve (compatiable) | |
|
|
UINT8(0x00), \ # Reserve (compatiable) | |
|
|
UINT8(0x00), \ # CROpROMLoadOnESegment | Disable | Enable
|
|
UINT8(0xFF), \ # End of feature flag (0xFF) add new feature flag need before this column.
|
|
#----------------------------------------------------
|
|
UINT8(0x10), \ # CRFifoLength | [Value]
|
|
UINT8(0x00)} # CRWriteCharInterval | [Value]
|
|
|
|
##
|
|
## ============ High speed uart support PCDs ==================
|
|
##
|
|
|
|
#
|
|
# High speed uart devices have other SerialClock and SampleRate
|
|
# Please change this Pcd value
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrHsUartSerialClock|1843200
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrHsUartSampleRate|16
|
|
|
|
#
|
|
# Device information for PciHsUart driver to support.
|
|
# List can be extended and 0xFF indicates end of list.
|
|
# Either Bus/Device/Function or Vendor ID/Device ID are necessary.
|
|
# Zero value means "don't care" when either Bus/Device/Function or Vendor ID/Device ID are non-zero.
|
|
# When both Bus/Device/Function and Vendor ID/Device ID are non-zero, device will be supported only when all of them are matched.
|
|
#
|
|
## Example 1: (Connect PCI device (0/1E/00) to PciHsUart driver, ignore the VID and DID)
|
|
# UINT32(0x00), UINT32(0x1E), UINT32(0x00), UINT32(0x0000), UINT32(0x0000)
|
|
#
|
|
## Example 2: (Connect PCI device (VID:8086 and DID 1234) to PciHsUart driver)
|
|
# UINT32(0x00), UINT32(0x00), UINT32(0x00), UINT32(0x8086), UINT32(0x1234)
|
|
#
|
|
## Example 3: (Connect PCI device (0/19/0, VID:8086 and DID 4321)
|
|
# UINT32(0x00), UINT32(0x19), UINT32(0x00), UINT32(0x8086), UINT32(0x4321)
|
|
#
|
|
# Bus Device Function Vendor ID Device ID
|
|
# =========== =========== =========== ============= =============
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrPciHsUartDeviceList|{UINT32(0xFF), UINT32(0xFF), UINT32(0xFF), UINT32(0xFFFF), UINT32(0xFFFF)} # All 0xFF indicates end of list.
|
|
|
|
#
|
|
# PCH MMIO Address list for PchHsUart driver to support.
|
|
# List the Uart UID 0, Uart UID 1, ... MMIO address
|
|
# List can be extended and 0xFF indicates end of list.
|
|
# Enable = 0 : Disable this device
|
|
# Enable = 1 : Enable this device
|
|
# IRQ : The device IRQ value for legacy boot. 0xff mean no IRQ value.
|
|
#
|
|
## Example : (Enable the Uart0 with baseAddress 0xFE030000, IRQ=4h.
|
|
# Enable the Uart1 with baseAddress 0xFE032000, No IRQ.
|
|
# Unsupport the third uart )
|
|
# UINT8(0x01), UINT32(0xFE030000), UINT8(0x04), \
|
|
# UINT8(0x01), UINT32(0xFE032000), UINT8(0xFF), \
|
|
# UINT8(0x00), UINT32(0xFE034000), UINT8(0xFF)
|
|
# Enable Address IRQ
|
|
# ========= ================= ==========
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrPchHsUartMmioAddress|{ UINT8(0xFF), UINT32(0xFFFFFFFF), UINT8(0xFF) } # All 0xFF indicates end of list.
|
|
|
|
#
|
|
# PchHsUart driver Byte Address Control (PCICFGCTRL)
|
|
# If platform didn't support this flag to control AccessMode.
|
|
# Set PCD = 1 (Access8bit)
|
|
# Set PCD = 0 (Access32bit)
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrSerialIoPchPcrAddress|0xFDCB0618
|
|
|
|
|
|
##
|
|
## ============ SOL support PCDs ==================
|
|
##
|
|
|
|
#
|
|
# SOL Len Configuration
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrSolDefaultSetting|{ UINT16(0), \ # Reserve (This column config in Vfr)
|
|
UINT16(23), \ # PortNumber;
|
|
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # LocalIp[4];
|
|
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # SubnetMask[4];
|
|
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # Gateway[4];
|
|
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # AdminIp[4];
|
|
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT64(0x0), UINT64(0x0), UINT64(0x0), UINT16(0x0), \ #AdminMac[32];
|
|
L"Insyde" , \ # UserName[13];
|
|
L"123" } # Password[13];
|
|
|
|
##
|
|
## ============ Terminal support PCDs ==================
|
|
##
|
|
|
|
#
|
|
# Terminal want to send more data at onec, that can set this PCD to higher values.
|
|
# That can give more bandwidth but should cause inconvenience in some instances (eg. SCU).
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrTerminalFifoSize|128
|
|
|
|
#[-start-180531-IB08400600-add]#
|
|
#
|
|
# Use Advanced formset GUID as default so that the Console Redirection Configuration menu could be put under Advanced menu.
|
|
#
|
|
gInsydeCrTokenSpaceGuid.PcdH2OCrFormsetClassGuid|{GUID("C6D4769E-7F48-4D2A-98E9-87ADCCF35CCC")}
|
|
#[-end-180531-IB08400600-add]#
|
|
|
|
[PcdsDynamicExDefault]
|
|
|
|
[Components.$(PEI_ARCH)]
|
|
|
|
[Components.$(DXE_ARCH)]
|
|
|
|
!if gInsydeCrTokenSpaceGuid.PcdH2OConsoleRedirectionSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
|
|
#
|
|
# Console Redirection Feature Flag
|
|
#
|
|
InsydeCrPkg/CrServiceDxe/CrServiceDxe.inf
|
|
InsydeCrPkg/CrServiceSmm/CrServiceSmm.inf
|
|
|
|
InsydeCrPkg/ConfigUtility/CrConfigUtilDxe/CrConfigUtil.inf
|
|
InsydeCrPkg/Uart16550SerialDxe/Uart16550SerialDxe.inf
|
|
InsydeCrPkg/Uart16550Devices/IsaUartDxe/IsaUartDxe.inf
|
|
|
|
!if gInsydeCrTokenSpaceGuid.PcdH2OCrHsuSerialSupported == 1
|
|
InsydeCrPkg/Uart16550Devices/PciHsUartDxe/PciHsUartDxe.inf
|
|
InsydeCrPkg/Uart16550Devices/PchHsUartDxe/PchHsUartDxe.inf
|
|
!endif
|
|
|
|
!if gInsydeCrTokenSpaceGuid.PcdH2OCrPciSerialSupported == 1
|
|
InsydeCrPkg/Uart16550Devices/PciUartDxe/PciUartDxe.inf
|
|
!endif
|
|
|
|
!if gInsydeCrTokenSpaceGuid.PcdH2OCrUsbSerialSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
|
|
InsydeCrPkg/UsbSerialDxe/UsbSerialDxe.inf
|
|
InsydeCrPkg/UsbDevices/CrPl2303Dxe/CrPl2303Dxe.inf
|
|
|
|
!if gInsydeTokenSpaceGuid.PcdH2ODdtSupported == 0
|
|
InsydeCrPkg/UsbDevices/CrDdtCableDxe/CrDdtCableDxe.inf
|
|
!endif
|
|
!endif
|
|
|
|
#
|
|
# Advance Console Redirection Feature Flag
|
|
#
|
|
!if gInsydeCrTokenSpaceGuid.PcdH2OCrTelnetSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
|
|
InsydeCrPkg/AdvanceTerminalDxe/AdvanceTerminalDxe.inf
|
|
InsydeCrPkg/SolDxe/SolDxe.inf
|
|
InsydeCrPkg/ConfigUtility/SolConfigUtility/SolConfigUtil.inf
|
|
InsydeCrPkg/TelnetDxe/TelnetDxe.inf
|
|
|
|
!if gInsydeTokenSpaceGuid.PcdH2ONetworkIscsiSupported == 0
|
|
InsydeNetworkPkg/Drivers/TcpDxe/TcpDxe.inf
|
|
!endif
|
|
!else
|
|
InsydeCrPkg/TerminalDxe/TerminalDxe.inf
|
|
!endif
|
|
|
|
!if gInsydeCrTokenSpaceGuid.PcdH2OCrSrvManagerSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
|
|
InsydeCrPkg/CrSrvManagerDxe/CrSrvManagerDxe.inf
|
|
InsydeCrPkg/CrBiosFlashDxe/CrBiosFlashDxe.inf
|
|
InsydeCrPkg/CrFileTransferDxe/CrFileTransferDxe.inf
|
|
InsydeCrPkg/FileSelectUIDxe/FileSelectUIDxe.inf
|
|
!endif
|
|
|
|
!endif
|
|
|