Changeset dd4d6b0 in mainline for arch/amd64/src
- Timestamp:
- 2006-02-06T23:47:47Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 37b451f7
- Parents:
- 40ca402
- Location:
- arch/amd64/src
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/src/amd64.c
r40ca402 rdd4d6b0 46 46 #include <panic.h> 47 47 #include <interrupt.h> 48 #include <arch/syscall.h> 48 49 49 50 /** Disable I/O on non-privileged levels … … 100 101 /* Enable No-execute pages */ 101 102 set_efer_flag(AMD_NXE_FLAG); 102 /* Enable SYSCALL/SYSRET */103 set_efer_flag(AMD_SCE_FLAG);104 103 /* Enable FPU */ 105 104 cpu_setup_fpu(); 105 106 106 /* Initialize segmentation */ 107 107 pm_init(); … … 113 113 /* Disable alignment check */ 114 114 clean_AM_flag(); 115 116 115 117 116 if (config.cpu_active == 1) { … … 133 132 ega_init(); /* video */ 134 133 } 134 /* Setup fast SYSCALL/SYSRET */ 135 syscall_setup_cpu(); 136 135 137 } 136 138 -
arch/amd64/src/asm_utils.S
r40ca402 rdd4d6b0 39 39 .text 40 40 .global interrupt_handlers 41 .global syscall_entry 41 42 .global panic_printf 42 43 … … 189 190 handler 0 IDT_ITEMS 190 191 h_end: 191 192 193 194 syscall_entry: 195 # TODO: Switch to kernel stack 196 call syscall_handler 197 # Switch back 198 sysret 199 192 200 .data 193 201 .global interrupt_handler_size -
arch/amd64/src/pm.c
r40ca402 rdd4d6b0 72 72 .granularity = 1, 73 73 .base_24_31 = 0 }, 74 /* UDATA descriptor */ 75 { .limit_0_15 = 0xffff, 76 .base_0_15 = 0, 77 .base_16_23 = 0, 78 .access = AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER, 79 .limit_16_19 = 0xf, 80 .available = 0, 81 .longmode = 0, 82 .special = 1, 83 .granularity = 1, 84 .base_24_31 = 0 }, 74 85 /* UTEXT descriptor */ 75 86 { .limit_0_15 = 0xffff, … … 81 92 .longmode = 1, 82 93 .special = 0, 83 .granularity = 1,84 .base_24_31 = 0 },85 /* UDATA descriptor */86 { .limit_0_15 = 0xffff,87 .base_0_15 = 0,88 .base_16_23 = 0,89 .access = AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER,90 .limit_16_19 = 0xf,91 .available = 0,92 .longmode = 0,93 .special = 1,94 94 .granularity = 1, 95 95 .base_24_31 = 0 },
Note:
See TracChangeset
for help on using the changeset viewer.