Checking bhyve supported features (sysctls)

Rodney W. Grimes freebsd-rwg at pdx.rh.CN85.dnsmgr.net
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 freebsd.org


More information about the freebsd-virtualization mailing list