[Top] [All Lists]

Re: smp8634 add memory at dram1

To: David Kuk <>
Subject: Re: smp8634 add memory at dram1
From: David Daney <>
Date: Wed, 14 Nov 2007 08:09:52 -0800
In-reply-to: <>
Original-recipient: rfc822;
References: <>
User-agent: Thunderbird (X11/20070727)
David Kuk wrote:
After study about the memory configuration of sigma smp8634, i found some difficult to accomplish the task.

so my question is if have two 128MB ram separately under dram0 and dram1 controller, where dram0 for linux and dram1 for video decoding. Now the situation is the memory for linux is not enough and video decoding can not use all of it's 128MB at dram1, what we plan to do is to share 64MB at dram1 to the linux kernel as high memory, and only reserved 64MB at dram1 for the video decoding.

first, in MIPS architecture, we found that the kseg0 and kseg1 are mapped to 0x00000000-0x20000000, which include only dram0 controller, so we wish to add the dram1 memory manually to the kernel using function add_memory_region at setup.c , after booting up result the warning that the memory larger than 512 need to configured the kernel support high memory.

then when we configure the kernel to support high memory at menu configure, the kernel when booting up will remind us our CPU do not support high memory due to cache aliases.

Both way will lead the linux can not boot up normally, so what should we do, is there any mis-understanding about the hardware implementation or MIPS design?

I think your understanding of the 8634 is at least close to correct.

It may be possible (but I have not tried it yet) to use the remapping
registers to move dram1 into the first 512MB of the memory space.  If it
is possible, you would then have to modify the gbus access functions
accordingly.  Also the 8634 media drivers would probably have to be
changed as well.  I am not sure about the microcode for the media DSPs,
but if it is dependent on the mapping of the DRAM, then you would
probably have to get the vendor's help.

Let me know if you are successful.

David Daney

<Prev in Thread] Current Thread [Next in Thread>