From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1bbwI2-0000Vs-Qq for mharc-grub-devel@gnu.org; Mon, 22 Aug 2016 16:57:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56719) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbwHz-0000U9-VW for grub-devel@gnu.org; Mon, 22 Aug 2016 16:57:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bbwHv-00083k-NT for grub-devel@gnu.org; Mon, 22 Aug 2016 16:57:46 -0400 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:38234) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbwHv-000831-7q for grub-devel@gnu.org; Mon, 22 Aug 2016 16:57:43 -0400 Received: by mail-wm0-x232.google.com with SMTP id o80so164243117wme.1 for ; Mon, 22 Aug 2016 13:57:42 -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=hkeJ7gOhzrfHOv3tkC3L2XcKSK4cps4xvwafnjgQhwY=; b=LB9sPiiENs/U4OjoKgzZ9iM0vU/SMgoKl07PGmFV6cKYCw7VsA/jB/IAizqBxmREGQ uh9MVWYGGj42nPkxy+o+EN/UcFbb2ZtUqq+17RJR1ViHL4/Rc+P7metTja86Vy0WEArd giMb6jG7p+Ma6eAowUyWGrgxvFggPK3EmttZo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=hkeJ7gOhzrfHOv3tkC3L2XcKSK4cps4xvwafnjgQhwY=; b=DhRbo+ZuxS2di+hyC/269GqoCp7JVwy6Aem7N4kRnrM0fk5KJ3kizgagcs3eXKCB+a saMKmqf3gyViYPrwKt7XtKYitzq/KZs8XUZroqR2chkaxGayP7VGkQMPp1hwoABAHWyI obRyDWrl5325LwuKBrTvxno4lGWGEhSOqq7vGMI8iM+1NeSdEvhm1Hg5aALE/pfXrnHk En2g2ANAow+Vlr/+6MYQuKi62MccxSXMqN/XHtlETA41gvmhyv80Li2zQekFh3/Sgxvf I/FaTbBOi3ta4GDxdMcIs9icpPJdXwYO5nI5dkDmqQLEV4OhuPUWMXx31zozTmNjH1Uk yehg== X-Gm-Message-State: AEkoouv92A9FVPT9E8SUBWoC+Tl4hp1ZRDwlwJeRRutqa3xWGnSw3EXbM7l+Vv+ZcBvi5LIa X-Received: by 10.194.135.179 with SMTP id pt19mr20390111wjb.157.1471899462124; Mon, 22 Aug 2016 13:57:42 -0700 (PDT) Received: from mohikan.mushroom.smurfnet.nu (cpc92308-cmbg19-2-0-cust814.5-4.cable.virginm.net. [82.24.251.47]) by smtp.gmail.com with ESMTPSA id p71sm23578958wmf.9.2016.08.22.13.57.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 22 Aug 2016 13:57:41 -0700 (PDT) From: Leif Lindholm To: grub-devel@gnu.org Cc: pjones@redhat.com, agraf@suse.de Subject: [PATCH 0/3] share an efi Linux loader between arm and arm64 Date: Mon, 22 Aug 2016 21:57:37 +0100 Message-Id: <1471899460-13596-1-git-send-email-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.1.4 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::232 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: , X-List-Received-Date: Mon, 22 Aug 2016 20:57:49 -0000 Since we now have UEFI arm support in the upstream kernel, tweak the fdt module and the arm64 efi linux loader to be generically useful for both 64-bit and 32-bit platforms. 1/3 turns the EFI bits of the fdt module into a generic feature rather than just a part of the arm64 linux loader. 2/3 updates the arm64 linux loader with some macros, structs and type fixes to permit it to be used in a generic fashion. It also updates the arm64 xen loader to align with the new interfaces. 3/3 migrates the 32-bit arm efi port to use this new generic linux loader and fdt helpers. This _does_ in this form drop the ability to load non-EFI-stub linux kernels on arm efi platforms (but leaves U-Boot unchanged). Leif Lindholm (3): move efi fdt helper library make arm64 linux loader more generic Reuse arm64 efi linux loader for arm grub-core/Makefile.core.def | 5 +- grub-core/kern/arm/efi/misc.c | 30 ------ grub-core/loader/arm/linux.c | 48 +--------- grub-core/loader/arm64/fdt.c | 185 ------------------------------------- grub-core/loader/arm64/linux.c | 34 ++++--- grub-core/loader/arm64/xen_boot.c | 15 +-- grub-core/loader/efi/fdt.c | 186 ++++++++++++++++++++++++++++++++++++++ include/grub/arm/efi/loader.h | 1 - include/grub/arm/efi/memory.h | 3 + include/grub/arm/linux.h | 43 +++++---- include/grub/arm64/efi/memory.h | 3 + include/grub/arm64/fdtload.h | 35 ------- include/grub/arm64/linux.h | 13 +-- include/grub/efi/fdtload.h | 32 +++++++ include/grub/efi/pe32.h | 2 + 15 files changed, 284 insertions(+), 351 deletions(-) delete mode 100644 grub-core/loader/arm64/fdt.c create mode 100644 grub-core/loader/efi/fdt.c delete mode 100644 include/grub/arm64/fdtload.h create mode 100644 include/grub/efi/fdtload.h -- 2.1.4