mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-25 07:02:38 +00:00
hw/ppc: Use MachineClass->default_nic in the ppc machines
Mark the default NIC via the new MachineClass->default_nic setting so that the machine-defaults code in vl.c can decide whether the default NIC is usable or not (for example when compiling with the "--without-default-devices" configure switch). Message-Id: <20230512124033.502654-6-thuth@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
26a0802d1c
commit
053b708627
@ -898,6 +898,7 @@ void ppce500_init(MachineState *machine)
|
||||
MemoryRegion *address_space_mem = get_system_memory();
|
||||
PPCE500MachineState *pms = PPCE500_MACHINE(machine);
|
||||
const PPCE500MachineClass *pmc = PPCE500_MACHINE_GET_CLASS(machine);
|
||||
MachineClass *mc = MACHINE_CLASS(pmc);
|
||||
PCIBus *pci_bus;
|
||||
CPUPPCState *env = NULL;
|
||||
uint64_t loadaddr;
|
||||
@ -1073,7 +1074,7 @@ void ppce500_init(MachineState *machine)
|
||||
if (pci_bus) {
|
||||
/* Register network interfaces. */
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, "virtio-net-pci", NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,6 +99,7 @@ static void e500plat_machine_class_init(ObjectClass *oc, void *data)
|
||||
mc->max_cpus = 32;
|
||||
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
|
||||
mc->default_ram_id = "mpc8544ds.ram";
|
||||
mc->default_nic = "virtio-net-pci";
|
||||
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
|
||||
}
|
||||
|
||||
|
@ -132,6 +132,7 @@ static void ppc_core99_reset(void *opaque)
|
||||
static void ppc_core99_init(MachineState *machine)
|
||||
{
|
||||
Core99MachineState *core99_machine = CORE99_MACHINE(machine);
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
PowerPCCPU *cpu = NULL;
|
||||
CPUPPCState *env = NULL;
|
||||
char *filename;
|
||||
@ -444,7 +445,7 @@ static void ppc_core99_init(MachineState *machine)
|
||||
}
|
||||
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, "sungem", NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
|
||||
}
|
||||
|
||||
/* The NewWorld NVRAM is not located in the MacIO device */
|
||||
@ -577,6 +578,7 @@ static void core99_machine_class_init(ObjectClass *oc, void *data)
|
||||
mc->max_cpus = 1;
|
||||
mc->default_boot_order = "cd";
|
||||
mc->default_display = "std";
|
||||
mc->default_nic = "sungem";
|
||||
mc->kvm_type = core99_kvm_type;
|
||||
#ifdef TARGET_PPC64
|
||||
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("970fx_v3.1");
|
||||
|
@ -87,6 +87,7 @@ static void ppc_heathrow_reset(void *opaque)
|
||||
static void ppc_heathrow_init(MachineState *machine)
|
||||
{
|
||||
const char *bios_name = machine->firmware ?: PROM_FILENAME;
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
PowerPCCPU *cpu = NULL;
|
||||
CPUPPCState *env = NULL;
|
||||
char *filename;
|
||||
@ -276,7 +277,7 @@ static void ppc_heathrow_init(MachineState *machine)
|
||||
pci_vga_init(pci_bus);
|
||||
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, "ne2k_pci", NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
|
||||
}
|
||||
|
||||
/* MacIO IDE */
|
||||
@ -424,6 +425,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data)
|
||||
mc->kvm_type = heathrow_kvm_type;
|
||||
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("750_v3.1");
|
||||
mc->default_display = "std";
|
||||
mc->default_nic = "ne2k_pci";
|
||||
mc->ignore_boot_device_suffixes = true;
|
||||
mc->default_ram_id = "ppc_heathrow.ram";
|
||||
fwc->get_dev_path = heathrow_fw_dev_path;
|
||||
|
@ -61,6 +61,7 @@ static void mpc8544ds_machine_class_init(ObjectClass *oc, void *data)
|
||||
mc->max_cpus = 15;
|
||||
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
|
||||
mc->default_ram_id = "mpc8544ds.ram";
|
||||
mc->default_nic = "virtio-net-pci";
|
||||
}
|
||||
|
||||
#define TYPE_MPC8544DS_MACHINE MACHINE_TYPE_NAME("mpc8544ds")
|
||||
|
@ -161,6 +161,7 @@ static void bamboo_init(MachineState *machine)
|
||||
{
|
||||
const char *kernel_filename = machine->kernel_filename;
|
||||
const char *initrd_filename = machine->initrd_filename;
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
|
||||
MemoryRegion *address_space_mem = get_system_memory();
|
||||
MemoryRegion *isa = g_new(MemoryRegion, 1);
|
||||
@ -246,7 +247,7 @@ static void bamboo_init(MachineState *machine)
|
||||
* There are no PCI NICs on the Bamboo board, but there are
|
||||
* PCI slots, so we can pick whatever default model we want.
|
||||
*/
|
||||
pci_nic_init_nofail(&nd_table[i], pcibus, "e1000", NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pcibus, mc->default_nic, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -296,6 +297,7 @@ static void bamboo_machine_init(MachineClass *mc)
|
||||
mc->init = bamboo_init;
|
||||
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("440epb");
|
||||
mc->default_ram_id = "ppc4xx.sdram";
|
||||
mc->default_nic = "e1000";
|
||||
}
|
||||
|
||||
DEFINE_MACHINE("bamboo", bamboo_machine_init)
|
||||
|
@ -229,6 +229,7 @@ static int prep_set_cmos_checksum(DeviceState *dev, void *opaque)
|
||||
static void ibm_40p_init(MachineState *machine)
|
||||
{
|
||||
const char *bios_name = machine->firmware ?: "openbios-ppc";
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
CPUPPCState *env = NULL;
|
||||
uint16_t cmos_checksum;
|
||||
PowerPCCPU *cpu;
|
||||
@ -323,7 +324,7 @@ static void ibm_40p_init(MachineState *machine)
|
||||
pci_vga_init(pci_bus);
|
||||
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, "pcnet",
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic,
|
||||
i == 0 ? "3" : NULL);
|
||||
}
|
||||
}
|
||||
@ -427,6 +428,7 @@ static void ibm_40p_machine_init(MachineClass *mc)
|
||||
mc->default_boot_order = "c";
|
||||
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("604");
|
||||
mc->default_display = "std";
|
||||
mc->default_nic = "pcnet";
|
||||
}
|
||||
|
||||
DEFINE_MACHINE("40p", ibm_40p_machine_init)
|
||||
|
Loading…
x
Reference in New Issue
Block a user