From e44a3dddf93d9ac15eea6bd323a2308b0ea6d493 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 7 Aug 2007 13:07:25 +0000 Subject: 2007-07-09 Samuel Thibault * 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. --- linux/src/include/asm-i386/irq.h | 1 + 1 file changed, 1 insertion(+) (limited to 'linux/src/include') 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" \ -- cgit v1.2.3