From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1lmi8b-00028P-RG for mharc-grub-devel@gnu.org; Fri, 28 May 2021 15:27:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60574) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmi8Z-000285-To for grub-devel@gnu.org; Fri, 28 May 2021 15:27:15 -0400 Received: from mout.gmx.net ([212.227.17.21]:35261) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmi8X-0003lh-Ri for grub-devel@gnu.org; Fri, 28 May 2021 15:27:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1622230025; bh=SACgkMZKTm2MCrFC1hBB7qxfbA/xh21Q9m+znh9Lfu4=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=Bg42//qOKnDbuwf0A62x3meaQu379SYDsO6nPDLLKnIgY2EWwwqPIiWMaDlH7D2Bm 3MVDidxj0mJXWpvGNbBgHQoawTKdDVe12MWHmdLt0DqaOvtu89+VzHrCAHhKQEzyi+ bEN1pm/OgmF4flk35wpNCGh5HULfesWiuKq45i0I= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.123.35] ([62.143.247.63]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MnakX-1l5hxE26J3-00jZF7; Fri, 28 May 2021 21:27:05 +0200 Subject: Re: [PATCH 2/8] efi: add definition of LoadFile2 protocol To: Nikita Ermakov , GRUB development mailing list Cc: Ard Biesheuvel , Atish Patra , Daniel Kiper , Leif Lindholm References: <20210528130457.13501-1-arei@altlinux.org> <20210528130457.13501-3-arei@altlinux.org> From: Heinrich Schuchardt Message-ID: Date: Fri, 28 May 2021 21:27:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <20210528130457.13501-3-arei@altlinux.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:RvRGUmxH8TIaUzM5Fx4p0i1Idjor5C4ebWv6GQVKURuDakwVfKV Cn16FR/SkHkJMCtDh/uvoi/gbAzEiWRRR5WFOJo1g+DdXQDdfFVT+mzaujcG4r+EK7cv6/p ojYTuXGvujQSzNKE7kojkbsJzcxWU0BbV+MYhyL7KfY+Q8Vewtm2Yem1S0ha+jVTHhX/MUb 7hnsjh0qDZUiiC8C2LPcg== X-UI-Out-Filterresults: notjunk:1;V03:K0:A2b0bv9LzT4=:Z4oqPLSdHQjOImeKyPoJ+4 bw5E5K9WhKOiz1fMd4mlmLsOQz40kMUyj9gOI1XkWPNbry5NMZ22huJtJaJHAbNTfnMoCj1ya fMAkVVv9cNGrPJcHpla3+RXpuVTNwnZYyak8n+SGfnKw0igQykJnY/unYGglatbyF3bDoWt+v UukfmBMN+R9t2hsLeZn0nynWk/Wy97zhU9tV2mKZKyZ/P/Iqz9KLUSFtBJFy+iDZVfXtZ8wKF fPj0HmfDjEE9MieYIG7LfxSpn1XEo9VhLBpPq9ETK1u3hMejoUMpJmN5Y4j5Vtockae3Owrnk NEN/xDLQtojSW51ZnD3r3vP8qohx4piknP28z3cQUV8bbflCdSkVN/MyIGSuc4fuQiYa2+/kz qIsv9MxxFYDHcsHvqC6SSzYRr9aKGhTv/pfhqgJaBqRAgDa5fWBp2QkGoqh8wJWjT0hNj2tII wnLEwLfuIMITl47gAvcG76xxheWBPiZg76FNfegzN0yphyOZPUSuq9ganPkDC2uF+ycb27GxD zbDJkRyE4AJ7T+OhwojMPdGKi0I8uUpgT1b3uu2qW0ywjTioEjk+/Tj37uAkm0Q5HElRfv0Ki T4xpXLW6jXnrV0505i7FA5rLn3Oieoyj5BvTE4c93nTGMyUpMQuqLQjVA2aeQIlzSe+PGAM5M lrQMvZI0anAElJY1bB6Gd1ZBEaph4ziVPtEHe5+yxcFbGndQsH+Rm1PbVTzo6Oji8Ezim4qp8 Lz5KR7veKaxoFV+FbKCSUlCciZCM+oddeZVS80eOBUTuQ9sLtZcgIlndoigDPEGym2t53k5T2 bUPJr64QFAgfUVJXTkiTHVUe9B2E5m2ctTVQ8/4cM4ExslDy6i0sAiHvN9rY6wB2Dt2TsF/Qm wXqSrHWqSXG7qMCSbvaGO8r0IHM7N1ulea14vgO+pOAGTZ+tA7DFUKLnUrbjCmsxEhbQnxLvm Mkhi3EEkPJcSZk5TrpxI6xQ6qQ8W6hfChHJzgUUlPQaUjXhhDbPd+Nqt1PSLJpnEVyGO0Bpiw spX2nZatW+J+6iJq+qLhxHuN9H1wY9MORCkdfbxP3JncIUZY+SVVad9X+IyRuNk1PQQruLOcg sD7YGF2JZF0Rb6SnShzJOPcDCksS3VrcjGRQfmJzzi9OY3PBI4ZxjsC08w1oSocKR2Hn+AjM+ ZXuSSpDQ7t1VrDlFeDJ0EVc3pQuWGt7HxE0/g6omP2W78VkhTFDpz+1ECmAfbf51JtsGU= Received-SPF: pass client-ip=212.227.17.21; envelope-from=xypron.glpk@gmx.de; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fri, 28 May 2021 19:27:16 -0000 On 5/28/21 3:04 PM, Nikita Ermakov wrote: > From: Ard Biesheuvel > > Incorporate the EFI_LOAD_FILE2_PROTOCOL GUID and C types from the > UEFI spec. > > Signed-off-by: Ard Biesheuvel > --- > grub-core/commands/efi/lsefi.c | 1 + > include/grub/efi/api.h | 15 +++++++++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lse= fi.c > index d1ce99af4..145cbfcda 100644 > --- a/grub-core/commands/efi/lsefi.c > +++ b/grub-core/commands/efi/lsefi.c > @@ -55,6 +55,7 @@ struct known_protocol > { GRUB_EFI_ABSOLUTE_POINTER_PROTOCOL_GUID, "absolute pointer" }, > { GRUB_EFI_DRIVER_BINDING_PROTOCOL_GUID, "EFI driver binding" }, > { GRUB_EFI_LOAD_FILE_PROTOCOL_GUID, "load file" }, > + { GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID, "load file 2" }, To stay closer to the UEFI nomenclature maybe: "load file2" Reviewed-by: Heinrich Schuchardt > { GRUB_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID, "simple FS" }, > { GRUB_EFI_TAPE_IO_PROTOCOL_GUID, "tape I/O" }, > { GRUB_EFI_UNICODE_COLLATION_PROTOCOL_GUID, "unicode collation" }, > diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h > index f1a52210c..3de0a7d12 100644 > --- a/include/grub/efi/api.h > +++ b/include/grub/efi/api.h > @@ -149,6 +149,11 @@ > { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } \ > } > > +#define GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID \ > + { 0x4006c0c1, 0xfcb3, 0x403e, \ > + { 0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d } \ > + } > + > #define GRUB_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \ > { 0x0964e5b22, 0x6459, 0x11d2, \ > { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ > @@ -1729,6 +1734,16 @@ struct grub_efi_rng_protocol > }; > typedef struct grub_efi_rng_protocol grub_efi_rng_protocol_t; > > +struct grub_efi_load_file2 > +{ > + grub_efi_status_t (*load_file)(struct grub_efi_load_file2 *this, > + grub_efi_device_path_t *file_path, > + grub_efi_boolean_t boot_policy, > + grub_efi_uintn_t *buffer_size, > + void *buffer); > +}; > +typedef struct grub_efi_load_file2 grub_efi_load_file2_t; > + > #if (GRUB_TARGET_SIZEOF_VOID_P =3D=3D 4) || defined (__ia64__) \ > || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGW= IN__) \ > || defined(__riscv) >