lkml.org 
[lkml]   [2018]   [Apr]   [16]   [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
any suggestions?

On 2018/4/10 上午10:59, zoucao@linux.alibaba.com wrote:
> From: zoucao <zoucao@localhost.localdomain>
>
> 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.
>
> 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);
>

\
 
 \ /
  Last update: 2018-04-16 13:07    [W:0.108 / U:31.804 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site