From patchwork Mon Oct 19 13:19:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suzuki K Poulose X-Patchwork-Id: 55227 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f200.google.com (mail-lb0-f200.google.com [209.85.217.200]) by patches.linaro.org (Postfix) with ESMTPS id 2D9CB22EA2 for ; Mon, 19 Oct 2015 13:20:56 +0000 (UTC) Received: by lbcao8 with SMTP id ao8sf44902952lbc.1 for ; Mon, 19 Oct 2015 06:20:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:in-reply-to:references:content-type :content-transfer-encoding:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe; bh=b6ZL5LK7U2Se7HRwah+9IvacxnjsfZWb+2RF6zbeWOQ=; b=c0mOEhYsr7vlY01q5AH1FRUd/V/HeCqw/vaTxZVShhmRSFOiyns2tL4cweMXjEs8rw 1DtVJ24gKTqDh4iUONqkOtsxo3Q4opvM7tUzQso5aFtSVhW+gkWNbsz9op/PPmegYV3g mJ7MnVJ8ftaUhbfmfuFu8TXLVfiLtkqiBZoXqAnBI+PP94pzQ4t51cixR+jMKbgSfgB0 pxdfyHDDQj+NzUaJo4rdCd/GhXC/PXftghzlZI+vhji1T6/8xF9xHZjwkAej2XlQOtlA 76no/qHo+YBFJiRN6NDRtaSAhgxB6QUIKcv84PnciQV1cJaUyEl6ytVpxO2AwiI6lmqj X46Q== X-Gm-Message-State: ALoCoQlc35CFYSGXsMfh+lqlZOY7f1p0GWg9eMHxEf1SskIeSmhpbvk60C7S7V4fMtsiXnczMepS X-Received: by 10.180.35.132 with SMTP id h4mr4204123wij.5.1445260855189; Mon, 19 Oct 2015 06:20:55 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.25.151.149 with SMTP id z143ls165906lfd.104.gmail; Mon, 19 Oct 2015 06:20:54 -0700 (PDT) X-Received: by 10.112.147.10 with SMTP id tg10mr15011643lbb.58.1445260854968; Mon, 19 Oct 2015 06:20:54 -0700 (PDT) Received: from mail-lf0-f50.google.com (mail-lf0-f50.google.com. [209.85.215.50]) by mx.google.com with ESMTPS id sm5si22837599lbb.88.2015.10.19.06.20.54 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Oct 2015 06:20:54 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.50 as permitted sender) client-ip=209.85.215.50; Received: by lffy185 with SMTP id y185so111105992lff.2 for ; Mon, 19 Oct 2015 06:20:54 -0700 (PDT) X-Received: by 10.25.28.73 with SMTP id c70mr7782408lfc.76.1445260854834; Mon, 19 Oct 2015 06:20:54 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp1469212lbq; Mon, 19 Oct 2015 06:20:53 -0700 (PDT) X-Received: by 10.182.165.131 with SMTP id yy3mr2859630obb.49.1445260851688; Mon, 19 Oct 2015 06:20:51 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j4si9882352obu.64.2015.10.19.06.20.51; Mon, 19 Oct 2015 06:20:51 -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; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753889AbbJSNUk (ORCPT + 28 others); Mon, 19 Oct 2015 09:20:40 -0400 Received: from eu-smtp-delivery-143.mimecast.com ([146.101.78.143]:26030 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753813AbbJSNUi (ORCPT ); Mon, 19 Oct 2015 09:20:38 -0400 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-21-tYCdGQVKQaCqi59dJ5odng-13; Mon, 19 Oct 2015 14:20:31 +0100 Received: from e106634-lin.cambridge.arm.com ([10.1.2.79]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 19 Oct 2015 14:20:23 +0100 From: "Suzuki K. Poulose" To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, mark.rutland@arm.com, marc.zyngier@arm.com, will.deacon@arm.com, catalin.marinas@arm.com, christoffer.dall@linaro.org, steve.capper@linaro.org, ard.biesheuvel@linaro.org, jeremy.linton@arm.com, "Suzuki K. Poulose" Subject: [PATCHv4 10/12] arm64: Add page size to the kernel image header Date: Mon, 19 Oct 2015 14:19:36 +0100 Message-Id: <1445260779-22242-11-git-send-email-suzuki.poulose@arm.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1445260779-22242-1-git-send-email-suzuki.poulose@arm.com> References: <1445260779-22242-1-git-send-email-suzuki.poulose@arm.com> X-OriginalArrivalTime: 19 Oct 2015 13:20:23.0245 (UTC) FILETIME=[E90467D0:01D10A70] X-MC-Unique: tYCdGQVKQaCqi59dJ5odng-13 Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: linux-kernel-owner@vger.kernel.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.50 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , From: Ard Biesheuvel This patch adds the page size to the arm64 kernel image header so that one can infer the PAGESIZE used by the kernel. This will be helpful to diagnose failures to boot the kernel with page size not supported by the CPU. Signed-off-by: Ard Biesheuvel Signed-off-by: Suzuki K. Poulose Acked-by: Catalin Marinas Reviewed-by: Christoffer Dall Acked-by: Mark Rutland --- Documentation/arm64/booting.txt | 7 ++++++- arch/arm64/kernel/image.h | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Documentation/arm64/booting.txt b/Documentation/arm64/booting.txt index 7d9d3c2..aaf6d77 100644 --- a/Documentation/arm64/booting.txt +++ b/Documentation/arm64/booting.txt @@ -104,7 +104,12 @@ Header notes: - The flags field (introduced in v3.17) is a little-endian 64-bit field composed as follows: Bit 0: Kernel endianness. 1 if BE, 0 if LE. - Bits 1-63: Reserved. + Bit 1-2: Kernel Page size. + 0 - Unspecified. + 1 - 4K + 2 - 16K + 3 - 64K + Bits 3-63: Reserved. - When image_size is zero, a bootloader should attempt to keep as much memory as possible free for use by the kernel immediately after the diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h index 6eb8fee..bc2abb8 100644 --- a/arch/arm64/kernel/image.h +++ b/arch/arm64/kernel/image.h @@ -47,7 +47,10 @@ #define __HEAD_FLAG_BE 0 #endif -#define __HEAD_FLAGS (__HEAD_FLAG_BE << 0) +#define __HEAD_FLAG_PAGE_SIZE ((PAGE_SHIFT - 10) / 2) + +#define __HEAD_FLAGS ((__HEAD_FLAG_BE << 0) | \ + (__HEAD_FLAG_PAGE_SIZE << 1)) /* * These will output as part of the Image header, which should be little-endian