From 5631e68852081bb4e4eaa6e3bb3a53a4d024dff2 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 15 Jul 2017 17:36:45 +0200 Subject: moved keyboard driver into the global kernel context (away from the stack) --- src/kernel/kernel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 734572c..2d34d4c 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -47,6 +47,7 @@ typedef struct { memory_manager_t memory_manager; vga_t vga; mode_t mode; + keyboard_t keyboard; mouse_t mouse; desktop_t desktop; window_t window1; @@ -121,12 +122,11 @@ void kernel_main( void ) // hard-wired drivers - keyboard_t keyboard; - keyboard_init( &keyboard, &handle_keyboard_event, (void *)&global_context ); + keyboard_init( &global_context.keyboard, &handle_keyboard_event, (void *)&global_context ); interrupt_handler_t keyboard_interrupt_handler; - interrupt_handler_init( &keyboard_interrupt_handler, IRQ_BASE + 0x01, &interrupt, keyboard_handle_interrupt, &keyboard ); + interrupt_handler_init( &keyboard_interrupt_handler, IRQ_BASE + 0x01, &interrupt, keyboard_handle_interrupt, &global_context.keyboard ); interrupts_register_interrupt_handler( keyboard_interrupt_handler ); - driver_manager_add_driver( &global_context.driver_manager, (driver_t *)&keyboard ); + driver_manager_add_driver( &global_context.driver_manager, (driver_t *)&global_context.keyboard ); mouse_init( &global_context.mouse, &handle_mouse_event, global_context.vga_text.res_x, global_context.vga_text.res_y, (void *)&global_context ); interrupt_handler_t mouse_interrupt_handler; -- cgit v1.2.3-54-g00ecf