[{"id":1779998,"web_url":"http://patchwork.ozlabs.org/comment/1779998/","msgid":"<4d4ba34d-5f7f-75ec-1534-d44481bd51d7@gmx.de>","list_archive_url":null,"date":"2017-10-04T17:13:12","subject":"Re: [U-Boot] [PATCH v1 01/12] efi_loader: add stub\n\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL","submitter":{"id":61270,"url":"http://patchwork.ozlabs.org/api/people/61270/","name":"Heinrich Schuchardt","email":"xypron.glpk@gmx.de"},"content":"On 09/10/2017 03:22 PM, Rob Clark wrote:\n> From: Leif Lindholm <leif.lindholm@linaro.org>\n> \n> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>\n> ---\n>  include/efi_api.h                          | 30 +++++++++++\n>  include/efi_loader.h                       |  2 +\n>  lib/efi_loader/Makefile                    |  1 +\n>  lib/efi_loader/efi_boottime.c              |  4 ++\n>  lib/efi_loader/efi_device_path_utilities.c | 83 ++++++++++++++++++++++++++++++\n>  5 files changed, 120 insertions(+)\n>  create mode 100644 lib/efi_loader/efi_device_path_utilities.c\n> \n> diff --git a/include/efi_api.h b/include/efi_api.h\n> index c3b9032a48..57468dd972 100644\n> --- a/include/efi_api.h\n> +++ b/include/efi_api.h\n> @@ -506,6 +506,36 @@ struct efi_device_path_to_text_protocol\n>  \t\t\tbool allow_shortcuts);\n>  };\n>  \n> +#define EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID \\\n> +\tEFI_GUID(0x0379be4e, 0xd706, 0x437d, \\\n> +\t\t 0xb0, 0x37, 0xed, 0xb8, 0x2f, 0xb7, 0x72, 0xa4)\n> +\n> +struct efi_device_path_utilities_protocol\n> +{\n> +\tUINTN(EFIAPI *get_device_path_size)(\n> +\t\tconst struct efi_device_path *device_path);\n> +\tstruct efi_device_path *(EFIAPI *duplicate_device_path)(\n> +\t\tconst struct efi_device_path *device_path);\n> +\tstruct efi_device_path *(EFIAPI *append_device_path)(\n> +\t\tconst struct efi_device_path *src1,\n> +\t\tconst struct efi_device_path *src2);\n> +\tstruct efi_device_path *(EFIAPI *append_device_node)(\n> +\t\tconst struct efi_device_path *device_path,\n> +\t\tconst struct efi_device_path *device_node);\n> +\tstruct efi_device_path *(EFIAPI *append_device_path_instance)(\n> +\t\tconst struct efi_device_path *device_path,\n> +\t\tconst struct efi_device_path *device_path_instance);\n> +\tstruct efi_device_path *(EFIAPI *get_next_device_path_instance)(\n> +\t\tstruct efi_device_path **device_path_instance,\n> +\t\tUINTN *device_path_instance_size);\n\nThe sequence is wrong. It does not match\nUEFI Spec 2.7 Errata A, August 2017.\n\nEDK2 uses the same sequence as the spec see\n\nEdkCompatibilityPkg/Foundation/Efi/Protocol/DevicePathUtilities/DevicePathUtilities.h\n\nPut is_device_path_multi_instance before create_device_node.\n\n> +\tstruct efi_device_path *(EFIAPI *create_device_node)(\n> +\t\tuint8_t node_type,\n> +\t\tuint8_t node_sub_type,\n> +\t\tuint16_t node_length);\n> +\tbool(EFIAPI *is_device_path_multi_instance)(\n> +\t\tconst struct efi_device_path *device_path);\n> +};\n> +\n>  #define EFI_GOP_GUID \\\n>  \tEFI_GUID(0x9042a9de, 0x23dc, 0x4a38, \\\n>  \t\t 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a)\n> diff --git a/include/efi_loader.h b/include/efi_loader.h\n> index 43b12b94fa..c009828db9 100644\n> --- a/include/efi_loader.h\n> +++ b/include/efi_loader.h\n> @@ -58,6 +58,7 @@ extern const struct efi_simple_text_output_protocol efi_con_out;\n>  extern struct efi_simple_input_interface efi_con_in;\n>  extern const struct efi_console_control_protocol efi_console_control;\n>  extern const struct efi_device_path_to_text_protocol efi_device_path_to_text;\n> +extern const struct efi_device_path_utilities_protocol efi_device_path_utilities;\n>  \n>  uint16_t *efi_dp_str(struct efi_device_path *dp);\n>  \n> @@ -68,6 +69,7 @@ extern const efi_guid_t efi_guid_loaded_image;\n>  extern const efi_guid_t efi_guid_device_path_to_text_protocol;\n>  extern const efi_guid_t efi_simple_file_system_protocol_guid;\n>  extern const efi_guid_t efi_file_info_guid;\n> +extern const efi_guid_t efi_guid_device_path_utilities_protocol;\n>  \n>  extern unsigned int __efi_runtime_start, __efi_runtime_stop;\n>  extern unsigned int __efi_runtime_rel_start, __efi_runtime_rel_stop;\n> diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile\n> index 930c0e218e..f5e69dd078 100644\n> --- a/lib/efi_loader/Makefile\n> +++ b/lib/efi_loader/Makefile\n> @@ -16,6 +16,7 @@ always := $(efiprogs-y)\n>  obj-$(CONFIG_CMD_BOOTEFI_HELLO) += helloworld_efi.o\n>  obj-y += efi_image_loader.o efi_boottime.o efi_runtime.o efi_console.o\n>  obj-y += efi_memory.o efi_device_path_to_text.o efi_device_path.o\n> +obj-y += efi_device_path_utilities.o\n>  obj-y += efi_file.o efi_variable.o efi_bootmgr.o\n>  obj-$(CONFIG_LCD) += efi_gop.o\n>  obj-$(CONFIG_DM_VIDEO) += efi_gop.o\n> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c\n> index 3860feb79b..8bb243d673 100644\n> --- a/lib/efi_loader/efi_boottime.c\n> +++ b/lib/efi_loader/efi_boottime.c\n> @@ -775,6 +775,10 @@ void efi_setup_loaded_image(struct efi_loaded_image *info, struct efi_object *ob\n>  \tobj->protocols[3].protocol_interface =\n>  \t\t(void *)&efi_device_path_to_text;\n>  \n> +\tobj->protocols[4].guid = &efi_guid_device_path_utilities_protocol;\n> +\tobj->protocols[4].protocol_interface =\n> +\t\t(void *)&efi_device_path_utilities;\n> +\n>  \tinfo->file_path = file_path;\n>  \tinfo->device_handle = efi_dp_find_obj(device_path, NULL);\n>  \n> diff --git a/lib/efi_loader/efi_device_path_utilities.c b/lib/efi_loader/efi_device_path_utilities.c\n> new file mode 100644\n> index 0000000000..4b97080f35\n> --- /dev/null\n> +++ b/lib/efi_loader/efi_device_path_utilities.c\n> @@ -0,0 +1,83 @@\n> +/*\n> + *  EFI device path interface\n> + *\n> + *  Copyright (c) 2017 Leif Lindholm\n> + *\n> + *  SPDX-License-Identifier:     GPL-2.0+\n> + */\n> +\n> +#include <common.h>\n> +#include <efi_loader.h>\n> +\n> +const efi_guid_t efi_guid_device_path_utilities_protocol =\n> +\t\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID;\n> +\n\nNone of the function definitions below matches the definition in the\nprotocol structure. EFIAPI is missing. Rob tried to correct this in a\nfollow up patch. But it should be corrected here.\n\n> +static UINTN get_device_path_size(const struct efi_device_path *device_path)\n> +{\n> +\tEFI_ENTRY(\"%p\", device_path);\n> +\treturn EFI_EXIT(0);\n> +}\n> +\n> +static struct efi_device_path *duplicate_device_path(\n> +\tconst struct efi_device_path *device_path)\n> +{\n> +\tEFI_ENTRY(\"%p\", device_path);\n> +\treturn EFI_EXIT(NULL);\n> +}\n> +\n> +static struct efi_device_path *append_device_path(\n> +\tconst struct efi_device_path *src1,\n> +\tconst struct efi_device_path *src2)\n> +{\n> +\tEFI_ENTRY(\"%p, %p\", src1, src2);\n> +\treturn EFI_EXIT(NULL);\n> +}\n> +\n> +static struct efi_device_path *append_device_node(\n> +\tconst struct efi_device_path *device_path,\n> +\tconst struct efi_device_path *device_node)\n> +{\n> +\tEFI_ENTRY(\"%p, %p\", device_path, device_node);\n> +\treturn EFI_EXIT(NULL);\n> +}\n> +\n> +static struct efi_device_path *append_device_path_instance(\n> +\tconst struct efi_device_path *device_path,\n> +\tconst struct efi_device_path *device_path_instance)\n> +{\n> +\tEFI_ENTRY(\"%p, %p\", device_path, device_path_instance);\n> +\treturn EFI_EXIT(NULL);\n> +}\n> +\n> +static struct efi_device_path *get_next_device_path_instance(\n> +\tstruct efi_device_path **device_path_instance,\n> +\tUINTN *device_path_instance_size)\n> +{\n> +\tEFI_ENTRY(\"%p, %p\", device_path_instance, device_path_instance_size);\n> +\treturn EFI_EXIT(NULL);\n> +}\n> +\n> +static struct efi_device_path *create_device_node(\n> +\tuint8_t node_type, uint8_t node_sub_type, uint16_t node_length)\n> +{\n> +\tEFI_ENTRY(\"%u, %u, %u\", node_type, node_sub_type, node_length);\n> +\treturn EFI_EXIT(NULL);\n> +}\n> +\n> +static bool is_device_path_multi_instance(\n> +\tconst struct efi_device_path *device_path)\n> +{\n> +\tEFI_ENTRY(\"%p\", device_path);\n> +\treturn EFI_EXIT(false);\n> +}\n> +\n> +const struct efi_device_path_utilities_protocol efi_device_path_utilities = {\n> +\t.get_device_path_size = get_device_path_size,\n> +\t.duplicate_device_path = duplicate_device_path,\n> +\t.append_device_path = append_device_path,\n> +\t.append_device_node = append_device_node,\n> +\t.append_device_path_instance = append_device_path_instance,\n> +\t.get_next_device_path_instance = get_next_device_path_instance,\n\nUse the same sequence as the UEFI spec.\nis_device_path_multi_instance followed by create_device_node\n\nAs these functions do not return efi_status_t an EFI application can\nexpect that a handle exposing this protocol correctly implements all of\nthem.\n\nFollow up-patch\nefi_loader: start fleshing out efi_device_path_utilities\nonly delivers part of it.\n\nBest regards\n\nHeinrich\n\n> +\t.create_device_node = create_device_node,\n> +\t.is_device_path_multi_instance = is_device_path_multi_instance,\n> +};\n>","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3y6jF91FfYz9t16\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 04:14:36 +1100 (AEDT)","by lists.denx.de (Postfix, from userid 105)\n\tid A6786C21F7D; Wed,  4 Oct 2017 17:14:34 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 5C10CC21DAB;\n\tWed,  4 Oct 2017 17:14:30 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 4F5D6C21DA0; Wed,  4 Oct 2017 17:14:29 +0000 (UTC)","from mout.gmx.net (mout.gmx.net [212.227.17.20])\n\tby lists.denx.de (Postfix) with ESMTPS id 50DF7C21DA0\n\tfor <u-boot@lists.denx.de>; Wed,  4 Oct 2017 17:14:26 +0000 (UTC)","from [192.168.123.82] ([94.114.42.150]) by mail.gmx.com (mrgmx101\n\t[212.227.17.168]) with ESMTPSA (Nemesis) id\n\t0LzXTy-1dEAOy2ah8-014hYs; Wed, 04 Oct 2017 19:14:14 +0200"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=0.0 required=5.0 tests=FREEMAIL_FROM\n\tautolearn=unavailable autolearn_force=no version=3.4.0","To":"Rob Clark <robdclark@gmail.com>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>","References":"<20170910132236.14318-1-robdclark@gmail.com>\n\t<20170910132236.14318-2-robdclark@gmail.com>","From":"Heinrich Schuchardt <xypron.glpk@gmx.de>","Message-ID":"<4d4ba34d-5f7f-75ec-1534-d44481bd51d7@gmx.de>","Date":"Wed, 4 Oct 2017 19:13:12 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170910132236.14318-2-robdclark@gmail.com>","Content-Language":"en-US","X-Provags-ID":"V03:K0:UdZaUiU81oiHUvZkBSGQy8ZDYuNFr5KsUwvY/elveWofaBVPZIH\n\t2hLfk+F+YM6UMpiH9gkhHEvuuDfiBPzYOvlYP7q1X0Wn9EUgGX7iCnrQ1eflBZazYJ9evuL\n\tb8voD1ilFrH5pxLfCYQX0QrgkhWbGpMamIcUqfu4F4LAhn24rdns6HSVvKMqZG1obcwuJmY\n\tnEAos7SGPziVNu8QpW/xw==","X-UI-Out-Filterresults":"notjunk:1; V01:K0:w7s2FlMXIzs=:7jGXmwrG2cPPN7yzgGO9ni\n\tEwzRafF7kBYd30M3LTxryk6Wzs3IImGfk+OWfQOfUBjZqtw+n2f1Lxtf2zPUgUNUJDhcDyWs1\n\t5GIV85cjkonLvBYNaYbuuOq35D0hvC9IrZoGxTuGbRaxFUYNoE+LiQNa1t8qEJ4mbHqptqMxi\n\tkFVSwRQJ0DUnX12WS89NQH0I2aBEb/d9Wwg3E14J7j9D7cSPzwITv6/Fxfb9ImTQEGkeXkWSY\n\t1dBqoXq7iL65+yt5YUrvOwy8yeSVm6bKhCEeQ41T0C8ULYqUcMK90cvkZsEyay97w3WA0GMb6\n\tTHzIq2n9/kHPH8DSjRNq164AY01V4sh/MP1jP9BOSiL7Itziv2J6EM40QAqZqdr7IxoZ6ymV5\n\tsVQ66SnmTLxoPJxlkMKzlBcFMKGrEGE3OV87XiWPAyYiScPzPFhtwRmZIrRrfKiT6FzTMO3v1\n\tIscG80YPK6vhzOTrxahr/nULOXmeb5EVfQIE0Mhg+Ih0z6n0Yf0dTqULwB5svmW3Hj+iH3CVc\n\tBrmOux9BfCreaQE8rxl7LJWxQfO14ypB8j9jcxDy+mBFvZyjtxT8m7iApBOxRx5v6pMfY+Kw9\n\t6DXAISN98Qpwgqh99EdxmPwftE9CvO1mmel7HYxI5zfQRzglmRgdrF14/1bE3QT5wqU1gzyxY\n\t1lPs/xL6UYyxsnK0aTje2vPEh+Rv9AdUIwaViCu1SjwoSE32m5pUGf+1/aU3gPuhieaGApz/g\n\tzEGM9yvslmT+3Uphx4+JHR+BMzD+r3jIR4/jPuC8+qQl6Py+ZmRYWL2V++IJMcZd8Gz/F1l8t\n\tngWbV22CvDMXXvIxoiroXT8phf63it6mJolYGOCh9S6exBoOBw=","Cc":"Peter Jones <pjones@redhat.com>, Leif Lindholm <leif.lindholm@linaro.org>","Subject":"Re: [U-Boot] [PATCH v1 01/12] efi_loader: add stub\n\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}},{"id":1780006,"web_url":"http://patchwork.ozlabs.org/comment/1780006/","msgid":"<611845e1-8d21-b1ff-6229-2d1475ccf8ef@gmx.de>","list_archive_url":null,"date":"2017-10-04T17:29:38","subject":"Re: [U-Boot] [PATCH v1 01/12] efi_loader: add stub\n\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL","submitter":{"id":61270,"url":"http://patchwork.ozlabs.org/api/people/61270/","name":"Heinrich Schuchardt","email":"xypron.glpk@gmx.de"},"content":"On 10/04/2017 07:13 PM, Heinrich Schuchardt wrote:\n> On 09/10/2017 03:22 PM, Rob Clark wrote:\n>> From: Leif Lindholm <leif.lindholm@linaro.org>\n>>\n>> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>\n>> ---\n>>  include/efi_api.h                          | 30 +++++++++++\n>>  include/efi_loader.h                       |  2 +\n>>  lib/efi_loader/Makefile                    |  1 +\n>>  lib/efi_loader/efi_boottime.c              |  4 ++\n>>  lib/efi_loader/efi_device_path_utilities.c | 83 ++++++++++++++++++++++++++++++\n>>  5 files changed, 120 insertions(+)\n>>  create mode 100644 lib/efi_loader/efi_device_path_utilities.c\n>>\n>> diff --git a/include/efi_api.h b/include/efi_api.h\n>> index c3b9032a48..57468dd972 100644\n>> --- a/include/efi_api.h\n>> +++ b/include/efi_api.h\n>> @@ -506,6 +506,36 @@ struct efi_device_path_to_text_protocol\n>>  \t\t\tbool allow_shortcuts);\n>>  };\n>>  \n>> +#define EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID \\\n>> +\tEFI_GUID(0x0379be4e, 0xd706, 0x437d, \\\n>> +\t\t 0xb0, 0x37, 0xed, 0xb8, 0x2f, 0xb7, 0x72, 0xa4)\n>> +\n>> +struct efi_device_path_utilities_protocol\n>> +{\n\ncheckpatch returns an error:\n\nERROR: open brace '{' following struct go on the same line\n#30: FILE: include/efi_api.h:514:\n+struct efi_device_path_utilities_protocol\n+{\n\nRegards\n\nHeinrich\n\n>> +\tUINTN(EFIAPI *get_device_path_size)(\n>> +\t\tconst struct efi_device_path *device_path);\n>> +\tstruct efi_device_path *(EFIAPI *duplicate_device_path)(\n>> +\t\tconst struct efi_device_path *device_path);","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3y6jc70PJ2z9t4X\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 04:31:02 +1100 (AEDT)","by lists.denx.de (Postfix, from userid 105)\n\tid 8014AC21F8D; Wed,  4 Oct 2017 17:30:57 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id F1890C21DA6;\n\tWed,  4 Oct 2017 17:30:54 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid A5408C21DA6; Wed,  4 Oct 2017 17:30:53 +0000 (UTC)","from mout.gmx.net (mout.gmx.net [212.227.17.21])\n\tby lists.denx.de (Postfix) with ESMTPS id 2B19DC21DA0\n\tfor <u-boot@lists.denx.de>; Wed,  4 Oct 2017 17:30:53 +0000 (UTC)","from [192.168.123.82] ([94.114.42.150]) by mail.gmx.com (mrgmx103\n\t[212.227.17.168]) with ESMTPSA (Nemesis) id\n\t0MQRZw-1dsCFy3DYK-00Tj2e; Wed, 04 Oct 2017 19:30:42 +0200"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=0.0 required=5.0 tests=FREEMAIL_FROM,\n\tRCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no\n\tversion=3.4.0","From":"Heinrich Schuchardt <xypron.glpk@gmx.de>","To":"Rob Clark <robdclark@gmail.com>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>","References":"<20170910132236.14318-1-robdclark@gmail.com>\n\t<20170910132236.14318-2-robdclark@gmail.com>\n\t<4d4ba34d-5f7f-75ec-1534-d44481bd51d7@gmx.de>","Message-ID":"<611845e1-8d21-b1ff-6229-2d1475ccf8ef@gmx.de>","Date":"Wed, 4 Oct 2017 19:29:38 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<4d4ba34d-5f7f-75ec-1534-d44481bd51d7@gmx.de>","Content-Language":"en-US","X-Provags-ID":"V03:K0:ektzDaYaqiaSYwgOIIgy568tlcKpLN/5e7m8PyH4xGqkhpiPFYZ\n\tQs4Amk5kZlbPbcgxOTYPHzE+DRlifmuaPBWxk194Bw9SUhZ9of5OwhtfQFiIEoe78DYB+z1\n\t8RNmx+IMWSJtB2bzbRL/TbNgDw28YlrOoZdKldaKWFP2rZGI7jbo20V0Uch1VmTzhg67gWR\n\trs6bf2LgsKBLmUoJ9PCeg==","X-UI-Out-Filterresults":"notjunk:1; V01:K0:3U26qXpuZxg=:35yTin4dlwde6hou1IzlJP\n\tr4ygWZtFwHxWZ1y40llgnBo7JrpEpU9QLxb0Uo+bnvVUnTZFeNoZwVxWLIhdWNNxJpYkcDrmN\n\tbK52/gtal3LzLtaGa6Anqw4JRiU6MheCasxYHtld2LO7JtYwKQ2VmY17K2IkgnJWVHSe0IwsW\n\tSlY/pv1YPXHiAZzb/yqPv5hudF3BbeE0f+ckUGjZiujuEElNSL/qmH77Hg8I2D598ylYudgPl\n\tiJ62R9dbSZTHQzDyP0IQNdQ4na2g56tz5l9e4yTwgfKxg+Rpb9qHlJR1v1EaijyE2bz+BrcTv\n\tthkkr0TTmZafj9z6QdIs/FhZJMI9oPOSJFJuWCW5MZR//ydR6Y9DEutKgP5MrzMZIn6XXGz+2\n\twXBLUNdX65tnjXlMUOKDbFOX+f43e6NiLKKlhNP7kq7tyew1fYxlntTekDMXnhNCUWrJUm9Yf\n\tDOr7N25M4/GKH/zW+NpZakaqLvjRaMHyRYXZbmpMHE08Jwnb7f1XJ8yKUAgDQPdk8FNM69Fil\n\tbReNBIjUtd0hR/LcStBDXbRkHtADPdkw97jPYjnEH3wwBcPzAW5AaIW2Rc8X6vgFGLAMxrcII\n\t/CIpbp8o2vzywoQLfXEDbgh5aMfrG/WQPTNHp3kpbbecGvQ6Q0EczPWDgvD0n628Y3QkE8Cnh\n\tEvpO5HHHI6VWPsIjfSnLwa0eOVcbt1jmaaLH7dfyFVBr6oiZV1Uv1H1A1uT2ZzLjWHhfm0frt\n\t9E7YbAL/1T5ZkTuTkIVo+pne0T6a6r+XmYbmgKskBPAz3qbQrH1w7ZVUKfZX6OwwvEocpKCfu\n\tMx4q1AhMNoVsoXMJH3fGqcv9B2uE3BmeAEhPymn+NbCZLbmCIU=","Cc":"Peter Jones <pjones@redhat.com>, Leif Lindholm <leif.lindholm@linaro.org>","Subject":"Re: [U-Boot] [PATCH v1 01/12] efi_loader: add stub\n\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}},{"id":1780027,"web_url":"http://patchwork.ozlabs.org/comment/1780027/","msgid":"<487e0891-3555-7c37-0652-998642e17988@gmx.de>","list_archive_url":null,"date":"2017-10-04T18:00:11","subject":"Re: [U-Boot] [PATCH v1 01/12] efi_loader: add stub\n\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL","submitter":{"id":61270,"url":"http://patchwork.ozlabs.org/api/people/61270/","name":"Heinrich Schuchardt","email":"xypron.glpk@gmx.de"},"content":"On 10/04/2017 07:13 PM, Heinrich Schuchardt wrote:\n> On 09/10/2017 03:22 PM, Rob Clark wrote:\n>> From: Leif Lindholm <leif.lindholm@linaro.org>\n>>\n>> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>\n>> ---\n>>  include/efi_api.h                          | 30 +++++++++++\n>>  include/efi_loader.h                       |  2 +\n>>  lib/efi_loader/Makefile                    |  1 +\n>>  lib/efi_loader/efi_boottime.c              |  4 ++\n>>  lib/efi_loader/efi_device_path_utilities.c | 83 ++++++++++++++++++++++++++++++\n>>  5 files changed, 120 insertions(+)\n>>  create mode 100644 lib/efi_loader/efi_device_path_utilities.c\n>>\n\n<snip>\n\n>> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c\n>> index 3860feb79b..8bb243d673 100644\n>> --- a/lib/efi_loader/efi_boottime.c\n>> +++ b/lib/efi_loader/efi_boottime.c\n>> @@ -775,6 +775,10 @@ void efi_setup_loaded_image(struct efi_loaded_image *info, struct efi_object *ob\n>>  \tobj->protocols[3].protocol_interface =\n>>  \t\t(void *)&efi_device_path_to_text;\n>>  \n>> +\tobj->protocols[4].guid = &efi_guid_device_path_utilities_protocol;\n>> +\tobj->protocols[4].protocol_interface =\n>> +\t\t(void *)&efi_device_path_utilities;\n>> +\n\nDo not add a protocol that is not properly implemented yet.\n\nRegards\n\nHeinrich","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3y6kHR6mRCz9sRm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 05:01:39 +1100 (AEDT)","by lists.denx.de (Postfix, from userid 105)\n\tid A0023C21E42; Wed,  4 Oct 2017 18:01:34 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 8DC4AC21DA6;\n\tWed,  4 Oct 2017 18:01:31 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 5FEC6C21DA6; Wed,  4 Oct 2017 18:01:30 +0000 (UTC)","from mout.gmx.net (mout.gmx.net [212.227.17.20])\n\tby lists.denx.de (Postfix) with ESMTPS id 0927EC21DA0\n\tfor <u-boot@lists.denx.de>; Wed,  4 Oct 2017 18:01:30 +0000 (UTC)","from [192.168.123.82] ([94.114.42.150]) by mail.gmx.com (mrgmx102\n\t[212.227.17.168]) with ESMTPSA (Nemesis) id\n\t0Lr46Z-1dMdbn3HUZ-00edeX; Wed, 04 Oct 2017 20:01:20 +0200"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=0.0 required=5.0 tests=FREEMAIL_FROM\n\tautolearn=unavailable autolearn_force=no version=3.4.0","From":"Heinrich Schuchardt <xypron.glpk@gmx.de>","To":"Rob Clark <robdclark@gmail.com>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>","References":"<20170910132236.14318-1-robdclark@gmail.com>\n\t<20170910132236.14318-2-robdclark@gmail.com>\n\t<4d4ba34d-5f7f-75ec-1534-d44481bd51d7@gmx.de>","Message-ID":"<487e0891-3555-7c37-0652-998642e17988@gmx.de>","Date":"Wed, 4 Oct 2017 20:00:11 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<4d4ba34d-5f7f-75ec-1534-d44481bd51d7@gmx.de>","Content-Language":"en-US","X-Provags-ID":"V03:K0:07lKZyO82vGbMczRj97eKoszEEfS261WQ8bES55I8h+5316CEX9\n\t44vl35OgyCx04JrT+7gsGxXr8+RRntEdCc9hEtGSBPOXIZnyGy4WSfEsrWGsXrHYCSEM5Gf\n\tymcRvwVv4zP2D1OHpM0lJQFkRPb/uBOCBgMmA9dq+8ZPqrGirsaRht93176u83IVFP8GIRz\n\tM45TL7pff3z8Rfj+D9+zQ==","X-UI-Out-Filterresults":"notjunk:1; V01:K0:2i3Asi4Tobs=:TZ8Wy2Se9BaEziknESE5MK\n\tcHI7ZioqGM5SP4+jQS66GcJF0yaVydVPABYJDB7Hdhp6Z7s07wzqwBzIbfGU3KPmTg7FaChUT\n\tmdls70k2jTYYt+ry0UbnjWMmv+XJyWrR1LJ+lSyMVkLkvGBwpWS51CrM2NMqW4uXzov00S8s2\n\teb6HmIjmqsfO/NEiu31bXwTjn3qzavchWexkT3K9AfXl2jKyXeH1YaVjAerhTKa1ldeB0/HAv\n\tGgD5PdrH2g4OSlozv4N9pP4Bcra4XjMyUSEXCgi07MTmvfwCnfmi6Jy7O/ccLmmibN4R4USl9\n\t5GgRbmuiSrODldC9iW8JUxf4QeVU4XSGnnhGagO5/vlj+4TYDZawLj5k0AgFfl/vLIRs3qxkF\n\t+fAIjTegAWQ5kj4SPW4cvr7KN3ozAS8NGiUHP1wll8NKFLbaMviSNANMA0rHn9MRtRtQLdBtd\n\tsStxIeCNtiLK5NPzDOcD2A03U/yAA6w06fsc6OOg+XLurgOFNjuVBbDbJCo6bwqG/6gINkYgF\n\tfw6F8wh8lXriYUkHiUDEDPpsSQCd/GnKc1nfW9cZqfsqrGbM9JR9wtzXgfDqKxKTLhXaeDqT0\n\tob12JqVtd8GjtSOEMc4CqwuK4sMeYKOAnungzsgqG8y4H8nVVNyx4DVgxxqKLKMPzF+4V30in\n\t5DhS6yba1DJ3fwwMSN5WSuVeaeFvP9+HT5qcBqsCswXAl8337LYbN8w/wmohcM0NFtLfFNckX\n\t1lvCH3LSRxI6bSGNkGMzJI8vnFF2bNCl86Lhxb2aWVmzoHFyrMiDymagnBPG/FIeb4YmkUM3z\n\tmxJJtEA+XJhjFhtuWA8OfR9DmQQH2j6q2tHlPO1fAEACsTTH+4=","Cc":"Peter Jones <pjones@redhat.com>, Leif Lindholm <leif.lindholm@linaro.org>","Subject":"Re: [U-Boot] [PATCH v1 01/12] efi_loader: add stub\n\tEFI_DEVICE_PATH_UTILITIES_PROTOCOL","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}}]