From: kernel test robot <lkp@intel.com>
To: Ben Gardon <bgardon@google.com>
Cc: oe-kbuild-all@lists.linux.dev, Sean Christopherson <seanjc@google.com>
Subject: [sean-jc:x86/formalize_shadow_mmu 27/39] arch/x86/kvm/mmu/mmu.c:2129:30: error: 'paging64_sync_spte' undeclared; did you mean 'paging64_sync_page'?
Date: Sat, 18 Mar 2023 14:06:47 +0800 [thread overview]
Message-ID: <202303181427.aTT44wt4-lkp@intel.com> (raw)
Hi Ben,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://github.com/sean-jc/linux x86/formalize_shadow_mmu
head: dd395c7174581183cd66020ac5a784bdf2e79cd1
commit: 47e60247f1c316484333b71439780fd37a2c1014 [27/39] KVM: x86/MMU: Move paging_tmpl.h includes to shadow_mmu.c
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20230318/202303181427.aTT44wt4-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/sean-jc/linux/commit/47e60247f1c316484333b71439780fd37a2c1014
git remote add sean-jc https://github.com/sean-jc/linux
git fetch --no-tags sean-jc x86/formalize_shadow_mmu
git checkout 47e60247f1c316484333b71439780fd37a2c1014
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 olddefconfig
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303181427.aTT44wt4-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
arch/x86/kvm/mmu/mmu.c:167:14: error: static declaration of 'kvm_mmu_page_get_gfn' follows non-static declaration
167 | static gfn_t kvm_mmu_page_get_gfn(struct kvm_mmu_page *sp, int index);
| ^~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/mmu.c:24:
arch/x86/kvm/mmu/shadow_mmu.h:57:7: note: previous declaration of 'kvm_mmu_page_get_gfn' with type 'gfn_t(struct kvm_mmu_page *, int)' {aka 'long long unsigned int(struct kvm_mmu_page *, int)'}
57 | gfn_t kvm_mmu_page_get_gfn(struct kvm_mmu_page *sp, int index);
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:758:1: error: version control conflict marker in file
758 | <<<<<<< HEAD
| ^~~~~~~
arch/x86/kvm/mmu/mmu.c: In function 'kvm_handle_error_pfn':
arch/x86/kvm/mmu/mmu.c:785:17: error: implicit declaration of function 'kvm_send_hwpoison_signal' [-Werror=implicit-function-declaration]
785 | kvm_send_hwpoison_signal(fault->slot, fault->gfn);
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c: In function 'paging64_init_context':
>> arch/x86/kvm/mmu/mmu.c:2129:30: error: 'paging64_sync_spte' undeclared (first use in this function); did you mean 'paging64_sync_page'?
2129 | context->sync_spte = paging64_sync_spte;
| ^~~~~~~~~~~~~~~~~~
| paging64_sync_page
arch/x86/kvm/mmu/mmu.c:2129:30: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/kvm/mmu/mmu.c: In function 'paging32_init_context':
>> arch/x86/kvm/mmu/mmu.c:2136:30: error: 'paging32_sync_spte' undeclared (first use in this function); did you mean 'paging32_sync_page'?
2136 | context->sync_spte = paging32_sync_spte;
| ^~~~~~~~~~~~~~~~~~
| paging32_sync_page
arch/x86/kvm/mmu/mmu.c: In function 'kvm_init_shadow_ept_mmu':
>> arch/x86/kvm/mmu/mmu.c:2355:38: error: 'ept_sync_spte' undeclared (first use in this function); did you mean 'ept_sync_page'?
2355 | context->sync_spte = ept_sync_spte;
| ^~~~~~~~~~~~~
| ept_sync_page
arch/x86/kvm/mmu/mmu.c: In function '__kvm_mmu_invalidate_addr':
arch/x86/kvm/mmu/mmu.c:2588:35: error: implicit declaration of function 'kvm_sync_spte' [-Werror=implicit-function-declaration]
2588 | int ret = kvm_sync_spte(vcpu, sp, iterator.index);
| ^~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c: At top level:
arch/x86/kvm/mmu/mmu.c:167:14: warning: 'kvm_mmu_page_get_gfn' used but never defined
167 | static gfn_t kvm_mmu_page_get_gfn(struct kvm_mmu_page *sp, int index);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1732:29: error: static declaration of 'kvm_mmu_get_child_sp' follows non-static declaration
1732 | static struct kvm_mmu_page *kvm_mmu_get_child_sp(struct kvm_vcpu *vcpu,
| ^~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:94:22: note: previous declaration of 'kvm_mmu_get_child_sp' with type 'struct kvm_mmu_page *(struct kvm_vcpu *, u64 *, gfn_t, bool, unsigned int)' {aka 'struct kvm_mmu_page *(struct kvm_vcpu *, long long unsigned int *, long long unsigned int, _Bool, unsigned int)'}
94 | struct kvm_mmu_page *kvm_mmu_get_child_sp(struct kvm_vcpu *vcpu, u64 *sptep,
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1745:13: error: conflicting types for 'shadow_walk_init_using_root'; have 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, hpa_t, u64)' {aka 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, long long unsigned int, long long unsigned int)'}
1745 | static void shadow_walk_init_using_root(struct kvm_shadow_walk_iterator *iterator,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:98:6: note: previous declaration of 'shadow_walk_init_using_root' with type 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, hpa_t, u64)' {aka 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, long long unsigned int, long long unsigned int)'}
98 | void shadow_walk_init_using_root(struct kvm_shadow_walk_iterator *iterator,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1774:13: error: conflicting types for 'shadow_walk_init'; have 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, u64)' {aka 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, long long unsigned int)'}
1774 | static void shadow_walk_init(struct kvm_shadow_walk_iterator *iterator,
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:100:6: note: previous declaration of 'shadow_walk_init' with type 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, u64)' {aka 'void(struct kvm_shadow_walk_iterator *, struct kvm_vcpu *, long long unsigned int)'}
100 | void shadow_walk_init(struct kvm_shadow_walk_iterator *iterator,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1781:13: error: conflicting types for 'shadow_walk_okay'; have 'bool(struct kvm_shadow_walk_iterator *)' {aka '_Bool(struct kvm_shadow_walk_iterator *)'}
1781 | static bool shadow_walk_okay(struct kvm_shadow_walk_iterator *iterator)
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:102:6: note: previous declaration of 'shadow_walk_okay' with type 'bool(struct kvm_shadow_walk_iterator *)' {aka '_Bool(struct kvm_shadow_walk_iterator *)'}
102 | bool shadow_walk_okay(struct kvm_shadow_walk_iterator *iterator);
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1803:13: error: conflicting types for 'shadow_walk_next'; have 'void(struct kvm_shadow_walk_iterator *)'
1803 | static void shadow_walk_next(struct kvm_shadow_walk_iterator *iterator)
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:103:6: note: previous declaration of 'shadow_walk_next' with type 'void(struct kvm_shadow_walk_iterator *)'
103 | void shadow_walk_next(struct kvm_shadow_walk_iterator *iterator);
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1843:13: error: static declaration of 'link_shadow_page' follows non-static declaration
1843 | static void link_shadow_page(struct kvm_vcpu *vcpu, u64 *sptep,
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:105:6: note: previous declaration of 'link_shadow_page' with type 'void(struct kvm_vcpu *, u64 *, struct kvm_mmu_page *)' {aka 'void(struct kvm_vcpu *, long long unsigned int *, struct kvm_mmu_page *)'}
105 | void link_shadow_page(struct kvm_vcpu *vcpu, u64 *sptep, struct kvm_mmu_page *sp);
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1849:13: error: static declaration of 'validate_direct_spte' follows non-static declaration
1849 | static void validate_direct_spte(struct kvm_vcpu *vcpu, u64 *sptep,
| ^~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:107:6: note: previous declaration of 'validate_direct_spte' with type 'void(struct kvm_vcpu *, u64 *, unsigned int)' {aka 'void(struct kvm_vcpu *, long long unsigned int *, unsigned int)'}
107 | void validate_direct_spte(struct kvm_vcpu *vcpu, u64 *sptep,
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1872:12: error: static declaration of 'mmu_page_zap_pte' follows non-static declaration
1872 | static int mmu_page_zap_pte(struct kvm *kvm, struct kvm_mmu_page *sp,
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:110:5: note: previous declaration of 'mmu_page_zap_pte' with type 'int(struct kvm *, struct kvm_mmu_page *, u64 *, struct list_head *)' {aka 'int(struct kvm *, struct kvm_mmu_page *, long long unsigned int *, struct list_head *)'}
110 | int mmu_page_zap_pte(struct kvm *kvm, struct kvm_mmu_page *sp, u64 *spte,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1948:13: error: static declaration of '__kvm_mmu_prepare_zap_page' follows non-static declaration
1948 | static bool __kvm_mmu_prepare_zap_page(struct kvm *kvm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:112:6: note: previous declaration of '__kvm_mmu_prepare_zap_page' with type 'bool(struct kvm *, struct kvm_mmu_page *, struct list_head *, int *)' {aka '_Bool(struct kvm *, struct kvm_mmu_page *, struct list_head *, int *)'}
112 | bool __kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2093:12: error: static declaration of 'make_mmu_pages_available' follows non-static declaration
2093 | static int make_mmu_pages_available(struct kvm_vcpu *vcpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:119:5: note: previous declaration of 'make_mmu_pages_available' with type 'int(struct kvm_vcpu *)'
119 | int make_mmu_pages_available(struct kvm_vcpu *vcpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2157:12: error: static declaration of 'kvm_mmu_unprotect_page_virt' follows non-static declaration
2157 | static int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:121:5: note: previous declaration of 'kvm_mmu_unprotect_page_virt' with type 'int(struct kvm_vcpu *, gva_t)' {aka 'int(struct kvm_vcpu *, long unsigned int)'}
121 | int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2288:12: error: static declaration of 'mmu_set_spte' follows non-static declaration
2288 | static int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
| ^~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:123:5: note: previous declaration of 'mmu_set_spte' with type 'int(struct kvm_vcpu *, struct kvm_memory_slot *, u64 *, unsigned int, gfn_t, kvm_pfn_t, struct kvm_page_fault *)' {aka 'int(struct kvm_vcpu *, struct kvm_memory_slot *, long long unsigned int *, unsigned int, long long unsigned int, long long unsigned int, struct kvm_page_fault *)'}
123 | int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
| ^~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2394:13: error: static declaration of '__direct_pte_prefetch' follows non-static declaration
2394 | static void __direct_pte_prefetch(struct kvm_vcpu *vcpu,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:126:6: note: previous declaration of '__direct_pte_prefetch' with type 'void(struct kvm_vcpu *, struct kvm_mmu_page *, u64 *)' {aka 'void(struct kvm_vcpu *, struct kvm_mmu_page *, long long unsigned int *)'}
126 | void __direct_pte_prefetch(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
| ^~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2446:12: error: static declaration of 'direct_map' follows non-static declaration
2446 | static int direct_map(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault)
| ^~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:128:5: note: previous declaration of 'direct_map' with type 'int(struct kvm_vcpu *, struct kvm_page_fault *)'
128 | int direct_map(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault);
| ^~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:2960:
>> arch/x86/kvm/mmu/paging_tmpl.h:54:29: warning: no previous prototype for 'ept_sync_spte' [-Wmissing-prototypes]
54 | #define FNAME(name) ept_##name
| ^~~~
arch/x86/kvm/mmu/paging_tmpl.h:883:5: note: in expansion of macro 'FNAME'
883 | int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
| ^~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:2964:
>> arch/x86/kvm/mmu/paging_tmpl.h:27:29: warning: no previous prototype for 'paging64_sync_spte' [-Wmissing-prototypes]
27 | #define FNAME(name) paging##64_##name
| ^~~~~~
arch/x86/kvm/mmu/paging_tmpl.h:883:5: note: in expansion of macro 'FNAME'
883 | int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
| ^~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:2968:
>> arch/x86/kvm/mmu/paging_tmpl.h:40:29: warning: no previous prototype for 'paging32_sync_spte' [-Wmissing-prototypes]
40 | #define FNAME(name) paging##32_##name
| ^~~~~~
arch/x86/kvm/mmu/paging_tmpl.h:883:5: note: in expansion of macro 'FNAME'
883 | int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
| ^~~~~
arch/x86/kvm/mmu/shadow_mmu.c:3203:29: error: static declaration of 'walk_slot_rmaps' follows non-static declaration
3203 | static __always_inline bool walk_slot_rmaps(struct kvm *kvm,
| ^~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:145:6: note: previous declaration of 'walk_slot_rmaps' with type 'bool(struct kvm *, const struct kvm_memory_slot *, bool (*)(struct kvm *, struct kvm_rmap_head *, const struct kvm_memory_slot *), int, int, bool)' {aka '_Bool(struct kvm *, const struct kvm_memory_slot *, _Bool (*)(struct kvm *, struct kvm_rmap_head *, const struct kvm_memory_slot *), int, int, _Bool)'}
145 | bool walk_slot_rmaps(struct kvm *kvm, const struct kvm_memory_slot *slot,
| ^~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:3214:29: error: static declaration of 'walk_slot_rmaps_4k' follows non-static declaration
3214 | static __always_inline bool walk_slot_rmaps_4k(struct kvm *kvm,
| ^~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:148:6: note: previous declaration of 'walk_slot_rmaps_4k' with type 'bool(struct kvm *, const struct kvm_memory_slot *, bool (*)(struct kvm *, struct kvm_rmap_head *, const struct kvm_memory_slot *), bool)' {aka '_Bool(struct kvm *, const struct kvm_memory_slot *, _Bool (*)(struct kvm *, struct kvm_rmap_head *, const struct kvm_memory_slot *), _Bool)'}
148 | bool walk_slot_rmaps_4k(struct kvm *kvm, const struct kvm_memory_slot *slot,
| ^~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:3535:13: error: static declaration of 'kvm_rmap_zap_collapsible_sptes' follows non-static declaration
3535 | static void kvm_rmap_zap_collapsible_sptes(struct kvm *kvm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/mmu/shadow_mmu.c:20:
arch/x86/kvm/mmu/shadow_mmu.h:161:6: note: previous declaration of 'kvm_rmap_zap_collapsible_sptes' with type 'void(struct kvm *, const struct kvm_memory_slot *)'
161 | void kvm_rmap_zap_collapsible_sptes(struct kvm *kvm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:3535:13: warning: 'kvm_rmap_zap_collapsible_sptes' defined but not used [-Wunused-function]
3535 | static void kvm_rmap_zap_collapsible_sptes(struct kvm *kvm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2446:12: warning: 'direct_map' defined but not used [-Wunused-function]
2446 | static int direct_map(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault)
| ^~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:2157:12: warning: 'kvm_mmu_unprotect_page_virt' defined but not used [-Wunused-function]
2157 | static int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1054:13: warning: 'kvm_test_age_rmap' defined but not used [-Wunused-function]
1054 | static bool kvm_test_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
| ^~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:1040:13: warning: 'kvm_age_rmap' defined but not used [-Wunused-function]
1040 | static bool kvm_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
| ^~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:912:13: warning: 'kvm_set_pte_rmap' defined but not used [-Wunused-function]
912 | static bool kvm_set_pte_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/shadow_mmu.c:905:13: warning: 'kvm_zap_rmap' defined but not used [-Wunused-function]
905 | static bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +2129 arch/x86/kvm/mmu/mmu.c
6fd01b711bee96 arch/x86/kvm/mmu.c Avi Kivity 2012-09-12 2124
fe660f7244d7e2 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-06-22 2125 static void paging64_init_context(struct kvm_mmu *context)
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2126 {
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2127 context->page_fault = paging64_page_fault;
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2128 context->gva_to_gpa = paging64_gva_to_gpa;
c3c6c9fc5d24bc arch/x86/kvm/mmu/mmu.c Lai Jiangshan 2023-02-16 @2129 context->sync_spte = paging64_sync_spte;
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2130 }
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2131
84a16226046d1c arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-06-22 2132 static void paging32_init_context(struct kvm_mmu *context)
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2133 {
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2134 context->page_fault = paging32_page_fault;
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2135 context->gva_to_gpa = paging32_gva_to_gpa;
c3c6c9fc5d24bc arch/x86/kvm/mmu/mmu.c Lai Jiangshan 2023-02-16 @2136 context->sync_spte = paging32_sync_spte;
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2137 }
6aa8b732ca01c3 drivers/kvm/mmu.c Avi Kivity 2006-12-10 2138
:::::: The code at line 2129 was first introduced by commit
:::::: c3c6c9fc5d24bcafbbeda2edb521b70f5df052b7 KVM: x86/mmu: Move the code out of FNAME(sync_page)'s loop body into mmu.c
:::::: TO: Lai Jiangshan <jiangshan.ljs@antgroup.com>
:::::: CC: Sean Christopherson <seanjc@google.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
reply other threads:[~2023-03-18 6:07 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202303181427.aTT44wt4-lkp@intel.com \
--to=lkp@intel.com \
--cc=bgardon@google.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=seanjc@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.