From 21c1989527191fa3739984a167d7a1cf939cfd6b Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 15 Jul 2017 21:14:10 +0200 Subject: started to make driver construtors similar (keyboard, mouse) passing context around to pci scanning function for driver initialization --- src/kernel/kernel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/kernel/kernel.c') diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 7d38269..d38929c 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -124,14 +124,14 @@ void kernel_main( void ) // hard-wired drivers global_context.keyboard = (keyboard_t *)malloc( sizeof( keyboard_t ) ); - keyboard_init( global_context.keyboard, &handle_keyboard_event, (void *)&global_context ); + 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, (void *)&global_context ); + 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 ); @@ -147,11 +147,11 @@ void kernel_main( void ) puts( "Detecting devices via PCI.." ); pci_controller_t pci_controller; pci_controller_init( &pci_controller ); - pci_controller_scan_and_register( &pci_controller, &global_context.driver_manager, &interrupt ); + pci_controller_scan_and_register( &pci_controller, &global_context.driver_manager, &interrupt, &global_context ); // TODO: merge with the text mode vga_text_t object global_context.vga = (vga_t *)malloc( sizeof( vga_t ) ); - vga_init( global_context.vga, &interrupt, NULL ); + vga_init( global_context.vga, &interrupt, &global_context ); driver_manager_add_driver( &global_context.driver_manager, (driver_t *)global_context.vga ); puts( "Activating drivers" ); -- cgit v1.2.3-54-g00ecf