target-sparc: Handle more twinx asis

As used by HelenOS, presumably for ultra 2 and 3,
prior to the sun4v platform and the current twinx names.

Backports commit 34a6e13da70b2c798630a8dbd03d09f201c0198f from qemu
This commit is contained in:
Richard Henderson 2018-02-28 12:28:05 -05:00 committed by Lioncash
parent ecbeea7c56
commit ebc292c174
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -2222,12 +2222,16 @@ static DisasASI get_asi(DisasContext *dc, int insn, TCGMemOp memop)
case ASI_REAL_IO_L: /* Bypass, non-cacheable LE */ case ASI_REAL_IO_L: /* Bypass, non-cacheable LE */
case ASI_TWINX_REAL: /* Real address, twinx */ case ASI_TWINX_REAL: /* Real address, twinx */
case ASI_TWINX_REAL_L: /* Real address, twinx, LE */ case ASI_TWINX_REAL_L: /* Real address, twinx, LE */
case ASI_QUAD_LDD_PHYS:
case ASI_QUAD_LDD_PHYS_L:
mem_idx = MMU_PHYS_IDX; mem_idx = MMU_PHYS_IDX;
break; break;
case ASI_N: /* Nucleus */ case ASI_N: /* Nucleus */
case ASI_NL: /* Nucleus LE */ case ASI_NL: /* Nucleus LE */
case ASI_TWINX_N: case ASI_TWINX_N:
case ASI_TWINX_NL: case ASI_TWINX_NL:
case ASI_NUCLEUS_QUAD_LDD:
case ASI_NUCLEUS_QUAD_LDD_L:
mem_idx = MMU_NUCLEUS_IDX; mem_idx = MMU_NUCLEUS_IDX;
break; break;
case ASI_AIUP: /* As if user primary */ case ASI_AIUP: /* As if user primary */
@ -2309,6 +2313,10 @@ static DisasASI get_asi(DisasContext *dc, int insn, TCGMemOp memop)
case ASI_TWINX_PL: case ASI_TWINX_PL:
case ASI_TWINX_S: case ASI_TWINX_S:
case ASI_TWINX_SL: case ASI_TWINX_SL:
case ASI_QUAD_LDD_PHYS:
case ASI_QUAD_LDD_PHYS_L:
case ASI_NUCLEUS_QUAD_LDD:
case ASI_NUCLEUS_QUAD_LDD_L:
type = GET_ASI_DTWINX; type = GET_ASI_DTWINX;
break; break;
case ASI_BLK_COMMIT_P: case ASI_BLK_COMMIT_P: