Changeset 00287cc in mainline for kernel/arch/arm32/src/arm32.c
- Timestamp:
- 2009-03-12T23:26:32Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 648c9d9
- Parents:
- 3b122e9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/arm32.c
r3b122e9 r00287cc 40 40 #include <genarch/fb/fb.h> 41 41 #include <genarch/fb/visuals.h> 42 #include <genarch/drivers/dsrln/dsrlnin.h> 43 #include <genarch/drivers/dsrln/dsrlnout.h> 44 #include <genarch/srln/srln.h> 45 #include <sysinfo/sysinfo.h> 42 46 #include <ddi/irq.h> 43 #include <arch/d ebug/print.h>47 #include <arch/drivers/gxemul.h> 44 48 #include <print.h> 45 49 #include <config.h> 46 50 #include <interrupt.h> 47 51 #include <arch/regutils.h> 48 #include <arch/machine.h>49 52 #include <userspace.h> 50 53 #include <macros.h> … … 76 79 void arch_post_mm_init(void) 77 80 { 78 machine_hw_map_init();79 81 gxemul_init(); 82 80 83 /* Initialize exception dispatch table */ 81 84 exception_init(); 82 83 85 interrupt_init(); 84 86 85 machine_console_init(device_assign_devno());86 87 87 #ifdef CONFIG_FB 88 88 fb_properties_t prop = { 89 .addr = machine_get_fb_address(),89 .addr = GXEMUL_FB_ADDRESS, 90 90 .offset = 0, 91 91 .x = 640, … … 95 95 }; 96 96 fb_init(&prop); 97 #endif 97 #else 98 #ifdef CONFIG_ARM_PRN 99 dsrlnout_init((ioport8_t *) gxemul_kbd); 100 #endif /* CONFIG_ARM_PRN */ 101 #endif /* CONFIG_FB */ 98 102 } 99 103 … … 124 128 void arch_post_smp_init(void) 125 129 { 130 #ifdef CONFIG_ARM_KBD 131 devno_t devno = device_assign_devno(); 132 133 /* 134 * Initialize the msim/GXemul keyboard port. Then initialize the serial line 135 * module and connect it to the msim/GXemul keyboard. Enable keyboard interrupts. 136 */ 137 indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) gxemul_kbd, devno, GXEMUL_KBD_IRQ); 138 if (kbrdin) 139 srln_init(kbrdin); 140 141 /* 142 * This is the necessary evil until the userspace driver is entirely 143 * self-sufficient. 144 */ 145 sysinfo_set_item_val("kbd", NULL, true); 146 sysinfo_set_item_val("kbd.devno", NULL, devno); 147 sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ); 148 sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd); 149 #endif 126 150 } 127 151 … … 157 181 void cpu_halt(void) 158 182 { 159 machine_cpu_halt(); 183 *((char *) (gxemul_kbd + GXEMUL_HALT_OFFSET)) 184 = 0; 160 185 } 161 186
Note:
See TracChangeset
for help on using the changeset viewer.