From 8183f17368ea6944c8b36d7cb7564b33d2a0503a Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 16 Jul 2017 09:21:36 +0200 Subject: introduced classes of driver types (graphics, mouse, keyboard, network, etc.) removed direct vga_init from kernel.c, using pci for this now, get the driver of type graphics from driver_manager --- 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 31d4ec7..e107b8a 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -108,7 +108,7 @@ void kernel_main( void ) goto TERMINATE; } - // TODO: two demo tasks for now, later we should do something useful in a task + // task manager for VGA graphic refresh task_manager_init( &global_context.task_manager ); task_t taskRefreshScreen; task_init( &taskRefreshScreen, GDT_CODE_SEGMENT_SELECTOR, &refresh_screen ); @@ -145,9 +145,9 @@ void kernel_main( void ) 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, &global_context ); - driver_manager_add_driver( &global_context.driver_manager, (driver_t *)global_context.vga ); + // TODO: introduce a graphics driver type, don't cast diretly here + // TODO: also, what to do if there is more than one driver? + global_context.vga = (vga_t *)driver_manager_find_driver( &global_context.driver_manager, DRIVER_TYPE_GRAPHICS ); puts( "Activating drivers" ); driver_manager_activate_all( &global_context.driver_manager ); -- cgit v1.2.3-54-g00ecf