> We've got an SMP8634 based set-top box from a 3rd party and are trying to
> port some middleware to it.
> Everything seems to work out fine, except for one thing ... the amount of
> memory for kernel space.
> The box physically has two 64MB chips and two 32MB chips.
> The kernel is only seeing the two 32MB chips, apparently attached to DRAM0.
> The problem is the following:
> 1) The middleware requires more memory in kernel space to allocalte big
> graphical surfaces.
> 2) Whatever runs before the kernel is also from a 3rd party and we don't
> have access to it.
> 3) We can't change anything on the box hardware.
> This means, we would only be able to patch starting from the Linux kernel.
> Do you see any way to swap what the kernel sees to be 128MB instead of 64MB
> and the user space 64MB minus whatever is allocated for the initial RAM
> The 64MB for user space are sufficient, we just need more then 64 MB on
> kernel space.
It depends if the 128MB is on DRAM0 or DRAM1. Typically DRAM1 is not
usable by the kernel, although others have tried to access it as high-mem.
If DRAM0 is 128MB, *and* you have access to the kernel command line, you
might try to append something like 'mem=96M'. You may need to leave
some space in DRAM0 for the media components. If not try jacking it up
to mem=128M. Said media components do need memory too, so it may not be
possible to get more for the kernel and have it all work together.