XenevaOS
Loading...
Searching...
No Matches
aurora.h
Go to the documentation of this file.
1
30#ifndef __AURORA_H__
31#define __AURORA_H__
32
33#include "littleboot.h"
34
35/*
36 * The kernel boot info, that will be passed
37 * to the main kernel file
38 * NOTE: the structure is similar to x86_64 build and
39 * arm64 build. This structure was designed only for
40 * UEFI based boot protocol. But LittleBoot doesn't
41 * use UEFI, so it has to somehow prepare the same structure
42 * and passed to the kernel, because kernel was already
43 * build from ground up with UEFI in mind. Most of the
44 * fields are not used though, but little boot uses
45 * its own structure for the kernel and pass it through
46 * the main structure, kernel can recognise little boot
47 * structure
48 */
49
50 #define BOOT_UEFI_X64 1
51 #define BOOT_UEFI_ARM64 2
52 #define BOOT_LITTLEBOOT_ARM64 3 //we'll use this
53
54 typedef struct _lbprotocol_{
60 /* we should take care of
61 * little boot binary occupied
62 * memory area also, becasuse
63 * upto the main kernel becomes
64 * standalone, we can't neglect
65 * little boot code. because memory
66 * map data structure, and paging
67 * data structures are statically
68 * allocated within this region
69 */
72
73 /* usable memory map describes
74 * usable memory areas*/
81
113
114#endif
struct _KERNEL_BOOT_INFO_ * PKERNEL_BOOT_INFO
struct _KERNEL_BOOT_INFO_ KERNEL_BOOT_INFO
struct _lbprotocol_ LittleBootProtocol
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
Definition aurora.h:82
void * acpi_table_ptr
Definition aurora.h:98
uint16_t XResolution
Definition aurora.h:91
uint8_t * psf_font_data
Definition aurora.h:100
uint32_t cid
Definition aurora.h:111
size_t kernel_size
Definition aurora.h:99
size_t fb_size
Definition aurora.h:90
uint32_t bluemask
Definition aurora.h:96
uint8_t * driver_entry6
Definition aurora.h:107
void * apcode
Definition aurora.h:108
void * allocatedStack
Definition aurora.h:84
void(* printf_gui)(const char *text,...)
Definition aurora.h:101
uint32_t uid
Definition aurora.h:110
uint64_t reserved_mem_count
Definition aurora.h:85
uint8_t * driver_entry2
Definition aurora.h:103
uint32_t greenmask
Definition aurora.h:95
uint8_t * driver_entry3
Definition aurora.h:104
int boot_type
Definition aurora.h:83
uint32_t hid
Definition aurora.h:109
uint16_t YResolution
Definition aurora.h:92
uint64_t mem_map_size
Definition aurora.h:88
uint8_t * driver_entry5
Definition aurora.h:106
uint8_t * driver_entry1
Definition aurora.h:102
uint16_t pixels_per_line
Definition aurora.h:93
uint32_t * graphics_framebuffer
Definition aurora.h:89
uint8_t * driver_entry4
Definition aurora.h:105
uint32_t resvmask
Definition aurora.h:97
uint32_t redmask
Definition aurora.h:94
void * map
Definition aurora.h:86
uint64_t descriptor_size
Definition aurora.h:87
Definition aurora.h:62
uint64_t device_tree_end
Definition aurora.h:66
uint64_t num_page_count
Definition aurora.h:79
uint64_t initrd_end
Definition aurora.h:64
uint64_t littleBootStart
Definition aurora.h:78
uint64_t device_tree_sz
Definition aurora.h:67
uint64_t initrd_start
Definition aurora.h:63
uint64_t physical_end
Definition aurora.h:78
uint64_t physical_start
Definition aurora.h:77
uint64_t littleBootEnd
Definition aurora.h:79
int usable_region_count
Definition aurora.h:84
void * usable_memory_map
Definition aurora.h:83
uint64_t device_tree_base
Definition aurora.h:65