@@ -12,7 +12,7 @@ use core::mem::size_of;
1212
1313/// EFI system table in 32 bit mode tag.
1414#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
15- #[ repr( C ) ]
15+ #[ repr( C , align ( 8 ) ) ]
1616pub struct EFISdt32Tag {
1717 header : TagHeader ,
1818 pointer : u32 ,
@@ -43,7 +43,7 @@ impl TagTrait for EFISdt32Tag {
4343
4444/// EFI system table in 64 bit mode tag.
4545#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
46- #[ repr( C ) ]
46+ #[ repr( C , align ( 8 ) ) ]
4747pub struct EFISdt64Tag {
4848 header : TagHeader ,
4949 pointer : u64 ,
@@ -75,7 +75,7 @@ impl TagTrait for EFISdt64Tag {
7575/// Tag that contains the pointer to the boot loader's UEFI image handle
7676/// (32-bit).
7777#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
78- #[ repr( C ) ]
78+ #[ repr( C , align ( 8 ) ) ]
7979pub struct EFIImageHandle32Tag {
8080 header : TagHeader ,
8181 pointer : u32 ,
@@ -108,7 +108,7 @@ impl TagTrait for EFIImageHandle32Tag {
108108/// Tag that contains the pointer to the boot loader's UEFI image handle
109109/// (64-bit).
110110#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
111- #[ repr( C ) ]
111+ #[ repr( C , align ( 8 ) ) ]
112112pub struct EFIImageHandle64Tag {
113113 header : TagHeader ,
114114 pointer : u64 ,
@@ -138,9 +138,10 @@ impl TagTrait for EFIImageHandle64Tag {
138138 fn dst_len ( _: & TagHeader ) { }
139139}
140140
141- /// EFI ExitBootServices was not called tag.
141+ /// EFI ExitBootServices was not called tag. This tag has no payload and is
142+ /// just a marker.
142143#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
143- #[ repr( C ) ]
144+ #[ repr( C , align ( 8 ) ) ]
144145pub struct EFIBootServicesNotExitedTag {
145146 header : TagHeader ,
146147}
0 commit comments