From patchwork Sun Sep 10 11:21:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Clark X-Patchwork-Id: 812099 X-Patchwork-Delegate: agraf@suse.de 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="O+Vl5MN/"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3xqpcv0nZ5z9sDB for ; Sun, 10 Sep 2017 21:25:03 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id C3D02C21EA9; Sun, 10 Sep 2017 11:24:21 +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_DNSWL_NONE, 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 AC8D5C21F1D; Sun, 10 Sep 2017 11:23:12 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2C7E6C21E7C; Sun, 10 Sep 2017 11:22:31 +0000 (UTC) Received: from mail-qk0-f195.google.com (mail-qk0-f195.google.com [209.85.220.195]) by lists.denx.de (Postfix) with ESMTPS id E6037C21EBF for ; Sun, 10 Sep 2017 11:22:27 +0000 (UTC) Received: by mail-qk0-f195.google.com with SMTP id g128so3987492qke.0 for ; Sun, 10 Sep 2017 04:22:27 -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:in-reply-to:references; bh=0HLerYTmPnGMALX7+280qm7VekjKZjPCzmGTASJHnXA=; b=O+Vl5MN/jyb/kvZr4jxYQsw3FkG0LElVmXyoJe9IuoM+jqvHEWFMfr5dK2CxuBayXD +u0lMWBOstRKMRklp9vCIE4K6ojaXl31jwnIfrisKy8tPsYlARNa1qtziSvy12wyBWI1 q1bD1N5Yob7UYbPDEZzZgBbJQBd8ZvK9RKNOlhs6HcRu8N/qnYmnxfhUVFfECi1nZiP+ S2FaYzqWA/lqn6qzdTpzl3MgX09S148iaW2HHtrmPUwXbjgdLEET2+OcDQXkDj8/yNse OHvUzo8QHpS7uqsMgYg+RYsZx6gWkjOWAlqtuq2d3+p4Laa7q6H+9JrxOwR2QJM4KzLP /5RQ== 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:in-reply-to :references; bh=0HLerYTmPnGMALX7+280qm7VekjKZjPCzmGTASJHnXA=; b=VCSE5/JMAfyVrsKPVU7iQ6uVwYAHAbAdLbB4yfcMeDY2z56R0JHWZV3Ot7+E4Q9Ml7 vuj0p3PyUlHEQcSwz0qBXeVV49HmfuAz00czNdXqGnzddu7K5tFJf0Tt4JaJjN3udmsh mQ/EK3TrwK4GIU+Y0Ok7O5FTt8xaiQ12TuyKDi8iKHxh9Fs8mZMWkX4IZAvsePhV6Icv 4QT9NZdlahl4yBMb8412LP/Aw2O7oKEB4MhKdnyvXzNGRwgHr7vgvzZ6Gu3waH0nKwm2 IM81Kyb6u1/QLqCDEKuYaLQXhnkCn4GuiqzA9BsSgmGxmNoJKEeMnyPttOf8IlVK2iph 5sdA== X-Gm-Message-State: AHPjjUh8IOGjaRMBREAzETuvbEVsBhoM7mtEgFLrrnDmdXzMSB4H4j1K 8z/tGSUkOC58HMssYN0= X-Google-Smtp-Source: ADKCNb4xhOZ2FBK0J/kc7ay9aEaJtWxf7QEc8o4GrKdMWYjriWL++2zZ1jzpuw/mXtBOEMB8u+43aQ== X-Received: by 10.55.93.67 with SMTP id r64mr10633058qkb.358.1505042546674; Sun, 10 Sep 2017 04:22:26 -0700 (PDT) Received: from localhost ([2601:184:4780:aac0:25f8:dd96:a084:785a]) by smtp.gmail.com with ESMTPSA id o190sm4261175qke.59.2017.09.10.04.22.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 10 Sep 2017 04:22:25 -0700 (PDT) From: Rob Clark To: U-Boot Mailing List Date: Sun, 10 Sep 2017 07:21:24 -0400 Message-Id: <20170910112149.21358-8-robdclark@gmail.com> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170910112149.21358-1-robdclark@gmail.com> References: <20170910112149.21358-1-robdclark@gmail.com> Cc: Heinrich Schuchardt , Peter Jones Subject: [U-Boot] [PATCH v2 04/21] efi: add some more device path structures 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" From: Peter Jones Signed-off-by: Peter Jones Signed-off-by: Rob Clark Reviewed-by: Simon Glass --- include/efi_api.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/include/efi_api.h b/include/efi_api.h index 175341348e..b761cf4822 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -290,8 +290,38 @@ struct efi_mac_addr { u8 addr[32]; } __packed; +#define DEVICE_PATH_TYPE_HARDWARE_DEVICE 0x01 +# define DEVICE_PATH_SUB_TYPE_VENDOR 0x04 + +struct efi_device_path_vendor { + struct efi_device_path dp; + efi_guid_t guid; + u8 vendor_data[]; +} __packed; + +#define DEVICE_PATH_TYPE_ACPI_DEVICE 0x02 +# define DEVICE_PATH_SUB_TYPE_ACPI_DEVICE 0x01 + +#define EFI_PNP_ID(ID) (u32)(((ID) << 16) | 0x41D0) +#define EISA_PNP_ID(ID) EFI_PNP_ID(ID) + +struct efi_device_path_acpi_path { + struct efi_device_path dp; + u32 hid; + u32 uid; +} __packed; + #define DEVICE_PATH_TYPE_MESSAGING_DEVICE 0x03 +# define DEVICE_PATH_SUB_TYPE_MSG_USB 0x05 # define DEVICE_PATH_SUB_TYPE_MSG_MAC_ADDR 0x0b +# define DEVICE_PATH_SUB_TYPE_MSG_SD 0x1a +# define DEVICE_PATH_SUB_TYPE_MSG_MMC 0x1d + +struct efi_device_path_usb { + struct efi_device_path dp; + u8 parent_port_number; + u8 usb_interface; +} __packed; struct efi_device_path_mac_addr { struct efi_device_path dp; @@ -299,9 +329,33 @@ struct efi_device_path_mac_addr { u8 if_type; } __packed; +struct efi_device_path_sd_mmc_path { + struct efi_device_path dp; + u8 slot_number; +} __packed; + #define DEVICE_PATH_TYPE_MEDIA_DEVICE 0x04 +# define DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH 0x01 +# define DEVICE_PATH_SUB_TYPE_CDROM_PATH 0x02 # define DEVICE_PATH_SUB_TYPE_FILE_PATH 0x04 +struct efi_device_path_hard_drive_path { + struct efi_device_path dp; + u32 partition_number; + u64 partition_start; + u64 partition_end; + u8 partition_signature[16]; + u8 partmap_type; + u8 signature_type; +} __packed; + +struct efi_device_path_cdrom_path { + struct efi_device_path dp; + u32 boot_entry; + u64 partition_start; + u64 partition_end; +} __packed; + struct efi_device_path_file_path { struct efi_device_path dp; u16 str[32];