Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/asm.S

    r91ef7cfd rd029434  
    175175
    176176/*
     177 * Size of the entire istate structure including the error word and the
     178 * hardware-saved part.
     179 */
     180#define ISTATE_REAL_SIZE  (ISTATE_SOFT_SIZE + 24)
     181
     182/*
    177183 * The SYSENTER syscall mechanism can be used for syscalls with
    178184 * four or fewer arguments. To pass these four arguments, we
     
    185191.global sysenter_handler
    186192sysenter_handler:
    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          */
     193        subl $(ISTATE_REAL_SIZE), %esp
    192194
    193195        /*
     
    258260        movl ISTATE_OFFSET_ESP(%esp), %ecx
    259261
     262        addl $(ISTATE_REAL_SIZE), %esp
     263       
    260264        sysexit   /* return to userspace */
    261265
     
    349353#define ERROR_WORD_INTERRUPT_LIST  0x00027d00
    350354
     355/** Declare interrupt handlers
     356 *
     357 * Declare interrupt handlers for n interrupt
     358 * vectors starting at vector i.
     359 *
     360 */
    351361.macro handler i
    352362.global int_\i
Note: See TracChangeset for help on using the changeset viewer.