linux/arch/powerpc/kvm
Paul Mackerras a66b48c3a3 KVM: PPC: Move kvm->arch.slot_phys into memslot.arch
Now that we have an architecture-specific field in the kvm_memory_slot
structure, we can use it to store the array of page physical addresses
that we need for Book3S HV KVM on PPC970 processors.  This reduces the
size of struct kvm_arch for Book3S HV, and also reduces the size of
struct kvm_arch_memory_slot for other PPC KVM variants since the fields
in it are now only compiled in for Book3S HV.

This necessitates making the kvm_arch_create_memslot and
kvm_arch_free_memslot operations specific to each PPC KVM variant.
That in turn means that we now don't allocate the rmap arrays on
Book3S PR and Book E.

Since we now unpin pages and free the slot_phys array in
kvmppc_core_free_memslot, we no longer need to do it in
kvmppc_core_destroy_vm, since the generic code takes care to free
all the memslots when destroying a VM.

We now need the new memslot to be passed in to
kvmppc_core_prepare_memory_region, since we need to initialize its
arch.slot_phys member on Book3S HV.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-10-05 23:38:51 +02:00
..
44x.c KVM: PPC: 44x: Initialize PVR 2012-10-05 23:38:47 +02:00
44x_emulate.c KVM: PPC: 440: Implement mfdcrx 2012-10-05 23:38:49 +02:00
44x_tlb.c KVM: do not release the error page 2012-08-06 16:04:58 +03:00
44x_tlb.h KVM: ppc: rename 44x MMU functions used in booke.c 2009-03-24 11:02:56 +02:00
book3s.c KVM: PPC: booke: Add watchdog emulation 2012-10-05 23:38:47 +02:00
book3s_32_mmu.c KVM: PPC: Put segment registers in shared page 2010-10-24 10:52:11 +02:00
book3s_32_mmu_host.c KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support 2012-10-05 23:38:43 +02:00
book3s_32_sr.S KVM: PPC: book3s_pr: Simplify transitions between virtual and real mode 2011-09-25 19:52:29 +03:00
book3s_64_mmu.c KVM: PPC: Interpret SDR1 as HVA in PAPR mode 2011-09-25 19:52:21 +03:00
book3s_64_mmu_host.c KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support 2012-10-05 23:38:43 +02:00
book3s_64_mmu_hv.c KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
book3s_64_slb.S KVM: PPC: Book3S: PR: No isync in slbie path 2012-05-06 16:19:09 +02:00
book3s_64_vio.c kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM 2012-05-06 16:19:11 +02:00
book3s_64_vio_hv.c kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM 2012-05-06 16:19:11 +02:00
book3s_emulate.c KVM: PPC: Emulator: clean up SPR reads and writes 2012-05-06 16:19:13 +02:00
book3s_exports.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
book3s_hv.c KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
book3s_hv_builtin.c KVM: PPC: Quieten message about allocating linear regions 2012-10-05 23:38:40 +02:00
book3s_hv_interrupts.S KVM: PPC: Work around POWER7 DABR corruption problem 2012-04-08 14:01:36 +03:00
book3s_hv_rm_mmu.c KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Fix incorrect branch in H_CEDE code 2012-08-16 14:14:52 +02:00
book3s_interrupts.S powerpc: Merge VCPU_GPR 2012-07-10 19:18:06 +10:00
book3s_mmu_hpte.c KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support 2012-10-05 23:38:43 +02:00
book3s_paired_singles.c powerpc/kvm: Fallout from system.h disintegration 2012-04-02 14:00:04 +10:00
book3s_pr.c KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
book3s_pr_papr.c powerpc/kvm: Fix "PR" KVM implementation of H_CEDE 2012-07-11 17:36:38 +02:00
book3s_rmhandlers.S KVM: PPC: Book3S: PR: Rework irq disabling 2012-10-05 23:38:45 +02:00
book3s_segment.S powerpc: Move and fix MTMSR_EERI definition 2012-07-10 19:18:08 +10:00
booke.c KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
booke.h KVM: PPC: Emulator: clean up SPR reads and writes 2012-05-06 16:19:13 +02:00
booke_emulate.c KVM: PPC: BookE: Add MCSR SPR support 2012-10-05 23:38:48 +02:00
booke_interrupts.S KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
bookehv_interrupts.S powerpc/kvm/bookehv: Fix build regression 2012-07-27 11:42:32 +10:00
e500.c KVM: PPC: e500: refactor core-specific TLB code 2012-04-08 12:51:12 +03:00
e500.h KVM: PPC: E500: Remove E500_TLB_DIRTY flag 2012-10-05 23:38:48 +02:00
e500_emulate.c KVM: PPC: booke: Added DECAR support 2012-05-30 11:43:11 +02:00
e500_tlb.c KVM: PPC: E500: Remove E500_TLB_DIRTY flag 2012-10-05 23:38:48 +02:00
e500mc.c KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests 2012-07-11 17:39:38 +02:00
emulate.c KVM: PPC: bookehv64: Add support for std/ld emulation. 2012-07-11 17:39:36 +02:00
fpu.S powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
Kconfig KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support 2012-10-05 23:38:43 +02:00
Makefile kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM 2012-05-06 16:19:11 +02:00
powerpc.c KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
timing.c KVM: PPC: fix partial application of "exit timing in ticks" 2011-07-12 13:16:28 +03:00
timing.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
trace.h KVM: PPC: Use symbols for exit trace 2012-10-05 23:38:48 +02:00