2020-03-25 23:05:14 +03:00
|
|
|
#ifndef __PROTOS__STIVALE_H__
|
|
|
|
#define __PROTOS__STIVALE_H__
|
|
|
|
|
2020-09-02 10:55:56 +03:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
2021-12-31 12:58:05 +03:00
|
|
|
#include <stdnoreturn.h>
|
2020-09-21 13:15:55 +03:00
|
|
|
#include <mm/vmm.h>
|
2021-07-15 15:09:12 +03:00
|
|
|
#include <lib/elf.h>
|
2020-03-25 23:05:14 +03:00
|
|
|
|
2021-11-24 15:23:02 +03:00
|
|
|
bool stivale_load(char *config, char *cmdline);
|
2020-09-18 15:39:29 +03:00
|
|
|
|
2021-07-05 13:20:47 +03:00
|
|
|
bool stivale_load_by_anchor(void **_anchor, const char *magic,
|
2021-07-05 09:04:17 +03:00
|
|
|
uint8_t *file, uint64_t filesize);
|
2021-10-29 02:15:11 +03:00
|
|
|
pagemap_t stivale_build_pagemap(bool level5pg, bool unmap_null, struct elf_range *ranges, size_t ranges_count,
|
2021-11-24 17:44:17 +03:00
|
|
|
bool want_fully_virtual, uint64_t physical_base, uint64_t virtual_base,
|
|
|
|
uint64_t direct_map_offset);
|
2021-12-31 12:58:05 +03:00
|
|
|
noreturn void stivale_spinup(
|
2021-03-07 02:52:25 +03:00
|
|
|
int bits, bool level5pg, pagemap_t *pagemap,
|
2021-07-15 17:20:29 +03:00
|
|
|
uint64_t entry_point, uint64_t stivale_struct, uint64_t stack,
|
2021-11-26 00:46:16 +03:00
|
|
|
bool enable_nx, uint32_t local_gdt);
|
2020-03-25 23:05:14 +03:00
|
|
|
|
|
|
|
#endif
|