[OE-core] [PATCH 1/2] scripts/runqemu: qemumips support up to 2GiB RAM

Hongxu Jia hongxu.jia at windriver.com
Wed Jan 31 09:16:39 UTC 2018


On 2017年12月20日 09:53, Hongxu Jia wrote:
> Ping Ross
>

Ping

//Hongxu

> //Hongxu
>
> On 2017年12月06日 10:46, Hongxu Jia wrote:
>> OE uses qemumips to simulate a Malta board by default.
>>
>> As upstream qemu introduced:
>> https://git.qemu.org/?p=qemu.git;a=commit;h=94c2b6aff43cdfcfdfb552773a6b6b973a72ef0b 
>>
>>
>> The Malta board can support up to 2GiB of RAM which should
>> be able to boot a Linux kernel built with CONFIG_HIGHMEM
>> enabled and passing "-m 2048" to QEMU and appending the
>> following kernel parameters:
>> ...
>> mem=256M at 0x0 mem=256M at 0x90000000 mem=1536M at 0x20000000
>> ...
>>
>> But the following commit in kernel broke above mem=X at Y setting
>> which added the memory as reserved memory area.
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=73fbc1eba7ffa3bf0ad12486232a8a1edb4e4411 
>>
>> ...
>> commit 73fbc1eba7ffa3bf0ad12486232a8a1edb4e4411
>> Author: Marcin Nowakowski <marcin.nowakowski at imgtec.com>
>> Date:   Wed Nov 23 14:43:49 2016 +0100
>>
>>      MIPS: fix mem=X at Y commandline processing
>> ...
>>
>> So remove `mem=*' to disable user-defined physical RAM map
>> which let kernel itself caculates memory ranges.
>>
>> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>> ---
>>   scripts/runqemu | 5 ++++-
>>   1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index f2b4b3c..0ae2f85 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -658,7 +658,10 @@ class BaseConfig(object):
>>               logger.info('QB_MEM is not set, use 512M by default')
>>               self.set('QB_MEM', '-m 512')
>>   -        self.kernel_cmdline_script += ' mem=%s' % 
>> self.get('QB_MEM').replace('-m','').strip() + 'M'
>> +        mach = self.get('MACHINE')
>> +        if mach != 'qemumips':
>> +            self.kernel_cmdline_script += ' mem=%s' % 
>> self.get('QB_MEM').replace('-m','').strip() + 'M'
>> +
>>           self.qemu_opt_script += ' %s' % self.get('QB_MEM')
>>         def check_tcpserial(self):
>
>




More information about the Openembedded-core mailing list