0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 ===================================================
0004 Firmware support for CPU hotplug under Linux/x86-64
0005 ===================================================
0006
0007 Linux/x86-64 supports CPU hotplug now. For various reasons Linux wants to
0008 know in advance of boot time the maximum number of CPUs that could be plugged
0009 into the system. ACPI 3.0 currently has no official way to supply
0010 this information from the firmware to the operating system.
0011
0012 In ACPI each CPU needs an LAPIC object in the MADT table (5.2.11.5 in the
0013 ACPI 3.0 specification). ACPI already has the concept of disabled LAPIC
0014 objects by setting the Enabled bit in the LAPIC object to zero.
0015
0016 For CPU hotplug Linux/x86-64 expects now that any possible future hotpluggable
0017 CPU is already available in the MADT. If the CPU is not available yet
0018 it should have its LAPIC Enabled bit set to 0. Linux will use the number
0019 of disabled LAPICs to compute the maximum number of future CPUs.
0020
0021 In the worst case the user can overwrite this choice using a command line
0022 option (additional_cpus=...), but it is recommended to supply the correct
0023 number (or a reasonable approximation of it, with erring towards more not less)
0024 in the MADT to avoid manual configuration.