aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/head_32.S
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2013-02-11 09:22:18 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2013-02-12 18:48:42 -0500
commit5e2a044daf0c6f897eb69de931e3b29020e874a9 (patch)
tree81ff312adbdeabff1058a5114c5a68a41775342c /arch/x86/kernel/head_32.S
parentc3a22a26d07d928e2b74b58e2f9d2436958620f0 (diff)
x86, head_32: Give the 6 label a real name
Jumping here we are about to enable paging so rename the label accordingly. Signed-off-by: Borislav Petkov <bp@suse.de> Link: http://lkml.kernel.org/r/1360592538-10643-5-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/head_32.S')
-rw-r--r--arch/x86/kernel/head_32.S12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 2e8532e7c80a..3c3f58a0808f 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -329,7 +329,7 @@ default_entry:
329 pushfl 329 pushfl
330 popl %eax # get EFLAGS 330 popl %eax # get EFLAGS
331 testl $X86_EFLAGS_ID,%eax # did EFLAGS.ID remained set? 331 testl $X86_EFLAGS_ID,%eax # did EFLAGS.ID remained set?
332 jz 6f # hw disallowed setting of ID bit 332 jz enable_paging # hw disallowed setting of ID bit
333 # which means no CPUID and no CR4 333 # which means no CPUID and no CR4
334 334
335 xorl %eax,%eax 335 xorl %eax,%eax
@@ -339,13 +339,13 @@ default_entry:
339 movl $1,%eax 339 movl $1,%eax
340 cpuid 340 cpuid
341 andl $~1,%edx # Ignore CPUID.FPU 341 andl $~1,%edx # Ignore CPUID.FPU
342 jz 6f # No flags or only CPUID.FPU = no CR4 342 jz enable_paging # No flags or only CPUID.FPU = no CR4
343 343
344 movl pa(mmu_cr4_features),%eax 344 movl pa(mmu_cr4_features),%eax
345 movl %eax,%cr4 345 movl %eax,%cr4
346 346
347 testb $X86_CR4_PAE, %al # check if PAE is enabled 347 testb $X86_CR4_PAE, %al # check if PAE is enabled
348 jz 6f 348 jz enable_paging
349 349
350 /* Check if extended functions are implemented */ 350 /* Check if extended functions are implemented */
351 movl $0x80000000, %eax 351 movl $0x80000000, %eax
@@ -353,7 +353,7 @@ default_entry:
353 /* Value must be in the range 0x80000001 to 0x8000ffff */ 353 /* Value must be in the range 0x80000001 to 0x8000ffff */
354 subl $0x80000001, %eax 354 subl $0x80000001, %eax
355 cmpl $(0x8000ffff-0x80000001), %eax 355 cmpl $(0x8000ffff-0x80000001), %eax
356 ja 6f 356 ja enable_paging
357 357
358 /* Clear bogus XD_DISABLE bits */ 358 /* Clear bogus XD_DISABLE bits */
359 call verify_cpu 359 call verify_cpu
@@ -362,7 +362,7 @@ default_entry:
362 cpuid 362 cpuid
363 /* Execute Disable bit supported? */ 363 /* Execute Disable bit supported? */
364 btl $(X86_FEATURE_NX & 31), %edx 364 btl $(X86_FEATURE_NX & 31), %edx
365 jnc 6f 365 jnc enable_paging
366 366
367 /* Setup EFER (Extended Feature Enable Register) */ 367 /* Setup EFER (Extended Feature Enable Register) */
368 movl $MSR_EFER, %ecx 368 movl $MSR_EFER, %ecx
@@ -372,7 +372,7 @@ default_entry:
372 /* Make changes effective */ 372 /* Make changes effective */
373 wrmsr 373 wrmsr
374 374
3756: 375enable_paging:
376 376
377/* 377/*
378 * Enable paging 378 * Enable paging