Hello,
I found a problem with the APIC management in the 2.4.20 kernel.
My system is (was) a bi-processor one :
MSI K7D Master (BIOS V 1.1) with 2 ATHLON MP 1800+
The facts :
1) The 2.4.20 kernel was OK on my system with the 2 processors and a
home made SMP kernel.
2) One processor was broken/defective.
3) No boot was possible with only on processor on the card with a loop
while booting saying endlessly : "APIC 04(04)"
I try to recompile the 2.4.20 kernel with no SMP support the problem was
the same, I try gcc2.95 and gcc3 without any success.
4) The system runs fine with a 2.2.22 home made kernel, the APIC works
well with my lonely processor ... (cf attachment dmesg.2.2.22).
As the system does not run with 2.4.20 kernel I made "ver_linux" under
the current (2.2.22) kernel (cf attachment ver_linux.txt).
Regards
[email protected]
--
JP Pozzi izzop.org <[email protected]>
On 01 Mar 2003 00:18:46 +0100, "JP Pozzi izzop.org" wrote:
>I found a problem with the APIC management in the 2.4.20 kernel.
>
>My system is (was) a bi-processor one :
>
>MSI K7D Master (BIOS V 1.1) with 2 ATHLON MP 1800+
>
>The facts :
>
>1) The 2.4.20 kernel was OK on my system with the 2 processors and a
>home made SMP kernel.
>
>2) One processor was broken/defective.
>
>3) No boot was possible with only on processor on the card with a loop
>while booting saying endlessly : "APIC 04(04)"
>
>I try to recompile the 2.4.20 kernel with no SMP support the problem was
>the same, I try gcc2.95 and gcc3 without any success.
Known problem. It has been discussed extensively on LKML recently.
Apply the patch below.
/Mikael
diff -ruN linux-2.4.21-pre5/arch/i386/kernel/apic.c linux-2.4.21-pre5.apic-fixes/arch/i386/kernel/apic.c
--- linux-2.4.21-pre5/arch/i386/kernel/apic.c 2003-02-27 12:58:55.000000000 +0100
+++ linux-2.4.21-pre5.apic-fixes/arch/i386/kernel/apic.c 2003-02-27 13:05:28.000000000 +0100
@@ -649,7 +649,6 @@
}
set_bit(X86_FEATURE_APIC, &boot_cpu_data.x86_capability);
mp_lapic_addr = APIC_DEFAULT_PHYS_BASE;
- boot_cpu_physical_apicid = 0;
if (nmi_watchdog != NMI_NONE)
nmi_watchdog = NMI_LOCAL_APIC;
@@ -1169,8 +1168,7 @@
connect_bsp_APIC();
- phys_cpu_present_map = 1;
- apic_write_around(APIC_ID, boot_cpu_physical_apicid);
+ phys_cpu_present_map = 1 << boot_cpu_physical_apicid;
apic_pm_init2();
Hello,
I try the patch with no success, the kernel seems to be ok, but the
message at boot loops always "APIC CPU0 O4(04)".
Regards
JP Pozzi
> On 01 Mar 2003 00:18:46 +0100, "JP Pozzi izzop.org" wrote:
> >I found a problem with the APIC management in the 2.4.20 kernel.
> >
> >My system is (was) a bi-processor one :
> >
> >MSI K7D Master (BIOS V 1.1) with 2 ATHLON MP 1800+
> >
> >The facts :
> >
> >1) The 2.4.20 kernel was OK on my system with the 2 processors and a
> >home made SMP kernel.
> >
> >2) One processor was broken/defective.
> >
> >3) No boot was possible with only on processor on the card with a loop
> >while booting saying endlessly : "APIC 04(04)"
> >
> >I try to recompile the 2.4.20 kernel with no SMP support the problem was
> >the same, I try gcc2.95 and gcc3 without any success.
>
> Known problem. It has been discussed extensively on LKML recently.
> Apply the patch below.
>
> /Mikael
>
> diff -ruN linux-2.4.21-pre5/arch/i386/kernel/apic.c linux-2.4.21-pre5.apic-fixes/arch/i386/kernel/apic.c
> --- linux-2.4.21-pre5/arch/i386/kernel/apic.c 2003-02-27 12:58:55.000000000 +0100
> +++ linux-2.4.21-pre5.apic-fixes/arch/i386/kernel/apic.c 2003-02-27 13:05:28.000000000 +0100
> @@ -649,7 +649,6 @@
> }
> set_bit(X86_FEATURE_APIC, &boot_cpu_data.x86_capability);
> mp_lapic_addr = APIC_DEFAULT_PHYS_BASE;
> - boot_cpu_physical_apicid = 0;
> if (nmi_watchdog != NMI_NONE)
> nmi_watchdog = NMI_LOCAL_APIC;
>
> @@ -1169,8 +1168,7 @@
>
> connect_bsp_APIC();
>
> - phys_cpu_present_map = 1;
> - apic_write_around(APIC_ID, boot_cpu_physical_apicid);
> + phys_cpu_present_map = 1 << boot_cpu_physical_apicid;
>
> apic_pm_init2();
>
--
JP Pozzi izzop.org <[email protected]>
On 01 Mar 2003 23:42:18 +0100, JP Pozzi izzop.org <[email protected]> wrote:
> Hello,
>
> I try the patch with no success, the kernel seems to be ok, but the
> message at boot loops always "APIC CPU0 O4(04)".
The patch only affects a UP kernel. If you compiled your kernel as SMP,
try again as UP and report back.
Ion
--
It is better to keep your mouth shut and be thought a fool,
than to open it and remove all doubt.