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
This commit is contained in:
Toomas Soome 2020-10-12 09:34:50 +00:00
parent af928ad562
commit c50f409c15

View File

@ -71,7 +71,7 @@ struct edd_device_path_v3 {
char host_bus[4]; char host_bus[4];
char interface[8]; char interface[8];
uint64_t interface_path; uint64_t interface_path;
uint64_t device_path; uint64_t device_path[2];
uint8_t reserved2[1]; uint8_t reserved2[1];
uint8_t checksum; uint8_t checksum;
} __packed; } __packed;
@ -81,23 +81,6 @@ struct edd_params_v3 {
struct edd_device_path_v3 device_path; struct edd_device_path_v3 device_path;
} __packed; } __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_DMA_BOUNDARY_HANDLING 0x0001
#define EDD_FLAGS_REMOVABLE_MEDIA 0x0002 #define EDD_FLAGS_REMOVABLE_MEDIA 0x0002
#define EDD_FLAGS_WRITE_VERIFY 0x0004 #define EDD_FLAGS_WRITE_VERIFY 0x0004