]> git.proxmox.com Git - mirror_edk2.git/blob - PrmPkg/Include/PrmMmio.h
IntelFsp2WrapperPkg: Add CI YAML file
[mirror_edk2.git] / PrmPkg / Include / PrmMmio.h
1 /** @file
2
3 Definitions for the Platform Runtime Mechanism (PRM) MMIO elements.
4
5 Copyright (c) Microsoft Corporation
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef PRM_MMIO_H_
11 #define PRM_MMIO_H_
12
13 #include <Uefi.h>
14
15 #pragma pack(push, 1)
16
17 ///
18 /// Describes a memory range that needs to be made accessible at OS runtime.
19 ///
20 /// The memory range with the given base address and length will be marked as EFI_MEMORY_RUNTIME.
21 ///
22 typedef struct {
23 EFI_PHYSICAL_ADDRESS PhysicalBaseAddress;
24 EFI_PHYSICAL_ADDRESS VirtualBaseAddress;
25 UINT32 Length;
26 } PRM_RUNTIME_MMIO_RANGE;
27
28 ///
29 /// Describes a buffer with an array of PRM module
30 /// config runtime memory ranges.
31 ///
32 typedef struct {
33 ///
34 /// The number of runtime memory range elements in this buffer.
35 ///
36 UINT64 Count;
37 ///
38 /// The beginning of the runtime memory range data.
39 ///
40 PRM_RUNTIME_MMIO_RANGE Range[1];
41 } PRM_RUNTIME_MMIO_RANGES;
42
43 #pragma pack(pop)
44
45 #endif