We want to be able to build KVM as a module. To enable us doing so, we need some more exports from core Linux parts.
This patch exports all functions and variables that are required for KVM. Signed-off-by: Alexander Graf <ag...@suse.de> --- arch/powerpc/kernel/ppc_ksyms.c | 3 ++- arch/powerpc/kernel/time.c | 1 + arch/powerpc/mm/hash_utils_64.c | 2 ++ arch/powerpc/mm/mmu_context_hash64.c | 4 ++++ arch/powerpc/mm/slb.c | 2 ++ kernel/fork.c | 1 + 6 files changed, 12 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c index c8b27bb..baf778c 100644 --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c @@ -163,11 +163,12 @@ EXPORT_SYMBOL(screen_info); #ifdef CONFIG_PPC32 EXPORT_SYMBOL(timer_interrupt); EXPORT_SYMBOL(irq_desc); -EXPORT_SYMBOL(tb_ticks_per_jiffy); EXPORT_SYMBOL(cacheable_memcpy); EXPORT_SYMBOL(cacheable_memzero); #endif +EXPORT_SYMBOL(tb_ticks_per_jiffy); + #ifdef CONFIG_PPC32 EXPORT_SYMBOL(switch_mmu_context); #endif diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index eae4511..c0b218e 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -266,6 +266,7 @@ void account_system_vtime(struct task_struct *tsk) per_cpu(cputime_scaled_last_delta, smp_processor_id()) = deltascaled; local_irq_restore(flags); } +EXPORT_SYMBOL_GPL(account_system_vtime); /* * Transfer the user and system times accumulated in the paca diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 1ade7eb..2b2a4aa 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c @@ -92,6 +92,7 @@ struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT]; struct hash_pte *htab_address; unsigned long htab_size_bytes; unsigned long htab_hash_mask; +EXPORT_SYMBOL_GPL(htab_hash_mask); int mmu_linear_psize = MMU_PAGE_4K; int mmu_virtual_psize = MMU_PAGE_4K; int mmu_vmalloc_psize = MMU_PAGE_4K; @@ -102,6 +103,7 @@ int mmu_io_psize = MMU_PAGE_4K; int mmu_kernel_ssize = MMU_SEGSIZE_256M; int mmu_highuser_ssize = MMU_SEGSIZE_256M; u16 mmu_slb_size = 64; +EXPORT_SYMBOL_GPL(mmu_slb_size); #ifdef CONFIG_HUGETLB_PAGE unsigned int HPAGE_SHIFT; #endif diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c index dbeb86a..d94a3c5 100644 --- a/arch/powerpc/mm/mmu_context_hash64.c +++ b/arch/powerpc/mm/mmu_context_hash64.c @@ -18,6 +18,7 @@ #include <linux/mm.h> #include <linux/spinlock.h> #include <linux/idr.h> +#include <linux/module.h> #include <asm/mmu_context.h> @@ -67,6 +68,7 @@ again: return 0; } +EXPORT_SYMBOL_GPL(init_new_context); void destroy_context(struct mm_struct *mm) { @@ -76,3 +78,5 @@ void destroy_context(struct mm_struct *mm) mm->context.id = NO_CONTEXT; } +EXPORT_SYMBOL_GPL(destroy_context); + diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index 6afd4fe..6e38e3b 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c @@ -26,6 +26,7 @@ #include <asm/firmware.h> #include <linux/compiler.h> #include <asm/udbg.h> +#include <linux/module.h> #ifdef DEBUG #define DBG(fmt...) printk(fmt) @@ -243,6 +244,7 @@ void switch_slb(struct task_struct *tsk, struct mm_struct *mm) return; slb_allocate(unmapped_base); } +EXPORT_SYMBOL_GPL(switch_slb); static inline void patch_slb_encoding(unsigned int *insn_addr, unsigned int immed) diff --git a/kernel/fork.c b/kernel/fork.c index 467746b..82841c2 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -462,6 +462,7 @@ struct mm_struct * mm_alloc(void) } return mm; } +EXPORT_SYMBOL_GPL(mm_alloc); /* * Called when the last reference to the mm -- 1.6.0.2 -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html