diff options
-rw-r--r-- | exception_lists/copyright | 54 | ||||
-rw-r--r-- | exception_lists/cstyle | 8 | ||||
-rw-r--r-- | exception_lists/hdrchk | 26 | ||||
-rw-r--r-- | usr/src/cmd/bhyve/Makefile | 4 | ||||
-rw-r--r-- | usr/src/cmd/bhyve/pci_passthru.c | 2 | ||||
-rw-r--r-- | usr/src/cmd/bhyvectl/Makefile | 4 | ||||
-rw-r--r-- | usr/src/cmd/rsrvrctl/Makefile | 4 | ||||
-rw-r--r-- | usr/src/lib/libvmm/Makefile.com | 2 | ||||
-rw-r--r-- | usr/src/lib/libvmmapi/Makefile.com | 2 | ||||
-rw-r--r-- | usr/src/pkg/manifests/system-bhyve.p5m | 4 | ||||
-rw-r--r-- | usr/src/pkg/manifests/system-header.p5m | 1 | ||||
-rw-r--r-- | usr/src/test/bhyve-tests/tests/inst_emul/Makefile | 4 | ||||
-rw-r--r-- | usr/src/test/bhyve-tests/tests/kdev/Makefile | 4 | ||||
-rw-r--r-- | usr/src/test/bhyve-tests/tests/vmm/Makefile | 4 | ||||
-rw-r--r-- | usr/src/tools/findunref/exception_list.open | 4 | ||||
-rw-r--r-- | usr/src/uts/i86pc/Makefile.files | 49 | ||||
-rw-r--r-- | usr/src/uts/i86pc/Makefile.i86pc | 2 | ||||
-rw-r--r-- | usr/src/uts/i86pc/Makefile.rules | 29 | ||||
-rw-r--r-- | usr/src/uts/i86pc/sys/Makefile | 7 | ||||
-rw-r--r-- | usr/src/uts/i86pc/sys/machcpuvar.h | 10 | ||||
-rw-r--r-- | usr/src/uts/i86pc/vmm/Makefile | 64 | ||||
-rw-r--r-- | usr/src/uts/i86xpv/Makefile.files | 1 | ||||
-rw-r--r-- | usr/src/uts/intel/Makefile.files | 25 | ||||
-rw-r--r-- | usr/src/uts/intel/Makefile.intel | 10 | ||||
-rw-r--r-- | usr/src/uts/intel/Makefile.rules | 4 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/THIRDPARTYLICENSE (renamed from usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/THIRDPARTYLICENSE.descrip (renamed from usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE.descrip) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona.conf (renamed from usr/src/uts/i86pc/io/viona/viona.conf) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona.mapfile (renamed from usr/src/uts/i86pc/io/viona/viona.mapfile) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona_hook.c (renamed from usr/src/uts/i86pc/io/viona/viona_hook.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona_impl.h (renamed from usr/src/uts/i86pc/io/viona/viona_impl.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona_main.c (renamed from usr/src/uts/i86pc/io/viona/viona_main.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona_ring.c (renamed from usr/src/uts/i86pc/io/viona/viona_ring.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona_rx.c (renamed from usr/src/uts/i86pc/io/viona/viona_rx.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/viona/viona_tx.c (renamed from usr/src/uts/i86pc/io/viona/viona_tx.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/Makefile.rules | 48 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/Makefile.vmm | 85 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/README.license (renamed from usr/src/uts/i86pc/io/vmm/README.license) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE (renamed from usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE.descrip (renamed from usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE.descrip) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/amdiommu.c (renamed from usr/src/uts/i86pc/io/vmm/amd/amdiommu.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/amdv.c (renamed from usr/src/uts/i86pc/io/vmm/amd/amdv.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/amdvi_hw.c (renamed from usr/src/uts/i86pc/io/vmm/amd/amdvi_hw.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/amdvi_priv.h (renamed from usr/src/uts/i86pc/io/vmm/amd/amdvi_priv.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/ivrs_drv.c (renamed from usr/src/uts/i86pc/io/vmm/amd/ivrs_drv.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/offsets.in (renamed from usr/src/uts/i86pc/io/vmm/amd/offsets.in) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/svm.c (renamed from usr/src/uts/i86pc/io/vmm/amd/svm.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/svm.h (renamed from usr/src/uts/i86pc/io/vmm/amd/svm.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/svm_msr.c (renamed from usr/src/uts/i86pc/io/vmm/amd/svm_msr.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/svm_msr.h (renamed from usr/src/uts/i86pc/io/vmm/amd/svm_msr.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/svm_softc.h (renamed from usr/src/uts/i86pc/io/vmm/amd/svm_softc.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/svm_support.s (renamed from usr/src/uts/i86pc/io/vmm/amd/svm_support.s) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/vmcb.c (renamed from usr/src/uts/i86pc/io/vmm/amd/vmcb.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/amd/vmcb.h (renamed from usr/src/uts/i86pc/io/vmm/amd/vmcb.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/offsets.in (renamed from usr/src/uts/i86pc/io/vmm/intel/offsets.in) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmcs.c (renamed from usr/src/uts/i86pc/io/vmm/intel/vmcs.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmcs.h (renamed from usr/src/uts/i86pc/io/vmm/intel/vmcs.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmx.c (renamed from usr/src/uts/i86pc/io/vmm/intel/vmx.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmx.h (renamed from usr/src/uts/i86pc/io/vmm/intel/vmx.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmx_controls.h (renamed from usr/src/uts/i86pc/io/vmm/intel/vmx_controls.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmx_msr.c (renamed from usr/src/uts/i86pc/io/vmm/intel/vmx_msr.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmx_msr.h (renamed from usr/src/uts/i86pc/io/vmm/intel/vmx_msr.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vmx_support.s (renamed from usr/src/uts/i86pc/io/vmm/intel/vmx_support.s) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vtd.c (renamed from usr/src/uts/i86pc/io/vmm/intel/vtd.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/intel/vtd_sol.c (renamed from usr/src/uts/i86pc/io/vmm/intel/vtd_sol.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/iommu.c (renamed from usr/src/uts/i86pc/io/vmm/io/iommu.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/iommu.h (renamed from usr/src/uts/i86pc/io/vmm/io/iommu.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/ppt.c (renamed from usr/src/uts/i86pc/io/vmm/io/ppt.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/ppt.conf (renamed from usr/src/uts/i86pc/io/vmm/io/ppt.conf) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/ppt.h (renamed from usr/src/uts/i86pc/io/vmm/io/ppt.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/ppt.mapfile (renamed from usr/src/uts/i86pc/io/vmm/io/ppt.mapfile) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vatpic.c (renamed from usr/src/uts/i86pc/io/vmm/io/vatpic.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vatpic.h (renamed from usr/src/uts/i86pc/io/vmm/io/vatpic.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vatpit.c (renamed from usr/src/uts/i86pc/io/vmm/io/vatpit.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vatpit.h (renamed from usr/src/uts/i86pc/io/vmm/io/vatpit.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vhpet.c (renamed from usr/src/uts/i86pc/io/vmm/io/vhpet.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vhpet.h (renamed from usr/src/uts/i86pc/io/vmm/io/vhpet.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vioapic.c (renamed from usr/src/uts/i86pc/io/vmm/io/vioapic.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vioapic.h (renamed from usr/src/uts/i86pc/io/vmm/io/vioapic.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vlapic.c (renamed from usr/src/uts/i86pc/io/vmm/io/vlapic.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vlapic.h (renamed from usr/src/uts/i86pc/io/vmm/io/vlapic.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vlapic_priv.h (renamed from usr/src/uts/i86pc/io/vmm/io/vlapic_priv.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vpmtmr.c (renamed from usr/src/uts/i86pc/io/vmm/io/vpmtmr.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vpmtmr.h (renamed from usr/src/uts/i86pc/io/vmm/io/vpmtmr.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vrtc.c (renamed from usr/src/uts/i86pc/io/vmm/io/vrtc.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/io/vrtc.h (renamed from usr/src/uts/i86pc/io/vmm/io/vrtc.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/seg_vmm.c (renamed from usr/src/uts/i86pc/io/vmm/seg_vmm.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/seg_vmm.h (renamed from usr/src/uts/i86pc/io/vmm/sys/seg_vmm.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/vmm_gpt.h (renamed from usr/src/uts/i86pc/io/vmm/sys/vmm_gpt.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/vmm_impl.h (renamed from usr/src/uts/i86pc/io/vmm/sys/vmm_impl.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/vmm_instruction_emul.h (renamed from usr/src/uts/i86pc/io/vmm/sys/vmm_instruction_emul.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/vmm_kernel.h (renamed from usr/src/uts/i86pc/io/vmm/sys/vmm_kernel.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/vmm_reservoir.h (renamed from usr/src/uts/i86pc/io/vmm/sys/vmm_reservoir.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/sys/vmm_vm.h (renamed from usr/src/uts/i86pc/io/vmm/sys/vmm_vm.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm.c (renamed from usr/src/uts/i86pc/io/vmm/vmm.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm.conf (renamed from usr/src/uts/i86pc/io/vmm/vmm.conf) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm.mapfile (renamed from usr/src/uts/i86pc/io/vmm/vmm.mapfile) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_gpt.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_gpt.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_host.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_host.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_host.h (renamed from usr/src/uts/i86pc/io/vmm/vmm_host.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_instruction_emul.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_instruction_emul.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_ioport.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_ioport.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_ioport.h (renamed from usr/src/uts/i86pc/io/vmm/vmm_ioport.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_ktr.h (renamed from usr/src/uts/i86pc/io/vmm/vmm_ktr.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_lapic.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_lapic.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_lapic.h (renamed from usr/src/uts/i86pc/io/vmm/vmm_lapic.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_reservoir.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_reservoir.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_sol_dev.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c) | 2 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_sol_ept.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_sol_ept.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_sol_glue.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_sol_glue.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_sol_rvi.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_sol_rvi.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_stat.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_stat.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_stat.h (renamed from usr/src/uts/i86pc/io/vmm/vmm_stat.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_support.s (renamed from usr/src/uts/i86pc/io/vmm/vmm_support.s) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_util.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_util.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_util.h (renamed from usr/src/uts/i86pc/io/vmm/vmm_util.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_vm.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_vm.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/vmm_zsd.c (renamed from usr/src/uts/i86pc/io/vmm/vmm_zsd.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/x86.c (renamed from usr/src/uts/i86pc/io/vmm/x86.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/io/vmm/x86.h (renamed from usr/src/uts/i86pc/io/vmm/x86.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/os/hma.c (renamed from usr/src/uts/i86pc/os/hma.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/os/hma_fpu.c (renamed from usr/src/uts/i86pc/os/hma_fpu.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/os/smt.c (renamed from usr/src/uts/i86pc/os/smt.c) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/ppt/Makefile (renamed from usr/src/uts/i86pc/ppt/Makefile) | 49 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/Makefile | 11 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/Makefile.psm | 27 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/hma.h (renamed from usr/src/uts/i86pc/sys/hma.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/ppt_dev.h (renamed from usr/src/uts/i86pc/sys/ppt_dev.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/smt.h (renamed from usr/src/uts/i86pc/sys/smt.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/smt_machcpu.h | 44 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/viona_io.h (renamed from usr/src/uts/i86pc/sys/viona_io.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/vmm.h (renamed from usr/src/uts/i86pc/sys/vmm.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/vmm_dev.h (renamed from usr/src/uts/i86pc/sys/vmm_dev.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/sys/vmm_drv.h (renamed from usr/src/uts/i86pc/sys/vmm_drv.h) | 0 | ||||
-rw-r--r-- | usr/src/uts/intel/viona/Makefile (renamed from usr/src/uts/i86pc/viona/Makefile) | 31 |
135 files changed, 350 insertions, 275 deletions
diff --git a/exception_lists/copyright b/exception_lists/copyright index 61c4f199bc..f353168c64 100644 --- a/exception_lists/copyright +++ b/exception_lists/copyright @@ -543,36 +543,36 @@ usr/src/contrib/bhyve/* usr/src/lib/libvmmapi/THIRDPARTYLICENSE usr/src/lib/libvmmapi/THIRDPARTYLICENSE.descrip usr/src/lib/libvmmapi/common/vmmapi.[ch] -usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE -usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE.descrip -usr/src/uts/i86pc/io/vmm/amd/*.[chs] -usr/src/uts/i86pc/io/vmm/intel/*.[chs] -usr/src/uts/i86pc/io/vmm/intel/offsets.in -usr/src/uts/i86pc/io/vmm/io/*.[ch] -usr/src/uts/i86pc/io/vmm/README.sync -usr/src/uts/i86pc/io/vmm/vmm.c -usr/src/uts/i86pc/io/vmm/vmm_host.[ch] -usr/src/uts/i86pc/io/vmm/vmm_instruction_emul.c -usr/src/uts/i86pc/io/vmm/vmm_ioport.[ch] -usr/src/uts/i86pc/io/vmm/vmm_ipi.h -usr/src/uts/i86pc/io/vmm/vmm_ktr.h -usr/src/uts/i86pc/io/vmm/vmm_lapic.[ch] -usr/src/uts/i86pc/io/vmm/vmm_mem.[ch] -usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c -usr/src/uts/i86pc/io/vmm/vmm_sol_glue.c -usr/src/uts/i86pc/io/vmm/vmm_sol_mem.c -usr/src/uts/i86pc/io/vmm/vmm_stat.[ch] -usr/src/uts/i86pc/io/vmm/vmm_util.[ch] -usr/src/uts/i86pc/io/vmm/vmx_assym.s -usr/src/uts/i86pc/io/vmm/x86.[ch] -usr/src/uts/i86pc/sys/vmm.h -usr/src/uts/i86pc/sys/vmm_dev.h +usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE +usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE.descrip +usr/src/uts/intel/io/vmm/amd/*.[chs] +usr/src/uts/intel/io/vmm/intel/*.[chs] +usr/src/uts/intel/io/vmm/intel/offsets.in +usr/src/uts/intel/io/vmm/io/*.[ch] +usr/src/uts/intel/io/vmm/README.sync +usr/src/uts/intel/io/vmm/vmm.c +usr/src/uts/intel/io/vmm/vmm_host.[ch] +usr/src/uts/intel/io/vmm/vmm_instruction_emul.c +usr/src/uts/intel/io/vmm/vmm_ioport.[ch] +usr/src/uts/intel/io/vmm/vmm_ipi.h +usr/src/uts/intel/io/vmm/vmm_ktr.h +usr/src/uts/intel/io/vmm/vmm_lapic.[ch] +usr/src/uts/intel/io/vmm/vmm_mem.[ch] +usr/src/uts/intel/io/vmm/vmm_sol_dev.c +usr/src/uts/intel/io/vmm/vmm_sol_glue.c +usr/src/uts/intel/io/vmm/vmm_sol_mem.c +usr/src/uts/intel/io/vmm/vmm_stat.[ch] +usr/src/uts/intel/io/vmm/vmm_util.[ch] +usr/src/uts/intel/io/vmm/vmx_assym.s +usr/src/uts/intel/io/vmm/x86.[ch] +usr/src/uts/intel/io/vmm/README.license +usr/src/uts/intel/sys/vmm.h +usr/src/uts/intel/sys/vmm_dev.h +usr/src/uts/intel/io/viona/THIRDPARTYLICENSE +usr/src/uts/intel/io/viona/THIRDPARTYLICENSE.descrip usr/src/cmd/bhyve/README.license usr/src/cmd/bhyvectl/README.license usr/src/lib/libvmmapi/README.license -usr/src/uts/i86pc/io/vmm/README.license -usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE -usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE.descrip # # Various bits from the mdb test suite that represent literal input to diff --git a/exception_lists/cstyle b/exception_lists/cstyle index 30cec8e4c2..db80c13886 100644 --- a/exception_lists/cstyle +++ b/exception_lists/cstyle @@ -1389,8 +1389,8 @@ usr/src/compat/bhyve/* usr/src/contrib/bhyve/* usr/src/lib/libvmmapi/common/vmmapi.[ch] usr/src/test/libc-tests/tests/qsort/*.c -usr/src/uts/i86pc/io/vmm/amd/amdvi_*.[ch] -usr/src/uts/i86pc/io/vmm/amd/ivrs_*.c -usr/src/uts/i86pc/sys/vmm.h -usr/src/uts/i86pc/sys/vmm_dev.h +usr/src/uts/intel/io/vmm/amd/amdvi_*.[ch] +usr/src/uts/intel/io/vmm/amd/ivrs_*.c +usr/src/uts/intel/sys/vmm.h +usr/src/uts/intel/sys/vmm_dev.h usr/src/lib/lib9p/common/* diff --git a/exception_lists/hdrchk b/exception_lists/hdrchk index 0c9c154ff0..12c1c2aeef 100644 --- a/exception_lists/hdrchk +++ b/exception_lists/hdrchk @@ -420,17 +420,17 @@ usr/src/cmd/bhyve/xmsr.h usr/src/compat/bhyve/* usr/src/contrib/bhyve/* usr/src/lib/libvmmapi/common/vmmapi.h -usr/src/uts/i86pc/io/vmm/intel/*.h -usr/src/uts/i86pc/io/vmm/io/*.h -usr/src/uts/i86pc/io/vmm/vmm_host.h -usr/src/uts/i86pc/io/vmm/vmm_ioport.h -usr/src/uts/i86pc/io/vmm/vmm_ipi.h -usr/src/uts/i86pc/io/vmm/vmm_ktr.h -usr/src/uts/i86pc/io/vmm/vmm_lapic.h -usr/src/uts/i86pc/io/vmm/vmm_mem.h -usr/src/uts/i86pc/io/vmm/vmm_stat.h -usr/src/uts/i86pc/io/vmm/vmm_util.h -usr/src/uts/i86pc/io/vmm/x86.h -usr/src/uts/i86pc/sys/vmm.h -usr/src/uts/i86pc/sys/vmm_dev.h +usr/src/uts/intel/io/vmm/intel/*.h +usr/src/uts/intel/io/vmm/io/*.h +usr/src/uts/intel/io/vmm/vmm_host.h +usr/src/uts/intel/io/vmm/vmm_ioport.h +usr/src/uts/intel/io/vmm/vmm_ipi.h +usr/src/uts/intel/io/vmm/vmm_ktr.h +usr/src/uts/intel/io/vmm/vmm_lapic.h +usr/src/uts/intel/io/vmm/vmm_mem.h +usr/src/uts/intel/io/vmm/vmm_stat.h +usr/src/uts/intel/io/vmm/vmm_util.h +usr/src/uts/intel/io/vmm/x86.h +usr/src/uts/intel/sys/vmm.h +usr/src/uts/intel/sys/vmm_dev.h usr/src/lib/lib9p/common/* diff --git a/usr/src/cmd/bhyve/Makefile b/usr/src/cmd/bhyve/Makefile index 6394241ca9..bf002374e6 100644 --- a/usr/src/cmd/bhyve/Makefile +++ b/usr/src/cmd/bhyve/Makefile @@ -121,9 +121,9 @@ CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(SRC)/lib/lib9p/common \ -I$(SRC)/uts/common/io/e1000api \ $(CPPFLAGS.master) \ - -I$(SRC)/uts/i86pc/io/vmm \ + -I$(SRC)/uts/intel/io/vmm \ -I$(SRC)/uts/common \ - -I$(SRC)/uts/i86pc \ + -I$(SRC)/uts/intel \ -DWITHOUT_CAPSICUM pci_nvme.o := CERRWARN += -_gcc=-Wno-pointer-sign diff --git a/usr/src/cmd/bhyve/pci_passthru.c b/usr/src/cmd/bhyve/pci_passthru.c index aea278c0c8..0c512188b0 100644 --- a/usr/src/cmd/bhyve/pci_passthru.c +++ b/usr/src/cmd/bhyve/pci_passthru.c @@ -512,7 +512,7 @@ init_msix_table(struct vmctx *ctx, struct passthru_softc *sc) /* * Mapping pptfd provides access to the BAR containing the MSI-X - * table. See ppt_devmap() in usr/src/uts/i86pc/io/vmm/io/ppt.c + * table. See ppt_devmap() in usr/src/uts/intel/io/vmm/io/ppt.c * * This maps the whole BAR and then mprotect(PROT_NONE) is used below * to prevent access to pages that don't contain the MSI-X table. diff --git a/usr/src/cmd/bhyvectl/Makefile b/usr/src/cmd/bhyvectl/Makefile index 486f39da31..7e2f458536 100644 --- a/usr/src/cmd/bhyvectl/Makefile +++ b/usr/src/cmd/bhyvectl/Makefile @@ -31,8 +31,8 @@ CFLAGS += $(CCVERBOSE) CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ $(CPPFLAGS.master) \ - -I$(SRC)/uts/i86pc/io/vmm \ - -I$(SRC)/uts/i86pc + -I$(SRC)/uts/intel/io/vmm \ + -I$(SRC)/uts/intel LDLIBS += -lvmmapi # Force c99 for everything diff --git a/usr/src/cmd/rsrvrctl/Makefile b/usr/src/cmd/rsrvrctl/Makefile index f51df92730..edfde200e1 100644 --- a/usr/src/cmd/rsrvrctl/Makefile +++ b/usr/src/cmd/rsrvrctl/Makefile @@ -31,8 +31,8 @@ CFLAGS += $(CCVERBOSE) CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ $(CPPFLAGS.master) \ - -I$(SRC)/uts/i86pc/io/vmm \ - -I$(SRC)/uts/i86pc + -I$(SRC)/uts/intel/io/vmm \ + -I$(SRC)/uts/intel all: $(PROG) diff --git a/usr/src/lib/libvmm/Makefile.com b/usr/src/lib/libvmm/Makefile.com index ab0e7bd2b8..ecae81d2eb 100644 --- a/usr/src/lib/libvmm/Makefile.com +++ b/usr/src/lib/libvmm/Makefile.com @@ -29,7 +29,7 @@ LIBS = $(DYNLIB) # directly and pull in CPPFLAGS.master at the appropriate place. CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ - $(CPPFLAGS.master) -I$(SRC)/uts/i86pc + $(CPPFLAGS.master) -I$(SRC)/uts/intel LDLIBS += -lc -lvmmapi diff --git a/usr/src/lib/libvmmapi/Makefile.com b/usr/src/lib/libvmmapi/Makefile.com index 7eedc5d815..4bad348f6a 100644 --- a/usr/src/lib/libvmmapi/Makefile.com +++ b/usr/src/lib/libvmmapi/Makefile.com @@ -30,7 +30,7 @@ SRCDIR = ../common LIBS = $(DYNLIB) CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ - $(CPPFLAGS.master) -I$(SRC)/uts/i86pc + $(CPPFLAGS.master) -I$(SRC)/uts/intel SMOFF += all_func_returns diff --git a/usr/src/pkg/manifests/system-bhyve.p5m b/usr/src/pkg/manifests/system-bhyve.p5m index 5753e38b69..51f4877582 100644 --- a/usr/src/pkg/manifests/system-bhyve.p5m +++ b/usr/src/pkg/manifests/system-bhyve.p5m @@ -57,8 +57,8 @@ driver name=ppt driver name=viona driver name=vmm license lic_CDDL license=lic_CDDL -license usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE \ - license=usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE +license usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE \ + license=usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE depend type=require fmri=developer/acpi depend type=require fmri=system/bhyve/firmware depend type=require fmri=system/library/bhyve diff --git a/usr/src/pkg/manifests/system-header.p5m b/usr/src/pkg/manifests/system-header.p5m index be549b695e..f0eb5cb9a6 100644 --- a/usr/src/pkg/manifests/system-header.p5m +++ b/usr/src/pkg/manifests/system-header.p5m @@ -1723,6 +1723,7 @@ $(i386_ONLY)file path=usr/platform/i86pc/include/sys/rm_platter.h $(i386_ONLY)file path=usr/platform/i86pc/include/sys/sbd_ioctl.h $(i386_ONLY)file path=usr/platform/i86pc/include/sys/smp_impldefs.h $(i386_ONLY)file path=usr/platform/i86pc/include/sys/smt.h +$(i386_ONLY)file path=usr/platform/i86pc/include/sys/smt_machcpu.h $(i386_ONLY)file path=usr/platform/i86pc/include/sys/vm_machparam.h $(i386_ONLY)file path=usr/platform/i86pc/include/sys/x_call.h $(i386_ONLY)file path=usr/platform/i86pc/include/sys/xc_levels.h diff --git a/usr/src/test/bhyve-tests/tests/inst_emul/Makefile b/usr/src/test/bhyve-tests/tests/inst_emul/Makefile index 2a9d30e67b..3916914939 100644 --- a/usr/src/test/bhyve-tests/tests/inst_emul/Makefile +++ b/usr/src/test/bhyve-tests/tests/inst_emul/Makefile @@ -36,8 +36,8 @@ CSTD= $(CSTD_GNU99) CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ $(CPPFLAGS.master) \ - -I$(SRC)/uts/i86pc/io/vmm \ - -I$(SRC)/uts/i86pc \ + -I$(SRC)/uts/intel/io/vmm \ + -I$(SRC)/uts/intel \ -I../common ASFLAGS += -P -D__STDC__ -D_ASM diff --git a/usr/src/test/bhyve-tests/tests/kdev/Makefile b/usr/src/test/bhyve-tests/tests/kdev/Makefile index 0ebc5d5459..5df2330c28 100644 --- a/usr/src/test/bhyve-tests/tests/kdev/Makefile +++ b/usr/src/test/bhyve-tests/tests/kdev/Makefile @@ -41,8 +41,8 @@ CSTD= $(CSTD_GNU99) CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ $(CPPFLAGS.master) \ - -I$(SRC)/uts/i86pc/io/vmm \ - -I$(SRC)/uts/i86pc \ + -I$(SRC)/uts/intel/io/vmm \ + -I$(SRC)/uts/intel \ -I../common ASFLAGS += -P -D__STDC__ -D_ASM diff --git a/usr/src/test/bhyve-tests/tests/vmm/Makefile b/usr/src/test/bhyve-tests/tests/vmm/Makefile index 97cf709ca3..1620706cb6 100644 --- a/usr/src/test/bhyve-tests/tests/vmm/Makefile +++ b/usr/src/test/bhyve-tests/tests/vmm/Makefile @@ -33,8 +33,8 @@ CSTD= $(CSTD_GNU99) CPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ $(CPPFLAGS.master) \ - -I$(SRC)/uts/i86pc/io/vmm \ - -I$(SRC)/uts/i86pc + -I$(SRC)/uts/intel/io/vmm \ + -I$(SRC)/uts/intel $(PROG) := LDLIBS += -lvmmapi all: $(PROG) diff --git a/usr/src/tools/findunref/exception_list.open b/usr/src/tools/findunref/exception_list.open index e68626cf22..ebf81e1c4e 100644 --- a/usr/src/tools/findunref/exception_list.open +++ b/usr/src/tools/findunref/exception_list.open @@ -193,8 +193,8 @@ ./usr/src/uts/common/fs/smbclnt/netsmb/THIRDPARTYLICENSE.boris_popov.descrip ./usr/src/uts/common/io/e1000api/THIRDPARTYLICENSE ./usr/src/uts/common/io/e1000api/THIRDPARTYLICENSE.descrip -./usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE -./usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE.descrip +./usr/src/uts/intel/io/viona/THIRDPARTYLICENSE +./usr/src/uts/intel/io/viona/THIRDPARTYLICENSE.descrip # This is covered by license_in_headers in nfs4_prot.x ./usr/src/head/rpcsvc/THIRDPARTYLICENSE.nfs4_prot diff --git a/usr/src/uts/i86pc/Makefile.files b/usr/src/uts/i86pc/Makefile.files index e29d11b64b..064cda8548 100644 --- a/usr/src/uts/i86pc/Makefile.files +++ b/usr/src/uts/i86pc/Makefile.files @@ -67,9 +67,6 @@ CORE_OBJS += \ hardclk.o \ hat_i86.o \ hat_kdi.o \ - hma.o \ - hma_asm.o \ - hma_fpu.o \ hment.o \ hold_page.o \ hpet_acpi.o \ @@ -117,7 +114,6 @@ CORE_OBJS += \ pmem.o \ ppage.o \ pwrnow.o \ - smt.o \ speedstep.o \ ssp.o \ startup.o \ @@ -241,51 +237,6 @@ UPPC_OBJS += uppc.o psm_common.o XSVC_OBJS += xsvc.o AMD_IOMMU_OBJS += amd_iommu.o amd_iommu_impl.o amd_iommu_acpi.o \ amd_iommu_cmd.o amd_iommu_log.o amd_iommu_page_tables.o -VMM_OBJS += vmm.o \ - vmm_sol_dev.o \ - vmm_host.o \ - vmm_instruction_emul.o \ - vmm_ioport.o \ - vmm_lapic.o \ - vmm_stat.o \ - vmm_util.o \ - x86.o \ - iommu.o \ - vatpic.o \ - vatpit.o \ - vhpet.o \ - vioapic.o \ - vlapic.o \ - vrtc.o \ - vpmtmr.o \ - vmcs.o \ - vmx_msr.o \ - vmx.o \ - vmx_support.o \ - vtd.o \ - vtd_sol.o \ - svm.o \ - svm_msr.o \ - vmcb.o \ - svm_support.o \ - amdv.o \ - vmm_gpt.o \ - seg_vmm.o \ - vmm_reservoir.o \ - vmm_sol_glue.o \ - vmm_sol_ept.o \ - vmm_sol_rvi.o \ - vmm_support.o \ - vmm_vm.o \ - vmm_zsd.o - -VIONA_OBJS += viona_main.o \ - viona_ring.o \ - viona_rx.o \ - viona_tx.o \ - viona_hook.o \ - -PPT_OBJS += ppt.o PCI_PRD_OBJS += pci_prd_i86pc.o pci_memlist.o diff --git a/usr/src/uts/i86pc/Makefile.i86pc b/usr/src/uts/i86pc/Makefile.i86pc index d23b092b0f..bed1885700 100644 --- a/usr/src/uts/i86pc/Makefile.i86pc +++ b/usr/src/uts/i86pc/Makefile.i86pc @@ -246,8 +246,6 @@ DRV_KMODS += dr DRV_KMODS += ioat DRV_KMODS += fipe DRV_KMODS += vmm -DRV_KMODS += viona -DRV_KMODS += ppt DRV_KMODS += cpudrv diff --git a/usr/src/uts/i86pc/Makefile.rules b/usr/src/uts/i86pc/Makefile.rules index 9610e075fa..9fe73c00f5 100644 --- a/usr/src/uts/i86pc/Makefile.rules +++ b/usr/src/uts/i86pc/Makefile.rules @@ -217,35 +217,6 @@ $(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/amd/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/intel/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/io/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/%.s - $(COMPILE.s) -o $@ $< - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/intel/%.s - $(COMPILE.s) -o $@ $< - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/vmm/amd/%.s - $(COMPILE.s) -o $@ $< - -$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/viona/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - # # dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr # diff --git a/usr/src/uts/i86pc/sys/Makefile b/usr/src/uts/i86pc/sys/Makefile index 8eff4c905c..22ce17eb41 100644 --- a/usr/src/uts/i86pc/sys/Makefile +++ b/usr/src/uts/i86pc/sys/Makefile @@ -31,6 +31,7 @@ UTSBASE = ../.. # include global definitions # include ../Makefile.i86pc +include $(UTSBASE)/intel/sys/Makefile.psm # # Override defaults. @@ -46,7 +47,6 @@ HDRS= \ ddi_subrdefs.h \ debug_info.h \ fastboot.h \ - hma.h \ mach_mmu.h \ machclock.h \ machcpuvar.h \ @@ -63,13 +63,14 @@ HDRS= \ rm_platter.h \ sbd_ioctl.h \ smp_impldefs.h \ - smt.h \ vm_machparam.h \ x_call.h \ xc_levels.h \ xsvc.h -ROOTHDRS= $(HDRS:%=$(USR_PSM_ISYS_DIR)/%) +ROOTHDRS = \ + $(HDRS:%=$(USR_PSM_ISYS_DIR)/%) \ + $(PSM_SHARED_HDRS:%=$(USR_PSM_ISYS_DIR)/%) ROOTDIR= $(ROOT)/usr/share/src ROOTDIRS= $(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM) diff --git a/usr/src/uts/i86pc/sys/machcpuvar.h b/usr/src/uts/i86pc/sys/machcpuvar.h index 772f3112cb..1e3c08d3aa 100644 --- a/usr/src/uts/i86pc/sys/machcpuvar.h +++ b/usr/src/uts/i86pc/sys/machcpuvar.h @@ -43,6 +43,7 @@ extern "C" { #include <sys/stddef.h> #include <sys/debug.h> #include <sys/cpuvar.h> +#include <sys/smt_machcpu.h> #ifndef _ASM /* @@ -140,15 +141,6 @@ struct kpti_frame { uint64_t kf_upper_redzone; }; -typedef struct cpu_smt { - lock_t cs_lock; - char cs_pad[56]; - struct cpu *cs_sib; - volatile uint64_t cs_intr_depth; - volatile uint64_t cs_state; - volatile uint64_t cs_sibstate; -} cpu_smt_t; - /* * This first value, MACHCPU_SIZE is the size of all the members in the cpu_t * AND struct machcpu, before we get to the mcpu_pad and the kpti area. diff --git a/usr/src/uts/i86pc/vmm/Makefile b/usr/src/uts/i86pc/vmm/Makefile index 90ef062183..2b67aa1243 100644 --- a/usr/src/uts/i86pc/vmm/Makefile +++ b/usr/src/uts/i86pc/vmm/Makefile @@ -12,68 +12,26 @@ # # Copyright 2013 Pluribus Networks Inc. # Copyright 2019 Joyent, Inc. +# Copyright 2022 Oxide Computer Company # -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# UTSBASE = ../.. -# -# Define the module and object file sets. -# MODULE = vmm OBJECTS = $(VMM_OBJS:%=$(OBJS_DIR)/%) ROOTMODULE = $(USR_DRV_DIR)/$(MODULE) -CONF_SRCDIR = $(UTSBASE)/i86pc/io/vmm -MAPFILE = $(UTSBASE)/i86pc/io/vmm/vmm.mapfile -# -# Include common rules. -# -include $(UTSBASE)/i86pc/Makefile.i86pc +include $(UTSBASE)/i86pc//Makefile.i86pc +include $(UTSBASE)/intel/io/vmm/Makefile.vmm -# -# Define targets -# ALL_TARGET = $(BINARY) INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) -# -# Overrides and additions -# - - -# 3rd party code -SMOFF += all_func_returns - -# needs work -$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += signed_integer_overflow_check - ALL_BUILDS = $(ALL_BUILDSONLY64) DEF_BUILDS = $(DEF_BUILDSONLY64) -PRE_INC_PATH = -I$(COMPAT)/bhyve -I$(COMPAT)/bhyve/amd64 \ - -I$(CONTRIB)/bhyve -I$(CONTRIB)/bhyve/amd64 -INC_PATH += -I$(UTSBASE)/i86pc/io/vmm -I$(UTSBASE)/i86pc/io/vmm/io -AS_INC_PATH += -I$(UTSBASE)/i86pc/io/vmm -I$(OBJS_DIR) - -# enable collection of VMM statistics -CFLAGS += -DVMM_KEEP_STATS -LDFLAGS += -N misc/acpica -N misc/pcie -N fs/dev -LDFLAGS += -M $(MAPFILE) +.PARALLEL: $(OBJECTS) -OFFSETS_VMX = $(CONF_SRCDIR)/intel/offsets.in -OFFSETS_SVM = $(CONF_SRCDIR)/amd/offsets.in -ASSYM_VMX = $(OBJS_DIR)/vmx_assym.h -ASSYM_SVM = $(OBJS_DIR)/svm_assym.h -ASSYM_H = $(ASSYM_VMX) $(ASSYM_SVM) - -CLEANFILES += $(ASSYM_H) - -# -# Default build targets. -# .KEEP_STATE: def: $(DEF_DEPS) @@ -86,15 +44,5 @@ clobber: $(CLOBBER_DEPS) install: $(INSTALL_DEPS) -# -# Include common targets. -# -include $(UTSBASE)/i86pc/Makefile.targ - -$(ASSYM_VMX): $(OFFSETS_VMX) $(GENASSYM) - $(OFFSETS_CREATE) -I../../i86pc/io/vmm < $(OFFSETS_VMX) >$@ -$(ASSYM_SVM): $(OFFSETS_SVM) $(GENASSYM) - $(OFFSETS_CREATE) -I../../i86pc/io/vmm < $(OFFSETS_SVM) >$@ - -$(OBJS_DIR)/vmx_support.o: $(ASSYM_VMX) -$(OBJS_DIR)/svm_support.o: $(ASSYM_SVM) +include $(UTSBASE)/i86pc//Makefile.targ +include $(UTSBASE)/intel/io/vmm/Makefile.rules diff --git a/usr/src/uts/i86xpv/Makefile.files b/usr/src/uts/i86xpv/Makefile.files index 4288314e71..5c9acfabed 100644 --- a/usr/src/uts/i86xpv/Makefile.files +++ b/usr/src/uts/i86xpv/Makefile.files @@ -95,7 +95,6 @@ CORE_OBJS += \ pci_orion.o \ pmem.o \ ppage.o \ - smt.o \ startup.o \ ssp.o \ xpv_timestamp.o \ diff --git a/usr/src/uts/intel/Makefile.files b/usr/src/uts/intel/Makefile.files index 7f464e2ec8..fe380ad770 100644 --- a/usr/src/uts/intel/Makefile.files +++ b/usr/src/uts/intel/Makefile.files @@ -24,6 +24,7 @@ # Copyright 2019 Joyent, Inc. # Copyright 2018 Nexenta Systems, Inc. # Copyright 2019 Peter Tribble. +# Copyright 2022 Oxide Computer Company # # @@ -100,6 +101,15 @@ CORE_OBJS += \ prmachdep.o # +# shared hypervisor functionality +# +CORE_OBJS += \ + hma.o \ + hma_asm.o \ + hma_fpu.o \ + smt.o \ + +# # ZFS file system module # ZFS_OBJS += \ @@ -358,3 +368,18 @@ ZEN_UDF_OBJS = zen_udf.o # IMC_OBJS = imc.o imc_decode.o imc_dump.o IMCSTUB_OBJS = imcstub.o + +# +# viona (VirtIO-Net Accelerated) +# +VIONA_OBJS = \ + viona_main.o \ + viona_ring.o \ + viona_rx.o \ + viona_tx.o \ + viona_hook.o + +# +# bhyve PCI-passthru +# +PPT_OBJS = ppt.o diff --git a/usr/src/uts/intel/Makefile.intel b/usr/src/uts/intel/Makefile.intel index 290eae88ff..6a273e0a27 100644 --- a/usr/src/uts/intel/Makefile.intel +++ b/usr/src/uts/intel/Makefile.intel @@ -750,3 +750,13 @@ DRV_KMODS += usmn zen_udf # Intel Integrated Memory Controller # DRV_KMODS += imc imcstub + +# +# VirtIO-Net Accellerated driver (for bhyve) +# +DRV_KMODS += viona + +# +# bhyve PCI-passthru +# +DRV_KMODS += ppt diff --git a/usr/src/uts/intel/Makefile.rules b/usr/src/uts/intel/Makefile.rules index 84ecfad278..1ba8885f73 100644 --- a/usr/src/uts/intel/Makefile.rules +++ b/usr/src/uts/intel/Makefile.rules @@ -275,6 +275,10 @@ $(OBJS_DIR)/%.o: $(UTSBASE)/intel/zfs/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/viona/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + # # krtld compiled into unix # diff --git a/usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE b/usr/src/uts/intel/io/viona/THIRDPARTYLICENSE index 66b39dc950..66b39dc950 100644 --- a/usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE +++ b/usr/src/uts/intel/io/viona/THIRDPARTYLICENSE diff --git a/usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE.descrip b/usr/src/uts/intel/io/viona/THIRDPARTYLICENSE.descrip index 77026fc8a3..77026fc8a3 100644 --- a/usr/src/uts/i86pc/io/viona/THIRDPARTYLICENSE.descrip +++ b/usr/src/uts/intel/io/viona/THIRDPARTYLICENSE.descrip diff --git a/usr/src/uts/i86pc/io/viona/viona.conf b/usr/src/uts/intel/io/viona/viona.conf index e66488531a..e66488531a 100644 --- a/usr/src/uts/i86pc/io/viona/viona.conf +++ b/usr/src/uts/intel/io/viona/viona.conf diff --git a/usr/src/uts/i86pc/io/viona/viona.mapfile b/usr/src/uts/intel/io/viona/viona.mapfile index cece86348c..cece86348c 100644 --- a/usr/src/uts/i86pc/io/viona/viona.mapfile +++ b/usr/src/uts/intel/io/viona/viona.mapfile diff --git a/usr/src/uts/i86pc/io/viona/viona_hook.c b/usr/src/uts/intel/io/viona/viona_hook.c index 4520be04b0..4520be04b0 100644 --- a/usr/src/uts/i86pc/io/viona/viona_hook.c +++ b/usr/src/uts/intel/io/viona/viona_hook.c diff --git a/usr/src/uts/i86pc/io/viona/viona_impl.h b/usr/src/uts/intel/io/viona/viona_impl.h index 760474e78b..760474e78b 100644 --- a/usr/src/uts/i86pc/io/viona/viona_impl.h +++ b/usr/src/uts/intel/io/viona/viona_impl.h diff --git a/usr/src/uts/i86pc/io/viona/viona_main.c b/usr/src/uts/intel/io/viona/viona_main.c index a34196ba1a..a34196ba1a 100644 --- a/usr/src/uts/i86pc/io/viona/viona_main.c +++ b/usr/src/uts/intel/io/viona/viona_main.c diff --git a/usr/src/uts/i86pc/io/viona/viona_ring.c b/usr/src/uts/intel/io/viona/viona_ring.c index 2d847dda09..2d847dda09 100644 --- a/usr/src/uts/i86pc/io/viona/viona_ring.c +++ b/usr/src/uts/intel/io/viona/viona_ring.c diff --git a/usr/src/uts/i86pc/io/viona/viona_rx.c b/usr/src/uts/intel/io/viona/viona_rx.c index 2fbf6be972..2fbf6be972 100644 --- a/usr/src/uts/i86pc/io/viona/viona_rx.c +++ b/usr/src/uts/intel/io/viona/viona_rx.c diff --git a/usr/src/uts/i86pc/io/viona/viona_tx.c b/usr/src/uts/intel/io/viona/viona_tx.c index 424deee498..424deee498 100644 --- a/usr/src/uts/i86pc/io/viona/viona_tx.c +++ b/usr/src/uts/intel/io/viona/viona_tx.c diff --git a/usr/src/uts/intel/io/vmm/Makefile.rules b/usr/src/uts/intel/io/vmm/Makefile.rules new file mode 100644 index 0000000000..1551659cc4 --- /dev/null +++ b/usr/src/uts/intel/io/vmm/Makefile.rules @@ -0,0 +1,48 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2019 Joyent, Inc. +# Copyright 2022 Oxide Computer Company +# + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/amd/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/intel/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/io/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/%.s + $(COMPILE.s) -o $@ $< + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/intel/%.s + $(COMPILE.s) -o $@ $< + +$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vmm/amd/%.s + $(COMPILE.s) -o $@ $< + +$(ASSYM_VMX): $(OFFSETS_VMX) $(GENASSYM) + $(OFFSETS_CREATE) -I$(UTSBASE)/intel/io/vmm < $(OFFSETS_VMX) >$@ +$(ASSYM_SVM): $(OFFSETS_SVM) $(GENASSYM) + $(OFFSETS_CREATE) -I$(UTSBASE)/intel/io/vmm < $(OFFSETS_SVM) >$@ + +$(OBJS_DIR)/vmx_support.o: $(ASSYM_VMX) +$(OBJS_DIR)/svm_support.o: $(ASSYM_SVM) diff --git a/usr/src/uts/intel/io/vmm/Makefile.vmm b/usr/src/uts/intel/io/vmm/Makefile.vmm new file mode 100644 index 0000000000..920da5dee6 --- /dev/null +++ b/usr/src/uts/intel/io/vmm/Makefile.vmm @@ -0,0 +1,85 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2019 Joyent, Inc. +# Copyright 2022 Oxide Computer Company +# + +CONF_SRCDIR = $(UTSBASE)/intel/io/vmm +MAPFILE = $(UTSBASE)/intel/io/vmm/vmm.mapfile + +PRE_INC_PATH = \ + -I$(COMPAT)/bhyve \ + -I$(COMPAT)/bhyve/amd64 \ + -I$(CONTRIB)/bhyve \ + -I$(CONTRIB)/bhyve/amd64 + +INC_PATH += -I$(UTSBASE)/intel/io/vmm -I$(UTSBASE)/intel/io/vmm/io +AS_INC_PATH += -I$(UTSBASE)/intel/io/vmm -I$(OBJS_DIR) + +# enable collection of VMM statistics +CFLAGS += -DVMM_KEEP_STATS + +LDFLAGS += -N misc/acpica -N misc/pcie -N fs/dev +LDFLAGS += -M $(MAPFILE) + +# 3rd party code +SMOFF += all_func_returns + +# needs work +$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += signed_integer_overflow_check + +OFFSETS_VMX = $(CONF_SRCDIR)/intel/offsets.in +OFFSETS_SVM = $(CONF_SRCDIR)/amd/offsets.in +ASSYM_VMX = $(OBJS_DIR)/vmx_assym.h +ASSYM_SVM = $(OBJS_DIR)/svm_assym.h + +CLEANFILES += $(ASSYM_VMX) $(ASSYM_SVM) + +VMM_OBJS = \ + vmm.o \ + vmm_sol_dev.o \ + vmm_host.o \ + vmm_instruction_emul.o \ + vmm_ioport.o \ + vmm_lapic.o \ + vmm_stat.o \ + vmm_util.o \ + x86.o \ + iommu.o \ + vatpic.o \ + vatpit.o \ + vhpet.o \ + vioapic.o \ + vlapic.o \ + vrtc.o \ + vpmtmr.o \ + vmcs.o \ + vmx_msr.o \ + vmx.o \ + vmx_support.o \ + vtd.o \ + vtd_sol.o \ + svm.o \ + svm_msr.o \ + vmcb.o \ + svm_support.o \ + amdv.o \ + vmm_gpt.o \ + seg_vmm.o \ + vmm_reservoir.o \ + vmm_sol_glue.o \ + vmm_sol_ept.o \ + vmm_sol_rvi.o \ + vmm_support.o \ + vmm_vm.o \ + vmm_zsd.o diff --git a/usr/src/uts/i86pc/io/vmm/README.license b/usr/src/uts/intel/io/vmm/README.license index 55ad5d596d..55ad5d596d 100644 --- a/usr/src/uts/i86pc/io/vmm/README.license +++ b/usr/src/uts/intel/io/vmm/README.license diff --git a/usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE b/usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE index 66b39dc950..66b39dc950 100644 --- a/usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE +++ b/usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE diff --git a/usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE.descrip b/usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE.descrip index 77026fc8a3..77026fc8a3 100644 --- a/usr/src/uts/i86pc/io/vmm/THIRDPARTYLICENSE.descrip +++ b/usr/src/uts/intel/io/vmm/THIRDPARTYLICENSE.descrip diff --git a/usr/src/uts/i86pc/io/vmm/amd/amdiommu.c b/usr/src/uts/intel/io/vmm/amd/amdiommu.c index 4dd13b0195..4dd13b0195 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/amdiommu.c +++ b/usr/src/uts/intel/io/vmm/amd/amdiommu.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/amdv.c b/usr/src/uts/intel/io/vmm/amd/amdv.c index b056ab86d2..b056ab86d2 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/amdv.c +++ b/usr/src/uts/intel/io/vmm/amd/amdv.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/amdvi_hw.c b/usr/src/uts/intel/io/vmm/amd/amdvi_hw.c index 33a2557492..33a2557492 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/amdvi_hw.c +++ b/usr/src/uts/intel/io/vmm/amd/amdvi_hw.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/amdvi_priv.h b/usr/src/uts/intel/io/vmm/amd/amdvi_priv.h index 5b66c6fa4b..5b66c6fa4b 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/amdvi_priv.h +++ b/usr/src/uts/intel/io/vmm/amd/amdvi_priv.h diff --git a/usr/src/uts/i86pc/io/vmm/amd/ivrs_drv.c b/usr/src/uts/intel/io/vmm/amd/ivrs_drv.c index 6721867dbe..6721867dbe 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/ivrs_drv.c +++ b/usr/src/uts/intel/io/vmm/amd/ivrs_drv.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/offsets.in b/usr/src/uts/intel/io/vmm/amd/offsets.in index ad4ee7155a..ad4ee7155a 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/offsets.in +++ b/usr/src/uts/intel/io/vmm/amd/offsets.in diff --git a/usr/src/uts/i86pc/io/vmm/amd/svm.c b/usr/src/uts/intel/io/vmm/amd/svm.c index 11c1e9c249..11c1e9c249 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/svm.c +++ b/usr/src/uts/intel/io/vmm/amd/svm.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/svm.h b/usr/src/uts/intel/io/vmm/amd/svm.h index 91e8419789..91e8419789 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/svm.h +++ b/usr/src/uts/intel/io/vmm/amd/svm.h diff --git a/usr/src/uts/i86pc/io/vmm/amd/svm_msr.c b/usr/src/uts/intel/io/vmm/amd/svm_msr.c index 4fa7826fbf..4fa7826fbf 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/svm_msr.c +++ b/usr/src/uts/intel/io/vmm/amd/svm_msr.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/svm_msr.h b/usr/src/uts/intel/io/vmm/amd/svm_msr.h index 8f0d14e6b9..8f0d14e6b9 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/svm_msr.h +++ b/usr/src/uts/intel/io/vmm/amd/svm_msr.h diff --git a/usr/src/uts/i86pc/io/vmm/amd/svm_softc.h b/usr/src/uts/intel/io/vmm/amd/svm_softc.h index adf9bb8ddd..adf9bb8ddd 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/svm_softc.h +++ b/usr/src/uts/intel/io/vmm/amd/svm_softc.h diff --git a/usr/src/uts/i86pc/io/vmm/amd/svm_support.s b/usr/src/uts/intel/io/vmm/amd/svm_support.s index 278dd5c5cb..278dd5c5cb 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/svm_support.s +++ b/usr/src/uts/intel/io/vmm/amd/svm_support.s diff --git a/usr/src/uts/i86pc/io/vmm/amd/vmcb.c b/usr/src/uts/intel/io/vmm/amd/vmcb.c index 5be5240129..5be5240129 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/vmcb.c +++ b/usr/src/uts/intel/io/vmm/amd/vmcb.c diff --git a/usr/src/uts/i86pc/io/vmm/amd/vmcb.h b/usr/src/uts/intel/io/vmm/amd/vmcb.h index 15b076b5bb..15b076b5bb 100644 --- a/usr/src/uts/i86pc/io/vmm/amd/vmcb.h +++ b/usr/src/uts/intel/io/vmm/amd/vmcb.h diff --git a/usr/src/uts/i86pc/io/vmm/intel/offsets.in b/usr/src/uts/intel/io/vmm/intel/offsets.in index f467e7b1ca..f467e7b1ca 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/offsets.in +++ b/usr/src/uts/intel/io/vmm/intel/offsets.in diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmcs.c b/usr/src/uts/intel/io/vmm/intel/vmcs.c index 7fabba79f7..7fabba79f7 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmcs.c +++ b/usr/src/uts/intel/io/vmm/intel/vmcs.c diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmcs.h b/usr/src/uts/intel/io/vmm/intel/vmcs.h index d61244baee..d61244baee 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmcs.h +++ b/usr/src/uts/intel/io/vmm/intel/vmcs.h diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmx.c b/usr/src/uts/intel/io/vmm/intel/vmx.c index a44c90dcbe..a44c90dcbe 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmx.c +++ b/usr/src/uts/intel/io/vmm/intel/vmx.c diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmx.h b/usr/src/uts/intel/io/vmm/intel/vmx.h index 197ca1341d..197ca1341d 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmx.h +++ b/usr/src/uts/intel/io/vmm/intel/vmx.h diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmx_controls.h b/usr/src/uts/intel/io/vmm/intel/vmx_controls.h index ae6ff9b5aa..ae6ff9b5aa 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmx_controls.h +++ b/usr/src/uts/intel/io/vmm/intel/vmx_controls.h diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmx_msr.c b/usr/src/uts/intel/io/vmm/intel/vmx_msr.c index f9c292f659..f9c292f659 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmx_msr.c +++ b/usr/src/uts/intel/io/vmm/intel/vmx_msr.c diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmx_msr.h b/usr/src/uts/intel/io/vmm/intel/vmx_msr.h index 551f2d659a..551f2d659a 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmx_msr.h +++ b/usr/src/uts/intel/io/vmm/intel/vmx_msr.h diff --git a/usr/src/uts/i86pc/io/vmm/intel/vmx_support.s b/usr/src/uts/intel/io/vmm/intel/vmx_support.s index 60f761d652..60f761d652 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vmx_support.s +++ b/usr/src/uts/intel/io/vmm/intel/vmx_support.s diff --git a/usr/src/uts/i86pc/io/vmm/intel/vtd.c b/usr/src/uts/intel/io/vmm/intel/vtd.c index d32143aa07..d32143aa07 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vtd.c +++ b/usr/src/uts/intel/io/vmm/intel/vtd.c diff --git a/usr/src/uts/i86pc/io/vmm/intel/vtd_sol.c b/usr/src/uts/intel/io/vmm/intel/vtd_sol.c index 26c6c5b024..26c6c5b024 100644 --- a/usr/src/uts/i86pc/io/vmm/intel/vtd_sol.c +++ b/usr/src/uts/intel/io/vmm/intel/vtd_sol.c diff --git a/usr/src/uts/i86pc/io/vmm/io/iommu.c b/usr/src/uts/intel/io/vmm/io/iommu.c index 3ebd394b99..3ebd394b99 100644 --- a/usr/src/uts/i86pc/io/vmm/io/iommu.c +++ b/usr/src/uts/intel/io/vmm/io/iommu.c diff --git a/usr/src/uts/i86pc/io/vmm/io/iommu.h b/usr/src/uts/intel/io/vmm/io/iommu.h index a5e9448b4e..a5e9448b4e 100644 --- a/usr/src/uts/i86pc/io/vmm/io/iommu.h +++ b/usr/src/uts/intel/io/vmm/io/iommu.h diff --git a/usr/src/uts/i86pc/io/vmm/io/ppt.c b/usr/src/uts/intel/io/vmm/io/ppt.c index e79842d8a8..e79842d8a8 100644 --- a/usr/src/uts/i86pc/io/vmm/io/ppt.c +++ b/usr/src/uts/intel/io/vmm/io/ppt.c diff --git a/usr/src/uts/i86pc/io/vmm/io/ppt.conf b/usr/src/uts/intel/io/vmm/io/ppt.conf index 0485580bb8..0485580bb8 100644 --- a/usr/src/uts/i86pc/io/vmm/io/ppt.conf +++ b/usr/src/uts/intel/io/vmm/io/ppt.conf diff --git a/usr/src/uts/i86pc/io/vmm/io/ppt.h b/usr/src/uts/intel/io/vmm/io/ppt.h index f69a352fe0..f69a352fe0 100644 --- a/usr/src/uts/i86pc/io/vmm/io/ppt.h +++ b/usr/src/uts/intel/io/vmm/io/ppt.h diff --git a/usr/src/uts/i86pc/io/vmm/io/ppt.mapfile b/usr/src/uts/intel/io/vmm/io/ppt.mapfile index 42d92f0066..42d92f0066 100644 --- a/usr/src/uts/i86pc/io/vmm/io/ppt.mapfile +++ b/usr/src/uts/intel/io/vmm/io/ppt.mapfile diff --git a/usr/src/uts/i86pc/io/vmm/io/vatpic.c b/usr/src/uts/intel/io/vmm/io/vatpic.c index aa3ae4186d..aa3ae4186d 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vatpic.c +++ b/usr/src/uts/intel/io/vmm/io/vatpic.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vatpic.h b/usr/src/uts/intel/io/vmm/io/vatpic.h index 4ed51a06ed..4ed51a06ed 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vatpic.h +++ b/usr/src/uts/intel/io/vmm/io/vatpic.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vatpit.c b/usr/src/uts/intel/io/vmm/io/vatpit.c index 9616444d25..9616444d25 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vatpit.c +++ b/usr/src/uts/intel/io/vmm/io/vatpit.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vatpit.h b/usr/src/uts/intel/io/vmm/io/vatpit.h index bee3a88293..bee3a88293 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vatpit.h +++ b/usr/src/uts/intel/io/vmm/io/vatpit.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vhpet.c b/usr/src/uts/intel/io/vmm/io/vhpet.c index d9515d0cc3..d9515d0cc3 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vhpet.c +++ b/usr/src/uts/intel/io/vmm/io/vhpet.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vhpet.h b/usr/src/uts/intel/io/vmm/io/vhpet.h index 0ea0a6b15a..0ea0a6b15a 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vhpet.h +++ b/usr/src/uts/intel/io/vmm/io/vhpet.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vioapic.c b/usr/src/uts/intel/io/vmm/io/vioapic.c index 90dedb9ac1..90dedb9ac1 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vioapic.c +++ b/usr/src/uts/intel/io/vmm/io/vioapic.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vioapic.h b/usr/src/uts/intel/io/vmm/io/vioapic.h index 3c74bd5170..3c74bd5170 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vioapic.h +++ b/usr/src/uts/intel/io/vmm/io/vioapic.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vlapic.c b/usr/src/uts/intel/io/vmm/io/vlapic.c index 1cd6c72aaf..1cd6c72aaf 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vlapic.c +++ b/usr/src/uts/intel/io/vmm/io/vlapic.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vlapic.h b/usr/src/uts/intel/io/vmm/io/vlapic.h index dd1970cb6a..dd1970cb6a 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vlapic.h +++ b/usr/src/uts/intel/io/vmm/io/vlapic.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vlapic_priv.h b/usr/src/uts/intel/io/vmm/io/vlapic_priv.h index 7b12b60f51..7b12b60f51 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vlapic_priv.h +++ b/usr/src/uts/intel/io/vmm/io/vlapic_priv.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vpmtmr.c b/usr/src/uts/intel/io/vmm/io/vpmtmr.c index 9a7d7d4253..9a7d7d4253 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vpmtmr.c +++ b/usr/src/uts/intel/io/vmm/io/vpmtmr.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vpmtmr.h b/usr/src/uts/intel/io/vmm/io/vpmtmr.h index 0451da0350..0451da0350 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vpmtmr.h +++ b/usr/src/uts/intel/io/vmm/io/vpmtmr.h diff --git a/usr/src/uts/i86pc/io/vmm/io/vrtc.c b/usr/src/uts/intel/io/vmm/io/vrtc.c index 185cbc100a..185cbc100a 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vrtc.c +++ b/usr/src/uts/intel/io/vmm/io/vrtc.c diff --git a/usr/src/uts/i86pc/io/vmm/io/vrtc.h b/usr/src/uts/intel/io/vmm/io/vrtc.h index d3140c1308..d3140c1308 100644 --- a/usr/src/uts/i86pc/io/vmm/io/vrtc.h +++ b/usr/src/uts/intel/io/vmm/io/vrtc.h diff --git a/usr/src/uts/i86pc/io/vmm/seg_vmm.c b/usr/src/uts/intel/io/vmm/seg_vmm.c index 863b283418..863b283418 100644 --- a/usr/src/uts/i86pc/io/vmm/seg_vmm.c +++ b/usr/src/uts/intel/io/vmm/seg_vmm.c diff --git a/usr/src/uts/i86pc/io/vmm/sys/seg_vmm.h b/usr/src/uts/intel/io/vmm/sys/seg_vmm.h index 5ba0dad5c3..5ba0dad5c3 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/seg_vmm.h +++ b/usr/src/uts/intel/io/vmm/sys/seg_vmm.h diff --git a/usr/src/uts/i86pc/io/vmm/sys/vmm_gpt.h b/usr/src/uts/intel/io/vmm/sys/vmm_gpt.h index a425fb53ec..a425fb53ec 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/vmm_gpt.h +++ b/usr/src/uts/intel/io/vmm/sys/vmm_gpt.h diff --git a/usr/src/uts/i86pc/io/vmm/sys/vmm_impl.h b/usr/src/uts/intel/io/vmm/sys/vmm_impl.h index 2b6f41ec54..2b6f41ec54 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/vmm_impl.h +++ b/usr/src/uts/intel/io/vmm/sys/vmm_impl.h diff --git a/usr/src/uts/i86pc/io/vmm/sys/vmm_instruction_emul.h b/usr/src/uts/intel/io/vmm/sys/vmm_instruction_emul.h index 4680c86a56..4680c86a56 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/vmm_instruction_emul.h +++ b/usr/src/uts/intel/io/vmm/sys/vmm_instruction_emul.h diff --git a/usr/src/uts/i86pc/io/vmm/sys/vmm_kernel.h b/usr/src/uts/intel/io/vmm/sys/vmm_kernel.h index c84b33dc2e..c84b33dc2e 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/vmm_kernel.h +++ b/usr/src/uts/intel/io/vmm/sys/vmm_kernel.h diff --git a/usr/src/uts/i86pc/io/vmm/sys/vmm_reservoir.h b/usr/src/uts/intel/io/vmm/sys/vmm_reservoir.h index b8215ce654..b8215ce654 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/vmm_reservoir.h +++ b/usr/src/uts/intel/io/vmm/sys/vmm_reservoir.h diff --git a/usr/src/uts/i86pc/io/vmm/sys/vmm_vm.h b/usr/src/uts/intel/io/vmm/sys/vmm_vm.h index 57d0ec8b00..57d0ec8b00 100644 --- a/usr/src/uts/i86pc/io/vmm/sys/vmm_vm.h +++ b/usr/src/uts/intel/io/vmm/sys/vmm_vm.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm.c b/usr/src/uts/intel/io/vmm/vmm.c index be181781de..be181781de 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm.c +++ b/usr/src/uts/intel/io/vmm/vmm.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm.conf b/usr/src/uts/intel/io/vmm/vmm.conf index 8833076014..8833076014 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm.conf +++ b/usr/src/uts/intel/io/vmm/vmm.conf diff --git a/usr/src/uts/i86pc/io/vmm/vmm.mapfile b/usr/src/uts/intel/io/vmm/vmm.mapfile index fb1c9366de..fb1c9366de 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm.mapfile +++ b/usr/src/uts/intel/io/vmm/vmm.mapfile diff --git a/usr/src/uts/i86pc/io/vmm/vmm_gpt.c b/usr/src/uts/intel/io/vmm/vmm_gpt.c index 586b994d56..586b994d56 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_gpt.c +++ b/usr/src/uts/intel/io/vmm/vmm_gpt.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_host.c b/usr/src/uts/intel/io/vmm/vmm_host.c index 2c1897b18f..2c1897b18f 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_host.c +++ b/usr/src/uts/intel/io/vmm/vmm_host.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_host.h b/usr/src/uts/intel/io/vmm/vmm_host.h index c5688f108a..c5688f108a 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_host.h +++ b/usr/src/uts/intel/io/vmm/vmm_host.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm_instruction_emul.c b/usr/src/uts/intel/io/vmm/vmm_instruction_emul.c index 06baec53bf..06baec53bf 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_instruction_emul.c +++ b/usr/src/uts/intel/io/vmm/vmm_instruction_emul.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_ioport.c b/usr/src/uts/intel/io/vmm/vmm_ioport.c index 3826dbe8b5..3826dbe8b5 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_ioport.c +++ b/usr/src/uts/intel/io/vmm/vmm_ioport.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_ioport.h b/usr/src/uts/intel/io/vmm/vmm_ioport.h index 254ba002f2..254ba002f2 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_ioport.h +++ b/usr/src/uts/intel/io/vmm/vmm_ioport.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm_ktr.h b/usr/src/uts/intel/io/vmm/vmm_ktr.h index 2e706ffc57..2e706ffc57 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_ktr.h +++ b/usr/src/uts/intel/io/vmm/vmm_ktr.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm_lapic.c b/usr/src/uts/intel/io/vmm/vmm_lapic.c index 8ef1c851d0..8ef1c851d0 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_lapic.c +++ b/usr/src/uts/intel/io/vmm/vmm_lapic.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_lapic.h b/usr/src/uts/intel/io/vmm/vmm_lapic.h index 037b15a342..037b15a342 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_lapic.h +++ b/usr/src/uts/intel/io/vmm/vmm_lapic.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm_reservoir.c b/usr/src/uts/intel/io/vmm/vmm_reservoir.c index 1bb64a4851..1bb64a4851 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_reservoir.c +++ b/usr/src/uts/intel/io/vmm/vmm_reservoir.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c b/usr/src/uts/intel/io/vmm/vmm_sol_dev.c index d66778c55a..eacad25e5d 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c +++ b/usr/src/uts/intel/io/vmm/vmm_sol_dev.c @@ -86,7 +86,7 @@ static const char *vmmdev_hvm_name = "bhyve"; /* For sdev plugin (/dev) */ #define VMM_SDEV_ROOT "/dev/vmm" -/* From uts/i86pc/io/vmm/intel/vmx.c */ +/* From uts/intel/io/vmm/intel/vmx.c */ extern int vmx_x86_supported(const char **); /* Holds and hooks from drivers external to vmm */ diff --git a/usr/src/uts/i86pc/io/vmm/vmm_sol_ept.c b/usr/src/uts/intel/io/vmm/vmm_sol_ept.c index fde4a030ce..fde4a030ce 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_sol_ept.c +++ b/usr/src/uts/intel/io/vmm/vmm_sol_ept.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_sol_glue.c b/usr/src/uts/intel/io/vmm/vmm_sol_glue.c index 132d5dc87f..132d5dc87f 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_sol_glue.c +++ b/usr/src/uts/intel/io/vmm/vmm_sol_glue.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_sol_rvi.c b/usr/src/uts/intel/io/vmm/vmm_sol_rvi.c index 8b45782d25..8b45782d25 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_sol_rvi.c +++ b/usr/src/uts/intel/io/vmm/vmm_sol_rvi.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_stat.c b/usr/src/uts/intel/io/vmm/vmm_stat.c index da38bb7de5..da38bb7de5 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_stat.c +++ b/usr/src/uts/intel/io/vmm/vmm_stat.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_stat.h b/usr/src/uts/intel/io/vmm/vmm_stat.h index 2975a4a914..2975a4a914 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_stat.h +++ b/usr/src/uts/intel/io/vmm/vmm_stat.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm_support.s b/usr/src/uts/intel/io/vmm/vmm_support.s index 4bc973468a..4bc973468a 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_support.s +++ b/usr/src/uts/intel/io/vmm/vmm_support.s diff --git a/usr/src/uts/i86pc/io/vmm/vmm_util.c b/usr/src/uts/intel/io/vmm/vmm_util.c index 05dfd08aaa..05dfd08aaa 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_util.c +++ b/usr/src/uts/intel/io/vmm/vmm_util.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_util.h b/usr/src/uts/intel/io/vmm/vmm_util.h index ff93ce5733..ff93ce5733 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_util.h +++ b/usr/src/uts/intel/io/vmm/vmm_util.h diff --git a/usr/src/uts/i86pc/io/vmm/vmm_vm.c b/usr/src/uts/intel/io/vmm/vmm_vm.c index c87c8a62d3..c87c8a62d3 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_vm.c +++ b/usr/src/uts/intel/io/vmm/vmm_vm.c diff --git a/usr/src/uts/i86pc/io/vmm/vmm_zsd.c b/usr/src/uts/intel/io/vmm/vmm_zsd.c index d396c89e58..d396c89e58 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_zsd.c +++ b/usr/src/uts/intel/io/vmm/vmm_zsd.c diff --git a/usr/src/uts/i86pc/io/vmm/x86.c b/usr/src/uts/intel/io/vmm/x86.c index 187c89afd0..187c89afd0 100644 --- a/usr/src/uts/i86pc/io/vmm/x86.c +++ b/usr/src/uts/intel/io/vmm/x86.c diff --git a/usr/src/uts/i86pc/io/vmm/x86.h b/usr/src/uts/intel/io/vmm/x86.h index f3459e4f8a..f3459e4f8a 100644 --- a/usr/src/uts/i86pc/io/vmm/x86.h +++ b/usr/src/uts/intel/io/vmm/x86.h diff --git a/usr/src/uts/i86pc/os/hma.c b/usr/src/uts/intel/os/hma.c index 215243ea98..215243ea98 100644 --- a/usr/src/uts/i86pc/os/hma.c +++ b/usr/src/uts/intel/os/hma.c diff --git a/usr/src/uts/i86pc/os/hma_fpu.c b/usr/src/uts/intel/os/hma_fpu.c index 138af7a32a..138af7a32a 100644 --- a/usr/src/uts/i86pc/os/hma_fpu.c +++ b/usr/src/uts/intel/os/hma_fpu.c diff --git a/usr/src/uts/i86pc/os/smt.c b/usr/src/uts/intel/os/smt.c index 7ba9d3025d..7ba9d3025d 100644 --- a/usr/src/uts/i86pc/os/smt.c +++ b/usr/src/uts/intel/os/smt.c diff --git a/usr/src/uts/i86pc/ppt/Makefile b/usr/src/uts/intel/ppt/Makefile index a1490bc2aa..fe9e0026c1 100644 --- a/usr/src/uts/i86pc/ppt/Makefile +++ b/usr/src/uts/intel/ppt/Makefile @@ -12,54 +12,41 @@ # # Copyright 2013 Pluribus Networks Inc. # Copyright 2019 Joyent, Inc. +# Copyright 2022 Oxide Computer Company # -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# UTSBASE = ../.. -# -# Define the module and object file sets. -# MODULE = ppt OBJECTS = $(PPT_OBJS:%=$(OBJS_DIR)/%) ROOTMODULE = $(USR_DRV_DIR)/$(MODULE) -CONF_SRCDIR = $(UTSBASE)/i86pc/io/vmm/io -MAPFILE = $(UTSBASE)/i86pc/io/vmm/io/ppt.mapfile +CONF_SRCDIR = $(UTSBASE)/intel/io/vmm/io +MAPFILE = $(UTSBASE)/intel/io/vmm/io/ppt.mapfile -# -# Include common rules. -# -include $(UTSBASE)/i86pc/Makefile.i86pc +include $(UTSBASE)/intel/Makefile.intel -# -# Define targets -# ALL_TARGET = $(BINARY) INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) - -# -# Overrides and additions -# ALL_BUILDS = $(ALL_BUILDSONLY64) DEF_BUILDS = $(DEF_BUILDSONLY64) -PRE_INC_PATH = -I$(COMPAT)/bhyve -I$(COMPAT)/bhyve/amd64 \ - -I$(CONTRIB)/bhyve -I$(CONTRIB)/bhyve/amd64 -INC_PATH += -I$(UTSBASE)/i86pc/io/vmm -I$(UTSBASE)/i86pc/io/vmm/io -AS_INC_PATH += -I$(UTSBASE)/i86pc/io/vmm -I$(OBJS_DIR) -LDFLAGS += -N drv/vmm -N misc/pcie -LDFLAGS += -M $(MAPFILE) +PRE_INC_PATH = \ + -I$(COMPAT)/bhyve \ + -I$(COMPAT)/bhyve/amd64 \ + -I$(CONTRIB)/bhyve \ + -I$(CONTRIB)/bhyve/amd64 + +INC_PATH += -I$(UTSBASE)/intel/io/vmm -I$(UTSBASE)/intel/io/vmm/io +AS_INC_PATH += -I$(UTSBASE)/intel/io/vmm -I$(OBJS_DIR) + +LDFLAGS += -N drv/vmm -N misc/pcie +LDFLAGS += -M $(MAPFILE) $(OBJS_DIR)/ppt.o := CERRWARN += -_gcc=-Wno-unused-variable # needs work SMOFF += all_func_returns -# -# Default build targets. -# .KEEP_STATE: def: $(DEF_DEPS) @@ -72,7 +59,5 @@ clobber: $(CLOBBER_DEPS) install: $(INSTALL_DEPS) -# -# Include common targets. -# -include $(UTSBASE)/i86pc/Makefile.targ +include $(UTSBASE)/intel/Makefile.targ +include $(UTSBASE)/intel/io/vmm/Makefile.rules diff --git a/usr/src/uts/intel/sys/Makefile b/usr/src/uts/intel/sys/Makefile index 5cfbdec4fc..0a6af2de2d 100644 --- a/usr/src/uts/intel/sys/Makefile +++ b/usr/src/uts/intel/sys/Makefile @@ -91,6 +91,12 @@ HDRS = \ x86_archext.h \ xen_errno.h + +# Headers shared with the various machine architectures are installed via +# different means, but are checked here, since it is a common point. +include Makefile.psm +CHECK_ONLY_HDRS = $(PSM_SHARED_HDRS) + ROOTDIR= $(ROOT)/usr/include/sys SCSIDIR= $(ROOTDIR)/scsi SCSIDIRS= $(SCSIDIR) $(SCSIDIR)/conf $(SCSIDIR)/generic \ @@ -100,8 +106,9 @@ ROOTDIRS= $(ROOTDIR) $(ROOTFSDIR) ROOTHDRS= $(HDRS:%=$(ROOTDIR)/%) -CHECKHDRS= \ - $(HDRS:%.h=%.check) +CHECKHDRS = \ + $(HDRS:%.h=%.check) \ + $(CHECK_ONLY_HDRS:%.h=%.check) \ # install rules $(ROOTDIR)/%: % diff --git a/usr/src/uts/intel/sys/Makefile.psm b/usr/src/uts/intel/sys/Makefile.psm new file mode 100644 index 0000000000..8fecc14f49 --- /dev/null +++ b/usr/src/uts/intel/sys/Makefile.psm @@ -0,0 +1,27 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2022 Oxide Computer Company +# + +# HMA and SMT-exclusion headers are used by and exposed (via system-header) by +# the various machine architectures. + +PSM_SHARED_HDRS = \ + hma.h \ + smt.h \ + smt_machcpu.h + +PSM_SHARED_HDR_DIR = $(UTSBASE)/intel/sys + +$(USR_PSM_ISYS_DIR)/%: $(PSM_SHARED_HDR_DIR)/% $(USR_PSM_ISYS_DIR) + $(INS.file) diff --git a/usr/src/uts/i86pc/sys/hma.h b/usr/src/uts/intel/sys/hma.h index e15cd60d5e..e15cd60d5e 100644 --- a/usr/src/uts/i86pc/sys/hma.h +++ b/usr/src/uts/intel/sys/hma.h diff --git a/usr/src/uts/i86pc/sys/ppt_dev.h b/usr/src/uts/intel/sys/ppt_dev.h index a7b65ad0dd..a7b65ad0dd 100644 --- a/usr/src/uts/i86pc/sys/ppt_dev.h +++ b/usr/src/uts/intel/sys/ppt_dev.h diff --git a/usr/src/uts/i86pc/sys/smt.h b/usr/src/uts/intel/sys/smt.h index f539d13799..f539d13799 100644 --- a/usr/src/uts/i86pc/sys/smt.h +++ b/usr/src/uts/intel/sys/smt.h diff --git a/usr/src/uts/intel/sys/smt_machcpu.h b/usr/src/uts/intel/sys/smt_machcpu.h new file mode 100644 index 0000000000..a8fcd8621b --- /dev/null +++ b/usr/src/uts/intel/sys/smt_machcpu.h @@ -0,0 +1,44 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2019 Joyent, Inc. + * Copyright 2022 Oxide Computer Company + */ + +#ifndef _SYS_SMT_MACHCPU_H +#define _SYS_SMT_MACHCPU_H + +#include <sys/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The SMT exclusion logic requires `struct cpu_smt` be present in + * `struct machcpu` as the field `mcpu_smt`. It is defined here, on its own, so + * it may be easily included by the relevant machine architecture(s). + */ +typedef struct cpu_smt { + lock_t cs_lock; + char cs_pad[56]; + struct cpu *cs_sib; + volatile uint64_t cs_intr_depth; + volatile uint64_t cs_state; + volatile uint64_t cs_sibstate; +} cpu_smt_t; + +#ifdef __cplusplus +} +#endif + +#endif /* _SYS_SMT_MACHCPU_H */ diff --git a/usr/src/uts/i86pc/sys/viona_io.h b/usr/src/uts/intel/sys/viona_io.h index 46cc72eb06..46cc72eb06 100644 --- a/usr/src/uts/i86pc/sys/viona_io.h +++ b/usr/src/uts/intel/sys/viona_io.h diff --git a/usr/src/uts/i86pc/sys/vmm.h b/usr/src/uts/intel/sys/vmm.h index e58d63761e..e58d63761e 100644 --- a/usr/src/uts/i86pc/sys/vmm.h +++ b/usr/src/uts/intel/sys/vmm.h diff --git a/usr/src/uts/i86pc/sys/vmm_dev.h b/usr/src/uts/intel/sys/vmm_dev.h index 027a7da214..027a7da214 100644 --- a/usr/src/uts/i86pc/sys/vmm_dev.h +++ b/usr/src/uts/intel/sys/vmm_dev.h diff --git a/usr/src/uts/i86pc/sys/vmm_drv.h b/usr/src/uts/intel/sys/vmm_drv.h index 0b7f622e53..0b7f622e53 100644 --- a/usr/src/uts/i86pc/sys/vmm_drv.h +++ b/usr/src/uts/intel/sys/vmm_drv.h diff --git a/usr/src/uts/i86pc/viona/Makefile b/usr/src/uts/intel/viona/Makefile index f77eba07ca..a09dbbe9e9 100644 --- a/usr/src/uts/i86pc/viona/Makefile +++ b/usr/src/uts/intel/viona/Makefile @@ -12,37 +12,22 @@ # # Copyright 2013 Pluribus Networks Inc. # Copyright 2019 Joyent, Inc. +# Copyright 2022 Oxide Computer Company # -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# UTSBASE = ../.. -# -# Define the module and object file sets. -# MODULE = viona OBJECTS = $(VIONA_OBJS:%=$(OBJS_DIR)/%) ROOTMODULE = $(USR_DRV_DIR)/$(MODULE) -CONF_SRCDIR = $(UTSBASE)/i86pc/io/viona -MAPFILE = $(UTSBASE)/i86pc/io/viona/viona.mapfile +CONF_SRCDIR = $(UTSBASE)/intel/io/viona +MAPFILE = $(UTSBASE)/intel/io/viona/viona.mapfile -# -# Include common rules. -# -include $(UTSBASE)/i86pc/Makefile.i86pc +include $(UTSBASE)/intel/Makefile.intel -# -# Define targets -# ALL_TARGET = $(BINARY) $(SRC_CONFILE) INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) -# -# Overrides -# - # needs work SMOFF += all_func_returns @@ -54,9 +39,6 @@ LDFLAGS += -Ndrv/dld -Nmisc/mac -Nmisc/dls -Ndrv/vmm -Nmisc/neti LDFLAGS += -Nmisc/hook LDFLAGS += -M $(MAPFILE) -# -# Default build targets. -# .KEEP_STATE: def: $(DEF_DEPS) @@ -69,7 +51,4 @@ clobber: $(CLOBBER_DEPS) install: $(INSTALL_DEPS) -# -# Include common targets. -# -include $(UTSBASE)/i86pc/Makefile.targ +include $(UTSBASE)/intel/Makefile.targ |