Hi, experts:
I want to test booting an AARCH32 UEFI bin.
I have downloaded a free licenced FVP model.
I used ATF(Arm Trusted Firmware) to boot UEFI.bin .
So, how to compile a AARCH32 UEFI bin?
Could current UEFI code be compiled as a 32bit bin?
Best wishes,
Hi Tiger,
On Wed, Apr 23, 2014 at 06:48:15PM +0800, TigerLiu@via-alliance.com wrote:
I want to test booting an AARCH32 UEFI bin. I have downloaded a free licenced FVP model. I used ATF(Arm Trusted Firmware) to boot UEFI.bin .
So, how to compile a AARCH32 UEFI bin?
Could current UEFI code be compiled as a 32bit bin?
Certainly - we make monthly releases, the latest set of images from our platform tree can be found at http://snapshots.linaro.org/components/kernel/linaro-edk2/12
But I would need to know which model you are actually using before I could tell you whether we have platform support for it.
https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/build is probably a lot less outdated than most other build instructions we have.
Regards,
Leif
Hi, Leif:
Certainly - we make monthly releases, the latest set of images from
our
platform tree can be found at http://snapshots.linaro.org/components/kernel/linaro-edk2/12
But I would need to know which model you are actually using before I could tell you whether we have platform support for it.
I used free licensed ARMv8 FVP model. So, is there any wiki page to describe how to compile edkii to aarch32 bin file?
Best wishes,
On Thu, Apr 24, 2014 at 09:54:39AM +0800, TigerLiu@via-alliance.com wrote:
But I would need to know which model you are actually using before I could tell you whether we have platform support for it.
I used free licensed ARMv8 FVP model. So, is there any wiki page to describe how to compile edkii to aarch32 bin file?
Ah. Sorry, I did not realise you meant running aarch32 on ARMv8 models.
I am not aware of any such support, although a new platform port should be reasonably straightforward. It is highly unlikely to be taken on by Linaro, however.
Olivier, Ryan?
Regards,
Leif
On 24 April 2014 08:23, Leif Lindholm leif.lindholm@linaro.org wrote:
On Thu, Apr 24, 2014 at 09:54:39AM +0800, TigerLiu@via-alliance.com wrote:
But I would need to know which model you are actually using before I could tell you whether we have platform support for it.
I used free licensed ARMv8 FVP model. So, is there any wiki page to describe how to compile edkii to aarch32 bin file?
Ah. Sorry, I did not realise you meant running aarch32 on ARMv8 models.
I am not aware of any such support, although a new platform port should be reasonably straightforward. It is highly unlikely to be taken on by Linaro, however.
Olivier, Ryan?
As far as I know, this is not supported / tried / tested with the existing BSP for the ARMv8 models. If you built the existing Aarch64 BSP for Aarch32, I wouldn't expect it to work without modification; but that is just a guess.
Regards,
Leif
Hi, Ryan:
Thanks for your reply!
Because current ARMv8 SOC usually has two system software configuration:
1. AARCH64 Kernel + AARCH32 Android
2. AARCH32 Kernel + AARCH32 Android
Some experts claims that:
Because AARCH64 Linux kernel is not mature until now, and Android still not support AARCH64.
Then "AARCH32 Kernel + AARCH32 Android" is prefer than "AARCH64 Kernel + AARCH32 Android"
So, I thought:
If adopting configuration 2 "AARCH32 Kernel + AARCH32 Android", then maybe AARCH32 UEFI is needed.
Best wishes,
On Thu, Apr 24, 2014 at 04:04:43PM +0800, TigerLiu@via-alliance.com wrote:
Because current ARMv8 SOC usually has two system software configuration:
AARCH64 Kernel + AARCH32 Android
AARCH32 Kernel + AARCH32 Android
Some experts claims that:
Because AARCH64 Linux kernel is not mature until now, and Android still not support AARCH64.
The Linux kernel has been available for AArch64 for ARM partners for over 2 years, has been upstreamc for over 1.5, and running on at least FPGA implementations for just as long. While maturity is a bit of a floating term, I would say the AArch64 kernel is certainly ready for production use.
Then “AARCH32 Kernel + AARCH32 Android” is prefer than “AARCH64 Kernel + AARCH32 Android”
So, I thought:
If adopting configuration 2 “AARCH32 Kernel + AARCH32 Android”, then maybe AARCH32 UEFI is needed.
I don't think so. "Other processor architectures" have already announced Android running with 64-bit kernels, so I don't see the need for ARM platforms to move backwards with regards to that.
But certainly any UEFI forum member is permitted to create their own implementation that supports this, following the AArch32 UEFI bindings.
Note that for UEFI runtime services support, it is an implicit requirement that UEFI and kernel match up (aarch64/aatch64 or aarch32/aarch32). So you are correct in that this use-case would require a 32-bit UEFI.
/ Leif
Tiger, I understand your requirement. It is an action I have on my TODO list. The support should be straightforward. It is mainly to port all the AArch64 assembly files to AArch32. I might have a try this week or next week.
Olivier
-----Original Message----- From: Leif Lindholm [mailto:leif.lindholm@linaro.org] Sent: 24 April 2014 10:20 To: TigerLiu@via-alliance.com Cc: ryan.harkin@linaro.org; linaro-uefi@lists.linaro.org; Olivier Martin Subject: Re: [Linaro-uefi] how to compile a AARCH32 UEFI bin?
On Thu, Apr 24, 2014 at 04:04:43PM +0800, TigerLiu@via-alliance.com wrote:
Because current ARMv8 SOC usually has two system software
configuration:
AARCH64 Kernel + AARCH32 Android
AARCH32 Kernel + AARCH32 Android
Some experts claims that:
Because AARCH64 Linux kernel is not mature until now, and Android
still not
support AARCH64.
The Linux kernel has been available for AArch64 for ARM partners for over 2 years, has been upstreamc for over 1.5, and running on at least FPGA implementations for just as long. While maturity is a bit of a floating term, I would say the AArch64 kernel is certainly ready for production use.
Then “AARCH32 Kernel + AARCH32 Android” is prefer than “AARCH64 Kernel + AARCH32 Android”
So, I thought:
If adopting configuration 2 “AARCH32 Kernel + AARCH32 Android”, then maybe AARCH32 UEFI is needed.
I don't think so. "Other processor architectures" have already announced Android running with 64-bit kernels, so I don't see the need for ARM platforms to move backwards with regards to that.
But certainly any UEFI forum member is permitted to create their own implementation that supports this, following the AArch32 UEFI bindings.
Note that for UEFI runtime services support, it is an implicit requirement that UEFI and kernel match up (aarch64/aatch64 or aarch32/aarch32). So you are correct in that this use-case would require a 32-bit UEFI.
/ Leif