Changeset 6ac14a70 in mainline for kernel/arch/arm32/src/arm32.c
- Timestamp:
- 2009-07-28T12:47:31Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5e73815
- Parents:
- 7038f55
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/arm32.c
r7038f55 r6ac14a70 38 38 #include <genarch/fb/fb.h> 39 39 #include <genarch/fb/visuals.h> 40 #include <genarch/drivers/dsrln/dsrlnin.h>41 #include <genarch/drivers/dsrln/dsrlnout.h>42 #include <genarch/srln/srln.h>43 40 #include <sysinfo/sysinfo.h> 44 41 #include <console/console.h> 45 42 #include <ddi/irq.h> 46 #include <arch/ drivers/gxemul.h>43 #include <arch/machine.h> 47 44 #include <print.h> 48 45 #include <config.h> … … 78 75 void arch_post_mm_init(void) 79 76 { 80 gxemul_init();77 machine_init(); 81 78 82 79 /* Initialize exception dispatch table */ … … 85 82 86 83 #ifdef CONFIG_FB 87 fb_properties_t prop = { 88 .addr = GXEMUL_FB_ADDRESS, 89 .offset = 0, 90 .x = 640, 91 .y = 480, 92 .scan = 1920, 93 .visual = VISUAL_BGR_8_8_8, 94 }; 95 fb_init(&prop); 84 machine_fb_init(); 96 85 #else 97 86 #ifdef CONFIG_ARM_PRN 98 dsrlnout_init((ioport8_t *) gxemul_kbd);87 machine_output_init(); 99 88 #endif /* CONFIG_ARM_PRN */ 100 89 #endif /* CONFIG_FB */ … … 127 116 void arch_post_smp_init(void) 128 117 { 129 #ifdef CONFIG_ARM_KBD 130 /* 131 * Initialize the GXemul keyboard port. Then initialize the serial line 132 * module and connect it to the GXemul keyboard. 133 */ 134 dsrlnin_instance_t *dsrlnin_instance 135 = dsrlnin_init((dsrlnin_t *) gxemul_kbd, GXEMUL_KBD_IRQ); 136 if (dsrlnin_instance) { 137 srln_instance_t *srln_instance = srln_init(); 138 if (srln_instance) { 139 indev_t *sink = stdin_wire(); 140 indev_t *srln = srln_wire(srln_instance, sink); 141 dsrlnin_wire(dsrlnin_instance, srln); 142 } 143 } 144 145 /* 146 * This is the necessary evil until the userspace driver is entirely 147 * self-sufficient. 148 */ 149 sysinfo_set_item_val("kbd", NULL, true); 150 sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ); 151 sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd); 152 #endif 118 machine_input_init(); 153 119 } 154 120 … … 157 123 void before_task_runs_arch(void) 158 124 { 159 tlb_invalidate_all();160 125 } 161 126 … … 169 134 uint8_t *stck; 170 135 136 tlb_invalidate_all(); 171 137 stck = &THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA]; 172 138 supervisor_sp = (uintptr_t) stck; … … 184 150 void cpu_halt(void) 185 151 { 186 *((char *) (gxemul_kbd + GXEMUL_HALT_OFFSET)) 187 = 0; 152 machine_cpu_halt(); 188 153 } 189 154 … … 212 177 void arch_grab_console(void) 213 178 { 179 machine_grab_console(); 214 180 #ifdef CONFIG_FB 215 181 fb_redraw(); … … 220 186 void arch_release_console(void) 221 187 { 188 machine_release_console(); 222 189 } 223 190
Note:
See TracChangeset
for help on using the changeset viewer.