Hi, Oliver:
Based on this wiki:
http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ArmPlatformPkg/AArch64#Introduction

1. I got latest edkii code, and tried to patch BaseTools, but has failed patch 
tip message.
. edksetup.sh `pwd`/BaseTools
patch -p1 < ArmPlatformPkg/Documentation/patches/BaseTools-Pending-Patches.patch

Does this patch has merged into ekdii's master branch?
Not need patch it again?

2. failed to compile ArmVExpress-RTSM-AEMv8Ax4-foundation 
    make: *** 
[/home/lion/ARMv8/UEFI/uefi/Build/ArmVExpress-RTSM-AEMv8Ax4-foundation/DEBUG_GCC47/AARCH64/ArmPkg/Drivers/AcpiTables/foundation-v8/AcpiTables/OUTPUT/Csrt.acpi]
 Error 1


build.py...
 : error 7000: Failed to execute command
        make tbuild 
[/home/lion/ARMv8/UEFI/uefi/Build/ArmVExpress-RTSM-AEMv8Ax4-foundation/DEBUG_GCC47/AARCH64/ArmPkg/Drivers/AcpiTables/foundation-v8/AcpiTables]


build.py...
 : error F002: Failed to build module
        
/home/lion/ARMv8/UEFI/uefi/ArmPkg/Drivers/AcpiTables/foundation-v8/AcpiTables.inf
 [AARCH64, GCC47, DEBUG]


Best wishes,
-----邮件原件-----
发件人: Olivier Martin [mailto:olivier.mar...@arm.com] 
发送时间: 2014年1月14日 2:36
收件人: edk2-devel@lists.sourceforge.net
主题: Re: [edk2] [edk2-ARM] ARMv8 bootloader question

Thanks Bhupesh to have replied to the email. Here are some clarifications.

We should not mix ARMv8 / AArch64 / AArch32 / ARMv7.

ARMv7 and ARMv8 are the revisions of the ARM Architecture.
- ARMv7 (version 7) is 32bit only.
- ARMv8 (version 8) covers 32bit and 64bit ARM Architectures.

- AArch32 and AArch64 are respectively the 32bit and 64bit version of ARM
architecture.
- AArch32 (defined by ARMv8) has some additions to the 32bit version of the
ARM Architecture in ARMv7.

AArch64 introduces the concept of Exception Level (EL). Most ELs can be run
in either 32bit (AArch32) or 64bit (AArch64) mode.
- EL3 (highest exception level)
- (Non-Secure) EL2 (for virtualization support)
- Secure and Non-Secure EL1
- Secure and Non-Secure EL0 (lowest exception level)

(I think - need to double check with ARMv8 spec) Any exception level can run
in 32bit mode (AArch32).
But if an exception level is in 32bit mode then all the lowest exception
levels are in 32bit mode.

'ARM Trusted Firmware' is an open source firmware that runs and support the
Secure Exception Levels (EL3, Secure EL1, Secure EL0).
UEFI (and its Tianocore Open Source implementation) only covers the
Non-Secure Exception Level. UEFI should run at the highest Non-Secure
exception level (probably EL2 or Non-Secure EL1 if there is no support for
EL2). 'ARM Trusted Firmware' does not support (yet) 32bit secure space.

There is nothing that prevents to run 'ARM Trusted Firmware' in 64bit mode
(EL3) and start UEFI from there in 32bit mode (EL2).
Note: This use case (starting into Non-Secure 32bit mode) has not been
validated yet.

If your SoC support AArch64 and AArch32 then it will always start in AArch64
mode.

Here is wikipage to explain how to build and run UEFI on the Foundation
Model:
https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ArmPlatform
Pkg/AArch64

Let me know if you need further clarifications,
Olivier

> -----Original Message-----
> From: tiger...@viatech.com.cn [mailto:tiger...@viatech.com.cn]
> Sent: 13 January 2014 04:56
> To: edk2-devel@lists.sourceforge.net
> Subject: Re: [edk2] [edk2-ARM] ARMv8 bootloader question
> 
> Hi, sharma:
> Thank you very much!
> I got it:
> Arm-trusted-firmware is the first running code on Foundation model.
> It runs at aarch64 execution state.
> 
> Best wishes,
> 
> 
> -----邮件原件-----
> 发件人: bhupesh.sha...@freescale.com
> [mailto:bhupesh.sha...@freescale.com]
> 发送时间: 2014年1月13日 12:48
> 收件人: 'edk2-devel@lists.sourceforge.net'
> 主题: Re: [edk2] [edk2-ARM] ARMv8 bootloader question
> 
> Hi Tiger,
> 
> Yes, the Trusted firmware runs in EL3 and calls the UEFI boot firmware
> which runs in EL2.
> 
> In the trusted firmware project https://github.com/ARM-software/arm-
> trusted-firmware
> you will find the instructions to launch UEFI from this firmware on the
> ARM FVPs (fixed Virtual
> Platforms) - for example the FVP_Base_AEMv8A-AEMv8A, in the readme.md
> file
> (https://github.com/ARM-software/arm-trusted-
> firmware/blob/master/readme.md)
> 
> Note that the Trusted Firmware has only been tested only on 64-bit
> versions of the ARM FVPs, so
> don't know how you will use to test the same for your 32-bit AArch32
> code.
> 
> Regards,
> Bhupesh
> 
> 
> > -----Original Message-----
> > From: tiger...@viatech.com.cn [mailto:tiger...@viatech.com.cn]
> > Sent: Monday, January 13, 2014 10:10 AM
> > To: edk2-devel@lists.sourceforge.net
> > Subject: Re: [edk2] [edk2-ARM] ARMv8 bootloader question
> >
> > Hi, sharma:
> > I used arm-none-linux-gnueabi-gcc-4.5.2 to compile 32bit uefi code.
> > I have a question about foundation model:
> > 1. There is an Open Source implementation of the Trusted/Secure
> Firmware:
> >     https://github.com/ARM-software/arm-trusted-firmware
> >    So, what is the relationship between arm-trusted-firmware and
> aarch64
> > uefi boot code.
> >     Arm-trusted-firmware will load aarch64 uefi boot code and jump to
> run
> > it?
> >
> > Best wishes,
> > -----邮件原件-----
> > 发件人: bhupesh.sha...@freescale.com
> > [mailto:bhupesh.sha...@freescale.com]
> > 发送时间: 2014年1月13日 12:02
> > 收件人: edk2-devel@lists.sourceforge.net
> > 主题: Re: [edk2] [edk2-ARM] ARMv8 bootloader question
> >
> > Hi Tiger,
> >
> > You can use the AArch64 foundation model support code in the EDK2
> code
> > base to write reference code for your ARMv8 SoC.
> >
> > Also which toolchain do you use for compiling your AArch32 (32-bit
> code)?
> >
> > Regards,
> > Bhupesh
> >
> >
> > > -----Original Message-----
> > > From: tiger...@viatech.com.cn [mailto:tiger...@viatech.com.cn]
> > > Sent: Monday, January 13, 2014 9:16 AM
> > > To: edk2-devel@lists.sourceforge.net
> > > Subject: Re: [edk2] [edk2-ARM] ARMv8 bootloader question
> > >
> > > Hi, sharma:
> > > Thanks for your answer!
> > > I described my understanding on current ARM UEFI code:
> > > 1. Most ARM UEFI code package is based on ARMv7 SOCs.
> > >     Because of lacking ARMv8 development board, so enthusiast
> ported
> > > uefi code on 32bit SOC.
> > > 2. ARMv8 supports aarch32 state.
> > >     So, if ARMv8 SOC powered to aarch32 state:
> > >     Developer could use current 32bit uefi code as code base to
> boot
> > > to uefi shell environment.
> > > 3. at uefi shell environment, there are 2 methods to boot 64bit
> linux
> > > kernel.
> > >     (1) switch to aarch64 state, then boot to linux kernel's entry
> > point.
> > >     (2) linux kernel's entry point included code to switch itself's
> > > execute state to aarch64.if this assumption exist, uefi bootloader
> > > just keep aarch32 state.
> > >
> > > Best wishes,
> > > -----邮件原件-----
> > > 发件人: bhupesh.sha...@freescale.com
> > > [mailto:bhupesh.sha...@freescale.com]
> > > 发送时间: 2014年1月13日 11:26
> > > 收件人: 'edk2-devel@lists.sourceforge.net'
> > > 抄送: 'oliviermar...@users.sourceforge.net'
> > > 主题: Re: [edk2] [edk2-ARM] ARMv8 bootloader question
> > >
> > > Hi Tiger,
> > >
> > > AFAIK, the AArch64 ISA is written from scratch for 64-bit support.
> > > Although it is backward compatible with AArch32 and binaries
> compiled
> > > for
> > > AArch32 (ARMv7 compatible) are supposed to run well on the ARMv8
> > > machine running in AArch32 mode.
> > >
> > > However, as per my understanding (and Olivier can correct me if I
> am
> > > wrong here), the UEFI code for ARMv8 executes in AArch64 mode -
> > > usually if the ARM core boots up in AArch64 in EL3, bootloaders
> like
> > > UEFI/u-boot also execute in AArch64 EL3 or EL2.
> > >
> > > Regards,
> > > Bhupesh
> > >
> > >
> > > > -----Original Message-----
> > > > From: tiger...@viatech.com.cn [mailto:tiger...@viatech.com.cn]
> > > > Sent: Monday, January 13, 2014 6:32 AM
> > > > To: edk2-devel@lists.sourceforge.net
> > > > Cc: oliviermar...@users.sourceforge.net
> > > > Subject: [edk2] [edk2-ARM] ARMv8 bootloader question
> > > >
> > > > Hi, Oliver:
> > > > I have a question abourt ARMv8 CPU's bootloader.
> > > > ARMv8 supports: AARCH32 / AARCH64
> > > > Take an example:
> > > > An ARMv8 SOC, when power up / reset, its default state is :
> AARCH32
> > > > Then, could i still run an old arm uefi bootloader which written
> by
> > > > ARMv7 instruction set?
> > > > I will switch ARMv8 SOC to AARCH64 before jumping into linux
> kernel.
> > > > Is it possible?
> > > >
> > > > Best wishes,
> > > >
> > > > -----------------------------------------------------------------
> ---
> > > > --
> > > > ---
> > > > -----
> > > > CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> > > > Learn Why More Businesses Are Choosing CenturyLink Cloud For
> > > > Critical Workloads, Development Environments & Everything In
> Between.
> > > > Get a Quote or Start a Free Trial Today.
> > > >
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.
> > > > clk
> > > > trk
> > > > _______________________________________________
> > > > edk2-devel mailing list
> > > > edk2-devel@lists.sourceforge.net
> > > > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> > > >
> > >
> > >
> > > -------------------------------------------------------------------
> ---
> > > ---
> > > -----
> > > CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> > > Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical
> > > Workloads, Development Environments & Everything In Between.
> > > Get a Quote or Start a Free Trial Today.
> > >
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.
> > > clk
> > > trk
> > > _______________________________________________
> > > edk2-devel mailing list
> > > edk2-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> > >
> > > -------------------------------------------------------------------
> ---
> > > ---
> > > -----
> > > CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> > > Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical
> > > Workloads, Development Environments & Everything In Between.
> > > Get a Quote or Start a Free Trial Today.
> > >
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.
> > > clk
> > > trk
> > > _______________________________________________
> > > edk2-devel mailing list
> > > edk2-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> > ---------------------------------------------------------------------
> ----
> > -----
> > CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> > Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical
> > Workloads, Development Environments & Everything In Between.
> > Get a Quote or Start a Free Trial Today.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.c
> lk
> > trk
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> >
> > ---------------------------------------------------------------------
> ----
> > -----
> > CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> > Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical
> > Workloads, Development Environments & Everything In Between.
> > Get a Quote or Start a Free Trial Today.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.c
> lk
> > trk
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> -----------------------------------------------------------------------
> -------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.c
> lktrk
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
> 
> -----------------------------------------------------------------------
> -------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.c
> lktrk
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel




------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to