Luna/kernel/src/arch/CPU.h

23 lines
408 B
C
Raw Normal View History

2022-11-15 18:10:32 +00:00
#pragma once
#include <Result.h>
2022-11-16 16:37:18 +00:00
struct Registers;
2022-11-15 18:10:32 +00:00
namespace CPU
{
Result<const char*> identify();
2022-11-18 20:04:53 +00:00
const char* platform_string();
2022-11-15 18:10:32 +00:00
void platform_init();
2022-11-19 19:01:01 +00:00
void platform_finish_init();
2022-11-15 18:10:32 +00:00
[[noreturn]] void efficient_halt();
void switch_kernel_stack(u64 top);
2022-11-19 19:01:01 +00:00
void enable_interrupts();
void disable_interrupts();
void wait_for_interrupt();
}
extern "C" void kernel_yield();