qemu-e2k/target
Nicholas Piggin 984eda58f2 target/ppc: Fix sc instruction handling of LEV field
The top bits of the LEV field of the sc instruction are to be treated as
as a reserved field rather than a reserved value, meaning LEV is
effectively the bottom bit. LEV=0xF should be treated as LEV=1 and be
a hypercall, for example.

This changes the instruction execution to just set lev from the low bit
of the field. Processors which don't support the LEV field will continue
to ignore it.

ISA v3.1 defines LEV to be 2 bits, in order to add the 'sc 2' ultracall
instruction. TCG does not support Ultravisor, so don't worry about
that bit.

Suggested-by: "Harsh Prateek Bora" <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
2023-06-25 22:41:30 +02:00
..
alpha meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
arm target/arm: Fix sve predicate store, 8 <= VQ <= 15 2023-06-23 11:37:29 +01:00
avr meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
cris meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
hexagon target/*: Add missing includes of exec/translation-block.h 2023-06-05 12:04:29 -07:00
hppa meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
i386 meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
loongarch meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
m68k meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
microblaze meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
mips meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
nios2 meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
openrisc meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
ppc target/ppc: Fix sc instruction handling of LEV field 2023-06-25 22:41:30 +02:00
riscv meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
rx accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
s390x meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
sh4 meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
sparc meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
tricore target/tricore: Fix ICR.IE offset in RESTORE insn 2023-06-21 18:09:54 +02:00
xtensa meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
Kconfig hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00
meson.build target/loongarch: Add target build suport 2022-06-06 18:09:03 +00:00