From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1jSqIe-0002k7-Nw for mharc-grub-devel@gnu.org; Sun, 26 Apr 2020 19:03:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43558) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jSqIc-0002je-Fg for grub-devel@gnu.org; Sun, 26 Apr 2020 19:02:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jSqIZ-0002yR-NJ for grub-devel@gnu.org; Sun, 26 Apr 2020 19:02:57 -0400 Received: from mout.gmx.net ([212.227.15.18]:50973) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jSqIZ-0002vY-4W for grub-devel@gnu.org; Sun, 26 Apr 2020 19:02:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1587942166; bh=qc8KxgDdIFRMBV6odSqed5As+DIIjFLYe7ubfUJc8sc=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=G0JHgvnxf9lDj+T1CmolwNJsBfQBo6xpXamN/OJqdOyIBZCNLZJ8FM+vQZjcb7vUJ fz2OgJwoSd17u/rcrkRMzDjO0hdaEAYzCRynVjNiFI7wfFahD6I2PdAzkBinMUH9ZP rc3DSxm2AlKaFkklUOKQyBGddU+b8zySs1vuRmts= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.123.51] ([84.119.33.226]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MOREi-1jpSBM0hyg-00PuZN; Mon, 27 Apr 2020 01:02:46 +0200 Subject: Re: [PATCH RFC/RFT 3/3] RISC-V: Use common linux loader To: Atish Patra , grub-devel@gnu.org Cc: Ard Biesheuvel , David Abdurachmanov , leif@nuviainc.com, Alexander Graf , Daniel Kiper , Chester Lin References: <20200426194007.382925-1-atish.patra@wdc.com> <20200426194007.382925-4-atish.patra@wdc.com> From: Heinrich Schuchardt Autocrypt: addr=xypron.glpk@gmx.de; prefer-encrypt=mutual; keydata= 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 Eg== Message-ID: Date: Mon, 27 Apr 2020 01:02:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200426194007.382925-4-atish.patra@wdc.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:JT5V0rQwsej/TOOyvryq/npA1YP9qChdUkHk7Q1uI07593JGnMk fuhtLnyOAUUdg1yTAKIJ/CVb49/cvL/nLKEZdTY3fwdJxvoh0/lqSUHXyjaKxOczX70qDqH 6jJq6iDQa/FRp5o1Q4zVFWgFQDqDMMqOXoR3iqItBw4KWDv1oUXFUwwDc8fRvPv1gjRCfyx tok2OikLjSw6uRMmN8KPg== X-UI-Out-Filterresults: notjunk:1;V03:K0:/LOKgh72OVM=:QB+LecakKLMRA1JRIKWx+M 2Fr1rKMXlOHp8aNiRv9uJ6Zc47yNwuPblKzjJOtweRkq3BZftCCgs1VQB3sQNngEc6Yi5D2j+ Rosop1aYigESMH2utmlln9I3b4zk76lQrvrf2Z2Aw/jPN1jsHh1VOea3WpJKYJWzyCOY+1Qyz +euQYr9LiRwLHCrJH7j7AsZni3usj5dXdya3zxk+kmHSrIF4Xw6GIAQdeb1jwcuqXjv0xgTbU GDsnDODoyWH0nId7ewj5ubcxYguwqD6uQ4UoV+JLn9hEZyGc6TS65Dkj3rIGcESukYnNz/jyZ xqEgv63/ihXDiB+/+npE8QLvzmJhrXq5PtT0MTqVphC00KFZQJy/mc4ilDWwJkLOYawvG0Q8n xHz83h/nfVxBdmhTrS0/Qx1cWtpoWsMZRYAEQtmXxAW4Xouvtk0yB5eCixxVDXnbioHH6pnay xk8ueYfowADxvJEcP9CMyy+04ePqzTskjipp0ewPPk9vE52KNEjq3oIm+AmkZNMbZouBLg/WM hGZTGe0TpKOTKbXRSmkQy/0ZX4s20eb3Z4lsAdMNeLrSJmLdUg18v/lqZOM7rj9WzXvbhbAqg HiVFt18Hn3eFCV7BAoustfFwB4kTRB5W6AjLhMvmDGtPJLJdTXt+NwIBgqlf4vFiU01huJPsb xBZBPpfFuzVMqLiaLH5DybS6nbH9GX8U9j6f5P5VE8mLZlKa47mZ256L+MAVp7yl1zx5wumsr 1bq+3+Zi69ZofT7XDAHQPvn2A+C8oGTdTpKBYiMyxSIqVIfxBbppmTGhjwAklCVU6AAy/j1A/ 9ex/pMMmoaSzPKAf5kJJUe7rDCh5SIdZlxJ8a4KhvMzg5z2YJJpSQTeEDw0aoRWwbHfqKRIgr UuzyKdHstfLCz51ShKdbmSXZcIeI2rG4DoXAbgQv58ScnYEFaXQduV9LR3ovkpZTcVrISVwcS JKOmWz7aDTwWTfrwhDMXhUIPPZWSn6NCtRbKQ2km4TG3zRYCBO3XrA9JH6XGBFTLkweqfgH8R gRCA55XHwlRvN0rhu5z34Rgp0tPeiSxa/SDC2xe3zqNo5VC53sDHVzg533m+kS+gw9P7NqLE2 Lt71KsJElE+/bRdCrTsv1bGvBCDS0XhF6ms8d00W9ppnkLFMJaB3SVYZplnMIPADCGe4ukeuc 6WIvBmKsBZl71zZoFK0+5H4gbfLVBHIyHLNpTkIdydhhtFeMuDdMVysmPq7nBmlBii1T5fmuS NYbpyJ/teW4f6crHd Received-SPF: pass client-ip=212.227.15.18; envelope-from=xypron.glpk@gmx.de; helo=mout.gmx.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/26 19:01:54 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 212.227.15.18 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Apr 2020 23:02:59 -0000 On 4/26/20 9:40 PM, Atish Patra wrote: > RISC-V doesn't have to do anything very different from other architectur= es > to loader EFI stub linux kernel. As a result, just use the common linux > loader instead of defining a RISC-V specific linux loader. > > Signed-off-by: Atish Patra Tested on Odroid-C2 (ARMv8) using GRUB master c543d678105037a plus this patch series booting from U-Boot via GRUB to Debian Bullseye successfully. Tested-by: Heinrich Schuchardt > --- > grub-core/Makefile.core.def | 4 +-- > grub-core/loader/riscv/linux.c | 59 ---------------------------------- > include/grub/riscv32/linux.h | 1 + > include/grub/riscv64/linux.h | 1 + > 4 files changed, 4 insertions(+), 61 deletions(-) > delete mode 100644 grub-core/loader/riscv/linux.c > > diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def > index 57bb70d73764..8db90762af04 100644 > --- a/grub-core/Makefile.core.def > +++ b/grub-core/Makefile.core.def > @@ -1816,8 +1816,8 @@ module =3D { > arm_efi =3D loader/efi/linux.c; > arm_uboot =3D loader/arm/linux.c; > arm64 =3D loader/efi/linux.c; > - riscv32 =3D loader/riscv/linux.c; > - riscv64 =3D loader/riscv/linux.c; > + riscv32 =3D loader/efi/linux.c; > + riscv64 =3D loader/efi/linux.c; > common =3D loader/linux.c; > common =3D lib/cmdline.c; > enable =3D noemu; > diff --git a/grub-core/loader/riscv/linux.c b/grub-core/loader/riscv/lin= ux.c > deleted file mode 100644 > index d17c488e118d..000000000000 > --- a/grub-core/loader/riscv/linux.c > +++ /dev/null > @@ -1,59 +0,0 @@ > -/* > - * GRUB -- GRand Unified Bootloader > - * Copyright (C) 2018 Free Software Foundation, Inc. > - * > - * GRUB is free software: you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published b= y > - * the Free Software Foundation, either version 3 of the License, or > - * (at your option) any later version. > - * > - * GRUB is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with GRUB. If not, see . > - */ > - > -#include > -#include > -#include > - > -GRUB_MOD_LICENSE ("GPLv3+"); > - > -static grub_err_t > -grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), > - int argc __attribute__ ((unused)), > - char *argv[] __attribute__ ((unused))) > -{ > - grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, N_("Linux not supported yet= ")); > - > - return grub_errno; > -} > - > -static grub_err_t > -grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)), > - int argc __attribute__ ((unused)), > - char *argv[] __attribute__ ((unused))) > -{ > - grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, N_("Linux not supported yet= ")); > - > - return grub_errno; > -} > - > -static grub_command_t cmd_linux, cmd_initrd; > - > -GRUB_MOD_INIT (linux) > -{ > - cmd_linux =3D grub_register_command ("linux", grub_cmd_linux, 0, > - N_("Load Linux.")); > - cmd_initrd =3D grub_register_command ("initrd", grub_cmd_initrd, 0, > - N_("Load initrd.")); > -} > - > -GRUB_MOD_FINI (linux) > -{ > - grub_unregister_command (cmd_linux); > - grub_unregister_command (cmd_initrd); > -} > diff --git a/include/grub/riscv32/linux.h b/include/grub/riscv32/linux.h > index de0dbdcd1be5..706c69087546 100644 > --- a/include/grub/riscv32/linux.h > +++ b/include/grub/riscv32/linux.h > @@ -38,5 +38,6 @@ struct linux_riscv_kernel_header > }; > > #define linux_arch_kernel_header linux_riscv_kernel_header > +# define GRUB_LINUX_ARCH_MAGIC_SIGNATURE GRUB_LINUX_RISCV_MAGIC_SIGNATU= RE > > #endif /* ! GRUB_RISCV32_LINUX_HEADER */ > diff --git a/include/grub/riscv64/linux.h b/include/grub/riscv64/linux.h > index 7c28bc92278e..88d5df781899 100644 > --- a/include/grub/riscv64/linux.h > +++ b/include/grub/riscv64/linux.h > @@ -40,5 +40,6 @@ struct linux_riscv_kernel_header > }; > > #define linux_arch_kernel_header linux_riscv_kernel_header > +# define GRUB_LINUX_ARCH_MAGIC_SIGNATURE GRUB_LINUX_RISCV_MAGIC_SIGNATU= RE > > #endif /* ! GRUB_RISCV64_LINUX_HEADER */ >