From c50f409c15ef818baf5ee49edd52f44b9d809dce Mon Sep 17 00:00:00 2001 From: Toomas Soome Date: Mon, 12 Oct 2020 09:34:50 +0000 Subject: [PATCH] loader: edd_device_path_v3 is too small The EDD v3[1], see table 13, page 33, does define device path as double qword, that is, 16 bytes, we have only qword. Also remove edd_device_path_v4 and edd_params_v4 because those are not used, and there is no size difference in v3 versus v4. [1] http://www.t13.org/documents/UploadedDocuments/docs2004/d1572r3-EDD3.pdf MFC after: 2 weeks --- stand/i386/common/edd.h | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/stand/i386/common/edd.h b/stand/i386/common/edd.h index 9739c45b0f38..57607be0ebf2 100644 --- a/stand/i386/common/edd.h +++ b/stand/i386/common/edd.h @@ -71,7 +71,7 @@ struct edd_device_path_v3 { char host_bus[4]; char interface[8]; uint64_t interface_path; - uint64_t device_path; + uint64_t device_path[2]; uint8_t reserved2[1]; uint8_t checksum; } __packed; @@ -81,23 +81,6 @@ struct edd_params_v3 { struct edd_device_path_v3 device_path; } __packed; -struct edd_device_path_v4 { - uint16_t key; - uint8_t len; - uint8_t reserved[3]; - char host_bus[4]; - char interface[8]; - uint64_t interface_path; - uint64_t device_path[2]; - uint8_t reserved2[1]; - uint8_t checksum; -} __packed; - -struct edd_params_v4 { - struct edd_params params; - struct edd_device_path_v4 device_path; -} __packed; - #define EDD_FLAGS_DMA_BOUNDARY_HANDLING 0x0001 #define EDD_FLAGS_REMOVABLE_MEDIA 0x0002 #define EDD_FLAGS_WRITE_VERIFY 0x0004