hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel
Announce the default NIC via MachineClass->default_nic and set up MachineClass->no_parallel according to the availability of the "isa-parallel" device, so that the Sun machines also work when QEMU has been configured with "--without-default-devices". Message-Id: <20230512124033.502654-11-thuth@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
545d8574ba
commit
e8273b0c45
|
@ -553,6 +553,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
|
||||||
MachineState *machine,
|
MachineState *machine,
|
||||||
const struct hwdef *hwdef)
|
const struct hwdef *hwdef)
|
||||||
{
|
{
|
||||||
|
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||||
SPARCCPU *cpu;
|
SPARCCPU *cpu;
|
||||||
Nvram *nvram;
|
Nvram *nvram;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@ -645,15 +646,15 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
|
||||||
PCIBus *bus;
|
PCIBus *bus;
|
||||||
nd = &nd_table[i];
|
nd = &nd_table[i];
|
||||||
|
|
||||||
if (!nd->model || strcmp(nd->model, "sunhme") == 0) {
|
if (!nd->model || strcmp(nd->model, mc->default_nic) == 0) {
|
||||||
if (!onboard_nic) {
|
if (!onboard_nic) {
|
||||||
pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1),
|
pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1),
|
||||||
true, "sunhme");
|
true, mc->default_nic);
|
||||||
bus = pci_busA;
|
bus = pci_busA;
|
||||||
memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
|
memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
|
||||||
onboard_nic = true;
|
onboard_nic = true;
|
||||||
} else {
|
} else {
|
||||||
pci_dev = pci_new(-1, "sunhme");
|
pci_dev = pci_new(-1, mc->default_nic);
|
||||||
bus = pci_busB;
|
bus = pci_busB;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -816,6 +817,8 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
|
||||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
|
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
|
||||||
mc->ignore_boot_device_suffixes = true;
|
mc->ignore_boot_device_suffixes = true;
|
||||||
mc->default_display = "std";
|
mc->default_display = "std";
|
||||||
|
mc->default_nic = "sunhme";
|
||||||
|
mc->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
|
||||||
fwc->get_dev_path = sun4u_fw_dev_path;
|
fwc->get_dev_path = sun4u_fw_dev_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -840,6 +843,8 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
|
||||||
mc->default_boot_order = "c";
|
mc->default_boot_order = "c";
|
||||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
|
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
|
||||||
mc->default_display = "std";
|
mc->default_display = "std";
|
||||||
|
mc->default_nic = "sunhme";
|
||||||
|
mc->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo sun4v_type = {
|
static const TypeInfo sun4v_type = {
|
||||||
|
|
Loading…
Reference in New Issue