From: Ian Campbell <ian.campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [PATCH v2] raisin: enable ovmf build for arm64
Date: Wed, 14 Oct 2015 17:11:42 +0100 [thread overview]
Message-ID: <1444839102.23192.231.camel@citrix.com> (raw)
In-Reply-To: <1444838247-30253-2-git-send-email-stefano.stabellini@eu.citrix.com>
On Wed, 2015-10-14 at 16:57 +0100, Stefano Stabellini wrote:
> Disable ovmf build on x86_32: it does not work, the code was already
> forcing a x86_64 build.
FYI osstest builds OVMF (64-bit) in its build-i386 jobs just fine. e.g. in
[0]. That's useful in 32-on-64 type scenarios, maybe raisin doesn't want to
support those?
The build run for both x86's in xen.git is just:
OvmfPkg/build.sh -a X64 -b $(TARGET) -n 4
cp Build/OvmfX64/$(TARGET)_GCC*/FV/OVMF.fd ovmf.bin
Which looks pretty close to what you have below...
Ian
[0] http://logs.test-lab.xenproject.org/osstest/logs/62946/build-i386/5.ts-xen-build.log
>
> ---
>
> Changes in v2:
> - disable x86_32 build (it doesn't work, but it wasn't explicitly
> disabled)
> - remove export GCC48_AARCH64_PREFIX= as it is not necessary
> - add a comment on why we are using -t GCC48
> ---
> components/ovmf | 47 +++++++++++++++++++++++++++++++----------------
> 1 file changed, 31 insertions(+), 16 deletions(-)
>
> diff --git a/components/ovmf b/components/ovmf
> index ffdde19..48091ac 100644
> --- a/components/ovmf
> +++ b/components/ovmf
> @@ -1,24 +1,28 @@
> #!/usr/bin/env bash
>
> function ovmf_skip() {
> - if [[ $RAISIN_ARCH != "x86_64" && $RAISIN_ARCH != "x86_32" ]]
> - then
> - return 0
> - else
> - return 1
> - fi
> + case $RAISIN_ARCH in
> + "arm32"|"x86_32" )
> + return 0
> + ;;
> + "arm64"|"x86_64" )
> + return 1
> + ;;
> + esac
> }
>
> function ovmf_check_package() {
> - local DEP_Debian_common="build-essential nasm uuid-dev python iasl"
> - local DEP_Debian_x86_32="$DEP_Debian_common"
> - local DEP_Debian_x86_64="$DEP_Debian_common"
> - local DEP_Debian_arm32="$DEP_Debian_common"
> + local DEP_Debian_common="build-essential uuid-dev python iasl"
> + local DEP_Debian_x86_64="$DEP_Debian_common nasm"
> local DEP_Debian_arm64="$DEP_Debian_common"
>
> - local DEP_Fedora_common="make gcc gcc-c++ nasm libuuid-devel python
> acpica-tools"
> - local DEP_Fedora_x86_32="$DEP_Fedora_common"
> - local DEP_Fedora_x86_64="$DEP_Fedora_common"
> + local DEP_Fedora_common="make gcc gcc-c++ libuuid-devel python
> acpica-tools"
> + local DEP_Fedora_x86_64="$DEP_Fedora_common nasm"
> + local DEP_Fedora_arm64="$DEP_Debian_common"
> +
> + local DEP_CentOS_common="$DEP_Fedora_common"
> + local DEP_CentOS_x86_64="$DEP_Fedora_x86_64"
> + local DEP_CentOS_arm64="$DEP_Fedora_arm64"
>
> verbose_echo Checking OVMF dependencies
> eval check-package \$DEP_"$DISTRO"_"$RAISIN_ARCH"
> @@ -30,9 +34,20 @@ function ovmf_build() {
> git-checkout $OVMF_URL $OVMF_REVISION ovmf-dir
> cd ovmf-dir
>
> - make -C BaseTools/Source/C
> - OvmfPkg/build.sh -a X64 -b RELEASE -n 4
> - cp Build/OvmfX64/RELEASE_GCC*/FV/OVMF.fd ovmf.bin
> + make -C BaseTools
> +
> + if [[ $RAISIN_ARCH = "arm64" ]]
> + then
> + # Just use gcc4.8 flags for now: we have to specify a gcc
> + # version and the 4.8 flags are almost identical to 4.9, etc.
> + bash -c "source edksetup.sh && \
> + build -a AARCH64 -t GCC48 -p ArmVirtPkg/ArmVirtXen.dsc
> -b RELEASE"
> + mkdir -p "$INST_DIR"/$PREFIX/lib/xen/boot
> + cp Build/ArmVirtXen-AARCH64/RELEASE_GCC*/FV/XEN_EFI.fd
> "$INST_DIR"/$PREFIX/lib/xen/boot/XEN_EFI.fd
> + else
> + OvmfPkg/build.sh -a X64 -b RELEASE -n 4
> + cp Build/OvmfX64/RELEASE_GCC*/FV/OVMF.fd ovmf.bin
> + fi
>
> cd "$BASEDIR"
> }
next prev parent reply other threads:[~2015-10-14 16:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-14 15:57 [PATCH v2] raisin: enable ovmf build for arm64 Stefano Stabellini
2015-10-14 16:11 ` Ian Campbell [this message]
2015-10-16 11:26 ` Stefano Stabellini
2015-10-14 22:17 ` Julien Grall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1444839102.23192.231.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.