mirror_ubuntu-kernels/arch/powerpc/kvm
Nicholas Piggin 2852ebfa10 KVM: PPC: Book3S HV Nested: L2 LPCR should inherit L1 LPES setting
The L1 should not be able to adjust LPES mode for the L2. Setting LPES
if the L0 needs it clear would cause external interrupts to be sent to
L2 and missed by the L0.

Clearing LPES when it may be set, as typically happens with XIVE enabled
could cause a performance issue despite having no native XIVE support in
the guest, because it will cause mediated interrupts for the L2 to be
taken in HV mode, which then have to be injected.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220303053315.1056880-7-npiggin@gmail.com
2022-05-13 21:34:33 +10: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: Use 'unsigned long' as kvm_for_each_vcpu()'s index 2021-12-08 04:24:15 -05: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 powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S 2022-03-28 21:22:19 +11:00
book3s_64_mmu_host.c powerpc/kvm: no need to initialise statics to 0 2022-02-02 20:31:25 +11:00
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Remove KVMPPC_NR_LPIDS 2022-05-13 21:33:34 +10:00
book3s_64_mmu_radix.c KVM: PPC: Merge powerpc's debugfs entry content into generic entry 2022-02-02 20:30:26 +11:00
book3s_64_mmu.c KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index 2021-12-08 04:24:15 -05: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 powerpc: Move C prototypes out of asm-prototypes.h 2022-03-08 22:06:25 +11:00
book3s_hv_hmi.c KVM: PPC: Book3S HV P9: Remove subcore HMI handling 2021-11-24 21:09:03 +11: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 Nested: L2 LPCR should inherit L1 LPES setting 2022-05-13 21:34:33 +10:00
book3s_hv_p9_entry.c KVM: PPC: Book3S HV P9: Optimise loads around context switch 2022-05-13 21:33:26 +10:00
book3s_hv_ras.c KVM: PPC: Book3S HV P9: Remove subcore HMI handling 2021-11-24 21:09:03 +11:00
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV P9: Avoid tlbsync sequence on radix guest exit 2021-11-24 21:09:01 +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 powerpc: Move C prototypes out of asm-prototypes.h 2022-03-08 22:06:25 +11:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Update LPID allocator init for POWER9, Nested 2022-05-13 21:33:33 +10: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 ARM: 2022-03-24 11:58:57 -07:00
book3s_hv.c KVM: PPC: Book3S HV Nested: L2 LPCR should inherit L1 LPES setting 2022-05-13 21:34:33 +10:00
book3s_hv.h KVM: PPC: Book3S HV P9: Use Linux SPR save/restore to manage some host SPRs 2021-11-24 21:09:01 +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: PPC: Book3S PR: Disallow AIL != 0 2022-03-08 13:14:00 +11:00
book3s_pr.c KVM: PPC: Book3S PR: Disable SCV when AIL could be disabled 2022-03-08 13:13:58 +11: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 KVM: PPC: Book3S HV: remove unnecessary casts 2022-03-04 12:58:46 +11:00
book3s_xics.h KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index 2021-12-08 04:24:15 -05:00
book3s_xive_native.c KVM: PPC: Book3S HV: remove unnecessary casts 2022-03-04 12:58:46 +11: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: PPC: Book3S HV Nested: L2 must not run with L1 xive context 2022-05-13 21:34:33 +10:00
book3s_xive.h KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index 2021-12-08 04:24:15 -05:00
book3s.c KVM: PPC: Avoid referencing userspace memory region in memslot updates 2021-12-08 04:24:22 -05: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: Rename kvm_vcpu_block() => kvm_vcpu_halt() 2021-12-08 04:24:51 -05: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: Use 'unsigned long' as kvm_for_each_vcpu()'s index 2021-12-08 04:24:15 -05: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: Merge powerpc's debugfs entry content into generic entry 2022-02-02 20:30:26 +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: Remove kvmppc_claim_lpid 2022-05-13 21:33:33 +10:00
emulate_loadstore.c KVM: PPC: Book3s: mmio: Deliver DSI after emulation failure 2022-01-31 13:43:00 +11: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 PR: Disable SCV when AIL could be disabled 2022-03-08 13:13:58 +11:00
Makefile KVM: powerpc: Use Makefile.kvm for common files 2021-12-09 13:06:01 -05:00
mpic.c KVM: Remove unnecessary asm/kvm_host.h includes 2020-03-16 17:57:34 +01:00
powerpc.c KVM: PPC: Book3S HV: Use IDA allocator for LPID allocator 2022-05-13 21:33:33 +10:00
timing.c KVM: PPC: Merge powerpc's debugfs entry content into generic entry 2022-02-02 20:30:26 +11:00
timing.h KVM: PPC: Merge powerpc's debugfs entry content into generic entry 2022-02-02 20:30:26 +11: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 powerpc/pseries: Interface to represent PAPR firmware attributes 2022-03-08 00:05:00 +11: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