2007-09-20 12:39:11

by Joerg

[permalink] [raw]
Subject: Problems with 2.6.23-rc6 on AMD Geode LX800

Hello all,
yesterday I tried to boot a kernel built from the current wireless-dev git tree (ath5k branch)
on a MSEP800/A board (see http://www.milesie.co.uk/pdf/MSEP800.pdf). The board
contains an AMD Geode LX800 CPU.
The wireless-dev tree is up to date with Linus kernel 2.6.23-rc6.

Attached is a photographic screen shot. The EIP value of c0378dd6 seems to correspond with the
reserve_bootmem_core from System.map:

c0378d51 t free_bootmem_core
c0378da7 T free_bootmem
c0378db2 T free_bootmem_node
c0378dba t reserve_bootmem_core
c0378e14 T reserve_bootmem
c0378e1f T reserve_bootmem_node

Additionally I'm sending the .config file used to compile the kernel.

Additional information:
* The last known good kernel on the MSEP800/A is 2.6.20.14
* The exact same kernel binary boots fine (well, until it tries to mount /) on a standard desktop PC with a 2.5GHz Celeron CPU.

Am I doing something stupid or is Linux currently broken on this CPU?

Thanks in advance and kind regards
Joerg


__________________________________
Alles was der Gesundheit und Entspannung dient. BE A BETTER MEDIZINMANN! http://www.yahoo.de/clever


Attachments:
Linux-2.6.23-on-GeodeLX800.jpg (131.57 kB)
config-2.6.23-rc6 (55.76 kB)
Download all attachments

2007-09-20 17:00:41

by Chuck Ebbert

[permalink] [raw]
Subject: Re: Problems with 2.6.23-rc6 on AMD Geode LX800

On 09/20/2007 08:32 AM, Joerg Pommnitz wrote:
> Hello all,
> yesterday I tried to boot a kernel built from the current wireless-dev git tree (ath5k branch)
> on a MSEP800/A board (see http://www.milesie.co.uk/pdf/MSEP800.pdf). The board
> contains an AMD Geode LX800 CPU.
> The wireless-dev tree is up to date with Linus kernel 2.6.23-rc6.
>
> Attached is a photographic screen shot. The EIP value of c0378dd6 seems to correspond with the
> reserve_bootmem_core from System.map:
>
> c0378d51 t free_bootmem_core
> c0378da7 T free_bootmem
> c0378db2 T free_bootmem_node
> c0378dba t reserve_bootmem_core
> c0378e14 T reserve_bootmem
> c0378e1f T reserve_bootmem_node
>

Can you post disassembled code for that function?

2007-09-20 23:52:31

by Jordan Crouse

[permalink] [raw]
Subject: Re: Problems with 2.6.23-rc6 on AMD Geode LX800

Chuck Ebbert wrote:

> On 09/20/2007 08:32 AM, Joerg Pommnitz wrote:
>> Hello all,
>> yesterday I tried to boot a kernel built from the current wireless-dev git
>> tree (ath5k branch)
>> on a MSEP800/A board (see http://www.milesie.co.uk/pdf/MSEP800.pdf). The
>> board
>> contains an AMD Geode LX800 CPU.
>> The wireless-dev tree is up to date with Linus kernel 2.6.23-rc6.
>>
>> Attached is a photographic screen shot. The EIP value of c0378dd6 seems to
>> correspond with the
>> reserve_bootmem_core from System.map:
>>
>> c0378d51 t free_bootmem_core
>> c0378da7 T free_bootmem
>> c0378db2 T free_bootmem_node
>> c0378dba t reserve_bootmem_core
>> c0378e14 T reserve_bootmem
>> c0378e1f T reserve_bootmem_node
>>

> Can you post disassembled code for that function?

Its hitting a bug - specifically (from bootmem.c:125):
BUG_ON(PFN_DOWN(addr) >= bdata->node_low_pfn);

I hit this problem on a db800 last week. It went away with a newer
version of the BIOS, which doesn't help Joerg any, since its a different
board (though I think it is the same BIOS vendor). Other BIOSes work
just fine with the same kernel image (including known troublemakers like
LinuxBIOS). I believe that 2.6.22 was good, so some change must
have come along in 2.6.23-pre to cause the pain. Or, it may have exposed
old breakage in the BIOS that was later repaired.

I'll do the math to figure out whats happening - and I'll check the release
notes to see what changed in the BIOS between the failing and working
version. If anybody familiar with arch/i386 can think of something
new in the kernel that may have precipitated this, do let me know. :)

Jordan
--
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.


2007-09-25 08:39:17

by Joerg

[permalink] [raw]
Subject: RE: Problems with 2.6.23-rc6 on AMD Geode LX800

Chuck, Jordan,
thanks for taking an interest in this problem. As suggested by Jordan I tried a new
BIOS revision from
http://www.digitallogic.ch/index.php?id=256&dir=/MSEP800%20-%20SM800PCX%20%20-%20MPC20%20-%20MPC21&mountpoint=23

Unfortunately the kernel still fails to boot in the same way.

Do you still need the disassembled reserve_bootmem_core?
--
Thanks and kind regards
Joerg



________
Yahoo! Clever: Stellen Sie Fragen und finden Sie Antworten. Teilen Sie Ihr Wissen. http://www.yahoo.de/clever

2007-09-25 15:10:08

by Jordan Crouse

[permalink] [raw]
Subject: Re: Problems with 2.6.23-rc6 on AMD Geode LX800

On 25/09/07 01:38 -0700, Joerg Pommnitz wrote:
> Chuck, Jordan,
> thanks for taking an interest in this problem. As suggested by Jordan I tried a new
> BIOS revision from
> http://www.digitallogic.ch/index.php?id=256&dir=/MSEP800%20-%20SM800PCX%20%20-%20MPC20%20-%20MPC21&mountpoint=23
>
> Unfortunately the kernel still fails to boot in the same way.

You'll have to contact Digital Logic and have them check with the BIOS vendor
to see if the fix was made in that version or not. I don't have that
particular board, so I can't try out the fixes here.

I'm still trying to track down the particulars of the fix from the BIOS
vendor. I'll let you know.

> Do you still need the disassembled reserve_bootmem_core?

Sure - you might as well - just to make sure its the same problem.

Jordan

--
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.