summaryrefslogtreecommitdiff
path: root/kernel/src/cpu/tss.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/cpu/tss.c')
-rw-r--r--kernel/src/cpu/tss.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/kernel/src/cpu/tss.c b/kernel/src/cpu/tss.c
index f80f8db..45c24dc 100644
--- a/kernel/src/cpu/tss.c
+++ b/kernel/src/cpu/tss.c
@@ -19,11 +19,17 @@ void init_tss()
tss.rsp0_low = (uint32_t)stack;
tss.rsp0_high = (uint32_t)(stack >> 32);
- uint32_t ist_stack_size = 1024 * 32;
- uint64_t ist_stack =
- (uint64_t)kalloc(ist_stack_size) + ist_stack_size - 8;
- tss.ist1_low = (uint32_t)ist_stack;
- tss.ist1_high = (uint32_t)(ist_stack >> 32);
+ uint32_t ist1_stack_size = 1024 * 32;
+ uint64_t ist1_stack =
+ (uint64_t)kalloc(ist1_stack_size) + ist1_stack_size - 8;
+ tss.ist1_low = (uint32_t)ist1_stack;
+ tss.ist1_high = (uint32_t)(ist1_stack >> 32);
+
+ uint32_t ist2_stack_size = 1024 * 32;
+ uint64_t ist2_stack =
+ (uint64_t)kalloc(ist2_stack_size) + ist2_stack_size - 8;
+ tss.ist2_low = (uint32_t)ist2_stack;
+ tss.ist2_high = (uint32_t)(ist2_stack >> 32);
load_tss();
}