Star64_linux/arch/powerpc/kvm
Suraj Jitindar Singh 8b23eee4e5 KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest
The shadow page table contains ptes for translations from nested guest
address to host address. Currently when creating these ptes we take the
rc bits from the pte for the L1 guest address to host address
translation. This is incorrect as we must also factor in the rc bits
from the pte for the nested guest address to L1 guest address
translation (as contained in the L1 guest partition table for the nested
guest).

By not calculating these bits correctly L1 may not have been correctly
notified when it needed to update its rc bits in the partition table it
maintains for its nested guest.

Modify the code so that the rc bits in the resultant pte for the L2->L0
translation are the 'and' of the rc bits in the L2->L1 pte and the L1->L0
pte, also accounting for whether this was a write access when setting
the dirty bit.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-12-21 14:37:43 +11:00
..
book3s.c KVM: PPC: Pass change type down to memslot commit function 2018-12-17 10:57:27 +11:00
book3s.h
book3s_32_mmu.c powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
book3s_32_mmu_host.c
book3s_32_sr.S
book3s_64_mmu.c powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
book3s_64_mmu_host.c
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off 2018-12-17 10:58:51 +11:00
book3s_64_mmu_radix.c KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest 2018-12-17 11:33:50 +11:00
book3s_64_slb.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
book3s_64_vio.c KVM: PPC: Optimize clearing TCEs for sparse tables 2018-10-20 20:47:02 +11:00
book3s_64_vio_hv.c KVM: PPC: Optimize clearing TCEs for sparse tables 2018-10-20 20:47:02 +11:00
book3s_emulate.c KVM: PPC: Book3S HV: Implement H_TLB_INVALIDATE hcall 2018-10-09 16:04:27 +11:00
book3s_exports.c
book3s_hv.c KVM: PPC: Book3S: Introduce new hcall H_COPY_TOFROM_GUEST to access quadrants 1 & 2 2018-12-17 11:33:50 +11:00
book3s_hv_builtin.c KVM: PPC: Book3S HV: Use XICS hypercalls when running as a nested hypervisor 2018-10-09 16:04:27 +11:00
book3s_hv_hmi.c
book3s_hv_interrupts.S KVM: PPC: Book3S HV: Extract PMU save/restore operations as C-callable functions 2018-10-09 16:04:27 +11:00
book3s_hv_nested.c KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest 2018-12-21 14:37:43 +11:00
book3s_hv_ras.c KVM: PPC: Book3S HV: Streamlined guest entry/exit path on P9 for radix guests 2018-10-09 16:04:27 +11:00
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV: Cleanups - constify memslots, fix comments 2018-12-17 10:58:43 +11:00
book3s_hv_rm_xics.c KVM: PPC: Book3S HV: Use XICS hypercalls when running as a nested hypervisor 2018-10-09 16:04:27 +11:00
book3s_hv_rm_xive.c
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Handle hypercalls correctly when nested 2018-10-09 16:04:27 +11:00
book3s_hv_tm.c KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct 2018-10-09 16:04:27 +11:00
book3s_hv_tm_builtin.c KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct 2018-10-09 16:04:27 +11:00
book3s_interrupts.S powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
book3s_mmu_hpte.c
book3s_paired_singles.c
book3s_pr.c KVM: PPC: Pass change type down to memslot commit function 2018-12-17 10:57:27 +11:00
book3s_pr_papr.c
book3s_rmhandlers.S powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
book3s_rtas.c
book3s_segment.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
book3s_xics.c KVM: PPC: Book3S HV: Change to use DEFINE_SHOW_ATTRIBUTE macro 2018-12-14 15:39:47 +11:00
book3s_xics.h
book3s_xive.c KVM: PPC: Book3S HV: Change to use DEFINE_SHOW_ATTRIBUTE macro 2018-12-14 15:39:47 +11:00
book3s_xive.h
book3s_xive_template.c KVM: PPC: Book3S HV: Remove left-over code in XICS-on-XIVE emulation 2018-10-09 16:04:27 +11:00
booke.c KVM: PPC: Pass change type down to memslot commit function 2018-12-17 10:57:27 +11:00
booke.h
booke_emulate.c
booke_interrupts.S
bookehv_interrupts.S KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct 2018-10-09 16:04:27 +11:00
e500.c powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
e500.h
e500_emulate.c
e500_mmu.c
e500_mmu_host.c
e500_mmu_host.h
e500mc.c powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
emulate.c KVM: PPC: Use exported tb_to_ns() function in decrementer emulation 2018-10-26 21:58:58 +11:00
emulate_loadstore.c KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct 2018-10-09 16:04:27 +11:00
fpu.S
irq.h
Kconfig
Makefile powerpc updates for 4.20 2018-10-26 14:36:21 -07:00
mpic.c
powerpc.c KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L2 guest 2018-12-17 11:33:50 +11:00
timing.c
timing.h
tm.S KVM: PPC: Book3S: Rework TM save/restore code and make it C-callable 2018-10-09 16:04:27 +11:00
trace.h KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00
trace_book3s.h KVM: PPC: Book3S: Simplify external interrupt handling 2018-10-09 16:04:27 +11:00
trace_booke.h KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00
trace_hv.h KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00
trace_pr.h KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE 2018-11-07 23:04:38 +11:00