On Thu, Feb 15, 2018 at 11:30:32AM +0100, Daniel Kiper wrote: > On Thu, Feb 01, 2018 at 06:18:57PM +0000, Leif Lindholm wrote: > > Clean up code for matching IS_ARM slightly by making use of struct > > linux_arm_kernel_header and GRUB_LINUX_ARM_MAGIC_SIGNATURE. > > > > Signed-off-by: Leif Lindholm <leif.lindh...@linaro.org> > > --- > > grub-core/commands/file.c | 14 ++++++-------- > > 1 file changed, 6 insertions(+), 8 deletions(-) > > > > diff --git a/grub-core/commands/file.c b/grub-core/commands/file.c > > index 63c84499b..fad191202 100644 > > --- a/grub-core/commands/file.c > > +++ b/grub-core/commands/file.c > > @@ -27,6 +27,7 @@ > > #include <grub/elf.h> > > #include <grub/xen_file.h> > > #include <grub/efi/pe32.h> > > +#include <grub/arm/linux.h> > > #include <grub/i386/linux.h> > > #include <grub/xnu.h> > > #include <grub/machoload.h> > > @@ -383,21 +384,18 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, > > char **args) > > } > > case IS_ARM_LINUX: > > { > > - grub_uint32_t sig, sig_pi; > > - if (grub_file_read (file, &sig_pi, 4) != 4) > > + struct linux_arm_kernel_header lh; > > + if (grub_file_read (file, &lh, sizeof (lh)) != sizeof (lh)) > > break; > > /* Raspberry pi. */ > > - if (sig_pi == grub_cpu_to_le32_compile_time (0xea000006)) > > + if (lh.code0 == grub_cpu_to_le32_compile_time (0xea000006)) > > Could you define 0xea000006 as a constant? If you add the comment > what does it mean that will be perfect.
I'll be completely honest here and say "I don't have a clue". Well, that's not true, I'm broken enough to see that that is a short forward branch in the A32 ("ARM") instruction set. What I don't understand is what significance that has for Raspberry Pi. I just kept the logic for compatibility. Vladimir? / Leif _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel