On 17/12/19 17:24, Peter Xu wrote: >> No, please pass it all the way down to the [&] functions but not to >> kvm_write_guest_page. Those should keep using vcpu->kvm. > Actually I even wanted to refactor these helpers. I mean, we have two > sets of helpers now, kvm_[vcpu]_{read|write}*(), so one set is per-vm, > the other set is per-vcpu. IIUC the only difference of these two are > whether we should consider ((vcpu)->arch.hflags & HF_SMM_MASK) or we > just write to address space zero always. Right. > Could we unify them into a > single set of helper (I'll just drop the *_vcpu_* helpers because it's > longer when write) but we always pass in vcpu* as the first parameter? > Then we add another parameter "vcpu_smm" to show whether we want to > consider the HF_SMM_MASK flag. You'd have to check through all KVM implementations whether you always have the vCPU. Also non-x86 doesn't have address spaces, and by the time you add ", true" or ", false" it's longer than the "_vcpu_" you have removed. So, not a good idea in my opinion. :D Paolo