Skip to content

Commit bed9166

Browse files
committed
Merge tag 'x86-misc-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull misc x86 updates from Thomas Gleixner: "A set of updates for the x86 reboot code: - Limit the Dell Optiplex 990 quirk to early BIOS versions to avoid the full 'power cycle' alike reboot which is required for the buggy BIOSes. - Update documentation for the reboot=pci command line option and document how DMI platform quirks can be overridden" * tag 'x86-misc-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/reboot: Limit Dell Optiplex 990 quirk to early BIOS versions x86/reboot: Document how to override DMI platform quirks x86/reboot: Document the "reboot=pci" option
2 parents ccd8ec4 + a729691 commit bed9166

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4794,7 +4794,7 @@
47944794

47954795
reboot= [KNL]
47964796
Format (x86 or x86_64):
4797-
[w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
4797+
[w[arm] | c[old] | h[ard] | s[oft] | g[pio]] | d[efault] \
47984798
[[,]s[mp]#### \
47994799
[[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
48004800
[[,]f[orce]

Documentation/x86/x86_64/boot-options.rst

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Idle loop
126126
Rebooting
127127
=========
128128

129-
reboot=b[ios] | t[riple] | k[bd] | a[cpi] | e[fi] [, [w]arm | [c]old]
129+
reboot=b[ios] | t[riple] | k[bd] | a[cpi] | e[fi] | p[ci] [, [w]arm | [c]old]
130130
bios
131131
Use the CPU reboot vector for warm reset
132132
warm
@@ -145,6 +145,8 @@ Rebooting
145145
Use efi reset_system runtime service. If EFI is not configured or
146146
the EFI reset does not work, the reboot path attempts the reset using
147147
the keyboard controller.
148+
pci
149+
Use a write to the PCI config space register 0xcf9 to trigger reboot.
148150

149151
Using warm reset will be much faster especially on big memory
150152
systems because the BIOS will not go through the memory check.
@@ -155,6 +157,13 @@ Rebooting
155157
Don't stop other CPUs on reboot. This can make reboot more reliable
156158
in some cases.
157159

160+
reboot=default
161+
There are some built-in platform specific "quirks" - you may see:
162+
"reboot: <name> series board detected. Selecting <type> for reboots."
163+
In the case where you think the quirk is in error (e.g. you have
164+
newer BIOS, or newer board) using this option will ignore the built-in
165+
quirk table, and use the generic default reboot actions.
166+
158167
Non Executable Mappings
159168
=======================
160169

arch/x86/kernel/reboot.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,10 +388,11 @@ static const struct dmi_system_id reboot_dmi_table[] __initconst = {
388388
},
389389
{ /* Handle problems with rebooting on the OptiPlex 990. */
390390
.callback = set_pci_reboot,
391-
.ident = "Dell OptiPlex 990",
391+
.ident = "Dell OptiPlex 990 BIOS A0x",
392392
.matches = {
393393
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
394394
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"),
395+
DMI_MATCH(DMI_BIOS_VERSION, "A0"),
395396
},
396397
},
397398
{ /* Handle problems with rebooting on Dell 300's */

0 commit comments

Comments
 (0)