qemu/target-ppc
Tom Musta bbfb6f132a target-ppc: Little Endian Correction to Load/Store Vector Element
The Load Vector Element (lve*x) and Store Vector Element (stve*x)
instructions not only byte-swap in Little Endian mode, they also
invert the element that is accessed. For example, the RTL for
lvehx contains this:

     eb <-- EA[60:63]
     if Big-Endian byte ordering then
         VRT[8*eb:8*eb+15] <-- MEM(EA,2)
     else
         VRT[112-(8*eb):127-(8*eb)] <-- MEM(EA,2)

This patch adds the element inversion, as described in the last line
of the RTL.

Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-10-25 23:25:45 +02:00
..
cpu-models.c target-ppc: Add POWER5+ v2.1 CPU model 2013-08-07 12:47:44 -05:00
cpu-models.h target-ppc: Add POWER5+ v2.1 CPU model 2013-08-07 12:47:44 -05:00
cpu-qom.h target-ppc: Convert ppc cpu savevm to VMStateDescription 2013-07-29 10:37:04 -05:00
cpu.h target-ppc: USE LPCR_ILE to control exception endian on POWER7 2013-09-02 10:06:41 +02:00
excp_helper.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
fpu_helper.c target-ppc: add support for extended mtfsf/mtfsfi forms 2013-04-26 23:02:43 +02:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
helper_regs.h cpu: Move halted and interrupt_request fields to CPUState 2013-03-12 10:35:55 +01:00
helper.h tcg: Remove stray semi-colons from target-*/helper.h 2013-10-10 11:43:37 -07:00
int_helper.c target-ppc: emulate cmpb instruction 2013-04-26 23:02:42 +02:00
kvm_ppc.c PPC: KVM: Compile fix for qemu_notify_event 2013-09-02 10:06:42 +02:00
kvm_ppc.h pseries: savevm support with KVM 2013-07-29 10:37:09 -05:00
kvm-stub.c kvm/openpic: in-kernel mpic support 2013-07-01 01:11:14 +02:00
kvm.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
machine.c target-ppc: Convert ppc cpu savevm to VMStateDescription 2013-07-29 10:37:04 -05:00
Makefile.objs Makefile.target: CONFIG_NO_* variables removed 2013-10-16 18:21:00 +02:00
mem_helper.c target-ppc: Little Endian Correction to Load/Store Vector Element 2013-10-25 23:25:45 +02:00
mfrom_table_gen.c fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
mfrom_table.c
misc_helper.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
mmu_helper.c Merge branch 'tcg-next' of git://github.com/rth7680/qemu 2013-09-03 01:35:43 +02:00
mmu-hash32.c target-ppc: Change LOG_MMU_STATE() argument to CPUState 2013-07-09 21:33:04 +02:00
mmu-hash32.h mmu-hash32: Clean up BAT matching logic 2013-03-22 15:28:51 +01:00
mmu-hash64.c target-ppc: Change LOG_MMU_STATE() argument to CPUState 2013-07-09 21:33:04 +02:00
mmu-hash64.h mmu-hash64: Implement Virtual Page Class Key Protection 2013-03-22 15:28:53 +01:00
STATUS Fix typos in comments (chek -> check) 2011-05-22 22:31:45 +01:00
timebase_helper.c ppc: Avoid AREG0 for timebase helpers 2012-06-24 01:04:43 +02:00
translate_init.c cpu: Drop cpu_model_str from CPU_COMMON 2013-10-07 11:48:47 +02:00
translate.c tcg: Move helper registration into tcg_context_init 2013-10-10 11:43:37 -07:00
user_only_helper.c target-ppc: Split user only code out of mmu_helper.c 2013-03-22 15:28:53 +01:00