[edk2-devel] [edk2-test PATCH v1 2/2] SctPkg: Enable RISCV64 support using AARCH64 sources

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Feb 9 13:47:46 UTC 2021


On 09.02.21 13:42, Leif Lindholm wrote:
> On Mon, Feb 08, 2021 at 18:04:45 +0100, Heinrich Schuchardt wrote:
>>>>> diff --git a/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
>>>>> b/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
>>>>> new file mode 100644
>>>>> index 00000000..8bc2c624
>>>>> --- /dev/null
>>>>> +++ b/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
>>>>> @@ -0,0 +1,45 @@
>>>>> +## @file
>>>>> +#
>>>>> +#  Copyright 2010 - 2012 Unified EFI, Inc.<BR>
>>>>> +#  Copyright (c) 2012, ARM Ltd. All rights reserved.<BR>
>>>>> +#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP.<BR>
>>>>> +#
>>>>> +#  This program and the accompanying materials
>>>>> +#  are licensed and made available under the terms and conditions of
>>>>> the BSD License
>>>>> +#  which accompanies this distribution.  The full text of the
>>>>> license may be found at
>>>>> +#  http://opensource.org/licenses/bsd-license.php
>>>>> +#
>>>>> +#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
>>>>> BASIS,
>>>>> +#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS
>>>>> OR IMPLIED.
>>>>> +#
>>>>> +##
>>>>> +#
>>>>> +#
>>>>> +#/*++
>>>>> +#
>>>>> +# Module Name:
>>>>> +#
>>>>> +#  GoVirtual.S
>>>>> +#
>>>>> +#--*/
>>>>> +#start of the code section
>>>>> +.text
>>>>> +/* FIXME: Should alignment be different on Aarch64? */
>>>>
>>>> 1) FIXME
>>>> 2) Aarch64.
>>>
>>> I have no idea why the alignment would be 3 on other platforms, so I
>>> don't know how to fix it.
>>> If anyone knows more, please let me know. I'll just change the comment
>>> to say Riscv64.
>>>
>>>>> +.align 3
>>
>> Both on Aarch64 and on RISC-V an odd alignment value makes no sense.
>>
>> .align 8 should do no harm. But is it needed?
>
> The glory of the GAS .align directive is that its meaning differs
> between architectures and executable formats. On ARM/AArch64, as well
> as on RISC-V (I think?) the alignment is described as a power of 2.
>
> So .align 3 on ARM and others are the same as .align 8 on x86 (ELF)
> and others.
>
> (It might not be a bad idea to start replacing .align directives with
> .baligh to reduce confusion.)

Thanks for pointing out the different meanings of .align. They are
documented in binutils-2.36/gas/doc/as.info chapter 7.3.

.balign is GNU assembler specific.

Do we have to consider other assemblers here?

Best regards

Heinrich

>
> I haven't looked into whether 8-byte alignment is actually required by
> the code here.
>
> /
>     Leif
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71515): https://edk2.groups.io/g/devel/message/71515
Mute This Topic: https://groups.io/mt/78637307/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list