Re: [PATCH V6 6/8] Add EFI stub for ARM

From: Leif Lindholm
Date: Wed Jan 15 2014 - 06:46:34 EST


On Tue, Jan 14, 2014 at 06:16:58PM -0800, Roy Franz wrote:
> >>> + .align 3
> >>> +pe_header:
> >>> + .ascii "PE"
> >>> + .short 0
> >>> +
> >>> +coff_header:
> >>> + .short 0x01c2 @ ARM or Thumb
> >>
> >> Could you explain why you are using 0x1c2 (Thumb) here and not 0x1c0 (ARM) ?
> >
> > Nope. It should be 0x1c0.
>
> OK, now I resolved the nagging feeling that I had already fixed
> this... Right now, the EDK2 UEFI implementation
> requires the machine type for ARM to be "0x1c2". I don't think that
> this is correct, but correcting this in EDK2 slipped through
> the cracks, but is now back on my todo list.

Nope, it should be 0x1c2.

0x1c0 is the COFF code for ARM only, which corresponds roughly with
OABI - which is not supported (and never will be) by the UEFI
specification.
0x1c2 means ARM or Thumb (Interworking), which is what we have.

The UEFI specification (correctly) neglects to even mention 0x1c0
and 0x1c4.

Do also note that the COFF information relates to the executable,
the stub. The rest of the kernel image is just a blob as far as UEFI
is concerned.

> I think that for now we should leave this as 0x1c2 so that the
> unpatched EDK2 builds will boot it, and some time after EDK2 is
> updated
> this can be changed. I'll work on a patch for EDK2 and get the
> discussion going on that list to resolve this in EDK2.

No need.

/
Leif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/