mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
target/arm: Convert MRS/MSR (banked, register)
The m-profile and a-profile decodings overlap. Only return false for the case of wrong profile; handle UNDEFINED for permission failure directly. This ensures that we don't accidentally pass an insn that applies to the wrong profile. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20190904193059.26202-14-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
6313059623
commit
d0b2664450
3 changed files with 142 additions and 138 deletions
|
@ -29,6 +29,10 @@
|
|||
&s_rrrr s rd rn rm ra
|
||||
&rrrr rd rn rm ra
|
||||
&rrr rd rn rm
|
||||
&msr_reg rn r mask
|
||||
&mrs_reg rd r
|
||||
&msr_bank rn r sysm
|
||||
&mrs_bank rd r sysm
|
||||
|
||||
# Data-processing (register)
|
||||
|
||||
|
@ -177,3 +181,13 @@ SMULTT .... 0001 0110 .... 0000 .... 1110 .... @rd0mn
|
|||
MSR_imm .... 0011 0010 .... 1111 .... .... .... @msr_i r=0
|
||||
}
|
||||
MSR_imm .... 0011 0110 .... 1111 .... .... .... @msr_i r=1
|
||||
|
||||
# Miscellaneous instructions
|
||||
|
||||
%sysm 8:1 16:4
|
||||
|
||||
MRS_bank ---- 0001 0 r:1 00 .... rd:4 001. 0000 0000 &mrs_bank %sysm
|
||||
MSR_bank ---- 0001 0 r:1 10 .... 1111 001. 0000 rn:4 &msr_bank %sysm
|
||||
|
||||
MRS_reg ---- 0001 0 r:1 00 1111 rd:4 0000 0000 0000 &mrs_reg
|
||||
MSR_reg ---- 0001 0 r:1 10 mask:4 1111 0000 0000 rn:4 &msr_reg
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue