aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/head.S
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-07-28 21:15:48 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-28 21:46:02 -0700
commit3829ee6b1be03d5aa3005fe7d19f30088b539836 (patch)
treebe7a9f93c38662905509f1033ef935436d8b02a3 /arch/x86_64/kernel/head.S
parent[PATCH] x86_64: Remove unnecessary include in fault.c (diff)
downloadlinux-dev-3829ee6b1be03d5aa3005fe7d19f30088b539836.tar.xz
linux-dev-3829ee6b1be03d5aa3005fe7d19f30088b539836.zip
[PATCH] x86_64: Small assembly improvements
Save a byte here and there. Ultimatively useless, but these things always catch my eyes when reading the code so just fix them for now. Also I got at least one patch fixing of them already, which gives a good excuse. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/head.S')
-rw-r--r--arch/x86_64/kernel/head.S16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86_64/kernel/head.S b/arch/x86_64/kernel/head.S
index 8d765aa77a26..98ff5eb32b9a 100644
--- a/arch/x86_64/kernel/head.S
+++ b/arch/x86_64/kernel/head.S
@@ -137,14 +137,14 @@ startup_64:
wrmsr
/* Setup cr0 */
- xorq %rax, %rax
- btsq $31, %rax /* Enable paging */
- btsq $0, %rax /* Enable protected mode */
- btsq $1, %rax /* Enable MP */
- btsq $4, %rax /* Enable ET */
- btsq $5, %rax /* Enable NE */
- btsq $16, %rax /* Enable WP */
- btsq $18, %rax /* Enable AM */
+#define CR0_PM 1 /* protected mode */
+#define CR0_MP (1<<1)
+#define CR0_ET (1<<4)
+#define CR0_NE (1<<5)
+#define CR0_WP (1<<16)
+#define CR0_AM (1<<18)
+#define CR0_PAGING (1<<31)
+ movl $CR0_PM|CR0_MP|CR0_ET|CR0_NE|CR0_WP|CR0_AM|CR0_PAGING,%eax
/* Make changes effective */
movq %rax, %cr0