51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
#ifndef TYPES_H
|
|
#define TYPES_H
|
|
|
|
typedef unsigned char u8;
|
|
typedef unsigned short u16;
|
|
typedef unsigned int u32;
|
|
typedef unsigned long long u64;
|
|
|
|
typedef signed char i8;
|
|
typedef signed short i16;
|
|
typedef signed int i32;
|
|
typedef signed long long i64;
|
|
|
|
typedef u64 usize;
|
|
typedef u64 uintptr_t;
|
|
|
|
typedef struct {
|
|
u64 rax, rbx, rcx, rdx, rbp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15; // Pushed by us
|
|
u64 int_no, err_code; // Pushed by macro
|
|
u64 rip, cs, rflags, rsp, ss; // Pushed by CPU
|
|
} Registers;
|
|
|
|
typedef struct {
|
|
u32 type;
|
|
u32 pad;
|
|
u64 physical_start;
|
|
u64 virtual_start;
|
|
u64 number_of_pages;
|
|
u64 attribute;
|
|
} __attribute__((packed)) efi_memory_descriptor_k;
|
|
|
|
typedef enum {
|
|
EfiReservedMemoryType,
|
|
EfiLoaderCode,
|
|
EfiLoaderData,
|
|
EfiBootServicesCode,
|
|
EfiBootServicesData,
|
|
EfiRuntimeServicesCode,
|
|
EfiRuntimeServicesData,
|
|
EfiConventionalMemory,
|
|
EfiUnusableMemory,
|
|
EfiACPIReclaimMemory,
|
|
EfiACPIMemoryNVS,
|
|
EfiMemoryMappedIO,
|
|
EfiMemoryMappedIOPortSpace,
|
|
EfiPalCode,
|
|
EfiPersistentMemory,
|
|
EfiMaxMemoryType
|
|
} EFI_MEMORY_TYPE;
|
|
|
|
#endif |