mirror of https://github.com/xqemu/xqemu.git
RISC-V: Remove unused class definitions
Removes a whole lot of unnecessary boilerplate code. Machines don't need to be objects. The expansion of the SOC object model for the RISC-V machines will happen in the future as SiFive plans to add their FE310 and FU540 SOCs to QEMU. However, it seems that this present boilerplate is complete unnecessary. Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Signed-off-by: Michael Clark <mjc@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
b7938980fb
commit
42b3a4b7cc
|
@ -68,16 +68,10 @@ static void riscv_harts_class_init(ObjectClass *klass, void *data)
|
||||||
dc->realize = riscv_harts_realize;
|
dc->realize = riscv_harts_realize;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void riscv_harts_init(Object *obj)
|
|
||||||
{
|
|
||||||
/* RISCVHartArrayState *s = SIFIVE_COREPLEX(obj); */
|
|
||||||
}
|
|
||||||
|
|
||||||
static const TypeInfo riscv_harts_info = {
|
static const TypeInfo riscv_harts_info = {
|
||||||
.name = TYPE_RISCV_HART_ARRAY,
|
.name = TYPE_RISCV_HART_ARRAY,
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
.parent = TYPE_SYS_BUS_DEVICE,
|
||||||
.instance_size = sizeof(RISCVHartArrayState),
|
.instance_size = sizeof(RISCVHartArrayState),
|
||||||
.instance_init = riscv_harts_init,
|
|
||||||
.class_init = riscv_harts_class_init,
|
.class_init = riscv_harts_class_init,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -194,24 +194,6 @@ static void riscv_sifive_e_init(MachineState *machine)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int riscv_sifive_e_sysbus_device_init(SysBusDevice *sysbusdev)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void riscv_sifive_e_class_init(ObjectClass *klass, void *data)
|
|
||||||
{
|
|
||||||
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
|
|
||||||
k->init = riscv_sifive_e_sysbus_device_init;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const TypeInfo riscv_sifive_e_device = {
|
|
||||||
.name = TYPE_SIFIVE_E,
|
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
|
||||||
.instance_size = sizeof(SiFiveEState),
|
|
||||||
.class_init = riscv_sifive_e_class_init,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void riscv_sifive_e_machine_init(MachineClass *mc)
|
static void riscv_sifive_e_machine_init(MachineClass *mc)
|
||||||
{
|
{
|
||||||
mc->desc = "RISC-V Board compatible with SiFive E SDK";
|
mc->desc = "RISC-V Board compatible with SiFive E SDK";
|
||||||
|
@ -220,10 +202,3 @@ static void riscv_sifive_e_machine_init(MachineClass *mc)
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_MACHINE("sifive_e", riscv_sifive_e_machine_init)
|
DEFINE_MACHINE("sifive_e", riscv_sifive_e_machine_init)
|
||||||
|
|
||||||
static void riscv_sifive_e_register_types(void)
|
|
||||||
{
|
|
||||||
type_register_static(&riscv_sifive_e_device);
|
|
||||||
}
|
|
||||||
|
|
||||||
type_init(riscv_sifive_e_register_types);
|
|
||||||
|
|
|
@ -301,31 +301,6 @@ static void riscv_sifive_u_init(MachineState *machine)
|
||||||
SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE);
|
SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int riscv_sifive_u_sysbus_device_init(SysBusDevice *sysbusdev)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void riscv_sifive_u_class_init(ObjectClass *klass, void *data)
|
|
||||||
{
|
|
||||||
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
|
|
||||||
k->init = riscv_sifive_u_sysbus_device_init;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const TypeInfo riscv_sifive_u_device = {
|
|
||||||
.name = TYPE_SIFIVE_U,
|
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
|
||||||
.instance_size = sizeof(SiFiveUState),
|
|
||||||
.class_init = riscv_sifive_u_class_init,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void riscv_sifive_u_register_types(void)
|
|
||||||
{
|
|
||||||
type_register_static(&riscv_sifive_u_device);
|
|
||||||
}
|
|
||||||
|
|
||||||
type_init(riscv_sifive_u_register_types);
|
|
||||||
|
|
||||||
static void riscv_sifive_u_machine_init(MachineClass *mc)
|
static void riscv_sifive_u_machine_init(MachineClass *mc)
|
||||||
{
|
{
|
||||||
mc->desc = "RISC-V Board compatible with SiFive U SDK";
|
mc->desc = "RISC-V Board compatible with SiFive U SDK";
|
||||||
|
|
|
@ -334,18 +334,6 @@ static void spike_v1_09_1_board_init(MachineState *machine)
|
||||||
smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE);
|
smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo spike_v_1_09_1_device = {
|
|
||||||
.name = TYPE_RISCV_SPIKE_V1_09_1_BOARD,
|
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
|
||||||
.instance_size = sizeof(SpikeState),
|
|
||||||
};
|
|
||||||
|
|
||||||
static const TypeInfo spike_v_1_10_0_device = {
|
|
||||||
.name = TYPE_RISCV_SPIKE_V1_10_0_BOARD,
|
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
|
||||||
.instance_size = sizeof(SpikeState),
|
|
||||||
};
|
|
||||||
|
|
||||||
static void spike_v1_09_1_machine_init(MachineClass *mc)
|
static void spike_v1_09_1_machine_init(MachineClass *mc)
|
||||||
{
|
{
|
||||||
mc->desc = "RISC-V Spike Board (Privileged ISA v1.9.1)";
|
mc->desc = "RISC-V Spike Board (Privileged ISA v1.9.1)";
|
||||||
|
@ -363,11 +351,3 @@ static void spike_v1_10_0_machine_init(MachineClass *mc)
|
||||||
|
|
||||||
DEFINE_MACHINE("spike_v1.9.1", spike_v1_09_1_machine_init)
|
DEFINE_MACHINE("spike_v1.9.1", spike_v1_09_1_machine_init)
|
||||||
DEFINE_MACHINE("spike_v1.10", spike_v1_10_0_machine_init)
|
DEFINE_MACHINE("spike_v1.10", spike_v1_10_0_machine_init)
|
||||||
|
|
||||||
static void riscv_spike_board_register_types(void)
|
|
||||||
{
|
|
||||||
type_register_static(&spike_v_1_09_1_device);
|
|
||||||
type_register_static(&spike_v_1_10_0_device);
|
|
||||||
}
|
|
||||||
|
|
||||||
type_init(riscv_spike_board_register_types);
|
|
||||||
|
|
|
@ -382,24 +382,6 @@ static void riscv_virt_board_init(MachineState *machine)
|
||||||
serial_hd(0), DEVICE_LITTLE_ENDIAN);
|
serial_hd(0), DEVICE_LITTLE_ENDIAN);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int riscv_virt_board_sysbus_device_init(SysBusDevice *sysbusdev)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void riscv_virt_board_class_init(ObjectClass *klass, void *data)
|
|
||||||
{
|
|
||||||
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
|
|
||||||
k->init = riscv_virt_board_sysbus_device_init;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const TypeInfo riscv_virt_board_device = {
|
|
||||||
.name = TYPE_RISCV_VIRT_BOARD,
|
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
|
||||||
.instance_size = sizeof(RISCVVirtState),
|
|
||||||
.class_init = riscv_virt_board_class_init,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void riscv_virt_board_machine_init(MachineClass *mc)
|
static void riscv_virt_board_machine_init(MachineClass *mc)
|
||||||
{
|
{
|
||||||
mc->desc = "RISC-V VirtIO Board (Privileged ISA v1.10)";
|
mc->desc = "RISC-V VirtIO Board (Privileged ISA v1.10)";
|
||||||
|
@ -408,10 +390,3 @@ static void riscv_virt_board_machine_init(MachineClass *mc)
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_MACHINE("virt", riscv_virt_board_machine_init)
|
DEFINE_MACHINE("virt", riscv_virt_board_machine_init)
|
||||||
|
|
||||||
static void riscv_virt_board_register_types(void)
|
|
||||||
{
|
|
||||||
type_register_static(&riscv_virt_board_device);
|
|
||||||
}
|
|
||||||
|
|
||||||
type_init(riscv_virt_board_register_types);
|
|
||||||
|
|
|
@ -19,11 +19,6 @@
|
||||||
#ifndef HW_SIFIVE_E_H
|
#ifndef HW_SIFIVE_E_H
|
||||||
#define HW_SIFIVE_E_H
|
#define HW_SIFIVE_E_H
|
||||||
|
|
||||||
#define TYPE_SIFIVE_E "riscv.sifive_e"
|
|
||||||
|
|
||||||
#define SIFIVE_E(obj) \
|
|
||||||
OBJECT_CHECK(SiFiveEState, (obj), TYPE_SIFIVE_E)
|
|
||||||
|
|
||||||
typedef struct SiFiveEState {
|
typedef struct SiFiveEState {
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
SysBusDevice parent_obj;
|
SysBusDevice parent_obj;
|
||||||
|
|
|
@ -19,11 +19,6 @@
|
||||||
#ifndef HW_SIFIVE_U_H
|
#ifndef HW_SIFIVE_U_H
|
||||||
#define HW_SIFIVE_U_H
|
#define HW_SIFIVE_U_H
|
||||||
|
|
||||||
#define TYPE_SIFIVE_U "riscv.sifive_u"
|
|
||||||
|
|
||||||
#define SIFIVE_U(obj) \
|
|
||||||
OBJECT_CHECK(SiFiveUState, (obj), TYPE_SIFIVE_U)
|
|
||||||
|
|
||||||
typedef struct SiFiveUState {
|
typedef struct SiFiveUState {
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
SysBusDevice parent_obj;
|
SysBusDevice parent_obj;
|
||||||
|
|
|
@ -19,12 +19,6 @@
|
||||||
#ifndef HW_SPIKE_H
|
#ifndef HW_SPIKE_H
|
||||||
#define HW_SPIKE_H
|
#define HW_SPIKE_H
|
||||||
|
|
||||||
#define TYPE_RISCV_SPIKE_V1_09_1_BOARD "riscv.spike_v1_9_1"
|
|
||||||
#define TYPE_RISCV_SPIKE_V1_10_0_BOARD "riscv.spike_v1_10"
|
|
||||||
|
|
||||||
#define SPIKE(obj) \
|
|
||||||
OBJECT_CHECK(SpikeState, (obj), TYPE_RISCV_SPIKE_BOARD)
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
SysBusDevice parent_obj;
|
SysBusDevice parent_obj;
|
||||||
|
@ -35,7 +29,6 @@ typedef struct {
|
||||||
int fdt_size;
|
int fdt_size;
|
||||||
} SpikeState;
|
} SpikeState;
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
SPIKE_MROM,
|
SPIKE_MROM,
|
||||||
SPIKE_CLINT,
|
SPIKE_CLINT,
|
||||||
|
|
|
@ -19,10 +19,6 @@
|
||||||
#ifndef HW_VIRT_H
|
#ifndef HW_VIRT_H
|
||||||
#define HW_VIRT_H
|
#define HW_VIRT_H
|
||||||
|
|
||||||
#define TYPE_RISCV_VIRT_BOARD "riscv.virt"
|
|
||||||
#define VIRT(obj) \
|
|
||||||
OBJECT_CHECK(RISCVVirtState, (obj), TYPE_RISCV_VIRT_BOARD)
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
SysBusDevice parent_obj;
|
SysBusDevice parent_obj;
|
||||||
|
@ -45,7 +41,6 @@ enum {
|
||||||
VIRT_DRAM
|
VIRT_DRAM
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
UART0_IRQ = 10,
|
UART0_IRQ = 10,
|
||||||
VIRTIO_IRQ = 1, /* 1 to 8 */
|
VIRTIO_IRQ = 1, /* 1 to 8 */
|
||||||
|
|
Loading…
Reference in New Issue