A Funny Thought On Memory


Well seeing as we've got the source to the magiceyes kernel (I think. The open2x project has it doesnt it?) couldnt we just recompile the kernel with support for 64mb of ram as opposed to 32mb?

Yes, but then you would lose anything that GPH placed into the MagicEyes Kernel, such as USB support, SD/MMC support, LCD support, SDL support, etc. They would all have to be implemented by someone else, unless GPH released the source code to there own kernel.

Also, by compiling a 64MB-aware Kernel, you instantly lose all dual-core support, which includes losing mpeg decoding, so it no longer is a PMP, but just a basic gaming & emulation machine.
 
Last edited by a moderator:
Why would you lose dual core support and mpeg encoding?

The second processor doesn't have an MMU, and can't share the primary processors MMU, and so needs it's own physical ram. We can't provide this by a user program, as user programs are only allowed to access virtual memory - so the memory pointers used by the primary processor would be totally useless for the secondary processor. You also can't allocate an amount of memory and then lookup the physical addresses, as the virtual memory would be contiguous, but there would be no guarantee that the physical memory underneath would be.

Also, the mpeg decoding stuff needs to be in memory at a certain address (0x03000000), and expects its data at a certain address (0x02000000). So if we compile a 64MB-aware Linux, the OS would claim these addresses for itself, rather than leaving them available for the second processor. The only way around this is to recompile the mpeg decoding software, and we do not have the source to do so.

So, we have a number of choices (if we compile our own kernel) :

32MB for Linux, 32MB available for second processor. MPEG decoding capable.
48MB for Linux, 16MB available for second processor. No MPEG.
64MB for Linux, No second processor support, No MPEG.

(Second processor needs an address divisable by 16MB, so you can't allocate just 4MB for the second processor, for example)
 
Last edited by a moderator:
Back
Top