Changes in kernel/arch/ia32/src/ia32.c [af9dd1e:4a5ba372] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/ia32.c
raf9dd1e r4a5ba372 50 50 #include <genarch/drivers/ega/ega.h> 51 51 #include <genarch/drivers/i8042/i8042.h> 52 #include <genarch/drivers/ns16550/ns16550.h>53 52 #include <genarch/drivers/legacy/ia32/io.h> 54 53 #include <genarch/fb/bfb.h> 55 54 #include <genarch/kbrd/kbrd.h> 56 #include <genarch/srln/srln.h>57 55 #include <genarch/multiboot/multiboot.h> 58 56 #include <genarch/multiboot/multiboot2.h> 59 #include <arch/pm.h>60 #include <arch/vreg.h>61 57 62 58 #ifdef CONFIG_SMP … … 98 94 void arch_post_mm_init(void) 99 95 { 100 vreg_init();101 102 96 if (config.cpu_active == 1) { 103 97 /* Initialize IRQ routing */ … … 126 120 zone_merge_all(); 127 121 } 128 129 } 130 131 void arch_post_cpu_init(void) 122 } 123 124 void arch_post_cpu_init() 132 125 { 133 126 #ifdef CONFIG_SMP … … 173 166 } 174 167 #endif 175 176 #if (defined(CONFIG_NS16550) || defined(CONFIG_NS16550_OUT))177 /*178 * Initialize the ns16550 controller.179 */180 #ifdef CONFIG_NS16550_OUT181 outdev_t *ns16550_out;182 outdev_t **ns16550_out_ptr = &ns16550_out;183 #else184 outdev_t **ns16550_out_ptr = NULL;185 #endif186 ns16550_instance_t *ns16550_instance187 = ns16550_init((ns16550_t *) NS16550_BASE, IRQ_NS16550, NULL, NULL,188 ns16550_out_ptr);189 if (ns16550_instance) {190 #ifdef CONFIG_NS16550191 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 #endif199 #ifdef CONFIG_NS16550_OUT200 if (ns16550_out) {201 stdout_wire(ns16550_out);202 }203 #endif204 }205 #endif206 168 207 169 if (irqs_info != NULL) … … 221 183 } 222 184 185 /** Set thread-local-storage pointer 186 * 187 * TLS pointer is set in GS register. That means, the GS contains 188 * 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 223 198 /** Construct function pointer 224 199 *
Note:
See TracChangeset
for help on using the changeset viewer.