summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/x86_init.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 14:30:02 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-08-31 09:35:45 +0200
commit030cb6c00d242c20e92a3327d0cac17ce02d0cc3 (patch)
treef821964ab9ec5b781bf0b9a7831deec04c8f58c8 /arch/x86/include/asm/x86_init.h
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/include/asm/x86_init.h')
-rw-r--r--arch/x86/include/asm/x86_init.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index ee7c59df7814..b9bb4faefc48 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -1,6 +1,8 @@
#ifndef _ASM_X86_PLATFORM_H
#define _ASM_X86_PLATFORM_H
+#include <asm/pgtable_types.h>
+
struct mpc_bus;
struct mpc_cpu;
struct mpc_table;
@@ -67,6 +69,16 @@ struct x86_init_oem {
};
/**
+ * struct x86_init_paging - platform specific paging functions
+ * @pagetable_setup_start: platform specific pre paging_init() call
+ * @pagetable_setup_done: platform specific post paging_init() call
+ */
+struct x86_init_paging {
+ void (*pagetable_setup_start)(pgd_t *base);
+ void (*pagetable_setup_done)(pgd_t *base);
+};
+
+/**
* struct x86_init_ops - functions for platform specific setup
*
*/
@@ -75,6 +87,7 @@ struct x86_init_ops {
struct x86_init_mpparse mpparse;
struct x86_init_irqs irqs;
struct x86_init_oem oem;
+ struct x86_init_paging paging;
};
extern struct x86_init_ops x86_init;