CeDOS - Commit e50d01b2

Hotfixes + added malloc for keyboard buffer
Celina Sophie Kalus
Sat, 29 Apr 2023 17:03:17 +0200
2 files changed, 8 insertions(+), 1 deletions(-)
M src/kernel/drivers/ps2_keyboard.csrc/kernel/drivers/ps2_keyboard.c

@@ -3,6 +3,7 @@ #include "cedos/interrupts.h"

#include "cedos/pic.h" #include "cedos/core.h" #include "cedos/sched/sched.h" +#include "cedos/mm/memory.h" #include "assembly.h" #define PS2_DATA 0x60

@@ -47,7 +48,7 @@ ps2_kb_init,

ps2_kb_read }; -uint8_t buffer[BUFFER_LENGTH]; +uint8_t *buffer; volatile uint32_t buffer_head, buffer_tail; __attribute__((always_inline)) inline void buffer_enqueue(uint8_t value) {

@@ -79,6 +80,11 @@ pic1_eoi();

} int ps2_kb_init(void) { + buffer_head = 0; + buffer_tail = 0; + + buffer = os_kernel_malloc(BUFFER_LENGTH); + // clear incoming data inb(PS2_DATA);
M src/kernel/string.csrc/kernel/string.c

@@ -20,6 +20,7 @@ while (source[i]) {

destination[i] = source[i]; i++; } + destination[i] = 0; return destination; }