Home | History | Annotate | Download | only in IndustryStandard
      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 ///
     29 typedef 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 ///
     41 typedef 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