aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.21-pre4-sparse
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-04-15 23:19:11 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-04-15 23:19:11 +0000
commit005c2723972fa96769412466fa0904fdcd5f8d5f (patch)
tree2893736977ecfb369f6604c3c4a63545c6b2c183 /xenolinux-2.4.21-pre4-sparse
parent6b34a2bd55d1e39499c821a3796888b48def5afc (diff)
downloadxen-005c2723972fa96769412466fa0904fdcd5f8d5f.tar.gz
xen-005c2723972fa96769412466fa0904fdcd5f8d5f.tar.bz2
xen-005c2723972fa96769412466fa0904fdcd5f8d5f.zip
bitkeeper revision 1.170 (3e9c936fXyHEI0NKOWQkP9tHN4sbqw)
Many files: Finished virtualisation of x86 LDT. Xenolinux now exports this to applications (eg. for use by linuxthreads).
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse')
-rw-r--r--xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/entry.S22
1 files changed, 15 insertions, 7 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/entry.S b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/entry.S
index 0525e2976e..20ae79e50e 100644
--- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/entry.S
+++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/entry.S
@@ -373,13 +373,19 @@ critical_fixup_table:
ENTRY(failsafe_callback)
1: pop %ds
2: pop %es
-3: iret
+3: pop %fs
+4: pop %gs
+5: iret
.section .fixup,"ax"; \
-4: movl $0,(%esp); \
+6: movl $0,(%esp); \
jmp 1b; \
-5: movl $0,(%esp); \
+7: movl $0,(%esp); \
jmp 2b; \
-6: pushl %ss; \
+8: movl $0,(%esp); \
+ jmp 3b; \
+9: movl $0,(%esp); \
+ jmp 4b; \
+10: pushl %ss; \
popl %ds; \
pushl %ss; \
popl %es; \
@@ -388,9 +394,11 @@ ENTRY(failsafe_callback)
.previous; \
.section __ex_table,"a";\
.align 4; \
- .long 1b,4b; \
- .long 2b,5b; \
- .long 3b,6b; \
+ .long 1b,6b; \
+ .long 2b,7b; \
+ .long 3b,8b; \
+ .long 4b,9b; \
+ .long 5b,10b; \
.previous
ENTRY(coprocessor_error)