diff options
author | avg <avg@FreeBSD.org> | 2012-04-06 09:36:22 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2012-04-06 09:36:22 +0000 |
commit | 3e6288731d32f3c79ae3b8f659e8f36c111cb518 (patch) | |
tree | f1feff9edb1fb2f1a2debcc3562c1b5db487fe00 /sys/boot | |
parent | 19af6e5d9d2de7d5ade27c0ce5a2288d0317e067 (diff) | |
download | FreeBSD-src-3e6288731d32f3c79ae3b8f659e8f36c111cb518.zip FreeBSD-src-3e6288731d32f3c79ae3b8f659e8f36c111cb518.tar.gz |
retrofit Safe Mode loader menu item actions
The menu item is now made completely independent with the ACPI item - most
modern systems seem to require ACPI and become even more "unsafe"
without it.
Safe Mode no longer disables APIC for the same reason.
kbdmux is not disabled as this feature has proven itself stable.
New actions:
- SMP is disabled in the Safe Mode now
- eventtimers are forced to periodic mode (some real and virtual systems
seem to have problems otherwise)
- geom extra vigorous integrity checking is disabled, this is to
facilitate migration from previous versions
Possible short term to do:
- make SMP switch a separate menu item
- restore APIC switch as a separate menu item
Longer term to do:
- turn various tweaks into separate menu items in a Safe Mode sub-menu
Please consider adding a safety tweak to Safe Mode when introducing
new major features or changes that may cause instabilities.
Discussed with: jhb, scottl, Devin Teske
MFC after: 3 weeks (stable/9 only)
Diffstat (limited to 'sys/boot')
-rw-r--r-- | sys/boot/forth/menu-commands.4th | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/sys/boot/forth/menu-commands.4th b/sys/boot/forth/menu-commands.4th index 828a148..2299494 100644 --- a/sys/boot/forth/menu-commands.4th +++ b/sys/boot/forth/menu-commands.4th @@ -62,30 +62,21 @@ marker task-menu-commands.4th -rot 2dup 12 + c! rot \ replace 'N' with ASCII numeral evaluate 0= if - s" hint.apic.0.disabled" unsetenv + s" kern.smp.disabled" unsetenv s" hw.ata.ata_dma" unsetenv s" hw.ata.atapi_dma" unsetenv s" hw.ata.wc" unsetenv s" hw.eisa_slots" unsetenv - s" hint.kbdmux.0.disabled" unsetenv + s" kern.eventtimer.periodic" unsetenv + s" kern.geom.part.check_integrity" unsetenv else - \ - \ Toggle ACPI elements if necessary - \ - acpipresent? if acpienabled? if - menuacpi @ dup 0<> if - toggle_menuitem ( N -- N ) - then - drop - acpi_disable - then then - - s" set hint.apic.0.disabled=1" evaluate + s" set kern.smp.disabled=1" evaluate s" set hw.ata.ata_dma=0" evaluate s" set hw.ata.atapi_dma=0" evaluate s" set hw.ata.wc=0" evaluate s" set hw.eisa_slots=0" evaluate - s" set hint.kbdmux.0.disabled=1" evaluate + s" set kern.eventtimer.periodic=1" evaluate + s" set kern.geom.part.check_integrity=0" evaluate then menu-redraw |