[bootloader] Added userland header, rewrote lernel header

This commit is contained in:
M4x1m3
2022-02-26 20:20:13 +01:00
parent 63c2b99260
commit 85ef57f7ed
7 changed files with 101 additions and 38 deletions

View File

@@ -0,0 +1,29 @@
#include <bootloader/kernel_header.h>
extern "C" void jump_to_firmware(const uint32_t* stackPtr, const void(*startPtr)(void));
namespace Bootloader {
const KernelHeader* s_kernelHeaderA = reinterpret_cast<const struct KernelHeader*>(0x90000000);
const KernelHeader* s_kernelHeaderB = reinterpret_cast<const struct KernelHeader*>(0x90400000);
const char * KernelHeader::version() const {
return m_version;
}
const char * KernelHeader::patchLevel() const {
return m_patchLevel;
}
const bool KernelHeader::isValid() const {
return m_header == Magic && m_footer == Magic;
}
[[ noreturn ]] void KernelHeader::boot() const {
jump_to_firmware(m_stackPointer, m_startPointer);
for(;;);
}
}