opuntiaOS - an operating system targeting x86 and ARMv7
at master 40 lines 863 B view raw
1/* 2 * Copyright (C) 2020-2022 The opuntiaOS Project Authors. 3 * + Contributed by Nikita Melekhin <nimelehin@gmail.com> 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9#ifndef _BOOT_LIBBOOT_ABI_MEMORY_H 10#define _BOOT_LIBBOOT_ABI_MEMORY_H 11 12#include <libboot/types.h> 13 14struct memory_map { 15 uint32_t startLo; 16 uint32_t startHi; 17 uint32_t sizeLo; 18 uint32_t sizeHi; 19 uint32_t type; 20 uint32_t acpi_3_0; 21}; 22typedef struct memory_map memory_map_t; 23 24struct mem_desc { 25 uint16_t memory_map_size; 26 uint16_t kernel_size; 27}; 28typedef struct mem_desc mem_desc_t; 29 30struct boot_desc { 31 size_t paddr; 32 size_t vaddr; 33 void* memory_map; 34 size_t memory_map_size; 35 size_t kernel_size; 36 void* devtree; 37}; 38typedef struct boot_desc boot_desc_t; 39 40#endif // _BOOT_LIBBOOT_ABI_MEMORY_H