Home | History | Annotate | Download | only in IndustryStandard
      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