All of lore.kernel.org
 help / color / mirror / Atom feed
* BIOS implementors disabling the LAPIC
@ 2007-07-31  8:06 John Sigler
  2007-07-31 10:27 ` Maciej W. Rozycki
  0 siblings, 1 reply; 5+ messages in thread
From: John Sigler @ 2007-07-31  8:06 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-rt-users

I have several systems here where Linux tells me:
Local APIC disabled by BIOS -- you can enable it with "lapic"

As far as I understand, the Local APIC was integrated directly to the 
CPU 12-15 years ago. Why would a BIOS implementor choose to disable it?

(And what does it mean to "disable" the LAPIC?)

Note: the motherboard does not provide an IO-APIC.

I've ask the kernel to re-enable the LAPIC, and was able to use OProfile 
in hardware counter mode, i.e. it seems to work fine.

Regards.

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: BIOS implementors disabling the LAPIC
@ 2007-07-31 12:53 Gregory Haskins
  0 siblings, 0 replies; 5+ messages in thread
From: Gregory Haskins @ 2007-07-31 12:53 UTC (permalink / raw)
  To: linux.kernel; +Cc: macro, linux-kernel, linux-rt-users

On Tue, 2007-07-31 at 14:32 +0200, John Sigler wrote:

> The motherboard manufacturer (well, their level 1 support, anyway) told 
> me I could "safely enable the LAPIC". If it is safe to enable the LAPIC, 
> then why are they disabling it in the BIOS?

I would guess that because they don't have an IOAPIC, they figured they
don't need the APIC and didn't bother to write support for it.  In
reality, other features of the APIC are useful other than IOAPIC routing
(e.g. LVTT) so as you have discovered, you end up with reduced
functionality for probably no good reason. 




> Is this a "either works or doesn't" situation where hell should break 
> loose if I try to enable the LAPIC and it's not supported by the 
> motherboard, or is this a "you will silently lose data at the worst 
> possible time" situation?

You will most likely be fine.


> 
> >> (And what does it mean to "disable" the LAPIC?)
> > 
> > The LINT0 and LINT1 inputs of the APIC are routed straight to the INT and
> > NMI inputs of the CPU respectively and the rest of the APIC logic becomes
> > inactive (tri-stated, etc.).
> 
> If that were the case, then I could not enable the LAPIC and have NMIs 
> work, right?

No, again you should be fine.  All this means is that LINT0/1 go to
defaults of "EXTINT" and "NMI" when the APIC is disabled.  When they are
enabled, the programming of the LVT for LINT0/1 defines what they are.
When you enable it, linux will start programming the LVT and should
continue to use NMI in whatever way it sees fit.

The one way you will get screwed is if there is some routing information
that *should* be in the ACPI tables that is missing due to the lack of
support.  I don't think you will have an issue, but I figured it should
mention its not guaranteed you wont either.  So don't sue me... ;)

Regards,
-Greg

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-07-31 12:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-31  8:06 BIOS implementors disabling the LAPIC John Sigler
2007-07-31 10:27 ` Maciej W. Rozycki
2007-07-31 12:32   ` John Sigler
2007-07-31 12:55     ` Maciej W. Rozycki
  -- strict thread matches above, loose matches on Subject: below --
2007-07-31 12:53 Gregory Haskins

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.