1 /*++ 2 3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR> 4 5 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 9 The full text of the license may be found at 11 http://opensource.org/licenses/bsd-license.php. 13 15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 17 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 19 21 23 Module Name: 24 25 McfgTable.h 26 27 Abstract: 28 29 ACPI Memory mapped configuration space base address Description Table 30 definition, based on PCI Firmware Specification Revision 3.0 final draft, 31 downloadable at http://www.pcisig.com/home 32 33 **/ 34 35 #ifndef _MCFG_TABLE_H_ 36 #define _MCFG_TABLE_H_ 37 38 // 39 // Include files 40 // 41 #include <PiDxe.h> 42 43 // 44 // Ensure proper structure formats 45 // 46 #pragma pack(1) 47 48 // 49 // MCFG Revision (defined in spec) 50 // 51 #define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_REVISION 0x01 52 53 // 54 // MCFG Structure Definitions 55 // 56 // 57 // Memory Mapped Enhanced Configuration Base Address Allocation 58 // Structure Definition 59 // 60 typedef struct { 61 UINT64 BaseAddress; 62 UINT16 PciSegmentGroupNumber; 63 UINT8 StartBusNumber; 64 UINT8 EndBusNumber; 65 UINT32 Reserved; 66 } EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE; 67 68 // 69 // MCFG Table header definition. The rest of the table 70 // must be defined in a platform specific manner. 71 // 72 typedef struct { 73 EFI_ACPI_DESCRIPTION_HEADER Header; 74 UINT64 Reserved; 75 } EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_HEADER; 76 77 #pragma pack() 78 79 #endif // _MCFG_TABLE_H 80