blob: a81e443c89803878cfa4e3492e36f83df6445886 (
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
|
#pragma once
#include <stdbool.h>
#include <stdint.h>
#include "acpi/acpi.h"
#include "memory/memory.h"
#define CMDLINE_MAX 32
struct BootTag {
uint8_t valid;
uint32_t type;
uint32_t size;
union {
char cmdline[CMDLINE_MAX];
struct MemoryMap *memory_map;
struct RootSystemDescriptionPointer *rsdp;
} data;
};
struct BootInfo {
uint32_t total_size;
uint32_t reserved;
struct BootTag tags[21];
};
enum BootTagID {
ID_CMDLINE = 0,
iD_MEMORYMAP = 6,
ID_RSDP = 14
};
void load_boot_info(void* boot_info);
bool get_boot_tag(enum BootTagID id, struct BootTag **tag);
|