improved uart character printing and poweroff/restart

This commit is contained in:
Liam Kerr 2026-02-08 22:06:36 +00:00
parent 10851eeb64
commit 8cd08165e0
6 changed files with 66 additions and 7 deletions

27
src/drivers/uart.c Normal file
View file

@ -0,0 +1,27 @@
#include <stdint.h>
#include <stddef.h>
#include <drivers/uart.h>
void uart_put(size_t base_addr, uint8_t data) {
*(volatile uint8_t *)base_addr = data;
}
int kputchar(int ch) {
uart_put(UART_ADDRESS, ch);
return ch;
}
void kprint(const char *str) {
while (*str) {
kputchar(*str++);
}
}
void knewline(void) {
kputchar('\n');
}
void kputs(const char *str) {
kprint(str);
knewline();
}