[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] New port to arm64-efi
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: [RFC] New port to arm64-efi |
Date: |
Sat, 16 Nov 2013 20:58:09 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9 |
I've imported the port to a branch leiflindholm/arm64 applying few fixes
I mentioned. Could you test it?
On 14.11.2013 16:31, Leif Lindholm wrote:
> On Thu, Nov 14, 2013 at 03:06:25PM +0100, Vladimir 'φ-coder/phcoder'
> Serbinenko wrote:
>> Good work. Few minor problems:
>> On 14.11.2013 13:35, Leif Lindholm wrote:
>>> +
>>> + grub_arch_sync_caches_real (address, len);
>> Why not do alignment here? You could align for both dcache and icache,
>> this simplifies asm part and makes it a bit more robust.
>>> + grub_uint32_t insword, insmask;
>>> + grub_ssize_t offset, offset_low, offset_high;
>>> +
>>> + insword = grub_le_to_cpu32 (*place);
>>> + insmask = 0xfc000000;
>>> +
>>> + offset_low = -(1 << 27);
>>> + offset_high = (1 << 27) - 1;
>>> +
>> Should be declared as const.
>
> Good point.
>
>>> +int grub_setjmp (grub_jmp_buf env) __attribute__ ((returns_twice));
>> We have a macro for returns_twice.
>
> Ah, I missed when that was introduced. Will fix.
>
>>> +/* Unaligned accesses only supported if MMU enabled */
>>> +#define GRUB_HAVE_UNALIGNED_ACCESS 1
>>> +
>> Feels like it shouldn't be defined:
>> #undef GRUB_HAVE_UNALIGNED_ACCESS
>> Not defining those does no harm unless there is some weird unaligned device.
>
> Ok.
> MMU is always enabled with UEFI though.
>
>>> diff --git a/util/grub-install.in b/util/grub-install.in
>>> index 4cddf5e..a882acf 100644
>>> --- a/util/grub-install.in
>>> +++ b/util/grub-install.in
>>> @@ -280,6 +280,8 @@ if [ x$source_directory = x ]; then
>>> ;;
>>> x"arm"*)
>>> target="arm-uboot";;
>>> + x"aarch64"*)
>>> + target="arm64-efi";;
>>> *)
>>> gettext "Unable to determine your platform. Use --target." ;
>>> echo ;;
>>> @@ -434,6 +436,8 @@ if [ x"$grub_modinfo_platform" = xefi ]; then
>>> efi_file=BOOTIA64.EFI ;;
>>> arm)
>>> efi_file=BOOTARM.EFI ;;
>>> + arm64)
>>> + efi_file=BOOTAARCH64.EFI ;;
>>> esac
>>> else
>>> # It is convenient for each architecture to have a different
>>> @@ -450,6 +454,8 @@ if [ x"$grub_modinfo_platform" = xefi ]; then
>>> efi_file=grubia64.efi ;;
>>> arm)
>>> efi_file=grubarm.efi ;;
>>> + arm64)
>>> + efi_file=grubarm64.efi ;;
>>> *)
>>> efi_file=grub.efi ;;
>>> esac
>> I'l need to merge those into install_c. Will you be available to test it?
>
> Sure.
>
> /
> Leif
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
signature.asc
Description: OpenPGP digital signature