lkml.org 
[lkml]   [2018]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86/boot/e820: add new chareater "-" to free BIOS memory in memmap bootargs

On 2018/4/17 下午9:47, Thomas Gleixner wrote:
> On Tue, 10 Apr 2018, zoucao@linux.alibaba.com wrote:
>> From: zoucao <zoucao@localhost.localdomain>
> Interesting from ... Please use your real mail address for this.
miss this, i will do it.
>> Normally every BIOS reserved memory is used for some features, we can't
>> use them, but in some conditions, users can ensure some BIOS memories
>> are not used and reserved memory is well to free, they have not a good
>> way to free these memories, here add a new chareater "-" in memmap to
>> free reserved memory.
> I'm not really convinced about this. How should anyone without detailed
> BIOS knowledge know that this is really reusable?
>
> The person who knows must have access to the BIOS developer, so why can't
> the BIOS be fixed instead?
>
> Thanks,
>
> tglx
>
>> Signed-off-by: zou cao <zoucao@linux.alibaba.com>
>> ---
>> 7u/Documentation/kernel-parameters.txt | 6 ++++++
>> 7u/arch/x86/kernel/e820.c | 3 +++
>> 2 files changed, 9 insertions(+)
>>
>> diff --git a/7u/Documentation/kernel-parameters.txt b/7u/Documentation/kernel-parameters.txt
>> index 9a1abb99a..dbea75e12 100644
>> --- a/7u/Documentation/kernel-parameters.txt
>> +++ b/7u/Documentation/kernel-parameters.txt
>> @@ -1677,6 +1677,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
>> or
>> memmap=0x10000$0x18690000
>>
>> + memmap=nn[KMG]-ss[KMG]
>> + Free E820 reserved memory, as specified by the user.
>> + Region of reserved memory to be free, from ss to ss+nn.
>> + Example: free reserved memory from 0x18690000-0x186a0000
>> + memmap=0x4101000-0x6aeff000
>> +
>> memory_corruption_check=0/1 [X86]
>> Some BIOSes seem to corrupt the first 64k of
>> memory when doing things like suspend/resume.
>> diff --git a/7u/arch/x86/kernel/e820.c b/7u/arch/x86/kernel/e820.c
>> index 174da5fc5..b8a042981 100644
>> --- a/7u/arch/x86/kernel/e820.c
>> +++ b/7u/arch/x86/kernel/e820.c
>> @@ -875,6 +875,9 @@ static int __init parse_memmap_one(char *p)
>> } else if (*p == '$') {
>> start_at = memparse(p+1, &p);
>> e820_add_region(start_at, mem_size, E820_RESERVED);
>> + } else if (*p == '-') {
>> + start_at = memparse(p+1, &p);
>> + e820_remove_range(start_at, mem_size, E820_RESERVED, E820_RAM);
>> } else
>> e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1);
>>
>> --
>> 2.14.1.40.g8e62ba1
>>
>>

\
 
 \ /
  Last update: 2018-04-17 16:42    [W:1.458 / U:0.316 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site