Re: Real-Time Preemption, -RT-2.6.12-final-V0.7.50-24

William Weston
2005-06-30T23:00:46Z

On Fri, 1 Jul 2005, Karsten Wiese wrote:
>
> <snip>
> --- linux-2.6.12-RT-50-35/arch/i386/kernel/mpparse.c 2005-06-30 16:38:00.000000000 +0200
> +++ linux-2.6.12-RT/arch/i386/kernel/mpparse.c 2005-06-29 20:30:50.000000000 +0200
> @@ -263,6 +263,7 @@
> return;
> }
> mp_ioapics[nr_ioapics] = *m;
> + io_apic_base[nr_ioapics] = IO_APIC_BASE(nr_ioapics);
> nr_ioapics++;
> }
>
> @@ -914,6 +915,7 @@
> mp_ioapics[idx].mpc_apicaddr = address;
>
> set_fixmap_nocache(FIX_IO_APIC_BASE_0 + idx, address);
> + io_apic_base[idx] = IO_APIC_BASE(idx);
> mp_ioapics[idx].mpc_apicid = io_apic_get_unique_id(idx, id);
> mp_ioapics[idx].mpc_apicver = io_apic_get_version(idx);
> </snip>
>
> It provides the precalculation of the ioapics's virtual address.
> Or does IO_APIC_BASE() compile to an indexed lookup?
> then io_apic_base[] wouldn't be needed...

Thanks, Karsten. This patch was needed to get my Xeon/HT (i865) to boot
-50-39. Next I'll see if IOAPIC_FAST will work. I'll keep you posted.

--ww