mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
target/ppc: Implement PNOP
The illegal suffix behavior matches what was observed in a POWER10 DD2.0 machine. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> Message-Id: <20210601193528.2533031-6-matheus.ferst@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
5e56086423
commit
0a11bb7a35
2 changed files with 78 additions and 0 deletions
|
@ -28,3 +28,70 @@
|
||||||
|
|
||||||
PADDI 000001 10 0--.-- .................. \
|
PADDI 000001 10 0--.-- .................. \
|
||||||
001110 ..... ..... ................ @PLS_D
|
001110 ..... ..... ................ @PLS_D
|
||||||
|
|
||||||
|
### Prefixed No-operation Instruction
|
||||||
|
|
||||||
|
@PNOP 000001 11 0000-- 000000000000000000 \
|
||||||
|
................................
|
||||||
|
|
||||||
|
{
|
||||||
|
[
|
||||||
|
## Invalid suffixes: Branch instruction
|
||||||
|
# bc[l][a]
|
||||||
|
INVALID ................................ \
|
||||||
|
010000-------------------------- @PNOP
|
||||||
|
# b[l][a]
|
||||||
|
INVALID ................................ \
|
||||||
|
010010-------------------------- @PNOP
|
||||||
|
# bclr[l]
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0000010000- @PNOP
|
||||||
|
# bcctr[l]
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------1000010000- @PNOP
|
||||||
|
# bctar[l]
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------1000110000- @PNOP
|
||||||
|
|
||||||
|
## Invalid suffixes: rfebb
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0010010010- @PNOP
|
||||||
|
|
||||||
|
## Invalid suffixes: context synchronizing other than isync
|
||||||
|
# sc
|
||||||
|
INVALID ................................ \
|
||||||
|
010001------------------------1- @PNOP
|
||||||
|
# scv
|
||||||
|
INVALID ................................ \
|
||||||
|
010001------------------------01 @PNOP
|
||||||
|
# rfscv
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0001010010- @PNOP
|
||||||
|
# rfid
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0000010010- @PNOP
|
||||||
|
# hrfid
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0100010010- @PNOP
|
||||||
|
# urfid
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0100110010- @PNOP
|
||||||
|
# stop
|
||||||
|
INVALID ................................ \
|
||||||
|
010011---------------0101110010- @PNOP
|
||||||
|
# mtmsr w/ L=0
|
||||||
|
INVALID ................................ \
|
||||||
|
011111---------0-----0010010010- @PNOP
|
||||||
|
# mtmsrd w/ L=0
|
||||||
|
INVALID ................................ \
|
||||||
|
011111---------0-----0010110010- @PNOP
|
||||||
|
|
||||||
|
## Invalid suffixes: Service Processor Attention
|
||||||
|
INVALID ................................ \
|
||||||
|
000000----------------100000000- @PNOP
|
||||||
|
]
|
||||||
|
|
||||||
|
## Valid suffixes
|
||||||
|
PNOP ................................ \
|
||||||
|
-------------------------------- @PNOP
|
||||||
|
}
|
||||||
|
|
|
@ -60,3 +60,14 @@ static bool trans_ADDIS(DisasContext *ctx, arg_D *a)
|
||||||
a->si <<= 16;
|
a->si <<= 16;
|
||||||
return trans_ADDI(ctx, a);
|
return trans_ADDI(ctx, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool trans_INVALID(DisasContext *ctx, arg_INVALID *a)
|
||||||
|
{
|
||||||
|
gen_invalid(ctx);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool trans_PNOP(DisasContext *ctx, arg_PNOP *a)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue