Changes in kernel/arch/ia32/src/ia32.c [4a5ba372:af9dd1e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/ia32.c
r4a5ba372 raf9dd1e 50 50 #include <genarch/drivers/ega/ega.h> 51 51 #include <genarch/drivers/i8042/i8042.h> 52 #include <genarch/drivers/ns16550/ns16550.h> 52 53 #include <genarch/drivers/legacy/ia32/io.h> 53 54 #include <genarch/fb/bfb.h> 54 55 #include <genarch/kbrd/kbrd.h> 56 #include <genarch/srln/srln.h> 55 57 #include <genarch/multiboot/multiboot.h> 56 58 #include <genarch/multiboot/multiboot2.h> 59 #include <arch/pm.h> 60 #include <arch/vreg.h> 57 61 58 62 #ifdef CONFIG_SMP … … 94 98 void arch_post_mm_init(void) 95 99 { 100 vreg_init(); 101 96 102 if (config.cpu_active == 1) { 97 103 /* Initialize IRQ routing */ … … 120 126 zone_merge_all(); 121 127 } 122 } 123 124 void arch_post_cpu_init() 128 129 } 130 131 void arch_post_cpu_init(void) 125 132 { 126 133 #ifdef CONFIG_SMP … … 166 173 } 167 174 #endif 175 176 #if (defined(CONFIG_NS16550) || defined(CONFIG_NS16550_OUT)) 177 /* 178 * Initialize the ns16550 controller. 179 */ 180 #ifdef CONFIG_NS16550_OUT 181 outdev_t *ns16550_out; 182 outdev_t **ns16550_out_ptr = &ns16550_out; 183 #else 184 outdev_t **ns16550_out_ptr = NULL; 185 #endif 186 ns16550_instance_t *ns16550_instance 187 = ns16550_init((ns16550_t *) NS16550_BASE, IRQ_NS16550, NULL, NULL, 188 ns16550_out_ptr); 189 if (ns16550_instance) { 190 #ifdef CONFIG_NS16550 191 srln_instance_t *srln_instance = srln_init(); 192 if (srln_instance) { 193 indev_t *sink = stdin_wire(); 194 indev_t *srln = srln_wire(srln_instance, sink); 195 ns16550_wire(ns16550_instance, srln); 196 trap_virtual_enable_irqs(1 << IRQ_NS16550); 197 } 198 #endif 199 #ifdef CONFIG_NS16550_OUT 200 if (ns16550_out) { 201 stdout_wire(ns16550_out); 202 } 203 #endif 204 } 205 #endif 168 206 169 207 if (irqs_info != NULL) … … 183 221 } 184 222 185 /** Set thread-local-storage pointer186 *187 * TLS pointer is set in GS register. That means, the GS contains188 * selector, and the descriptor->base is the correct address.189 */190 sysarg_t sys_tls_set(uintptr_t addr)191 {192 THREAD->arch.tls = addr;193 set_tls_desc(addr);194 195 return EOK;196 }197 198 223 /** Construct function pointer 199 224 *
Note:
See TracChangeset
for help on using the changeset viewer.