From: kernel test robot <lkp@intel.com>
To: Jork Loeser <jloeser@linux.microsoft.com>
Cc: oe-kbuild-all@lists.linux.dev, Wei Liu <wei.liu@kernel.org>,
"Anirudh Rayabharam (Microsoft)" <anirudh@anirudhrb.com>,
Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Subject: [hyperv:hyperv-fixes 4/8] drivers/hv/mshv_synic.c:591:undefined reference to `hv_vmbus_exists'
Date: Fri, 15 May 2026 03:50:30 +0800 [thread overview]
Message-ID: <202605150351.zra956jl-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git hyperv-fixes
head: 8b35874f56ded0cc1a90a25b87411249a86246cd
commit: f1a9e67c11388965802a61922c313bfc43272afe [4/8] mshv: limit SynIC management to MSHV-owned resources
config: x86_64-randconfig-072-20260514 (https://download.01.org/0day-ci/archive/20260515/202605150351.zra956jl-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260515/202605150351.zra956jl-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/202605150351.zra956jl-lkp@intel.com/
All errors (new ones prefixed by >>):
ld: vmlinux.o: in function `mshv_synic_cpu_exit':
>> drivers/hv/mshv_synic.c:591:(.text+0x1f57f97): undefined reference to `hv_vmbus_exists'
ld: vmlinux.o: in function `mshv_synic_cpu_init':
drivers/hv/mshv_synic.c:470:(.text+0x1f58229): undefined reference to `hv_vmbus_exists'
vim +591 drivers/hv/mshv_synic.c
579
580 static int mshv_synic_cpu_exit(unsigned int cpu)
581 {
582 union hv_synic_sint sint;
583 union hv_synic_sirbp sirbp;
584 struct hv_synic_pages *spages = this_cpu_ptr(synic_pages);
585 struct hv_message_page **msg_page = &spages->hyp_synic_message_page;
586 struct hv_synic_event_flags_page **event_flags_page =
587 &spages->synic_event_flags_page;
588 struct hv_synic_event_ring_page **event_ring_page =
589 &spages->synic_event_ring_page;
590 /* VMBus owns SIMP/SIEFP/SCONTROL when it is active */
> 591 bool vmbus_active = hv_vmbus_exists();
592
593 /* Disable the interrupt */
594 sint.as_uint64 = hv_get_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_INTERCEPTION_SINT_INDEX);
595 sint.masked = true;
596 hv_set_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_INTERCEPTION_SINT_INDEX,
597 sint.as_uint64);
598
599 /* Disable Doorbell SINT */
600 sint.as_uint64 = hv_get_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_DOORBELL_SINT_INDEX);
601 sint.masked = true;
602 hv_set_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_DOORBELL_SINT_INDEX,
603 sint.as_uint64);
604
605 if (mshv_sint_irq != -1)
606 disable_percpu_irq(mshv_sint_irq);
607
608 /* Disable SYNIC event ring page owned by MSHV */
609 sirbp.as_uint64 = hv_get_non_nested_msr(HV_MSR_SIRBP);
610 sirbp.sirbp_enabled = false;
611
612 if (hv_root_partition()) {
613 hv_set_non_nested_msr(HV_MSR_SIRBP, sirbp.as_uint64);
614 memunmap(*event_ring_page);
615 } else {
616 sirbp.base_sirbp_gpa = 0;
617 hv_set_non_nested_msr(HV_MSR_SIRBP, sirbp.as_uint64);
618 free_page((unsigned long)*event_ring_page);
619 }
620
621 /*
622 * Release our mappings of the message and event flags pages.
623 * When VMBus is not active, we enabled SIMP/SIEFP — disable
624 * them. Otherwise VMBus owns the MSRs — leave them.
625 */
626 memunmap(*event_flags_page);
627 if (!vmbus_active) {
628 union hv_synic_simp simp;
629 union hv_synic_siefp siefp;
630
631 siefp.as_uint64 = hv_get_non_nested_msr(HV_MSR_SIEFP);
632 siefp.siefp_enabled = false;
633 hv_set_non_nested_msr(HV_MSR_SIEFP, siefp.as_uint64);
634
635 simp.as_uint64 = hv_get_non_nested_msr(HV_MSR_SIMP);
636 simp.simp_enabled = false;
637 hv_set_non_nested_msr(HV_MSR_SIMP, simp.as_uint64);
638 }
639 memunmap(*msg_page);
640
641 /* When VMBus is active it owns SCONTROL — leave it. */
642 if (!vmbus_active) {
643 union hv_synic_scontrol sctrl;
644
645 sctrl.as_uint64 = hv_get_non_nested_msr(HV_MSR_SCONTROL);
646 sctrl.enable = 0;
647 hv_set_non_nested_msr(HV_MSR_SCONTROL, sctrl.as_uint64);
648 }
649
650 return 0;
651 }
652
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-05-14 19:51 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=202605150351.zra956jl-lkp@intel.com \
--to=lkp@intel.com \
--cc=anirudh@anirudhrb.com \
--cc=jloeser@linux.microsoft.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=skinsburskii@linux.microsoft.com \
--cc=wei.liu@kernel.org \
/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.