The only hypervisor detection in arm64 right now is the identify_hypervisor_smbios call. There is a more systemic way to detect this for ARM64.
This patch checks if we booted into EL1, then we check if EL2 is implemented. If EL2 is implemented and we didn't boot into it, we set vm_guest to the generic VM value. We don't know what the hypervisor is, but we are reasonably assured there is one which is why we didn't boot into the higher exception level.
Tested on arm64 c4a VMs on GCE (where this can enable a PCI_QUIRK_ENABLE_MSI_VM to get MSI correctly enabled without /boot/loader.conf changes).