From patchwork Tue Feb 9 13:53:46 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 61533 Delivered-To: patch@linaro.org Received: by 10.112.43.199 with SMTP id y7csp2058157lbl; Tue, 9 Feb 2016 05:58:52 -0800 (PST) X-Received: by 10.66.121.167 with SMTP id ll7mr13318097pab.6.1455026331458; Tue, 09 Feb 2016 05:58:51 -0800 (PST) Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org. [2001:1868:205::9]) by mx.google.com with ESMTPS id ui8si54240967pab.38.2016.02.09.05.58.51 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Feb 2016 05:58:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org designates 2001:1868:205::9 as permitted sender) client-ip=2001:1868:205::9; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org designates 2001:1868:205::9 as permitted sender) smtp.mailfrom=linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aT8nT-00082i-O8; Tue, 09 Feb 2016 13:57:39 +0000 Received: from mail-bn1on0669.outbound.protection.outlook.com ([2a01:111:f400:fc10::669] helo=na01-bn1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aT8ky-0004gt-MH for linux-arm-kernel@lists.infradead.org; Tue, 09 Feb 2016 13:55:06 +0000 Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from rric.localdomain (92.224.192.127) by CY1PR0701MB1614.namprd07.prod.outlook.com (10.163.20.151) with Microsoft SMTP Server (TLS) id 15.1.403.16; Tue, 9 Feb 2016 13:54:48 +0000 From: Robert Richter To: Ard Biesheuvel , Will Deacon , Matt Fleming , Catalin Marinas Subject: [PATCH v4 6/6] arm64/efi: ignore DT memreserve entries instead of removing them Date: Tue, 9 Feb 2016 14:53:46 +0100 Message-ID: <1455026026-11571-7-git-send-email-rrichter@caviumnetworks.com> X-Mailer: git-send-email 2.7.0.rc3 In-Reply-To: <1455026026-11571-1-git-send-email-rrichter@caviumnetworks.com> References: <1455026026-11571-1-git-send-email-rrichter@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [92.224.192.127] X-ClientProxiedBy: AM2PR09CA0006.eurprd09.prod.outlook.com (25.161.22.144) To CY1PR0701MB1614.namprd07.prod.outlook.com (25.163.20.151) X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1614; 2:Cu0BWKVRoESR7kVMEN+hHugfkzW+KbbkEx1nrIkB/LNoteBrT+qaGveCRqAbT5kqaabVrQw7M9T/bIkH9U/o+2kkRQgZ7wHV34ygYlQxeTT0Ezga34Ks0Px8aGdbKK94JRW1f/7gDHW7QsRssZQdhQ==; 3:tzeHz6E41ifL1SxwVReaXsjDFO4tTHmiJKD2fC7uwAMAt9ThScSYGPEDKTI5gK/H/WJQGdZ3W63KA1V5c52q4JQNV2X0oZmiVznllmgerf2l2IVEWVZ++YGE56Bc6IP0; 25:F5KIQQzr88LSyizOu+oQsViutWQJ2Fz53ECnN4Yk6GQ5gn9o/fLS/AOzSYPBDeFm4N/D0JL9OBkOnBZ6PU1M8ZEnsHpahDztey1w1z1cUrOnbhd2o71+biOvpUUv+ttmjJ/5w1zuHJcldZGHl+IRx4Jw3WKetHTJqMehm+UmDiTMPYLFTZmmWVqZNJ8nLvmbaQVrOUpKAMFt5Zik7eR77f7DU9lwmf40k4H2gZMiCyB8Xgyq/klrn8kLZDOEHb8iZKdGH4SNKqv25l8XWmfl7SIHmTY7qElB4y4txOEsvZI9QgPFziMe8GxftH+kTWFH X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1614; X-MS-Office365-Filtering-Correlation-Id: f754cb3b-02ff-4315-bef9-08d3315894b0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1614; 20:r1//V3nRruccT0XziaRxzepO5CPI8ypwOQiiP3SMFyeuc8m9vUwKidu5c2wDTaB2nET3KrDpMcAj+kn8Isfsq3Ei0nOl7u3Rvrl7eEBcxBIPg3I4qjOCC50Tj3AuGkU/faamsUndB5VC6wK+fjcwxg6+U2wGICIpjtE0S+cmMucr2CLpS9uQOFugQkP3X54ZU6YmN3B1gq4Whbw+l1WMzb9YS2NnfSwmxy8TvOYczzbvzgww+aDXMvpJRPeAfN6rbGEmlg1wOCycqSVaKoN6HEQhZhEu6a7X57kY3LZ0UfTpQwZUtFaQ+FfNVRw6B+BRFhk31jd0mOPXzQe2O4tqCLOr1sLujPaU9T3lWqU8vW9IfFLSCbo7liTMxqnwZoZhdMvGhocvq3N+1o7QIumUMhfm4zKN/G1qQVc/jRJmLKbrK0AiCUN6wlGd/d1D2WN7mTCyRRQ0DBCgtiI85aXStfs5RqMhV/rQRTk3zi3NI521Y0EkIHrO4pzkzcxv6AhlDikDgBls2Ia35KlG1Jq+VRw7Yy3jRTgvorEnMwAjr2eJPkX3HiEV0PJSrygDvnA/lYQpqrD3UfHvVFHKG1X/eWmJGGuTbByN1wL6AORUbp4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:CY1PR0701MB1614; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1614; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1614; 4:01IpQATsjYNM5pLUfemDfCptZFKFqV9Sj2Ouz7le6asI3sfPwU9x9K3Bh0ZI+74MqiR5NSm8hRKmOwZ9OJP1Su1mqGeIzVs5cwKvHZy7NbRAicx5wZGfTbr8Qzko/T/cg21WhDe9U+tIkhJpzJ/0+rtMkN2mRP1299fhDgbdLcLt1GnAPrrHPJaw3QTZ66GPpfYa6ppmQIXllfB5tKA+7kAP+aoeT5yycCDDb6gkZxKyVnZyzoHjxayZPePKRKXeYVedg9XEnRpxjN5tjjBG04eST1jp7vQJ3wBrl5msiXVaUwEZ61a0IsEnt+P/8btNv1aciq6UCCQ5Bk9OycX9crn9W+uHIpI+/OEywD1MuAQh8BXjN6LGm/XH+N785FTC X-Forefront-PRVS: 08476BC6EF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(40100003)(229853001)(48376002)(33646002)(5001770100001)(5001960100002)(5003940100001)(36756003)(122386002)(76176999)(50986999)(42186005)(50466002)(92566002)(50226001)(2950100001)(4326007)(2906002)(189998001)(5008740100001)(5004730100002)(19580395003)(77096005)(66066001)(19580405001)(1096002)(47776003)(6116002)(87976001)(586003)(3846002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1614; H:rric.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1614; 23:QEh5wVG2S5DGpXK05eynr5/gVzlcQWVM+q6qddX8FztVBm07MaP4Wxx6jCknOmp8a8hkV9wzoUyp1oDRX3Hi0TjxpKAjjBTglsBPrHSZF9z4aNmiiiMI6fuK1w7DrUSmRJIPwi2H2NaXcz7sM6FlwhggIvjxF6pgzCfne7TF+PUSWjeVmUKWRXbGJ9v3q5AV4UuZGsGIVbkqs7CUKLtvIlBzm2y3CkKUzZYel66bgRowRbDM/r9i+tninuITidP1XXOn6e5EHR16T4p2S8hxcz+YeVYgMigFpX019LVu+mhzkYDP6W4te8cSWw0Rybl26DevJRY3vvLVDNW390cdSjoErC+3hWzgUotwIAvD3H2Kdycxt6dSb3mUgiKzsn4oBdwC2MjyZuQ4vbfMfDrkhgtdjCpkuNCVB2829suHLCMBwhSKJNzL+k9BDifDzGGFyLBKEx+Dycy9imkhvSsWFP045uF3xn0kH4ditrLdeiTlK1ojuqtmti6mvs3v+hjMfjwlvkYhIfJjs6k7R43GlGIFouraD1+6zFk+0/QdMpqyLJiIGOnRbzyNx3SabtVRg3lmtRYiFg/xzQNr9y8Mcw0QgGz7Dj0/cJb+0lwD3Iu8iRO08AP4ktFj+Q+jqbJXPVX65dKZmziGQbA3Ekh8uSQHio/k8zVQQsRk7rWcm3CN3h5bEyi6MSHE68Ys692JPqrmlLsu3VDLVBztUJVFns5tLrEkLV4MSwIkWgXOTw++Fm/3bo1/kjsFj1YqoPa2qKN6tAhcXK/IccIp0uVzjbVjOqEboXTIKtT0aWVHoX7UEm94qREVLk1Naz1A8sm4eZ6AQQyiQM3PEo6RPvQE3X4bwRT/gPyvoW3/ZpXziSi2R6btTmXgz3mbjKAP8aelBt8KQ53hfnVYGpptZaIA0A== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1614; 5:6G452ql/3cYz0bCEXKMrCOQkpNjvlt7IcaictzbtQs6t4a2tpbBZHK2xOMvg3AyX2gGBCvDtB33QPYCIlcgwHxOjfOON8r1+nKcn0P1L/1L9qz6u2bMoxtkwH95EqOUWPKCvhdz2+zVE8N2JjqsAbQ==; 24:mx8hQUYxeg06Ssl4+M9Vz9WY+iQTG+9kl7ye+HZ9EfKfXNl34lgNFPrklcAQ+JNENNfwFHpKst83pfh8xrgsns2goKCWIk22wmJdTOONx4Q= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2016 13:54:48.5708 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1614 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160209_055505_061215_B8DBE989 X-CRM114-Status: UNSURE ( 9.11 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a01:111:f400:fc10:0:0:0:669 listed in] [list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org, Leif Lindholm , Robert Richter , Mark Salter , Ganapatrao Kulkarni , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org From: Ard Biesheuvel Now that the reservation of the FDT image itself is split off from the processing of memory reservations described by the device tree, we can make the DT scanning of memreserves conditional on whether we booted via UEFI and have its memory map available. This allows us to drop deletion of these memreserves in the stub. It also fixes the issue where the /reserved-memory node (which offers another way of reserving memory ranges) was not being ignored under UEFI. Note that this reverts 0ceac9e094b0 ("efi/arm64: Fix fdt-related memory reservation"). Acked-by: Leif Lindholm Signed-off-by: Ard Biesheuvel Message-Id: <1442881288-13962-7-git-send-email-ard.biesheuvel@linaro.org> Signed-off-by: Robert Richter --- arch/arm64/mm/init.c | 3 ++- drivers/firmware/efi/libstub/fdt.c | 11 +---------- 2 files changed, 3 insertions(+), 11 deletions(-) -- 2.7.0.rc3 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index eda226e85c71..ee061658866f 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -171,7 +171,8 @@ void __init arm64_memblock_init(void) memblock_reserve(__virt_to_phys(initrd_start), initrd_end - initrd_start); #endif - early_init_fdt_scan_reserved_mem(); + if (!efi_enabled(EFI_MEMMAP)) + early_init_fdt_scan_reserved_mem(); /* 4GB maximum for 32-bit only capable devices */ if (IS_ENABLED(CONFIG_ZONE_DMA)) diff --git a/drivers/firmware/efi/libstub/fdt.c b/drivers/firmware/efi/libstub/fdt.c index 9df1560d57bc..12cb2a30a63f 100644 --- a/drivers/firmware/efi/libstub/fdt.c +++ b/drivers/firmware/efi/libstub/fdt.c @@ -24,8 +24,7 @@ efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt, unsigned long map_size, unsigned long desc_size, u32 desc_ver) { - int node, num_rsv; - int status; + int node, status; u32 fdt_val32; u64 fdt_val64; @@ -53,14 +52,6 @@ efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt, if (status != 0) goto fdt_set_fail; - /* - * Delete all memory reserve map entries. When booting via UEFI, - * kernel will use the UEFI memory map to find reserved regions. - */ - num_rsv = fdt_num_mem_rsv(fdt); - while (num_rsv-- > 0) - fdt_del_mem_rsv(fdt, num_rsv); - node = fdt_subnode_offset(fdt, 0, "chosen"); if (node < 0) { node = fdt_add_subnode(fdt, 0, "chosen");