Hi,
On 08.09.2011 23:50, Adam Lackorzynski wrote:
Hi,
On Wed Sep 07, 2011 at 09:01:16 +0200, giowck wrote:
when running L4Linux/L4Android on the Beagleboard (rev. C4), only 128MB of 256MB RAM are detected by the bootstrap process.
Here [1] you write that the older Beagleboard has only 128MB, so this is default setting.
As described in that thread, I tried to create the Makeconf.boot file, and it works so far (image is build with 256MB RAM), but still only 128MB are actualy detected (limited by scan):
I suppose u-boot is saying 256MB?
L4 Bootstrapper Build: #30 Di 6. Sep 14:38:47 CEST 2011, 4.5.1 Scanning up to 256 MB RAM Memory size is 128MB (Limited by Scan) (80000000 - 88000000) RAM: 0000000080000000 - 0000000087ffffff: 131072kB Total RAM: 128MB
Please see [2] for the full bootstrap log.
I already tried to adjust manually the support.h and startup.cc file in the src/l4/pkg/bootstrap/server/src directory, resulting exactly the same issue.
What did you change? You removed the scan-function and hard-coded 256?
Now I got it working, thanks to Michael Weiß from the Fraunhofer AISEC, who gave me the following patch, addressed to src/l4/pkg/bootstrap/server/src/platform/omap.cc:
--- omap.cc 2011-06-22 16:44:06.000000000 +0200 +++ omap.bb256.cc 2011-09-09 09:13:04.012093265 +0200 @@ -18,9 +18,24 @@ #include "support.h" #include <l4/drivers/uart_omap35x.h>
+#define BB_256 + namespace { +#ifdef BB_256 +class Platform_arm_omap : public Platform_base +{ + void setup_memory_map(l4util_mb_info_t *, + Region_list *ram, Region_list *) + { + ram->add(Region::n((unsigned long long) 0x80000000, + (unsigned long long) 0x90000000, + ".ram", Region::Ram)); + } +#else class Platform_arm_omap : public Platform_single_region_ram { +#endif + bool probe() { return true; }
void init()
By the way, I think this is causing L4Android to fail during boot, since memory is not correctly allocated: android | l4x_setup_memory: Can't get main memory of 256MB!
Even if the overall system would have 256MB of RAM, how could a single program/VM alone get that amount?
Yes, you're right. Indeed changing the boot args for l4android solved the issue.
Adam
Thanks Giorgio