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