Interesting question.
I think on model side it is controlled by 'bp.dram_size' parameter (set it with -C option):
[kamensky@kamensky-w530 fastmodels]$ ./FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A --list-params | grep dram_size bp.dram_size=0x4 # (int , init-time) default = '0x4' : Size of main memory in gigabytes (2, 4 or 8) : [0x2..0x8]
However when I tried it, it did not have any effect, and even if list-params help claims that default is 4Gb, my Linux kernel sees only 2Gb.
I think the next issue is some setting in uefi loader: uefi creates memory regions list that is passed to the kernel. I see in uefi:
./ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
# System Memory (2GB) gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000 gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000
and I cannot set it much bigger because PcdSystemMemorySize is defined as UINT32 in ./ArmPkg/ArmPkg.dec like this:
# System Memory (DRAM): These PCDs define the region of in-built system memory # Some platforms can get DRAM extensions, these additional regions will be declared # to UEFI by ArmPLatformPlib gArmTokenSpaceGuid.PcdSystemMemoryBase|0|UINT32|0x00000029 gArmTokenSpaceGuid.PcdSystemMemorySize|0|UINT32|0x0000002A
At this point I don't see where/how to change ArmPLatformPlib get more memory available to Linux.
Thanks, Victor
On 6 February 2014 13:35, Tom Gall tom.gall@linaro.org wrote:
Is there a way to set how much memory an armv8 box will get when running in the model?
I'll really like to avoid setting up swap :-)
Thanks!
-- Regards, Tom
"Where's the kaboom!? There was supposed to be an earth-shattering kaboom!" Marvin Martian Tech Lead, Graphics Working Group | Linaro.org │ Open source software for ARM SoCs w) tom.gall att linaro.org h) tom_gall att mac.com
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev