efi: fix alignment for block device protocol
efi_block_io_media struct needs padding on x86. uint64_t is aligned on 4 bytes in Haiku toolchain for 32-bit EFI loader. But the EFI firmware expects it to be aligned on 8 bytes. Same padding in u-boot: https://github.com/u-boot/u-boot/blob/v2021.10/include/efi_api.h#L638 and in Illumos: https://github.com/illumos/illumos-gate/commit/feff18a41e45afb02478e67d56fad5027334f115 Change-Id: I1b95cbe4cc1e7d96fde3ba52862a05f8a94aab79 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4840 Reviewed-by: Fredrik Holmqvist <[email protected]>
This commit is contained in:
committed by
Fredrik Holmqvist
parent
80753344fe
commit
fbc211a255
@@ -43,8 +43,10 @@ struct efi_block_io_media {
|
||||
bool LogicalPartition;
|
||||
bool ReadOnly;
|
||||
bool WriteCaching;
|
||||
uint8_t pad1[3];
|
||||
uint32_t BlockSize;
|
||||
uint32_t IoAlign;
|
||||
uint8_t pad2[4];
|
||||
uint64_t LastBlock;
|
||||
|
||||
// present in rev2
|
||||
|
||||
Reference in New Issue
Block a user