1 /*++ 2 3 Copyright (c) 2007, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 MemoryMappedConfigurationSpaceAccessTable.h 15 16 Abstract: 17 18 ACPI memory mapped configuration space access table definition, defined at 19 in the PCI Firmware Specification, version 3.0. 20 Specification is available at http://www.pcisig.com. 21 22 --*/ 23 24 #ifndef _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_ 25 #define _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_ 26 27 // 28 // Include files 29 // 30 #include "AcpiCommon.h" 31 32 // 33 // Ensure proper structure formats 34 // 35 #pragma pack(1) 36 // 37 // Memory Mapped Configuration Space Access Table (MCFG) 38 // This table is a basic description table header followed by 39 // a number of base address allocation structures. 40 // 41 typedef struct { 42 UINT64 BaseAddress; 43 UINT16 PciSegmentGroupNumber; 44 UINT8 StartBusNumber; 45 UINT8 EndBusNumber; 46 UINT32 Reserved; 47 } EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE; 48 49 // 50 // MCFG Revision (defined in spec) 51 // 52 #define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION 0x01 53 54 #pragma pack() 55 56 #endif 57