From: Chris Wright Subject: [PATCH] %fs/%gs cleanup in mmu_context.h Date: Fri, 12 Aug 2005 16:05:49 -0700 Message-ID: <20050812230549.GI7901@shell0.pdx.osdl.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Small change to remove difference between Xen and mainline deactivate_mm. While there, cleanup prepare_arch_switch as well. This generates identical code. Signed-off-by: Chris Wright --- diff -r ba46bd7f5cdf linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu_context.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu_context.h Fri Aug 12 15:59:34 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu_context.h Fri Aug 12 15:59:38 2005 @@ -34,10 +34,10 @@ * are always kernel segments while inside the kernel. Must * happen before reload of cr3/ldt (i.e., not in __switch_to). */ - __asm__ __volatile__ ( "mov %%fs,%0 ; mov %%gs,%1" - : "=m" (*(int *)¤t->thread.fs), - "=m" (*(int *)¤t->thread.gs)); - __asm__ __volatile__ ( "mov %0,%%fs ; mov %0,%%gs" + asm volatile ( "movl %%fs,%0 ; movl %%gs,%1" + : "=m" (current->thread.fs), + "=m" (current->thread.gs)); + asm volatile ( "movl %0,%%fs ; movl %0,%%gs" : : "r" (0) ); } @@ -100,7 +100,7 @@ } #define deactivate_mm(tsk, mm) \ - asm("mov %0,%%fs ; mov %0,%%gs": :"r" (0)) + asm("movl %0,%%fs ; movl %0,%%gs": :"r" (0)) #define activate_mm(prev, next) \ switch_mm((prev),(next),NULL)