> From: Ricardo Neri <ricardo.neri-calderon@xxxxxxxxxxxxxxx> > Sent: Friday, June 27, 2025 8:35 PM > [...] > The Wakeup Mailbox is a mechanism to boot secondary CPUs used on systems > that do not want or cannot use the INIT + StartUp IPI messages. > > The platform firmware is expected to implement the mailbox as described in > the Multiprocessor Wakeup Structure of the ACPI specification. It is also > expected to publish the mailbox to the operating system as described in the > corresponding DeviceTree schema that accompanies the documentation of the > Linux kernel. > > Reuse the existing functionality to set the memory location of the mailbox > and update the wakeup_secondary_cpu_64() APIC callback. Make this > functionality available to DeviceTree-based systems by making CONFIG_X86_ > MAILBOX_WAKEUP depend on either CONFIG_OF or > CONFIG_ACPI_MADT_WAKEUP. > > do_boot_cpu() uses wakeup_secondary_cpu_64() when set. If a wakeup > mailbox > is found (enumerated via an ACPI table or a DeviceTree node) it will be > used unconditionally. For cases in which this behavior is not desired, this > APIC callback can be updated later during boot using platform-specific > hooks. > > Co-developed-by: Yunhong Jiang <yunhong.jiang@xxxxxxxxxxxxxxx> > Signed-off-by: Yunhong Jiang <yunhong.jiang@xxxxxxxxxxxxxxx> > Signed-off-by: Ricardo Neri <ricardo.neri-calderon@xxxxxxxxxxxxxxx> > --- LGTM Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx>