[BOOT:MM] Begin work on memory manager

This commit is contained in:
2024-08-26 11:20:25 -04:00
parent 664bf6d713
commit 1581638c26
8 changed files with 279 additions and 7 deletions

View File

@@ -28,17 +28,18 @@ Abstract:
#define BOOT_MACHINE_TYPE IMAGE_FILE_MACHINE_I386
#endif
//
// No address translation.
//
#define BOOT_TRANSLATION_TYPE 0
//
// Use EFI page size.
//
#define PAGE_SIZE EFI_PAGE_SIZE
#define PAGE_SHIFT EFI_PAGE_SHIFT
//
// Address translation types.
//
#define BOOT_TRANSLATION_TYPE_NONE 0
#define BOOT_TRANSLATION_TYPE_MAX 1
#define BOOT_INPUT_PARAMETERS_SIGNATURE 0x50504120544f4f42 /* "BOOT APP" */
#define BOOT_INPUT_PARAMETERS_VERSION 2
@@ -122,6 +123,19 @@ typedef struct {
ULONG Type;
} BOOT_MEMORY_DESCRIPTOR, *PBOOT_MEMORY_DESCRIPTOR;
typedef enum {
MDL_TYPE_PHYSICAL,
MDL_TYPE_VIRTUAL
} BOOT_MEMORY_DESCRIPTOR_LIST_TYPE;
typedef struct {
LIST_ENTRY ListEntry;
PVOID Head;
PVOID Current;
BOOT_MEMORY_DESCRIPTOR_LIST_TYPE Type;
} BOOT_MEMORY_DESCRIPTOR_LIST, *PBOOT_MEMORY_DESCRIPTOR_LIST;
#define BOOT_FIRMWARE_DATA_VERSION 2
typedef struct {
@@ -240,6 +254,10 @@ typedef struct {
};
} BOOT_DEVICE, *PBOOT_DEVICE;
#define BCDE_DATA_FORMAT_MASK 0x0F000000
#define BCDE_DATA_FORMAT_DEVICE 1
typedef enum {
BCDE_DATA_TYPE_APPLICATION_DEVICE = 0x11000001,
BCDE_DATA_TYPE_APPLICATION_PATH = 0x22000002