Changeset 8d427a3 in mainline
- Timestamp:
- 2014-08-27T23:07:42Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f27f3fd
- Parents:
- b8fac76
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/Makefile.inc
rb8fac76 r8d427a3 105 105 arch/$(KARCH)/src/fpu_context.c \ 106 106 arch/$(KARCH)/src/syscall.c 107 108 ARCH_AUTOGENS_AG = \ 109 arch/$(KARCH)/include/arch/istate_struct.ag 110 -
kernel/arch/ia32/include/arch/istate.h
rb8fac76 r8d427a3 38 38 #include <trace.h> 39 39 40 typedef struct istate { 41 /* 42 * The strange order of the GPRs is given by the requirement to use the 43 * istate structure for both regular interrupts and exceptions as well 44 * as for syscall handlers which use this order as an optimization. 45 */ 46 uint32_t edx; 47 uint32_t ecx; 48 uint32_t ebx; 49 uint32_t esi; 50 uint32_t edi; 51 uint32_t ebp; 52 uint32_t eax; 53 54 uint32_t ebp_frame; /* imitation of frame pointer linkage */ 55 uint32_t eip_frame; /* imitation of return address linkage */ 56 57 uint32_t gs; 58 uint32_t fs; 59 uint32_t es; 60 uint32_t ds; 61 62 uint32_t error_word; /* real or fake error word */ 63 uint32_t eip; 64 uint32_t cs; 65 uint32_t eflags; 66 uint32_t esp; /* only if istate_t is from uspace */ 67 uint32_t ss; /* only if istate_t is from uspace */ 68 } istate_t; 40 #ifdef KERNEL 41 #include <arch/istate_struct.h> 42 #else 43 #include <libarch/istate_struct.h> 44 #endif /* KERNEL */ 69 45 70 46 #define RPL_USER 3 -
kernel/arch/ia32/src/asm.S
rb8fac76 r8d427a3 34 34 #include <arch/cpu.h> 35 35 #include <arch/mm/page.h> 36 #include <arch/istate_struct.h> 36 37 37 38 .text … … 136 137 ret 137 138 138 #define ISTATE_OFFSET_EDX 0139 #define ISTATE_OFFSET_ECX 4140 #define ISTATE_OFFSET_EBX 8141 #define ISTATE_OFFSET_ESI 12142 #define ISTATE_OFFSET_EDI 16143 #define ISTATE_OFFSET_EBP 20144 #define ISTATE_OFFSET_EAX 24145 #define ISTATE_OFFSET_EBP_FRAME 28146 #define ISTATE_OFFSET_EIP_FRAME 32147 #define ISTATE_OFFSET_GS 36148 #define ISTATE_OFFSET_FS 40149 #define ISTATE_OFFSET_ES 44150 #define ISTATE_OFFSET_DS 48151 #define ISTATE_OFFSET_ERROR_WORD 52152 #define ISTATE_OFFSET_EIP 56153 #define ISTATE_OFFSET_CS 60154 #define ISTATE_OFFSET_EFLAGS 64155 #define ISTATE_OFFSET_ESP 68156 #define ISTATE_OFFSET_SS 72157 158 139 /* 159 140 * Size of the istate structure without the hardware-saved part 160 141 * and without the error word. 161 142 */ 162 #define ISTATE_SOFT_SIZE 52143 #define ISTATE_SOFT_SIZE ISTATE_SIZE - (6 * 4) 163 144 164 145 /*
Note:
See TracChangeset
for help on using the changeset viewer.