Changeset 359 for trunk/hal/x86_64
- Timestamp:
- Aug 10, 2017, 11:21:32 AM (7 years ago)
- Location:
- trunk/hal/x86_64/core
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/hal/x86_64/core/hal_context.c
r342 r359 61 61 ctx->ctx_rsp0 = kstacktop & ~0xF; 62 62 ctx->ctx_tf = (uint64_t)&ctx->ctx_hidden_tf; 63 ctx->ctx_intr = INTRS_ENABLED; 63 64 64 65 /* -
trunk/hal/x86_64/core/hal_cpu.S
r343 r359 196 196 movq CTX_TF(%r13),%rsp 197 197 addq $TF_SIZE,%rsp /* end of the structure */ 198 199 /* 200 * Save the TLS intr flag, and set the new one. 201 */ 202 movq TLSVAR(INTR),%rax 203 movq %rax,CTX_INTR(%r13) 204 movq CTX_INTR(%r12),%rax 205 movq %rax,TLSVAR(INTR) 198 206 199 207 /* Build the trap frame */ -
trunk/hal/x86_64/core/hal_kentry.h
r339 r359 170 170 uint64_t ctx_rsp0; 171 171 uint64_t ctx_tf; 172 uint64_t ctx_intr; 172 173 hal_trapframe_t ctx_hidden_tf; 173 174 } hal_cpu_context_t; … … 202 203 #define CTX_RSP0 0 203 204 #define CTX_TF 8 205 #define CTX_INTR 16 204 206 205 207 #endif -
trunk/hal/x86_64/core/hal_segmentation.h
r340 r359 155 155 uint32_t tls_lid; 156 156 uint64_t tls_rsp0; /* pointer for fast access */ 157 reg_t tls_intr; 157 158 void *tls_thr; 158 reg_t tls_intr;159 159 } __packed; 160 160 typedef struct tls tls_t; … … 175 175 #define TLS_LID 12 176 176 #define TLS_RSP0 16 177 #define TLS_INTR 24 177 178 178 179 /* system segments and gate types */
Note: See TracChangeset
for help on using the changeset viewer.