summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2007-08-07 13:07:25 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-18 00:27:12 +0200
commite44a3dddf93d9ac15eea6bd323a2308b0ea6d493 (patch)
treeb4bb152d34e2a410f55cd1e3aafdd7f6b8c891cf /linux
parentbaf29c7a7fe74d8ca799c869440f7b7cd5a33b8a (diff)
2007-07-09 Samuel Thibault <samuel.thibault@ens-lyon.org>
* i386/i386/db_interface.c (int_regs): Drop gs and fs fields. (kdb_kentry): Get fs and gs from struct i386_interrupt_state instead of struct int_regs. * i386/i386/kttd_interface.c (int_regs, kttd_netentry): Likewise. * i386/i386/locore.S (all_intrs): Save fs and gs and set them to kernel segment too. (return_to_iret): Restore fs and gs too. (return_to_iret_i): Likewise. (ast_from_interrupt): Set fs and gs to kernel segment too. (kdb_from_iret): Don't save/restore fs and gs either. (ttd_from_iret): Likewise. * i386/i386/thread.h (i386_interrupt_state): Add gs and fs fields. * linux/src/include/asm-i386/irq.h (SAVE_ALL): Set gs to kernel segment too.
Diffstat (limited to 'linux')
-rw-r--r--linux/src/include/asm-i386/irq.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/linux/src/include/asm-i386/irq.h b/linux/src/include/asm-i386/irq.h
index feb504a..c75744a 100644
--- a/linux/src/include/asm-i386/irq.h
+++ b/linux/src/include/asm-i386/irq.h
@@ -38,6 +38,7 @@ extern void enable_irq(unsigned int);
"movl $" STR(KERNEL_DS) ",%edx\n\t" \
"mov %dx,%ds\n\t" \
"mov %dx,%es\n\t" \
+ "mov %dx,%gs\n\t" \
"movl $" STR(USER_DS) ",%edx\n\t" \
"mov %dx,%fs\n\t" \
"movl $0,%edx\n\t" \