Use new debug output formatter

This commit is contained in:
Alex Kotov 2022-12-09 07:28:48 +04:00
parent 921d7a2ae7
commit a2163e6493
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
1 changed files with 24 additions and 1 deletions

View File

@ -1,3 +1,5 @@
#define KERNAUX_ACCESS_PROTECTED
#include "paging.h"
#include "info.h"
@ -6,9 +8,12 @@
#include "protected.h"
#include <drivers/console.h>
#include <kernaux/generic/display.h>
#include <kernaux/macro.h>
#include <kernaux/multiboot2.h>
#include <kernaux/pfa.h>
#include <stdarg.h>
#include <stdint.h>
// Defined in linker script
@ -23,6 +28,14 @@ static struct Kernel_Info kinfo;
static struct KernAux_PFA pfa;
static struct Paging paging;
void my_putc(void *display KERNAUX_UNUSED, char c);
void my_vprintf(void *display KERNAUX_UNUSED, const char *format, va_list va);
static const struct KernAux_Display display = {
.putc = my_putc,
.vprintf = my_vprintf,
};
void main(
const unsigned long multiboot2_info_magic,
const struct KernAux_Multiboot2_Info *const multiboot2_info
@ -33,7 +46,7 @@ void main(
panic("Multiboot 2 info magic number is invalid.");
}
KernAux_Multiboot2_Info_print(multiboot2_info, drivers_console_printf);
KernAux_Multiboot2_Info_print(multiboot2_info, &display);
if (!KernAux_Multiboot2_Info_is_valid(multiboot2_info)) {
panic("Multiboot 2 info is invalid.");
@ -69,3 +82,13 @@ void main(
drivers_console_puts("[INFO] main: Finished.");
}
void my_putc(void *display KERNAUX_UNUSED, char c)
{
drivers_console_putc(c);
}
void my_vprintf(void *display KERNAUX_UNUSED, const char *format, va_list va)
{
drivers_console_vprintf(format, va);
}