From 6c1e2e50a449e83fc41ca2456b815c4bb2da0954 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 23 Mar 2023 23:21:50 +0200 Subject: [PATCH] Add GetKernelStack --- Architecture/amd64/cpu/GlobalDescriptorTable.cpp | 2 ++ Architecture/amd64/cpu/gdt.hpp | 1 + 2 files changed, 3 insertions(+) diff --git a/Architecture/amd64/cpu/GlobalDescriptorTable.cpp b/Architecture/amd64/cpu/GlobalDescriptorTable.cpp index cd0d32b..e492f9e 100644 --- a/Architecture/amd64/cpu/GlobalDescriptorTable.cpp +++ b/Architecture/amd64/cpu/GlobalDescriptorTable.cpp @@ -159,4 +159,6 @@ namespace GlobalDescriptorTable asmv("mov %%rsp, %0" : "=r"(tss[CPUID].StackPointer[0])); } + + void *GetKernelStack() { return (void *)tss[GetCurrentCPU()->ID].StackPointer[0]; } } diff --git a/Architecture/amd64/cpu/gdt.hpp b/Architecture/amd64/cpu/gdt.hpp index 60c3181..78e799e 100644 --- a/Architecture/amd64/cpu/gdt.hpp +++ b/Architecture/amd64/cpu/gdt.hpp @@ -135,6 +135,7 @@ namespace GlobalDescriptorTable extern TaskStateSegment tss[]; void Init(int Core); void SetKernelStack(void *Stack); + void *GetKernelStack(); } #define GDT_KERNEL_CODE offsetof(GlobalDescriptorTable::GlobalDescriptorTableEntries, Code)