Messages in this thread Patch in this message | | | Date | Fri, 3 Feb 2023 14:58:00 +0100 | Subject | Re: [PATCH 1/3] acpi/processor: fix evaluating _PDC method when running as Xen dom0 | From | Josef Johansson <> |
| |
On 2/3/23 08:05, Jan Beulich wrote: > On 30.01.2023 10:21, Josef Johansson wrote: >> On 11/21/22 11:21, Roger Pau Monne wrote: >>> --- a/arch/x86/xen/enlighten.c >>> +++ b/arch/x86/xen/enlighten.c >>> @@ -346,3 +346,30 @@ void xen_arch_unregister_cpu(int num) >>> } >>> EXPORT_SYMBOL(xen_arch_unregister_cpu); >>> #endif >>> + >>> +#ifdef CONFIG_XEN_DOM0 >>> +bool __init xen_processor_present(uint32_t acpi_id) >>> +{ >>> + unsigned int i, maxid; >>> + struct xen_platform_op op = { >>> + .cmd = XENPF_get_cpuinfo, >>> + .interface_version = XENPF_INTERFACE_VERSION, >>> + }; >>> + int ret = HYPERVISOR_platform_op(&op); >>> + >>> + if (ret) >>> + return false; >>> + >>> + maxid = op.u.pcpu_info.max_present; >>> + for (i = 0; i <= maxid; i++) { >>> + op.u.pcpu_info.xen_cpuid = i; >>> + ret = HYPERVISOR_platform_op(&op); >>> + if (ret) >>> + continue; >>> + if (op.u.pcpu_info.acpi_id == acpi_id) >>> + return op.u.pcpu_info.flags & XEN_PCPU_FLAGS_ONLINE; >>> + } >>> + >>> + return false; >>> +} >> My compiler (Default GCC on Fedora 32, compiling for Qubes) complain >> loudly that the below was missing. >> >> +} >> +EXPORT_SYMBOL(xen_processor_present); >> >> `ERROR: MODPOST xen_processor_present >> [drivers/xen/xen-acpi-processor.ko] undefined!` >> >> Same thing with xen_sanitize_pdc in the next patch. >> >> +} >> +EXPORT_SYMBOL(xen_sanitize_pdc); >> >> Everything compiled fine after those changes. > Except that you may not export __init symbols. The section mismatch checker > should actually complain about that. > > Jan
That makes sense. Patch 3 does change it from an __init though.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 394dd6675113..a7b41103d3e5 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -348,7 +348,7 @@ EXPORT_SYMBOL(xen_arch_unregister_cpu); #endif
#ifdef CONFIG_XEN_DOM0 -bool __init xen_processor_present(uint32_t acpi_id) +bool xen_processor_present(uint32_t acpi_id) {
So the change should be in Patch 3 I guess. Regards - Josef
| |