On 30.01.2023 10:21, Josef Johansson wrote:
On 11/21/22 11:21, Roger Pau Monne wrote:Except that you may not export __init symbols. The section mismatch checker
--- a/arch/x86/xen/enlighten.cMy compiler (Default GCC on Fedora 32, compiling for Qubes) complain
+++ 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;
+}
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.
should actually complain about that.
Jan