]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2DeviceRefCodePkg/ValleyView2Soc/NorthCluster/Include/Ppi/PlatformMemoryRange.h
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / NorthCluster / Include / Ppi / PlatformMemoryRange.h
CommitLineData
3cbfba02
DW
1/*++\r
2\r
3Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved\r
4\r
7ede8060 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
3cbfba02
DW
6\r
7\r
8\r
9Module Name:\r
10\r
11 PlatformMemoryRange.h\r
12\r
13Abstract:\r
14\r
15 Platform Memory Range PPI as defined in EFI 2.0\r
16\r
17 PPI for reserving special purpose memory ranges.\r
18\r
19--*/\r
20//\r
21//\r
22#ifndef _PEI_PLATFORM_MEMORY_RANGE_H_\r
23#define _PEI_PLATFORM_MEMORY_RANGE_H_\r
24\r
25#define PEI_PLATFORM_MEMORY_RANGE_PPI_GUID \\r
26 { \\r
27 0x30eb2979, 0xb0f7, 0x4d60, 0xb2, 0xdc, 0x1a, 0x2c, 0x96, 0xce, 0xb1, 0xf4 \\r
28 }\r
29\r
30typedef struct _PEI_PLATFORM_MEMORY_RANGE_PPI PEI_PLATFORM_MEMORY_RANGE_PPI ;\r
31\r
32#define PEI_MEMORY_RANGE_OPTION_ROM UINT32\r
33\r
34#define PEI_MR_OPTION_ROM_ALL 0xFFFFFFFF\r
35#define PEI_MR_OPTION_ROM_NONE 0x00000000\r
36#define PEI_MR_OPTION_ROM_C0000_16K 0x00000001\r
37#define PEI_MR_OPTION_ROM_C4000_16K 0x00000002\r
38#define PEI_MR_OPTION_ROM_C8000_16K 0x00000004\r
39#define PEI_MR_OPTION_ROM_CC000_16K 0x00000008\r
40#define PEI_MR_OPTION_ROM_D0000_16K 0x00000010\r
41#define PEI_MR_OPTION_ROM_D4000_16K 0x00000020\r
42#define PEI_MR_OPTION_ROM_D8000_16K 0x00000040\r
43#define PEI_MR_OPTION_ROM_DC000_16K 0x00000080\r
44#define PEI_MR_OPTION_ROM_E0000_16K 0x00000100\r
45#define PEI_MR_OPTION_ROM_E4000_16K 0x00000200\r
46#define PEI_MR_OPTION_ROM_E8000_16K 0x00000400\r
47#define PEI_MR_OPTION_ROM_EC000_16K 0x00000800\r
48#define PEI_MR_OPTION_ROM_F0000_16K 0x00001000\r
49#define PEI_MR_OPTION_ROM_F4000_16K 0x00002000\r
50#define PEI_MR_OPTION_ROM_F8000_16K 0x00004000\r
51#define PEI_MR_OPTION_ROM_FC000_16K 0x00008000\r
52\r
53//\r
54// SMRAM Memory Range\r
55//\r
56#define PEI_MEMORY_RANGE_SMRAM UINT32\r
57#define PEI_MR_SMRAM_ALL 0xFFFFFFFF\r
58#define PEI_MR_SMRAM_NONE 0x00000000\r
59#define PEI_MR_SMRAM_CACHEABLE_MASK 0x80000000\r
60#define PEI_MR_SMRAM_SEGTYPE_MASK 0x00FF0000\r
61#define PEI_MR_SMRAM_ABSEG_MASK 0x00010000\r
62#define PEI_MR_SMRAM_HSEG_MASK 0x00020000\r
63#define PEI_MR_SMRAM_TSEG_MASK 0x00040000\r
64//\r
65// If adding additional entries, SMRAM Size\r
66// is a multiple of 128KB.\r
67//\r
68#define PEI_MR_SMRAM_SIZE_MASK 0x0000FFFF\r
69#define PEI_MR_SMRAM_SIZE_128K_MASK 0x00000001\r
70#define PEI_MR_SMRAM_SIZE_256K_MASK 0x00000002\r
71#define PEI_MR_SMRAM_SIZE_512K_MASK 0x00000004\r
72#define PEI_MR_SMRAM_SIZE_1024K_MASK 0x00000008\r
73#define PEI_MR_SMRAM_SIZE_2048K_MASK 0x00000010\r
74#define PEI_MR_SMRAM_SIZE_4096K_MASK 0x00000020\r
75#define PEI_MR_SMRAM_SIZE_8192K_MASK 0x00000040\r
76\r
77#define PEI_MR_SMRAM_ABSEG_128K_NOCACHE 0x00010001\r
78#define PEI_MR_SMRAM_HSEG_128K_CACHE 0x80020001\r
79#define PEI_MR_SMRAM_HSEG_128K_NOCACHE 0x00020001\r
80#define PEI_MR_SMRAM_TSEG_128K_CACHE 0x80040001\r
81#define PEI_MR_SMRAM_TSEG_128K_NOCACHE 0x00040001\r
82#define PEI_MR_SMRAM_TSEG_256K_CACHE 0x80040002\r
83#define PEI_MR_SMRAM_TSEG_256K_NOCACHE 0x00040002\r
84#define PEI_MR_SMRAM_TSEG_512K_CACHE 0x80040004\r
85#define PEI_MR_SMRAM_TSEG_512K_NOCACHE 0x00040004\r
86#define PEI_MR_SMRAM_TSEG_1024K_CACHE 0x80040008\r
87#define PEI_MR_SMRAM_TSEG_1024K_NOCACHE 0x00040008\r
88\r
89//\r
90// Graphics Memory Range\r
91//\r
92#define PEI_MEMORY_RANGE_GRAPHICS_MEMORY UINT32\r
93#define PEI_MR_GRAPHICS_MEMORY_ALL 0xFFFFFFFF\r
94#define PEI_MR_GRAPHICS_MEMORY_NONE 0x00000000\r
95#define PEI_MR_GRAPHICS_MEMORY_CACHEABLE 0x80000000\r
96//\r
97// If adding additional entries, Graphics Memory Size\r
98// is a multiple of 512KB.\r
99//\r
100#define PEI_MR_GRAPHICS_MEMORY_SIZE_MASK 0x0000FFFF\r
101#define PEI_MR_GRAPHICS_MEMORY_512K_NOCACHE 0x00000001\r
102#define PEI_MR_GRAPHICS_MEMORY_512K_CACHE 0x80000001\r
103#define PEI_MR_GRAPHICS_MEMORY_1M_NOCACHE 0x00000002\r
104#define PEI_MR_GRAPHICS_MEMORY_1M_CACHE 0x80000002\r
105#define PEI_MR_GRAPHICS_MEMORY_4M_NOCACHE 0x00000008\r
106#define PEI_MR_GRAPHICS_MEMORY_4M_CACHE 0x80000008\r
107#define PEI_MR_GRAPHICS_MEMORY_8M_NOCACHE 0x00000010\r
108#define PEI_MR_GRAPHICS_MEMORY_8M_CACHE 0x80000010\r
109#define PEI_MR_GRAPHICS_MEMORY_16M_NOCACHE 0x00000020\r
110#define PEI_MR_GRAPHICS_MEMORY_16M_CACHE 0x80000020\r
111#define PEI_MR_GRAPHICS_MEMORY_32M_NOCACHE 0x00000040\r
112#define PEI_MR_GRAPHICS_MEMORY_32M_CACHE 0x80000040\r
113#define PEI_MR_GRAPHICS_MEMORY_48M_NOCACHE 0x00000060\r
114#define PEI_MR_GRAPHICS_MEMORY_48M_CACHE 0x80000060\r
115#define PEI_MR_GRAPHICS_MEMORY_64M_NOCACHE 0x00000080\r
116#define PEI_MR_GRAPHICS_MEMORY_64M_CACHE 0x80000080\r
117#define PEI_MR_GRAPHICS_MEMORY_128M_NOCACHE 0x00000100\r
118#define PEI_MR_GRAPHICS_MEMORY_128M_CACHE 0x80000100\r
119#define PEI_MR_GRAPHICS_MEMORY_256M_NOCACHE 0x00000200\r
120#define PEI_MR_GRAPHICS_MEMORY_256M_CACHE 0x80000200\r
121//\r
122// Pci Memory Hole\r
123//\r
124#define PEI_MEMORY_RANGE_PCI_MEMORY UINT32\r
125#define PEI_MR_PCI_MEMORY_SIZE_512M_MASK 0x00000001\r
126\r
127typedef\r
128EFI_STATUS\r
129(EFIAPI *PEI_CHOOSE_RANGES) (\r
130 IN EFI_PEI_SERVICES **PeiServices,\r
131 IN PEI_PLATFORM_MEMORY_RANGE_PPI * This,\r
132 IN OUT PEI_MEMORY_RANGE_OPTION_ROM * OptionRomMask,\r
133 IN OUT PEI_MEMORY_RANGE_SMRAM * SmramMask,\r
134 IN OUT PEI_MEMORY_RANGE_GRAPHICS_MEMORY * GraphicsMemoryMask,\r
135 IN OUT PEI_MEMORY_RANGE_PCI_MEMORY * PciMemoryMask\r
136 );\r
137\r
138struct _PEI_PLATFORM_MEMORY_RANGE_PPI {\r
139 PEI_CHOOSE_RANGES ChooseRanges;\r
140};\r
141\r
142extern EFI_GUID gPeiPlatformMemoryRangePpiGuid;\r
143\r
144#endif\r