On 19/11/2024 10:30 am, Andrew Cooper wrote: > On 19/11/2024 8:12 am, Jan Beulich wrote: >> While the override #define-s in x86_64/platform_hypercall.c are good for >> the consuming side of the compat variants of set_{cx,px}_pminfo(), the >> producers lack the respective declarations. Include pmstat.h early, >> before the overrides are put in place, while adding explicit >> declarations of the compat functions (alongside structure forward >> declarations). >> >> Reported-by: Andrew Cooper <andrew.coop...@citrix.com> >> Signed-off-by: Jan Beulich <jbeul...@suse.com> >> >> --- a/xen/arch/x86/x86_64/platform_hypercall.c >> +++ b/xen/arch/x86/x86_64/platform_hypercall.c >> @@ -4,8 +4,8 @@ >> >> EMIT_FILE; >> >> -#include <xen/lib.h> >> #include <xen/hypercall.h> >> +#include <xen/pmstat.h> >> >> #define xen_platform_op compat_platform_op >> #define xen_platform_op_t compat_platform_op_t >> --- a/xen/include/xen/pmstat.h >> +++ b/xen/include/xen/pmstat.h >> @@ -7,6 +7,12 @@ >> >> int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf); >> long set_cx_pminfo(uint32_t acpi_id, struct xen_processor_power *power); >> +#ifdef CONFIG_COMPAT >> +struct compat_processor_performance; >> +int compat_set_px_pminfo(uint32_t acpi_id, struct >> compat_processor_performance *perf); >> +struct compat_processor_power; >> +long compat_set_cx_pminfo(uint32_t acpi_id, struct compat_processor_power >> *power); >> +#endif >> uint32_t pmstat_get_cx_nr(unsigned int cpu); >> int pmstat_get_cx_stat(unsigned int cpu, struct pm_cx_stat *stat); >> int pmstat_reset_cx_stat(unsigned int cpu); >> > Thanks for the patch. I'll give it a spin along with the other 8.4 fixes.
https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1550621091 pending to run, with all 8.4 fixes including a prototype fix for the do_mca() issue too. ~Andrew