From patchwork Wed Sep 13 22:05:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Clark X-Patchwork-Id: 813638 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="nDmTdn7A"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3xswll3qT2z9sNV for ; Thu, 14 Sep 2017 08:08:19 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 3B804C22617; Wed, 13 Sep 2017 22:06: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_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 0B348C223DA; Wed, 13 Sep 2017 22:06:14 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CC969C21EC9; Wed, 13 Sep 2017 22:06:06 +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 56FB6C2222A for ; Wed, 13 Sep 2017 22:06:03 +0000 (UTC) Received: by mail-qk0-f195.google.com with SMTP id c69so937828qke.5 for ; Wed, 13 Sep 2017 15:06:03 -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=nDmTdn7AenrfWBx4p0KVOn0mIRtwRgSZOEox7OJzOHElTuPPXjbrrXnEP07+7d2d68 cQSRHfYjLKSecuudJcjlHgyBylULSlBr4drAx01oDrB9/wckGmYeYuWjMrzeyzNdvTr3 YngiF79PIm6XGVhRZhktcPzWYUfpIUXtzBr59RUsi8OYlYfZR2oIw0GaG/56to1kpnwP Sg6IJ1zZ7vnQbx5MAsn27iRt6INeuJKFAypbRgVxpz5Y3rDoD97SReSleTdK0PSTTNkp Whm2C6M3bQWbaCWvnvNcrgGWMCSljjRR7bjaEzh9AzkiZs0LQj752MI1t8xrmFnfgiP8 ogrg== 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=cRzK0EZl2Xcti0lq9UM1pzcYYhxal6yGz+g3NqxFEZvl9VUkgWcyfcPOPr6MnqZn6C 2KPnBcSL9yoHlR9dStlGcxUxwnPBU0IgXDqQ13UtMflTEm7Iqj0YTZNux6e01iS+3OQU +lPBn4ZgpAqJXbgJ6aGU6iaJZVTRPFCkv5HKhBKvWgwCX+2fhjJu563c/wanafudqSMD 2icWWhpgp5O8ZfjVdnyZRCv+2ZTaOBMTmbSDAW5aH0EHpS9RnPfDCWiz4Ps7IE2s9YNY 3mxretx9A9+gZmYrbBlfeAoEwRlqCRWTOR2QCYLfkAvTG0c6c81SKO3jrZP356Qlye2F sIYg== X-Gm-Message-State: AHPjjUjGyH6LH2AfAEbaEs8aQJVa8hLyVNBPXc+jmFEU2htppOTG91id qnvVJUEjuTrXwHeY+UQ= X-Google-Smtp-Source: AOwi7QDTOWgCmUWftkvOsxTkRfKo0RDW3I7DpgZ4MsYzUlR/oIv3O3nIze0GF/IpgShLSQHMmOSl9A== X-Received: by 10.55.22.146 with SMTP id 18mr20697qkw.112.1505340362042; Wed, 13 Sep 2017 15:06:02 -0700 (PDT) Received: from localhost ([2601:184:4780:aac0:25f8:dd96:a084:785a]) by smtp.gmail.com with ESMTPSA id w31sm10318660qtg.48.2017.09.13.15.06.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Sep 2017 15:06:01 -0700 (PDT) From: Rob Clark To: U-Boot Mailing List Date: Wed, 13 Sep 2017 18:05:27 -0400 Message-Id: <20170913220546.19560-5-robdclark@gmail.com> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170913220546.19560-1-robdclark@gmail.com> References: <20170913220546.19560-1-robdclark@gmail.com> Cc: Heinrich Schuchardt , Peter Jones Subject: [U-Boot] [PATCH v3 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 --- 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];