linux/arch/powerpc/kvm
Nicholas Piggin aabcaf6ae2 KVM: PPC: Book3S HV P9: Move host OS save/restore functions to built-in
Move the P9 guest/host register switching functions to the built-in
P9 entry code, and export it for nested to use as well.

This allows more flexibility in scheduling these supervisor privileged
SPR accesses with the HV privileged and PR SPR accesses in the low level
entry code.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20211123095231.1036501-30-npiggin@gmail.com
2021-11-24 21:09:00 +11:00
..
book3s_32_mmu_host.c powerpc/32s: move CTX_TO_VSID() into mmu-hash.h 2021-06-17 00:09:08 +10:00
book3s_32_mmu.c KVM: PPC: Use fallthrough; 2020-03-19 16:39:52 +11:00
book3s_32_sr.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
book3s_64_entry.S KVM: PPC: Book3S HV P9: implement hash host / hash guest support 2021-06-10 22:12:15 +10:00
book3s_64_mmu_host.c powerpc/kvm: Fix build error when PPC_MEM_KEYS/PPC_PSERIES=n 2021-04-27 10:48:37 +10:00
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Fix kvm_unmap_gfn_range_hv() for Hash MMU 2021-05-12 11:07:39 +10:00
book3s_64_mmu_radix.c KVM: PPC: Book3S HV: Stop exporting symbols from book3s_64_mmu_radix 2021-08-24 23:14:06 +10:00
book3s_64_mmu.c KVM: PPC: Book3S PR: Remove unused variable 2021-08-20 22:17:41 +10:00
book3s_64_slb.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
book3s_64_vio_hv.c ARM: 2021-09-07 13:40:51 -07:00
book3s_64_vio.c KVM: PPC: Replace zero-length array with flexible array member 2021-10-20 18:30:42 -05:00
book3s_emulate.c powerpc/32s: Change mfsrin() into a static inline function 2021-02-09 01:10:15 +11:00
book3s_exports.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
book3s_hv_builtin.c KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB 2021-11-24 21:00:36 +11:00
book3s_hv_hmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
book3s_hv_interrupts.S KVM: PPC: Book3S HV P9: Implement PMU save/restore in C 2021-11-24 21:08:58 +11:00
book3s_hv_nested.c KVM: PPC: Book3S HV: Change dec_expires to be relative to guest timebase 2021-11-24 21:08:59 +11:00
book3s_hv_p9_entry.c KVM: PPC: Book3S HV P9: Move host OS save/restore functions to built-in 2021-11-24 21:09:00 +11:00
book3s_hv_ras.c KVM: PPC: Book3S HV: Don't attempt to recover machine checks for FWNMI enabled guests 2020-12-04 01:01:23 +11:00
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV: H_ENTER filter out reserved HPTE[B] value 2021-10-13 13:08:16 +11:00
book3s_hv_rm_xics.c powerpc/powernv/pci: Rework pnv_opal_pci_msi_eoi() 2021-08-10 23:15:01 +10:00
book3s_hv_rm_xive.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Change dec_expires to be relative to guest timebase 2021-11-24 21:08:59 +11:00
book3s_hv_tm_builtin.c KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones 2020-03-19 16:39:52 +11:00
book3s_hv_tm.c KVM: PPC: Book3S HV Nested: Fix TM softpatch HFAC interrupt emulation 2021-08-25 16:37:17 +10:00
book3s_hv_uvmem.c mm/migrate.c: remove MIGRATE_PFN_LOCKED 2021-11-11 09:34:35 -08:00
book3s_hv.c KVM: PPC: Book3S HV P9: Move host OS save/restore functions to built-in 2021-11-24 21:09:00 +11:00
book3s_hv.h KVM: PPC: Book3S HV P9: Move host OS save/restore functions to built-in 2021-11-24 21:09:00 +11:00
book3s_interrupts.S PPC KVM update for 5.9 2020-08-09 13:24:02 -04:00
book3s_mmu_hpte.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
book3s_paired_singles.c KVM: PPC: Clean up redundant 'kvm_run' parameters 2020-05-27 11:39:31 +10:00
book3s_pr_papr.c KVM: stats: Separate generic stats from architecture specific ones 2021-06-24 11:47:56 -04:00
book3s_pr.c powerpc updates for 5.14 2021-07-02 12:54:34 -07:00
book3s_rmhandlers.S powerpc: Replace RFI by rfi on book3s/32 and booke 2020-11-19 16:56:54 +11:00
book3s_rtas.c KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow 2021-07-23 16:14:31 +10:00
book3s_segment.S KVM: PPC: Book3S 64: move bad_host_intr check to HV handler 2021-06-10 22:12:12 +10:00
book3s_xics.c powerpc: rename powerpc_debugfs_root to arch_debugfs_dir 2021-08-13 22:04:26 +10:00
book3s_xics.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
book3s_xive_native.c powerpc: rename powerpc_debugfs_root to arch_debugfs_dir 2021-08-13 22:04:26 +10:00
book3s_xive_template.c powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW 2020-12-11 09:53:10 +11:00
book3s_xive.c kvm: rename KVM_MAX_VCPU_ID to KVM_MAX_VCPU_IDS 2021-09-30 04:27:05 -04:00
book3s_xive.h KVM: PPC: Book3S HV: XIVE: Add support for automatic save-restore 2021-08-10 23:15:02 +10:00
book3s.c KVM: stats: Add halt_wait_ns stats for all architectures 2021-08-20 16:06:33 -04:00
book3s.h KVM: PPC: Book3S PR: Declare kvmppc_handle_exit_pr() 2021-08-20 22:17:38 +10:00
booke_emulate.c KVM: PPC: Clean up redundant 'kvm_run' parameters 2020-05-27 11:39:31 +10:00
booke_interrupts.S KVM: PPC: Clean up redundant kvm_run parameters in assembly 2020-07-23 15:50:01 +10:00
booke.c KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ handling 2021-10-28 22:27:48 +11:00
booke.h KVM: PPC: Clean up redundant 'kvm_run' parameters 2020-05-27 11:39:31 +10:00
bookehv_interrupts.S KVM: PPC: Clean up redundant kvm_run parameters in assembly 2020-07-23 15:50:01 +10:00
e500_emulate.c KVM: PPC: Clean up redundant 'kvm_run' parameters 2020-05-27 11:39:31 +10:00
e500_mmu_host.c KVM: PPC: Convert to the gfn-based MMU notifier callbacks 2021-04-17 08:31:07 -04:00
e500_mmu_host.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
e500_mmu.c KVM: PPC: Kill kvmppc_ops::mmu_destroy() and kvmppc_mmu_destroy() 2020-03-19 16:43:07 +11:00
e500.c KVM: PPC: Kill kvmppc_ops::mmu_destroy() and kvmppc_mmu_destroy() 2020-03-19 16:43:07 +11:00
e500.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
e500mc.c KVM: PPC: Kill kvmppc_ops::mmu_destroy() and kvmppc_mmu_destroy() 2020-03-19 16:43:07 +11:00
emulate_loadstore.c MIPS: 2020-06-12 11:05:52 -07:00
emulate.c KVM: PPC: Clean up redundant 'kvm_run' parameters 2020-05-27 11:39:31 +10:00
fpu.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
irq.h
Kconfig KVM: PPC: Book3S HV: Don't always save PMU for guest capable of nesting 2021-11-24 21:08:57 +11:00
Makefile KVM: stats: Add fd-based API to read binary stats data 2021-06-24 11:47:57 -04:00
mpic.c KVM: Remove unnecessary asm/kvm_host.h includes 2020-03-16 17:57:34 +01:00
powerpc.c KVM: PPC: Cap KVM_CAP_NR_VCPUS by KVM_CAP_MAX_VCPUS 2021-11-18 02:12:14 -05:00
timing.c powerpc/kvm: no need to check return value of debugfs_create functions 2020-03-04 22:44:25 +11:00
timing.h KVM: Remove unnecessary asm/kvm_host.h includes 2020-03-16 17:57:34 +01:00
tm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
trace_book3s.h
trace_booke.h KVM: Move arm64's MMU notifier trace events to generic code 2021-04-17 08:30:56 -04:00
trace_hv.h KVM: PPC: Fix typo on H_DISABLE_AND_GET hcall 2020-07-23 17:43:35 +10:00
trace_pr.h KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00
trace.h KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00