BHyVeのソースコードってどれくらいの量なの?
ユーザランド側
$ wc -l lib/libvmmapi/*.[ch] usr.sbin/bhyve*/*.[ch] usr.sbin/vmmctl/vmmctl.c 338 lib/libvmmapi/mptable.c 171 lib/libvmmapi/mptable.h 645 lib/libvmmapi/vmmapi.c 98 lib/libvmmapi/vmmapi.h 187 lib/libvmmapi/vmmapi_freebsd.c 68 usr.sbin/bhyve/atpic.c 127 usr.sbin/bhyve/consport.c 125 usr.sbin/bhyve/dbgport.c 36 usr.sbin/bhyve/dbgport.h 65 usr.sbin/bhyve/elcr.c 656 usr.sbin/bhyve/fbsdrun.c 53 usr.sbin/bhyve/fbsdrun.h 135 usr.sbin/bhyve/inout.c 65 usr.sbin/bhyve/inout.h 419 usr.sbin/bhyve/mevent.c 49 usr.sbin/bhyve/mevent.h 180 usr.sbin/bhyve/mevent_test.c 976 usr.sbin/bhyve/pci_emul.c 171 usr.sbin/bhyve/pci_emul.h 52 usr.sbin/bhyve/pci_hostbridge.c 508 usr.sbin/bhyve/pci_passthru.c 510 usr.sbin/bhyve/pci_virtio_block.c 756 usr.sbin/bhyve/pci_virtio_net.c 198 usr.sbin/bhyve/pit_8254.c 45 usr.sbin/bhyve/pit_8254.h 51 usr.sbin/bhyve/post.c 274 usr.sbin/bhyve/rtc.c 60 usr.sbin/bhyve/uart.c 85 usr.sbin/bhyve/virtio.h 261 usr.sbin/bhyve/xmsr.c 34 usr.sbin/bhyve/xmsr.h 604 usr.sbin/bhyveload/bhyveload.c 1485 usr.sbin/vmmctl/vmmctl.c 9487 total
カーネル側
$ wc -l amd64/include/vmm* amd64/vmm/*.[chS] amd64/vmm/io/*.[ch] amd64/vmm/intel/*[chS] 262 amd64/include/vmm.h 191 amd64/include/vmm_dev.h 738 amd64/vmm/vmm.c 469 amd64/vmm/vmm_dev.c 103 amd64/vmm/vmm_ipi.c 38 amd64/vmm/vmm_ipi.h 51 amd64/vmm/vmm_ktr.h 122 amd64/vmm/vmm_lapic.c 64 amd64/vmm/vmm_lapic.h 412 amd64/vmm/vmm_mem.c 38 amd64/vmm/vmm_mem.h 302 amd64/vmm/vmm_msr.c 43 amd64/vmm/vmm_msr.h 104 amd64/vmm/vmm_stat.c 71 amd64/vmm/vmm_stat.h 42 amd64/vmm/vmm_support.S 111 amd64/vmm/vmm_util.c 40 amd64/vmm/vmm_util.h 172 amd64/vmm/x86.c 63 amd64/vmm/x86.h 230 amd64/vmm/io/iommu.c 67 amd64/vmm/io/iommu.h 450 amd64/vmm/io/ppt.c 40 amd64/vmm/io/ppt.h 270 amd64/vmm/io/vdev.c 84 amd64/vmm/io/vdev.h 783 amd64/vmm/io/vlapic.c 105 amd64/vmm/io/vlapic.h 312 amd64/vmm/intel/ept.c 42 amd64/vmm/intel/ept.h 547 amd64/vmm/intel/vmcs.c 326 amd64/vmm/intel/vmcs.h 1708 amd64/vmm/intel/vmx.c 119 amd64/vmm/intel/vmx.h 92 amd64/vmm/intel/vmx_controls.h 199 amd64/vmm/intel/vmx_cpufunc.h 82 amd64/vmm/intel/vmx_genassym.c 172 amd64/vmm/intel/vmx_msr.c 78 amd64/vmm/intel/vmx_msr.h 218 amd64/vmm/intel/vmx_support.S 637 amd64/vmm/intel/vtd.c 9997 total
という訳で、ユーザ側/カーネル側でそれぞれ1万行弱って感じでした。