Project

General

Profile

Actions

Bug #869

closed

SMP Panic: no local apic

Added by elekktretterr about 17 years ago. Updated over 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Hi all again,
I just acquired a new laptop(Fujitsu V1010) that has a Core Duo (not Core 2
Duo). While UP seems to work fine, any SMP kernel, with(out) IO_APIC and
with(out) ACPI immediately panics after the boot menul, saying no local apic.

I have no idea what it means or how I can fix it, so Im asking you guys :) How
can we get this fixed?

Cheers,
Petr


Files

mp_machdep.c.patch (655 Bytes) mp_machdep.c.patch josepht, 07/17/2008 07:39 PM
Actions #1

Updated by dillon about 17 years ago

:Hi all again,
:I just acquired a new laptop(Fujitsu V1010) that has a Core Duo (not Core 2
:Duo). While UP seems to work fine, any SMP kernel, with(out) IO_APIC and
:with(out) ACPI immediately panics after the boot menul, saying no local apic.
:
:I have no idea what it means or how I can fix it, so Im asking you guys :) How
:can we get this fixed?
:
:Cheers,
:Petr

I seem to recall that Intel screwed up the location of the local APIC
in some of those cpus. I'm not at all sure how to fix it but there
might be a patch in one of the other BSDs for it.
-Matt
Matthew Dillon
<>
Actions #2

Updated by elekktretterr about 17 years ago

had a look on google but found nothing so far :( Is there any way i can
"scan" the cpu for local apic or is this already done, perhaps via
acpidump? This is rather sad, i bought the laptop to finally run DragonFly
with 2 cpus in it.

Actions #3

Updated by joerg about 17 years ago

Is APIC listed as CPU feature?

Joerg

Actions #4

Updated by elekktretterr about 17 years ago

Yeah it is:

CPU: Genuine Intel(R) CPU T2130 @ 1.86GHz (1862.22-MHz
686-class CPU)
Origin = "GenuineIntel" Id = 0x6ec Stepping = 12
Features=0xbfe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0xc189<SSE3,MON,EST,TM2,XTPR,RSVD15>
Hyperthreading: 2 logical CPUs

Petr

Actions #5

Updated by dillon about 17 years ago

I wonder if there is a BIOS option that has to be turned on to enable
the APIC.

-Matt
Matthew Dillon
&lt;&gt;
Actions #6

Updated by elekktretterr about 17 years ago

I looked into the BIOS, but only found Dual-Core Enable/Disable option,
and thats set to Enabled. I think Linux enables local APIC during boot or
something like that I read on google.

Petr

Actions #7

Updated by elekktretterr about 17 years ago

J just checked FreeBSD current and it properly enables both cores. I tink it
would be because they get the local apic table from ACPI and not from the
BIOS correct? What's the chance you or someone will get to port this from
FreeBSD within the next 6 months?

Actions #8

Updated by elekktretterr about 17 years ago

Matt,
How difficult would it be to make the APIC table be "read" from ACPI like
FreeBSD does it? (this is just a question, not an implication that you or
someone else do it at this very minute.)

Cheers,
Petr

Actions #9

Updated by dillon about 17 years ago

:Matt,
:How difficult would it be to make the APIC table be "read" from ACPI like
:FreeBSD does it? (this is just a question, not an implication that you or
:someone else do it at this very minute.)
:
:Cheers,
:Petr

I think we already do it to a degree, it may not be enabled or may not
be the source of the problem, or the MP table may be overriding it.
I'm not really sure.  I'm afraid all of my time is being spent on
HAMMER, I can't afford to mess with ACPI now. That shouldn't stop
someone else from trying, though.
-Matt
Matthew Dillon
&lt;&gt;
Actions #10

Updated by tuxillo about 17 years ago

El Mon, 10 Dec 2007 15:44:44 -0800, Matthew Dillon escribió:

Hello

Same here. I have taken a shot of my screen when booting.

Could you please take a look to the following picture and tell me whether
is the same error?

http://leaf.dragonflybsd.org/~tuxillo/bugs/smp/smp.jpg

Cheers

Actions #11

Updated by elekktretterr about 17 years ago

Hi,
It's the same error.

Petr

Actions #12

Updated by mneumann almost 17 years ago

Same problem on my laptop (HP Compaq 6710b, Core 2 Duo). I browsed through the
mp_machdep.c code and noticed that it has nothing to do with not finding the
local apic. The CPU itself is not detected as MP capable in mp_probe().
mptable_pass1() is never called in this situation, which leads to the wrong
panic ("no local apic").

Please change in platform/pc32/i386/machdep.c in function getmemsize() the line:

mp_probe();

to

if (mp_probe() == 0)
{
panic("CPU not detected as MP capable");
}

This will give you a more appropriate error message, nothing more.

The whole problem arises because search_for_sig don't find a "_MP_" signature in
memory. The relevant changes were introduced in FreeBSD in version 1.220 of
mp_machdep.c:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/i386/mp_machdep.c?r=1.220

Actions #13

Updated by elekktretterr almost 17 years ago

Well when I boot with a UP kernel, it says 2 logical cpus found. So do we have
the same problem?

It would be great if someone ported this newer code from freebsd or at least
did something about this problem. I think theres a lot of people that can't
get SMP to work due to this problem.

Petr

Actions #14

Updated by mneumann almost 17 years ago

My guess is that this output comes from CPUID and has nothing to do with
the SMP boot problem you see. So I think yes, we probably have the same
problem.

Yes, that would be great.

Regards,

Michael
Actions #15

Updated by majeru over 16 years ago

Hello,

I also have a HP 6710b laptop with a T7500 CPU and I get this error.
Can anyone with more experience in this field give a hint on what could be
changed to fix it?

Cristi

Actions #16

Updated by josepht over 16 years ago

Petr,

Try this patch.

Joe

Actions #17

Updated by josepht over 16 years ago

Actually that probably won't work. Can you try running mptable and
see if it is able to find the MP table? If it can we should be able
fix mp_probe to search in the extra areas where mptable does. This
should probably be done anyway.

Joe

Actions #18

Updated by elekktretterr over 16 years ago

Youre right, the patch didnt work. Running mptable shows "MP FPS NOT found"

Cheers,
Petr

Actions #19

Updated by mneumann over 16 years ago

The same applies to my HP Compaq 6710b laptop. FreeBSD had a lot of
changes to overcome these issues and they started to use ACPI (or fall
back to) to enumerate the CPUs.

Regards,

Michael
Actions #20

Updated by tuxillo over 15 years ago

Hi all,

For some motherboards (almost 90% that I've used), there's a setting in the BIOS
so you can choose MPS version 1.1 or 1.4.
The most probable thing is that it makes no difference and that mptable will
still return "MP FPS NOT found", but I think it is worth of giving a try with
both versions to make 100% sure it doesn't work at all.

If any difference, please update this ticket.

Regards,
Antonio

Actions #21

Updated by sepherosa over 15 years ago

grab

Actions #22

Updated by sepherosa over 15 years ago

After ACPI MADT LAPIC enumeration introduction, all reports show this issues
could be closed :)

Actions

Also available in: Atom PDF