Changeset a71c158 in mainline for kernel/arch/ia32/src
- Timestamp:
- 2009-08-21T14:12:45Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0e6dce8, b50b5af2, e5792d1
- Parents:
- 90c8b8d
- Location:
- kernel/arch/ia32/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/drivers/vesa.c
r90c8b8d ra71c158 27 27 */ 28 28 29 /** @addtogroup ia32 29 /** @addtogroup ia32 30 30 * @{ 31 31 */ … … 40 40 #include <genarch/fb/visuals.h> 41 41 #include <arch/drivers/vesa.h> 42 #include <console/chardev.h> 43 #include <console/console.h> 42 44 #include <putchar.h> 43 45 #include <mm/page.h> … … 66 68 uint8_t vesa_blue_pos; 67 69 68 int vesa_present(void)70 bool vesa_init(void) 69 71 { 70 if ((vesa_width != 0xffff) && (vesa_height != 0xffff))71 return true;72 if ((vesa_width == 0xffff) || (vesa_height == 0xffff)) 73 return false; 72 74 73 return false; 74 } 75 76 void vesa_init(void) 77 { 78 unsigned int visual; 75 visual_t visual; 79 76 80 77 switch (vesa_bpp) { … … 97 94 break; 98 95 default: 99 panic("Unsupported bits per pixel."); 96 LOG("Unsupported bits per pixel."); 97 return false; 100 98 } 101 99 … … 108 106 .visual = visual, 109 107 }; 110 fb_init(&vesa_props); 111 } 112 113 void vesa_redraw(void) 114 { 115 fb_redraw(); 108 109 outdev_t *fbdev = fb_init(&vesa_props); 110 if (!fbdev) 111 return false; 112 113 stdout_wire(fbdev); 114 return true; 116 115 } 117 116 -
kernel/arch/ia32/src/ia32.c
r90c8b8d ra71c158 112 112 i8254_init(); 113 113 114 #if (defined(CONFIG_FB) || defined(CONFIG_EGA)) 115 bool vesa = false; 116 #endif 117 114 118 #ifdef CONFIG_FB 115 if (vesa_present()) 116 vesa_init(); 117 else 118 #endif 119 vesa = vesa_init(); 120 #endif 121 119 122 #ifdef CONFIG_EGA 120 ega_init(EGA_BASE, EGA_VIDEORAM); /* video */ 121 #else 122 {} 123 if (!vesa) { 124 outdev_t *egadev = ega_init(EGA_BASE, EGA_VIDEORAM); 125 if (egadev) 126 stdout_wire(egadev); 127 } 123 128 #endif 124 129 … … 201 206 THREAD->arch.tls = addr; 202 207 set_tls_desc(addr); 203 208 204 209 return 0; 205 }206 207 /** Acquire console back for kernel208 *209 */210 void arch_grab_console(void)211 {212 #ifdef CONFIG_FB213 if (vesa_present())214 vesa_redraw();215 else216 #endif217 #ifdef CONFIG_EGA218 ega_redraw();219 #else220 {}221 #endif222 }223 224 /** Return console to userspace225 *226 */227 void arch_release_console(void)228 {229 210 } 230 211
Note:
See TracChangeset
for help on using the changeset viewer.