aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 08:30:02 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-31 03:35:45 -0400
commit030cb6c00d242c20e92a3327d0cac17ce02d0cc3 (patch)
treef821964ab9ec5b781bf0b9a7831deec04c8f58c8 /arch/x86/kernel
parent6f30c1ac3fcf11e08f00670f293546a112cdf4e3 (diff)
x86: Move paravirt pagetable_setup to x86_init_ops
Replace more paravirt hackery by proper x86_init_ops. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/paravirt.c7
-rw-r--r--arch/x86/kernel/setup.c4
-rw-r--r--arch/x86/kernel/x86_init.c6
3 files changed, 8 insertions, 9 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index f7a5fb79d18a..8167be0b68ca 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -402,13 +402,6 @@ struct pv_apic_ops pv_apic_ops = {
402#endif 402#endif
403 403
404struct pv_mmu_ops pv_mmu_ops = { 404struct pv_mmu_ops pv_mmu_ops = {
405#ifndef CONFIG_X86_64
406 .pagetable_setup_start = native_pagetable_setup_start,
407 .pagetable_setup_done = native_pagetable_setup_done,
408#else
409 .pagetable_setup_start = paravirt_nop,
410 .pagetable_setup_done = paravirt_nop,
411#endif
412 405
413 .read_cr2 = native_read_cr2, 406 .read_cr2 = native_read_cr2,
414 .write_cr2 = native_write_cr2, 407 .write_cr2 = native_write_cr2,
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index bc5f0e561cfd..4952d63dd67a 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -959,9 +959,9 @@ void __init setup_arch(char **cmdline_p)
959 kvmclock_init(); 959 kvmclock_init();
960#endif 960#endif
961 961
962 paravirt_pagetable_setup_start(swapper_pg_dir); 962 x86_init.paging.pagetable_setup_start(swapper_pg_dir);
963 paging_init(); 963 paging_init();
964 paravirt_pagetable_setup_done(swapper_pg_dir); 964 x86_init.paging.pagetable_setup_done(swapper_pg_dir);
965 paravirt_post_allocator_init(); 965 paravirt_post_allocator_init();
966 966
967#ifdef CONFIG_X86_64 967#ifdef CONFIG_X86_64
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 08fea49d59a2..7df020e6740d 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -14,6 +14,7 @@
14 14
15void __cpuinit x86_init_noop(void) { } 15void __cpuinit x86_init_noop(void) { }
16void __init x86_init_uint_noop(unsigned int unused) { } 16void __init x86_init_uint_noop(unsigned int unused) { }
17void __init x86_init_pgd_noop(pgd_t *unused) { }
17 18
18/* 19/*
19 * The platform setup functions are preset with the default functions 20 * The platform setup functions are preset with the default functions
@@ -48,4 +49,9 @@ struct __initdata x86_init_ops x86_init = {
48 .arch_setup = x86_init_noop, 49 .arch_setup = x86_init_noop,
49 .banner = default_banner, 50 .banner = default_banner,
50 }, 51 },
52
53 .paging = {
54 .pagetable_setup_start = native_pagetable_setup_start,
55 .pagetable_setup_done = native_pagetable_setup_done,
56 },
51}; 57};