This commit is contained in:
nub31
2025-12-30 01:36:52 +01:00
parent dae0f9e852
commit 532d3e7b48
11 changed files with 309 additions and 238 deletions

View File

@@ -1,3 +1,22 @@
/* Copyright (C) 1999,2003,2007,2008,2009,2010 Free Software Foundation, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ANY
* DEVELOPER OR DISTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
* IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#pragma once
#define MULTIBOOT_BOOTLOADER_MAGIC 0x36d76289
@@ -25,7 +44,7 @@
#define MULTIBOOT_TAG_TYPE_EFI_BS 18
#define MULTIBOOT_TAG_TYPE_EFI32_IH 19
#define MULTIBOOT_TAG_TYPE_EFI64_IH 20
#define MULTIBOOT_TAG_TYPE_LOAD_BASE_ADDR 21
#define MULTIBOOT_TAG_TYPE_LOAD_BASE_ADDRESS 21
typedef struct {
u8 red;
@@ -69,15 +88,15 @@ typedef struct {
u32 type;
u32 size;
u32 biosdev;
u32 slice;
u32 part;
u32 partition;
u32 sub_partition;
} multiboot_tag_bootdev;
typedef struct {
u64 addr;
u64 len;
u64 base_address;
u64 length;
u32 type;
u32 zero;
u32 reserved;
} multiboot_mmap_entry;
typedef struct {
@@ -108,7 +127,7 @@ typedef struct {
typedef struct {
u32 type;
u32 size;
u64 framebuffer_addr;
u64 framebuffer_address;
u32 framebuffer_pitch;
u32 framebuffer_width;
u32 framebuffer_height;
@@ -217,5 +236,5 @@ typedef struct {
typedef struct {
u32 type;
u32 size;
u32 load_base_addr;
} multiboot_tag_load_base_addr;
u32 load_base_address;
} multiboot_tag_load_base_address;