summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-07-16 08:19:05 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-07-16 08:19:05 +0200
commit1e8bad98827b651009a8ad4b8134d8a72a004be3 (patch)
tree3c93acf15ff42d3f07d807d02852f43d8ac21b1b /src/kernel
parent21c1989527191fa3739984a167d7a1cf939cfd6b (diff)
downloadabaos-1e8bad98827b651009a8ad4b8134d8a72a004be3.tar.gz
abaos-1e8bad98827b651009a8ad4b8134d8a72a004be3.tar.bz2
moved registering of mouse/keyboard interrupts into the driver activation instead
of having them directly in kernel.c also more standardization of the driver init functions (mouse set_resolution instead of constructor parameters res_x and res_y)
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/kernel.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c
index d38929c..31d4ec7 100644
--- a/src/kernel/kernel.c
+++ b/src/kernel/kernel.c
@@ -125,16 +125,11 @@ void kernel_main( void )
global_context.keyboard = (keyboard_t *)malloc( sizeof( keyboard_t ) );
keyboard_init( global_context.keyboard, &handle_keyboard_event, &interrupt, (void *)&global_context );
- interrupt_handler_t keyboard_interrupt_handler;
- 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 *)global_context.keyboard );
global_context.mouse = (mouse_t *)malloc( sizeof( mouse_t ) );
- mouse_init( global_context.mouse, &handle_mouse_event, global_context.vga_text.res_x, global_context.vga_text.res_y, &interrupt, (void *)&global_context );
- interrupt_handler_t mouse_interrupt_handler;
- interrupt_handler_init( &mouse_interrupt_handler, IRQ_BASE + 0x0C, &interrupt, mouse_handle_interrupt, global_context.mouse );
- interrupts_register_interrupt_handler( mouse_interrupt_handler );
+ mouse_init( global_context.mouse, &handle_mouse_event, &interrupt, (void *)&global_context );
+ mouse_set_resolution( global_context.mouse, global_context.vga_text.res_x, global_context.vga_text.res_y );
driver_manager_add_driver( &global_context.driver_manager, (driver_t *)global_context.mouse );
// exit point in case of kernel panic, do this as soon as