On 5/14/19 10:44 PM, Max Filippov wrote:
> Block prefetch option adds a bunch of non-privileged opcodes that may be
> implemented as nops since QEMU doesn't model caches.
>
> Signed-off-by: Max Filippov
> ---
> target/xtensa/translate.c | 42 ++
> 1 file changed, 42 insertions(+)
>
> diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
> index 24eb70d619d5..356eb9948701 100644
> --- a/target/xtensa/translate.c
> +++ b/target/xtensa/translate.c
> @@ -3078,6 +3078,9 @@ static const XtensaOpcodeOps core_ops[] = {
> .translate = translate_dcache,
> .op_flags = XTENSA_OP_PRIVILEGED,
> }, {
> +.name = "dhi.b",
> +.translate = translate_nop,
> +}, {
> .name = "dhu",
> .translate = translate_dcache,
> .op_flags = XTENSA_OP_PRIVILEGED,
> @@ -3085,9 +3088,15 @@ static const XtensaOpcodeOps core_ops[] = {
> .name = "dhwb",
> .translate = translate_dcache,
> }, {
> +.name = "dhwb.b",
> +.translate = translate_nop,
> +}, {
> .name = "dhwbi",
> .translate = translate_dcache,
> }, {
> +.name = "dhwbi.b",
> +.translate = translate_nop,
> +}, {
> .name = "dii",
> .translate = translate_nop,
> .op_flags = XTENSA_OP_PRIVILEGED,
> @@ -3112,15 +3121,33 @@ static const XtensaOpcodeOps core_ops[] = {
> .translate = translate_dcache,
> .op_flags = XTENSA_OP_PRIVILEGED,
> }, {
> +.name = "dpfm.b",
> +.translate = translate_nop,
> +}, {
> +.name = "dpfm.bf",
> +.translate = translate_nop,
> +}, {
> .name = "dpfr",
> .translate = translate_nop,
> }, {
> +.name = "dpfr.b",
> +.translate = translate_nop,
> +}, {
> +.name = "dpfr.bf",
> +.translate = translate_nop,
> +}, {
> .name = "dpfro",
> .translate = translate_nop,
> }, {
> .name = "dpfw",
> .translate = translate_nop,
> }, {
> +.name = "dpfw.b",
> +.translate = translate_nop,
> +}, {
> +.name = "dpfw.bf",
> +.translate = translate_nop,
> +}, {
> .name = "dpfwo",
> .translate = translate_nop,
> }, {
> @@ -3628,6 +3655,21 @@ static const XtensaOpcodeOps core_ops[] = {
> .par = (const uint32_t[]){true},
> .op_flags = XTENSA_OP_PRIVILEGED,
> }, {
> +.name = "pfend.a",
> +.translate = translate_nop,
> +}, {
> +.name = "pfend.o",
> +.translate = translate_nop,
> +}, {
> +.name = "pfnxt.f",
> +.translate = translate_nop,
> +}, {
> +.name = "pfwait.a",
> +.translate = translate_nop,
> +}, {
> +.name = "pfwait.o",
> +.translate = translate_nop,
> +}, {
> .name = "pitlb",
> .translate = translate_ptlb,
> .par = (const uint32_t[]){false},
>
Reviewed-by: Philippe Mathieu-Daudé