Date: Sat, 17 Jan 2026 18:19:47 +0100 From: Roman Bogorodskiy <novel@freebsd.org> To: Mark Johnston <markj@freebsd.org> Cc: freebsd-virtualization@freebsd.org, freebsd-arm@freebsd.org Subject: Re: Quartz64: vmm: No vgic found Message-ID: <aWvEs2_2aN0Gz67l@tulp> In-Reply-To: <aWqf5qNu_IlMMiEt@nuc> References: <aWkm8jwP6SRvT7iW@tulp> <aWqf5qNu_IlMMiEt@nuc>
index | next in thread | previous in thread | raw e-mail
Mark Johnston wrote: > On Thu, Jan 15, 2026 at 06:42:10PM +0100, Roman Bogorodskiy wrote: > > Hi, > > > > Loading of the vmm(4) module shows errors like: > > > > Jan 15 17:32:10 generic kernel: vmm: No vgic found > > Jan 15 17:32:10 generic kernel: module_register_init: MOD_LOAD (vmm, 0xffff0000e12931f0, 0) error 19 > > > > The module is listed in kldstat: > > > > $ kldstat |grep vmm > > 7 1 0xffff0000e1268000 4f000 vmm.ko > > $ > > This is due to a bug. vmm.ko should unload itself after the error you > observed above: https://reviews.freebsd.org/D54750 Thanks for the fix. > > But bhyve does not start: > > > > # bhyve -o bootrom=/usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin -s 1,virtio-blk,./FreeBSD-15.0-RELEASE-arm64-aarch64-ufs.raw -o console=stdio vm0 > > bhyve: vm_openf: No such file or directory > > # > > > > Host system is: > > > > Pine64 Quartz64 Model A > > FreeBSD 15.0-RELEASE arm64 > > > > gic0: <ARM Generic Interrupt Controller v3.0> mem 0xfd400000-0xfd40ffff,0xfd460000-0xfd4dffff irq 12 on ofwbus0 > > gic0: using for IPIs > > > > CPU 0: ARM Cortex-A55 r2p0 affinity: 0 0 > > Cache Type = <64 byte CWG,64 byte ERG,64 byte D-cacheline,VIPT I-cache,64 byte I-cacheline> > > Instruction Set Attributes 0 = <DP,RDM,Atomic,CRC32,SHA2,SHA1,AES+PMULL> > > Instruction Set Attributes 1 = <RCPC-8.3,DCPoP> > > Instruction Set Attributes 2 = <> > > Processor Features 0 = <RAS,GIC,AdvSIMD+HP,FP+HP,EL3 32,EL2 32,EL1 32,EL0 32> > > Processor Features 1 = <MTE_frac,PSTATE.SSBS> > > Processor Features 2 = <> > > Memory Model Features 0 = <TGran4,TGran64,TGran16,SNSMem,BigEnd,16bit ASID,1TB PA> > > Memory Model Features 1 = <XNX,PAN+ATS1E1,LO,HPD+TTPBHA,VH,16bit VMID,HAF+DS> > > Memory Model Features 2 = <32bit CCIDX,48bit VA,IESB,UAO,CnP> > > Memory Model Features 3 = <> > > Memory Model Features 4 = <> > > Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3p1,Debugv8p2> > > Debug Features 1 = <> > > Auxiliary Features 0 = <> > > Auxiliary Features 1 = <> > > AArch32 Instruction Set Attributes 5 = <RDM,CRC32,SHA2,SHA1,AES+VMULL,SEVL> > > AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD> > > AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP Arith,SIMDHP Arith,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ> > > CPU 1: ARM Cortex-A55 r2p0 affinity: 1 0 > > CPU 2: ARM Cortex-A55 r2p0 affinity: 2 0 > > CPU 3: ARM Cortex-A55 r2p0 affinity: 3 0 > > > > 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 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? Romanhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aWvEs2_2aN0Gz67l>
