This is a preliminary clean up for TDX which complicates KVM page fault execution path. simplify those execution path as preparation. The current kvm page fault handlers passes around many arguments to the functions. To simplify those arguments and local variables, introduce data structure, struct kvm_page_fault, to hold those arguments, variables, and passes around the pointer to struct kvm_page_fault. struct kvm_page_fault is allocated on stack on the caller of kvm fault handler, kvm_mmu_do_page_fault(). And then push down the pointer to inner functions step by step. The conversion order is as follows . kvm_mmu_do_page_fault() with introducing struct kvm_page_fault . kvm_mmu.page_fault(): kvm_tdp_page_fault(), nonpaging_page_fault(), FNAME(page_fault) . direct_page_fault() . try_async_pf() . page_fault_handle_page_track() . handle_abnormal_pfn() . fast_page_fault() . __direct_map() . kvm_tdp_mmu_map() . FNAME(fetch) Probably more functions should be converted. or some should not converted. Only code refactoring and no functional change is intended. Isaku Yamahata (10): KVM: x86/mmu: make kvm_mmu_do_page_fault() receive single argument KVM: x86/mmu: make kvm_mmu:page_fault receive single argument KVM: x86/mmu: make direct_page_fault() receive single argument KVM: x86/mmu: make try_async_pf() receive single argument KVM: x86/mmu: make page_fault_handle_page_track() receive single argument KVM: x86/mmu: make handle_abnormal_pfn() receive single argument KVM: x86/mmu: make fast_page_fault() receive single argument KVM: x86/mmu: make __direct_map() receive single argument KVM: x86/mmu: make kvm_tdp_mmu_map() receive single argument KVM: x86/mmu: make FNAME(fetch) receive single argument arch/x86/include/asm/kvm_host.h | 4 +- arch/x86/kvm/mmu.h | 49 ++++++++++-- arch/x86/kvm/mmu/mmu.c | 130 +++++++++++++++++--------------- arch/x86/kvm/mmu/paging_tmpl.h | 60 +++++++-------- arch/x86/kvm/mmu/tdp_mmu.c | 21 +++--- arch/x86/kvm/mmu/tdp_mmu.h | 4 +- arch/x86/kvm/x86.c | 4 +- 7 files changed, 156 insertions(+), 116 deletions(-) -- 2.25.1