On 8/19/21 3:53 PM, Janis Schoetterl-Glausch wrote: > On 8/18/21 10:06 AM, Janosch Frank wrote: >> On 8/18/21 9:54 AM, David Hildenbrand wrote: >>> On 16.08.21 17:07, Janis Schoetterl-Glausch wrote: >>>> Introduce a helper function for guest frame access. >>>> Rewrite the calculation of the gpa and the length of the segment >>>> to be more readable. >>>> >>>> Signed-off-by: Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx> >> [...] >>>> - unsigned long _len, gpa; >>>> + unsigned long gpa; >>>> + unsigned int seg; >>>> int rc = 0; >>>> >>>> while (len && !rc) { >>>> gpa = kvm_s390_real_to_abs(vcpu, gra); >>>> - _len = min(PAGE_SIZE - (gpa & ~PAGE_MASK), len); >>>> - if (mode) >>>> - rc = write_guest_abs(vcpu, gpa, data, _len); >>>> - else >>>> - rc = read_guest_abs(vcpu, gpa, data, _len); >>>> - len -= _len; >>>> - gra += _len; >>>> - data += _len; >>>> + seg = min(PAGE_SIZE - offset_in_page(gpa), len); >>> >>> What does "seg" mean? I certainly know when "len" means -- which is also >>> what the function eats. >> >> What does "_len" mean especially in contrast to "len"? >> >> "seg" is used in the common kvm guest access functions so it's at least >> consistent although I share the sentiment that it's not a great name for >> the length we access inside the page. >> >> Originally I suggested "len_in_page" if you have a better name I'd >> expect we'll both be happy to discuss it :-) > > fragment_len ? Sounds good to me >> >>> >>>> + rc = access_guest_frame(vcpu->kvm, mode, gpa, data, seg); >>>> + len -= seg; >>>> + gra += seg; >>>> + data += seg; >>>> } >>>> return rc; >>>> } >>>> >>> >>> >> >