kernel/drivers/serial_console.c (view raw)
#include <stddef.h>
#include "assembly.h"
#include "drivers/console.h"
#define SERIAL_PORT (0x3F8)
int serial_con_init(void);
void serial_con_write_c(const char);
void serial_con_write_n(const char *, uint32_t);
CON_DRIVER serial_con = {
.name = "Serial console",
.init = serial_con_init,
.write_c = serial_con_write_c,
.write_n = serial_con_write_n
};
int serial_con_init(void) {
return 0;
}
void serial_con_write_c(const char c) {
outb(c, SERIAL_PORT);
}
void serial_con_write_n(const char *string, uint32_t num) {
for (size_t i = 0; i < num; i++) {
outb(string[i], SERIAL_PORT);
}
}