[Milkymist-devel] Linux Porting Issues

Sébastien Bourdeauducq sebastien.bourdeauducq at lekernel.net
Sun Aug 16 11:48:44 PDT 2009


Hello, and welcome to this project,

On Sunday 16 August 2009 07.00.11 Takeshi MATSUYA wrote:
> Maybe memory cache problem.
> I suggest a below solution.
> --------------------
> diff cores/lm32/rtl/lm32_include.v cores/lm32/rtl/lm32_include.v.org
> 59c59
> < //`define CFG_DCACHE_ENABLED
> ---
>
>  > `define CFG_DCACHE_ENABLED

I don't see why disabling the data cache should fix anything. The data cache 
operation is totally transparent to the Linux kernel (if it is not, it's a bug 
in the processor design).
A more likely explanation is that the locking primitives are broken (this also 
explains issues #1 and the random nature of #4) and that when the data cache 
is enabled, a race condition occurs which crashes the kernel earlier. 
Disabling the data cache reduces system performance and the race condition 
does not happen in that case.

> [42949373.000000] Mem_init: start=4036e000, end=44000000
> [42949373.040000] Bad page state in process 'swapper'
> [42949373.040000] page:40375dc0 flags:0x00000000 mapping:00000000
> mapcount:1 count:0
> [42949373.040000] Trying to fix it up, but a reboot is needed
> [42949373.040000] Backtrace:
> [42949373.060000] This architecture does not implement dump_stack()

This also looks pretty bad.

Anyway, did you try to put a valid initrd and see if the userland works? You 
should be able to use the initrd image from the Linux demonstration kit at 
Lattice's website, so that you don't have to build your own.

What patches are you using with your Linux kernel btw?

Sébastien



More information about the Devel mailing list