[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] raisin: enable ovmf build for arm64



On Wed, 14 Oct 2015, Ian Campbell wrote:
> 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...

Fair enough, maybe I'll add a message to warn the user


> 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"
> >  }
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.