Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jan 2026 15:30:30 -0500
From:      Mark Johnston <markj@freebsd.org>
To:        Roman Bogorodskiy <novel@freebsd.org>
Cc:        freebsd-virtualization@freebsd.org, freebsd-arm@freebsd.org
Subject:   Re: Quartz64: vmm: No vgic found
Message-ID:  <aWqf5qNu_IlMMiEt@nuc>
In-Reply-To: <aWkm8jwP6SRvT7iW@tulp>

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

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

> 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?


home | help

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