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:
parent
af928ad562
commit
c50f409c15
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user