/freebsd-10-stable/sys/amd64/vmm/ |
H A D | vmm_mem.h | 36 struct vm_object *vmm_mmio_alloc(struct vmspace *, vm_paddr_t gpa, size_t len, 38 void vmm_mmio_free(struct vmspace *, vm_paddr_t gpa, size_t size);
|
H A D | vmm_mem.c | 59 vmm_mmio_alloc(struct vmspace *vmspace, vm_paddr_t gpa, size_t len, argument 86 error = vm_map_find(&vmspace->vm_map, obj, 0, &gpa, len, 0, 111 vmm_mmio_free(struct vmspace *vmspace, vm_paddr_t gpa, size_t len) argument 114 vm_map_remove(&vmspace->vm_map, gpa, gpa + len);
|
H A D | vmm_lapic.h | 40 int lapic_mmio_read(void *vm, int cpu, uint64_t gpa, 42 int lapic_mmio_write(void *vm, int cpu, uint64_t gpa,
|
H A D | vmm_instruction_emul.c | 403 emulate_mov(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, argument 424 error = memwrite(vm, vcpuid, gpa, byte, size, arg); 437 error = memwrite(vm, vcpuid, gpa, val, size, arg); 447 error = memread(vm, vcpuid, gpa, &val, size, arg); 458 error = memread(vm, vcpuid, gpa, &val, size, arg); 471 error = memread(vm, vcpuid, gpa, &val, size, arg); 487 error = memwrite(vm, vcpuid, gpa, val, size, arg); 497 error = memwrite(vm, vcpuid, gpa, vie->immediate, size, arg); 507 error = memwrite(vm, vcpuid, gpa, val, size, arg); 517 emulate_movx(void *vm, int vcpuid, uint64_t gpa, struc argument 659 emulate_movs(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument 841 emulate_stos(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument 903 emulate_and(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument 991 emulate_or(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument 1053 emulate_cmp(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument 1145 emulate_sub(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument 1345 emulate_group1(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) argument 1373 emulate_bittest(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) argument 1415 vmm_emulate_instruction(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) argument 1690 vm_gla2gpa(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *guest_fault) argument [all...] |
H A D | vmm.c | 130 vm_paddr_t gpa; member in struct:mem_map 539 vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa) argument 543 if ((obj = vmm_mmio_alloc(vm->vmspace, gpa, len, hpa)) == NULL) 550 vm_unmap_mmio(struct vm *vm, vm_paddr_t gpa, size_t len) argument 553 vmm_mmio_free(vm->vmspace, gpa, len); 558 * Return 'true' if 'gpa' is allocated in the guest address space. 564 vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa) argument 578 if (mm->len != 0 && gpa >= mm->gpa && gpa < m 653 vm_mmap_memseg(struct vm *vm, vm_paddr_t gpa, int segid, vm_ooffset_t first, size_t len, int prot, int flags) argument 719 vm_mmap_getnext(struct vm *vm, vm_paddr_t *gpa, int *segid, vm_ooffset_t *segoff, size_t *len, int *prot, int *flags) argument 800 vm_paddr_t gpa, hpa; local 900 vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, size_t len, int reqprot, void **cookie) argument 1377 uint64_t gla, gpa, cs_base; local 2494 uint64_t gpa; local [all...] |
H A D | vmm_lapic.c | 205 lapic_mmio_write(void *vm, int cpu, uint64_t gpa, uint64_t wval, int size, argument 212 off = gpa - DEFAULT_APIC_BASE; 227 lapic_mmio_read(void *vm, int cpu, uint64_t gpa, uint64_t *rval, int size, argument 234 off = gpa - DEFAULT_APIC_BASE;
|
H A D | vmm_dev.c | 174 vm_paddr_t gpa; local 191 gpa = uio->uio_offset; 192 off = gpa & PAGE_MASK; 203 hpa = vm_gpa_hold(sc->vm, VM_MAXCPU - 1, gpa, c, prot, &cookie); 433 pptmmio->func, pptmmio->gpa, pptmmio->len, 511 error = vm_mmap_getnext(sc->vm, &mm->gpa, &mm->segid, 516 error = vm_mmap_memseg(sc->vm, mm->gpa, mm->segid, mm->segoff, 572 gpapte->gpa, gpapte->pte, &gpapte->ptenum); 584 gg->prot, &gg->gpa, &gg->fault); 664 vm_paddr_t gpa; local [all...] |
/freebsd-10-stable/sys/amd64/vmm/io/ |
H A D | vhpet.h | 38 int vhpet_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t val, 40 int vhpet_mmio_read(void *vm, int vcpuid, uint64_t gpa, uint64_t *val,
|
H A D | vioapic.h | 43 int vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, 45 int vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa,
|
H A D | iommu.h | 38 typedef uint64_t (*iommu_create_mapping_t)(void *domain, vm_paddr_t gpa, 40 typedef uint64_t (*iommu_remove_mapping_t)(void *domain, vm_paddr_t gpa, 68 void iommu_create_mapping(void *dom, vm_paddr_t gpa, vm_paddr_t hpa, 70 void iommu_remove_mapping(void *dom, vm_paddr_t gpa, size_t len);
|
H A D | ppt.h | 34 vm_paddr_t gpa, size_t len, vm_paddr_t hpa); 40 boolean_t ppt_is_mmio(struct vm *vm, vm_paddr_t gpa);
|
H A D | iommu.c | 97 IOMMU_CREATE_MAPPING(void *domain, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len) argument 101 return ((*ops->create_mapping)(domain, gpa, hpa, len)); 107 IOMMU_REMOVE_MAPPING(void *domain, vm_paddr_t gpa, uint64_t len) argument 111 return ((*ops->remove_mapping)(domain, gpa, len)); 257 iommu_create_mapping(void *dom, vm_paddr_t gpa, vm_paddr_t hpa, size_t len) argument 264 mapped = IOMMU_CREATE_MAPPING(dom, gpa, hpa, remaining); 265 gpa += mapped; 272 iommu_remove_mapping(void *dom, vm_paddr_t gpa, size_t len) argument 279 unmapped = IOMMU_REMOVE_MAPPING(dom, gpa, remaining); 280 gpa [all...] |
H A D | ppt.c | 80 vm_paddr_t gpa; member in struct:pptseg 225 (void)vm_unmap_mmio(vm, seg->gpa, seg->len); 332 ppt_is_mmio(struct vm *vm, vm_paddr_t gpa) argument 346 if (gpa >= seg->gpa && gpa < seg->gpa + seg->len) 430 vm_paddr_t gpa, size_t len, vm_paddr_t hpa) 444 error = vm_map_mmio(vm, gpa, len, hpa); 446 seg->gpa 429 ppt_map_mmio(struct vm *vm, int bus, int slot, int func, vm_paddr_t gpa, size_t len, vm_paddr_t hpa) argument [all...] |
H A D | vioapic.c | 376 vioapic_mmio_rw(struct vioapic *vioapic, int vcpuid, uint64_t gpa, argument 381 offset = gpa - VIOAPIC_BASE; 414 vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, uint64_t *rval, argument 421 error = vioapic_mmio_rw(vioapic, vcpuid, gpa, rval, size, true); 426 vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t wval, argument 433 error = vioapic_mmio_rw(vioapic, vcpuid, gpa, &wval, size, false);
|
/freebsd-10-stable/sys/amd64/include/ |
H A D | vmm_instruction_emul.h | 37 typedef int (*mem_region_read_t)(void *vm, int cpuid, uint64_t gpa, 40 typedef int (*mem_region_write_t)(void *vm, int cpuid, uint64_t gpa, 47 * containing 'gpa'. 'mrarg' is an opaque argument that is passed into the 54 int vmm_emulate_instruction(void *vm, int cpuid, uint64_t gpa, struct vie *vie, 91 * 0 0 'gpa' contains result of the translation 96 uint64_t gla, int prot, uint64_t *gpa, int *is_fault);
|
H A D | vmm_dev.h | 38 vm_paddr_t gpa; member in struct:vm_memmap 121 vm_paddr_t gpa; member in struct:vm_pptdev_mmio 170 uint64_t gpa; /* in */ member in struct:vm_gpa_pte 189 uint64_t gpa; member in struct:vm_gla2gpa
|
H A D | vmm.h | 181 int vm_mmap_memseg(struct vm *vm, vm_paddr_t gpa, int segid, vm_ooffset_t off, 185 int vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); 186 int vm_unmap_mmio(struct vm *vm, vm_paddr_t gpa, size_t len); 195 int vm_mmap_getnext(struct vm *vm, vm_paddr_t *gpa, int *segid, 199 void *vm_gpa_hold(struct vm *, int vcpuid, vm_paddr_t gpa, size_t len, 202 bool vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa); 369 uint64_t gpa; member in struct:vm_copyinfo 584 uint64_t gpa; member in struct:vm_exit::__anon3::__anon4 588 uint64_t gpa; member in struct:vm_exit::__anon3::__anon5
|
/freebsd-10-stable/sys/amd64/vmm/amd/ |
H A D | amdv.c | 84 amd_iommu_create_mapping(void *domain, vm_paddr_t gpa, vm_paddr_t hpa, argument 93 amd_iommu_remove_mapping(void *domain, vm_paddr_t gpa, uint64_t len) argument
|
/freebsd-10-stable/usr.sbin/bhyve/ |
H A D | bootrom.c | 53 vm_paddr_t gpa; local 93 gpa = (1ULL << 32) - sbuf.st_size; 94 if (vm_mmap_memseg(ctx, gpa, VM_BOOTROM, 0, sbuf.st_size, prot) != 0)
|
H A D | mem.c | 138 mem_read(void *ctx, int vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) argument 143 error = (*mr->handler)(ctx, vcpu, MEM_F_READ, gpa, size, 149 mem_write(void *ctx, int vcpu, uint64_t gpa, uint64_t wval, int size, void *arg) argument 154 error = (*mr->handler)(ctx, vcpu, MEM_F_WRITE, gpa, size,
|
/freebsd-10-stable/sys/dev/hyperv/netvsc/ |
H A D | hn_nvs.h | 81 struct hn_nvs_sendctx *sndc, struct vmbus_gpa *gpa, int gpa_cnt) 90 return (hn_nvs_send_sglist(chan, gpa, gpa_cnt, 101 struct hn_nvs_sendctx *sndc, struct vmbus_gpa *gpa, 80 hn_nvs_send_rndis_sglist(struct vmbus_channel *chan, uint32_t rndis_mtype, struct hn_nvs_sendctx *sndc, struct vmbus_gpa *gpa, int gpa_cnt) argument
|
/freebsd-10-stable/sys/amd64/vmm/intel/ |
H A D | vtd.c | 440 vtd_update_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len, argument 451 KASSERT(gpa + len > gpa, ("%s: invalid gpa range %#lx/%#lx", __func__, 452 gpa, len)); 453 KASSERT(gpa + len <= dom->maxaddr, ("%s: gpa range %#lx/%#lx beyond " 454 "domain maxaddr %#lx", __func__, gpa, len, dom->maxaddr)); 456 if (gpa & PAGE_MASK) 457 panic("vtd_create_mapping: unaligned gpa 529 vtd_create_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len) argument 536 vtd_remove_mapping(void *arg, vm_paddr_t gpa, uint64_t len) argument [all...] |
/freebsd-10-stable/lib/libvmmapi/ |
H A D | vmmapi.c | 197 * Map segment 'segid' starting at 'off' into guest address range [gpa,gpa+len). 200 vm_mmap_memseg(struct vmctx *ctx, vm_paddr_t gpa, int segid, vm_ooffset_t off, argument 206 memmap.gpa = gpa; 220 error = vm_mmap_getnext(ctx, &gpa, &segid, &off, &len, &prot, &flags); 221 if (error == 0 && gpa == memmap.gpa) { 236 vm_mmap_getnext(struct vmctx *ctx, vm_paddr_t *gpa, int *segid, argument 243 memmap.gpa 336 setup_memory_segment(struct vmctx *ctx, vm_paddr_t gpa, size_t len, char *base) argument 362 vm_paddr_t gpa; local 875 vm_map_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func, vm_paddr_t gpa, size_t len, vm_paddr_t hpa) argument 1148 vm_get_gpa_pmap(struct vmctx *ctx, uint64_t gpa, uint64_t *pte, int *num) argument 1181 vm_gla2gpa(struct vmctx *ctx, int vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *fault) argument 1211 uint64_t gpa; local [all...] |
H A D | vmmapi.h | 83 * that starts at an address >= *gpa. 87 int vm_mmap_getnext(struct vmctx *ctx, vm_paddr_t *gpa, int *segid, 99 * at [gpa,gpa+len) with protection 'prot'. 101 int vm_mmap_memseg(struct vmctx *ctx, vm_paddr_t gpa, int segid, 110 int vm_get_gpa_pmap(struct vmctx *, uint64_t gpa, uint64_t *pte, int *num); 112 uint64_t gla, int prot, uint64_t *gpa, int *fault); 155 vm_paddr_t gpa, size_t len, vm_paddr_t hpa);
|
/freebsd-10-stable/sys/gnu/dts/arm/ |
H A D | s3c2416-pinctrl.dtsi | 16 gpa: gpa {
|