Hi, Oliver: Based on arm trusted firmware's doc : user-guide.md . I followed these steps to get a dedicated version uefi code: git clone -n https://github.com/tianocore/edk2.git cd edk2 git checkout 75f630347cace34e2d3abed2a5556ba71cfc50a9
After compiled it, I could run it with the following cmd: ./Foundation_v8 --cores=4 --no-secure-memory --visualization --gicv3 --data="./bl1.bin"@0x0 --data="./FVP_AARCH64_EFI.fd"@0x8000000\ It seemed not need ArmPlatformPkg\ArmVExpressPkg\Scripts\uefi-aarch64-bootstrap. So, why not keep using arm trusted firmware to load UEFI.fd ? Best wishes, -----邮件原件----- 发件人: Olivier Martin [mailto:olivier.mar...@arm.com] 发送时间: 2014年1月16日 18:11 收件人: edk2-devel@lists.sourceforge.net 主题: Re: [edk2] [edk2-ARM] ARMv8 bootloader question Yes, bootstrap should be replaced by ARM Trusted Firmware. I have not updated the documentation yet. Have a look at the User Guide to replace bootstrap by Trusted Firmware: https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/user-g uide.md Thanks, Olivier > -----Original Message----- > From: tiger...@viatech.com.cn [mailto:tiger...@viatech.com.cn] > Sent: 16 January 2014 01:47 > To: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] [edk2-ARM] ARMv8 bootloader question > > Hi, Oliver: > Thanks for your answer! > I have tried to get latest uefi code from > https://svn.code.sf.net/p/edk2/code/trunk/edk2, and it compiled > successfully. > I aslo boot it with FVP model. > > I have a question about bootstrap code: > 1. ArmPlatformPkg\ArmVExpressPkg\Scripts\uefi-aarch64-bootstrap > Has these code replaced arm trusted firmware?( > https://github.com/ARM-software/arm-trusted-firmware) > Because I didn't find any arm trusted firmware output msg when > running FVP model. > > Best wishes, > -----邮件原件----- > 发件人: Olivier Martin [mailto:olivier.mar...@arm.com] > 发送时间: 2014年1月15日 20:52 > 收件人: edk2-devel@lists.sourceforge.net > 主题: Re: [edk2] [edk2-ARM] ARMv8 bootloader question > > Hi Tiger, > > Yes we do not need to patch the BaseTools. I have updated the > instructions. > > Where did you get the sources from? From Linaro? We do not have the > directory 'ArmPkg/Drivers/AcpiTables' in subversion... > > Thanks, > Olivier > > > -----Original Message----- > > From: tiger...@viatech.com.cn [mailto:tiger...@viatech.com.cn] > > Sent: 15 January 2014 08:20 > > To: edk2-devel@lists.sourceforge.net > > Subject: Re: [edk2] [edk2-ARM] ARMv8 bootloader question > > > > Hi, Oliver: > > Based on this wiki: > > > http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ArmPlat > > formPkg/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=ArmPla > > tform > > 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.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.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