35 lines
632 B
C
35 lines
632 B
C
//
|
|
// Created by rick on 02-02-21.
|
|
//
|
|
|
|
#include <attributes.h>
|
|
|
|
#include <myke/libk/kprint.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 att_noreturn k_panics(const char *msg) {
|
|
// todo this is not printed
|
|
kprint_sync(msg);
|
|
k_panic();
|
|
}
|
|
|
|
void att_noreturn k_not_implemented() {
|
|
k_panics("Not Implemented");
|
|
}
|
|
|
|
void att_noreturn k_panic() {
|
|
kprint_sync("PANIC!");
|
|
while (1) {
|
|
__asm__ __volatile__("cli;"
|
|
"hlt;");
|
|
}
|
|
}
|