patch-2.4.0-test10 linux/arch/ia64/ia32/ia32_support.c

Next file: linux/arch/ia64/ia32/sys_ia32.c
Previous file: linux/arch/ia64/ia32/ia32_signal.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test9/linux/arch/ia64/ia32/ia32_support.c linux/arch/ia64/ia32/ia32_support.c
@@ -42,6 +42,7 @@
 	thread->csd = csd;
 	thread->ssd = ssd;
 	thread->tssd = tssd;
+	asm ("mov ar.k0=%0 ;;" :: "r"(thread->old_iob));
 }
 
 void
@@ -68,6 +69,8 @@
 		      "mov ar.k1=%7"
 		      :: "r"(eflag), "r"(fsr), "r"(fcr), "r"(fir), "r"(fdr),
 		         "r"(csd), "r"(ssd), "r"(tssd));
+	asm ("mov %0=ar.k0 ;;" : "=r"(thread->old_iob));
+	asm ("mov ar.k0=%0 ;;" :: "r"(IA32_IOBASE));
 }
 
 /*

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)