summaryrefslogtreecommitdiff
path: root/src/glut/dos/PC_HW/pc_irq.S
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2003-03-08 18:28:14 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2003-03-08 18:28:14 +0000
commit47d8adde43c71f32d3677bb8ad965f262b6f3150 (patch)
tree30e25ff1b2789c0c5c3b5f9bfe23e2f582253010 /src/glut/dos/PC_HW/pc_irq.S
parentf4b21ab6458db9df6ef320cbefab7c05ea80e7ea (diff)
DOS update (Daniel Borca)
Diffstat (limited to 'src/glut/dos/PC_HW/pc_irq.S')
-rw-r--r--src/glut/dos/PC_HW/pc_irq.S10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/glut/dos/PC_HW/pc_irq.S b/src/glut/dos/PC_HW/pc_irq.S
index 196546072c..7f0b747d34 100644
--- a/src/glut/dos/PC_HW/pc_irq.S
+++ b/src/glut/dos/PC_HW/pc_irq.S
@@ -1,5 +1,5 @@
/*
- * PC/HW routine collection v1.0 for DOS/DJGPP
+ * PC/HW routine collection v1.3 for DOS/DJGPP
*
* Copyright (C) 2002 - Borca Daniel
* Email : dborca@yahoo.com
@@ -74,6 +74,9 @@ _pc_install_irq:
addl %edx, %eax
movl %eax, IRQ_STACK(%edi)
+ movl ___djgpp_ds_alias, %eax
+ movl %eax, IRQ_STACK+4(%edi)
+
movl %ss:12(%ebp), %eax
movl %eax, IRQ_HOOK(%edi)
@@ -131,8 +134,7 @@ __irq_wrapper_##x: ; \
pushl %gs ; \
movl %ss, %ebx ; \
movl %esp, %esi ; \
- movl %cs:___djgpp_ds_alias, %ss ; \
- movl %cs:__irq_stack_##x, %esp ; \
+ lss %cs:__irq_stack_##x, %esp ; \
pushl %ss ; \
pushl %ss ; \
popl %es ; \
@@ -160,7 +162,7 @@ __irq_old_##x: ; \
__irq_hook_##x: ; \
.long 0 ; \
__irq_stack_##x: ; \
- .long 0
+ .long 0, 0
WRAPPER(0);
WRAPPER(1);