[Public]
> -----Original Message-----
> From: Jan Beulich <[email protected]>
> Sent: Monday, October 13, 2025 4:30 PM
> To: Penny, Zheng <[email protected]>
> Cc: Huang, Ray <[email protected]>; Andrew Cooper
> <[email protected]>; Anthony PERARD <[email protected]>;
> Orzel, Michal <[email protected]>; Julien Grall <[email protected]>; Roger Pau
> Monné <[email protected]>; Stefano Stabellini <[email protected]>;
> Bertrand Marquis <[email protected]>; Volodymyr Babchuk
> <[email protected]>; Tamas K Lengyel <[email protected]>;
> Daniel P. Smith <[email protected]>; [email protected]
> Subject: Re: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
> CONFIG_MGMT_HYPERCALLS
>
> On 13.10.2025 09:18, Penny, Zheng wrote:
> >> -----Original Message-----
> >> From: Jan Beulich <[email protected]>
> >> Sent: Monday, October 13, 2025 2:41 PM
> >>
> >> On 11.10.2025 08:44, Penny, Zheng wrote:
> >>>> -----Original Message-----
> >>>> From: Jan Beulich <[email protected]>
> >>>> Sent: Thursday, September 11, 2025 9:03 PM
> >>>>
> >>>>> --- a/xen/lib/x86/Makefile
> >>>>> +++ b/xen/lib/x86/Makefile
> >>>>> @@ -1,3 +1,3 @@
> >>>>> obj-y += cpuid.o
> >>>>> obj-y += msr.o
> >>>>> -obj-y += policy.o
> >>>>> +obj-$(CONFIG_MGMT_HYPERCALLS) += policy.o
> >>>>
> >>>> Fair parts of cpuid.c also become unreachable. And all of msr.c afaics.
> >>>>
> >>>
> >>> I just found that the functions defined here, as helpers/libraries,
> >>> are used in
> >> tools/libs/guest/xg_cpuid_x86.c too. Emmm, to make compiler happy, I
> >> still need to provide stubs for them when MGMT_HYPERCALLS=n. Or any
> better suggestion?
> >>
> >> How does the Makefile change here affect tools/libs/guest/? What
> >> would you need stubs for there?
> >>
> >
> > Like Function xc_cpu_policy_is_compatible() in
> > tools/libs/guest/xg_cpuid_x86.c
> is also using x86_cpu_policies_are_compatible() to do the comparison between
> host and guest. If making xen/lib/x86/plocy.o guarded by MGMT_HYPERCALLS,
> we will have "undefined reference " error. Imo, it is not suitable to guard
> files
> tools/libs/guest/xg_cpuid_x86.o with MGMT_HYPERCALLS.
>
> Correct, but I still don't see what you're getting at. This Makefile is used
> in the
> hypervisor build only. In tools/libs/guest/Makefile.common we have
>
> ifeq ($(CONFIG_X86),y) # Add libx86 to the build vpath %.c
> ../../../xen/lib/x86
>
> OBJS-y += cpuid.o msr.o policy.o
> endif
>
Oh, true...
They are separately compiled with different Makefile.
It is fair parts of cpuid.c(x86_cpuid_copy_to{,from}_buffer) which got
"undefined reference". Lets omit this part of change.
> Jan