target/rx: Ensure not being build on user emulation
Currently only system emulation is supported. Assert no target code is built for user emulation. Remove #ifdef'ry since more work is required before being able to emulate a user process. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20250121142341.17001-3-philmd@linaro.org>
This commit is contained in:
parent
a770b10baf
commit
edee3da2e6
@ -192,13 +192,11 @@ static void rx_cpu_init(Object *obj)
|
||||
qdev_init_gpio_in(DEVICE(cpu), rx_cpu_set_irq, 2);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
#include "hw/core/sysemu-cpu-ops.h"
|
||||
|
||||
static const struct SysemuCPUOps rx_sysemu_ops = {
|
||||
.get_phys_page_debug = rx_cpu_get_phys_page_debug,
|
||||
};
|
||||
#endif
|
||||
|
||||
#include "accel/tcg/cpu-ops.h"
|
||||
|
||||
@ -209,11 +207,9 @@ static const TCGCPUOps rx_tcg_ops = {
|
||||
.restore_state_to_opc = rx_restore_state_to_opc,
|
||||
.tlb_fill = rx_cpu_tlb_fill,
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
.cpu_exec_interrupt = rx_cpu_exec_interrupt,
|
||||
.cpu_exec_halt = rx_cpu_has_work,
|
||||
.do_interrupt = rx_cpu_do_interrupt,
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
};
|
||||
|
||||
static void rx_cpu_class_init(ObjectClass *klass, void *data)
|
||||
@ -235,9 +231,7 @@ static void rx_cpu_class_init(ObjectClass *klass, void *data)
|
||||
cc->set_pc = rx_cpu_set_pc;
|
||||
cc->get_pc = rx_cpu_get_pc;
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
cc->sysemu_ops = &rx_sysemu_ops;
|
||||
#endif
|
||||
cc->gdb_read_register = rx_cpu_gdb_read_register;
|
||||
cc->gdb_write_register = rx_cpu_gdb_write_register;
|
||||
cc->disas_set_info = rx_cpu_disas_set_info;
|
||||
|
@ -26,6 +26,10 @@
|
||||
#include "exec/cpu-defs.h"
|
||||
#include "qemu/cpu-float.h"
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
#error "RX does not support user mode emulation"
|
||||
#endif
|
||||
|
||||
/* PSW define */
|
||||
REG32(PSW, 0)
|
||||
FIELD(PSW, C, 0, 1)
|
||||
@ -129,11 +133,9 @@ struct RXCPUClass {
|
||||
#define CPU_RESOLVING_TYPE TYPE_RX_CPU
|
||||
|
||||
const char *rx_crname(uint8_t cr);
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
void rx_cpu_do_interrupt(CPUState *cpu);
|
||||
bool rx_cpu_exec_interrupt(CPUState *cpu, int int_req);
|
||||
hwaddr rx_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
void rx_cpu_dump_state(CPUState *cpu, FILE *f, int flags);
|
||||
int rx_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg);
|
||||
int rx_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
|
||||
|
@ -40,8 +40,6 @@ void rx_cpu_unpack_psw(CPURXState *env, uint32_t psw, int rte)
|
||||
env->psw_c = FIELD_EX32(psw, PSW, C);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
|
||||
#define INT_FLAGS (CPU_INTERRUPT_HARD | CPU_INTERRUPT_FIR)
|
||||
void rx_cpu_do_interrupt(CPUState *cs)
|
||||
{
|
||||
@ -146,5 +144,3 @@ hwaddr rx_cpu_get_phys_page_debug(CPUState *cs, vaddr addr)
|
||||
{
|
||||
return addr;
|
||||
}
|
||||
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
Loading…
x
Reference in New Issue
Block a user