aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_32.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2008-01-30 07:33:53 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:33:53 -0500
commit934d15854d04e8ca2495d8f5698164df990d5d66 (patch)
treeda1e14ba6c88b3862fbd2f8e6a62e6e91622452d /arch/x86/mm/init_32.c
parent1e8e23bc469a11fc190a6bace857075d83dc2555 (diff)
x86: remove set_kernel_exec()
The SMP trampoline always runs in real mode, so making it executable in the page tables doesn't make much sense because it executes before page tables are set up. That was the only user of set_kernel_exec(). Remove set_kernel_exec(). Signed-off-by: Andi Kleen <ak@suse.de> Acked-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/mm/init_32.c')
-rw-r--r--arch/x86/mm/init_32.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 08ba3a14c72c..016c8ccd1d8d 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -529,35 +529,6 @@ static void __init set_nx(void)
529 } 529 }
530} 530}
531 531
532/*
533 * Enables/disables executability of a given kernel page and
534 * returns the previous setting.
535 */
536int __init set_kernel_exec(unsigned long vaddr, int enable)
537{
538 pte_t *pte;
539 int ret = 1;
540 int level;
541
542 if (!nx_enabled)
543 goto out;
544
545 pte = lookup_address(vaddr, &level);
546 BUG_ON(!pte);
547
548 if (!pte_exec(*pte))
549 ret = 0;
550
551 if (enable)
552 pte->pte_high &= ~(1 << (_PAGE_BIT_NX - 32));
553 else
554 pte->pte_high |= 1 << (_PAGE_BIT_NX - 32);
555 pte_update_defer(&init_mm, vaddr, pte);
556 __flush_tlb_all();
557out:
558 return ret;
559}
560
561#endif 532#endif
562 533
563/* 534/*