mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-03-01 23:54:54 -07:00
LQ, STQ have the same register-pair ordering as LQARX/STQARX., which is
the even (lower) register contains the most significant bits. This is
not implemented correctly for big-endian.
do_ldst_quad() has variables low_addr_gpr and high_addr_gpr which is
confusing because they are low and high addresses, whereas LQARX/STQARX.
and most such things use the low and high values for lo/hi variables.
The conversion to native 128-bit memory access functions missed this
strangeness.
Fix this by changing the if condition, and change the variable names to
hi/lo to match convention.
Cc: qemu-stable@nongnu.org
Reported-by: Ivan Warren <ivan@vmfacility.fr>
Fixes:
|
||
|---|---|---|
| .. | ||
| branch-impl.c.inc | ||
| dfp-impl.c.inc | ||
| fixedpoint-impl.c.inc | ||
| fp-impl.c.inc | ||
| fp-ops.c.inc | ||
| processor-ctrl-impl.c.inc | ||
| spe-impl.c.inc | ||
| spe-ops.c.inc | ||
| storage-ctrl-impl.c.inc | ||
| vmx-impl.c.inc | ||
| vmx-ops.c.inc | ||
| vsx-impl.c.inc | ||
| vsx-ops.c.inc | ||