From patchwork Wed Jun 27 17:17:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leif Lindholm X-Patchwork-Id: 140367 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp1150724ljj; Wed, 27 Jun 2018 10:17:44 -0700 (PDT) X-Google-Smtp-Source: AAOMgpegZBKEbbyZXS7hCGy0BJuLrFes2OUm2PHinHpluKgRCGF5i9V3Kxg8Z0IpxJu6jV/9B5Kb X-Received: by 2002:a37:a20f:: with SMTP id l15-v6mr5854631qke.329.1530119864511; Wed, 27 Jun 2018 10:17:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530119864; cv=none; d=google.com; s=arc-20160816; b=lduBxceKf007MCRDh7h3qSs9K3tTx2PwmYmJhloLBKHUosi/mehiKsaOHKANNUlQ60 oRxVT9T1dUf7UEvq5TmWgQQg1gPVnAmaaTvIEtblj6zc5Omh/RRdNJ4+TZSOv86j52kZ rPQNUy5BpP62UGfvCZVUDCY8rL/V2EwmyOlKe4/JpVVYyPMy7lll/BM1tAAL0Ao91alP yWKPLPbfJKrASxaNzDLdPfqWsEn5DyfVJN3JPW+gjPnPpNRWb8Y7/Mg4Zc1mRGmYN/ZQ dVeIN0jNF5xgMeynGIOjuAxGRknUIbBvF+4YamG7avtbc6wJpQr6DUI/6PHKivQiaYVN Jf6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:message-id:date:subject:to:from:dkim-signature :arc-authentication-results; bh=Y2DHkKdRo+AzuSZL4tlSvarATnFFXiccBwWpZgGgHhE=; b=X/W9796vx6Xf0SKgHK89jGiU1jhEtiQyIbK2mj+U0jZuwh0ueHZ9iPTO6Ji2Ygp/D+ nU85AlzKSn71Rw3omjEEQEV489Dcww7EAlg2ycy9geaLOzZzELSrZmScC3Zx4dlS+JYB ptEKwpAyLV47ZK1RH4I5uQI8KF0PedmQYajw6xq1LYAHuFT3kWW0ggG/5xU49cmWMSGv 7pO3VXSd3LorfHATFynhwofBVWueNvcn8SSCK7qWQfSKkSW8MKMkGArzHURk0VkShg0b jAFjXP87dfxEnugoRtvp4Dmc4y6yvp+ugQ/eWEbbCE5VyGiKeR/x8HxdU82hC6NtDExu qC9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="Ab6C/Wre"; spf=pass (google.com: domain of grub-devel-bounces+patch=linaro.org@gnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="grub-devel-bounces+patch=linaro.org@gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id x12-v6si4313224qvk.211.2018.06.27.10.17.44 for (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 27 Jun 2018 10:17:44 -0700 (PDT) Received-SPF: pass (google.com: domain of grub-devel-bounces+patch=linaro.org@gnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="Ab6C/Wre"; spf=pass (google.com: domain of grub-devel-bounces+patch=linaro.org@gnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="grub-devel-bounces+patch=linaro.org@gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYE4d-0004av-HL for patch@linaro.org; Wed, 27 Jun 2018 13:17:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYE4O-0004aS-Vo for grub-devel@gnu.org; Wed, 27 Jun 2018 13:17:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYE4K-0006HN-Ax for grub-devel@gnu.org; Wed, 27 Jun 2018 13:17:28 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:50248) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYE4K-0006Fr-44 for grub-devel@gnu.org; Wed, 27 Jun 2018 13:17:24 -0400 Received: by mail-wm0-x243.google.com with SMTP id e16-v6so6666775wmd.0 for ; Wed, 27 Jun 2018 10:17:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=cAv4UvDB4O6eVVKnh0efIV9szEV/BMFFGsSstEpIdtI=; b=Ab6C/WreqTB/1t4Ta8AhE3lRp2YnwBBtsoTOgAVnLW4kcf9cbjEkH53zVZ0ROgJ4Gx SaTawle5dw5IJ1/8KbAkMNbsmoJmEbUaqtsDoT4dXV+2dL6+gM4q3rQaLAOUACv0NftQ uzFg47J9in0BiyqcoWzwbuWEcNbVVssxW07DY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=cAv4UvDB4O6eVVKnh0efIV9szEV/BMFFGsSstEpIdtI=; b=X/Jv0FziTIhoKagB/VRsfE+WXVjk9Psk1be7Wi8bbFbf/9hFGVLuX8xNPosICPeIyy 8OJ6d6LbedGOQ0KVbygOyBQrZHN6cEWB3tLiaYHq9MQh/DBQsbYD0GFCj+EMpiTBuACB ftO46R3CSB5AuD+7WfrX7xGxwLZScKEAwDNxgWBPDSedJ9lEspcY6N+HPB/drT2k6bb0 GzGUAygPaZoLiV4BbdMOSE+YRRSDziEq6LxiniAOoWXMUmir+ck44fKFciTrxRlqsiBv 8ifCEXFT0mzdTH2LZrauQ2zrQvF3Gsuc7M6eElHopPMksFZTSmGnHCv1HbjOJo0huAOU fTWA== X-Gm-Message-State: APt69E3FsMmza4oSHrbtR3Yp+P8HV99iR/UAgu9OmBwAGfznln0kfQnu OmPQOcNbvqnovObAz1i1ZmiCEnsURis= X-Received: by 2002:a1c:1905:: with SMTP id 5-v6mr5611131wmz.91.1530119842397; Wed, 27 Jun 2018 10:17:22 -0700 (PDT) Received: from vanye.hemma.eciton.net (cpc92302-cmbg19-2-0-cust304.5-4.cable.virginm.net. [82.1.209.49]) by smtp.gmail.com with ESMTPSA id a2-v6sm3406572wmb.6.2018.06.27.10.17.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Jun 2018 10:17:21 -0700 (PDT) From: Leif Lindholm To: grub-devel@gnu.org Subject: [PATCH v3 0/6] efi: arm linux loader unification and correctness Date: Wed, 27 Jun 2018 18:17:14 +0100 Message-Id: <20180627171720.27028-1-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.11.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Cc: Daniel Kiper MIME-Version: 1.0 Errors-To: grub-devel-bounces+patch=linaro.org@gnu.org Sender: "Grub-devel" The existing linux loader for 32-bit ARM is really only a piggy-back on the U-Boot loader, and for UEFI it's entirely possible to reuse the same loader across multiple architectures. This set will stop the ability to boot non-efistub kernels on arm-efi, but that has really only ever worked by luck. Also, both arm and arm64 have certain requirements with regards to placement of the initrd, which weren't honored by the existing loader - leading to theoretical issues on arm and some very observable ones on arm64 systems with large amounts of RAM or large holes in the memory map. So ensure the unified loader respects these requirements. It would be difficult to provide a linear history of this set, but the main change since v2 is the renaming/refactoring of linux headers to be included for multiple architectures in a single source file (which was actually submitted as a separate set), and the follow-on changes this required for the unified apis. Leif Lindholm (6): efi: add central copy of grub_efi_find_mmap_size efi: add grub_efi_get_ram_base() function for arm64 arm64 linux loader: rename functions and macros and move to common headers arm/efi: switch to arm64 linux loader arm: delete unused efi support from loader/arm efi: restrict arm/arm64 linux loader initrd placement grub-core/Makefile.am | 1 - grub-core/Makefile.core.def | 7 +- grub-core/kern/arm/efi/misc.c | 202 -------------------------------------- grub-core/kern/efi/mm.c | 56 +++++++++++ grub-core/loader/arm/linux.c | 28 ------ grub-core/loader/arm64/linux.c | 53 ++++++++-- grub-core/loader/arm64/xen_boot.c | 10 +- include/grub/arm/efi/loader.h | 26 ----- include/grub/arm/linux.h | 21 +--- include/grub/arm64/linux.h | 9 +- include/grub/efi/efi.h | 6 ++ 11 files changed, 125 insertions(+), 294 deletions(-) delete mode 100644 grub-core/kern/arm/efi/misc.c delete mode 100644 include/grub/arm/efi/loader.h -- 2.11.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel