Show a cover letter.

GET /api/covers/813636/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 813636,
    "url": "http://patchwork.ozlabs.org/api/covers/813636/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20170913220546.19560-1-robdclark@gmail.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170913220546.19560-1-robdclark@gmail.com>",
    "list_archive_url": null,
    "date": "2017-09-13T22:05:23",
    "name": "[U-Boot,v3,00/21] efi_loader: enough UEFI for standard distro boot",
    "submitter": {
        "id": 18760,
        "url": "http://patchwork.ozlabs.org/api/people/18760/?format=api",
        "name": "Rob Clark",
        "email": "robdclark@gmail.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20170913220546.19560-1-robdclark@gmail.com/mbox/",
    "series": [
        {
            "id": 2990,
            "url": "http://patchwork.ozlabs.org/api/series/2990/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=2990",
            "date": "2017-09-13T22:05:23",
            "name": "efi_loader: enough UEFI for standard distro boot",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/2990/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/813636/comments/",
    "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=gmail.com header.i=@gmail.com\n\theader.b=\"EAv9cObD\"; dkim-atps=neutral"
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xswj54vPRz9sNV\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 14 Sep 2017 08:06:01 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 6B5ECC2250A; Wed, 13 Sep 2017 22:05:55 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 7A41DC21EE1;\n\tWed, 13 Sep 2017 22:05:53 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 44052C21EE1; Wed, 13 Sep 2017 22:05:52 +0000 (UTC)",
            "from mail-qt0-f194.google.com (mail-qt0-f194.google.com\n\t[209.85.216.194])\n\tby lists.denx.de (Postfix) with ESMTPS id 117BCC21EC9\n\tfor <u-boot@lists.denx.de>; Wed, 13 Sep 2017 22:05:51 +0000 (UTC)",
            "by mail-qt0-f194.google.com with SMTP id q8so948372qtb.1\n\tfor <u-boot@lists.denx.de>; Wed, 13 Sep 2017 15:05:51 -0700 (PDT)",
            "from localhost ([2601:184:4780:aac0:25f8:dd96:a084:785a])\n\tby smtp.gmail.com with ESMTPSA id\n\te64sm9883642qkc.15.2017.09.13.15.05.47\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tWed, 13 Sep 2017 15:05:48 -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=FREEMAIL_FROM,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,\n\tT_DKIM_INVALID\n\tautolearn=unavailable autolearn_force=no version=3.4.0",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id;\n\tbh=PSbgkCKZQPdD8sfvuoTEjWPCczgrpMjxTvkVlTpA2RY=;\n\tb=EAv9cObD1+ZVhW3aHk3vbtu0gg674D707XwaGUGXeG2z8ECZPlvN8+yVcAJ/pORBo8\n\tZpkWLkzxl8FfTFQuwoITsZdexZ8vWp8GSQIh1NISoipIHkz29aML29uUVKAKIHomq72B\n\tBGjYc5iXngr43xHUUdLXAAcAqtED5HNxNVYhGD0KCxt0RxAGQfbEC2Q+eDRluKUQ0bUg\n\ty4zVCdN9+ZbcmTpja1wrWE6Uf7x+/79RgRr/WBrTXwxHDY6LTrkUWHfPaYz6LSb8Xdjb\n\tEPh3j2XkNkzQwWOreag88FzeoEqsao+/Jn8nM6JVlmnlVboM06YBu21KUgec6QOniE2Z\n\t+z0g==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=PSbgkCKZQPdD8sfvuoTEjWPCczgrpMjxTvkVlTpA2RY=;\n\tb=Uxq+1tt0zhBLX/UN2gcDs4yRUJF1M+H7wzw8qXQW6yE4Rsr4r/o7aES7pNWTe/Bepg\n\tMVstPIQJ5ohorcCVTztrxK94dJ4la18MaDv4iWt8yA4bX5z0s+W/mUDQVlzc1GfFcIBq\n\tbxfRiKa6uQXySHs/l/N9xyuUulJoeqj3EWMd+l6odFsLqAoW5t4R04lNLinx8P6o6ULj\n\tTW0LUZJ38gycvN7b6Ml7tVbp+j2bGL4cgcb1bnXNp3lQ/b/JPkJifSuoU+uTNu+6y8hd\n\tfmTUBJoHJp0QJJvSF6N1gmQp114thK970Axn7gvNmQ+EJ4h0AlDlPBdOnES65xdT6/0r\n\te2qQ==",
        "X-Gm-Message-State": "AHPjjUhXBvCQspvyEJDD3lPsfHODsrY0A0dVDsa+oqUFiG48gYs5JY52\n\tPfFTFW5bHfyuboDBHDc=",
        "X-Google-Smtp-Source": "AOwi7QBQ7NAJdhulLh7PTe051ExEBm1dG5ZnOE/e7PNymfT72aCXjd6PWYmhtmDP2e0rZGZ2F/x6Ng==",
        "X-Received": "by 10.200.15.13 with SMTP id e13mr28200570qtk.295.1505340349443; \n\tWed, 13 Sep 2017 15:05:49 -0700 (PDT)",
        "From": "Rob Clark <robdclark@gmail.com>",
        "To": "U-Boot Mailing List <u-boot@lists.denx.de>",
        "Date": "Wed, 13 Sep 2017 18:05:23 -0400",
        "Message-Id": "<20170913220546.19560-1-robdclark@gmail.com>",
        "X-Mailer": "git-send-email 2.13.5",
        "Cc": "Heinrich Schuchardt <xypron.glpk@gmx.de>",
        "Subject": "[U-Boot] [PATCH v3 00/21] efi_loader: enough UEFI for standard\n\tdistro boot",
        "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>",
        "MIME-Version": "1.0",
        "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>"
    },
    "content": "This patchset fleshes out EFI_LOADER enough to support booting an\nupstream \\EFI\\BOOT\\bootaa64.efi (which then loads fallback.efi and\nthen eventually the per-distro shim.efi which loads the per-distro\ngrubaa64.efi) without resorting to hacks to hard-code u-boot to load\na particular distro's grub, or other hacks like setting up the\ndistro installation as live-media.\n\nBackground: with a normal UEFI implementation, the boot process is:\n\na) firmware (u-boot) looks at BootOrder and the BootXXXX variables\n   to try to determine what to boot.\nb) the firmware will look at the BootXXXX variables (which contain\n   an EFI_LOAD_OPTION \"struct\" in order specified by BootOrder, and\n   will boot the first bootable option.\nc) The EFI_LOAD_OPTION specifies a device-path which identifies the\n   device and file path of the .efi payload to exectute.\n\nThis is implemented with the 'bootefi bootmgr' command.\n\nIf there are no bootable options the firmware falls back to loading\n\\EFI\\BOOT\\bootaa64.efi (exact name varies depending on arch), which\nfor distro's using fallback/shim (which should include most modern\nlinux distros) then loads fallback.efi which uses the\nEFI_SIMPLE_FILE_SYSTEM_PROTCOL and EFI_FILE_PROTOCOL to search for\nany \\EFI\\*\\boot.csv, and will then set BootOrder and BootXXXX EFI\nvariables accordingly so that on next boot fallback.efi is not\nnecessary.\n\nThe last 5 patches are a bit unrelated, just pulling forward some of\nthe patches I have from the next patchset, to get Shell.efi and SCT\nworking.\n\nv2: updates for review comments\nv3: rebase on latest master and additional comments\n\nPeter Jones (2):\n  part: extract MBR signature from partitions\n  efi: add some more device path structures\n\nRob Clark (19):\n  part: move efi_guid_t\n  efi: add some missing __packed\n  efi_loader: add device-path utils\n  efi_loader: drop redundant efi_device_path_protocol\n  efi_loader: flesh out device-path to text\n  efi_loader: use proper device-paths for partitions\n  efi_loader: use proper device-paths for net\n  efi_loader: refactor boot device and loaded_image handling\n  efi_loader: add file/filesys support\n  efi_loader: support load_image() from a file-path\n  efi_loader: make pool allocations cacheline aligned\n  efi_loader: efi variable support\n  efi_loader: add bootmgr\n  efi_loader: file_path should be variable length\n  efi_loader: set loaded image code/data type properly\n  efi_loader: print GUIDs\n  efi_loader: split out escape sequence based size query\n  efi_loader: Correctly figure out size for vidconsole\n  efi_loader: Some console improvements for vidconsole\n\n cmd/bootefi.c                            | 249 ++++++--------\n disk/part_dos.c                          |  12 +-\n disk/part_efi.c                          |  20 ++\n include/blk.h                            |  18 +\n include/config_distro_bootcmd.h          |   5 +\n include/efi.h                            |  25 ++\n include/efi_api.h                        | 162 ++++++++-\n include/efi_loader.h                     |  62 +++-\n include/part.h                           |   3 +-\n include/part_efi.h                       |   4 -\n include/pe.h                             |   6 +\n lib/efi_loader/Makefile                  |   3 +-\n lib/efi_loader/efi_bootmgr.c             | 180 ++++++++++\n lib/efi_loader/efi_boottime.c            | 162 +++++++--\n lib/efi_loader/efi_console.c             | 123 ++++---\n lib/efi_loader/efi_device_path.c         | 563 +++++++++++++++++++++++++++++++\n lib/efi_loader/efi_device_path_to_text.c | 242 +++++++++----\n lib/efi_loader/efi_disk.c                |  86 +++--\n lib/efi_loader/efi_file.c                | 560 ++++++++++++++++++++++++++++++\n lib/efi_loader/efi_image_loader.c        |  26 ++\n lib/efi_loader/efi_memory.c              |   5 +-\n lib/efi_loader/efi_net.c                 |  24 +-\n lib/efi_loader/efi_runtime.c             |  17 +-\n lib/efi_loader/efi_variable.c            | 335 ++++++++++++++++++\n 24 files changed, 2538 insertions(+), 354 deletions(-)\n create mode 100644 lib/efi_loader/efi_bootmgr.c\n create mode 100644 lib/efi_loader/efi_device_path.c\n create mode 100644 lib/efi_loader/efi_file.c\n create mode 100644 lib/efi_loader/efi_variable.c"
}