From patchwork Tue Jun 25 18:11:00 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leif Lindholm X-Patchwork-Id: 18119 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-qc0-f199.google.com (mail-qc0-f199.google.com [209.85.216.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 9AAC425E4B for ; Tue, 25 Jun 2013 18:06:21 +0000 (UTC) Received: by mail-qc0-f199.google.com with SMTP id a1sf17254249qcx.2 for ; Tue, 25 Jun 2013 11:06:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-beenthere:x-forwarded-to:x-forwarded-for :delivered-to:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-gm-message-state:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-google-group-id:list-post:list-help:list-archive:list-unsubscribe; bh=pkrf5Qd/59Jm726TW6UT44t25ChBMxCMm3xIRltLSFo=; b=HkFzFhW+LZ3j4kKGeurgSBRiRoOx0r+0CPNYZIl5v3MklhSdHqK5hiCvu7LAHAUcBJ vNzvqR+pjhrIlhxBftm3MHw19TF9C5TduaWqqgxDknjEIwWtffFxYI7c3e1xSGJwZd1T eT/1PZjMvpdQLrrK7CoWa4QDkt1SJzOeIEAnSFUU4XHgYuvUaQamWjWpflx/SKspjgZj xqcOevpqxzdpX8RJNTIlkMlvrK/XExT+OCTgRgWqEzoHAdhBRJbT2cBIgH9Q9esgNsnl Hc3WHf+V6h1xKdbU6ri03Gpw/8GFzQrzpjNwwmcCLrNgyWdChC8rpGytl6ex8vPhGqUB 8TOA== X-Received: by 10.236.91.4 with SMTP id g4mr96592yhf.30.1372183581459; Tue, 25 Jun 2013 11:06:21 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.104.112 with SMTP id gd16ls109350qeb.68.gmail; Tue, 25 Jun 2013 11:06:21 -0700 (PDT) X-Received: by 10.220.169.146 with SMTP id z18mr79267vcy.80.1372183581310; Tue, 25 Jun 2013 11:06:21 -0700 (PDT) Received: from mail-vc0-x22c.google.com (mail-vc0-x22c.google.com [2607:f8b0:400c:c03::22c]) by mx.google.com with ESMTPS id uf1si3503110vcb.7.2013.06.25.11.06.21 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 25 Jun 2013 11:06:21 -0700 (PDT) Received-SPF: neutral (google.com: 2607:f8b0:400c:c03::22c is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=2607:f8b0:400c:c03::22c; Received: by mail-vc0-f172.google.com with SMTP id ib11so837220vcb.3 for ; Tue, 25 Jun 2013 11:06:21 -0700 (PDT) X-Received: by 10.220.53.7 with SMTP id k7mr112968vcg.52.1372183581193; Tue, 25 Jun 2013 11:06:21 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.58.165.8 with SMTP id yu8csp78883veb; Tue, 25 Jun 2013 11:06:20 -0700 (PDT) X-Received: by 10.180.13.5 with SMTP id d5mr75895wic.56.1372183579930; Tue, 25 Jun 2013 11:06:19 -0700 (PDT) Received: from mail-wi0-f169.google.com (mail-wi0-f169.google.com [209.85.212.169]) by mx.google.com with ESMTPS id e4si8407434wjw.11.2013.06.25.11.06.19 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 25 Jun 2013 11:06:19 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.212.169 is neither permitted nor denied by best guess record for domain of leif.lindholm@linaro.org) client-ip=209.85.212.169; Received: by mail-wi0-f169.google.com with SMTP id c10so1240229wiw.2 for ; Tue, 25 Jun 2013 11:06:19 -0700 (PDT) X-Received: by 10.194.123.69 with SMTP id ly5mr183278wjb.29.1372183579454; Tue, 25 Jun 2013 11:06:19 -0700 (PDT) Received: from mohikan.mushroom.smurfnet.nu (cpc4-cmbg17-2-0-cust71.5-4.cable.virginmedia.com. [86.14.224.72]) by mx.google.com with ESMTPSA id j20sm4989952wie.7.2013.06.25.11.06.17 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 25 Jun 2013 11:06:18 -0700 (PDT) From: Leif Lindholm To: linux-arm-kernel@lists.infradead.org Cc: linux-efi@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, patches@linaro.org, hpa@linux.intel.com, tglx@linutronix.de, matt.fleming@intel.com, Leif Lindholm Subject: [PATCH 1/4] Documentation: arm: [U]EFI runtime services Date: Tue, 25 Jun 2013 19:11:00 +0100 Message-Id: <1372183863-11333-2-git-send-email-leif.lindholm@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1372183863-11333-1-git-send-email-leif.lindholm@linaro.org> References: <1372183863-11333-1-git-send-email-leif.lindholm@linaro.org> X-Gm-Message-State: ALoCoQmtVuEnKjJWl9WxcJUjxx8zNGuLUKrmyRZaA83L6z78JmerS47/Qd8sbFLgFh+HG9Db/AeG X-Original-Sender: leif.lindholm@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 2607:f8b0:400c:c03::22c is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , This patch provides documentation of the [U]EFI runtime services and configuration features. Signed-off-by: Leif Lindholm --- Documentation/arm/00-INDEX | 3 +++ Documentation/arm/uefi.txt | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 Documentation/arm/uefi.txt diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX index 4978456..87e01d1 100644 --- a/Documentation/arm/00-INDEX +++ b/Documentation/arm/00-INDEX @@ -36,3 +36,6 @@ nwfpe/ - NWFPE floating point emulator documentation swp_emulation - SWP/SWPB emulation handler/logging description + +uefi.txt + - [U]EFI configuration and runtime services documentation diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.txt new file mode 100644 index 0000000..5c48271 --- /dev/null +++ b/Documentation/arm/uefi.txt @@ -0,0 +1,39 @@ +The nomenclature EFI and UEFI are used interchangeably in this document. + +The implementation depends on receiving pointers to the UEFI memory map +and System Table in a Flattened Device Tree - so is only available with +CONFIG_OF. + +It (early) parses the FDT for the following parameters: +- 'efi-system-table': + Physical address of the system table. (required) +- 'efi-runtime-mmap': + Physical address of an EFI memory map, containing at least + the regions to be preserved. (required) +- 'efi-runtime-mmap-size': + Size in bytes of the provided memory map. (required) +- 'efi-mmap-desc-size': + Size of each descriptor in the memory map. (override default) +- 'efi-mmap-desc-ver': + Memory descriptor format version. (override default) + +Since UEFI firmware on ARM systems are required to use a 1:1 memory map +even on LPAE-capable systems, the above fields are 32-bit regardless. + +It also depends on early_ioremap to parse the memory map and preserve +the regions required for runtime services. + +For actually enabling [U]EFI support, enable: +- CONFIG_EFI=y +- CONFIG_EFI_VARS=y or m + +After the kernel has mapped the required regions into its address space, +a SetVirtualAddressMap() call is made into UEFI in order to update +relocations. This call must be performed with all the code in a 1:1 +mapping. This implementation achieves this by temporarily disabling the +MMU for the duration of this call. This can only be done safely: +- before secondary CPUs are brought online. +- after early_initcalls have completed, sinze it uses setup_mm_for_reboot(). + +For verbose debug messages, specify 'uefi_debug' on the kernel command +line.