Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Aug 2010 21:19:42 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r212026 - head/sys/amd64/amd64
Message-ID:  <201008302119.o7ULJgHl008006@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008302119.o7ULJgHl008006>