mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-10 11:04:58 -06:00
tcg: Expand MO_SIZE to 3 bits
We have lacked expressive support for memory sizes larger than 64-bits for a while. Fixing that requires adjustment to several points where we used this for array indexing, and two places that develop -Wswitch warnings after the change. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
c433e298d9
commit
4b473e0c60
12 changed files with 43 additions and 36 deletions
|
@ -1931,7 +1931,7 @@ static void tcg_out_call(TCGContext *s, const tcg_insn_unit *target)
|
|||
#endif
|
||||
}
|
||||
|
||||
static const uint32_t qemu_ldx_opc[16] = {
|
||||
static const uint32_t qemu_ldx_opc[(MO_SSIZE + MO_BSWAP) + 1] = {
|
||||
[MO_UB] = LBZX,
|
||||
[MO_UW] = LHZX,
|
||||
[MO_UL] = LWZX,
|
||||
|
@ -1944,7 +1944,7 @@ static const uint32_t qemu_ldx_opc[16] = {
|
|||
[MO_BSWAP | MO_Q] = LDBRX,
|
||||
};
|
||||
|
||||
static const uint32_t qemu_stx_opc[16] = {
|
||||
static const uint32_t qemu_stx_opc[(MO_SIZE + MO_BSWAP) + 1] = {
|
||||
[MO_UB] = STBX,
|
||||
[MO_UW] = STHX,
|
||||
[MO_UL] = STWX,
|
||||
|
@ -1965,7 +1965,7 @@ static const uint32_t qemu_exts_opc[4] = {
|
|||
/* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr,
|
||||
* int mmu_idx, uintptr_t ra)
|
||||
*/
|
||||
static void * const qemu_ld_helpers[16] = {
|
||||
static void * const qemu_ld_helpers[(MO_SIZE | MO_BSWAP) + 1] = {
|
||||
[MO_UB] = helper_ret_ldub_mmu,
|
||||
[MO_LEUW] = helper_le_lduw_mmu,
|
||||
[MO_LEUL] = helper_le_ldul_mmu,
|
||||
|
@ -1978,7 +1978,7 @@ static void * const qemu_ld_helpers[16] = {
|
|||
/* helper signature: helper_st_mmu(CPUState *env, target_ulong addr,
|
||||
* uintxx_t val, int mmu_idx, uintptr_t ra)
|
||||
*/
|
||||
static void * const qemu_st_helpers[16] = {
|
||||
static void * const qemu_st_helpers[(MO_SIZE | MO_BSWAP) + 1] = {
|
||||
[MO_UB] = helper_ret_stb_mmu,
|
||||
[MO_LEUW] = helper_le_stw_mmu,
|
||||
[MO_LEUL] = helper_le_stl_mmu,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue