| /NextBSD/sys/amd64/include/ |
| HD | vmm.h | 109 struct vm; 131 typedef void * (*vmi_init_func_t)(struct vm *vm, struct pmap *pmap); 173 int vm_create(const char *name, struct vm **retvm); 174 void vm_destroy(struct vm *vm); 175 int vm_reinit(struct vm *vm); 176 const char *vm_name(struct vm *vm); 181 int vm_mmap_memseg(struct vm *vm, vm_paddr_t gpa, int segid, vm_ooffset_t off, 183 int vm_alloc_memseg(struct vm *vm, int ident, size_t len, bool sysmem); 184 void vm_free_memseg(struct vm *vm, int ident); 185 int vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); [all …]
|
| /NextBSD/sys/kern/ |
| HD | subr_vmem.c | 188 #define VMEM_CONDVAR_INIT(vm, wchan) cv_init(&vm->vm_cv, wchan) argument 189 #define VMEM_CONDVAR_DESTROY(vm) cv_destroy(&vm->vm_cv) argument 190 #define VMEM_CONDVAR_WAIT(vm) cv_wait(&vm->vm_cv, &vm->vm_lock) argument 191 #define VMEM_CONDVAR_BROADCAST(vm) cv_broadcast(&vm->vm_cv) argument 194 #define VMEM_LOCK(vm) mtx_lock(&vm->vm_lock) argument 195 #define VMEM_TRYLOCK(vm) mtx_trylock(&vm->vm_lock) argument 196 #define VMEM_UNLOCK(vm) mtx_unlock(&vm->vm_lock) argument 197 #define VMEM_LOCK_INIT(vm, name) mtx_init(&vm->vm_lock, (name), NULL, MTX_DEF) argument 198 #define VMEM_LOCK_DESTROY(vm) mtx_destroy(&vm->vm_lock) argument 199 #define VMEM_ASSERT_LOCKED(vm) mtx_assert(&vm->vm_lock, MA_OWNED); argument [all …]
|
| /NextBSD/sys/amd64/vmm/ |
| HD | vmm.c | 144 struct vm { struct 176 #define VMINIT(vm, pmap) (ops != NULL ? (*ops->vminit)(vm, pmap): NULL) argument 234 static void vm_free_memmap(struct vm *vm, int ident); 235 static bool sysmem_mapping(struct vm *vm, struct mem_map *mm); 259 vcpu_cleanup(struct vm *vm, int i, bool destroy) in vcpu_cleanup() argument 261 struct vcpu *vcpu = &vm->vcpu[i]; in vcpu_cleanup() 263 VLAPIC_CLEANUP(vm->cookie, vcpu->vlapic); in vcpu_cleanup() 271 vcpu_init(struct vm *vm, int vcpu_id, bool create) in vcpu_init() argument 278 vcpu = &vm->vcpu[vcpu_id]; in vcpu_init() 290 vcpu->vlapic = VLAPIC_INIT(vm->cookie, vcpu_id); in vcpu_init() [all …]
|
| HD | vmm_lapic.h | 32 struct vm; 35 int lapic_rdmsr(struct vm *vm, int cpu, u_int msr, uint64_t *rval, 37 int lapic_wrmsr(struct vm *vm, int cpu, u_int msr, uint64_t wval, 40 int lapic_mmio_read(void *vm, int cpu, uint64_t gpa, 42 int lapic_mmio_write(void *vm, int cpu, uint64_t gpa, 49 int lapic_set_intr(struct vm *vm, int cpu, int vector, bool trig); 54 lapic_intr_level(struct vm *vm, int cpu, int vector) in lapic_intr_level() argument 57 return (lapic_set_intr(vm, cpu, vector, LAPIC_TRIG_LEVEL)); in lapic_intr_level() 61 lapic_intr_edge(struct vm *vm, int cpu, int vector) in lapic_intr_edge() argument 64 return (lapic_set_intr(vm, cpu, vector, LAPIC_TRIG_EDGE)); in lapic_intr_edge() [all …]
|
| HD | vmm_ktr.h | 39 #define VCPU_CTR0(vm, vcpuid, format) \ argument 40 CTR2(KTR_VMM, "vm %s[%d]: " format, vm_name((vm)), (vcpuid)) 42 #define VCPU_CTR1(vm, vcpuid, format, p1) \ argument 43 CTR3(KTR_VMM, "vm %s[%d]: " format, vm_name((vm)), (vcpuid), (p1)) 45 #define VCPU_CTR2(vm, vcpuid, format, p1, p2) \ argument 46 CTR4(KTR_VMM, "vm %s[%d]: " format, vm_name((vm)), (vcpuid), (p1), (p2)) 48 #define VCPU_CTR3(vm, vcpuid, format, p1, p2, p3) \ argument 49 CTR5(KTR_VMM, "vm %s[%d]: " format, vm_name((vm)), (vcpuid), (p1), (p2), (p3)) 51 #define VCPU_CTR4(vm, vcpuid, format, p1, p2, p3, p4) \ argument 52 CTR6(KTR_VMM, "vm %s[%d]: " format, vm_name((vm)), (vcpuid), \ [all …]
|
| HD | vmm_instruction_emul.c | 254 vie_read_register(void *vm, int vcpuid, enum vm_reg_name reg, uint64_t *rval) in vie_read_register() argument 258 error = vm_get_register(vm, vcpuid, reg, rval); in vie_read_register() 290 vie_read_bytereg(void *vm, int vcpuid, struct vie *vie, uint8_t *rval) in vie_read_bytereg() argument 297 error = vm_get_register(vm, vcpuid, reg, &val); in vie_read_bytereg() 311 vie_write_bytereg(void *vm, int vcpuid, struct vie *vie, uint8_t byte) in vie_write_bytereg() argument 318 error = vm_get_register(vm, vcpuid, reg, &origval); in vie_write_bytereg() 331 error = vm_set_register(vm, vcpuid, reg, val); in vie_write_bytereg() 337 vie_update_register(void *vm, int vcpuid, enum vm_reg_name reg, in vie_update_register() argument 346 error = vie_read_register(vm, vcpuid, reg, &origval); in vie_update_register() 361 error = vm_set_register(vm, vcpuid, reg, val); in vie_update_register() [all …]
|
| HD | vmm_lapic.c | 53 lapic_set_intr(struct vm *vm, int cpu, int vector, bool level) in lapic_set_intr() argument 67 vlapic = vm_lapic(vm, cpu); in lapic_set_intr() 69 vcpu_notify_event(vm, cpu, true); in lapic_set_intr() 74 lapic_set_local_intr(struct vm *vm, int cpu, int vector) in lapic_set_local_intr() argument 84 dmask = vm_active_cpus(vm); in lapic_set_local_intr() 91 vlapic = vm_lapic(vm, cpu); in lapic_set_local_intr() 101 lapic_intr_msi(struct vm *vm, uint64_t addr, uint64_t msg) in lapic_intr_msi() argument 107 VM_CTR2(vm, "lapic MSI addr: %#lx msg: %#lx", addr, msg); in lapic_intr_msi() 110 VM_CTR1(vm, "lapic MSI invalid addr %#lx", addr); in lapic_intr_msi() 131 VM_CTR3(vm, "lapic MSI %s dest %#x, vec %d", in lapic_intr_msi() [all …]
|
| HD | vmm_dev.c | 73 struct vm *vm; /* vm instance cookie */ member 100 error = vcpu_set_state(sc->vm, vcpu, VCPU_FROZEN, true); in vcpu_lock_one() 109 state = vcpu_get_state(sc->vm, vcpu, NULL); in vcpu_unlock_one() 111 panic("vcpu %s(%d) has invalid state %d", vm_name(sc->vm), in vcpu_unlock_one() 115 vcpu_set_state(sc->vm, vcpu, VCPU_IDLE, false); in vcpu_unlock_one() 156 if (strcmp(name, vm_name(sc->vm)) == 0) in vmmdev_lookup() 203 hpa = vm_gpa_hold(sc->vm, VM_MAXCPU - 1, gpa, c, prot, &cookie); in vmmdev_rw() 228 error = vm_get_memseg(sc->vm, mseg->segid, &mseg->len, &sysmem, NULL); in get_memseg() 266 error = vm_alloc_memseg(sc->vm, mseg->segid, mseg->len, sysmem); in alloc_memseg() 271 error = devmem_create_cdev(vm_name(sc->vm), mseg->segid, name); in alloc_memseg() [all …]
|
| HD | vmm_stat.h | 35 struct vm; 46 typedef void (*vmm_stat_func_t)(struct vm *vm, int vcpu, 91 int vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf); 95 vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, in vmm_stat_array_incr() argument 101 stats = vcpu_stats(vm, vcpu); in vmm_stat_array_incr() 109 vmm_stat_array_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, in vmm_stat_array_set() argument 115 stats = vcpu_stats(vm, vcpu); in vmm_stat_array_set() 123 vmm_stat_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t x) in vmm_stat_incr() argument 127 vmm_stat_array_incr(vm, vcpu, vst, 0, x); in vmm_stat_incr() 132 vmm_stat_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t val) in vmm_stat_set() argument [all …]
|
| /NextBSD/lib/libkvm/ |
| HD | kvm_powerpc.c | 95 struct vmstate *vm; in powerpc_maphdrs() local 98 vm = kd->vmst; in powerpc_maphdrs() 100 vm->mapsz = sizeof(*vm->eh) + sizeof(struct kerneldumpheader); in powerpc_maphdrs() 101 vm->map = mmap(NULL, vm->mapsz, PROT_READ, MAP_PRIVATE, kd->pmfd, 0); in powerpc_maphdrs() 102 if (vm->map == MAP_FAILED) { in powerpc_maphdrs() 106 vm->dmphdrsz = 0; in powerpc_maphdrs() 107 vm->eh = vm->map; in powerpc_maphdrs() 108 if (!valid_elf_header(vm->eh)) { in powerpc_maphdrs() 115 vm->dmphdrsz = dump_header_size(vm->map); in powerpc_maphdrs() 116 if (vm->dmphdrsz == 0) in powerpc_maphdrs() [all …]
|
| HD | kvm_powerpc64.c | 95 struct vmstate *vm; in powerpc_maphdrs() local 98 vm = kd->vmst; in powerpc_maphdrs() 100 vm->mapsz = sizeof(*vm->eh) + sizeof(struct kerneldumpheader); in powerpc_maphdrs() 101 vm->map = mmap(NULL, vm->mapsz, PROT_READ, MAP_PRIVATE, kd->pmfd, 0); in powerpc_maphdrs() 102 if (vm->map == MAP_FAILED) { in powerpc_maphdrs() 106 vm->dmphdrsz = 0; in powerpc_maphdrs() 107 vm->eh = vm->map; in powerpc_maphdrs() 108 if (!valid_elf_header(vm->eh)) { in powerpc_maphdrs() 115 vm->dmphdrsz = dump_header_size(vm->map); in powerpc_maphdrs() 116 if (vm->dmphdrsz == 0) in powerpc_maphdrs() [all …]
|
| HD | kvm_minidump_amd64.c | 67 struct vmstate *vm = kd->vmst; in _amd64_minidump_freevtop() local 69 _kvm_hpt_free(&vm->hpt); in _amd64_minidump_freevtop() 70 if (vm->page_map) in _amd64_minidump_freevtop() 71 free(vm->page_map); in _amd64_minidump_freevtop() 72 free(vm); in _amd64_minidump_freevtop() 157 struct vmstate *vm; in _amd64_minidump_vatop_v1() local 164 vm = kd->vmst; in _amd64_minidump_vatop_v1() 167 if (va >= vm->hdr.kernbase) { in _amd64_minidump_vatop_v1() 168 pteindex = (va - vm->hdr.kernbase) >> AMD64_PAGE_SHIFT; in _amd64_minidump_vatop_v1() 169 if (pteindex >= vm->hdr.pmapsize / sizeof(*vm->page_map)) in _amd64_minidump_vatop_v1() [all …]
|
| HD | kvm_arm.c | 68 struct vmstate *vm = kd->vmst; in _kvm_pa2off() local 72 p = vm->phdr; in _kvm_pa2off() 73 n = vm->phnum; in _kvm_pa2off() 88 struct vmstate *vm = kd->vmst; in _arm_freevtop() local 90 free(vm->phdr); in _arm_freevtop() 91 free(vm); in _arm_freevtop() 106 struct vmstate *vm; in _arm_initvtop() local 119 vm = _kvm_malloc(kd, sizeof(*vm)); in _arm_initvtop() 120 if (vm == 0) { in _arm_initvtop() 124 kd->vmst = vm; in _arm_initvtop() [all …]
|
| HD | kvm_sparc64.c | 114 _sparc64_find_off(struct vmstate *vm, uint64_t pa, uint64_t size) in _sparc64_find_off() argument 120 reg = bsearch(&key, vm->vm_regions, vm->vm_nregions, in _sparc64_find_off() 121 sizeof(*vm->vm_regions), _sparc64_reg_cmp); in _sparc64_find_off() 135 struct vmstate *vm; in _sparc64_initvtop() local 140 vm = (struct vmstate *)_kvm_malloc(kd, sizeof(*vm)); in _sparc64_initvtop() 141 if (vm == NULL) { in _sparc64_initvtop() 145 kd->vmst = vm; in _sparc64_initvtop() 171 vm->vm_tsb_mask = hdr.dh_tsb_mask; in _sparc64_initvtop() 172 vm->vm_regions = regs; in _sparc64_initvtop() 173 vm->vm_nregions = hdr.dh_nregions; in _sparc64_initvtop() [all …]
|
| /NextBSD/sys/dev/drm2/radeon/ |
| HD | radeon_gart.c | 465 struct radeon_vm *vm; in radeon_vm_manager_init() local 496 list_for_each_entry(vm, &rdev->vm_manager.lru_vm, list) { in radeon_vm_manager_init() 497 if (vm->page_directory == NULL) in radeon_vm_manager_init() 500 list_for_each_entry(bo_va, &vm->va, vm_list) { in radeon_vm_manager_init() 518 struct radeon_vm *vm) in radeon_vm_free_pt() argument 523 if (!vm->page_directory) in radeon_vm_free_pt() 526 list_del_init(&vm->list); in radeon_vm_free_pt() 527 radeon_sa_bo_free(rdev, &vm->page_directory, vm->fence); in radeon_vm_free_pt() 529 list_for_each_entry(bo_va, &vm->va, vm_list) { in radeon_vm_free_pt() 533 if (vm->page_tables == NULL) in radeon_vm_free_pt() [all …]
|
| /NextBSD/sys/amd64/vmm/io/ |
| HD | vatpic.h | 39 struct vatpic *vatpic_init(struct vm *vm); 42 int vatpic_master_handler(struct vm *vm, int vcpuid, bool in, int port, 44 int vatpic_slave_handler(struct vm *vm, int vcpuid, bool in, int port, 46 int vatpic_elc_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, 49 int vatpic_assert_irq(struct vm *vm, int irq); 50 int vatpic_deassert_irq(struct vm *vm, int irq); 51 int vatpic_pulse_irq(struct vm *vm, int irq); 52 int vatpic_set_irq_trigger(struct vm *vm, int irq, enum vm_intr_trigger trigger); 54 void vatpic_pending_intr(struct vm *vm, int *vecptr); 55 void vatpic_intr_accepted(struct vm *vm, int vector);
|
| HD | ppt.h | 32 int ppt_unassign_all(struct vm *vm); 33 int ppt_map_mmio(struct vm *vm, int bus, int slot, int func, 35 int ppt_setup_msi(struct vm *vm, int vcpu, int bus, int slot, int func, 37 int ppt_setup_msix(struct vm *vm, int vcpu, int bus, int slot, int func, 39 int ppt_assigned_devices(struct vm *vm); 40 boolean_t ppt_is_mmio(struct vm *vm, vm_paddr_t gpa); 52 int ppt_assign_device(struct vm *vm, int bus, int slot, int func); 53 int ppt_unassign_device(struct vm *vm, int bus, int slot, int func);
|
| HD | vioapic.h | 36 struct vioapic *vioapic_init(struct vm *vm); 39 int vioapic_assert_irq(struct vm *vm, int irq); 40 int vioapic_deassert_irq(struct vm *vm, int irq); 41 int vioapic_pulse_irq(struct vm *vm, int irq); 43 int vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, 45 int vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, 48 int vioapic_pincount(struct vm *vm); 49 void vioapic_process_eoi(struct vm *vm, int vcpuid, int vector);
|
| HD | vrtc.h | 36 struct vrtc *vrtc_init(struct vm *vm); 40 time_t vrtc_get_time(struct vm *vm); 41 int vrtc_set_time(struct vm *vm, time_t secs); 42 int vrtc_nvram_write(struct vm *vm, int offset, uint8_t value); 43 int vrtc_nvram_read(struct vm *vm, int offset, uint8_t *retval); 45 int vrtc_addr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, 47 int vrtc_data_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes,
|
| HD | vioapic.c | 56 struct vm *vm; member 73 VM_CTR1((vioapic)->vm, fmt, a1) 76 VM_CTR2((vioapic)->vm, fmt, a1, a2) 79 VM_CTR3((vioapic)->vm, fmt, a1, a2, a3) 82 VM_CTR4((vioapic)->vm, fmt, a1, a2, a3, a4) 125 vlapic_deliver_intr(vioapic->vm, level, dest, phys, delmode, vector); in vioapic_send_intr() 174 vioapic_set_irqstate(struct vm *vm, int irq, enum irqstate irqstate) in vioapic_set_irqstate() argument 181 vioapic = vm_ioapic(vm); in vioapic_set_irqstate() 204 vioapic_assert_irq(struct vm *vm, int irq) in vioapic_assert_irq() argument 207 return (vioapic_set_irqstate(vm, irq, IRQSTATE_ASSERT)); in vioapic_assert_irq() [all …]
|
| HD | ppt.c | 87 struct vm *vm; /* owner of this device */ member 174 if (ppt->vm != NULL) in ppt_detach() 213 ppt_unmap_mmio(struct vm *vm, struct pptdev *ppt) in ppt_unmap_mmio() argument 222 (void)vm_unmap_mmio(vm, seg->gpa, seg->len); in ppt_unmap_mmio() 315 ppt_assigned_devices(struct vm *vm) in ppt_assigned_devices() argument 322 if (ppt->vm == vm) in ppt_assigned_devices() 329 ppt_is_mmio(struct vm *vm, vm_paddr_t gpa) in ppt_is_mmio() argument 336 if (ppt->vm != vm) in ppt_is_mmio() 352 ppt_assign_device(struct vm *vm, int bus, int slot, int func) in ppt_assign_device() argument 362 if (ppt->vm != NULL && ppt->vm != vm) in ppt_assign_device() [all …]
|
| HD | vrtc.c | 73 struct vm *vm; member 282 struct vm *vm; in rtc_to_secs() local 287 vm = vrtc->vm; in rtc_to_secs() 294 VM_CTR2(vm, "Invalid RTC sec %#x/%d", rtc->sec, ct.sec); in rtc_to_secs() 300 VM_CTR2(vm, "Invalid RTC min %#x/%d", rtc->min, ct.min); in rtc_to_secs() 330 VM_CTR2(vm, "Invalid RTC 12-hour format %#x/%d", in rtc_to_secs() 337 VM_CTR2(vm, "Invalid RTC hour %#x/%d", rtc->hour, ct.hour); in rtc_to_secs() 351 VM_CTR2(vm, "Invalid RTC mday %#x/%d", rtc->day_of_month, in rtc_to_secs() 358 VM_CTR2(vm, "Invalid RTC month %#x/%d", rtc->month, ct.mon); in rtc_to_secs() 364 VM_CTR2(vm, "Invalid RTC year %#x/%d", rtc->year, year); in rtc_to_secs() [all …]
|
| HD | vatpic.c | 84 struct vm *vm; member 91 VM_CTR0((vatpic)->vm, fmt) 94 VM_CTR1((vatpic)->vm, fmt, a1) 97 VM_CTR2((vatpic)->vm, fmt, a1, a2) 100 VM_CTR3((vatpic)->vm, fmt, a1, a2, a3) 103 VM_CTR4((vatpic)->vm, fmt, a1, a2, a3, a4) 260 lapic_set_local_intr(vatpic->vm, -1, APIC_LVT_LINT0); in vatpic_notify_intr() 261 vioapic_pulse_irq(vatpic->vm, 0); in vatpic_notify_intr() 459 vatpic_set_irqstate(struct vm *vm, int irq, enum irqstate irqstate) in vatpic_set_irqstate() argument 467 vatpic = vm_atpic(vm); in vatpic_set_irqstate() [all …]
|
| /NextBSD/sys/amd64/vmm/amd/ |
| HD | svm.c | 389 VCPU_CTR3(sc->vm, vcpu, "intercept[%d] modified " in svm_set_intercept() 444 if (vcpu_trace_exceptions(sc->vm, vcpu)) { in vmcb_init() 514 svm_vminit(struct vm *vm, pmap_t pmap) in svm_vminit() argument 522 svm_sc->vm = vm; in svm_vminit() 906 VCPU_CTR3(sc->vm, vcpu, "Injecting %s at vector %d errcode %#x", in svm_eventinject() 909 VCPU_CTR2(sc->vm, vcpu, "Injecting %s at vector %d", in svm_eventinject() 917 struct vm *vm; in svm_update_virqinfo() local 922 vm = sc->vm; in svm_update_virqinfo() 923 vlapic = vm_lapic(vm, vcpu); in svm_update_virqinfo() 938 VCPU_CTR2(vm, vcpu, "v_intr_vector %d %s", ctrl->v_intr_vector, in svm_update_virqinfo() [all …]
|
| /NextBSD/sys/amd64/vmm/intel/ |
| HD | vmx.c | 815 vmx_vminit(struct vm *vm, pmap_t pmap) in vmx_vminit() argument 828 vmx->vm = vm; in vmx_vminit() 877 error = vm_map_mmio(vm, DEFAULT_APIC_BASE, PAGE_SIZE, in vmx_vminit() 910 if (vcpu_trace_exceptions(vm, i)) in vmx_vminit() 962 vmx_handle_cpuid(struct vm *vm, int vcpu, struct vmxctx *vmxctx) in vmx_handle_cpuid() argument 968 handled = x86_emulate_cpuid(vm, vcpu, in vmx_handle_cpuid() 980 VCPU_CTR1(vmx->vm, vcpu, "Resume execution at %#lx", vmcs_guest_rip()); in vmx_run_trace() 989 VCPU_CTR3(vmx->vm, vcpu, "%s %s vmexit at 0x%0lx", in vmx_exit_trace() 999 VCPU_CTR1(vmx->vm, vcpu, "astpending vmexit at 0x%0lx", rip); in vmx_astpending_trace() 1054 vmm_stat_incr(vmx->vm, vcpu, VCPU_INVVPID_DONE, 1); in vmx_invvpid() [all …]
|