headers: Make structure padding explicit in efi_memory_descriptor
The EFI memory descriptor 64-bit aligns PhysicalStart on both 32- and
64-bit platforms. Make the padding explicit for arm efi and referring
32-bits platform.
- Same fix in FreeBSD: https://reviews.freebsd.org/rS320234
- Confirmed with NetBSD: https://github.com/NetBSD/src/blob/trunk/sys/external/bsd/gnu-efi/dist/inc/efidef.h#L191
- Confirmed with Linux: 5ee96fa9dd/include/linux/efi.h (L137)
- Confirmed with Zircon: https://github.com/vsrinivas/fuchsia/blob/master/zircon/kernel/lib/efi/include/efi/boot-services.h#L34
The Early Zircon/Fuchsia version has the same problem we have, apparently they did not
test their header on 32bit platforms either, now They have got it fixed.
Signed-off-by: Han Pengfei <pengphei@qq.com>
Change-Id: I0c685d41420c4a63773a7bb39b7d2fdd61e932c4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3875
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
This commit is contained in:
parent
d3b7fb5a1d
commit
2db2b2123b
@ -27,6 +27,7 @@ typedef enum {
|
||||
|
||||
typedef struct {
|
||||
uint32_t Type;
|
||||
uint32_t Padding;
|
||||
efi_physical_addr PhysicalStart;
|
||||
efi_virtual_addr VirtualStart;
|
||||
uint64_t NumberOfPages;
|
||||
|
Loading…
Reference in New Issue
Block a user