Lines Matching defs:data
132 * write_guest_lc - copy data from kernel space to guest vcpu's lowcore
135 * @data: source address in kernel space
138 * Copy data from kernel space to guest vcpu's lowcore. The entire range must
149 int write_guest_lc(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
154 return kvm_write_guest(vcpu->kvm, gpa, data, len);
158 * read_guest_lc - copy data from guest vcpu's lowcore to kernel space
161 * @data: destination address in kernel space
164 * Copy data from guest vcpu's lowcore to kernel space. The entire range must
175 int read_guest_lc(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
180 return kvm_read_guest(vcpu->kvm, gpa, data, len);
194 int access_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
198 void *data, unsigned long len, enum gacc_mode mode);
201 * write_guest - copy data from kernel space to guest space
205 * @data: source address in kernel space
208 * Copy @len bytes from @data (kernel space) to @ga (guest address).
209 * In order to copy data to guest space the PSW of the vcpu is inspected:
210 * If DAT is off data will be copied to guest real or absolute memory.
211 * If DAT is on data will be copied to the address space as specified by
216 * if the to be copied data crosses page boundaries in guest address space.
218 * copying any data (key protection is currently not implemented).
222 * all data necessary so that a subsequent call to 'kvm_s390_inject_prog_vcpu()'
230 * undefined. Also parts of @data may have been copied to guest
235 * guest. No data has been copied to guest space.
237 * Note: in case an access exception is recognized no data has been copied to
238 * guest space (this is also true, if the to be copied data would cross
243 * if data has been changed in guest space in case of an exception.
246 int write_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
249 return access_guest(vcpu, ga, ar, data, len, GACC_STORE);
253 * read_guest - copy data from guest space to kernel space
257 * @data: destination address in kernel space
260 * Copy @len bytes from @ga (guest address) to @data (kernel space).
263 * data will be copied from guest space to kernel space.
266 int read_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
269 return access_guest(vcpu, ga, ar, data, len, GACC_FETCH);
273 * read_guest_instr - copy instruction data from guest space to kernel space
276 * @data: destination address in kernel space
279 * Copy @len bytes from the given address (guest space) to @data (kernel
283 * instruction data will be read from primary space when in home-space or
287 int read_guest_instr(struct kvm_vcpu *vcpu, unsigned long ga, void *data,
290 return access_guest(vcpu, ga, 0, data, len, GACC_IFETCH);
294 * write_guest_abs - copy data from kernel space to guest space absolute
297 * @data: source address in kernel space
300 * Copy @len bytes from @data (kernel space) to @gpa (guest absolute address).
307 * If an error occurs data may have been copied partially to guest memory.
310 int write_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data,
313 return kvm_write_guest(vcpu->kvm, gpa, data, len);
317 * read_guest_abs - copy data from guest space absolute to kernel space
320 * @data: destination address in kernel space
323 * Copy @len bytes from @gpa (guest absolute address) to @data (kernel space).
330 * If an error occurs data may have been copied partially to kernel space.
333 int read_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data,
336 return kvm_read_guest(vcpu->kvm, gpa, data, len);
340 * write_guest_real - copy data from kernel space to guest space real
343 * @data: source address in kernel space
346 * Copy @len bytes from @data (kernel space) to @gra (guest real address).
353 * If an error occurs data may have been copied partially to guest memory.
356 int write_guest_real(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
359 return access_guest_real(vcpu, gra, data, len, 1);
363 * read_guest_real - copy data from guest space real to kernel space
366 * @data: destination address in kernel space
369 * Copy @len bytes from @gra (guest real address) to @data (kernel space).
376 * If an error occurs data may have been copied partially to kernel space.
379 int read_guest_real(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
382 return access_guest_real(vcpu, gra, data, len, 0);