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 <[email protected]>
> > ---
> > 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
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel