30 lines
551 B
C
30 lines
551 B
C
//
|
|
// Created by rick on 02-02-21.
|
|
//
|
|
|
|
#include <myke/libk/kprint.h>
|
|
#include <myke/attributes.h>
|
|
#include <myke/libk/libk.h>
|
|
|
|
bool k_addr_in_kspace(void *addr) {
|
|
return addr > kernel_start && addr < kernel_end;
|
|
}
|
|
|
|
void k_wait_for_interrupt() {
|
|
__asm__ __volatile__("hlt;");
|
|
}
|
|
|
|
void noreturn k_panics(const char *msg) {
|
|
// todo this is not printed
|
|
kprint_sync(msg);
|
|
k_panic();
|
|
}
|
|
|
|
void noreturn k_panic() {
|
|
kprint_sync("PANIC!");
|
|
while (1) {
|
|
__asm__ __volatile__("cli;"
|
|
"hlt;");
|
|
}
|
|
}
|