blob: 0683ca459e7d564f2ac621d23e69cc1fd6aa901a [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14
15Module Name:
16
17 Mcfg.c
18
19Abstract:
20
21 This file contains a structure definition for the ACPI Memory mapped
22 configuration space base address Description Table (MCFG). Any changes
23 to the MCFG table require updating the respective structure count in
24 Mcfg.h and then adding the structure to the MCFG defined in this file.
25 The table layout is defined in Mcfg.h and the table contents are defined
26 in McfgTable.h and Mcfg.h.
27
28--*/
29
30//
31// Statements that include other files
32//
33#include <Mcfg.h>
34
35//
36// MCFG Table definition
37//
38EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE MCFG = {
39 EFI_ACPI_3_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE,
40 sizeof (EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE),
41 EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_REVISION,
42 //
43 // Checksum will be updated at runtime
44 //
45 0x00,
46 //
47 // It is expected that these values will be programmed at runtime
48 //
49 ' ',
50 ' ',
51 ' ',
52 ' ',
53 ' ',
54 ' ',
55
56 0,
57 EFI_ACPI_OEM_MCFG_REVISION,
58 0,
59 0,
60 //
61 // Beginning of MCFG specific fields
62 //
63 EFI_ACPI_RESERVED_QWORD,
64 //
65 // Sample Memory Mapped Configuration Space Base Address Structure
66 //
67 // 0x0, // Base Address
68 // 0x0, // PCI Segment Group Number
69 // 0x0, // Start Bus Number
70 // 0x0, // End Bus Number
71 // EFI_ACPI_RESERVED_DWORD, // Reserved
72 //
73 // Memory Mapped Configuration Space Base Address Structure
74 //
75 0x0, // Base Address, will be updated by AcpiPlatform
76 0x0, // PCI Segment Group Number
77 0x0, // Start Bus Number
78 PLATFORM_MAX_BUS_NUM, // End Bus Number
79 EFI_ACPI_RESERVED_DWORD, // Reserved
80};
81
82VOID*
83ReferenceAcpiTable (
84 VOID
85 )
86{
87 //
88 // Reference the table being generated to prevent the optimizer from
89 // removing the data structure from the executable
90 //
91 return (VOID*)&MCFG;
92}