From patchwork Mon Jul 29 12:56:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Campbell X-Patchwork-Id: 2834940 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 2D2C3C0319 for ; Mon, 29 Jul 2013 12:56:54 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id F2A88201C4 for ; Mon, 29 Jul 2013 12:56:52 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6625B200F2 for ; Mon, 29 Jul 2013 12:56:50 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1V3n0K-00030E-6v; Mon, 29 Jul 2013 12:56:48 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1V3n0I-0000DS-4h; Mon, 29 Jul 2013 12:56:46 +0000 Received: from smtp.eu.citrix.com ([46.33.159.39]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1V3n0E-0000C5-Ft for linux-arm-kernel@lists.infradead.org; Mon, 29 Jul 2013 12:56:43 +0000 X-IronPort-AV: E=Sophos;i="4.89,769,1367971200"; d="scan'208";a="7222315" Received: from lonpmailmx01.citrite.net ([10.30.203.162]) by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5; 29 Jul 2013 12:56:20 +0000 Received: from norwich.cam.xci-test.com (10.80.248.129) by smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id 8.3.298.1; Mon, 29 Jul 2013 13:56:19 +0100 Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc) by norwich.cam.xci-test.com with esmtp (Exim 4.72) (envelope-from ) id 1V3mzq-0006qH-MM; Mon, 29 Jul 2013 12:56:18 +0000 From: Ian Campbell To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] arm: update advice on kernel and FDT load address. Date: Mon, 29 Jul 2013 13:56:18 +0100 Message-ID: <1375102578-5869-1-git-send-email-ian.campbell@citrix.com> X-Mailer: git-send-email 1.7.2.5 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130729_085642_746452_87E5565B X-CRM114-Status: GOOD ( 14.34 ) X-Spam-Score: -3.4 (---) Cc: Nicolas Pitre , Dave Martin , Russell King , Ian Campbell , Will Deacon , Grant Likely X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Based on the discussion in [0]: - Recommend that the kernel be placed under 128MiB ("for automatic RAM location to work", says Nico) - Recommend that DTB larger than ~16KiB be placed after the 128MiB boundary (in order to avoid conflicting with the kernel decompressor, kernel is at most 32MiB) and within the lowmem region. Somewhat arbitrarily recommend placement below the 256MiB boundary, the real lowmem limit is likely up around 600-800MiB but varies. [0] http://article.gmane.org/gmane.linux.ports.arm.kernel/254538 Signed-off-by: Ian Campbell Cc: Russell King Cc: Nicolas Pitre Cc: Will Deacon Cc: Dave Martin Cc: Grant Likely Cc: linux-arm-kernel@lists.infradead.org --- Documentation/arm/Booting | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting index 0c1f475..72c035e 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/Booting @@ -125,6 +125,13 @@ with the caveat that it may not be located at physical address 0 since the kernel interprets a value of 0 in r2 to mean neither a tagged list nor a dtb were passed. +If the DTB is larger than ~16KiB, such that placement in the first +16KiB would lead to a conflict with the kernel loaded at 32KiB (as +recommended below) which uses the memory between 16KiB-32KiB itself, +then the DTB should be placed after the first 128MiB of RAM in order +to avoid conflicting with the kernel decompressor. The recommnded +placement in this case just below the 256MiB boundary. + 5. Calling the kernel image --------------------------- @@ -136,9 +143,10 @@ is stored in flash, and is linked correctly to be run from flash, then it is legal for the boot loader to call the zImage in flash directly. -The zImage may also be placed in system RAM (at any location) and -called there. Note that the kernel uses 16K of RAM below the image -to store page tables. The recommended placement is 32KiB into RAM. +The zImage may also be placed in system RAM and called there. The +kernel should be placed in the first 128MiB of RAM. Note that the +kernel uses 16KiB of RAM below the image to store page tables. The +recommended placement is 32KiB into RAM. In either case, the following conditions must be met: