Received: by 10.213.65.68 with SMTP id h4csp1295364imn; Sat, 7 Apr 2018 23:46:43 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/mJCJgQjb8qrLRPxkRgJP2HO181Rv3dFOx8vh8LB+dCFJ9FCnPN0aHZFZ4BAs7tH77clrP X-Received: by 10.98.152.217 with SMTP id d86mr3126177pfk.18.1523170003549; Sat, 07 Apr 2018 23:46:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523170003; cv=none; d=google.com; s=arc-20160816; b=NOGOT+h38bPrs4EX5sY0XJ3RWM66qZzmHmP05xqorY3zZrVaPxuq91CVmj8jxX8FaP YzaFs4eCMkGL41IwUP85SQxxLIZ7Izp9Bb+GlUrWk4tD5Vv7KrhVc7DJ/LhkhpV0w+Si vx1W31ggDL1N/cz/kAZayzNTtFSM3oTjs1nUO4FsyW8RCdPwiHChkEbAO+meq9oM0NEJ YEVVvmqYlSDcfruMJLvaTwoD0NKewCZFv7j3Sg871iatxEieQnO7Uck52pdDkPOOuB2m T3eR+AfHNKCL9PFRWFN4S1/YXcyvEQQ9RHrlBxj/HE+P2UgG09zUc2M9l7D/UBq6qkqv wwDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=rgKAtaAZp3ghlHBjYh7EA25BK9UwEAKpQBq1VGUU8WM=; b=RKu0iiEStkeROknXBrDASFA1vecP/5kUWcHWniRgHRiBM0jIaPOz337aPL+PvYOsJU vzpnHv4ff/xvX8KXj2Jdj4OLE+4TEb4M1gIoCcddKpYSGycfhU6HsoxpLix9wq8+yMIE T5foai2iDKz0CT+PAXL8Ib/XqnDi5pLSivn4kwVZIC2OpRFJibJ5qtaqaojGanuiIzNU odhXiHyuhFjWDuD/h0hSJEEhz+6nPFOJz9KePb6U4JuQzcrSpqqjlbJ4OpX1PJJeXrtD F1/qbdzq2+qYB2kvEa0cNUxHLavTWt80YHNFSgHRxMrSDS//XrQq+TZiIxrqAzuDR+Yy 0OJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r1-v6si12173007plb.430.2018.04.07.23.46.07; Sat, 07 Apr 2018 23:46:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751736AbeDHGnZ (ORCPT + 99 others); Sun, 8 Apr 2018 02:43:25 -0400 Received: from out30-131.freemail.mail.aliyun.com ([115.124.30.131]:36008 "EHLO out30-131.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751126AbeDHGnX (ORCPT ); Sun, 8 Apr 2018 02:43:23 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R501e4;CH=green;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e07417;MF=zoucao@linux.alibaba.com;NM=1;PH=DS;RN=2;SR=0;TI=SMTPD_---0T-q8ln8_1523169795; Received: from localhost(mailfrom:zoucao@linux.alibaba.com fp:SMTPD_---0T-q8ln8_1523169795) by smtp.aliyun-inc.com(127.0.0.1); Sun, 08 Apr 2018 14:43:16 +0800 From: zoucao@linux.alibaba.com To: tglx@linutronix.de Cc: linux-kernel@vger.kernel.org Subject: [PATCH] x86/boot/e820: add new chareater "-" to free BIOS memory in memmap bootargs Date: Sun, 8 Apr 2018 14:41:34 +0800 Message-Id: <20180408064134.77385-2-zoucao@linux.alibaba.com> X-Mailer: git-send-email 2.14.1.40.g8e62ba1 In-Reply-To: <20180408064134.77385-1-zoucao@linux.alibaba.com> References: <20180408064134.77385-1-zoucao@linux.alibaba.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: zoucao Normally every BIOS reserved memory is used for some features, we can not use them, but in some conditions, users can ensure some BIOS memorys are not used and reserved memory is well to free, they have not a good way to free these memroys, here add a new chareater "-" in memmap to free reserved memory. Signed-off-by: zou cao --- 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