Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jan 2026 13:18:59 +0100
From:      Roman Bogorodskiy <novel@freebsd.org>
To:        Roman Bogorodskiy <novel@freebsd.org>
Cc:        Andrew Turner <andrew@fubar.geek.nz>, Mark Johnston <markj@freebsd.org>, freebsd-virtualization@freebsd.org, freebsd-arm@freebsd.org
Subject:   Re: Quartz64: vmm: No vgic found
Message-ID:  <aXNnM0N98kHF0wUH@tulp>
In-Reply-To: <aXJp4y4UZBfhoyFt@tulp>
References:  <aWkm8jwP6SRvT7iW@tulp> <aWqf5qNu_IlMMiEt@nuc> <aWvEs2_2aN0Gz67l@tulp> <aW5KzB0F1QhKf2Om@nuc> <aW5x45wvWb2lSWNy@tulp> <0EE0EFAA-68BF-4BA5-A42E-2D72454B3E4A@fubar.geek.nz> <aXJp4y4UZBfhoyFt@tulp>

index | next in thread | previous in thread | raw e-mail

  Roman Bogorodskiy wrote:

>   Andrew Turner wrote:
> 
> > 
> > 
> > > On 19 Jan 2026, at 18:03, Roman Bogorodskiy <novel@freebsd.org> wrote:
> > > 
> > >  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.
> > 
> > Can you try the patch in https://reviews.freebsd.org/D54791? It fixes an issue where the vgic driver isn’t attached if there is no ITS on the board. This appears to be the case with the Quartz64.
> > 
> > Andrew
> 
> This does not fix the issue for my board, behaviour remains the same.

I am sorry, I decided to double check and noticed that I tested the
wrong kernel. It does work with this fix, that is, in the devicetree
mode vmm(4) now loads properly, and I can start bhyve(8) VMs.

Roman


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aXNnM0N98kHF0wUH>