[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202507160553.amoW6Ty0-lkp@intel.com>
Date: Wed, 16 Jul 2025 05:46:34 +0800
From: kernel test robot <lkp@...el.com>
To: Roman Kisel <romank@...ux.microsoft.com>, alok.a.tiwari@...cle.com,
arnd@...db.de, bp@...en8.de, corbet@....net,
dave.hansen@...ux.intel.com, decui@...rosoft.com,
haiyangz@...rosoft.com, hpa@...or.com, kys@...rosoft.com,
mhklinux@...look.com, mingo@...hat.com, rdunlap@...radead.org,
tglx@...utronix.de, Tianyu.Lan@...rosoft.com, wei.liu@...nel.org,
linux-arch@...r.kernel.org, linux-coco@...ts.linux.dev,
linux-doc@...r.kernel.org, linux-hyperv@...r.kernel.org,
linux-kernel@...r.kernel.org, x86@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, apais@...rosoft.com,
benhill@...rosoft.com, bperkins@...rosoft.com,
sunilmut@...rosoft.com
Subject: Re: [PATCH hyperv-next v4 05/16] Drivers: hv: Rename fields for
SynIC message and event pages
Hi Roman,
kernel test robot noticed the following build warnings:
[auto build test WARNING on d9016a249be5316ec2476f9947356711e70a16ec]
url: https://github.com/intel-lab-lkp/linux/commits/Roman-Kisel/Documentation-hyperv-Confidential-VMBus/20250715-062125
base: d9016a249be5316ec2476f9947356711e70a16ec
patch link: https://lore.kernel.org/r/20250714221545.5615-6-romank%40linux.microsoft.com
patch subject: [PATCH hyperv-next v4 05/16] Drivers: hv: Rename fields for SynIC message and event pages
config: i386-randconfig-061-20250715 (https://download.01.org/0day-ci/archive/20250716/202507160553.amoW6Ty0-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/20250716/202507160553.amoW6Ty0-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507160553.amoW6Ty0-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/hv/hv.c:280:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/hv/hv.c:299:26: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/hv/hv.c:361:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *hyp_synic_message_page @@
drivers/hv/hv.c:361:31: sparse: expected void volatile [noderef] __iomem *addr
drivers/hv/hv.c:361:31: sparse: got void *hyp_synic_message_page
>> drivers/hv/hv.c:373:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *hyp_synic_event_page @@
drivers/hv/hv.c:373:31: sparse: expected void volatile [noderef] __iomem *addr
drivers/hv/hv.c:373:31: sparse: got void *hyp_synic_event_page
vim +361 drivers/hv/hv.c
334
335 void hv_synic_disable_regs(unsigned int cpu)
336 {
337 struct hv_per_cpu_context *hv_cpu =
338 per_cpu_ptr(hv_context.cpu_context, cpu);
339 union hv_synic_sint shared_sint;
340 union hv_synic_simp simp;
341 union hv_synic_siefp siefp;
342 union hv_synic_scontrol sctrl;
343
344 shared_sint.as_uint64 = hv_get_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT);
345
346 shared_sint.masked = 1;
347
348 /* Need to correctly cleanup in the case of SMP!!! */
349 /* Disable the interrupt */
350 hv_set_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
351
352 simp.as_uint64 = hv_get_msr(HV_MSR_SIMP);
353 /*
354 * In Isolation VM, sim and sief pages are allocated by
355 * paravisor. These pages also will be used by kdump
356 * kernel. So just reset enable bit here and keep page
357 * addresses.
358 */
359 simp.simp_enabled = 0;
360 if (ms_hyperv.paravisor_present || hv_root_partition()) {
> 361 iounmap(hv_cpu->hyp_synic_message_page);
362 hv_cpu->hyp_synic_message_page = NULL;
363 } else {
364 simp.base_simp_gpa = 0;
365 }
366
367 hv_set_msr(HV_MSR_SIMP, simp.as_uint64);
368
369 siefp.as_uint64 = hv_get_msr(HV_MSR_SIEFP);
370 siefp.siefp_enabled = 0;
371
372 if (ms_hyperv.paravisor_present || hv_root_partition()) {
> 373 iounmap(hv_cpu->hyp_synic_event_page);
374 hv_cpu->hyp_synic_event_page = NULL;
375 } else {
376 siefp.base_siefp_gpa = 0;
377 }
378
379 hv_set_msr(HV_MSR_SIEFP, siefp.as_uint64);
380
381 /* Disable the global synic bit */
382 sctrl.as_uint64 = hv_get_msr(HV_MSR_SCONTROL);
383 sctrl.enable = 0;
384 hv_set_msr(HV_MSR_SCONTROL, sctrl.as_uint64);
385
386 if (vmbus_irq != -1)
387 disable_percpu_irq(vmbus_irq);
388 }
389
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists