diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-20 08:30:02 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-31 03:35:45 -0400 |
commit | 030cb6c00d242c20e92a3327d0cac17ce02d0cc3 (patch) | |
tree | f821964ab9ec5b781bf0b9a7831deec04c8f58c8 /arch/x86/kernel | |
parent | 6f30c1ac3fcf11e08f00670f293546a112cdf4e3 (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.c | 7 | ||||
-rw-r--r-- | arch/x86/kernel/setup.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/x86_init.c | 6 |
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 | ||
404 | struct pv_mmu_ops pv_mmu_ops = { | 404 | struct 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 | ||
15 | void __cpuinit x86_init_noop(void) { } | 15 | void __cpuinit x86_init_noop(void) { } |
16 | void __init x86_init_uint_noop(unsigned int unused) { } | 16 | void __init x86_init_uint_noop(unsigned int unused) { } |
17 | void __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 | }; |