[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] New port to arm64-efi
From: |
Leif Lindholm |
Subject: |
Re: [RFC] New port to arm64-efi |
Date: |
Thu, 14 Nov 2013 16:31:12 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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