Mark Johnston wrote:

> On Sat, Jan 17, 2026 at 06:19:47PM +0100, Roman Bogorodskiy wrote:
> >   Mark Johnston wrote:
> > 
> > > On Thu, Jan 15, 2026 at 06:42:10PM +0100, Roman Bogorodskiy wrote:
> > > > But bhyve does not start:
> > > > [...]
> > > > Does the board need something in addition to GICv3 that is missing that
> > > > is needed to make vmm(4) work, or is that a configuration or vmm(4)
> > > > issue?
> > > 
> > > The vgic driver is refusing to attach, apparently because we don't
> > > detect virtualization support when probing the controller.  When booting
> > > from a FDT we look for an "interrupts" property to determine this, but
> > > it's not clear to me whether that's totally right.  Can you share the
> > > device tree you're using with this board?
> > 
> > Not sure what's the right way to share the device tree, so I used the
> > command I found on wiki (https://wiki.freebsd.org/FlattenedDeviceTree),
> > that is: sysctl -b hw.fdt.dtb | dtc -I dtb
> > 
> > It's lengthy, so I uploaded it here:
> > 
> > https://people.freebsd.org/~novel/misc/quartz64_devicetree.txt
> 
> So, from what I can tell, gic_v3_ofw_bus_attach() should be attaching a
> child vgic device.  Are you loading vmm.ko after the kernel has booted?
> Does anything change if you load it from loader.conf, or compile vmm
> into the kernel?

I was loading vmm.ko manually, i.e. by running `kldload vmm`.
Nothing changes when I load it via vmm_load="YES" in /boot/loader.conf:

vmm: No vgic found
module_register_init: MOD_LOAD (vmm, 0xffff0000014391f0, 0) error 19

I'll test adding that to the kernel once I have an established procedure
of building a kernel for this board.

> > And some more details. Until today I was using u-boot,
> > sysutils/u-boot-quartz64-a specifically.
> > 
> > Then I tried using Tianocore EDK2. Apparently, it supports three modes
> > for devices:
> > 
> >  - ACPI
> >  - ACPI + devicetree
> >  - Devicetree
> > 
> > The devicetree mode behaves the same way as u-boot, i.e. the vgic fails
> > to attach.
> > 
> > In the ACPI (and ACPI + devicetree) mode I can actually start a bhyve
> > VM.
> > 
> > However, in this mode Ethernet interface is not detected.
> > 
> > Earlier it was available as:
> > 
> > eqos0: <DesignWare EQOS Gigabit ethernet> mem 0xfe010000-0xfe01ffff irq 
> > 28,29 on ofwbus0
> > 
> > and now it's completely missing, though I can see it in the device tree.
> > Does it get confused by ACPI presence?
> 
> I think the eqos driver has no acpi bus support.

Interestingly, the eqos driver has stopped working completely, even in
the devicetree mode, even with vmm_load commented out in
/boot/loader.conf.

eqos0: <DesignWare EQOS Gigabit ethernet> mem 0xfe010000-0xfe01ffff irq 27,28 
on ofwbus0
eqos0: reset timeout!
device_attach: eqos0 attach returned 60

Not sure if it's directly related to the vmm issue though.

Reply via email to