diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-16 09:21:36 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-16 09:21:36 +0200 |
commit | 8183f17368ea6944c8b36d7cb7564b33d2a0503a (patch) | |
tree | fc9ea3df698cab447dcee86cf94e047db037e9b6 /src/kernel | |
parent | 1e8bad98827b651009a8ad4b8134d8a72a004be3 (diff) | |
download | abaos-8183f17368ea6944c8b36d7cb7564b33d2a0503a.tar.gz abaos-8183f17368ea6944c8b36d7cb7564b33d2a0503a.tar.bz2 |
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
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/kernel.c | 8 |
1 files changed, 4 insertions, 4 deletions
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 ); |