On Mon, Apr 17, 2023 at 18:09:16 +0000, Marvin Häuser wrote: > As the ASM_FUNC() macro performs a section switch, the preceding > .balign directive applies the alignment constraint to the current > location in the previous section. As the linker may not merge the > sections in-order, ArmReplaceLiveTranslationEntry() may be left > unaligned. > > Replace the explicit invocation of .balign with the ASM_FUNC_ALIGN() > macro, which guarantees the alignment constraint is applied correctly. > > Signed-off-by: Marvin Häuser <[email protected]> > Cc: Leif Lindholm <[email protected]> > Cc: Ard Biesheuvel <[email protected]> > Cc: Sami Mujawar <[email protected]> > Cc: Vitaly Cheptsov <[email protected]>
Assuming we reach consensus on the preceding patch, this one is a no brainer: Reviewed-by: Leif Lindholm <[email protected]> > --- > ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S > b/ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S > index e936a5be4e11..7627aeb95464 100644 > --- a/ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S > +++ b/ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S > @@ -69,17 +69,16 @@ > .L2_\@: > .endm > > - // Align this routine to a log2 upper bound of its size, so that it is > - // guaranteed not to cross a page or block boundary. > - .balign 0x200 > - > //VOID > //ArmReplaceLiveTranslationEntry ( > // IN UINT64 *Entry, > // IN UINT64 Value, > // IN UINT64 Address > // ) > -ASM_FUNC(ArmReplaceLiveTranslationEntry) > +// > +// Align this routine to a log2 upper bound of its size, so that it is > +// guaranteed not to cross a page or block boundary. > +ASM_FUNC_ALIGN(ArmReplaceLiveTranslationEntry, 0x200) > > // disable interrupts > mrs x4, daif > -- > 2.40.0 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#103120): https://edk2.groups.io/g/devel/message/103120 Mute This Topic: https://groups.io/mt/98325902/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
