#include #include #include #include #include #include #include #include #include #include #include #include uacpi_status uacpi_kernel_get_rsdp(uacpi_phys_addr* out_rsdp_address) { *out_rsdp_address = (uacpi_phys_addr)rsdp_addr; return UACPI_STATUS_OK; } void* uacpi_kernel_map(uacpi_phys_addr addr, uacpi_size len) { uintptr_t vaddr = vm_alloc(len); for (size_t i = 0; i < len; i += arch_mem_page_size()) { pmap_map(&kernel_vas.pmap, vaddr, addr, PTE_READ | PTE_WRITE, CACHE_MMIO); } return (void*)vaddr; } void uacpi_kernel_unmap(void* addr, uacpi_size len) { // TODO } void uacpi_kernel_log(uacpi_log_level lvl, const uacpi_char* msg, ...) { va_list args; va_start(args, msg); kvprintf(msg, args); va_end(args); } void uacpi_kernel_vlog(uacpi_log_level lvl, const uacpi_char* msg, uacpi_va_list args) { kvprintf(msg, args); }