Safe-mode on amd64 broken

David Naylor naylor.b.david at gmail.com
Wed Sep 29 13:48:12 UTC 2010


On Wednesday 29 September 2010 15:14:08 John Baldwin wrote:
> 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.

Is APIC and ACPI disabled in safe-mode on amd64?  

This is using GENERIC, perhaps atpic should be added to the config file, or made 
mandatory for amd64 systems?  

> > 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100929/5d9f3de9/attachment.pgp


More information about the freebsd-current mailing list