Lines Matching refs:len
26 static void mmio_write_buf(char *buf, unsigned int len, unsigned long data) in mmio_write_buf() argument
36 switch (len) { in mmio_write_buf()
55 memcpy(buf, datap, len); in mmio_write_buf()
58 static unsigned long mmio_read_buf(char *buf, unsigned int len) in mmio_read_buf() argument
67 switch (len) { in mmio_read_buf()
72 memcpy(&tmp.hword, buf, len); in mmio_read_buf()
76 memcpy(&tmp.word, buf, len); in mmio_read_buf()
80 memcpy(&tmp.dword, buf, len); in mmio_read_buf()
99 unsigned int len; in kvm_handle_mmio_return() local
103 len = run->mmio.len; in kvm_handle_mmio_return()
104 if (len > sizeof(unsigned long)) in kvm_handle_mmio_return()
107 data = mmio_read_buf(run->mmio.data, len); in kvm_handle_mmio_return()
110 len < sizeof(unsigned long)) { in kvm_handle_mmio_return()
111 mask = 1U << ((len * 8) - 1); in kvm_handle_mmio_return()
115 trace_kvm_mmio(KVM_TRACE_MMIO_READ, len, run->mmio.phys_addr, in kvm_handle_mmio_return()
117 data = vcpu_data_host_to_guest(vcpu, data, len); in kvm_handle_mmio_return()
124 static int decode_hsr(struct kvm_vcpu *vcpu, bool *is_write, int *len) in decode_hsr() argument
150 *len = access_size; in decode_hsr()
169 int len; in io_mem_abort() local
178 ret = decode_hsr(vcpu, &is_write, &len); in io_mem_abort()
190 len); in io_mem_abort()
192 trace_kvm_mmio(KVM_TRACE_MMIO_WRITE, len, fault_ipa, data); in io_mem_abort()
193 mmio_write_buf(data_buf, len, data); in io_mem_abort()
195 ret = kvm_io_bus_write(vcpu, KVM_MMIO_BUS, fault_ipa, len, in io_mem_abort()
198 trace_kvm_mmio(KVM_TRACE_MMIO_READ_UNSATISFIED, len, in io_mem_abort()
201 ret = kvm_io_bus_read(vcpu, KVM_MMIO_BUS, fault_ipa, len, in io_mem_abort()
208 run->mmio.len = len; in io_mem_abort()
209 memcpy(run->mmio.data, data_buf, len); in io_mem_abort()