mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
target/arm: Convert MSR (immediate) and hints
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20190904193059.26202-13-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
485b607d4f
commit
6313059623
3 changed files with 84 additions and 18 deletions
|
@ -22,6 +22,7 @@
|
|||
# All insns that have 0xf in insn[31:28] are in a32-uncond.decode.
|
||||
#
|
||||
|
||||
&empty
|
||||
&s_rrr_shi s rd rn rm shim shty
|
||||
&s_rrr_shr s rn rd rm rs shty
|
||||
&s_rri_rot s rn rd imm rot
|
||||
|
@ -152,3 +153,27 @@ SMULBB .... 0001 0110 .... 0000 .... 1000 .... @rd0mn
|
|||
SMULBT .... 0001 0110 .... 0000 .... 1100 .... @rd0mn
|
||||
SMULTB .... 0001 0110 .... 0000 .... 1010 .... @rd0mn
|
||||
SMULTT .... 0001 0110 .... 0000 .... 1110 .... @rd0mn
|
||||
|
||||
# MSR (immediate) and hints
|
||||
|
||||
&msr_i r mask rot imm
|
||||
@msr_i ---- .... .... mask:4 .... rot:4 imm:8 &msr_i
|
||||
|
||||
{
|
||||
{
|
||||
YIELD ---- 0011 0010 0000 1111 ---- 0000 0001
|
||||
WFE ---- 0011 0010 0000 1111 ---- 0000 0010
|
||||
WFI ---- 0011 0010 0000 1111 ---- 0000 0011
|
||||
|
||||
# TODO: Implement SEV, SEVL; may help SMP performance.
|
||||
# SEV ---- 0011 0010 0000 1111 ---- 0000 0100
|
||||
# SEVL ---- 0011 0010 0000 1111 ---- 0000 0101
|
||||
|
||||
# The canonical nop ends in 00000000, but the whole of the
|
||||
# rest of the space executes as nop if otherwise unsupported.
|
||||
NOP ---- 0011 0010 0000 1111 ---- ---- ----
|
||||
}
|
||||
# Note mask = 0 is covered by NOP
|
||||
MSR_imm .... 0011 0010 .... 1111 .... .... .... @msr_i r=0
|
||||
}
|
||||
MSR_imm .... 0011 0110 .... 1111 .... .... .... @msr_i r=1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue