Date: Tue, 3 Jul 2012 23:00:20 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 213872 for review Message-ID: <201207032300.q63N0K3h064571@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@213872?ac=10 Change 213872 by jhb@jhb_ralph on 2012/07/03 23:00:05 Fix the memory operand for xsave/xrstor. Affected files ... .. //depot/projects/smpng/sys/modules/x86dis/x86dis.c#4 edit Differences ... ==== //depot/projects/smpng/sys/modules/x86dis/x86dis.c#4 (text+ko) ==== @@ -10,7 +10,7 @@ low = mask; hi = mask >> 32; #ifdef NEW_AS - __asm __volatile("xrstor %0" : : "m" (addr), "a" (low), "d" (hi)); + __asm __volatile("xrstor %0" : : "m" (*addr), "a" (low), "d" (hi)); #else /* xrstor (%rdi) */ __asm __volatile(".byte 0x0f,0xae,0x2f" : : @@ -26,7 +26,7 @@ low = mask; hi = mask >> 32; #ifdef NEW_AS - __asm __volatile("xsave %0" : "=m" (addr) : "a" (low), "d" (hi) : + __asm __volatile("xsave %0" : "=m" (*addr) : "a" (low), "d" (hi) : "memory"); #else /* xsave (%rdi) */ @@ -43,7 +43,7 @@ low = mask; hi = mask >> 32; #ifdef NEW_AS - __asm __volatile("xsaveopt %0" : "=m" (addr) : "a" (low), "d" (hi) : + __asm __volatile("xsaveopt %0" : "=m" (*addr) : "a" (low), "d" (hi) : "memory"); #else /* xsaveopt (%rdi) */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207032300.q63N0K3h064571>