A set of updates for the 86 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. -----BEGIN PGP SIGNATURE----- iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmEsn30THHRnbHhAbGlu dXRyb25peC5kZQAKCRCmGPVMDXSYoQcDEACIFp9ERMipDoY/8+v8qFr5NIbVhcQQ 8/uRBl/GSt+NE5VS/BnDzsvRM7K98eIb/sFtZPqPD83bmm/jWDIPlKLVijh+HxjP c+IcBC1NscR278b+ousV87Qx4uYnxgrbwi+BXgaa2lSyfGIlecLc6BOWNod3z4e9 2dPoui7tgEk0awqLoQkJxNnKhtXr+1fe4NoJU0WkjLZ0GZ65jluh9QAFjNMY5zrK JDiyGpT7U9Yp5iAQ4UJ86ll9ZvGgGn+G/4RDSPRcZs8ui6DGBxQ4/ndTKyqLRiqf QVC+9KaVexQqVegPyXQMDI72530i75tyIDN/DQWS9tg4kTKA4HRc9drUVYhWDGSe 5AlrVwWhQP/qR7WTjTyrxgaMtuirzkqgbTESdXtiycBGYJ1q30zkekqPhPjySOUL slS1/hIgYZAiesaZnyMIyBKox60AZPhPOBlEdGAIZjyNBlNr1LrdMZBybF7JMb6+ J2MBi8HFUr1yu0lmh4940mhDajyPM32plgY20d6HF5P5FB2RI87jF4s4yJ790zl5 FosGcAtnxPEpxFtB2HOzxLuSJa73j6jj5hYS7rcnXAxN2TAMxGx7OVJJqkEswbHL Od8RetxtWlaEKcqqw5186DIzUEJbGzbDbtGrEkXf7x4YKDE7MK8SFLHukq+bkHNt HxS9QpGSv2JxhQ== =Us12 -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
bed9166741
|
@ -4794,7 +4794,7 @@
|
||||||
|
|
||||||
reboot= [KNL]
|
reboot= [KNL]
|
||||||
Format (x86 or x86_64):
|
Format (x86 or x86_64):
|
||||||
[w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
|
[w[arm] | c[old] | h[ard] | s[oft] | g[pio]] | d[efault] \
|
||||||
[[,]s[mp]#### \
|
[[,]s[mp]#### \
|
||||||
[[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
|
[[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
|
||||||
[[,]f[orce]
|
[[,]f[orce]
|
||||||
|
|
|
@ -126,7 +126,7 @@ Idle loop
|
||||||
Rebooting
|
Rebooting
|
||||||
=========
|
=========
|
||||||
|
|
||||||
reboot=b[ios] | t[riple] | k[bd] | a[cpi] | e[fi] [, [w]arm | [c]old]
|
reboot=b[ios] | t[riple] | k[bd] | a[cpi] | e[fi] | p[ci] [, [w]arm | [c]old]
|
||||||
bios
|
bios
|
||||||
Use the CPU reboot vector for warm reset
|
Use the CPU reboot vector for warm reset
|
||||||
warm
|
warm
|
||||||
|
@ -145,6 +145,8 @@ Rebooting
|
||||||
Use efi reset_system runtime service. If EFI is not configured or
|
Use efi reset_system runtime service. If EFI is not configured or
|
||||||
the EFI reset does not work, the reboot path attempts the reset using
|
the EFI reset does not work, the reboot path attempts the reset using
|
||||||
the keyboard controller.
|
the keyboard controller.
|
||||||
|
pci
|
||||||
|
Use a write to the PCI config space register 0xcf9 to trigger reboot.
|
||||||
|
|
||||||
Using warm reset will be much faster especially on big memory
|
Using warm reset will be much faster especially on big memory
|
||||||
systems because the BIOS will not go through the memory check.
|
systems because the BIOS will not go through the memory check.
|
||||||
|
@ -155,6 +157,13 @@ Rebooting
|
||||||
Don't stop other CPUs on reboot. This can make reboot more reliable
|
Don't stop other CPUs on reboot. This can make reboot more reliable
|
||||||
in some cases.
|
in some cases.
|
||||||
|
|
||||||
|
reboot=default
|
||||||
|
There are some built-in platform specific "quirks" - you may see:
|
||||||
|
"reboot: <name> series board detected. Selecting <type> for reboots."
|
||||||
|
In the case where you think the quirk is in error (e.g. you have
|
||||||
|
newer BIOS, or newer board) using this option will ignore the built-in
|
||||||
|
quirk table, and use the generic default reboot actions.
|
||||||
|
|
||||||
Non Executable Mappings
|
Non Executable Mappings
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
|
|
@ -388,10 +388,11 @@ static const struct dmi_system_id reboot_dmi_table[] __initconst = {
|
||||||
},
|
},
|
||||||
{ /* Handle problems with rebooting on the OptiPlex 990. */
|
{ /* Handle problems with rebooting on the OptiPlex 990. */
|
||||||
.callback = set_pci_reboot,
|
.callback = set_pci_reboot,
|
||||||
.ident = "Dell OptiPlex 990",
|
.ident = "Dell OptiPlex 990 BIOS A0x",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"),
|
||||||
|
DMI_MATCH(DMI_BIOS_VERSION, "A0"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ /* Handle problems with rebooting on Dell 300's */
|
{ /* Handle problems with rebooting on Dell 300's */
|
||||||
|
|
Loading…
Reference in New Issue