* [xinli-intel-fred-public:fred-kvm-v7 44/45] arch/x86/kvm/vmx/vmx.c:2220:42: error: implicit declaration of function 'vmx_read_guest_fred_ssp0'; did you mean 'vmx_read_guest_fred_rsp0'?
@ 2025-08-23 23:05 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-08-23 23:05 UTC (permalink / raw)
To: Xin3 Li; +Cc: oe-kbuild-all
tree: https://github.com/xinli-intel/linux-fred-public.git fred-kvm-v7
head: ba4a099cdfb6456f5fae6fd235ce77659517af0e
commit: ba4a099cdfb6456f5fae6fd235ce77659517af0e [44/45] KVM: VMX: Add support for FRED SSP0 save/restore
config: i386-buildonly-randconfig-001-20250824 (https://download.01.org/0day-ci/archive/20250824/202508240654.Wd2CTESU-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250824/202508240654.Wd2CTESU-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508240654.Wd2CTESU-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/x86/kvm/vmx/vmx.c: In function 'vmx_get_msr':
>> arch/x86/kvm/vmx/vmx.c:2220:42: error: implicit declaration of function 'vmx_read_guest_fred_ssp0'; did you mean 'vmx_read_guest_fred_rsp0'? [-Werror=implicit-function-declaration]
2220 | msr_info->data = vmx_read_guest_fred_ssp0(vmx);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| vmx_read_guest_fred_rsp0
arch/x86/kvm/vmx/vmx.c: In function 'vmx_set_msr':
>> arch/x86/kvm/vmx/vmx.c:2583:25: error: implicit declaration of function 'vmx_write_guest_fred_ssp0'; did you mean 'vmx_read_guest_fred_rsp0'? [-Werror=implicit-function-declaration]
2583 | vmx_write_guest_fred_ssp0(vmx, data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| vmx_read_guest_fred_rsp0
cc1: some warnings being treated as errors
vim +2220 arch/x86/kvm/vmx/vmx.c
2053
2054 /*
2055 * Reads an msr value (of 'msr_info->index') into 'msr_info->data'.
2056 * Returns 0 on success, non-0 otherwise.
2057 * Assumes vcpu_load() was already called.
2058 */
2059 int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
2060 {
2061 struct vcpu_vmx *vmx = to_vmx(vcpu);
2062 struct vmx_uret_msr *msr;
2063 u32 index;
2064
2065 switch (msr_info->index) {
2066 #ifdef CONFIG_X86_64
2067 case MSR_FS_BASE:
2068 msr_info->data = vmcs_readl(GUEST_FS_BASE);
2069 break;
2070 case MSR_GS_BASE:
2071 msr_info->data = vmcs_readl(GUEST_GS_BASE);
2072 break;
2073 case MSR_KERNEL_GS_BASE:
2074 msr_info->data = vmx_read_guest_kernel_gs_base(vmx);
2075 break;
2076 case MSR_IA32_FRED_RSP0:
2077 msr_info->data = vmx_read_guest_fred_rsp0(vmx);
2078 break;
2079 case MSR_IA32_FRED_RSP1 ... MSR_IA32_FRED_CONFIG:
2080 msr_info->data = vmcs_read64(fred_msr_to_vmcs(msr_info->index));
2081 break;
2082 #endif
2083 case MSR_EFER:
2084 return kvm_get_msr_common(vcpu, msr_info);
2085 case MSR_IA32_TSX_CTRL:
2086 if (!msr_info->host_initiated &&
2087 !(vcpu->arch.arch_capabilities & ARCH_CAP_TSX_CTRL_MSR))
2088 return 1;
2089 goto find_uret_msr;
2090 case MSR_IA32_UMWAIT_CONTROL:
2091 if (!msr_info->host_initiated && !vmx_has_waitpkg(vmx))
2092 return 1;
2093
2094 msr_info->data = vmx->msr_ia32_umwait_control;
2095 break;
2096 case MSR_IA32_SPEC_CTRL:
2097 if (!msr_info->host_initiated &&
2098 !guest_has_spec_ctrl_msr(vcpu))
2099 return 1;
2100
2101 msr_info->data = to_vmx(vcpu)->spec_ctrl;
2102 break;
2103 case MSR_IA32_SYSENTER_CS:
2104 msr_info->data = vmcs_read32(GUEST_SYSENTER_CS);
2105 break;
2106 case MSR_IA32_SYSENTER_EIP:
2107 msr_info->data = vmcs_readl(GUEST_SYSENTER_EIP);
2108 break;
2109 case MSR_IA32_SYSENTER_ESP:
2110 msr_info->data = vmcs_readl(GUEST_SYSENTER_ESP);
2111 break;
2112 case MSR_IA32_BNDCFGS:
2113 if (!kvm_mpx_supported() ||
2114 (!msr_info->host_initiated &&
2115 !guest_cpu_cap_has(vcpu, X86_FEATURE_MPX)))
2116 return 1;
2117 msr_info->data = vmcs_read64(GUEST_BNDCFGS);
2118 break;
2119 case MSR_IA32_MCG_EXT_CTL:
2120 if (!msr_info->host_initiated &&
2121 !(vmx->msr_ia32_feature_control &
2122 FEAT_CTL_LMCE_ENABLED))
2123 return 1;
2124 msr_info->data = vcpu->arch.mcg_ext_ctl;
2125 break;
2126 case MSR_IA32_FEAT_CTL:
2127 msr_info->data = vmx->msr_ia32_feature_control;
2128 break;
2129 case MSR_IA32_SGXLEPUBKEYHASH0 ... MSR_IA32_SGXLEPUBKEYHASH3:
2130 if (!msr_info->host_initiated &&
2131 !guest_cpu_cap_has(vcpu, X86_FEATURE_SGX_LC))
2132 return 1;
2133 msr_info->data = to_vmx(vcpu)->msr_ia32_sgxlepubkeyhash
2134 [msr_info->index - MSR_IA32_SGXLEPUBKEYHASH0];
2135 break;
2136 case KVM_FIRST_EMULATED_VMX_MSR ... KVM_LAST_EMULATED_VMX_MSR:
2137 if (!guest_cpu_cap_has(vcpu, X86_FEATURE_VMX))
2138 return 1;
2139 if (vmx_get_vmx_msr(&vmx->nested.msrs, msr_info->index,
2140 &msr_info->data))
2141 return 1;
2142 #ifdef CONFIG_KVM_HYPERV
2143 /*
2144 * Enlightened VMCS v1 doesn't have certain VMCS fields but
2145 * instead of just ignoring the features, different Hyper-V
2146 * versions are either trying to use them and fail or do some
2147 * sanity checking and refuse to boot. Filter all unsupported
2148 * features out.
2149 */
2150 if (!msr_info->host_initiated && guest_cpu_cap_has_evmcs(vcpu))
2151 nested_evmcs_filter_control_msr(vcpu, msr_info->index,
2152 &msr_info->data);
2153 #endif
2154 break;
2155 case MSR_IA32_RTIT_CTL:
2156 if (!vmx_pt_mode_is_host_guest())
2157 return 1;
2158 msr_info->data = vmx->pt_desc.guest.ctl;
2159 break;
2160 case MSR_IA32_RTIT_STATUS:
2161 if (!vmx_pt_mode_is_host_guest())
2162 return 1;
2163 msr_info->data = vmx->pt_desc.guest.status;
2164 break;
2165 case MSR_IA32_RTIT_CR3_MATCH:
2166 if (!vmx_pt_mode_is_host_guest() ||
2167 !intel_pt_validate_cap(vmx->pt_desc.caps,
2168 PT_CAP_cr3_filtering))
2169 return 1;
2170 msr_info->data = vmx->pt_desc.guest.cr3_match;
2171 break;
2172 case MSR_IA32_RTIT_OUTPUT_BASE:
2173 if (!vmx_pt_mode_is_host_guest() ||
2174 (!intel_pt_validate_cap(vmx->pt_desc.caps,
2175 PT_CAP_topa_output) &&
2176 !intel_pt_validate_cap(vmx->pt_desc.caps,
2177 PT_CAP_single_range_output)))
2178 return 1;
2179 msr_info->data = vmx->pt_desc.guest.output_base;
2180 break;
2181 case MSR_IA32_RTIT_OUTPUT_MASK:
2182 if (!vmx_pt_mode_is_host_guest() ||
2183 (!intel_pt_validate_cap(vmx->pt_desc.caps,
2184 PT_CAP_topa_output) &&
2185 !intel_pt_validate_cap(vmx->pt_desc.caps,
2186 PT_CAP_single_range_output)))
2187 return 1;
2188 msr_info->data = vmx->pt_desc.guest.output_mask;
2189 break;
2190 case MSR_IA32_RTIT_ADDR0_A ... MSR_IA32_RTIT_ADDR3_B:
2191 index = msr_info->index - MSR_IA32_RTIT_ADDR0_A;
2192 if (!vmx_pt_mode_is_host_guest() ||
2193 (index >= 2 * vmx->pt_desc.num_address_ranges))
2194 return 1;
2195 if (index % 2)
2196 msr_info->data = vmx->pt_desc.guest.addr_b[index / 2];
2197 else
2198 msr_info->data = vmx->pt_desc.guest.addr_a[index / 2];
2199 break;
2200 case MSR_IA32_S_CET:
2201 msr_info->data = vmcs_readl(GUEST_S_CET);
2202 break;
2203 case MSR_KVM_INTERNAL_GUEST_SSP:
2204 msr_info->data = vmcs_readl(GUEST_SSP);
2205 break;
2206 case MSR_IA32_INT_SSP_TAB:
2207 msr_info->data = vmcs_readl(GUEST_INTR_SSP_TABLE);
2208 break;
2209 case MSR_IA32_DEBUGCTLMSR:
2210 msr_info->data = vmx_guest_debugctl_read();
2211 break;
2212 case MSR_IA32_PL0_SSP:
2213 /*
2214 * If kvm_cpu_cap_has(X86_FEATURE_SHSTK) but
2215 * !guest_cpu_cap_has(vcpu, X86_FEATURE_SHSTK), XSAVES/XRSTORS
2216 * cover SSP MSRs.
2217 */
2218 if (!kvm_cpu_cap_has(X86_FEATURE_SHSTK) &&
2219 guest_cpu_cap_has(vcpu, X86_FEATURE_FRED)) {
> 2220 msr_info->data = vmx_read_guest_fred_ssp0(vmx);
2221 break;
2222 }
2223 fallthrough;
2224 default:
2225 find_uret_msr:
2226 msr = vmx_find_uret_msr(vmx, msr_info->index);
2227 if (msr) {
2228 msr_info->data = msr->data;
2229 break;
2230 }
2231 return kvm_get_msr_common(vcpu, msr_info);
2232 }
2233
2234 return 0;
2235 }
2236
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-23 23:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-23 23:05 [xinli-intel-fred-public:fred-kvm-v7 44/45] arch/x86/kvm/vmx/vmx.c:2220:42: error: implicit declaration of function 'vmx_read_guest_fred_ssp0'; did you mean 'vmx_read_guest_fred_rsp0'? kernel test robot
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.