1.. SPDX-License-Identifier: GPL-2.0 2 3=================================================== 4Firmware support for CPU hotplug under Linux/x86-64 5=================================================== 6 7Linux/x86-64 supports CPU hotplug now. For various reasons Linux wants to 8know in advance of boot time the maximum number of CPUs that could be plugged 9into the system. ACPI 3.0 currently has no official way to supply 10this information from the firmware to the operating system. 11 12In ACPI each CPU needs an LAPIC object in the MADT table (5.2.11.5 in the 13ACPI 3.0 specification). ACPI already has the concept of disabled LAPIC 14objects by setting the Enabled bit in the LAPIC object to zero. 15 16For CPU hotplug Linux/x86-64 expects now that any possible future hotpluggable 17CPU is already available in the MADT. If the CPU is not available yet 18it should have its LAPIC Enabled bit set to 0. Linux will use the number 19of disabled LAPICs to compute the maximum number of future CPUs. 20 21In the worst case the user can overwrite this choice using a command line 22option (additional_cpus=...), but it is recommended to supply the correct 23number (or a reasonable approximation of it, with erring towards more not less) 24in the MADT to avoid manual configuration. 25