/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 2, as * published by the Free Software Foundation. * * Copyright 2010-2011 Paul Mackerras, IBM Corp. <paulus@au1.ibm.com> */#include <linux/types.h>#include <linux/string.h>#include <linux/kvm.h>#include <linux/kvm_host.h>#include <linux/hugetlb.h>#include <linux/module.h>#include <asm/tlbflush.h>#include <asm/kvm_ppc.h>#include <asm/kvm_book3s.h>#include <asm/mmu-hash64.h>#include <asm/hvcall.h>#include <asm/synch.h>#include <asm/ppc-opcode.h>/* Translate address of a vmalloc'd thing to a linear map address */static void*real_vmalloc_addr(void*x){unsigned long addr = (unsigned long) x;