linux/arch/powerpc/kvm
Paul Mackerras eb8b056016 KVM: PPC: Fix emulated MMIO sign-extension
When the guest does a sign-extending load instruction (such as lha
or lwa) to an emulated MMIO location, it results in a call to
kvmppc_handle_loads() in the host.  That function sets the
vcpu->arch.mmio_sign_extend flag and calls kvmppc_handle_load()
to do the rest of the work.  However, kvmppc_handle_load() sets
the mmio_sign_extend flag to 0 unconditionally, so the sign
extension never gets done.

To fix this, we rename kvmppc_handle_load to __kvmppc_handle_load
and add an explicit parameter to indicate whether sign extension
is required.  kvmppc_handle_load() and kvmppc_handle_loads() then
become 1-line functions that just call __kvmppc_handle_load()
with the extra parameter.

Reported-by: Bin Lu <lblulb@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-05-11 21:19:10 +10:00
..
book3s_32_mmu_host.c powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
book3s_32_mmu.c
book3s_32_sr.S
book3s_64_mmu_host.c powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
book3s_64_mmu_hv.c powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
book3s_64_mmu.c powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
book3s_64_slb.S
book3s_64_vio_hv.c KVM: PPC: Create a virtual-mode only TCE table handlers 2016-03-22 12:02:51 +01:00
book3s_64_vio.c KVM: PPC: Create a virtual-mode only TCE table handlers 2016-03-22 12:02:51 +01:00
book3s_emulate.c KVM: PPC: Fix warnings from sparse 2015-08-22 11:16:16 +02:00
book3s_exports.c
book3s_hv_builtin.c KVM: PPC: Book3S HV: Host-side RM data structures 2016-02-29 16:25:06 +11:00
book3s_hv_interrupts.S
book3s_hv_ras.c
book3s_hv_rm_mmu.c powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
book3s_hv_rm_xics.c KVM: PPC: Book3S HV: Add tunable to control H_IPI redirection 2016-02-29 16:25:06 +11:00
book3s_hv_rmhandlers.S KVM: PPC: Create a virtual-mode only TCE table handlers 2016-03-22 12:02:51 +01:00
book3s_hv.c One of the largest releases for KVM... Hardly any generic improvement, 2016-03-16 09:55:35 -07:00
book3s_interrupts.S
book3s_mmu_hpte.c
book3s_paired_singles.c powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
book3s_pr_papr.c KVM: PPC: Add support for multiple-TCE hcalls 2016-02-16 13:44:26 +11:00
book3s_pr.c KVM: PPC: Book3S PR: Manage single-step mode 2016-05-11 21:19:10 +10:00
book3s_rmhandlers.S
book3s_rtas.c
book3s_segment.S KVM: PPC: Book3S: correct width in XER handling 2015-08-22 11:16:19 +02:00
book3s_xics.c KVM: PPC: Fix debug macros 2016-05-11 21:19:10 +10:00
book3s_xics.h
book3s.c KVM: PPC: Use RCU for arch.spapr_tce_tables 2016-02-16 13:44:26 +11:00
book3s.h
booke_emulate.c
booke_interrupts.S
booke.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
booke.h
bookehv_interrupts.S
e500_emulate.c KVM: PPC: e500: Emulate TMCFG0 TMRN register 2015-10-15 15:58:16 +11:00
e500_mmu_host.c kvm: rename pfn_t to kvm_pfn_t 2016-01-15 17:56:32 -08:00
e500_mmu_host.h
e500_mmu.c
e500.c KVM: PPC: e500: fix handling local_sid_lookup result 2015-10-15 15:58:16 +11:00
e500.h kvm: rename pfn_t to kvm_pfn_t 2016-01-15 17:56:32 -08:00
e500mc.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
emulate_loadstore.c
emulate.c
fpu.S
irq.h
Kconfig
Makefile KVM: PPC: do not compile in vfio.o unconditionally 2016-03-22 16:38:38 +01:00
mpic.c
powerpc.c KVM: PPC: Fix emulated MMIO sign-extension 2016-05-11 21:19:10 +10:00
timing.c
timing.h
trace_book3s.h
trace_booke.h
trace_hv.h
trace_pr.h kvm: rename pfn_t to kvm_pfn_t 2016-01-15 17:56:32 -08:00
trace.h