Re: Confused by local APIC addressing in setup_IO_APIC_irqs()

Martin J. Bligh (mbligh@mail.com)
Wed, 28 Feb 2001 15:04:44 -0800


> But cpu_online map seems to be a 32 bit bitmask of which
> CPUs are online .... are we stuffing this directly into an 8-bit
> logical desitination register?
>
> Ironically, if I'm understanding this right, it kind of works anyway
> for most systems - the low nibble of the logical ID is a bitmask
> anyway, so it works normally for up to 4 way. For 8 way or more,
> the high nibble will be set to 1111, which is the broadcast cluster ID,
> so it'll direct interrupts anywhere .... but I can't believe that was
> intentional ;-) For a start, a 7 way system would send to some
> non-existant cluster ID ....

Damn ... sorry - figured this out. The way Linux is doing it will work
up to 8 CPUs. I'd forgotten that earlier on in my changes I'd switched
the CPUs local APICs from FLAT logical addressing mode to
CLUSTERED logical addressing mode. I need to switch the IO APIC code
to match ...

Thanks,

Martin.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/