TianoCore EDK2 master
Loading...
Searching...
No Matches
CloudHvVirtMemInfoLib.h
Go to the documentation of this file.
1
9#ifndef CLOUDHV_VIRT_MEM_INFO_LIB_H_
10#define CLOUDHV_VIRT_MEM_INFO_LIB_H_
11
12//
13// Cloud Hypervisor may have more than one memory nodes. Even there is no limit for that,
14// I think 10 is enough in general.
15//
16#define CLOUDHV_MAX_MEM_NODE_NUM 10
17
18// Record memory node info (base address and size)
19typedef struct {
20 UINT64 Base;
21 UINT64 Size;
23
24// Number of Virtual Memory Map Descriptors
25#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS (4 + CLOUDHV_MAX_MEM_NODE_NUM)
26
27//
28// Core peripherals such as the UART, the GIC and the RTC are
29// all mapped in the 'miscellaneous device I/O' region, which we just map
30// in its entirety rather than device by device. Note that it does not
31// cover any of the NOR flash banks or PCI resource windows.
32//
33#define MACH_VIRT_PERIPH_BASE 0x00400000
34#define MACH_VIRT_PERIPH_SIZE 0x0FC00000
35
36//
37// The top of the 64M memory region under 4GB reserved for device
38//
39#define TOP_32BIT_DEVICE_BASE 0xFC000000
40#define TOP_32BIT_DEVICE_SIZE 0x04000000
41
42#endif // CLOUDHV_VIRT_MEM_INFO_LIB_H_