feat: added printf
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include <libk.h>
|
||||
#include <drivers/pci.h>
|
||||
#include <drivers/ide.h>
|
||||
#include <libc/kprintf.h>
|
||||
|
||||
#define BOOTLOADER_NAME_MAX_LENGTH 64
|
||||
#define CMDLINE_MAX_LENGTH 256
|
||||
@@ -44,12 +45,10 @@ cmd_handler cmd_handlers[] = {
|
||||
};
|
||||
|
||||
void print_bootinfo() {
|
||||
kprint("Bootloader name: ");
|
||||
kprint(bootloader_name[0] == 0 ? "NULL" : bootloader_name);
|
||||
kprint(newline);
|
||||
kprint("cmdline: ");
|
||||
kprint(cmdline[0] == 0 ? "NULL" : cmdline);
|
||||
kprint(newline);
|
||||
printf("Bootloader name: %s\n"
|
||||
"cmdline: %s\n",
|
||||
(bootloader_name[0] == 0 ? "NULL" : bootloader_name),
|
||||
(cmdline[0] == 0 ? "NULL" : cmdline));
|
||||
}
|
||||
|
||||
void help(const char* arg) {
|
||||
@@ -59,8 +58,7 @@ void help(const char* arg) {
|
||||
if (cmd_handlers[index].cmd == NULL) {
|
||||
break;
|
||||
}
|
||||
kprint(cmd_handlers[index].cmd);
|
||||
kprint(newline);
|
||||
printf("%s\n", cmd_handlers[index].cmd);
|
||||
index += 1;
|
||||
}
|
||||
|
||||
@@ -96,16 +94,14 @@ void store_bootloader_info(multiboot_info_t *multiboot_info) {
|
||||
if (multiboot_info->flags & MULTIBOOT_INFO_CMDLINE) {
|
||||
int cmdline_length = strlen((const char *) multiboot_info->cmdline);
|
||||
if (cmdline_length > CMDLINE_MAX_LENGTH) {
|
||||
kprint("cmdline to long!");
|
||||
k_panic();
|
||||
k_panics("cmdline to long!\n");
|
||||
}
|
||||
memcpy(cmdline, (char *) multiboot_info->cmdline, cmdline_length);
|
||||
}
|
||||
if (multiboot_info->flags & MULTIBOOT_INFO_BOOT_LOADER_NAME) {
|
||||
int bootloader_length = strlen((const char *) multiboot_info->boot_loader_name);
|
||||
if (bootloader_length > BOOTLOADER_NAME_MAX_LENGTH) {
|
||||
kprint("bootloader name to long!");
|
||||
k_panic();
|
||||
k_panics("bootloader name to long!\n");
|
||||
}
|
||||
memcpy(bootloader_name, (char *) multiboot_info->boot_loader_name, bootloader_length);
|
||||
}
|
||||
@@ -117,8 +113,7 @@ void init_mmap(multiboot_info_t *multiboot_info) {
|
||||
multiboot_info->mmap_length / sizeof(struct multiboot_mmap_entry));
|
||||
// todo fallback on other mechanisms?
|
||||
} else {
|
||||
kprint("mmap invalid!\n");
|
||||
k_panic();
|
||||
k_panics("mmap invalid!\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,8 +151,10 @@ void kmain(multiboot_info_t *multiboot_info) {
|
||||
// setup PS/2 keyboard
|
||||
init_keyboard();
|
||||
|
||||
u8* tmp = malloc(4096);
|
||||
ide_read_access(0, 0, 0, 16, tmp);
|
||||
// print_gdt();
|
||||
|
||||
// u8* tmp = malloc(4096);
|
||||
// ide_read_access(0, 0, 0, 16, tmp);
|
||||
|
||||
// enter main loop
|
||||
while (true) {
|
||||
|
||||
Reference in New Issue
Block a user