summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Sources/SMPManager.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Sources/SMPManager.cxx')
-rw-r--r--Kernel/Sources/SMPManager.cxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/Kernel/Sources/SMPManager.cxx b/Kernel/Sources/SMPManager.cxx
index 29e0fa26..f0b680ce 100644
--- a/Kernel/Sources/SMPManager.cxx
+++ b/Kernel/Sources/SMPManager.cxx
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright SoftwareLabs
+ Copyright Zeta Electronics Corporation
------------------------------------------- */
@@ -99,6 +99,21 @@ namespace NewOS
fStack->Rsp = stack->Rsp;
fStack->Fs = stack->Fs;
fStack->Gs = stack->Gs;
+
+ // save global registers.
+
+ fStack->R15 = stack->R15;
+ fStack->R14 = stack->R14;
+
+ fStack->R13 = stack->R13;
+ fStack->R12 = stack->R12;
+ fStack->R11 = stack->R11;
+
+ fStack->R10 = stack->R10;
+ fStack->R9 = stack->R9;
+ fStack->R8 = stack->R8;
+
+ fStack->Exception = this->fID;
}
rt_do_context_switch(fStack);