[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] AArch64: some missed undefined instructions
From: |
Laurent Desnogues |
Subject: |
[Qemu-devel] AArch64: some missed undefined instructions |
Date: |
Thu, 24 Jan 2019 18:12:27 +0100 |
Hello,
I did exhaustive comparisons against latest binutils and found the
following undefined instructions that QEMU fails to flag:
- in disas_b_exc_sys, before calling disas_system bits [23:22] should
be checked to be 0
- in disas_ldst_reg_imm9, PRFM is wrongly detected: PRFM is for idx =
0, not for is_unpriv, the rest being undefined
- in disas_ldst_multiple_struct, if the instruction is not
post-indexed, then bits [20:16] should be checked to be 0
- in disas_ldst_single_struct, if the instruction is not post-indexed,
then bits [20:16] should be checked to be 0; also bit [31] should be
0
- in disas_add_sub_ext_reg, bits [23:22] should be checked to be 0
- in disas_data_proc_1src, there's a missing default that would flag
undefined instructions
- in disas_fp_1src, disas_fp_2src, disas_fp_3src, and disas_fp_imm
bits, [31:29] should be checked to be 0
- in disas_fp_imm, bits [9:5] should be checked to be 0
- in disas_simd_indexed, SDOT and UDOT are not scalar instructions.
That's all I found. I hope I didn't make any transcription error :-)
Thanks,
Laurent
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] AArch64: some missed undefined instructions,
Laurent Desnogues <=