50 lines
948 B
C
50 lines
948 B
C
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
// Copyright (c) 2026 0xKSor
|
|
|
|
#pragma once
|
|
|
|
typedef unsigned int BIUInt32;
|
|
typedef unsigned long long BIUInt64;
|
|
|
|
typedef struct {
|
|
BIUInt32* base;
|
|
BIUInt64 baseSize;
|
|
BIUInt64 width;
|
|
BIUInt64 height;
|
|
BIUInt64 pitch;
|
|
} BIFramebuffer;
|
|
|
|
typedef struct {
|
|
void* map;
|
|
BIUInt64 mapSize;
|
|
BIUInt64 descriptorSize;
|
|
BIUInt32 mapKey;
|
|
BIUInt32 descriptorVersion;
|
|
} BIMemoryMap;
|
|
|
|
typedef struct {
|
|
BIUInt64 kernelSize;
|
|
void* kernelAddress;
|
|
} BIKernelInfo;
|
|
|
|
typedef struct {
|
|
BIUInt64 physicalBase;
|
|
BIUInt64 virtualBase;
|
|
void* entry;
|
|
BIUInt64 size;
|
|
char name[32];
|
|
BIUInt64 capabilities;
|
|
} BootModule;
|
|
|
|
typedef struct {
|
|
BIUInt64 magic;
|
|
BIKernelInfo kernelInfo;
|
|
void* dtb;
|
|
BIMemoryMap memoryMap;
|
|
BIFramebuffer framebuffer;
|
|
BootModule modules[16];
|
|
BIUInt32 moduleCount;
|
|
} Bootinfo;
|
|
|
|
#define BOOTINFO_MAGIC 0x736F6E7961
|