Checking bhyve supported features (sysctls)

Rodney W. Grimes freebsd-rwg at
Thu Aug 16 15:16:59 UTC 2018

> Hello,
> I'm looking for better ways to check for bhyve support / available features without trying to scan through dmesg output.

Yes, it would be very good to remove that,
as it usually tries to grep a non-existent file /var/run/dmesg.boot
that is not created until after vm_bhyve has been
called from /usr/local/etc/rc.d when you have things
set to autostartup in /etc/rc.conf

> I notice that the following 2 sysctl's appear to be set to 1 as soon as the vmm module is loaded
> hw.vmm.vmx.initialized: 1
> hw.vmm.vmx.cap.unrestricted_guest: 1
> Will these be available on both Intel & AMD processors as a way to determine if the module has loaded successfully and can run guests?
> I also see the below sysctl related to iommu.
> hw.vmm.iommu.initialized
> Again, will this be set to 1 as soon as the module is loaded if iommu is supported, or only when it is used?
> There also seems to be a vmm.amdvi.enable sysctl. Would both these need checking or is vmm.iommu enough to determine support on any processor.

Probalby the safest way for a shell script to decide if
bhyve is up and running is to stat /dev/vmm, if that
exists then the modules have loaded and initialized
and bhyve should be ready to process guests.

sysctl's mentiond above would be a poor way to make
this determination.

Rod Grimes                                                 rgrimes at

More information about the freebsd-virtualization mailing list