/*++ | |
Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR> | |
This program and the accompanying materials are licensed and made available under | |
the terms and conditions of the BSD License that accompanies this distribution. | |
The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php. | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
Module Name: | |
Mcfg.c | |
Abstract: | |
This file contains a structure definition for the ACPI Memory mapped | |
configuration space base address Description Table (MCFG). Any changes | |
to the MCFG table require updating the respective structure count in | |
Mcfg.h and then adding the structure to the MCFG defined in this file. | |
The table layout is defined in Mcfg.h and the table contents are defined | |
in McfgTable.h and Mcfg.h. | |
--*/ | |
// | |
// Statements that include other files | |
// | |
#include <Mcfg.h> | |
// | |
// MCFG Table definition | |
// | |
EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE MCFG = { | |
EFI_ACPI_3_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE, | |
sizeof (EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE), | |
EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_REVISION, | |
// | |
// Checksum will be updated at runtime | |
// | |
0x00, | |
// | |
// It is expected that these values will be programmed at runtime | |
// | |
' ', | |
' ', | |
' ', | |
' ', | |
' ', | |
' ', | |
0, | |
EFI_ACPI_OEM_MCFG_REVISION, | |
0, | |
0, | |
// | |
// Beginning of MCFG specific fields | |
// | |
EFI_ACPI_RESERVED_QWORD, | |
// | |
// Sample Memory Mapped Configuration Space Base Address Structure | |
// | |
// 0x0, // Base Address | |
// 0x0, // PCI Segment Group Number | |
// 0x0, // Start Bus Number | |
// 0x0, // End Bus Number | |
// EFI_ACPI_RESERVED_DWORD, // Reserved | |
// | |
// Memory Mapped Configuration Space Base Address Structure | |
// | |
0x0, // Base Address, will be updated by AcpiPlatform | |
0x0, // PCI Segment Group Number | |
0x0, // Start Bus Number | |
PLATFORM_MAX_BUS_NUM, // End Bus Number | |
EFI_ACPI_RESERVED_DWORD, // Reserved | |
}; | |
VOID* | |
ReferenceAcpiTable ( | |
VOID | |
) | |
{ | |
// | |
// Reference the table being generated to prevent the optimizer from | |
// removing the data structure from the executable | |
// | |
return (VOID*)&MCFG; | |
} |