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