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,
|
||||
const struct hwdef *hwdef)
|
||||
{
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
SPARCCPU *cpu;
|
||||
Nvram *nvram;
|
||||
unsigned int i;
|
||||
@ -645,15 +646,15 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
|
||||
PCIBus *bus;
|
||||
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) {
|
||||
pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1),
|
||||
true, "sunhme");
|
||||
true, mc->default_nic);
|
||||
bus = pci_busA;
|
||||
memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
|
||||
onboard_nic = true;
|
||||
} else {
|
||||
pci_dev = pci_new(-1, "sunhme");
|
||||
pci_dev = pci_new(-1, mc->default_nic);
|
||||
bus = pci_busB;
|
||||
}
|
||||
} 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->ignore_boot_device_suffixes = true;
|
||||
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;
|
||||
}
|
||||
|
||||
@ -840,6 +843,8 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
|
||||
mc->default_boot_order = "c";
|
||||
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
|
||||
mc->default_display = "std";
|
||||
mc->default_nic = "sunhme";
|
||||
mc->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
|
||||
}
|
||||
|
||||
static const TypeInfo sun4v_type = {
|
||||
|
Loading…
Reference in New Issue
Block a user