[{"id":1770080,"web_url":"http://patchwork.ozlabs.org/comment/1770080/","msgid":"<a1addd77-f9ad-c789-68c4-0712b4a09c5a@gmx.de>","list_archive_url":null,"date":"2017-09-18T11:02:25","subject":"Re: [U-Boot] [PATCH 16/16] efi: sandbox: Add a simple 'bootefi\n\ttest' command","submitter":{"id":61270,"url":"http://patchwork.ozlabs.org/api/people/61270/","name":"Heinrich Schuchardt","email":"xypron.glpk@gmx.de"},"content":"On 09/18/2017 12:59 AM, Simon Glass wrote:\n> This jumps to test code which can call directly into the EFI support. It\n> does not need a separate image so it is easy to write tests with it.\n> \n> For now the test just outputs a message. To try it:\n> \n> ./sandbox/u-boot -c \"bootefi test\"\n> U-Boot 2017.09-00204-g696c9855fe (Sep 17 2017 - 16:43:53 -0600)\n> \n> DRAM:  128 MiB\n> MMC:\n> Using default environment\n> \n> In:    serial\n> Out:   serial\n> Err:   serial\n> SCSI:  Net:   No ethernet found.\n> IDE:   Bus 0: not available\n> Found 0 disks\n> Hello, world!\n> Test passed\n> \n> Signed-off-by: Simon Glass <sjg@chromium.org>\n> ---\n> \n>  cmd/bootefi.c             | 18 ++++++++++++++++++\n>  configs/sandbox_defconfig |  1 +\n>  include/efi_loader.h      |  3 +++\n>  lib/efi_loader/Kconfig    | 10 ++++++++++\n>  lib/efi_loader/Makefile   |  1 +\n>  lib/efi_loader/efi_test.c | 17 +++++++++++++++++\n>  6 files changed, 50 insertions(+)\n>  create mode 100644 lib/efi_loader/efi_test.c\n> \n> diff --git a/cmd/bootefi.c b/cmd/bootefi.c\n> index ee07733e3e..f499103d23 100644\n> --- a/cmd/bootefi.c\n> +++ b/cmd/bootefi.c\n> @@ -323,6 +323,24 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])\n>  \t\tmemcpy((char *)addr, __efi_hello_world_begin, size);\n>  \t} else\n>  #endif\n> +\tif (IS_ENABLED(CONFIG_BOOTEFI_TEST) && !strcmp(argv[1], \"test\")) {\n> +\t\tint ret;\n> +\n> +\t\t/* Initialize and populate EFI object list */\n> +\t\tif (efi_init_obj_list())\n> +\t\t\treturn CMD_RET_FAILURE;\n> +\n> +\t\tloaded_image_info.device_handle = bootefi_device_path;\n> +\t\tloaded_image_info.file_path = bootefi_image_path;\n> +\t\tret = efi_test(&loaded_image_info, &systab);\n> +\t\tif (ret) {\n> +\t\t\tprintf(\"Test failed: err=%d\\n\", ret);\n> +\t\t\treturn CMD_RET_FAILURE;\n> +\t\t}\n> +\t\tprintf(\"Test passed\\n\");\n> +\n> +\t\treturn 0;\n> +\t}\n>  #ifdef CONFIG_CMD_BOOTEFI_SELFTEST\n>  \tif (!strcmp(argv[1], \"selftest\")) {\n>  \t\t/*\n> diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig\n> index 72600afea8..ab63f639de 100644\n> --- a/configs/sandbox_defconfig\n> +++ b/configs/sandbox_defconfig\n> @@ -196,3 +196,4 @@ CONFIG_UT_TIME=y\n>  CONFIG_UT_DM=y\n>  CONFIG_UT_ENV=y\n>  CONFIG_UT_OVERLAY=y\n> +CONFIG_CMD_BOOTEFI_SELFTEST=y\n> diff --git a/include/efi_loader.h b/include/efi_loader.h\n> index 79d2dad22c..43919137b0 100644\n> --- a/include/efi_loader.h\n> +++ b/include/efi_loader.h\n> @@ -263,6 +263,9 @@ efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle,\n>  \t\t\t\t struct efi_system_table *systab);\n>  #endif\n>  \n> +/* Perform EFI tests */\n> +int efi_test(efi_handle_t image_handle, struct efi_system_table *systab);\n> +\n>  #else /* defined(EFI_LOADER) && !defined(CONFIG_SPL_BUILD) */\n>  \n>  /* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */\n> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig\n> index dee0a96a98..659b2b18f4 100644\n> --- a/lib/efi_loader/Kconfig\n> +++ b/lib/efi_loader/Kconfig\n> @@ -16,3 +16,13 @@ config EFI_LOADER_BOUNCE_BUFFER\n>  \t  Some hardware does not support DMA to full 64bit addresses. For this\n>  \t  hardware we can create a bounce buffer so that payloads don't have to\n>  \t  worry about platform details.\n> +\n> +config BOOTEFI_TEST\n> +\tbool \"Provide a test for the EFI loader\"\n> +\tdepends on EFI_LOADER && SANDBOX\n> +\tdefault y\n> +\thelp\n> +\t  Provides a test of the EFI loader functionality accessed via the\n> +\t  command line ('bootefi test'). This runs within U-Boot so does not\n> +\t  need a separate EFI application to work. It aims to include coverage\n> +\t  of all EFI code which can be accessed within sandbox.\n> diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile\n> index 30bf343a36..69eb93518d 100644\n> --- a/lib/efi_loader/Makefile\n> +++ b/lib/efi_loader/Makefile\n> @@ -21,3 +21,4 @@ obj-$(CONFIG_DM_VIDEO) += efi_gop.o\n>  obj-$(CONFIG_PARTITIONS) += efi_disk.o\n>  obj-$(CONFIG_NET) += efi_net.o\n>  obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += efi_smbios.o\n> +obj-$(CONFIG_BOOTEFI_TEST) += efi_test.o\n> diff --git a/lib/efi_loader/efi_test.c b/lib/efi_loader/efi_test.c\n> new file mode 100644\n> index 0000000000..3fdce78b05\n> --- /dev/null\n> +++ b/lib/efi_loader/efi_test.c\n> @@ -0,0 +1,17 @@\n> +/*\n> + * Copyright (c) 2017, Google Inc. All rights reserved.\n> + *\n> + * SPDX-License-Identifier:     GPL-2.0+\n> + */\n> +\n> +#include <common.h>\n> +#include <efi_api.h>\n> +\n> +int efi_test(efi_handle_t image_handle, struct efi_system_table *systable)\n> +{\n> +\tstruct efi_simple_text_output_protocol *con_out = systable->con_out;\n> +\n> +\tcon_out->output_string(con_out, L\"Hello, world!\\n\");\n> +\n> +\treturn 0;\n> +}\n> \n\nHello Simon,\n\nwhy do we need this patch?\nYou could just call bootefi selftest to demonstrate the same (after\nfixing the memory map initialization for the sandbox).\n\nCould you, please, review the framework that I have setup for bootefi\nselftest. Does the design make sense to you?\n\nBest regards\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 3xwjm504cBz9s7G\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 18 Sep 2017 21:03:15 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 6B01FC21EE0; Mon, 18 Sep 2017 11:02:47 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 83535C21C5C;\n\tMon, 18 Sep 2017 11:02:44 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 93AB7C21C5C; Mon, 18 Sep 2017 11:02:42 +0000 (UTC)","from mout.gmx.net (mout.gmx.net [212.227.15.19])\n\tby lists.denx.de (Postfix) with ESMTPS id 07129C21C41\n\tfor <u-boot@lists.denx.de>; Mon, 18 Sep 2017 11:02:42 +0000 (UTC)","from [192.168.123.58] ([84.118.154.110]) by mail.gmx.com (mrgmx002\n\t[212.227.17.190]) with ESMTPSA (Nemesis) id\n\t0Lw285-1dLRXV0XIT-017l0L; Mon, 18 Sep 2017 13:02:36 +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.7 required=5.0 tests=FREEMAIL_FROM,\n\tRCVD_IN_DNSWL_LOW,\n\tRCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no\n\tversion=3.4.0","To":"Simon Glass <sjg@chromium.org>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>","References":"<20170917225927.117917-1-sjg@chromium.org>\n\t<20170917225927.117917-17-sjg@chromium.org>","From":"Heinrich Schuchardt <xypron.glpk@gmx.de>","Message-ID":"<a1addd77-f9ad-c789-68c4-0712b4a09c5a@gmx.de>","Date":"Mon, 18 Sep 2017 13:02:25 +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":"<20170917225927.117917-17-sjg@chromium.org>","Content-Language":"en-US","X-Provags-ID":"V03:K0:RBXC8px4jlKIRdVnoZ+7tCric9H/PS2d+nvgAk+qJZpwJO5HZ6H\n\t+Xs/seJrE/DF+TwoVBcRt29jbOkD2b3xNnsE/0jh616bYXQjtvu3VNTcvC4I40p7fk7Qf0o\n\tMKXGWqJyD/zEkZNB7JvU88m5ZOAO2cSZaYjViGHU55U0Ma/jUy9N0AAcY01AMsgF/gSN37k\n\tTcylbqQg+crifX0XJpNuQ==","X-UI-Out-Filterresults":"notjunk:1; V01:K0:GRJK8Ahp9HI=:lgWTyhbrTOKb0UGxPdm75v\n\tAM4kUXl7u1PlWzUQYuoxyLmK5NWai7/ce5x+i1+WVITWtysfiVDraipXwl/VjbtV7PM8/ZuK5\n\tgxfZJLIqhQ2B8YGvmGz2+CamaMlEkY4LOlUJmBDnK8Dxva/cZPnoR0WsD5obTiYJw1FJUkXRU\n\tEu1VybLX3V4gzXWWwoGB9FQbwz3HAeuwLzDYVUCd2bVS/JGDykSGPmy7PjVimn1mWJXJWjj6j\n\tLUnRYb4OjFzvAbSVnSsFXe8OJNSYXCYJ85FuWwRPjEsLu5bGhng1pt2m2v+0gFlXHVDiCs9E6\n\tEDfgdSbnySy1UuiJS1QS9ez8AyVxF23D7vJ4ZtkwknnBPGpV7mo+yWLI+jYNHIXlv9trzloS5\n\tmbEnvRpFlRav4gXB0BYnsa4lKarVGdu7MaOpkeyoH/DJIhzWvEpDzrXUdhea/UrB0jQ/a3ZS5\n\tjd0/E5RO0unEHEG2gIVY6ZVV6zjjbxx8ODSxfYcCZ9FfmVjxxqPuxbFl5XDlLZWFlSkmjdY9H\n\t/kBvtSS+zmhyZRo84q+D2Wc//yZWb1SlH9l9LRGGOZ8nUE749sKRwD6oZqh4OkVtfxY4qKZkt\n\tQ9V2bYq+tb/xfM4WpQAwr6PyjxFsWuj1vGIaDLgBttt70vVVfwF7qd5iAXk8oLNj2iNxZlquV\n\tB1Nemtqknp5nR/KoYc3NuNLgTbqDhUWzmkcy+EBE7bKGknR7kASu5D+hBCWwRsQvj4TVTrbnu\n\tz9I4orCoRAvVKK5blW9YNIKBeDIN7RkDH4CIr5hy8+BtbuV3jAzz6NrqH64LGPbVl+4Vvs9Jr\n\tSUVWwgSGFhhZ+hZUOlB+ozxXvSIf1zLdYh4yjdM8lYOqzLXfK8=","Cc":"Andy Shevchenko <andriy.shevchenko@linux.intel.com>","Subject":"Re: [U-Boot] [PATCH 16/16] efi: sandbox: Add a simple 'bootefi\n\ttest' command","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":1774374,"web_url":"http://patchwork.ozlabs.org/comment/1774374/","msgid":"<CAPnjgZ3yBSEakps0353wtWKUrUGqdCBA3OST5eNtcy8Tbjbmnw@mail.gmail.com>","list_archive_url":null,"date":"2017-09-25T02:15:16","subject":"Re: [U-Boot] [PATCH 16/16] efi: sandbox: Add a simple 'bootefi\n\ttest' command","submitter":{"id":6170,"url":"http://patchwork.ozlabs.org/api/people/6170/","name":"Simon Glass","email":"sjg@chromium.org"},"content":"Hi Heinrich,\n\nOn 18 September 2017 at 05:02, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:\n> On 09/18/2017 12:59 AM, Simon Glass wrote:\n>> This jumps to test code which can call directly into the EFI support. It\n>> does not need a separate image so it is easy to write tests with it.\n>>\n>> For now the test just outputs a message. To try it:\n>>\n>> ./sandbox/u-boot -c \"bootefi test\"\n>> U-Boot 2017.09-00204-g696c9855fe (Sep 17 2017 - 16:43:53 -0600)\n>>\n>> DRAM:  128 MiB\n>> MMC:\n>> Using default environment\n>>\n>> In:    serial\n>> Out:   serial\n>> Err:   serial\n>> SCSI:  Net:   No ethernet found.\n>> IDE:   Bus 0: not available\n>> Found 0 disks\n>> Hello, world!\n>> Test passed\n>>\n>> Signed-off-by: Simon Glass <sjg@chromium.org>\n>> ---\n>>\n>>  cmd/bootefi.c             | 18 ++++++++++++++++++\n>>  configs/sandbox_defconfig |  1 +\n>>  include/efi_loader.h      |  3 +++\n>>  lib/efi_loader/Kconfig    | 10 ++++++++++\n>>  lib/efi_loader/Makefile   |  1 +\n>>  lib/efi_loader/efi_test.c | 17 +++++++++++++++++\n>>  6 files changed, 50 insertions(+)\n>>  create mode 100644 lib/efi_loader/efi_test.c\n>>\n>> diff --git a/cmd/bootefi.c b/cmd/bootefi.c\n>> index ee07733e3e..f499103d23 100644\n>> --- a/cmd/bootefi.c\n>> +++ b/cmd/bootefi.c\n>> @@ -323,6 +323,24 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])\n>>               memcpy((char *)addr, __efi_hello_world_begin, size);\n>>       } else\n>>  #endif\n>> +     if (IS_ENABLED(CONFIG_BOOTEFI_TEST) && !strcmp(argv[1], \"test\")) {\n>> +             int ret;\n>> +\n>> +             /* Initialize and populate EFI object list */\n>> +             if (efi_init_obj_list())\n>> +                     return CMD_RET_FAILURE;\n>> +\n>> +             loaded_image_info.device_handle = bootefi_device_path;\n>> +             loaded_image_info.file_path = bootefi_image_path;\n>> +             ret = efi_test(&loaded_image_info, &systab);\n>> +             if (ret) {\n>> +                     printf(\"Test failed: err=%d\\n\", ret);\n>> +                     return CMD_RET_FAILURE;\n>> +             }\n>> +             printf(\"Test passed\\n\");\n>> +\n>> +             return 0;\n>> +     }\n>>  #ifdef CONFIG_CMD_BOOTEFI_SELFTEST\n>>       if (!strcmp(argv[1], \"selftest\")) {\n>>               /*\n>> diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig\n>> index 72600afea8..ab63f639de 100644\n>> --- a/configs/sandbox_defconfig\n>> +++ b/configs/sandbox_defconfig\n>> @@ -196,3 +196,4 @@ CONFIG_UT_TIME=y\n>>  CONFIG_UT_DM=y\n>>  CONFIG_UT_ENV=y\n>>  CONFIG_UT_OVERLAY=y\n>> +CONFIG_CMD_BOOTEFI_SELFTEST=y\n>> diff --git a/include/efi_loader.h b/include/efi_loader.h\n>> index 79d2dad22c..43919137b0 100644\n>> --- a/include/efi_loader.h\n>> +++ b/include/efi_loader.h\n>> @@ -263,6 +263,9 @@ efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle,\n>>                                struct efi_system_table *systab);\n>>  #endif\n>>\n>> +/* Perform EFI tests */\n>> +int efi_test(efi_handle_t image_handle, struct efi_system_table *systab);\n>> +\n>>  #else /* defined(EFI_LOADER) && !defined(CONFIG_SPL_BUILD) */\n>>\n>>  /* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */\n>> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig\n>> index dee0a96a98..659b2b18f4 100644\n>> --- a/lib/efi_loader/Kconfig\n>> +++ b/lib/efi_loader/Kconfig\n>> @@ -16,3 +16,13 @@ config EFI_LOADER_BOUNCE_BUFFER\n>>         Some hardware does not support DMA to full 64bit addresses. For this\n>>         hardware we can create a bounce buffer so that payloads don't have to\n>>         worry about platform details.\n>> +\n>> +config BOOTEFI_TEST\n>> +     bool \"Provide a test for the EFI loader\"\n>> +     depends on EFI_LOADER && SANDBOX\n>> +     default y\n>> +     help\n>> +       Provides a test of the EFI loader functionality accessed via the\n>> +       command line ('bootefi test'). This runs within U-Boot so does not\n>> +       need a separate EFI application to work. It aims to include coverage\n>> +       of all EFI code which can be accessed within sandbox.\n>> diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile\n>> index 30bf343a36..69eb93518d 100644\n>> --- a/lib/efi_loader/Makefile\n>> +++ b/lib/efi_loader/Makefile\n>> @@ -21,3 +21,4 @@ obj-$(CONFIG_DM_VIDEO) += efi_gop.o\n>>  obj-$(CONFIG_PARTITIONS) += efi_disk.o\n>>  obj-$(CONFIG_NET) += efi_net.o\n>>  obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += efi_smbios.o\n>> +obj-$(CONFIG_BOOTEFI_TEST) += efi_test.o\n>> diff --git a/lib/efi_loader/efi_test.c b/lib/efi_loader/efi_test.c\n>> new file mode 100644\n>> index 0000000000..3fdce78b05\n>> --- /dev/null\n>> +++ b/lib/efi_loader/efi_test.c\n>> @@ -0,0 +1,17 @@\n>> +/*\n>> + * Copyright (c) 2017, Google Inc. All rights reserved.\n>> + *\n>> + * SPDX-License-Identifier:     GPL-2.0+\n>> + */\n>> +\n>> +#include <common.h>\n>> +#include <efi_api.h>\n>> +\n>> +int efi_test(efi_handle_t image_handle, struct efi_system_table *systable)\n>> +{\n>> +     struct efi_simple_text_output_protocol *con_out = systable->con_out;\n>> +\n>> +     con_out->output_string(con_out, L\"Hello, world!\\n\");\n>> +\n>> +     return 0;\n>> +}\n>>\n>\n> Hello Simon,\n>\n> why do we need this patch?\n> You could just call bootefi selftest to demonstrate the same (after\n> fixing the memory map initialization for the sandbox).\n\nYes, but I'd like to use sandbox for testing where possible.\n\n>\n> Could you, please, review the framework that I have setup for bootefi\n> selftest. Does the design make sense to you?\n\nYes it looks good, now reviewed. I think we need both:\n\n- sandbox test for ease of use (but will not provide 100% coverage,\ne.g. I'm not sure we can implement exit boot services)\n- selftest to actually test the API calls properly (should be able to\ntest nearly everything here)\n\nRegards,\nSimon","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>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"J0OOy2dy\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"Ki/Ae0xP\"; dkim-atps=neutral"],"Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3y0pJJ42Fcz9t30\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Sep 2017 12:41:52 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 12730C22205; Mon, 25 Sep 2017 02:34:49 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id E8A41C221B6;\n\tMon, 25 Sep 2017 02:34:46 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid EACAAC221B4; Mon, 25 Sep 2017 02:15:43 +0000 (UTC)","from mail-qk0-f176.google.com (mail-qk0-f176.google.com\n\t[209.85.220.176])\n\tby lists.denx.de (Postfix) with ESMTPS id DBA49C22176\n\tfor <u-boot@lists.denx.de>; Mon, 25 Sep 2017 02:15:38 +0000 (UTC)","by mail-qk0-f176.google.com with SMTP id g128so5367319qke.13\n\tfor <u-boot@lists.denx.de>; Sun, 24 Sep 2017 19:15:38 -0700 (PDT)","by 10.200.37.200 with HTTP; Sun, 24 Sep 2017 19:15:16 -0700 (PDT)"],"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=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H2,\n\tT_DKIM_INVALID autolearn=unavailable autolearn_force=no\n\tversion=3.4.0","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=WXe0rDegz557sRIpq0tinq52s8hUVhQX7+8i+mmt6R8=;\n\tb=J0OOy2dy7u7OXnLgbfQ3mkrRyIF0wzszC/AN9B4JdpAI1SjGn6DKh7ex65hiONOwWx\n\t2fO2F/wvYr8bavP9uXbHvGBhqvvHyNRjWg2BzoSk8DFNEpkvuCP7552CIdIrCpBO7vrf\n\t/2GKk3nhTC3k9KQk2Gkgv/YU669ABnLX3kul6wYVPkm/5YFXwzW/JnbM6I8dU8xbaOVN\n\tWM95T0PRnZvWffIY/a+71SB1S/2lgsIK6VZoo3kru/kR1Y1wQ+oeMpCBi1twNAvYTkGj\n\tHvO98NYrrn4eBTuO4IYtwWLnbd81zx4U5RLfIZCAcdsi5zvkatSMkzuyeMXnZ/pJZbNv\n\tJyWA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=WXe0rDegz557sRIpq0tinq52s8hUVhQX7+8i+mmt6R8=;\n\tb=Ki/Ae0xPG1TzSTl0HGlt7PIPHHqh0ELhwpxRGBmK6na4/xJGjJP1JmLPFr5ifWUdKN\n\tghZly+LAul8qh049obAtEyI73AHdNGctBGVz5pPHmYncsGKmivquzM5OeVcwRsqJMKBN\n\tIRgpC1YNUaZIv4Gt+F+5wszTNFsYSBwoDJShA="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:sender:in-reply-to:references:from\n\t:date:message-id:subject:to:cc;\n\tbh=WXe0rDegz557sRIpq0tinq52s8hUVhQX7+8i+mmt6R8=;\n\tb=cjPWBJWpMpolLVltbFaw8x9WFla84pmIlpodrsvMo4dGxOOBmdwYCDvKafv65IC87o\n\tmd4mlqytkyVli5uxoSXs1+tH4k5vSmuzh4+H6wBaR/RJbggMiJ/e7N/5GZteyoaO+bfi\n\tBeZaLiRhdxjCMSXrX1yODOhJhnyfvkXDqib9mOZVTUMqsl9Tzdbco+S+1buHA5fHnAiV\n\tuEwJ32aNVPsNhLHlLvBHW81bOYmmfYmvPebtNIQztujG04/wn0ezLXN3O0nURO06zGSG\n\t2P8W2vnP5Zw2ulVTpsPoz4X8yTKM2Pe0qYtZKtkdygEWnvQLK2PyBEwHDXfoJ06+WITV\n\tHnxg==","X-Gm-Message-State":"AHPjjUjDrGh+BNcIICT7ZTQz1K0iEWmn7UokgMdq1ljvol7/IC6n7WxD\n\tyZLsBy/jZ5fRbTRfBUAagxPxDF6LCKOF3f1f/RYLlg==","X-Google-Smtp-Source":"AOwi7QD24+zQy5IzCcs1OGiY+Kjqj2ed5wFlPi0r+bLn0xZ3Cdp+IydRESEkOC3SwkoVRJpcYxUAn3g+c9w8k27LBwE=","X-Received":"by 10.55.146.198 with SMTP id u189mr8121884qkd.317.1506305737548;\n\tSun, 24 Sep 2017 19:15:37 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<a1addd77-f9ad-c789-68c4-0712b4a09c5a@gmx.de>","References":"<20170917225927.117917-1-sjg@chromium.org>\n\t<20170917225927.117917-17-sjg@chromium.org>\n\t<a1addd77-f9ad-c789-68c4-0712b4a09c5a@gmx.de>","From":"Simon Glass <sjg@chromium.org>","Date":"Sun, 24 Sep 2017 22:15:16 -0400","X-Google-Sender-Auth":"uYPWq1rcc9e85ILdyqeODTEi6u8","Message-ID":"<CAPnjgZ3yBSEakps0353wtWKUrUGqdCBA3OST5eNtcy8Tbjbmnw@mail.gmail.com>","To":"Heinrich Schuchardt <xypron.glpk@gmx.de>","Cc":"U-Boot Mailing List <u-boot@lists.denx.de>,\n\tAndy Shevchenko <andriy.shevchenko@linux.intel.com>","Subject":"Re: [U-Boot] [PATCH 16/16] efi: sandbox: Add a simple 'bootefi\n\ttest' command","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>"}}]