git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: closedir(2)
[lunaix-os.git]
/
lunaix-os
/
kernel
/
asm
/
x86
/
interrupts.c
diff --git
a/lunaix-os/kernel/asm/x86/interrupts.c
b/lunaix-os/kernel/asm/x86/interrupts.c
index b4a443f10376812bd94cb3abb4051fe090b1ee08..3fb24cbc054eab3d955078da2a27d42d35ee00e7 100644
(file)
--- a/
lunaix-os/kernel/asm/x86/interrupts.c
+++ b/
lunaix-os/kernel/asm/x86/interrupts.c
@@
-19,9
+19,10
@@
extern x86_page_table* __kernel_ptd;
void
intr_handler(isr_param* param)
{
void
intr_handler(isr_param* param)
{
+ param->execp->saved_prev_ctx = __current->intr_ctx;
__current->intr_ctx = *param;
__current->intr_ctx = *param;
- struct exec_param* execp = __current->intr_ctx.execp;
+
volatile
struct exec_param* execp = __current->intr_ctx.execp;
if (execp->vector <= 255) {
isr_cb subscriber = isrm_get(execp->vector);
if (execp->vector <= 255) {
isr_cb subscriber = isrm_get(execp->vector);