summaryrefslogtreecommitdiff
path: root/lib/uefi.c3l/uefi/protocol/services/mem.c3i
blob: 8b47264b3fcf557675fbd49f9ac2183e7b9e14a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
module uefi::protocol::mem;

enum MemoryType : uint {
    RESERVED,
    LOADER_CODE,
    LOADER_DATA,
    BOOT_SERVICES_CODE,
    BOOT_SERVICES_DATA,
    RUNTIME_SERVICES_CODE,
    RUNTIME_SERVICES_DATA,
    CONVENTIONAL,
    UNUSABLE,
    ACPI_RECLAIM,
    ACPI_NVS,
    MEMORY_MAPPED_IO,
    MEMORY_MAPPED_IO_PORT_SPACE,
    PAL_CODE,
    PERSISTENT,
    UNACCEPTED,
}

enum AllocateType {
    ANY_PAGES,
    MAX_ADDRESS,
    ADDRESS,
}

struct MemoryDescriptor {
    MemoryType type;
    uptr physicalStart;
    uptr virtualStart;
    ulong numberOfPages;
    ulong attribute;
	// reserved padding
	ulong _rsvd;
}