mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00:00
hw/sparc/sun4m: Move each sun4m_hwdef definition in its class_init
Remove the sun4m_hwdefs[] array by moving assigning the structure fields directly in each machine class_init() function. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-Id: <20210503171303.822501-7-f4bug@amsat.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
41db3b77e3
commit
bcdd781ff8
248
hw/sparc/sun4m.c
248
hw/sparc/sun4m.c
@ -1138,9 +1138,22 @@ enum {
|
||||
ss600mp_id,
|
||||
};
|
||||
|
||||
static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
/* SS-5 */
|
||||
{
|
||||
static void sun4m_machine_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
|
||||
mc->init = sun4m_hw_init;
|
||||
mc->block_default_type = IF_SCSI;
|
||||
mc->default_boot_order = "c";
|
||||
mc->default_display = "tcx";
|
||||
mc->default_ram_id = "sun4m.ram";
|
||||
}
|
||||
|
||||
static void ss5_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef ss5_hwdef = {
|
||||
.iommu_base = 0x10000000,
|
||||
.iommu_pad_base = 0x10004000,
|
||||
.iommu_pad_len = 0x0fffb000,
|
||||
@ -1165,9 +1178,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = ss5_id,
|
||||
.iommu_version = 0x05000000,
|
||||
.max_mem = 0x10000000,
|
||||
},
|
||||
/* SS-10 */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 5";
|
||||
mc->is_default = true;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
|
||||
smc->hwdef = &ss5_hwdef;
|
||||
}
|
||||
|
||||
static void ss10_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef ss10_hwdef = {
|
||||
.iommu_base = 0xfe0000000ULL,
|
||||
.tcx_base = 0xe20000000ULL,
|
||||
.slavio_base = 0xff0000000ULL,
|
||||
@ -1190,9 +1213,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = ss10_id,
|
||||
.iommu_version = 0x03000000,
|
||||
.max_mem = 0xf00000000ULL,
|
||||
},
|
||||
/* SS-600MP */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 10";
|
||||
mc->max_cpus = 4;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II");
|
||||
smc->hwdef = &ss10_hwdef;
|
||||
}
|
||||
|
||||
static void ss600mp_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef ss600mp_hwdef = {
|
||||
.iommu_base = 0xfe0000000ULL,
|
||||
.tcx_base = 0xe20000000ULL,
|
||||
.slavio_base = 0xff0000000ULL,
|
||||
@ -1213,9 +1246,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = ss600mp_id,
|
||||
.iommu_version = 0x01000000,
|
||||
.max_mem = 0xf00000000ULL,
|
||||
},
|
||||
/* SS-20 */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCserver 600MP";
|
||||
mc->max_cpus = 4;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II");
|
||||
smc->hwdef = &ss600mp_hwdef;
|
||||
}
|
||||
|
||||
static void ss20_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef ss20_hwdef = {
|
||||
.iommu_base = 0xfe0000000ULL,
|
||||
.tcx_base = 0xe20000000ULL,
|
||||
.slavio_base = 0xff0000000ULL,
|
||||
@ -1254,9 +1297,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = ss20_id,
|
||||
.iommu_version = 0x13000000,
|
||||
.max_mem = 0xf00000000ULL,
|
||||
},
|
||||
/* Voyager */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 20";
|
||||
mc->max_cpus = 4;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II");
|
||||
smc->hwdef = &ss20_hwdef;
|
||||
}
|
||||
|
||||
static void voyager_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef voyager_hwdef = {
|
||||
.iommu_base = 0x10000000,
|
||||
.tcx_base = 0x50000000,
|
||||
.slavio_base = 0x70000000,
|
||||
@ -1277,9 +1330,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = vger_id,
|
||||
.iommu_version = 0x05000000,
|
||||
.max_mem = 0x10000000,
|
||||
},
|
||||
/* LX */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation Voyager";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
|
||||
smc->hwdef = &voyager_hwdef;
|
||||
}
|
||||
|
||||
static void ss_lx_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef ss_lx_hwdef = {
|
||||
.iommu_base = 0x10000000,
|
||||
.iommu_pad_base = 0x10004000,
|
||||
.iommu_pad_len = 0x0fffb000,
|
||||
@ -1301,9 +1363,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = lx_id,
|
||||
.iommu_version = 0x04000000,
|
||||
.max_mem = 0x10000000,
|
||||
},
|
||||
/* SS-4 */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation LX";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I");
|
||||
smc->hwdef = &ss_lx_hwdef;
|
||||
}
|
||||
|
||||
static void ss4_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef ss4_hwdef = {
|
||||
.iommu_base = 0x10000000,
|
||||
.tcx_base = 0x50000000,
|
||||
.cs_base = 0x6c000000,
|
||||
@ -1325,9 +1396,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = ss4_id,
|
||||
.iommu_version = 0x05000000,
|
||||
.max_mem = 0x10000000,
|
||||
},
|
||||
/* SPARCClassic */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 4";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
|
||||
smc->hwdef = &ss4_hwdef;
|
||||
}
|
||||
|
||||
static void scls_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef scls_hwdef = {
|
||||
.iommu_base = 0x10000000,
|
||||
.tcx_base = 0x50000000,
|
||||
.slavio_base = 0x70000000,
|
||||
@ -1348,9 +1428,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = scls_id,
|
||||
.iommu_version = 0x05000000,
|
||||
.max_mem = 0x10000000,
|
||||
},
|
||||
/* SPARCbook */
|
||||
{
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCClassic";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I");
|
||||
smc->hwdef = &scls_hwdef;
|
||||
}
|
||||
|
||||
static void sbook_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
static const struct sun4m_hwdef sbook_hwdef = {
|
||||
.iommu_base = 0x10000000,
|
||||
.tcx_base = 0x50000000, /* XXX */
|
||||
.slavio_base = 0x70000000,
|
||||
@ -1371,112 +1460,11 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
|
||||
.machine_id = sbook_id,
|
||||
.iommu_version = 0x05000000,
|
||||
.max_mem = 0x10000000,
|
||||
},
|
||||
};
|
||||
|
||||
static void sun4m_machine_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
|
||||
mc->init = sun4m_hw_init;
|
||||
mc->block_default_type = IF_SCSI;
|
||||
mc->default_boot_order = "c";
|
||||
mc->default_display = "tcx";
|
||||
mc->default_ram_id = "sun4m.ram";
|
||||
}
|
||||
|
||||
static void ss5_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 5";
|
||||
mc->is_default = true;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
|
||||
smc->hwdef = &sun4m_hwdefs[0];
|
||||
}
|
||||
|
||||
static void ss10_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 10";
|
||||
mc->max_cpus = 4;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II");
|
||||
smc->hwdef = &sun4m_hwdefs[1];
|
||||
}
|
||||
|
||||
static void ss600mp_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCserver 600MP";
|
||||
mc->max_cpus = 4;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II");
|
||||
smc->hwdef = &sun4m_hwdefs[2];
|
||||
}
|
||||
|
||||
static void ss20_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 20";
|
||||
mc->max_cpus = 4;
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II");
|
||||
smc->hwdef = &sun4m_hwdefs[3];
|
||||
}
|
||||
|
||||
static void voyager_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation Voyager";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
|
||||
smc->hwdef = &sun4m_hwdefs[4];
|
||||
}
|
||||
|
||||
static void ss_lx_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation LX";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I");
|
||||
smc->hwdef = &sun4m_hwdefs[5];
|
||||
}
|
||||
|
||||
static void ss4_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCstation 4";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
|
||||
smc->hwdef = &sun4m_hwdefs[6];
|
||||
}
|
||||
|
||||
static void scls_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCClassic";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I");
|
||||
smc->hwdef = &sun4m_hwdefs[7];
|
||||
}
|
||||
|
||||
static void sbook_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
|
||||
};
|
||||
|
||||
mc->desc = "Sun4m platform, SPARCbook";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I");
|
||||
smc->hwdef = &sun4m_hwdefs[8];
|
||||
smc->hwdef = &sbook_hwdef;
|
||||
}
|
||||
|
||||
static const TypeInfo sun4m_machine_types[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user