/** @file\r
Header files and data structures needed by PCI Bus module.\r
\r
-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include <Protocol/IncompatiblePciDeviceSupport.h>\r
#include <Protocol/PciOverride.h>\r
#include <Protocol/PciEnumerationComplete.h>\r
+#include <Protocol/IoMmu.h>\r
+#include <Protocol/DeviceSecurity.h>\r
\r
#include <Library/DebugLib.h>\r
#include <Library/UefiDriverEntryPoint.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/PcdLib.h>\r
-#include <Library/PeCoffLib.h>\r
\r
#include <IndustryStandard/Pci.h>\r
#include <IndustryStandard/PeImage.h>\r
PciBarTypePMem32,\r
PciBarTypeMem64,\r
PciBarTypePMem64,\r
+ PciBarTypeOpRom,\r
PciBarTypeIo,\r
PciBarTypeMem,\r
PciBarTypeMaxType\r
UINT64 Length;\r
UINT64 Alignment;\r
PCI_BAR_TYPE BarType;\r
+ BOOLEAN BarTypeFixed;\r
UINT16 Offset;\r
};\r
\r
LIST_ENTRY ChildList;\r
\r
//\r
- // TURE if the PCI bus driver creates the handle for this PCI device\r
+ // TRUE if the PCI bus driver creates the handle for this PCI device\r
//\r
BOOLEAN Registered;\r
\r
//\r
// The OptionRom Size\r
//\r
- UINT64 RomSize;\r
-\r
- //\r
- // The OptionRom Size\r
- //\r
- UINT64 RomBase;\r
+ UINT32 RomSize;\r
\r
//\r
// TRUE if all OpROM (in device or in platform specific position) have been processed\r
UINT16 ReservedBusNum;\r
//\r
// Per PCI to PCI Bridge spec, I/O window is 4K aligned,\r
- // but some chipsets support non-stardard I/O window aligments less than 4K.\r
+ // but some chipsets support non-standard I/O window alignments less than 4K.\r
// This field is used to support this case.\r
//\r
UINT16 BridgeIoAlignment;\r
\r
@param _p Specified device.\r
\r
- @retval TRUE Device is a a GFX device.\r
- @retval FALSE Device is not a a GFX device.\r
+ @retval TRUE Device is a GFX device.\r
+ @retval FALSE Device is not a GFX device.\r
\r
**/\r
#define IS_PCI_GFX(_p) IS_CLASS2 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_OTHER)\r
\r
@param This Protocol instance pointer.\r
@param Controller Handle of device to test.\r
- @param RemainingDevicePath Optional parameter use to pick a specific child.\r
+ @param RemainingDevicePath Optional parameter use to pick a specific child\r
device to start.\r
\r
@retval EFI_SUCCESS This driver supports this device.\r
\r
@param This Protocol instance pointer.\r
@param Controller Handle of device to bind driver to.\r
- @param RemainingDevicePath Optional parameter use to pick a specific child.\r
+ @param RemainingDevicePath Optional parameter use to pick a specific child\r
device to start.\r
\r
@retval EFI_SUCCESS This driver is added to ControllerHandle.\r
);\r
\r
/**\r
- Stop this driver on ControllerHandle. Support stoping any child handles\r
+ Stop this driver on ControllerHandle. Support stopping any child handles\r
created by this driver.\r
\r
@param This Protocol instance pointer.\r