]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/Mcfg.h
2751a27d2daee2f62d6c11a7bff1936bbe133d21
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Mcfg.h
1 /*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7
8
9
10 Module Name:
11
12 Mcfg.h
13
14 Abstract:
15
16 ACPI Memory mapped configuration space base address Description Table
17 implementation, based on PCI Firmware Specification Revision 3.0 final draft,
18 downloadable at http://www.pcisig.com/home
19
20 **/
21
22 #ifndef _MCFG_H_
23 #define _MCFG_H_
24
25 //
26 // Statements that include other files
27 //
28 #include <IndustryStandard/Acpi20.h>
29 #include "McfgTable.h"
30 #include "Platform.h"
31
32 //
33 // "MCFG" Static Resource Affinity Table
34 //
35 #define EFI_ACPI_3_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE 0x4746434D
36
37 //
38 // MCFG Definitions, see specification for details.
39 //
40 #define EFI_ACPI_OEM_MCFG_REVISION 0x00000001
41
42 //
43 // Define the number of each table type.
44 // This is where the table layout is modified.
45 //
46 #define EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE_COUNT 1
47
48 //
49 // MCFG Table definition. The table must be defined in a platform
50 // specific manner.
51 //
52 //
53 // Ensure proper structure formats
54 //
55 #pragma pack(1)
56
57 typedef struct {
58 EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_HEADER Header;
59
60 #if EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE_COUNT > 0
61 EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE Segment[
62 EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE_COUNT];
63 #endif
64
65 } EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE;
66
67 #pragma pack()
68
69 #endif // _MCFG_H_