VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Include/Guid/PiSmmCommunicationRegionTable.h@ 95057

最後變更 在這個檔案從95057是 80721,由 vboxsync 提交於 5 年 前

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 2.3 KB
 
1/** @file
2
3Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
4SPDX-License-Identifier: BSD-2-Clause-Patent
5
6**/
7
8#ifndef _PI_SMM_COMMUNICATION_REGION_TABLE_H_
9#define _PI_SMM_COMMUNICATION_REGION_TABLE_H_
10
11#define EDKII_PI_SMM_COMMUNICATION_REGION_TABLE_GUID {\
12 0x4e28ca50, 0xd582, 0x44ac, {0xa1, 0x1f, 0xe3, 0xd5, 0x65, 0x26, 0xdb, 0x34} \
13}
14
15//
16// This table to declare the generic SMM communication buffer location.
17// If this table is present, it means the SMM communication buffer is restricted to
18// EfiReservedMemoryType, EfiACPIMemoryNVS, or EfiRuntimeServicesData.
19//
20// This table is installed to UEFI configuration table by generic driver
21// or platform driver, at early DXE phase.
22//
23// The EFI_MEMORY_DESCRIPTOR entry must contain at least one entry.
24// The entries must be normal memory region in EfiReservedMemoryType, EfiACPIMemoryNVS,
25// or EfiRuntimeServicesData.
26// If the Entry.Type is EfiConventionalMemory, it means this entry is free to use.
27// If the Entry.Type is other, it means this entry is occupied.
28//
29// Any non-SMM component may put communication data there, then use
30// UEFI defined SMM Communication ACPI Table, or PI defined EFI_SMM_COMMUNICATION_PROTOCOL
31// to communicate with SMI handler. The process is:
32// 1) Find an entry whose type is EfiConventional.
33// 2) Change type to be EfiReservedMemoryType before use.
34// 3) Use it.
35// 4) Restore type be EfiConventional.
36// The step 2) must be performed as an atomic transaction, if there might be conflict during runtime.
37// For example, on IA-32/x64 platforms, this can be done using the CMPXCHG CPU instruction.
38// If there is guarantee on no conflict during boot time, these steps can be skipped.
39// For example, DXE, UEFI driver and UEFI application runs in sequence.
40//
41// For example, FPDT driver can use this communication buffer to get SMM
42// performance data in SMM. Profile driver can use this communication buffer
43// to get SMM profile data in SMM.
44//
45typedef struct {
46 UINT32 Version;
47 UINT32 NumberOfEntries;
48 UINT32 DescriptorSize;
49 UINT32 Reserved;
50//EFI_MEMORY_DESCRIPTOR Entry[1];
51} EDKII_PI_SMM_COMMUNICATION_REGION_TABLE;
52
53#define EDKII_PI_SMM_COMMUNICATION_REGION_TABLE_VERSION 0x00000001
54
55extern EFI_GUID gEdkiiPiSmmCommunicationRegionTableGuid;
56
57#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette