mirror of https://github.com/acidanthera/audk.git
ShellPkg/mm: Fix mm to support multiple root bridge platform
In multiple root bridge platforms, different root bridges may share the same segment but occupy different range of buses, or may occupy different segments. The fix is to find the correct root bridge IO instance by comparing not only the segment but also the bus ranges. It tries to access the MMIO and IO in the following order: PciRootBridgeIo, CpuIo and direct IO. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19181 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
25e34a2df4
commit
304316f430
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Main file for NULL named library for Profile1 shell command functions.
|
||||
|
||||
Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 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
|
||||
|
@ -38,6 +38,7 @@
|
|||
#include <Protocol/DriverFamilyOverride.h>
|
||||
#include <Protocol/DriverHealth.h>
|
||||
#include <Protocol/SimplePointer.h>
|
||||
#include <Protocol/CpuIo2.h>
|
||||
#include <Protocol/PciRootBridgeIo.h>
|
||||
|
||||
#include <Library/BaseLib.h>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
BASE_NAME = UefiShellDebug1CommandsLib
|
||||
FILE_GUID = 90330D51-A99B-4cc8-A2EB-AE22542A3F45
|
||||
MODULE_TYPE = UEFI_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
VERSION_STRING = 1.1
|
||||
LIBRARY_CLASS = NULL|UEFI_APPLICATION UEFI_DRIVER
|
||||
CONSTRUCTOR = UefiShellDebug1CommandsLibConstructor
|
||||
DESTRUCTOR = UefiShellDebug1CommandsLibDestructor
|
||||
|
@ -106,6 +106,7 @@
|
|||
MemoryAllocationLib
|
||||
BaseLib
|
||||
BaseMemoryLib
|
||||
IoLib
|
||||
DebugLib
|
||||
ShellCommandLib
|
||||
ShellLib
|
||||
|
@ -125,6 +126,7 @@
|
|||
gEfiPciRootBridgeIoProtocolGuid ## CONSUMES
|
||||
gEfiBlockIoProtocolGuid ## CONSUMES
|
||||
gEfiSimplePointerProtocolGuid ## CONSUMES
|
||||
gEfiCpuIo2ProtocolGuid ## CONSUMES
|
||||
|
||||
[Guids]
|
||||
gEfiGlobalVariableGuid ## SOMETIMES_CONSUMES ## GUID
|
||||
|
|
|
@ -145,21 +145,17 @@
|
|||
#string STR_LOADPCIROM_START_FAIL #language en-US "%H%s%N: File '%B%s%N' Image %d unable to start.\r\n"
|
||||
|
||||
#string STR_MM_NOT_ALIGNED #language en-US "%H%s%N: Address parameter %016LX is not aligned.\r\n"
|
||||
#string STR_MM_SEGMENT_NOT_FOUND #language en-US "%H%s%N: Segment %d not found.\r\n"
|
||||
#string STR_MM_ADDRESS_RANGE #language en-US "%H%s%N: IO address out of range 0 - 0xFFFF\r\n"
|
||||
#string STR_MM_PCIE_ADDRESS_RANGE #language en-US "%H%s%N: Address parameter %016LX is not a valid PCI/PCIE address.\r\n"
|
||||
#string STR_MM_IO_ADDRESS_RANGE #language en-US "%H%s%N: IO address out of range 0 - 0xFFFF\r\n"
|
||||
#string STR_MM_MMIO #language en-US "%HMMIO%N"
|
||||
#string STR_MM_IO #language en-US "%HIO%N"
|
||||
#string STR_MM_PCI #language en-US "%HPCI%N"
|
||||
#string STR_MM_MEM #language en-US "%HMEM%N"
|
||||
#string STR_MM_PCIE #language en-US "%HPCIE%N"
|
||||
#string STR_MM_ADDRESS #language en-US " 0x%016lx : "
|
||||
#string STR_MM_BUF2 #language en-US "0x%02x"
|
||||
#string STR_MM_BUF4 #language en-US "0x%04x"
|
||||
#string STR_MM_BUF8 #language en-US "0x%08x"
|
||||
#string STR_MM_BUF16 #language en-US "0x%016lx"
|
||||
#string STR_MM_BUF #language en-US "0x%0*lx"
|
||||
#string STR_MM_ADDRESS_RANGE2 #language en-US "%H%s%N: IO address out of range\r\n"
|
||||
#string STR_MM_ERROR #language en-US "%H%s%N: Input had incorrect format\r\n"
|
||||
#string STR_MM_READ_ERROR #language en-US "%H%s%N: Unable to read memory.\r\n"
|
||||
|
||||
#string STR_SETVAR_PRINT #language en-US "%g - %s - %04x Bytes\r\n"
|
||||
#string STR_SETVAR_ERROR_SET #language en-US "%H%s%N: Unable to set - %H%g%N - %H%s%N\r\n"
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
|
||||
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
||||
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
|
||||
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
||||
|
||||
[LibraryClasses.ARM]
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue