Changes in kernel/arch/amd64/src/amd64.c [f902d36:88dfee7] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/amd64.c
rf902d36 r88dfee7 34 34 35 35 #include <arch.h> 36 37 36 #include <typedefs.h> 38 39 #include <config.h> 40 41 #include <proc/thread.h> 42 #include <genarch/multiboot/multiboot.h> 43 #include <genarch/drivers/legacy/ia32/io.h> 44 #include <genarch/drivers/ega/ega.h> 45 #include <arch/drivers/vesa.h> 46 #include <genarch/drivers/i8042/i8042.h> 47 #include <genarch/kbrd/kbrd.h> 37 #include <errno.h> 38 #include <memstr.h> 39 #include <interrupt.h> 40 #include <console/console.h> 41 #include <syscall/syscall.h> 42 #include <sysinfo/sysinfo.h> 43 #include <arch/bios/bios.h> 44 #include <arch/boot/boot.h> 45 #include <arch/debugger.h> 48 46 #include <arch/drivers/i8254.h> 49 47 #include <arch/drivers/i8259.h> 50 #include <arch/boot/boot.h> 48 #include <arch/syscall.h> 49 #include <genarch/acpi/acpi.h> 50 #include <genarch/drivers/ega/ega.h> 51 #include <genarch/drivers/i8042/i8042.h> 52 #include <genarch/drivers/legacy/ia32/io.h> 53 #include <genarch/fb/bfb.h> 54 #include <genarch/kbrd/kbrd.h> 55 #include <genarch/multiboot/multiboot.h> 56 #include <genarch/multiboot/multiboot2.h> 51 57 52 58 #ifdef CONFIG_SMP 53 59 #include <arch/smp/apic.h> 54 60 #endif 55 56 #include <arch/bios/bios.h>57 #include <arch/cpu.h>58 #include <print.h>59 #include <arch/cpuid.h>60 #include <genarch/acpi/acpi.h>61 #include <panic.h>62 #include <interrupt.h>63 #include <arch/syscall.h>64 #include <arch/debugger.h>65 #include <syscall/syscall.h>66 #include <console/console.h>67 #include <ddi/irq.h>68 #include <sysinfo/sysinfo.h>69 #include <memstr.h>70 61 71 62 /** Disable I/O on non-privileged levels … … 101 92 /** Perform amd64-specific initialization before main_bsp() is called. 102 93 * 103 * @param signature Should contain the multiboot signature. 104 * @param mi Pointer to the multiboot information structure. 105 */ 106 void arch_pre_main(uint32_t signature, const multiboot_info_t *mi) 94 * @param signature Multiboot signature. 95 * @param info Multiboot information structure. 96 * 97 */ 98 void arch_pre_main(uint32_t signature, void *info) 107 99 { 108 100 /* Parse multiboot information obtained from the bootloader. */ 109 multiboot_info_parse(signature, mi); 101 multiboot_info_parse(signature, (multiboot_info_t *) info); 102 multiboot2_info_parse(signature, (multiboot2_info_t *) info); 110 103 111 104 #ifdef CONFIG_SMP … … 153 146 154 147 #if (defined(CONFIG_FB) || defined(CONFIG_EGA)) 155 bool vesa= false;148 bool bfb = false; 156 149 #endif 157 150 158 151 #ifdef CONFIG_FB 159 vesa = vesa_init();152 bfb = bfb_init(); 160 153 #endif 161 154 162 155 #ifdef CONFIG_EGA 163 if (! vesa) {156 if (!bfb) { 164 157 outdev_t *egadev = ega_init(EGA_BASE, EGA_VIDEORAM); 165 158 if (egadev) … … 221 214 } 222 215 } 223 224 /*225 * This is the necessary evil until the userspace driver is entirely226 * self-sufficient.227 */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,232 (uintptr_t) I8042_BASE);233 sysinfo_set_item_val("i8042.address.kernel", NULL,234 (uintptr_t) I8042_BASE);235 216 #endif 236 217 237 218 if (irqs_info != NULL) 238 219 sysinfo_set_item_val(irqs_info, NULL, true); 239 240 sysinfo_set_item_val("netif.ne2000.inr", NULL, IRQ_NE2000);241 220 } 242 221 … … 261 240 * we need not to go to CPL0 to read it. 262 241 */ 263 sysarg_t sys_tls_set( sysarg_t addr)242 sysarg_t sys_tls_set(uintptr_t addr) 264 243 { 265 244 THREAD->arch.tls = addr; 266 245 write_msr(AMD_MSR_FS, addr); 267 246 268 return 0;247 return EOK; 269 248 } 270 249
Note:
See TracChangeset
for help on using the changeset viewer.