Re: Quartz64: vmm: No vgic found

Roman Bogorodskiy <[email protected]>
Newsgroups gmane.os.freebsd.devel.virtualization,gmane.os.freebsd.devel.arm
Message-ID <aW5x45wvWb2lSWNy@tulp>
  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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.