public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms] [PATCH v6 2/2] Platform/ARM: Add Readme.md
@ 2018-11-30 13:56 Nariman Poushin
  2018-12-05  9:45 ` Leif Lindholm
  0 siblings, 1 reply; 6+ messages in thread
From: Nariman Poushin @ 2018-11-30 13:56 UTC (permalink / raw)
  To: leif.lindholm; +Cc: edk2-devel, Nariman Poushin

This covers the bulk of the information originally present in
https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
regarding building and running the Foundation/Base FVP Platforms.

The sections on fetching source have been delegated to the root Readme.md

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>
---

Changes from v5:

	- Properly fixed (rather tha NOT) fix the prebuilt_tools repo url

 Platform/ARM/Readme.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
 Readme.md              |  4 +---
 2 files changed, 63 insertions(+), 3 deletions(-)
 create mode 100644 Platform/ARM/Readme.md

diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
new file mode 100644
index 0000000..d343e7a
--- /dev/null
+++ b/Platform/ARM/Readme.md
@@ -0,0 +1,62 @@
+== Introduction ==
+
+These instructions explain how to get an edk2/edk2-platforms build running
+on the ARM Base FVP, which is a software model provided by ARM (for free)
+, which models a Cortex A core with various peripherals. More information
+can be found here:
+https://developer.arm.com/products/system-design/fixed-virtual-platforms
+
+<b>Requirement:</b>
+* A 32-bit or 64-bit Linux host machine.
+* Visual Studio is not officially supported, experimental support can be found here:
+[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]
+
+== Build EDK2 Tianocore ==
+
+<pre>cd $(WORKSPACE)/edk2</pre>For the Foundation and Base FVPs (defined by the DSC file Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc):
+<pre>build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5</pre>
+
+Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
+
+=== Run edk2/edk2-platforms on the ARM Base Platform FVP ===
+
+In order to run the binary we have just built there are a few steps we need to
+go through, we need to get a model, a set of prebuilts (where we will swap out
+the edk2 image with our own) and the tool with which we will swap out the
+prebuilt edk2 image.
+
+We will also rely on the "run_model" script that comes with the prebuilts, it
+is entirely possible to run the model without this but would require quite a bit
+of knowledge regarding the areguments ARM fastmodel (documentation can be found here:
+https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features)
+however the manual set of the FVP is outside the scope of this document. If you are interested
+please consult the documentation.
+
+It's recommended you create a folder where you download the prebuilts and
+required tool and copy your edk2 image in to it, as the run script expects
+the binaries in the same directory.
+
+1) Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms
+
+	- Select Armv8-A Base Platform FVP based on Fast Models 11.4
+	- It has a click through license but is free.
+
+2) Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI
+https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
+
+3) Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
+
+4) Update the fip.bin image from fvp-uefi.zip by running the following command:
+
+	fiptool update --nt-fw=[path to binary built above] fip.bin
+
+5) Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries
+downloaded in step 1):
+
+	MODEL=[path to FVP binary] ./run_model.sh
+
+This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is
+the file we modify), to be in the same directory as the run_model.sh script.
+
+This should be sufficient to provide a build/run/debug environment for aarch64.
+<!-- [[Category:ARM]] -->
diff --git a/Readme.md b/Readme.md
index 6ad5953..6748826 100644
--- a/Readme.md
+++ b/Readme.md
@@ -206,9 +206,7 @@ they will be documented with the platform.
 * [Overdrive](Platform/AMD/OverdriveBoard)
 * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
 
-## ARM
-* [Juno](Platform/ARM/JunoPkg)
-* [Versatile Express](Platform/ARM/VExpressPkg)
+## [ARM](Platform/ARM/Readme.md)
 
 ## Hisilicon
 * [D02](Platform/Hisilicon/D02)
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [edk2-platforms] [PATCH v6 2/2] Platform/ARM: Add Readme.md
  2018-11-30 13:56 [edk2-platforms] [PATCH v6 2/2] Platform/ARM: Add Readme.md Nariman Poushin
@ 2018-12-05  9:45 ` Leif Lindholm
  2018-12-05 10:22   ` Nariman Poushin
  2018-12-19 18:01   ` [edk2-platforms] [PATCH v7 " Nariman Poushin
  0 siblings, 2 replies; 6+ messages in thread
From: Leif Lindholm @ 2018-12-05  9:45 UTC (permalink / raw)
  To: Nariman Poushin; +Cc: edk2-devel

Hi Nariman,

Sorry, one more round: can you replace the <pre> tags for 'text` and
```text
more text
even more text
```
please?

And the <b> with **text**?

(And if I missed any more inline HTML, please convert that too.)

Regards,

Leif

On Fri, Nov 30, 2018 at 01:56:36PM +0000, Nariman Poushin wrote:
> This covers the bulk of the information originally present in
> https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
> regarding building and running the Foundation/Base FVP Platforms.
> 
> The sections on fetching source have been delegated to the root Readme.md
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>
> ---
> 
> Changes from v5:
> 
> 	- Properly fixed (rather tha NOT) fix the prebuilt_tools repo url
> 
>  Platform/ARM/Readme.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  Readme.md              |  4 +---
>  2 files changed, 63 insertions(+), 3 deletions(-)
>  create mode 100644 Platform/ARM/Readme.md
> 
> diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
> new file mode 100644
> index 0000000..d343e7a
> --- /dev/null
> +++ b/Platform/ARM/Readme.md
> @@ -0,0 +1,62 @@
> +== Introduction ==
> +
> +These instructions explain how to get an edk2/edk2-platforms build running
> +on the ARM Base FVP, which is a software model provided by ARM (for free)
> +, which models a Cortex A core with various peripherals. More information
> +can be found here:
> +https://developer.arm.com/products/system-design/fixed-virtual-platforms
> +
> +<b>Requirement:</b>
> +* A 32-bit or 64-bit Linux host machine.
> +* Visual Studio is not officially supported, experimental support can be found here:
> +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]
> +
> +== Build EDK2 Tianocore ==
> +
> +<pre>cd $(WORKSPACE)/edk2</pre>For the Foundation and Base FVPs (defined by the DSC file Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc):
> +<pre>build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5</pre>
> +
> +Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
> +
> +=== Run edk2/edk2-platforms on the ARM Base Platform FVP ===
> +
> +In order to run the binary we have just built there are a few steps we need to
> +go through, we need to get a model, a set of prebuilts (where we will swap out
> +the edk2 image with our own) and the tool with which we will swap out the
> +prebuilt edk2 image.
> +
> +We will also rely on the "run_model" script that comes with the prebuilts, it
> +is entirely possible to run the model without this but would require quite a bit
> +of knowledge regarding the areguments ARM fastmodel (documentation can be found here:
> +https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features)
> +however the manual set of the FVP is outside the scope of this document. If you are interested
> +please consult the documentation.
> +
> +It's recommended you create a folder where you download the prebuilts and
> +required tool and copy your edk2 image in to it, as the run script expects
> +the binaries in the same directory.
> +
> +1) Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms
> +
> +	- Select Armv8-A Base Platform FVP based on Fast Models 11.4
> +	- It has a click through license but is free.
> +
> +2) Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI
> +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
> +
> +3) Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
> +
> +4) Update the fip.bin image from fvp-uefi.zip by running the following command:
> +
> +	fiptool update --nt-fw=[path to binary built above] fip.bin
> +
> +5) Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries
> +downloaded in step 1):
> +
> +	MODEL=[path to FVP binary] ./run_model.sh
> +
> +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is
> +the file we modify), to be in the same directory as the run_model.sh script.
> +
> +This should be sufficient to provide a build/run/debug environment for aarch64.
> +<!-- [[Category:ARM]] -->
> diff --git a/Readme.md b/Readme.md
> index 6ad5953..6748826 100644
> --- a/Readme.md
> +++ b/Readme.md
> @@ -206,9 +206,7 @@ they will be documented with the platform.
>  * [Overdrive](Platform/AMD/OverdriveBoard)
>  * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
>  
> -## ARM
> -* [Juno](Platform/ARM/JunoPkg)
> -* [Versatile Express](Platform/ARM/VExpressPkg)
> +## [ARM](Platform/ARM/Readme.md)
>  
>  ## Hisilicon
>  * [D02](Platform/Hisilicon/D02)
> -- 
> 2.7.4
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-platforms] [PATCH v6 2/2] Platform/ARM: Add Readme.md
  2018-12-05  9:45 ` Leif Lindholm
@ 2018-12-05 10:22   ` Nariman Poushin
  2018-12-19 18:01   ` [edk2-platforms] [PATCH v7 " Nariman Poushin
  1 sibling, 0 replies; 6+ messages in thread
From: Nariman Poushin @ 2018-12-05 10:22 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel

On Wed, 5 Dec 2018 at 09:45, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> Hi Nariman,
>
> Sorry, one more round: can you replace the <pre> tags for 'text` and
> ```text
> more text
> even more text
> ```
> please?
>

No problem, will scrub and resend!


>
> And the <b> with **text**?
>
> (And if I missed any more inline HTML, please convert that too.)
>
> Regards,
>
> Leif
>

Thanks
Nariman


>
> On Fri, Nov 30, 2018 at 01:56:36PM +0000, Nariman Poushin wrote:
> > This covers the bulk of the information originally present in
> >
> https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
> > regarding building and running the Foundation/Base FVP Platforms.
> >
> > The sections on fetching source have been delegated to the root Readme.md
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>
> > ---
> >
> > Changes from v5:
> >
> >       - Properly fixed (rather tha NOT) fix the prebuilt_tools repo url
> >
> >  Platform/ARM/Readme.md | 62
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  Readme.md              |  4 +---
> >  2 files changed, 63 insertions(+), 3 deletions(-)
> >  create mode 100644 Platform/ARM/Readme.md
> >
> > diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
> > new file mode 100644
> > index 0000000..d343e7a
> > --- /dev/null
> > +++ b/Platform/ARM/Readme.md
> > @@ -0,0 +1,62 @@
> > +== Introduction ==
> > +
> > +These instructions explain how to get an edk2/edk2-platforms build
> running
> > +on the ARM Base FVP, which is a software model provided by ARM (for
> free)
> > +, which models a Cortex A core with various peripherals. More
> information
> > +can be found here:
> > +
> https://developer.arm.com/products/system-design/fixed-virtual-platforms
> > +
> > +<b>Requirement:</b>
> > +* A 32-bit or 64-bit Linux host machine.
> > +* Visual Studio is not officially supported, experimental support can
> be found here:
> > +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs
> ]
> > +
> > +== Build EDK2 Tianocore ==
> > +
> > +<pre>cd $(WORKSPACE)/edk2</pre>For the Foundation and Base FVPs
> (defined by the DSC file
> Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc):
> > +<pre>build -a AARCH64 -p
> Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5</pre>
> > +
> > +Once built, the edk2 image is the following file
> Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
> > +
> > +=== Run edk2/edk2-platforms on the ARM Base Platform FVP ===
> > +
> > +In order to run the binary we have just built there are a few steps we
> need to
> > +go through, we need to get a model, a set of prebuilts (where we will
> swap out
> > +the edk2 image with our own) and the tool with which we will swap out
> the
> > +prebuilt edk2 image.
> > +
> > +We will also rely on the "run_model" script that comes with the
> prebuilts, it
> > +is entirely possible to run the model without this but would require
> quite a bit
> > +of knowledge regarding the areguments ARM fastmodel (documentation can
> be found here:
> > +
> https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features
> )
> > +however the manual set of the FVP is outside the scope of this
> document. If you are interested
> > +please consult the documentation.
> > +
> > +It's recommended you create a folder where you download the prebuilts
> and
> > +required tool and copy your edk2 image in to it, as the run script
> expects
> > +the binaries in the same directory.
> > +
> > +1) Download the Base FVP from here
> https://developer.arm.com/products/system-design/fixed-virtual-platforms
> > +
> > +     - Select Armv8-A Base Platform FVP based on Fast Models 11.4
> > +     - It has a click through license but is free.
> > +
> > +2) Download the 18.10 Linaro ARM Landing Team release for FVP booting
> UEFI
> > +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
> > +
> > +3) Download the prebuilt fiptool from
> https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
> > +
> > +4) Update the fip.bin image from fvp-uefi.zip by running the following
> command:
> > +
> > +     fiptool update --nt-fw=[path to binary built above] fip.bin
> > +
> > +5) Execute the FVP run_model.sh script from fvp-uefi.zip and provide a
> path to the FVP binaries
> > +downloaded in step 1):
> > +
> > +     MODEL=[path to FVP binary] ./run_model.sh
> > +
> > +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin
> (which is
> > +the file we modify), to be in the same directory as the run_model.sh
> script.
> > +
> > +This should be sufficient to provide a build/run/debug environment for
> aarch64.
> > +<!-- [[Category:ARM]] -->
> > diff --git a/Readme.md b/Readme.md
> > index 6ad5953..6748826 100644
> > --- a/Readme.md
> > +++ b/Readme.md
> > @@ -206,9 +206,7 @@ they will be documented with the platform.
> >  * [Overdrive](Platform/AMD/OverdriveBoard)
> >  * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
> >
> > -## ARM
> > -* [Juno](Platform/ARM/JunoPkg)
> > -* [Versatile Express](Platform/ARM/VExpressPkg)
> > +## [ARM](Platform/ARM/Readme.md)
> >
> >  ## Hisilicon
> >  * [D02](Platform/Hisilicon/D02)
> > --
> > 2.7.4
> >
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [edk2-platforms] [PATCH v7 2/2] Platform/ARM: Add Readme.md
  2018-12-05  9:45 ` Leif Lindholm
  2018-12-05 10:22   ` Nariman Poushin
@ 2018-12-19 18:01   ` Nariman Poushin
  2019-01-11 17:42     ` Leif Lindholm
  1 sibling, 1 reply; 6+ messages in thread
From: Nariman Poushin @ 2018-12-19 18:01 UTC (permalink / raw)
  To: leif.lindhom; +Cc: leif, edk2-devel, Nariman Poushin

This covers the bulk of the information originally present in
https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
regarding building and running the Foundation/Base FVP Platforms.

The sections on fetching source have been delegated to the root Readme.md

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>
---

Changes from v6:

	- Removed inline html and generally tidied up markdown

 Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 Readme.md              |  4 +---
 2 files changed, 64 insertions(+), 3 deletions(-)
 create mode 100644 Platform/ARM/Readme.md

diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
new file mode 100644
index 0000000..ac86e95
--- /dev/null
+++ b/Platform/ARM/Readme.md
@@ -0,0 +1,63 @@
+# Introduction
+
+These instructions explain how to get an edk2/edk2-platforms build running
+on the ARM Base FVP, which is a software model provided by ARM (for free)
+, which models a Cortex A core with various peripherals. More information
+can be found here:
+[https://developer.arm.com/products/system-design/fixed-virtual-platforms]
+
+##Requirements
+- A 32-bit or 64-bit Linux host machine.
+- Visual Studio is not officially supported, experimental support can be found here:
+[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]
+
+# Build EDK2 Tianocore
+
+`cd $(WORKSPACE)/edk2`
+
+`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5`
+
+Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
+
+# Run edk2/edk2-platforms on the ARM Base Platform FVP
+
+In order to run the binary we have just built there are a few steps we need to
+go through, we need to get a model, a set of prebuilts (where we will swap out
+the edk2 image with our own) and the tool with which we will swap out the
+prebuilt edk2 image.
+
+We will also rely on the "run_model" script that comes with the prebuilts, it
+is entirely possible to run the model without this but would require quite a bit
+of knowledge regarding the areguments ARM fastmodel (documentation can be found here:
+[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features])
+however the manual set of the FVP is outside the scope of this document. If you are interested
+please consult the documentation.
+
+It's recommended you create a folder where you download the prebuilts and
+required tool and copy your edk2 image in to it, as the run script expects
+the binaries in the same directory.
+
+1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms
+
+	- Select Armv8-A Base Platform FVP based on Fast Models 11.4
+	- It has a click through license but is free.
+
+2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI
+https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
+
+3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
+
+4. Update the fip.bin image from fvp-uefi.zip by running the following command:
+
+	`fiptool update --nt-fw=[path to binary built above] fip.bin`
+
+5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries
+downloaded in step 1):
+
+	`MODEL=[path to FVP binary] ./run_model.sh`
+
+This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is
+the file we modify), to be in the same directory as the run_model.sh script.
+
+This should be sufficient to provide a build/run/debug environment for aarch64.
+<!-- [[Category:ARM]] -->
diff --git a/Readme.md b/Readme.md
index bb53c6f..86c989f 100644
--- a/Readme.md
+++ b/Readme.md
@@ -206,9 +206,7 @@ they will be documented with the platform.
 * [Overdrive](Platform/AMD/OverdriveBoard)
 * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
 
-## ARM
-* [Juno](Platform/ARM/JunoPkg)
-* [Versatile Express](Platform/ARM/VExpressPkg)
+## [ARM](Platform/ARM/Readme.md)
 
 ## Hisilicon
 * [D02](Platform/Hisilicon/D02)
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [edk2-platforms] [PATCH v7 2/2] Platform/ARM: Add Readme.md
  2018-12-19 18:01   ` [edk2-platforms] [PATCH v7 " Nariman Poushin
@ 2019-01-11 17:42     ` Leif Lindholm
  2019-01-14 15:40       ` Nariman Poushin
  0 siblings, 1 reply; 6+ messages in thread
From: Leif Lindholm @ 2019-01-11 17:42 UTC (permalink / raw)
  To: Nariman Poushin; +Cc: edk2-devel

On Wed, Dec 19, 2018 at 06:01:46PM +0000, Nariman Poushin wrote:
> This covers the bulk of the information originally present in
> https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
> regarding building and running the Foundation/Base FVP Platforms.
> 
> The sections on fetching source have been delegated to the root Readme.md
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>

I'm going to push this patch because I really don't want to get to v8.
A few comments below.

> ---
> 
> Changes from v6:
> 
> 	- Removed inline html and generally tidied up markdown
> 
>  Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  Readme.md              |  4 +---
>  2 files changed, 64 insertions(+), 3 deletions(-)
>  create mode 100644 Platform/ARM/Readme.md
> 
> diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
> new file mode 100644
> index 0000000..ac86e95
> --- /dev/null
> +++ b/Platform/ARM/Readme.md
> @@ -0,0 +1,63 @@
> +# Introduction
> +
> +These instructions explain how to get an edk2/edk2-platforms build running
> +on the ARM Base FVP, which is a software model provided by ARM (for free)
> +, which models a Cortex A core with various peripherals. More information
> +can be found here:
> +[https://developer.arm.com/products/system-design/fixed-virtual-platforms]
> +
> +##Requirements
> +- A 32-bit or 64-bit Linux host machine.
> +- Visual Studio is not officially supported, experimental support can be found here:
> +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]
> +
> +# Build EDK2 Tianocore
> +
> +`cd $(WORKSPACE)/edk2`
> +

Dropping above two lines which make assumptions that may not apply for everyone.

> +`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5`
> +
> +Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
> +
> +# Run edk2/edk2-platforms on the ARM Base Platform FVP
> +
> +In order to run the binary we have just built there are a few steps we need to
> +go through, we need to get a model, a set of prebuilts (where we will swap out
> +the edk2 image with our own) and the tool with which we will swap out the
> +prebuilt edk2 image.
> +
> +We will also rely on the "run_model" script that comes with the prebuilts, it
> +is entirely possible to run the model without this but would require quite a bit
> +of knowledge regarding the areguments ARM fastmodel (documentation can be found here:
> +[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features])
> +however the manual set of the FVP is outside the scope of this document. If you are interested
> +please consult the documentation.
> +
> +It's recommended you create a folder where you download the prebuilts and
> +required tool and copy your edk2 image in to it, as the run script expects
> +the binaries in the same directory.
> +
> +1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms
> +
> +	- Select Armv8-A Base Platform FVP based on Fast Models 11.4
> +	- It has a click through license but is free.
> +
> +2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI
> +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
> +
> +3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
> +
> +4. Update the fip.bin image from fvp-uefi.zip by running the following command:
> +
> +	`fiptool update --nt-fw=[path to binary built above] fip.bin`
> +
> +5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries
> +downloaded in step 1):
> +
> +	`MODEL=[path to FVP binary] ./run_model.sh`
> +
> +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is
> +the file we modify), to be in the same directory as the run_model.sh script.
> +
> +This should be sufficient to provide a build/run/debug environment for aarch64.
> +<!-- [[Category:ARM]] -->

Above line makes the 'file' command call this an "exported SGML
document". So I'm dropping this too.

> diff --git a/Readme.md b/Readme.md
> index bb53c6f..86c989f 100644
> --- a/Readme.md
> +++ b/Readme.md
> @@ -206,9 +206,7 @@ they will be documented with the platform.
>  * [Overdrive](Platform/AMD/OverdriveBoard)
>  * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
>  
> -## ARM
> -* [Juno](Platform/ARM/JunoPkg)
> -* [Versatile Express](Platform/ARM/VExpressPkg)

So, this patch adds a Platform/ARM/Readme.md (which is great), but it
deletes the only mention of all platforms other than Sgi (which is
less so).
Please address in a new patch.

Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

Pushed as e6fd447b23.

> +## [ARM](Platform/ARM/Readme.md)
>  
>  ## Hisilicon
>  * [D02](Platform/Hisilicon/D02)
> -- 
> 2.7.4
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-platforms] [PATCH v7 2/2] Platform/ARM: Add Readme.md
  2019-01-11 17:42     ` Leif Lindholm
@ 2019-01-14 15:40       ` Nariman Poushin
  0 siblings, 0 replies; 6+ messages in thread
From: Nariman Poushin @ 2019-01-14 15:40 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel

On Fri, Jan 11, 2019 at 05:42:43PM +0000, Leif Lindholm wrote:
> On Wed, Dec 19, 2018 at 06:01:46PM +0000, Nariman Poushin wrote:
> > This covers the bulk of the information originally present in
> > https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
> > regarding building and running the Foundation/Base FVP Platforms.
> > 
> > The sections on fetching source have been delegated to the root Readme.md
> > 
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>
> 
> I'm going to push this patch because I really don't want to get to v8.
> A few comments below.

You and me both, thanks though, hopefully it moves us forward a bit
by updating the docs.

> 
> > ---
> > 
> > Changes from v6:
> > 
> > 	- Removed inline html and generally tidied up markdown
> > 
> >  Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  Readme.md              |  4 +---
> >  2 files changed, 64 insertions(+), 3 deletions(-)
> >  create mode 100644 Platform/ARM/Readme.md
> > 
> > diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
> > new file mode 100644
> > index 0000000..ac86e95
> > --- /dev/null
> > +++ b/Platform/ARM/Readme.md
> > @@ -0,0 +1,63 @@
> > +# Introduction
> > +
> > +These instructions explain how to get an edk2/edk2-platforms build running
> > +on the ARM Base FVP, which is a software model provided by ARM (for free)
> > +, which models a Cortex A core with various peripherals. More information
> > +can be found here:
> > +[https://developer.arm.com/products/system-design/fixed-virtual-platforms]
> > +
> > +##Requirements
> > +- A 32-bit or 64-bit Linux host machine.
> > +- Visual Studio is not officially supported, experimental support can be found here:
> > +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]
> > +
> > +# Build EDK2 Tianocore
> > +
> > +`cd $(WORKSPACE)/edk2`
> > +
> 
> Dropping above two lines which make assumptions that may not apply for everyone.
> 

Sure thing.

> > +`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5`
> > +
> > +Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
> > +
> > +# Run edk2/edk2-platforms on the ARM Base Platform FVP
> > +
> > +In order to run the binary we have just built there are a few steps we need to
> > +go through, we need to get a model, a set of prebuilts (where we will swap out
> > +the edk2 image with our own) and the tool with which we will swap out the
> > +prebuilt edk2 image.
> > +
> > +We will also rely on the "run_model" script that comes with the prebuilts, it
> > +is entirely possible to run the model without this but would require quite a bit
> > +of knowledge regarding the areguments ARM fastmodel (documentation can be found here:
> > +[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features])
> > +however the manual set of the FVP is outside the scope of this document. If you are interested
> > +please consult the documentation.
> > +
> > +It's recommended you create a folder where you download the prebuilts and
> > +required tool and copy your edk2 image in to it, as the run script expects
> > +the binaries in the same directory.
> > +
> > +1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms
> > +
> > +	- Select Armv8-A Base Platform FVP based on Fast Models 11.4
> > +	- It has a click through license but is free.
> > +
> > +2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI
> > +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
> > +
> > +3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
> > +
> > +4. Update the fip.bin image from fvp-uefi.zip by running the following command:
> > +
> > +	`fiptool update --nt-fw=[path to binary built above] fip.bin`
> > +
> > +5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries
> > +downloaded in step 1):
> > +
> > +	`MODEL=[path to FVP binary] ./run_model.sh`
> > +
> > +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is
> > +the file we modify), to be in the same directory as the run_model.sh script.
> > +
> > +This should be sufficient to provide a build/run/debug environment for aarch64.
> > +<!-- [[Category:ARM]] -->
> 
> Above line makes the 'file' command call this an "exported SGML
> document". So I'm dropping this too.
> 

Sure.

> > diff --git a/Readme.md b/Readme.md
> > index bb53c6f..86c989f 100644
> > --- a/Readme.md
> > +++ b/Readme.md
> > @@ -206,9 +206,7 @@ they will be documented with the platform.
> >  * [Overdrive](Platform/AMD/OverdriveBoard)
> >  * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
> >  
> > -## ARM
> > -* [Juno](Platform/ARM/JunoPkg)
> > -* [Versatile Express](Platform/ARM/VExpressPkg)
> 
> So, this patch adds a Platform/ARM/Readme.md (which is great), but it
> deletes the only mention of all platforms other than Sgi (which is
> less so).
> Please address in a new patch.
> 

Ah ... yes, I see. Apologies! Will fix ASAP, I have some (currently) non
public stuff to work on but will address this as soon as I get a chance

> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> 
> Pushed as e6fd447b23.

Cheers!
Nariman

> 
> > +## [ARM](Platform/ARM/Readme.md)
> >  
> >  ## Hisilicon
> >  * [D02](Platform/Hisilicon/D02)
> > -- 
> > 2.7.4
> > 
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-01-14 15:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-30 13:56 [edk2-platforms] [PATCH v6 2/2] Platform/ARM: Add Readme.md Nariman Poushin
2018-12-05  9:45 ` Leif Lindholm
2018-12-05 10:22   ` Nariman Poushin
2018-12-19 18:01   ` [edk2-platforms] [PATCH v7 " Nariman Poushin
2019-01-11 17:42     ` Leif Lindholm
2019-01-14 15:40       ` Nariman Poushin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox