lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140115114700.GI30907@bivouac.eciton.net>
Date:	Wed, 15 Jan 2014 11:47:00 +0000
From:	Leif Lindholm <leif.lindholm@...aro.org>
To:	Roy Franz <roy.franz@...aro.org>
Cc:	Ard Biesheuvel <ard.biesheuvel@...aro.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-efi@...r.kernel.org" <linux-efi@...r.kernel.org>,
	"linux-arm-kernel@...ts.infradead.org" 
	<linux-arm-kernel@...ts.infradead.org>,
	Matt Fleming <matt.fleming@...el.com>,
	Russell King - ARM Linux <linux@....linux.org.uk>,
	Patch Tracking <patches@...aro.org>,
	Mark Salter <msalter@...hat.com>,
	Grant Likely <grant.likely@...aro.org>,
	Dave Martin <dave.martin@....com>
Subject: Re: [PATCH V6 6/8] Add EFI stub for ARM

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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ