]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/ServiceProcessorManagementInterfaceTable.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / ServiceProcessorManagementInterfaceTable.h
CommitLineData
77ca824c
HW
1/** @file\r
2 Service Processor Management Interface (SPMI) ACPI table definition from\r
3 Intelligent Platform Management Interface Specification Second Generation.\r
4\r
5 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
77ca824c
HW
7\r
8 @par Revision Reference:\r
9 - Intelligent Platform Management Interface Specification Second Generation\r
10 v2.0 Revision 1.1, Dated October 2013.\r
11 https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/ipmi-intelligent-platform-mgt-interface-spec-2nd-gen-v2-0-spec-update.pdf\r
12**/\r
13#ifndef _SERVICE_PROCESSOR_MANAGEMENT_INTERFACE_TABLE_H_\r
14#define _SERVICE_PROCESSOR_MANAGEMENT_INTERFACE_TABLE_H_\r
15\r
16#include <IndustryStandard/Acpi.h>\r
17\r
18#pragma pack(1)\r
19\r
20///\r
21/// Definition for the device identification information used by the Service\r
22/// Processor Management Interface Description Table\r
23///\r
24typedef union {\r
25 ///\r
26 /// For PCI IPMI device\r
27 ///\r
28 struct {\r
29 UINT8 SegmentGroup;\r
30 UINT8 Bus;\r
31 UINT8 Device;\r
32 UINT8 Function;\r
33 } Pci;\r
34 ///\r
35 /// For non-PCI IPMI device, the ACPI _UID value of the device\r
36 ///\r
37 UINT32 Uid;\r
38} EFI_ACPI_SERVICE_PROCESSOR_MANAGEMENT_INTERFACE_TABLE_DEVICE_ID;\r
39\r
40\r
41///\r
42/// Definition for Service Processor Management Interface Description Table\r
43///\r
44typedef struct {\r
45 EFI_ACPI_DESCRIPTION_HEADER Header;\r
46 ///\r
47 /// Indicates the type of IPMI interface.\r
48 ///\r
49 UINT8 InterfaceType;\r
50 ///\r
51 /// This field must always be 01h to be compatible with any software that\r
52 /// implements previous versions of this spec.\r
53 ///\r
54 UINT8 Reserved1;\r
55 ///\r
56 /// Identifies the IPMI specification revision, in BCD format.\r
57 ///\r
58 UINT16 SpecificationRevision;\r
59 ///\r
60 /// Interrupt type(s) used by the interface.\r
61 ///\r
62 UINT8 InterruptType;\r
63 ///\r
64 /// The bit assignment of the SCI interrupt within the GPEx_STS register of a\r
65 /// GPE described if the FADT that the interface triggers.\r
66 ///\r
67 UINT8 Gpe;\r
68 ///\r
69 /// Reserved, must be 00h.\r
70 ///\r
71 UINT8 Reserved2;\r
72 ///\r
73 /// PCI Device Flag.\r
74 ///\r
75 UINT8 PciDeviceFlag;\r
76 ///\r
77 /// The I/O APIC or I/O SAPIC Global System Interrupt used by the interface.\r
78 ///\r
79 UINT32 GlobalSystemInterrupt;\r
80 ///\r
81 /// The base address of the interface register set described using the\r
82 /// Generic Address Structure (GAS, See [ACPI 2.0] for the definition).\r
83 ///\r
84 EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE BaseAddress;\r
85 ///\r
86 /// Device identification information.\r
87 ///\r
88 EFI_ACPI_SERVICE_PROCESSOR_MANAGEMENT_INTERFACE_TABLE_DEVICE_ID DeviceId;\r
89 ///\r
90 /// This field must always be null (0x00) to be compatible with any software\r
91 /// that implements previous versions of this spec.\r
92 ///\r
93 UINT8 Reserved3;\r
94} EFI_ACPI_SERVICE_PROCESSOR_MANAGEMENT_INTERFACE_TABLE;\r
95\r
96#pragma pack()\r
97\r
98#endif\r