Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
huth committed May 26, 2023
1 parent 240294c commit 69720ff
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions hw/xtensa/virt.c
Expand Up @@ -38,7 +38,8 @@
#include "xtensa_memory.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 size_ecam = 0x03f00000;
Expand All @@ -54,6 +55,7 @@ static void create_pcie(CPUXtensaState *env, int irq_base, hwaddr addr_base)
MemoryRegion *mmio_alias;
MemoryRegion *mmio_reg;

MachineClass *mc = MACHINE_GET_CLASS(ms);
DeviceState *dev;
PCIHostState *pci;
qemu_irq *extints;
Expand Down Expand Up @@ -104,7 +106,7 @@ static void create_pcie(CPUXtensaState *env, int irq_base, hwaddr addr_base)
NICInfo *nd = &nd_table[i];

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);
Expand All @@ -117,7 +119,7 @@ static void xtensa_virt_init(MachineState *machine)
XtensaCPU *cpu = xtensa_sim_common_init(machine);
CPUXtensaState *env = &cpu->env;

create_pcie(env, 0, 0xf0000000);
create_pcie(machine, env, 0, 0xf0000000);
xtensa_sim_load_kernel(cpu, machine);
}

Expand All @@ -127,6 +129,7 @@ static void xtensa_virt_machine_init(MachineClass *mc)
mc->init = xtensa_virt_init;
mc->max_cpus = 32;
mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
mc->default_nic = "virtio-net-pci";
}

DEFINE_MACHINE("virt", xtensa_virt_machine_init)

0 comments on commit 69720ff

Please sign in to comment.