summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/build.sh
Commit message (Collapse)AuthorAgeFilesLines
* OvmfPkg/build.sh: use newer '-drive if=pflash' syntax when running qemuRebecca Cran2019-07-291-1/+1
| | | | | | | | | | Specify the firmware to use via the newer '-drive if=pflash' syntax which allows specifying the raw format parameter. This avoids warnings with newer version of QEMU. Signed-off-by: Rebecca Cran <rebecca@bsdio.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
* OvmfPkg/build.sh: remove $ADD_QEMU_HDARebecca Cran2019-07-291-14/+0
| | | | | | | | | $ADD_QEMU_HDA was added because QEMU used to refuse to run without a disk. Since newer versions run without any disks, remove it. Signed-off-by: Rebecca Cran <rebecca@bsdio.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
* OvmfPkg/build.sh: remove literal carriage returnrebecca@bsdio.com2019-07-241-1/+1
| | | | | Signed-off-by: Rebecca Cran <rebecca@bsdio.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* OvmfPkg/build.sh: enable multitheaded build by defaultRebecca Cran2019-07-231-1/+1
| | | | | | | | | | | | Enable multithreaded builds by default when building OvmfPkg using build.sh. This can drastically reduce build times. For example, on a modern ThreadRipper system the time required to build decreases from 3 minutes to 1 minute. Signed-off-by: Rebecca Cran <rebecca@bsdio.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* OvmfPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-091-7/+1
| | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* OvmfPkg/build.sh: Enable flash for qemu 3 or laterJordan Justen2019-02-191-2/+2
| | | | | | | | | | | | | The check for 1.[1-9][0-9].* was removed since qemu jumped to 2.0 after 1.7. Changed 2.*.* to [2-9].*.* to match major releases 3 - 9. Added [1-9][0-9]*.*.* to match major releses >= 10. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* OvmfPkg: require GCC48 or laterLaszlo Ersek2019-01-081-14/+2
| | | | | | | | | | | | | | | | | | | | We're about to remove BaseTools support for GCC44..GCC47. Reject those gcc versions cleanly in "OvmfPkg/build.sh". In "OvmfPkg/README", upgrade any mentions of the same gcc versions to GCC48. No GCC44..GCC47 references remain under OvmfPkg after this patch. Cc: Anthony Perard <anthony.perard@citrix.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Julien Grall <julien.grall@linaro.org> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* Revert "OvmfPkg/build.sh: select the GCC49 toolchain settings for gcc-7.*"Laszlo Ersek2017-08-251-1/+1
| | | | | | | | | | | | | | This reverts commit ca56256d5e0b7e63325b049e90a6bd03f90e3598: TianoCore BZ#671 <https://bugzilla.tianocore.org/show_bug.cgi?id=671> has been fixed in commit 2f7f1e73c10f ("BaseTools: Add the missing -pie link option in GCC tool chain", 2017-08-23), so we can return to the GCC5 toolchain with gcc-7.*. Cc: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* OvmfPkg/build.sh: select the GCC49 toolchain settings for gcc-7.*Laszlo Ersek2017-08-171-1/+1
| | | | | | | | | | | | | | | | | | | When UefiCpuPkg/MpInitLib is built for X64 with gcc-7, using the DEBUG build target and the GCC5 toolchain settings, a C-language assignment is miscompiled such that the initial AP startup hangs in CpuMpPei (X64) or CpuDxe (Ia32X64). See <https://bugzilla.tianocore.org/show_bug.cgi?id=671> for a detailed analysis of the symptoms, and for mailing list links. This issue has been reported several times (one example is <https://bugzilla.tianocore.org/show_bug.cgi?id=657>). Until we (or the upstream gcc developers) figure out how to dissuade gcc-7 from the miscompilation, pick the GCC49 toolchain in "build.sh" for gcc-7.*. Cc: Alex Williamson <alex.williamson@redhat.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* OvmfPkg/build.sh: Parse qemu version in more casesJordan Justen2017-03-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since qemu v2.7.0, the pkgversion appears to have a bug: $ ./configure --target-list=x86_64-softmmu --with-pkgversion=foo Results in this output: $ x86_64-softmmu/qemu-system-x86_64 -version QEMU emulator version 2.8.90(foo) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers This appears to have been introduced in: 67a1de0d19 Makefile: Derive "PKGVERSION" from "git describe" by default The previous commit (077de81a4c) produces this output: $ x86_64-softmmu/qemu-system-x86_64 -version QEMU emulator version 2.6.50 (foo), Copyright (c) 2003-2008 Fabrice Bellard Now the OvmfPkg/build.sh script uses grep with '-o' to return only the matched text. grep -E is also used with a simple regex to extract only the digits of the version. qemu-bug: https://bugs.launchpad.net/bugs/1673373 Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* OvmfPkg/build.sh: Use GCC49 toolchains with GCC 6.[0-2]Anthony PERARD2016-12-061-1/+1
| | | | | | | | | | | | The goal of the patch is to avoid using -flto with GCC 6.0 to 6.2. This is to workaround a GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70955 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
* OvmfPkg/build.sh: Make GCC5 the default toolchain, catch GCC43 and earlierKonrad Rzeszutek Wilk2016-11-241-2/+9
| | | | | | | | | | | | | | | | | v2: * Changes suggested by Laszlo: - change the catch-all (*) to GCC5, from GCC44 - remove the (5.*.*) pattern from GCC49 - generate error for GCC < 4.4 In v3, also generate error for really GCC < 4.4, like GCC 1. Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> Tested-by: Laszlo Ersek <lersek@redhat.com>
* OvmfPkg/build.sh: Use GCC49 toolchain with GCC 5.*Jordan Justen2015-09-181-1/+1
| | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18514 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg: Fix the build.sh shebang line to avoid depending on location of bashBruce Cran2015-07-081-1/+1
| | | | | | | | | | | | | The bash binary can be in various locations depending on the system: on Linux it's in /bin while on BSD it's normally in /usr/local/bin. However, the env binary is almost always in /usr/bin and so can be used to find and start the shell. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bruce Cran <bruce@cran.org.uk> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17883 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Use XCODE5 for newer OS X releasesAndrew Fish2015-02-171-2/+8
| | | | | | | | | | | | Update OS Major number checking to future proof it, and default to XCODE5 (clang + lldb). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Andrew Fish <afish@apple.com> Reviewed-by: Bruce Cran <bruce.cran@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16879 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Allow qemu parameters with spacesJordan Justen2015-02-171-4/+3
| | | | | | | | | | | This change allows QEMU parameters to have spaces. For example: OvmfPkg/build.sh qemu -kernel vmlinuz -append "kernel-param1 param2" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16877 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Support IA32+X64 buildJordan Justen2014-07-281-8/+32
| | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15703 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Add support for GCC49 toolchainJordan Justen2014-07-281-1/+4
| | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15698 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Support GCC48 toolchainJordan Justen2014-01-201-2/+5
| | | | | | | | | | | | | If GCC 4.8 or 4.9 is detected, then use the GCC48 toolchain. Previously we would use the GCC47 toolchain, but GCC48 was recently added to the main edk2 BaseTools/Conf. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15141 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Enable flash for QEMU >= 1.6Jordan Justen2013-11-121-8/+17
| | | | | | | | | | | | | | | | If the QEMU version is found to be >= 1.6, then automatically enable flash (using the QEMU pflash command line parameter). QEMU supports flash since 1.2, but only if KVM is disabled. As of QEMU 1.6, flash support should also be enabled when KVM is used. Therefore it is safest to only enable flash for QEMU 1.6 and newer. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14842 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Support --enable-flash switchJordan Justen2013-11-121-4/+11
| | | | | | | | | | | | | | | | If this argument is used, then when QEMU is run, the -pflash parameter will be used with QEMU to enable QEMU's flash mode. It should be used before the 'qemu' argument, since it is not a QEMU parameter, but instead it updates how build.sh runs QEMU. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14841 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Use QEMU_COMMAND environment variableJordan Justen2013-11-061-2/+12
| | | | | | | | | | | | If the user has set the QEMU_COMMAND environment variable, then use it when running QEMU. This can be useful for running OVMF with development builds of QEMU. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14825 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg: update qemu-executable for IA32jljusten2013-01-251-2/+11
| | | | | | | | | | | | | | | Previously for IA32, we would only try to run qemu. Newer releases of QEMU now have renamed the x86 qemu to qemu-system-i386. Now, we search for: 1. qemu-system-i386 2. qemu-system-x86_64 3. qemu Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14101 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Fix compilation error on OS Xjljusten2013-01-161-7/+12
| | | | | | | | | | This patch sets the default TARGET_TOOLS/PROCESSOR on Darwin/Linux platforms. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Pike R. Alpha <pikeralpha@yahoo.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14054 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg: Support GCC47 toolchainjljusten2012-08-131-0/+3
| | | | | | | | | | | | When GCC >= 4.7 is detected, use the GCC47 toolchain. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> [jordan.l.justen@intel.com: reword commit message for OvmfPkg] Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13630 6f19259b-4bc3-4df7-8a09-765794883524
* accept "-n THREADNUMBER" in OvmfPkg build scriptjljusten2012-07-101-2/+6
| | | | | | | | | | | v1->v2: - change from "-j JOBS" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13521 6f19259b-4bc3-4df7-8a09-765794883524
* embed OvmfVideo.rom into OVMF.fdjljusten2012-07-101-2/+1
| | | | | | | | | | | | | | | | | This enables qemu to use OVMF with a single -bios option. Based on <http://lists.xen.org/archives/html/xen-devel/2012-03/msg01992.html>. v1->v2: - move xen-devel link from code to commit message - cover all three FDF files Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> [jordan.l.justen@intel.com: remove vgabios-cirrus.bin from build.sh/README] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13520 6f19259b-4bc3-4df7-8a09-765794883524
* EmulatorPkg, OvmfPkg: Remove debug code in build.shjljusten2011-11-081-1/+0
| | | | | | | | | This debug code causes the build.sh script to exit immediately for systems with GCC 4.4. Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12666 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Detect GCC 4.5 & 4.6jljusten2011-10-311-2/+13
| | | | | | | | Detect GCC 4.5 & 4.6, and use GCC45 and GCC46 toolchains. Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12614 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg: Add QemuVideoDxe driverjljusten2011-04-121-2/+2
| | | | | | | | This driver provides a UEFI Graphics Output Protocol (GOP) driver for the QEMU Cirrus VGA hardware. It enables 24-bit color, and uses the standard 32-bit GOP pixel format whenever possible. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11524 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Recognize '-p' switchjljusten2011-01-131-3/+11
| | | | | | This allows the .dsc file to be specified for the build. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11249 6f19259b-4bc3-4df7-8a09-765794883524
* OvmfPkg/build.sh: Add features and replace build32/64.shjljusten2011-01-091-0/+194
Add a single build.sh to replace build32.sh & build64.sh. The script watches for various parameters: -a: allows selecting IA32 or X64 (default) -b: allows selecting RELEASE or DEBUG (default) -t: allows selecting the toolchain When running qemu, the script doesn't always add -hda now. If the user provides a disk parameter (for example, -fda, -hda or -cdrom), then -hda will not be added to the qemu command line. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11238 6f19259b-4bc3-4df7-8a09-765794883524