linux/arch/powerpc/kvm
Alexander Graf 7a58777a33 KVM: PPC: Book3S: Provide different CAPs based on HV or PR mode
With Book3S KVM we can create both PR and HV VMs in parallel on the same
machine. That gives us new challenges on the CAPs we return - both have
different capabilities.

When we get asked about CAPs on the kvm fd, there's nothing we can do. We
can try to be smart and assume we're running HV if HV is available, PR
otherwise. However with the newly added VM CHECK_EXTENSION we can now ask
for capabilities directly on a VM which knows whether it's PR or HV.

With this patch I can successfully expose KVM PVINFO data to user space
in the PR case, fixing magic page mapping for PAPR guests.

Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
2014-07-28 15:23:18 +02:00
..
book3s_32_mmu_host.c KVM: PPC: Book3S: Make magic page properly 4k mappable 2014-07-28 15:23:11 +02:00
book3s_32_mmu.c KVM: PPC: Book3S: Stop PTE lookup on write errors 2014-07-28 15:23:10 +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_host.c KVM: PPC: Book3S: Make magic page properly 4k mappable 2014-07-28 15:23:11 +02:00
book3s_64_mmu_hv.c KVM: PPC: Allow kvmppc_get_last_inst() to fail 2014-07-28 15:23:14 +02:00
book3s_64_mmu.c KVM: PPC: Disable NX for old magic page using guests 2014-05-30 14:26:24 +02:00
book3s_64_slb.S KVM: PPC: Book3S PR: Rework SLB switching code 2014-05-30 14:26:30 +02:00
book3s_64_vio_hv.c KVM: PPC: Book3S: Introduce hypervisor call H_GET_TCE 2014-03-26 23:34:27 +11:00
book3s_64_vio.c ppc: kvm: use anon_inode_getfd() with O_CLOEXEC flag 2013-08-26 13:19:56 +03:00
book3s_emulate.c KVM: PPC: BOOK3S: PR: Emulate instruction counter 2014-07-28 15:22:10 +02:00
book3s_exports.c KVM: PPC: Make shared struct aka magic page guest endian 2014-05-30 14:26:21 +02:00
book3s_hv_builtin.c KVM: PPC: Book3S: Allow only implemented hcalls to be enabled or disabled 2014-07-28 15:22:18 +02:00
book3s_hv_cma.c powerpc/kvm: Use 256K chunk to track both RMA and hash page table allocation. 2013-07-08 16:21:13 +02:00
book3s_hv_cma.h powerpc/kvm: Use 256K chunk to track both RMA and hash page table allocation. 2013-07-08 16:21:13 +02:00
book3s_hv_interrupts.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
book3s_hv_ras.c KVM: PPC: Book3S HV: Access guest VPA in BE 2014-07-28 15:22:22 +02:00
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV: Make HTAB code LE host aware 2014-07-28 15:22:22 +02:00
book3s_hv_rm_xics.c KVM: PPC: Book3S HV: Add support for real mode ICP in XICS emulation 2013-04-26 20:27:32 +02:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Fix ABIv2 on LE 2014-07-28 15:22:25 +02:00
book3s_hv.c Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8 2014-07-28 15:23:17 +02:00
book3s_interrupts.S KVM: PPC: Book3S PR: Fix ABIv2 on LE 2014-07-28 15:22:15 +02:00
book3s_mmu_hpte.c kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
book3s_paired_singles.c KVM: PPC: Allow kvmppc_get_last_inst() to fail 2014-07-28 15:23:14 +02:00
book3s_pr_papr.c KVM: PPC: Book3S PR: Take SRCU read lock around RTAS kvm_read_guest() call 2014-07-28 15:23:16 +02:00
book3s_pr.c KVM: PPC: Book3S: Fix LPCR one_reg interface 2014-07-28 15:23:16 +02:00
book3s_rmhandlers.S KVM: PPC: Book3S PR: Fix ABIv2 on LE 2014-07-28 15:22:15 +02:00
book3s_rtas.c KVM: PPC: Book3S PR: PAPR: Access RTAS in big endian 2014-05-30 14:26:20 +02:00
book3s_segment.S KVM: PPC: Book3S PR: Handle Facility interrupt and FSCR 2014-05-30 14:26:22 +02:00
book3s_xics.c KVM: PPC: fix couple of memory leaks in MPIC/XICS devices 2014-01-09 10:14:54 +01:00
book3s_xics.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
book3s.c KVM: PPC: Book3S: Make kvmppc_ld return a more accurate error indication 2014-07-28 15:23:16 +02:00
book3s.h kvm: powerpc: book3s: Allow the HV and PR selection per virtual machine 2013-10-17 18:42:36 +02:00
booke_emulate.c kvm: ppc: booke: Use the shared struct helpers for SPRN_SPRG0-7 2014-07-28 15:23:12 +02:00
booke_interrupts.S KVM: PPC: Remove 440 support 2014-07-28 15:23:15 +02:00
booke.c KVM: PPC: Bookehv: Get vcpu's last instruction for emulation 2014-07-28 15:23:14 +02:00
booke.h KVM: PPC: Remove 440 support 2014-07-28 15:23:15 +02:00
bookehv_interrupts.S KVM: PPC: Remove 440 support 2014-07-28 15:23:15 +02:00
e500_emulate.c KVM: PPC: e500: Emulate power management control SPR 2014-07-28 15:22:27 +02:00
e500_mmu_host.c KVM: PPC: Bookehv: Get vcpu's last instruction for emulation 2014-07-28 15:23:14 +02:00
e500_mmu_host.h KVM: PPC: E500: Make clear_tlb_refs and clear_tlb1_bitmap static 2013-01-24 19:23:33 +01:00
e500_mmu.c KVM: PPC: e500: Fix bad address type in deliver_tlb_misss() 2014-01-27 16:00:54 +01:00
e500.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
e500.h kvm: powerpc: use caching attributes as per linux pte 2014-01-09 10:15:08 +01:00
e500mc.c KVM: PPC: Booke-hv: Add one reg interface for SPRG9 2014-07-28 15:23:15 +02:00
emulate.c KVM: PPC: Allow kvmppc_get_last_inst() to fail 2014-07-28 15:23:14 +02:00
fpu.S
irq.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
Kconfig KVM: PPC: Remove 440 support 2014-07-28 15:23:15 +02:00
Makefile KVM: PPC: Remove 440 support 2014-07-28 15:23:15 +02:00
mpic.c KVM: PPC: MPIC: Reset IRQ source private members 2014-05-30 14:26:26 +02:00
powerpc.c KVM: PPC: Book3S: Provide different CAPs based on HV or PR mode 2014-07-28 15:23:18 +02:00
timing.c
timing.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
trace_booke.h kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00
trace_pr.h KVM: PPC: Make shared struct aka magic page guest endian 2014-05-30 14:26:21 +02:00
trace.h kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00