Lines Matching +refs:get +refs:addr +refs:attrs
2413 unsigned long mask, unsigned long attrs) in kvm_range_has_memory_attributes() argument
2420 if (attrs & ~mask) in kvm_range_has_memory_attributes()
2424 return (kvm_get_memory_attributes(kvm, start) & mask) == attrs; in kvm_range_has_memory_attributes()
2427 if (!attrs) in kvm_range_has_memory_attributes()
2436 (xa_to_value(entry) & mask) != attrs) in kvm_range_has_memory_attributes()
2564 struct kvm_memory_attributes *attrs) in kvm_vm_ioctl_set_mem_attributes() argument
2569 if (attrs->flags) in kvm_vm_ioctl_set_mem_attributes()
2571 if (attrs->attributes & ~kvm_supported_mem_attributes(kvm)) in kvm_vm_ioctl_set_mem_attributes()
2573 if (attrs->size == 0 || attrs->address + attrs->size < attrs->address) in kvm_vm_ioctl_set_mem_attributes()
2575 if (!PAGE_ALIGNED(attrs->address) || !PAGE_ALIGNED(attrs->size)) in kvm_vm_ioctl_set_mem_attributes()
2578 start = attrs->address >> PAGE_SHIFT; in kvm_vm_ioctl_set_mem_attributes()
2579 end = (attrs->address + attrs->size) >> PAGE_SHIFT; in kvm_vm_ioctl_set_mem_attributes()
2586 BUILD_BUG_ON(sizeof(attrs->attributes) != sizeof(unsigned long)); in kvm_vm_ioctl_set_mem_attributes()
2588 return kvm_vm_set_mem_attributes(kvm, start, end, attrs->attributes); in kvm_vm_ioctl_set_mem_attributes()
2650 unsigned long addr, size; in kvm_host_page_size() local
2654 addr = kvm_vcpu_gfn_to_hva_prot(vcpu, gfn, NULL); in kvm_host_page_size()
2655 if (kvm_is_error_hva(addr)) in kvm_host_page_size()
2659 vma = find_vma(current->mm, addr); in kvm_host_page_size()
2749 static inline int check_user_page_hwpoison(unsigned long addr) in check_user_page_hwpoison() argument
2753 rc = get_user_pages(addr, 1, flags, NULL); in check_user_page_hwpoison()
2762 static bool hva_to_pfn_fast(unsigned long addr, bool write_fault, in hva_to_pfn_fast() argument
2775 if (get_user_page_fast_only(addr, FOLL_WRITE, page)) { in hva_to_pfn_fast()
2790 static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault, in hva_to_pfn_slow() argument
2820 npages = get_user_pages_unlocked(addr, 1, &page, flags); in hva_to_pfn_slow()
2828 if (get_user_page_fast_only(addr, FOLL_WRITE, &wpage)) { in hva_to_pfn_slow()
2860 unsigned long addr, bool write_fault, in hva_to_pfn_remapped() argument
2863 struct follow_pfnmap_args args = { .vma = vma, .address = addr }; in hva_to_pfn_remapped()
2874 r = fixup_user_fault(current->mm, addr, in hva_to_pfn_remapped()
2937 kvm_pfn_t hva_to_pfn(unsigned long addr, bool atomic, bool interruptible, in hva_to_pfn() argument
2947 if (hva_to_pfn_fast(addr, write_fault, writable, &pfn)) in hva_to_pfn()
2953 npages = hva_to_pfn_slow(addr, async, write_fault, interruptible, in hva_to_pfn()
2962 (!async && check_user_page_hwpoison(addr))) { in hva_to_pfn()
2968 vma = vma_lookup(current->mm, addr); in hva_to_pfn()
2973 r = hva_to_pfn_remapped(vma, addr, write_fault, writable, &pfn); in hva_to_pfn()
2992 unsigned long addr = __gfn_to_hva_many(slot, gfn, NULL, write_fault); in __gfn_to_pfn_memslot() local
2995 *hva = addr; in __gfn_to_pfn_memslot()
2997 if (kvm_is_error_hva(addr)) { in __gfn_to_pfn_memslot()
3001 return addr == KVM_HVA_ERR_RO_BAD ? KVM_PFN_ERR_RO_FAULT : in __gfn_to_pfn_memslot()
3011 return hva_to_pfn(addr, atomic, interruptible, async, write_fault, in __gfn_to_pfn_memslot()
3047 unsigned long addr; in gfn_to_page_many_atomic() local
3050 addr = gfn_to_hva_many(slot, gfn, &entry); in gfn_to_page_many_atomic()
3051 if (kvm_is_error_hva(addr)) in gfn_to_page_many_atomic()
3057 return get_user_pages_fast_only(addr, nr_pages, FOLL_WRITE, pages); in gfn_to_page_many_atomic()
3259 unsigned long addr; in __kvm_read_guest_page() local
3264 addr = gfn_to_hva_memslot_prot(slot, gfn, NULL); in __kvm_read_guest_page()
3265 if (kvm_is_error_hva(addr)) in __kvm_read_guest_page()
3267 r = __copy_from_user(data, (void __user *)addr + offset, len); in __kvm_read_guest_page()
3335 unsigned long addr; in __kvm_read_guest_atomic() local
3340 addr = gfn_to_hva_memslot_prot(slot, gfn, NULL); in __kvm_read_guest_atomic()
3341 if (kvm_is_error_hva(addr)) in __kvm_read_guest_atomic()
3344 r = __copy_from_user_inatomic(data, (void __user *)addr + offset, len); in __kvm_read_guest_atomic()
3368 unsigned long addr; in __kvm_write_guest_page() local
3373 addr = gfn_to_hva_memslot(memslot, gfn); in __kvm_write_guest_page()
3374 if (kvm_is_error_hva(addr)) in __kvm_write_guest_page()
3376 r = __copy_to_user((void __user *)addr + offset, data, len); in __kvm_write_guest_page()
5326 struct kvm_memory_attributes attrs; in kvm_vm_ioctl() local
5329 if (copy_from_user(&attrs, argp, sizeof(attrs))) in kvm_vm_ioctl()
5332 r = kvm_vm_ioctl_set_mem_attributes(kvm, &attrs); in kvm_vm_ioctl()
5790 gpa_t addr1 = r1->addr; in kvm_io_bus_cmp()
5791 gpa_t addr2 = r2->addr; in kvm_io_bus_cmp()
5818 gpa_t addr, int len) in kvm_io_bus_get_first_dev() argument
5824 .addr = addr, in kvm_io_bus_get_first_dev()
5846 idx = kvm_io_bus_get_first_dev(bus, range->addr, range->len); in __kvm_io_bus_write()
5852 if (!kvm_iodevice_write(vcpu, bus->range[idx].dev, range->addr, in __kvm_io_bus_write()
5862 int kvm_io_bus_write(struct kvm_vcpu *vcpu, enum kvm_bus bus_idx, gpa_t addr, in kvm_io_bus_write() argument
5870 .addr = addr, in kvm_io_bus_write()
5884 gpa_t addr, int len, const void *val, long cookie) in kvm_io_bus_write_cookie() argument
5890 .addr = addr, in kvm_io_bus_write_cookie()
5901 if (!kvm_iodevice_write(vcpu, bus->range[cookie].dev, addr, len, in kvm_io_bus_write_cookie()
5917 idx = kvm_io_bus_get_first_dev(bus, range->addr, range->len); in __kvm_io_bus_read()
5923 if (!kvm_iodevice_read(vcpu, bus->range[idx].dev, range->addr, in __kvm_io_bus_read()
5933 int kvm_io_bus_read(struct kvm_vcpu *vcpu, enum kvm_bus bus_idx, gpa_t addr, in kvm_io_bus_read() argument
5941 .addr = addr, in kvm_io_bus_read()
5952 int kvm_io_bus_register_dev(struct kvm *kvm, enum kvm_bus bus_idx, gpa_t addr, in kvm_io_bus_register_dev() argument
5975 .addr = addr, in kvm_io_bus_register_dev()
6045 gpa_t addr) in kvm_io_bus_get_dev() argument
6057 dev_idx = kvm_io_bus_get_first_dev(bus, addr, 1); in kvm_io_bus_get_dev()
6071 int (*get)(void *, u64 *), int (*set)(void *, u64), in kvm_debugfs_open()
6085 ret = simple_attr_open(inode, file, get, in kvm_debugfs_open()