Changes in kernel/arch/amd64/src/amd64.c [a71c158:f902d36] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/amd64.c
ra71c158 rf902d36 35 35 #include <arch.h> 36 36 37 #include < arch/types.h>37 #include <typedefs.h> 38 38 39 39 #include <config.h> … … 67 67 #include <ddi/irq.h> 68 68 #include <sysinfo/sysinfo.h> 69 #include <memstr.h> 69 70 70 71 /** Disable I/O on non-privileged levels … … 121 122 /* Enable FPU */ 122 123 cpu_setup_fpu(); 123 124 124 125 /* Initialize segmentation */ 125 126 pm_init(); … … 131 132 /* Disable alignment check */ 132 133 clean_AM_flag(); 133 134 134 135 if (config.cpu_active == 1) { 135 136 interrupt_init(); … … 198 199 void arch_post_smp_init(void) 199 200 { 201 /* Currently the only supported platform for amd64 is 'pc'. */ 202 static const char *platform = "pc"; 203 204 sysinfo_set_item_data("platform", NULL, (void *) platform, 205 str_size(platform)); 206 200 207 #ifdef CONFIG_PC_KBD 201 208 /* … … 211 218 i8042_wire(i8042_instance, kbrd); 212 219 trap_virtual_enable_irqs(1 << IRQ_KBD); 220 trap_virtual_enable_irqs(1 << IRQ_MOUSE); 213 221 } 214 222 } … … 218 226 * self-sufficient. 219 227 */ 220 sysinfo_set_item_val("kbd", NULL, true); 221 sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD); 222 sysinfo_set_item_val("kbd.address.physical", NULL, 228 sysinfo_set_item_val("i8042", NULL, true); 229 sysinfo_set_item_val("i8042.inr_a", NULL, IRQ_KBD); 230 sysinfo_set_item_val("i8042.inr_b", NULL, IRQ_MOUSE); 231 sysinfo_set_item_val("i8042.address.physical", NULL, 223 232 (uintptr_t) I8042_BASE); 224 sysinfo_set_item_val(" kbd.address.kernel", NULL,233 sysinfo_set_item_val("i8042.address.kernel", NULL, 225 234 (uintptr_t) I8042_BASE); 226 235 #endif 236 237 if (irqs_info != NULL) 238 sysinfo_set_item_val(irqs_info, NULL, true); 239 240 sysinfo_set_item_val("netif.ne2000.inr", NULL, IRQ_NE2000); 227 241 } 228 242 … … 247 261 * we need not to go to CPL0 to read it. 248 262 */ 249 unative_t sys_tls_set(unative_t addr)263 sysarg_t sys_tls_set(sysarg_t addr) 250 264 { 251 265 THREAD->arch.tls = addr; 252 266 write_msr(AMD_MSR_FS, addr); 267 253 268 return 0; 254 269 } … … 275 290 } 276 291 292 void irq_initialize_arch(irq_t *irq) 293 { 294 (void) irq; 295 } 296 277 297 /** @} 278 298 */
Note:
See TracChangeset
for help on using the changeset viewer.