Safe-mode on amd64 broken

John Baldwin jhb at freebsd.org
Wed Sep 29 13:26:04 UTC 2010


On Wednesday, September 29, 2010 7:37:15 am Andriy Gapon wrote:
> on 29/09/2010 13:40 Alexander Motin said the following:
> > Hi.
> > 
> > David Naylor wrote:
> >> Trying to boot a recent (sep 23) amd64 kernel in safe-mode fails with ``panic: 
> >> No usable event timer found!''.  This occurs on two (all my) machines.  This 
> >> has been a persistent problem since the introduction of the event timer code.  
> > 
> > I've reproduced the problem.
> > 
> > The reason is that all (or at least most) of devices (both PCI and ISA),
> > including only available in that mode i8254 and RTC timers, failed to
> > allocate their interrupts. While reported message is indeed related to
> > event timer code, problem IMHO doesn't. While without this panic system
> > could boot without any alive timer, I have doubts that it would be
> > functional without timers, USB, network and disk controllers.
> > 
> > Problems seems to be the same if I am trying to boot without ACPI.

Probably the kernel doesn't have 'device atpic' so disabling APIC probably
breaks all interrupts.  A newer system might only describe APICs via the
ACPI MADT table and not provide an MP Table.  In that case disabling ACPI
would effectively disable APIC leading to the same result.

> It's interesting to see what the "Safe Mode" really is:
> dup bootsafekey @ = if
>         s" arch-i386" environment? if
>                 drop
>                 s" acpi_load" unsetenv
>                 s" 1" s" hint.acpi.0.disabled" setenv
>                 s" 1" s" loader.acpi_disabled_by_user" setenv
>                 s" 1" s" hint.apic.0.disabled" setenv
>         then
>         s" 0" s" hw.ata.ata_dma" setenv
>         s" 0" s" hw.ata.atapi_dma" setenv
>         s" 0" s" hw.ata.wc" setenv
>         s" 0" s" hw.eisa_slots" setenv
>         s" 1" s" hint.kbdmux.0.disabled" setenv
>         0 boot
> 
> 
> Not sure if disabling ACPI on modern hardware is a good idea.
> Even more unsure about disabling APIC.
> 
> Makes me wonder what this could be useful for.
> Perhaps, these are just leftovers from times were ACPI, APIC (and ATA DMA) were
> all new and unproven things.

Yes, on modern machines I think disabling ACPI and APIC is less safe
actually.

-- 
John Baldwin


More information about the freebsd-current mailing list