17c8c0b82SPatrick Mooney# 27c8c0b82SPatrick Mooney# This file and its contents are supplied under the terms of the 37c8c0b82SPatrick Mooney# Common Development and Distribution License ("CDDL"), version 1.0. 47c8c0b82SPatrick Mooney# You may only use this file in accordance with the terms of version 57c8c0b82SPatrick Mooney# 1.0 of the CDDL. 67c8c0b82SPatrick Mooney# 77c8c0b82SPatrick Mooney# A full copy of the text of the CDDL should have accompanied this 87c8c0b82SPatrick Mooney# source. A copy of the CDDL is also available via the Internet at 97c8c0b82SPatrick Mooney# http://www.illumos.org/license/CDDL. 107c8c0b82SPatrick Mooney# 117c8c0b82SPatrick Mooney 127c8c0b82SPatrick Mooney# 137c8c0b82SPatrick Mooney# Copyright 2019 Joyent, Inc. 147c8c0b82SPatrick Mooney# Copyright 2022 Oxide Computer Company 157c8c0b82SPatrick Mooney# 167c8c0b82SPatrick Mooney 177c8c0b82SPatrick MooneyCONF_SRCDIR = $(UTSBASE)/intel/io/vmm 187c8c0b82SPatrick MooneyMAPFILE = $(UTSBASE)/intel/io/vmm/vmm.mapfile 197c8c0b82SPatrick Mooney 207c8c0b82SPatrick MooneyPRE_INC_PATH = \ 217c8c0b82SPatrick Mooney -I$(COMPAT)/bhyve \ 227c8c0b82SPatrick Mooney -I$(COMPAT)/bhyve/amd64 \ 237c8c0b82SPatrick Mooney -I$(CONTRIB)/bhyve \ 247c8c0b82SPatrick Mooney -I$(CONTRIB)/bhyve/amd64 257c8c0b82SPatrick Mooney 267c8c0b82SPatrick MooneyINC_PATH += -I$(UTSBASE)/intel/io/vmm -I$(UTSBASE)/intel/io/vmm/io 277c8c0b82SPatrick MooneyAS_INC_PATH += -I$(UTSBASE)/intel/io/vmm -I$(OBJS_DIR) 287c8c0b82SPatrick Mooney 297c8c0b82SPatrick Mooney# enable collection of VMM statistics 307c8c0b82SPatrick MooneyCFLAGS += -DVMM_KEEP_STATS 317c8c0b82SPatrick Mooney 32*e760f150SPatrick MooneyLDFLAGS += -N misc/pcie -N fs/dev 337c8c0b82SPatrick MooneyLDFLAGS += -M $(MAPFILE) 347c8c0b82SPatrick Mooney 35e0994bd2SPatrick Mooney# devmem span calculations currently run afoul of overflow checks 367c8c0b82SPatrick Mooney$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += signed_integer_overflow_check 37e0994bd2SPatrick Mooney# vmm_zsd_add_vm() failure unhandled in face of racing zone shutdown 38e0994bd2SPatrick Mooney$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += all_func_returns 397c8c0b82SPatrick Mooney 407c8c0b82SPatrick MooneyOFFSETS_VMX = $(CONF_SRCDIR)/intel/offsets.in 417c8c0b82SPatrick MooneyOFFSETS_SVM = $(CONF_SRCDIR)/amd/offsets.in 427c8c0b82SPatrick MooneyASSYM_VMX = $(OBJS_DIR)/vmx_assym.h 437c8c0b82SPatrick MooneyASSYM_SVM = $(OBJS_DIR)/svm_assym.h 447c8c0b82SPatrick Mooney 457c8c0b82SPatrick MooneyCLEANFILES += $(ASSYM_VMX) $(ASSYM_SVM) 467c8c0b82SPatrick Mooney 477c8c0b82SPatrick MooneyVMM_OBJS = \ 487c8c0b82SPatrick Mooney vmm.o \ 497c8c0b82SPatrick Mooney vmm_sol_dev.o \ 507c8c0b82SPatrick Mooney vmm_host.o \ 517c8c0b82SPatrick Mooney vmm_instruction_emul.o \ 527c8c0b82SPatrick Mooney vmm_ioport.o \ 537c8c0b82SPatrick Mooney vmm_lapic.o \ 547c8c0b82SPatrick Mooney vmm_stat.o \ 557c8c0b82SPatrick Mooney vmm_util.o \ 567c8c0b82SPatrick Mooney x86.o \ 577c8c0b82SPatrick Mooney iommu.o \ 587c8c0b82SPatrick Mooney vatpic.o \ 597c8c0b82SPatrick Mooney vatpit.o \ 607c8c0b82SPatrick Mooney vhpet.o \ 617c8c0b82SPatrick Mooney vioapic.o \ 627c8c0b82SPatrick Mooney vlapic.o \ 637c8c0b82SPatrick Mooney vrtc.o \ 647c8c0b82SPatrick Mooney vpmtmr.o \ 657c8c0b82SPatrick Mooney vmcs.o \ 667c8c0b82SPatrick Mooney vmx_msr.o \ 677c8c0b82SPatrick Mooney vmx.o \ 687c8c0b82SPatrick Mooney vmx_support.o \ 697c8c0b82SPatrick Mooney svm.o \ 707c8c0b82SPatrick Mooney svm_msr.o \ 717c8c0b82SPatrick Mooney vmcb.o \ 727c8c0b82SPatrick Mooney svm_support.o \ 737c8c0b82SPatrick Mooney vmm_gpt.o \ 747c8c0b82SPatrick Mooney seg_vmm.o \ 757c8c0b82SPatrick Mooney vmm_reservoir.o \ 767c8c0b82SPatrick Mooney vmm_sol_glue.o \ 777c8c0b82SPatrick Mooney vmm_sol_ept.o \ 787c8c0b82SPatrick Mooney vmm_sol_rvi.o \ 797c8c0b82SPatrick Mooney vmm_support.o \ 807c8c0b82SPatrick Mooney vmm_vm.o \ 817c8c0b82SPatrick Mooney vmm_zsd.o 82