svn commit: r212026 - head/sys/amd64/amd64

Jung-uk Kim jkim at FreeBSD.org
Mon Aug 30 21:19:43 UTC 2010


Author: jkim
Date: Mon Aug 30 21:19:42 2010
New Revision: 212026
URL: http://svn.freebsd.org/changeset/base/212026

Log:
  Save MSR_FSBASE, MSR_GSBASE and MSR_KGSBASE directly to PCB as we do not use
  these values in the function.

Modified:
  head/sys/amd64/amd64/cpu_switch.S

Modified: head/sys/amd64/amd64/cpu_switch.S
==============================================================================
--- head/sys/amd64/amd64/cpu_switch.S	Mon Aug 30 21:18:59 2010	(r212025)
+++ head/sys/amd64/amd64/cpu_switch.S	Mon Aug 30 21:19:42 2010	(r212026)
@@ -338,19 +338,16 @@ ENTRY(savectx)
 
 	movl	$MSR_FSBASE,%ecx
 	rdmsr
-	shlq	$32,%rdx
-	leaq	(%rax,%rdx),%rax
-	movq	%rax,PCB_FSBASE(%rdi)
+	movl	%eax,PCB_FSBASE(%rdi)
+	movl	%edx,PCB_FSBASE+4(%rdi)
 	movl	$MSR_GSBASE,%ecx
 	rdmsr
-	shlq	$32,%rdx
-	leaq	(%rax,%rdx),%rax
-	movq	%rax,PCB_GSBASE(%rdi)
+	movl	%eax,PCB_GSBASE(%rdi)
+	movl	%edx,PCB_GSBASE+4(%rdi)
 	movl	$MSR_KGSBASE,%ecx
 	rdmsr
-	shlq	$32,%rdx
-	leaq	(%rax,%rdx),%rax
-	movq	%rax,PCB_KGSBASE(%rdi)
+	movl	%eax,PCB_KGSBASE(%rdi)
+	movl	%edx,PCB_KGSBASE+4(%rdi)
 
 	sgdt	PCB_GDT(%rdi)
 	sidt	PCB_IDT(%rdi)


More information about the svn-src-all mailing list