mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
hw/xtensa: Use MachineClass->default_nic in the virt machine
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: <20230523110435.1375774-6-thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
240294cac7
commit
69720ff228
1 changed files with 6 additions and 3 deletions
|
@ -38,7 +38,8 @@
|
||||||
#include "xtensa_memory.h"
|
#include "xtensa_memory.h"
|
||||||
#include "xtensa_sim.h"
|
#include "xtensa_sim.h"
|
||||||
|
|
||||||
static void create_pcie(CPUXtensaState *env, int irq_base, hwaddr addr_base)
|
static void create_pcie(MachineState *ms, CPUXtensaState *env, int irq_base,
|
||||||
|
hwaddr addr_base)
|
||||||
{
|
{
|
||||||
hwaddr base_ecam = addr_base + 0x00100000;
|
hwaddr base_ecam = addr_base + 0x00100000;
|
||||||
hwaddr size_ecam = 0x03f00000;
|
hwaddr size_ecam = 0x03f00000;
|
||||||
|
@ -54,6 +55,7 @@ static void create_pcie(CPUXtensaState *env, int irq_base, hwaddr addr_base)
|
||||||
MemoryRegion *mmio_alias;
|
MemoryRegion *mmio_alias;
|
||||||
MemoryRegion *mmio_reg;
|
MemoryRegion *mmio_reg;
|
||||||
|
|
||||||
|
MachineClass *mc = MACHINE_GET_CLASS(ms);
|
||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
PCIHostState *pci;
|
PCIHostState *pci;
|
||||||
qemu_irq *extints;
|
qemu_irq *extints;
|
||||||
|
@ -104,7 +106,7 @@ static void create_pcie(CPUXtensaState *env, int irq_base, hwaddr addr_base)
|
||||||
NICInfo *nd = &nd_table[i];
|
NICInfo *nd = &nd_table[i];
|
||||||
|
|
||||||
if (!nd->model) {
|
if (!nd->model) {
|
||||||
nd->model = g_strdup("virtio");
|
nd->model = g_strdup(mc->default_nic);
|
||||||
}
|
}
|
||||||
|
|
||||||
pci_nic_init_nofail(nd, pci->bus, nd->model, NULL);
|
pci_nic_init_nofail(nd, pci->bus, nd->model, NULL);
|
||||||
|
@ -117,7 +119,7 @@ static void xtensa_virt_init(MachineState *machine)
|
||||||
XtensaCPU *cpu = xtensa_sim_common_init(machine);
|
XtensaCPU *cpu = xtensa_sim_common_init(machine);
|
||||||
CPUXtensaState *env = &cpu->env;
|
CPUXtensaState *env = &cpu->env;
|
||||||
|
|
||||||
create_pcie(env, 0, 0xf0000000);
|
create_pcie(machine, env, 0, 0xf0000000);
|
||||||
xtensa_sim_load_kernel(cpu, machine);
|
xtensa_sim_load_kernel(cpu, machine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,6 +129,7 @@ static void xtensa_virt_machine_init(MachineClass *mc)
|
||||||
mc->init = xtensa_virt_init;
|
mc->init = xtensa_virt_init;
|
||||||
mc->max_cpus = 32;
|
mc->max_cpus = 32;
|
||||||
mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
|
mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
|
||||||
|
mc->default_nic = "virtio-net-pci";
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_MACHINE("virt", xtensa_virt_machine_init)
|
DEFINE_MACHINE("virt", xtensa_virt_machine_init)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue