From patchwork Sun Oct 8 15:33:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Clark X-Patchwork-Id: 823012 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VvORqbmJ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3y96pg4xRvz9t3F for ; Mon, 9 Oct 2017 02:33:31 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 5E221C21D8C; Sun, 8 Oct 2017 15:33:27 +0000 (UTC) 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, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 2D092C21C40; Sun, 8 Oct 2017 15:33:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 13472C21C40; Sun, 8 Oct 2017 15:33:24 +0000 (UTC) Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by lists.denx.de (Postfix) with ESMTPS id 6AACCC21C34 for ; Sun, 8 Oct 2017 15:33:23 +0000 (UTC) Received: by mail-qk0-f196.google.com with SMTP id z12so11721371qkb.0 for ; Sun, 08 Oct 2017 08:33:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Pg9n/43d9x283IHYp+lwVUfjg9JPCIhBewuKUgQBJiY=; b=VvORqbmJ7BhTZCrM791Jas0Mqe6uN0a6ANh103EA/XIOwwxjRxPBJ8Kaz2HvxR9MA5 KhN3bAeGz006/b9T5KfYFZ+cppQ4T4povDTRD3lSpRsTY0mPn1CW0ICxUTrBk1PeY6uT PKaCj1n+p97JfxTbikGgVzKV1poQt97+w7Co+c2PjPZU3L5F34wWtDNQiXgVy1ZqYljq 27Si6T0KqHDLhgC/7D2mKJFDK4GZrZGIiSO/4eyI0Cyuj9evuqwNgtp7cW6eVORC88S0 eQrUwPwYSpIPU37FA4Vcquw1QlcanUhzUKYtH3cKbJ4j6XcLBASaljlGpA7j6brQlq2p dbCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Pg9n/43d9x283IHYp+lwVUfjg9JPCIhBewuKUgQBJiY=; b=AsrZu6KRqvQnxs4vHKJFm4HNSYAc34TAviTAy9e/bn9r7ivxLw6cFwBXSiN952+ZaV BRDi5aQflgl9mpAz3kxmkFj3ihDl8lujYGBcxvro2AOnjLeDoGba6AYNOzdc1S5qrIPt wyS4G3greUydTcDxQf7qFyFcYGpKifsN6s+xtW5tNM3i3E3QEWJkVY+Egu1KR8OTJT+d MNVFS8Nc29Vya9UMdkXl365+TzPzoSaTSycp7GRBJEHL6WgX0iCHWRg4VcfdGwfJzxSA lPkPTf8Ts4/GNBSh/yC4wbO9No2ht5sTtiF+uFRxLhLPOYYrjuS0lIbvyxxyimOpysMw AQMg== X-Gm-Message-State: AMCzsaXvNYCP5vCljzpQyUO37szG/7xQ5EgozGuTK4wuRvIPgTdxRvl2 xsk6gfihO+vFgK68ZJBevZkmD7VG X-Google-Smtp-Source: AOwi7QDaPklNWX01WotrICzWNVsnGavoY52npc+XCjiB/HeozvUcFeYcEUxdxxRCpCbNRhJaDsK1Hg== X-Received: by 10.55.23.101 with SMTP id i98mr5590136qkh.193.1507476801980; Sun, 08 Oct 2017 08:33:21 -0700 (PDT) Received: from localhost ([2601:184:4780:aac0:25f8:dd96:a084:785a]) by smtp.gmail.com with ESMTPSA id h4sm3740543qth.75.2017.10.08.08.33.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 08 Oct 2017 08:33:20 -0700 (PDT) From: Rob Clark To: U-Boot Mailing List Date: Sun, 8 Oct 2017 11:33:08 -0400 Message-Id: <20171008153310.25350-1-robdclark@gmail.com> X-Mailer: git-send-email 2.13.6 Cc: Heinrich Schuchardt , =?utf-8?q?Andreas_F=C3=A4rbe?= =?utf-8?q?r?= Subject: [U-Boot] [PATCH] efi_loader: Fix disk dp's for pre-DM/legacy devices X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" This fixes an issue with OpenBSD's bootloader, and I think should also fix a similar issue with grub2 on legacy devices. In the legacy case we were creating disk objects for the partitions, but not also the parent device. Reported-by: Jonathan Gray Signed-off-by: Rob Clark --- lib/efi_loader/efi_disk.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c index eb9ce772d1..47b487aa30 100644 --- a/lib/efi_loader/efi_disk.c +++ b/lib/efi_loader/efi_disk.c @@ -340,6 +340,8 @@ int efi_disk_register(void) for (i = 0; i < 4; i++) { struct blk_desc *desc; char devname[32] = { 0 }; /* dp->str is u16[32] long */ + disk_partition_t info; + int part = 1; desc = blk_get_devnum_by_type(if_type, i); if (!desc) @@ -349,6 +351,15 @@ int efi_disk_register(void) snprintf(devname, sizeof(devname), "%s%d", if_typename, i); + + /* add devices for each partition: */ + while (!part_get_info(desc, part, &info)) { + efi_disk_add_dev(devname, if_typename, desc, + i, 0, part); + part++; + } + + /* ... and add block device: */ efi_disk_add_dev(devname, if_typename, desc, i, 0, 0); disks++;