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