Hi,
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):
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.
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! MOE: mem_alloc: quota: limit=-1 Byte, used=11572080 Byte MOE: mem_alloc: global: avail=57008128 Byte android | Terminating L4Linux. mag | GC: step this=0x108d220 _life = 0x13228 mag | GC: object=0x13228
Thank you for your help so far!
Regards Giorgio
[1] http://os.inf.tu-dresden.de/pipermail/l4-hackers/2011/004773.html [2] http://pastebin.com/nHQYGz6s
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?
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?
Adam
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
On Wed Sep 14, 2011 at 14:09:01 +0200, giowck wrote:
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:
The same can be achieved by adding RAM_SIZE_MB=256 RAM_BASE=0x80000000 to the command line when building the image or it can be added to conf/Makeconf.boot for a default setting.
Adam
l4-hackers@os.inf.tu-dresden.de