1#ifndef _LOADER_H_INCLUDED
2#define _LOADER_H_INCLUDED
10#define MEMORY_REGION_USABLE (1ULL << 0)
12#define MEMORY_REGION_FIRMWARE (1ULL << 1)
14#define MEMORY_REGION_CODE (1ULL << 2)
16#define MEMORY_REGION_RO (1ULL << 3)
20#define MEMORY_REGION_NV (1ULL << 4)
22#define MEMORY_REGION_MORE_RELIABLE (1ULL << 5)
26#define MEMORY_REGION_UC (1ULL << 16)
28#define MEMORY_REGION_WC (1ULL << 17)
30#define MEMORY_REGION_WT (1ULL << 18)
32#define MEMORY_REGION_WB (1ULL << 19)
34#define MEMORY_REGION_UCE (1ULL << 20)
37#define MEMORY_REGION_WP (1ULL << 21)
39#define MEMORY_REGION_RP (1ULL << 22)
41#define MEMORY_REGION_XP (1ULL << 23)
uint16_t fb_stride
Pixels per scanline (including invisible pixels)
uint64_t offset
Offset where the file contents are located after LoaderStruct.
uint64_t flags
Flags for the memory region. See MEMORY_REGION_ defines.
uint64_t signature
Signature. always 0x17a15174545c8b4f.
uint64_t num_files
Number of loaded files.
uint16_t fb_width
Width of the framebuffer in visible pixels.
ptr_t firmware_info
Firmware info data, e.g. EFI_SYSTEM_TABLE on UEFI.
size_t num_pages
Number of pages, where page size is 4096 bytes.
static const uint64_t LFOS_LOADER_SIGNATURE
ptr_t fb_location
Location of framebuffer as physical address.
uint64_t size
Size of the loaded file.
uint64_t num_mem_desc
Number of memory descriptors.
uint8_t fb_bpp
Bytes per pixel for the framebuffer.
ptr_t start_address
Start of the region as physical address.
char name[256]
Zero terminated string with the name of the file.
uint16_t fb_height
Height of the framebuffer in pixels.
uint8_t fb_reserved1
reserved location
Main interface between loader and kernel.
Describes a single memory region.