Changeset c8cd9a8 in mainline
- Timestamp:
- 2010-07-14T12:29:35Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 864e272
- Parents:
- a7220de
- Location:
- kernel/arch/ia32/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/asm.S
ra7220de rc8cd9a8 175 175 176 176 /* 177 * Size of the entire istate structure including the error word and the178 * hardware-saved part.179 */180 #define ISTATE_REAL_SIZE (ISTATE_SOFT_SIZE + 24)181 182 /*183 177 * The SYSENTER syscall mechanism can be used for syscalls with 184 178 * four or fewer arguments. To pass these four arguments, we … … 191 185 .global sysenter_handler 192 186 sysenter_handler: 193 subl $(ISTATE_REAL_SIZE), %esp 187 188 /* 189 * Note that the space needed for the istate structure has been 190 * preallocated on the stack by before_thread_runs_arch(). 191 */ 194 192 195 193 /* … … 260 258 movl ISTATE_OFFSET_ESP(%esp), %ecx 261 259 262 addl $(ISTATE_REAL_SIZE), %esp263 264 260 sysexit /* return to userspace */ 265 261 -
kernel/arch/ia32/src/proc/scheduler.c
ra7220de rc8cd9a8 39 39 #include <arch.h> 40 40 #include <arch/context.h> /* SP_DELTA */ 41 #include <arch/interrupt.h> 41 42 #include <arch/pm.h> 42 43 #include <arch/asm.h> … … 63 64 if (CPU->arch.fi.bits.sep) { 64 65 /* Set kernel stack for CP3 -> CPL0 switch via SYSENTER */ 65 write_msr(IA32_MSR_SYSENTER_ESP, kstk );66 write_msr(IA32_MSR_SYSENTER_ESP, kstk - sizeof(istate_t)); 66 67 } 67 68
Note:
See TracChangeset
for help on using the changeset viewer.