diff options
author | biao716.wang <biao716.wang@samsung.com> | 2021-11-25 16:18:00 +0900 |
---|---|---|
committer | biao716.wang <biao716.wang@samsung.com> | 2021-11-25 16:18:00 +0900 |
commit | 2f9b0fd1b1c86407f264bca68b9ce61679f4d6ed (patch) | |
tree | cf740a175cd12edcad0d069d3dbb8905ad9dd4b1 | |
parent | 3dfa5c893222347c631c4680dda0dbed277032bf (diff) | |
download | qemu-sandbox/wangbiao/qemu_up_4.2.0.tar.gz qemu-sandbox/wangbiao/qemu_up_4.2.0.tar.bz2 qemu-sandbox/wangbiao/qemu_up_4.2.0.zip |
remove %check in spec filesandbox/wangbiao/qemu_up_4.2.0
Change-Id: I53b8159d8695ddfa9e279edd76dbfd513d2b0515
Signed-off-by: biao716.wang <biao716.wang@samsung.com>
32 files changed, 1 insertions, 6748 deletions
diff --git a/packaging/qemu-4.2.0-0/50-seabios-256k.json b/packaging/qemu-4.2.0-0/50-seabios-256k.json deleted file mode 100755 index 3109f131a..000000000 --- a/packaging/qemu-4.2.0-0/50-seabios-256k.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "description": "SeaBIOS", - "interface-types": [ - "bios" - ], - "mapping": { - "device": "memory", - "filename": "/usr/share/qemu/bios-256k.bin" - }, - "targets": [ - { - "architecture": "i386", - "machines": [ - "pc-i440fx-*", - "pc-q35-*" - ] - }, - { - "architecture": "x86_64", - "machines": [ - "pc-i440fx-*", - "pc-q35-*" - ] - } - ], - "features": [ - "acpi-s3", - "acpi-s4" - ], - "tags": [ - "CONFIG_QEMU=y", - "CONFIG_ROM_SIZE=256", - "CONFIG_ATA_DMA=n" - ] -} diff --git a/packaging/qemu-4.2.0-0/60-seabios-128k.json b/packaging/qemu-4.2.0-0/60-seabios-128k.json deleted file mode 100755 index 6c0ed15bb..000000000 --- a/packaging/qemu-4.2.0-0/60-seabios-128k.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "description": "SeaBIOS", - "interface-types": [ - "bios" - ], - "mapping": { - "device": "memory", - "filename": "/usr/share/qemu/bios.bin" - }, - "targets": [ - { - "architecture": "i386", - "machines": [ - "pc-i440fx-*", - "pc-q35-*" - ] - }, - { - "architecture": "x86_64", - "machines": [ - "pc-i440fx-*", - "pc-q35-*" - ] - } - ], - "features": [ - "acpi-s3", - "acpi-s4" - ], - "tags": [ - "CONFIG_QEMU=y", - "CONFIG_ROM_SIZE=128", - "CONFIG_ATA_DMA=n", - "CONFIG_BOOTSPLASH=n", - "CONFIG_XEN=n", - "CONFIG_USB_OHCI=n", - "CONFIG_USB_XHCI=n", - "CONFIG_USB_UAS=n", - "CONFIG_SDCARD=n", - "CONFIG_TCGBIOS=n", - "CONFIG_MPT_SCSI=n", - "CONFIG_PVSCSI=n", - "CONFIG_NVME=n", - "CONFIG_USE_SMM=n", - "CONFIG_VGAHOOKS=n" - ] -} diff --git a/packaging/qemu-4.2.0-0/80-kvm.rules b/packaging/qemu-4.2.0-0/80-kvm.rules deleted file mode 100644 index 29ad00172..000000000 --- a/packaging/qemu-4.2.0-0/80-kvm.rules +++ /dev/null @@ -1 +0,0 @@ -KERNEL=="kvm", MODE="0666", GROUP="kvm" diff --git a/packaging/qemu-4.2.0-0/80-qemu-ga.rules b/packaging/qemu-4.2.0-0/80-qemu-ga.rules deleted file mode 100644 index e576460b5..000000000 --- a/packaging/qemu-4.2.0-0/80-qemu-ga.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="qemu-ga@virtio\\x2dports-org.qemu.guest_agent.0.service" diff --git a/packaging/qemu-4.2.0-0/README.PACKAGING b/packaging/qemu-4.2.0-0/README.PACKAGING deleted file mode 100755 index 7fe095dd7..000000000 --- a/packaging/qemu-4.2.0-0/README.PACKAGING +++ /dev/null @@ -1,70 +0,0 @@ -The qemu package, and derived packages have a special maintenance workflow in -order to support git based patching. Please use it in order to have changes -you make be acceptable to the package maintainers. - -The qemu.spec file is generated from a qemu.spec.in template, so to make changes -to the spec file (besides the script generated patch references), you'll need to -edit the template, not the spec file. The spec file patch references are inserted -by a script as described below. - -If you are not modifying any patches or their order, but just need to update the -spec file from a changed template, run 'bash ./update_git.sh refresh'. - -If the set of patches is being modified, including their order, you will want to -first run 'bash ./update_git.sh pkg2git', which makes the current package patch -queue available in a local git branch named frombundle (see config.sh for the -locations). This set of patches comes from a "bundle of git bundles", the -bundles.tar.xz file, which is included as a package source file. You will then -create an altered patch queue in the branch which corresponds to this release -(eg: opensuse-4.2), using the frombundle branch as the starting point for your -changes (eg perhaps start by doing git reset --hard frombundle, then cherry-pick -upstream patches from there). Once you have the patch queue ready to go run -'bash ./update_git.sh git2pkg' which updates the bundles.tar.xz file, as well as -the spec and patch files. - -The maintainer and automation use another workflow mode dealing with packaging -the latest upstream qemu. See 'LATEST' references in the scripts for details. - -** SPECIAL NOTE ABOUT CURRENT STATUS *** -The current status as of 31 Oct 2019 is that for this incarnation of qemu -packaging, the previous workflow which relied on the patches being in a shared -git repo on github or gitlab is no longer supported. This new bundle based -workflow is still a work in progress. -If it isn't working right, please contact Bruce Rogers <brogers@suse.com>. -*** END SPECIAL NOTE *** - -Additional Notes: - -Patches which are from an upstream git repo should have the commit id recorded -just below the Subject line (after a blank line) as follows: - -Git-commit: <40-char-sha-id> - -If a patch is anticipated to be shortly included in upstream repo, mark that -fact by doing the above with 40 0's, which will flag it as needing to be updated -in the near future. - -Bug or feature tracking identifiers should also be added to the patch similarly, -using the abbreviations identified here: -http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines#Current_set_of_abbreviations -using the "References:" tag, with multiple entries comma separated. - -The ability to provide a conditional inclusion of a patch (eg based on -architecture, is provided by using the "Include-If:" tag similarly, as follows: - -Include-If: %ifarch aarch64 - -This will cause the patch application in the spec file to be done as follows: -%ifarch aarch64 -%patch0013 -p1 -%endif - -A trick worth noting is, if a given git tracked patch is to be applied in a way -that can't be done in the normal patching section of the spec file, you can still -include the patch, and use it by name with the patch program elsewhere in the -spec file by doing something such as: -Include-If: %if 0%{?patch-possibly-applied-elsewhere} -(this variable will remain undefined in the spec file) And then elsewhere in spec -file, the actual patch (eg specially-handled-change.patch) is referenced as, eg: - -patch -p1 < %_sourcedir/specially-handled-change.patch diff --git a/packaging/qemu-4.2.0-0/_constraints b/packaging/qemu-4.2.0-0/_constraints deleted file mode 100644 index 968c71c0f..000000000 --- a/packaging/qemu-4.2.0-0/_constraints +++ /dev/null @@ -1,65 +0,0 @@ -<constraints> - <!-- All builds are fine with 9GB disk --> - <overwrite> - <conditions> - <package>qemu</package> - <package>qemu:linux-user</package> - <package>qemu:testsuite</package> - </conditions> - <hardware> - <disk> - <size unit="G">9</size> - </disk> - </hardware> - </overwrite> - <!-- To build qemu, s390x needs more than the default memory --> - <overwrite> - <conditions> - <arch>s390x</arch> - <package>qemu</package> - </conditions> - <hardware> - <memory> - <size unit="M">1200</size> - </memory> - </hardware> - </overwrite> - <!-- Excluding ARM, qemu-testsuite needs more than the default memory --> - <overwrite> - <conditions> - <arch>i586</arch> - <arch>x86_64</arch> - <arch>ppc64le</arch> - <package>qemu:testsuite</package> - </conditions> - <hardware> - <memory> - <size unit="M">4400</size> - </memory> - </hardware> - </overwrite> - <!-- And for some reason ppc64 needs even more --> - <overwrite> - <conditions> - <arch>ppc64</arch> - <package>qemu:testsuite</package> - </conditions> - <hardware> - <memory> - <size unit="M">4800</size> - </memory> - </hardware> - </overwrite> - <!-- To build qemu in a reasonable amount of time, aarch64 and x86_64 needs as much parallelism as we can get --> - <overwrite> - <conditions> - <arch>aarch64</arch> - <arch>x86_64</arch> - <package>qemu</package> - </conditions> - <hardware> - <processors>8</processors> - </hardware> - </overwrite> -</constraints> - diff --git a/packaging/qemu-4.2.0-0/baselibs.conf b/packaging/qemu-4.2.0-0/baselibs.conf deleted file mode 100644 index ab86b7c45..000000000 --- a/packaging/qemu-4.2.0-0/baselibs.conf +++ /dev/null @@ -1,72 +0,0 @@ -arch i586 targets armv7l:cross armv7hl:cross aarch64:cross -arch i686 targets armv7l:cross armv7hl:cross aarch64:cross -arch x86_64 targets armv7l:cross armv7hl:cross aarch64:cross -arch i586 targets armv7l:x86-cross armv7hl:x86-cross aarch64:x86-cross -arch i686 targets armv7l:x86-cross armv7hl:x86-cross aarch64:x86-cross -arch x86_64 targets armv7l:x86_64-cross armv7hl:x86_64-cross aarch64:x86_64-cross -qemu-linux-user - +/ -qemu-linux-user-debuginfo - +/ -qemu-linux-user-debugsource - +/ - -targettype cross package qemu-linux-user - autoreqprov off - +/ - post "function setbinfmt () {" - post " local arch=$1" - post " local fmt=$2" - post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" - post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" - post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" - post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" - post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" - post " fi" - post "}" - post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" - post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" - post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" - post "setbinfmt 'arm' ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' " - post "setbinfmt 'armeb' ':armeb:M::\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P'" - post "setbinfmt 'aarch64' ':aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P'" - -targettype x86_64-cross package qemu-linux-user - autoreqprov off - +/ - post "function setbinfmt () {" - post " local arch=$1" - post " local fmt=$2" - post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" - post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" - post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" - post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" - post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" - post " fi" - post "}" - post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" - post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" - post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" - post "setbinfmt 'arm' ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' " - post "setbinfmt 'armeb' ':armeb:M::\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P'" - post "setbinfmt 'aarch64' ':aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P'" - -targettype x86-cross package qemu-linux-user - autoreqprov off - +/ - post "function setbinfmt () {" - post " local arch=$1" - post " local fmt=$2" - post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" - post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" - post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" - post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" - post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" - post " fi" - post "}" - post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" - post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" - post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" - post "setbinfmt 'arm' ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' " - post "setbinfmt 'armeb' ':armeb:M::\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P'" - post "setbinfmt 'aarch64' ':aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P'" diff --git a/packaging/qemu-4.2.0-0/bridge.conf b/packaging/qemu-4.2.0-0/bridge.conf deleted file mode 100644 index d06c62a33..000000000 --- a/packaging/qemu-4.2.0-0/bridge.conf +++ /dev/null @@ -1,11 +0,0 @@ -# Access control file for qemu bridge helper -# Syntax consists of: -# # comment (ignored) -# allow all -# allow <bridge_name> -# deny all -# deny <bridge_name> -# include /path/to/additional/ACL/file -# Users are blacklisted by default and 'deny' takes precedence over 'allow'. -# Including additional ACL files allows file access permissions to be used as -# a component of the policy to allow access or deny access to specific bridges. diff --git a/packaging/qemu-4.2.0-0/bundles.tar.xz b/packaging/qemu-4.2.0-0/bundles.tar.xz Binary files differdeleted file mode 100755 index 22207cb39..000000000 --- a/packaging/qemu-4.2.0-0/bundles.tar.xz +++ /dev/null diff --git a/packaging/qemu-4.2.0-0/config.sh b/packaging/qemu-4.2.0-0/config.sh deleted file mode 100755 index 4d682d72e..000000000 --- a/packaging/qemu-4.2.0-0/config.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash - -# config.sh: - -# The next few VARIABLES are to be edited as required: - -# The following specifies the upstream tag or commit upon which our patchqueue -# gets rebased. The special value LATEST may be used to "automatically" track -# the upstream development tree in the master branch -GIT_UPSTREAM_COMMIT_ISH=v4.2.0 -# WARNING: If transitioning from using LATEST to not, MANUALLY re-set the -# tarball present. If transitioning TO LATEST, make sure that -# NEXT_RELEASE_IS_MAJOR is set correctly -# This is used to choose the version number when LATEST processing is active -NEXT_RELEASE_IS_MAJOR=1 - -# Unfortunately, SeaBIOS doesn't always follow an "always increasing" version -# model, so there may be times we should overide the automated version setting. -# We can do so by specifing the value here: -SEABIOS_VERSION=1.12.1+ - -# The shared git repo, on which $GIT_LOCAL_TREE is based -GIT_TREE=git://github.com/openSUSE/qemu.git - -# Temporary directories used by this script -GIT_DIR=/dev/shm/qemu-factory-git-dir -CMP_DIR=/dev/shm/qemu-factory-cmp-dir -BUNDLE_DIR=/dev/shm/qemu-factory-bundle-dir - -# For the following, use 1 or 0 as needed -NUMBERED_PATCHES=0 - -PATCH_RANGE=1000 -REPO_COUNT=27 - -# Perhaps we need to instead use the terminal local dirname as the index -# and store the ~/git/ as a separate VARIABLE -# This way, we only have one big array instead of two -# BUT STILL WE NEED TO START WITH THE DATA STORED SOMEWHERE!!!!!! -LOCAL_REPO_MAP=( - ~/git/qemu-opensuse - ~/git/qemu-seabios - ~/git/qemu-ipxe - ~/git/qemu-sgabios - ~/git/qemu-edk2 - ~/git/qemu-skiboot - ~/git/qemu-SLOF - ~/git/qemu-openbios - ~/git/qemu-keycodemapdb - ~/git/qemu-slirp - ~/git/qemu-u-boot - ~/git/qemu-openhackware - ~/git/qemu-qboot - ~/git/qemu-dtc - ~/git/qemu-opensbi - ~/git/qemu-edk2-openssl - ~/git/qemu-capstone - ~/git/qemu-qemu-palcode - ~/git/qemu-seabios-hppa - ~/git/qemu-u-boot-sam460ex - ~/git/qemu-QemuMacDrivers - ~/git/qemu-tests-berkeley-softfloat-3 - ~/git/qemu-tests-berkeley-testfloat-3 - ~/git/qemu-edk2-berkeley-softfloat-3 - ~/git/qemu-edk2-openssl-boringssl - ~/git/qemu-edk2-openssl-krb5 - ~/git/qemu-edk2-openssl-pyca-cryptography -) - -# TEMPORARY! FOR NOW WE REQUIRE THESE LOCALLY TO DO WORK ON PACKAGE -REQUIRED_LOCAL_REPO_MAP=( - ~/git/qemu-opensuse - ~/git/qemu-seabios - ~/git/qemu-ipxe - ~/git/qemu-sgabios - ~/git/qemu-keycodemapdb - ~/git/qemu-slirp - ~/git/qemu-qboot -) - -PATCH_PATH_MAP=( - "" - "roms/seabios/" - "roms/ipxe/" - "roms/sgabios/" - "roms/edk2/" - "roms/skiboot/" - "roms/SLOF/" - "roms/openbios/" - "ui/keycodemapdb/" - "slirp/" - "roms/u-boot/" - "roms/openhackware/" - "roms/qboot/" - "dtc/" - "roms/opensbi/" - "roms/edk2/CryptoPkg/Library/OpensslLib/openssl/" - "capstone/" - "roms/qemu-palcode/" - "roms/seabios-hppa/" - "roms/u-boot-sam460ex/" - "roms/QemuMacDrivers/" - "tests/fp/berkeley-softfloat-3/" - "tests/fp/berkeley-testfloat-3/" - "roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3/" - "roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl/" - "roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/" - "roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/" -) - -# Zero based numbering, so we subtract 1 here: -if (( (REPO_COUNT * PATCH_RANGE) - 1 > 9999 )); then - FIVE_DIGIT_POTENTIAL=1 -else - FIVE_DIGIT_POTENTIAL=0 -fi diff --git a/packaging/qemu-4.2.0-0/ksm.service b/packaging/qemu-4.2.0-0/ksm.service deleted file mode 100644 index 55d699cef..000000000 --- a/packaging/qemu-4.2.0-0/ksm.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Kernel Samepage Merging -ConditionPathExists=/sys/kernel/mm/ksm -ConditionVirtualization=no - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/bin/bash -c "echo 1 > /sys/kernel/mm/ksm/run" -ExecStop=/bin/bash -c "echo 0 > /sys/kernel/mm/ksm/run" - -[Install] -WantedBy=multi-user.target diff --git a/packaging/qemu-4.2.0-0/kvm.conf b/packaging/qemu-4.2.0-0/kvm.conf deleted file mode 100644 index c1c76e682..000000000 --- a/packaging/qemu-4.2.0-0/kvm.conf +++ /dev/null @@ -1,3 +0,0 @@ -# load kvm module at boot time -kvm - diff --git a/packaging/qemu-4.2.0-0/qemu-4.2.0.tar.xz b/packaging/qemu-4.2.0-0/qemu-4.2.0.tar.xz Binary files differdeleted file mode 100644 index 979990122..000000000 --- a/packaging/qemu-4.2.0-0/qemu-4.2.0.tar.xz +++ /dev/null diff --git a/packaging/qemu-4.2.0-0/qemu-4.2.0.tar.xz.sig b/packaging/qemu-4.2.0-0/qemu-4.2.0.tar.xz.sig Binary files differdeleted file mode 100755 index e8526e86f..000000000 --- a/packaging/qemu-4.2.0-0/qemu-4.2.0.tar.xz.sig +++ /dev/null diff --git a/packaging/qemu-4.2.0-0/qemu-ga.service b/packaging/qemu-4.2.0-0/qemu-ga.service deleted file mode 100644 index c97e3f0f3..000000000 --- a/packaging/qemu-4.2.0-0/qemu-ga.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=QEMU Guest Agent -Documentation=http://wiki.qemu.org/Features/QAPI/GuestAgent -BindsTo=dev-virtio\x2dports-org.qemu.guest_agent.0.device -After=dev-virtio\x2dports-org.qemu.guest_agent.0.device - -[Service] -Type=simple -ExecStart=-/usr/bin/qemu-ga -Restart=always -RestartSec=0 diff --git a/packaging/qemu-4.2.0-0/qemu-ga@.service b/packaging/qemu-4.2.0-0/qemu-ga@.service deleted file mode 100755 index 49d78dc1f..000000000 --- a/packaging/qemu-4.2.0-0/qemu-ga@.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=QEMU Guest Agent -Documentation=http://wiki.qemu.org/Features/GuestAgent -BindsTo=dev-%i.device -After=dev-%i.device - -[Service] -Type=simple -ExecStart=-/usr/bin/qemu-ga -p /dev/%I -Restart=always -RestartSec=0 - -[Install] -WantedBy=dev-%i.device diff --git a/packaging/qemu-4.2.0-0/qemu-ifup b/packaging/qemu-4.2.0-0/qemu-ifup deleted file mode 100755 index 7716b1244..000000000 --- a/packaging/qemu-4.2.0-0/qemu-ifup +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# sample bridge qemu-ifup script - -echo 'configuring qemu network with bridge for' $* - -# If bridge is not specified, try device with default route. -bridge=$2 -if [ -z "$bridge" ]; then - bridge=$(/usr/sbin/ip route list | /usr/bin/awk '/^default / { print $5 }') -fi - -# Exit if $bridge is not a bridge. Exit with 0 status -# so qemu process is not terminated and provide message -# about failure to setup network. -if [ ! -e "/sys/class/net/${bridge}/bridge" ] -then - echo "WARNING! ${bridge} is not a bridge. qemu-ifup exiting. VM may not have a functioning networking stack." - exit 0 -fi - -/usr/sbin/ip link set $1 up -/usr/sbin/ip link set $1 master $bridge || true diff --git a/packaging/qemu-4.2.0-0/qemu-kvm.1.gz b/packaging/qemu-4.2.0-0/qemu-kvm.1.gz Binary files differdeleted file mode 100755 index 48e8ae91e..000000000 --- a/packaging/qemu-4.2.0-0/qemu-kvm.1.gz +++ /dev/null diff --git a/packaging/qemu-4.2.0-0/qemu-linux-user.spec b/packaging/qemu-4.2.0-0/qemu-linux-user.spec deleted file mode 100644 index b09c12fcd..000000000 --- a/packaging/qemu-4.2.0-0/qemu-linux-user.spec +++ /dev/null @@ -1,234 +0,0 @@ -# -# spec file for package qemu -# -# Copyright (c) 2020 SUSE LLC -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - -%bcond_with system_membarrier - -%define qemuver 4.2.0 -%define srcver 4.2.0 -%define sbver 1.12.1+ -%define srcname qemu -Name: qemu-linux-user -VCS: platform/upstream/qemu#a0c750f2be5b20a8f527c57592e85b68cee019d4 -URL: https://www.qemu.org/ -Summary: CPU emulator for user space -License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT -Group: System/Emulators/PC -Version: %qemuver -Release: 0 -Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz -Source99: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz.sig -Source100: %{srcname}.keyring -Source1: 80-kvm.rules -Source2: kvm.conf -Source3: qemu-ifup -Source4: bridge.conf -Source5: qemu-kvm.1.gz -Source6: ksm.service -Source7: qemu-ga@.service -Source8: 80-qemu-ga.rules -Source9: qemu-supportconfig -Source10: supported.arm.txt -Source11: supported.ppc.txt -Source12: supported.x86.txt -Source13: supported.s390.txt -Source14: 50-seabios-256k.json -Source15: 60-seabios-128k.json -Source200: qemu-rpmlintrc -Source300: bundles.tar.xz -Source301: update_git.sh -Source302: config.sh -Source303: README.PACKAGING - - -# Please do not add patches manually here. - -BuildRoot: %{_tmppath}/%{name}-%{version}-build - -BuildRequires: e2fsprogs-devel -BuildRequires: fdupes -BuildRequires: gcc-c++ -BuildRequires: glib2-devel-static -BuildRequires: glibc-devel-static -BuildRequires: makeinfo -BuildRequires: pcre-devel-static -BuildRequires: python3-base -BuildRequires: zlib-devel-static - - -%description -QEMU provides CPU emulation along with other related capabilities. This package -provides programs to run user space binaries and libraries meant for another -architecture. The syscall interface is intercepted and execution below the -syscall layer occurs on the native hardware and operating system. - - -%prep -%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})} - - -%build -%define mybuilddir %{_builddir}/mybuilddir -mkdir -p %mybuilddir -cd %mybuilddir - -../%buildsubdir/configure \ - --prefix=%_prefix \ - --sysconfdir=%_sysconfdir \ - --libdir=%_libdir \ - --libexecdir=%_libexecdir \ - --localstatedir=%_localstatedir \ - --docdir=%_docdir/%name \ - --firmwarepath=%_datadir/%name \ - --python=%_bindir/python3 \ - --extra-cflags="%{optflags}" \ - --disable-stack-protector \ - --disable-strip \ - --without-default-devices \ - --disable-system --enable-linux-user \ - --disable-tools --disable-guest-agent \ - --static \ - --disable-modules \ - --disable-pie \ - --disable-docs \ - --audio-drv-list="" \ - --disable-blobs \ - --disable-bochs \ - --disable-capstone \ - --disable-cloop \ - --enable-coroutine-pool \ - --disable-dmg \ - --disable-fdt \ - --disable-iconv \ - --disable-kvm \ - --disable-malloc-trim \ -%if %{with system_membarrier} - --enable-membarrier \ -%else - --disable-membarrier \ -%endif - --disable-parallels \ - --disable-plugins \ - --disable-qcow1 \ - --disable-qed \ - --disable-replication \ - --disable-sheepdog \ - --disable-slirp \ - --disable-tpm \ - --disable-vdi \ - --disable-vhost-crypto \ - --disable-vhost-kernel \ - --disable-vhost-net \ - --disable-vhost-scsi \ - --disable-vhost-user \ - --disable-vhost-user-fs \ - --disable-vhost-vsock \ - --disable-vnc \ - --disable-vvfat \ - --disable-xkbcommon \ - -make %{?_smp_mflags} V=1 - -%ifarch %ix86 -%define qemu_arch i386 -%endif -%ifarch x86_64 -%define qemu_arch x86_64 -%endif -%ifarch %arm -%define qemu_arch arm -%endif -%ifarch aarch64 -%define qemu_arch aarch64 -%endif -%ifarch ppc -%define qemu_arch ppc -%endif -%ifarch ppc64 -%define qemu_arch ppc64 -%endif -%ifarch ppc64le -%define qemu_arch ppc64le -%endif -%ifarch s390x -%define qemu_arch s390x -%endif - -%check -cd %mybuilddir - -%ifarch %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le s390x -%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null -make %{?_smp_mflags} check-softfloat -%endif - -%install -cd %mybuilddir - -make %{?_smp_mflags} install DESTDIR=%{buildroot} -rm -rf %{buildroot}%_datadir/qemu/keymaps -unlink %{buildroot}%_datadir/qemu/trace-events-all -install -d -m 755 %{buildroot}%_sbindir -install -m 755 scripts/qemu-binfmt-conf.sh %{buildroot}%_sbindir -%fdupes -s %{buildroot} - - -%files -%defattr(-, root, root) -%doc Changelog README.rst VERSION -%license COPYING COPYING.LIB LICENSE - -%_bindir/qemu-aarch64 -%_bindir/qemu-aarch64_be -%_bindir/qemu-alpha -%_bindir/qemu-arm -%_bindir/qemu-armeb -%_bindir/qemu-cris -%_bindir/qemu-hppa -%_bindir/qemu-i386 -%_bindir/qemu-m68k -%_bindir/qemu-microblaze -%_bindir/qemu-microblazeel -%_bindir/qemu-mips -%_bindir/qemu-mipsel -%_bindir/qemu-mipsn32 -%_bindir/qemu-mipsn32el -%_bindir/qemu-mips64 -%_bindir/qemu-mips64el -%_bindir/qemu-nios2 -%_bindir/qemu-or1k -%_bindir/qemu-ppc64 -%_bindir/qemu-ppc64abi32 -%_bindir/qemu-ppc64le -%_bindir/qemu-ppc -%_bindir/qemu-riscv32 -%_bindir/qemu-riscv64 -%_bindir/qemu-s390x -%_bindir/qemu-sh4 -%_bindir/qemu-sh4eb -%_bindir/qemu-sparc32plus -%_bindir/qemu-sparc64 -%_bindir/qemu-sparc -%_bindir/qemu-tilegx -%_bindir/qemu-x86_64 -%_bindir/qemu-xtensa -%_bindir/qemu-xtensaeb -%_bindir/qemu-*-binfmt -%_sbindir/qemu-binfmt-conf.sh - - -%changelog - diff --git a/packaging/qemu-4.2.0-0/qemu-rpmlintrc b/packaging/qemu-4.2.0-0/qemu-rpmlintrc deleted file mode 100755 index cc97ac4be..000000000 --- a/packaging/qemu-4.2.0-0/qemu-rpmlintrc +++ /dev/null @@ -1,6 +0,0 @@ -# This line is mandatory to access the configuration functions -from Config import * - -addFilter("arch-dependent-file-in-usr-share") -addFilter("obsolete-not-provided") -addFilter("summary-not-capitalized") diff --git a/packaging/qemu-4.2.0-0/qemu-supportconfig b/packaging/qemu-4.2.0-0/qemu-supportconfig deleted file mode 100755 index 2aab24a45..000000000 --- a/packaging/qemu-4.2.0-0/qemu-supportconfig +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash -############################################################# -# Name: Supportconfig Plugin for QEMU/KVM -# Description: Gathers important troubleshooting information -# about QEMU -# Author: Jim Fehlig <jfehlig@suse.com> -############################################################# - -RCFILE="/usr/lib/supportconfig/resources/scplugin.rc" - -if [ -s $RCFILE ]; then - if ! source $RCFILE; then - echo "ERROR: Initializing resource file: $RCFILE" >&2 - exit 1 - fi -fi - -rpm_verify() { - thisrpm="$1" - local ret=0 - - echo - echo "#==[ Validating RPM ]=================================#" - if rpm -q "$thisrpm" >/dev/null 2>&1; then - echo "# rpm -V $thisrpm" - - if rpm -V "$thisrpm"; then - echo "Status: Passed" - else - echo "Status: WARNING" - fi - else - echo "package $thisrpm is not installed" - ret=1 - fi - echo - return $ret -} - -if ! rpm_verify qemu; then - echo "Skipped" - exit 0 -fi - -# skip if the host is xen -echo "#==[ Checking if booted Xen ]=================================#" -if [ -d /proc/xen ] && [ -e /proc/xen/capabilities ] && [ `cat /proc/xen/capabilities` = "control_d" ]; then - echo "Yes" - echo "Skipped" - exit 0 -else - echo "No" - echo -fi - -# basic system information -plugin_command "uname -r" -plugin_command "lscpu" -plugin_command "kvm_stat -1" -plugin_command "lsmod | grep ^kvm" -for MODULE in `lsmod | grep ^kvm | cut -d ' ' -f 1`; do - plugin_command "modinfo $MODULE" -done -plugin_command "ps -ef | grep qemu" - -# list contents of common config and image directories -plugin_command "ls -alR /var/lib/kvm/images/" - -# network-related info often useful for debugging -if [ systemctl is-enabled NetworkManager.service 2>&1 > /dev/null ]; then - echo "NOTE: NetworkManager should not be enabled on a KVM host" -fi -plugin_command "route -n" -plugin_command "arp -v" -plugin_command "ip link show type bridge" -plugin_command "bridge link show" - -echo "Done" diff --git a/packaging/qemu-4.2.0-0/qemu.keyring b/packaging/qemu-4.2.0-0/qemu.keyring deleted file mode 100755 index cce2e0110..000000000 --- a/packaging/qemu-4.2.0-0/qemu.keyring +++ /dev/null @@ -1,493 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -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 -=YraJ ------END PGP PUBLIC KEY BLOCK----- diff --git a/packaging/qemu-4.2.0-0/qemu.spec b/packaging/qemu-4.2.0-0/qemu.spec deleted file mode 100644 index 25a5dfb82..000000000 --- a/packaging/qemu-4.2.0-0/qemu.spec +++ /dev/null @@ -1,1660 +0,0 @@ -# -# spec file for package qemu -# -# Copyright (c) 2020 SUSE LLC -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - -# !! IMPORTANT !! See README.PACKAGING before modifying package in any way - -%define _buildshell /bin/bash - -%define build_in_tree 0 -%define build_x86_firmware_from_source 0 -%define build_skiboot_from_source 0 -%define build_slof_from_source 0 -%define build_opensbi_from_source 0 -%define kvm_available 0 -%define legacy_qemu_kvm 0 -%define force_fit_virtio_pxe_rom 1 -%define provide_edk2_firmware 0 - -%define build_rom_arch %ix86 x86_64 aarch64 - -%if "%{?distribution}" == "" -%define distro private-build -%else -%define distro %{distribution} -%endif - -%ifarch %{build_rom_arch} -# choice of building all from source or using provided binary x86 blobs -%define build_x86_firmware_from_source 1 -%endif - -%ifarch ppc64 -%define build_skiboot_from_source 1 -%define build_slof_from_source 1 -%endif - -%ifarch ppc64le -%define build_skiboot_from_source 1 -%define build_slof_from_source 1 -%endif - -%ifarch riscv64 -%define build_opensbi_from_source 1 -%endif - -%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 -%define kvm_available 1 -%endif - -%ifarch %ix86 x86_64 s390x -%define legacy_qemu_kvm 1 -%endif - -%if 0%{?is_opensuse} -%define with_glusterfs 1 -%endif - -%ifarch x86_64 aarch64 ppc64le s390x -%define with_rbd 1 -%endif - - -%bcond_with system_membarrier - -%define qemuver 4.2.0 -%define srcver 4.2.0 -%define sbver 1.12.1+ -%define srcname qemu -Name: qemu -VCS: platform/upstream/qemu#a0c750f2be5b20a8f527c57592e85b68cee019d4 -URL: https://www.qemu.org/ -Summary: Machine emulator and virtualizer -License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT -Group: System/Emulators/PC -Version: %qemuver -Release: 0 -Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz -Source99: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz.sig -Source100: qemu.keyring -Source1: 80-kvm.rules -Source2: kvm.conf -Source3: qemu-ifup -Source4: bridge.conf -Source5: qemu-kvm.1.gz -Source6: ksm.service -Source7: qemu-ga@.service -Source8: 80-qemu-ga.rules -Source9: qemu-supportconfig -Source10: supported.arm.txt -Source11: supported.ppc.txt -Source12: supported.x86.txt -Source13: supported.s390.txt -Source14: 50-seabios-256k.json -Source15: 60-seabios-128k.json -Source200: qemu-rpmlintrc -Source300: bundles.tar.xz -Source301: update_git.sh -Source302: config.sh -Source303: README.PACKAGING -# Upstream First -- https://wiki.qemu.org/Contribute/SubmitAPatch -# This patch queue is auto-generated - see README.PACKAGING for process - -# Please do not add patches manually here. - -BuildRoot: %{_tmppath}/%{name}-%{version}-build - - -%if %{build_x86_firmware_from_source} -BuildRequires: acpica -%endif -BuildRequires: alsa-devel -%if %{build_x86_firmware_from_source} -BuildRequires: binutils-devel -%endif -BuildRequires: bison -BuildRequires: bluez-devel -BuildRequires: brlapi-devel -%ifnarch %{ix86} aarch64 %arm -BuildRequires: cross-aarch64-binutils -BuildRequires: cross-aarch64-gcc%gcc_version -%endif -%ifnarch %{ix86} %arm -BuildRequires: cross-arm-binutils -BuildRequires: cross-arm-gcc%gcc_version -%endif -%if %{build_x86_firmware_from_source} -%ifnarch %{ix86} x86_64 -# We must cross-compile on non-x86* -BuildRequires: cross-i386-binutils -BuildRequires: cross-i386-gcc%gcc_version -BuildRequires: cross-x86_64-binutils -BuildRequires: cross-x86_64-gcc%gcc_version -%endif -%endif -BuildRequires: curl-devel -BuildRequires: cyrus-sasl-devel -%if build_x86_firmware_from_source -BuildRequires: dos2unix -%endif -BuildRequires: e2fsprogs-devel -BuildRequires: fdupes -BuildRequires: flex -BuildRequires: gcc-c++ -BuildRequires: glib2-devel >= 2.48 -%if build_x86_firmware_from_source -BuildRequires: glibc-devel-32bit -%endif -%if 0%{?with_glusterfs} -BuildRequires: glusterfs-devel >= 3 -%endif -BuildRequires: gtk3-devel >= 3.16 -BuildRequires: libaio-devel -BuildRequires: libattr-devel -BuildRequires: libbz2-devel -%if 0%{?is_opensuse} -BuildRequires: libcacard-devel >= 2.5.1 -%endif -BuildRequires: libcap-devel -BuildRequires: libcap-ng-devel -BuildRequires: libdrm-devel -BuildRequires: libepoxy-devel -BuildRequires: libfdt-devel >= 1.4.2 -BuildRequires: libgbm-devel -BuildRequires: libgcrypt-devel >= 1.5.0 -BuildRequires: libgnutls-devel >= 3.1.18 -BuildRequires: libiscsi-devel >= 1.9.0 -BuildRequires: libjpeg-devel -%if 0%{?is_opensuse} -BuildRequires: libnfs-devel >= 1.9.3 -%endif -%ifnarch %arm s390x -BuildRequires: libnuma-devel -%endif -BuildRequires: libpcap-devel -BuildRequires: libpixman-1-0-devel >= 0.21.8 -%ifarch x86_64 -BuildRequires: libpmem-devel -%endif -BuildRequires: libpng-devel -BuildRequires: libpulse-devel -%if 0%{?with_rbd} -BuildRequires: librbd-devel -%endif -%if 0%{?is_opensuse} -BuildRequires: libSDL2-devel -BuildRequires: libSDL2_image-devel -%endif -BuildRequires: libseccomp-devel >= 2.3.0 -BuildRequires: libspice-server-devel >= 0.12.5 -BuildRequires: libssh-devel >= 0.8 -BuildRequires: libusb-1_0-devel >= 1.0.13 -BuildRequires: libvdeplug-devel -BuildRequires: pkgconfig(libudev) -%if 0%{?is_opensuse} -BuildRequires: lzfse-devel -%endif -BuildRequires: Mesa-devel -BuildRequires: libxkbcommon-devel -BuildRequires: lzo-devel -BuildRequires: makeinfo -BuildRequires: multipath-tools-devel -%if build_x86_firmware_from_source -BuildRequires: nasm -%endif -BuildRequires: ncurses-devel -BuildRequires: pkgconfig -BuildRequires: pwdutils -BuildRequires: python-base -BuildRequires: python3-Sphinx -BuildRequires: python3-base -BuildRequires: rdma-core-devel -BuildRequires: snappy-devel -BuildRequires: spice-protocol-devel >= 0.12.3 -BuildRequires: pkgconfig(systemd) -%{?systemd_ordering} -%if %{kvm_available} -BuildRequires: pkgconfig(udev) -%endif -BuildRequires: usbredir-devel >= 0.6 -BuildRequires: virglrenderer-devel >= 0.4.1 -BuildRequires: vte-devel -%ifarch x86_64 -BuildRequires: xen-devel >= 4.2 -%endif -BuildRequires: xfsprogs-devel -%if %{build_x86_firmware_from_source} -BuildRequires: xz-devel -%endif -BuildRequires: zlib-devel - -Requires(pre): shadow -Requires(post): coreutils -%if %{kvm_available} -Requires(post): acl -Requires(post): udev -%ifarch s390x -Requires(post): procps -%endif -Recommends: kvm_stat -%endif -Recommends: qemu-block-curl -Recommends: qemu-tools -Recommends: qemu-ui-curses -Recommends: qemu-ui-gtk -%if 0%{?is_opensuse} -Recommends: qemu-ui-sdl -%else -Obsoletes: qemu-audio-sdl <= %{qemuver} -Obsoletes: qemu-ui-sdl <= %{qemuver} -%endif -Recommends: qemu-ui-spice-app -Recommends: qemu-x86 -%ifarch ppc ppc64 ppc64le -Recommends: qemu-ppc -%else -Suggests: qemu-ppc -%endif -%ifarch s390x -Recommends: qemu-s390 -%else -Suggests: qemu-s390 -%endif -%ifarch %arm aarch64 -Recommends: qemu-arm -%else -Suggests: qemu-arm -%endif -Suggests: qemu-block-dmg -%if 0%{?with_glusterfs} -Suggests: qemu-block-gluster -%endif -Suggests: qemu-block-iscsi -%if 0%{?is_opensuse} -Suggests: qemu-block-nfs -%endif -%if 0%{?with_rbd} -Suggests: qemu-block-rbd -%endif -Suggests: qemu-block-ssh -Suggests: qemu-extra -Suggests: qemu-lang -%if 0%{?is_opensuse} -Recommends: qemu-ksm = %{qemuver} -%endif -Suggests: qemu-microvm -Suggests: qemu-vhost-user-gpu -Provides: qemu-audio-oss = %{qemuver} -Obsoletes: qemu-audio-oss < %{qemuver} - -%define generic_qemu_description QEMU provides full machine emulation and cross architecture usage. It closely\ -integrates with KVM and Xen virtualization, allowing for excellent performance.\ -Many options are available for defining the emulated environment, including\ -traditional devices, direct host device access, and interfaces specific to\ -virtualization. - -%description -%{generic_qemu_description} - -This package acts as an umbrella package to the other QEMU sub-packages. - - - -%package x86 -Summary: Machine emulator and virtualizer for x86 architectures -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Requires: %name = %{qemuver} -Requires: qemu-ipxe -Requires: qemu-microvm -Requires: qemu-seabios -Requires: qemu-sgabios -Requires: qemu-vgabios -Recommends: ovmf -Recommends: qemu-ovmf-x86_64 - -%description x86 -%{generic_qemu_description} - -This package provides i386 and x86_64 emulation. - -%package ppc -Summary: Machine emulator and virtualizer for Power architectures -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Requires: %name = %{qemuver} -Recommends: qemu-ipxe -Recommends: qemu-vgabios - -%description ppc -%{generic_qemu_description} - -This package provides ppc and ppc64 emulation. - -%package s390 -Summary: Machine emulator and virtualizer for S/390 architectures -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Requires: %name = %{qemuver} - -%description s390 -%{generic_qemu_description} - -This package provides s390x emulation. - -%package arm -Summary: Machine emulator and virtualizer for ARM architectures -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Requires: %name = %{qemuver} -Recommends: qemu-ipxe -Recommends: qemu-vgabios -Recommends: ovmf -Recommends: qemu-uefi-aarch64 - -%description arm -%{generic_qemu_description} - -This package provides arm emulation. - -%package extra -Summary: Machine emulator and virtualizer for "extra" architectures -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Requires: %name = %{qemuver} -Recommends: qemu-ipxe -Recommends: qemu-vgabios - -%description extra -%{generic_qemu_description} - -This package provides some lesser used emulations, including alpha, m68k, -mips, moxie, sparc, and xtensa. (The term "extra" is juxtapositioned against -more popular QEMU packages which are dedicated to a single architecture.) - -%if %{legacy_qemu_kvm} -%package kvm -Summary: Wrapper to enable KVM acceleration under QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%ifarch %ix86 x86_64 -Requires: qemu-x86 = %{qemuver} -%endif -%ifarch s390x -Requires: qemu-s390 = %{qemuver} -%endif -Provides: kvm = %{qemuver} -Obsoletes: kvm < %{qemuver} - -%description kvm -%{generic_qemu_description} - -This package simply provides a shell script wrapper for the QEMU program which -does the actual machine emulation and virtualization for this architecture. The -wrapper simply adds command-line parameters to ensure that the KVM accelerator -is invoked. It provides no additional benefit, and is considered deprecated. -%endif - -%package lang -Summary: Translations for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 - -%description lang -This package contains a few language translations, particularly for the -graphical user interface components that come with QEMU. The bulk of strings -in QEMU are not localized. - -# Modules need to match {qemu-system-*,qemu-img} version. -# We cannot have qemu and qemu-tools require them in the right version, -# as that would drag in the dependencies the modules are supposed to avoid. -# Nor can we have modules require the right version of qemu and qemu-tools -# as Xen reuses our qemu-tools but does not want our qemu and qemu-x86. -%define qemu_module_conflicts \ -Conflicts: %name < %{qemuver}-%{release} \ -Conflicts: %name > %{qemuver}-%{release} \ -Conflicts: qemu-tools < %{qemuver}-%{release} \ -Conflicts: qemu-tools > %{qemuver}-%{release} - -%package block-curl -Summary: cURL block support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Provides: %name:%_libdir/%name/block-curl.so -%{qemu_module_conflicts} - -%description block-curl -This package contains a module for accessing network-based image files over -a network connection from qemu-img tool and QEMU system emulation. - -%package block-dmg -Summary: DMG block support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description block-dmg -This package contains a module for accessing Mac OS X image files from -qemu-img tool and QEMU system emulation. - -%if 0%{?with_glusterfs} -%package block-gluster -Summary: GlusterFS block support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description block-gluster -This package contains a module for accessing network-based image files over a -GlusterFS network connection from qemu-img tool and QEMU system emulation. -%endif - -%package block-iscsi -Summary: iSCSI block support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description block-iscsi -This package contains a module for accessing network-based image files over an -iSCSI network connection from qemu-img tool and QEMU system emulation. - -%if 0%{?is_opensuse} -%package block-nfs -Summary: direct Network File System support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description block-nfs -This package contains a module for directly accessing nfs based image files. -%endif - -%if 0%{?with_rbd} -%package block-rbd -Summary: Rados Block Device (Ceph) support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description block-rbd -This package contains a module for accessing ceph (rbd,rados) image files. -%endif - -%package block-ssh -Summary: SSH (SFTP) block support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description block-ssh -This package contains a module for accessing network-based image files over an -SSH network connection from qemu-img tool and QEMU system emulation. - -%package ui-curses -Summary: Curses based UI support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description ui-curses -This package contains a module for doing curses based UI for QEMU. - -%package ui-gtk -Summary: GTK based UI support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description ui-gtk -This package contains a module for doing GTK based UI for QEMU. - -%if 0%{?is_opensuse} -%package ui-sdl -Summary: SDL based UI support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description ui-sdl -This package contains a module for doing SDL based UI for QEMU. -%endif - -%package ui-spice-app -Summary: Spice UI support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description ui-spice-app -This package contains a module for doing Spice based UI for QEMU. - -%package audio-alsa -Summary: ALSA based audio support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description audio-alsa -This package contains a module for ALSA based audio support for QEMU. - -%package audio-pa -Summary: Pulse Audio based audio support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description audio-pa -This package contains a module for Pulse Audio based audio support for QEMU. - -%if 0%{?is_opensuse} -%package audio-sdl -Summary: SDL based audio support for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description audio-sdl -This package contains a module for SDL based audio support for QEMU. -%endif - -%package vhost-user-gpu -Summary: Vhost user mode virtio-gpu 2D/3D rendering backend for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -%{qemu_module_conflicts} - -%description vhost-user-gpu -This package contains a vhost user mode virtio-gpu 2D/3D rendering backend for QEMU - -%package tools -Summary: Tools for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Provides: %name:%_libexecdir/qemu-bridge-helper -Requires(pre): permissions -Requires(pre): shadow -Recommends: multipath-tools -Recommends: qemu-block-curl -%if 0%{?with_rbd} -Recommends: qemu-block-rbd -%endif - -%description tools -This package contains various QEMU related tools, including a bridge helper, -a virtfs helper, ivshmem, disk utilities and scripts for various purposes. - -%package guest-agent -Summary: Guest agent for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Provides: %name:%_bindir/qemu-ga -Requires(pre): shadow -Requires(post): udev -Supplements: modalias(acpi*:QEMU0002%3A*) -Supplements: modalias(pci:v0000FFFDd00000101sv*sd*bc*sc*i*) -Supplements: modalias(pci:v00005853d00000001sv*sd*bc*sc*i*) -%{?systemd_ordering} - -%description guest-agent -This package contains the QEMU guest agent. It is installed in the linux guest -to provide information and control at the guest OS level. - -%ifarch %{build_rom_arch} -%package microvm -Summary: x86 MicroVM BIOS for QEMU -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -BuildArch: noarch - -%description microvm -MicroVM (qboot) is a miniam x86 firmware for booting Linux kernel. -It provides the minimum resources needed to boot PVH and bzImages. - -%package seabios -Summary: x86 Legacy BIOS for QEMU -Group: System/Emulators/PC -Version: %{sbver} -Release: 0 -BuildArch: noarch -Conflicts: %name < 1.6.0 - -%description seabios -SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS -is the default and legacy BIOS for QEMU. - -%package vgabios -Summary: VGA BIOSes for QEMU -Group: System/Emulators/PC -Version: %{sbver} -Release: 0 -BuildArch: noarch -Conflicts: %name < 1.6.0 - -%description vgabios -VGABIOS provides the video ROM BIOSes for the following variants of VGA -emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated -video card. - -%package sgabios -Summary: Serial Graphics Adapter BIOS for QEMU -Group: System/Emulators/PC -Version: 8 -Release: 0 -BuildArch: noarch -Conflicts: %name < 1.6.0 - -%description sgabios -The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy -x86 software to communicate with an attached serial console as if a video card -were attached. - -%package ipxe -Summary: PXE ROMs for QEMU NICs -Group: System/Emulators/PC -Version: 1.0.0+ -Release: 0 -BuildArch: noarch -Conflicts: %name < 1.6.0 - -%description ipxe -Provides Preboot Execution Environment (PXE) ROM support for various emulated -network adapters available with QEMU. -%endif - -%if %{provide_edk2_firmware} -%package edk2 -Summary: EDK II based firmware -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -BuildArch: noarch - -%description edk2 -Provides EDK II based firmware. -%endif - -%if 0%{?is_opensuse} -%package ksm -Summary: Kernel Samepage Merging services -Group: System/Emulators/PC -Version: %{qemuver} -Release: 0 -Requires(pre): coreutils -Requires(post): coreutils - -%description ksm -Kernel Samepage Merging (KSM) is a memory-saving de-duplication feature, that -merges anonymous (private) pages (not pagecache ones). - -This package provides a service file for starting and stopping KSM. -%endif - - - - -# ======================================================================== -%prep -%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})} - -# for the record, this set of firmware files is installed, but we don't -# build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img openbios-ppc openbios-sparc32 -# openbios-sparc64 palcode-clipper petalogix-ml605.dtb petalogix-s3adsp1800.dtb ppc_rom.bin -# QEMU,cgthree.bin QEMU,tcx.bin qemu_vga.ndrv u-boot.e500 u-boot-sam460-20100605.bin -# opensbi-riscv32-virt-fw_jump.bin - -# This first list group isn't specific to what this instance builds -%define ppc_default_firmware {%nil} -%define ppc_extra_firmware {skiboot.lid slof.bin} -%define ppc64_only_default_firmware {%nil} -%define ppc64_only_extra_firmware {%nil} -%define riscv64_default_firmware {opensbi-riscv64-sifive_u-fw_jump.bin \ -opensbi-riscv64-virt-fw_jump.bin} -%define riscv64_extra_firmware {%nil} -%define s390x_default_firmware {s390-ccw.img s390-netboot.img} -%define s390x_extra_firmware {%nil} -%define x86_default_firmware {linuxboot.bin linuxboot_dma.bin multiboot.bin \ -kvmvapic.bin pvh.bin} -%define x86_extra_firmware {bios.bin bios-256k.bin bios-microvm.bin \ -pxe-e1000.rom pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom \ -pxe-virtio.rom sgabios.bin vgabios-ati.bin vgabios-bochs-display.bin \ -vgabios.bin vgabios-cirrus.bin vgabios-qxl.bin vgabios-ramfb.bin \ -vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin} -%define x86_64_only_default_firmware {%nil} -%define x86_64_only_extra_firmware {edk2-aarch64-code.fd.bz2 \ -edk2-arm-code.fd.bz2 edk2-arm-vars.fd.bz2 edk2-i386-code.fd.bz2 \ -edk2-i386-secure-code.fd.bz2 edk2-i386-vars.fd.bz2 edk2-x86_64-code.fd.bz2 \ -edk2-x86_64-secure-code.fd.bz2 efi-e1000.rom efi-e1000e.rom efi-eepro100.rom \ -efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom efi-vmxnet3.rom} - -%define firmware { \ -%{?ppc_default_firmware} %{?ppc_extra_firmware} \ -%{?ppc64_only_default_firmware} %{?ppc64_only_extra_firmware} \ -%{?riscv64_default_firmware} %{?riscv64_extra_firmware} \ -%{?s390x_default_firmware} %{?s390x_extra_firmware} \ -%{?x86_default_firmware} %{?x86_extra_firmware} \ -%{?x86_64_only_default_firmware} %{?x86_64_only_extra_firmware} } - -# This second list group is specific to what this instance builds -%define ppc_default_built_firmware %{ppc_default_firmware} -%if %{build_skiboot_from_source} && %{build_slof_from_source} -%define ppc_extra_built_firmware %{ppc_extra_firmware} -%else -%if %{build_skiboot_from_source} -%define ppc_extra_built_firmware {skiboot.lid} -%endif -%if %{build_slof_from_source} -%define ppc_extra_built_firmware {slof.bin} -%endif -%endif - -%ifarch ppc64 -%define ppc64_only_default_built_firmware %{ppc64_only_default_firmware} -%define ppc64_only_extra_built_firmware %{ppc64_only_extra_firmware} -%endif - -%ifarch riscv64 -%define riscv64_default_built_firmware %{riscv64_default_firmware} -%define riscv64_extra_built_firmware %{riscv64_extra_firmware} -%endif - -%ifarch s390x -%define s390x_default_built_firmware %{s390x_default_firmware} -%define s390x_extra_built_firmware %{s390x_extra_firmware} -%endif - -%ifarch %ix86 x86_64 -%define x86_default_built_firmware %{x86_default_firmware} -%ifarch x86_64 -%define x86_64_only_default_built_firmware %{x86_64_only_default_firmware} -%endif -%endif - -%if %{build_x86_firmware_from_source} -%define x86_extra_built_firmware %{x86_extra_firmware} -%ifarch x86_64 -%define x86_64_only_extra_built_firmware %{x86_64_only_extra_firmware} -%endif -%endif - -%define built_firmware { \ -%{?ppc_default_built_firmware} %{?ppc_extra_built_firmware} \ -%{?ppc64_only_default_built_firmware} %{?ppc64_only_extra_built_firmware} \ -%{?riscv64_default_built_firmware} %{?riscv64_extra_built_firmware} \ -%{?s390x_default_built_firmware} %{?s390x_extra_built_firmware} \ -%{?x86_default_built_firmware} %{?x86_extra_built_firmware} \ -%{?x86_64_only_default_built_firmware} %{?x86_64_only_extra_built_firmware} } - -# delete the firmware files that we intend to build -for i in %built_firmware -do - unlink pc-bios/$i -done - -%build -%define _lto_cflags %{nil} - -%if %build_in_tree -%define mybuilddir %{_builddir}/%buildsubdir -%else -%define mybuilddir %{_builddir}/mybuilddir -mkdir -p %mybuilddir -cd %mybuilddir -%endif - -../%buildsubdir/configure \ - --prefix=%_prefix \ - --sysconfdir=%_sysconfdir \ - --libdir=%_libdir \ - --libexecdir=%_libexecdir \ - --localstatedir=%_localstatedir \ - --docdir=%_docdir/%name \ - --firmwarepath=%_datadir/%name \ - --python=%_bindir/python3 \ - --extra-cflags="%{optflags}" \ - --disable-stack-protector \ - --disable-strip \ - --with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \ - --with-default-devices \ - --enable-system --disable-linux-user \ - --enable-tools --enable-guest-agent \ - --enable-modules \ - --enable-pie \ - --enable-docs \ -%if 0%{?is_opensuse} - --audio-drv-list="pa alsa sdl" \ -%else - --audio-drv-list="pa alsa" \ -%endif - --enable-attr \ - --disable-auth-pam \ - --enable-bluez \ - --enable-bochs \ - --enable-brlapi \ - --enable-bzip2 \ - --enable-cap-ng \ - --disable-capstone \ - --enable-cloop \ - --enable-coroutine-pool \ - --disable-crypto-afalg \ - --enable-curl \ - --enable-curses \ - --enable-dmg \ - --enable-fdt \ - --enable-gcrypt \ -%if 0%{?with_glusterfs} - --enable-glusterfs \ -%else - --disable-glusterfs \ -%endif - --enable-gnutls \ - --enable-gtk \ - --disable-hax \ - --disable-hvf \ - --enable-iconv \ - --disable-jemalloc \ -%if %{kvm_available} - --enable-kvm \ -%else - --disable-kvm \ -%endif - --enable-libiscsi \ -%if 0%{?is_opensuse} - --enable-libnfs \ -%else - --disable-libnfs \ -%endif -%ifarch x86_64 - --enable-libpmem \ -%else - --disable-libpmem \ -%endif - --enable-libssh \ - --enable-libusb \ - --disable-libxml2 \ - --enable-linux-aio \ -%if 0%{?is_opensuse} - --enable-lzfse \ -%else - --disable-lzfse \ -%endif - --enable-lzo \ - --disable-malloc-trim \ -%if %{with system_membarrier} - --enable-membarrier \ -%else - --disable-membarrier \ -%endif - --enable-mpath \ - --disable-netmap \ - --disable-nettle \ -%ifarch %arm s390x - --disable-numa \ -%else - --enable-numa \ -%endif - --enable-opengl \ - --enable-parallels \ - --disable-plugins \ - --enable-pvrdma \ - --enable-qcow1 \ - --enable-qed \ -%if 0%{?with_rbd} - --enable-rbd \ -%else - --disable-rbd \ -%endif - --enable-rdma \ - --enable-replication \ - --disable-sanitizers \ -%if 0%{?is_opensuse} - --enable-sdl \ - --enable-sdl-image \ -%else - --disable-sdl \ - --disable-sdl-image \ -%endif - --enable-seccomp \ - --enable-sheepdog \ -%if 0%{?is_opensuse} - --enable-smartcard \ -%else - --disable-smartcard \ -%endif - --enable-snappy \ - --enable-spice \ - --disable-tcmalloc \ - --enable-tpm \ - --enable-usb-redir \ - --enable-vde \ - --enable-vdi \ - --enable-vhost-crypto \ - --enable-vhost-kernel \ - --enable-vhost-net \ - --enable-vhost-scsi \ - --enable-vhost-user \ - --enable-vhost-user-fs \ - --enable-vhost-vsock \ - --enable-virglrenderer \ - --enable-virtfs \ - --enable-vnc \ - --enable-vnc-jpeg \ - --enable-vnc-png \ - --enable-vnc-sasl \ - --enable-vte \ - --enable-vvfat \ - --enable-werror \ - --disable-whpx \ -%ifarch x86_64 - --enable-xen \ - --enable-xen-pci-passthrough \ -%else - --disable-xen \ -%endif - --enable-xfsctl \ - --enable-xkbcommon \ -# ------------------------------------------------------------------------ - - - -make %{?_smp_mflags} V=1 - -# Firmware - -%ifarch s390x -for i in %s390x_default_built_firmware -do - cp pc-bios/s390-ccw/$i %{_builddir}/%buildsubdir/pc-bios/ -done -%endif - -%ifarch ppc64 -for i in %ppc64_only_default_built_firmware -do - cp pc-bios/spapr-rtas/$i %{_builddir}/%buildsubdir/pc-bios/ -done -%endif - -%ifarch %ix86 x86_64 -for i in %x86_default_built_firmware -do - cp pc-bios/optionrom/$i %{_builddir}/%buildsubdir/pc-bios/ -done -%ifarch x86_64 -for i in %x86_64_only_default_built_firmware -do - cp pc-bios/optionrom/$i %{_builddir}/%buildsubdir/pc-bios/ -done -%endif -%endif - -%if %{build_x86_firmware_from_source} -%ifnarch %{ix86} x86_64 -export CC=x86_64-suse-linux-gcc -export LD=x86_64-suse-linux-ld -%endif - -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms bios \ - SEABIOS_EXTRAVERSION="-rebuilt.opensuse.org" \ -%ifnarch %ix86 x86_64 - HOSTCC=cc \ -%endif - -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms bios-microvm - -%ifnarch %ix86 -%if %{provide_edk2_firmware} -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms efi \ - EDK2_BASETOOLS_OPTFLAGS='-fPIE' -%endif -%endif - -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms seavgabios \ -%ifnarch %ix86 x86_64 - HOSTCC=cc \ -%endif - -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms seavgabios-ati \ -%ifnarch %ix86 x86_64 - HOSTCC=cc \ -%endif - -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms pxerom - -%ifnarch %ix86 -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms efirom \ - EDK2_BASETOOLS_OPTFLAGS='-fPIE' -%endif - -make -C %{_builddir}/%buildsubdir/roms sgabios \ - HOSTCC=cc - -%if %{force_fit_virtio_pxe_rom} -pushd %{_builddir}/%buildsubdir -patch -p1 < %_sourcedir/stub-out-the-SAN-req-s-in-int13.patch -popd -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms pxerom_variants=virtio pxerom_targets=1af41000 pxerom -%endif - -# enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward -# the following need to be > 64K -%define supported_nics_large {e1000 rtl8139} -# the following need to be <= 64K -%define supported_nics_small {virtio} -# Though not required, make unsupported pxe roms migration compatable as well -%define unsupported_nics {eepro100 ne2k_pci pcnet} - -for i in %supported_nics_large %unsupported_nics - do - if test "`stat -c '%s' %{_builddir}/%buildsubdir/pc-bios/pxe-$i.rom`" -gt "131072" ; then - echo "pxe rom is too large" - exit 1 - fi - if test "`stat -c '%s' %{_builddir}/%buildsubdir/pc-bios/pxe-$i.rom`" -le "65536" ; then - ./%{_builddir}/%buildsubdir/roms/ipxe/src/util/padimg.pl %{_builddir}/%buildsubdir/pc-bios/pxe-$i.rom -s 65536 -b 255 - echo -ne "SEGMENT OVERAGE\0" >> %{_builddir}/%buildsubdir/pc-bios/pxe-$i.rom - fi -done -for i in %supported_nics_small - do - if test "`stat -c '%s' %{_builddir}/%buildsubdir/pc-bios/pxe-$i.rom`" -gt "65536" ; then - echo "pxe rom is too large" - exit 1 - fi -done -%ifnarch %{ix86} x86_64 -unset CC -unset LD -%endif -%endif - -%if %{build_skiboot_from_source} -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms skiboot CROSS= -%endif - -%if %{build_slof_from_source} -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms slof -%endif - -%if %{build_opensbi_from_source} -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms opensbi64-virt CROSS_COMPILE= -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms opensbi64-sifive_u CROSS_COMPILE= -%endif - - -%check -cd %mybuilddir - - - -%install -cd %mybuilddir - - -make %{?_smp_mflags} install DESTDIR=%{buildroot} -%ifnarch %{build_rom_arch} -for f in %{x86_extra_firmware} \ - %{x86_64_only_extra_firmware}; do - unlink %{buildroot}%_datadir/%name/${f%.bz2} -done -%define do_more_edk2_unlinks 1 -%else -%ifarch %ix86 aarch64 -unlink %{buildroot}%_datadir/%name/edk2-aarch64-code.fd -unlink %{buildroot}%_datadir/%name/edk2-arm-code.fd -unlink %{buildroot}%_datadir/%name/edk2-arm-vars.fd -unlink %{buildroot}%_datadir/%name/edk2-i386-code.fd -unlink %{buildroot}%_datadir/%name/edk2-i386-secure-code.fd -unlink %{buildroot}%_datadir/%name/edk2-i386-vars.fd -unlink %{buildroot}%_datadir/%name/edk2-licenses.txt || true -unlink %{buildroot}%_datadir/%name/edk2-x86_64-code.fd -unlink %{buildroot}%_datadir/%name/edk2-x86_64-secure-code.fd -%endif -install -D -m 0644 %{SOURCE14} %{buildroot}%_datadir/%name/firmware/50-seabios-256k.json -install -D -m 0644 %{SOURCE15} %{buildroot}%_datadir/%name/firmware/60-seabios-128k.json -%endif -%if 0%{?do_more_edk2_unlinks} || %{provide_edk2_firmware} == 0 -unlink %{buildroot}%_datadir/%name/edk2-licenses.txt || true -unlink %{buildroot}%_datadir/%name/firmware/50-edk2-i386-secure.json -unlink %{buildroot}%_datadir/%name/firmware/50-edk2-x86_64-secure.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-aarch64.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-arm.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-i386.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-x86_64.json -%endif -%find_lang %name -install -d -m 0755 %{buildroot}%_datadir/%name/firmware -install -d -m 0755 %{buildroot}%_libexecdir/supportconfig/plugins -install -d -m 0755 %{buildroot}%_sysconfdir/%name/firmware -install -D -m 0644 %{SOURCE4} %{buildroot}%_sysconfdir/%name/bridge.conf -install -D -m 0755 %{SOURCE3} %{buildroot}%_datadir/%name/qemu-ifup -install -D -p -m 0644 %{SOURCE8} %{buildroot}/usr/lib/udev/rules.d/80-qemu-ga.rules -install -D -m 0755 scripts/analyze-migration.py %{buildroot}%_bindir/analyze-migration.py -install -D -m 0755 scripts/vmstate-static-checker.py %{buildroot}%_bindir/vmstate-static-checker.py -install -D -m 0755 %{SOURCE9} %{buildroot}%_libexecdir/supportconfig/plugins/%name -%if 0%{?is_opensuse} == 0 -install -D -m 0644 %{SOURCE10} %{buildroot}%_docdir/qemu-arm/supported.txt -install -D -m 0644 %{SOURCE11} %{buildroot}%_docdir/qemu-ppc/supported.txt -install -D -m 0644 %{SOURCE12} %{buildroot}%_docdir/qemu-x86/supported.txt -install -D -m 0644 %{SOURCE13} %{buildroot}%_docdir/qemu-s390/supported.txt -%endif -%if %{legacy_qemu_kvm} -cat > %{buildroot}%_bindir/qemu-kvm << 'EOF' -#!/bin/sh - -%ifarch s390x -exec %_bindir/qemu-system-s390x -machine accel=kvm "$@" -%else -exec %_bindir/qemu-system-x86_64 -machine accel=kvm "$@" -%endif -EOF -chmod 755 %{buildroot}%_bindir/qemu-kvm -install -D -m 0644 %{SOURCE5} %{buildroot}%_mandir/man1/qemu-kvm.1.gz -%if 0%{?is_opensuse} == 0 -install -d %{buildroot}%_docdir/qemu-kvm -%ifarch s390x -ln -s ../qemu-s390/supported.txt %{buildroot}%_docdir/qemu-kvm/kvm-supported.txt -%else -ln -s ../qemu-x86/supported.txt %{buildroot}%_docdir/qemu-kvm/kvm-supported.txt -%endif -%endif -%endif -%if %{kvm_available} -install -D -m 0644 %{SOURCE1} %{buildroot}/usr/lib/udev/rules.d/80-kvm.rules -%endif -install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/qemu-ga@.service -%if 0%{?is_opensuse} -install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service -%endif -%ifarch s390x -install -D -m 0644 %{SOURCE2} %{buildroot}%_libexecdir/modules-load.d/kvm.conf -%endif -%fdupes -s %{buildroot} - -# ======================================================================== -# (qemu alone has pre* and post* sections for itself and subpackages): - -%pre -%_bindir/getent group kvm >/dev/null || %_sbindir/groupadd -r kvm -%_bindir/getent group qemu >/dev/null || %_sbindir/groupadd -r qemu -%_bindir/getent passwd qemu >/dev/null || - %_sbindir/useradd -r -g qemu -G kvm -d / -s /sbin/nologin \ - -c "qemu user" qemu - -%if %{kvm_available} -%post -# Do not execute operations affecting host devices while running in a chroot -if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then - setfacl --remove-all /dev/kvm &> /dev/null || : -%ifarch s390x - if [ -c /dev/kvm ]; then - %_bindir/chmod 0666 /dev/kvm - %_bindir/chgrp kvm /dev/kvm - fi -%endif - %udev_rules_update - %_bindir/udevadm trigger -y kvm || : -%ifarch s390x - sysctl vm.allocate_pgste=1 || : -%endif -fi -%endif - -%pre tools -%_bindir/getent group kvm >/dev/null || %_sbindir/groupadd -r kvm -%post tools -%set_permissions %_libexecdir/qemu-bridge-helper - -%verifyscript tools -%verify_permissions %_libexecdir/qemu-bridge-helper - -%pre guest-agent -%_bindir/getent group kvm >/dev/null || %_sbindir/groupadd -r kvm -%service_add_pre qemu-ga@.service - -%post guest-agent -%service_add_post qemu-ga@.service -if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then - /usr/bin/systemctl start qemu-ga@virtio\\x2dports-org.qemu.guest_agent.0.service || : -fi - -%preun guest-agent -if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then - /usr/bin/systemctl stop qemu-ga@virtio\\x2dports-org.qemu.guest_agent.0.service || : -fi - -%postun guest-agent -%service_del_postun qemu-ga@.service - -%if 0%{?is_opensuse} -%pre ksm -%service_add_pre ksm.service - -%post ksm -%service_add_post ksm.service - -%preun ksm -%service_del_preun ksm.service - -%postun ksm -%service_del_postun ksm.service -%endif - - -%files -%defattr(-, root, root) -%doc Changelog README.rst VERSION -%license COPYING COPYING.LIB LICENSE - -%dir %_docdir/%name/interop -%dir %_docdir/%name/interop/_static -%dir %_docdir/%name/specs -%dir %_docdir/%name/specs/_static -%_docdir/%name/interop/.buildinfo -%_docdir/%name/interop/_static/* -%_docdir/%name/interop/bitmaps.html -%_docdir/%name/interop/genindex.html -%_docdir/%name/interop/index.html -%_docdir/%name/interop/live-block-operations.html -%_docdir/%name/interop/objects.inv -%_docdir/%name/interop/pr-helper.html -%_docdir/%name/interop/search.html -%_docdir/%name/interop/searchindex.js -%_docdir/%name/interop/vhost-user.html -%_docdir/%name/specs/.buildinfo -%_docdir/%name/specs/_static/* -%_docdir/%name/specs/acpi_hw_reduced_hotplug.html -%_docdir/%name/specs/genindex.html -%_docdir/%name/specs/index.html -%_docdir/%name/specs/objects.inv -%_docdir/%name/specs/ppc-spapr-xive.html -%_docdir/%name/specs/ppc-xive.html -%_docdir/%name/specs/search.html -%_docdir/%name/specs/searchindex.js -%_docdir/%name/qemu-doc.txt -%_docdir/%name/qemu-doc.html -%_docdir/%name/qemu-qmp-ref.txt -%_docdir/%name/qemu-qmp-ref.html -%_docdir/%name/qemu-ga-ref.txt -%_docdir/%name/qemu-ga-ref.html -%_mandir/man1/%name.1.gz -%_mandir/man7/qemu-block-drivers.7.gz -%_mandir/man7/qemu-cpu-models.7.gz -%_mandir/man7/qemu-qmp-ref.7.gz -%_mandir/man7/qemu-ga-ref.7.gz -%dir %_datadir/%name -%dir %_datadir/%name/firmware -%_datadir/%name/keymaps -%_datadir/%name/qemu-nsis.bmp -%_datadir/%name/trace-events-all -%dir %_sysconfdir/%name -%dir %_sysconfdir/%name/firmware -%_datadir/%name/qemu-ifup -%dir %_libexecdir/supportconfig -%dir %_libexecdir/supportconfig/plugins -%_libexecdir/supportconfig/plugins/%name -%if %{kvm_available} -/usr/lib/udev/rules.d/80-kvm.rules -%ifarch s390x -%_libexecdir/modules-load.d/kvm.conf -%endif -%endif -%dir %_datadir/icons/hicolor -%dir %_datadir/icons/hicolor/*/ -%dir %_datadir/icons/hicolor/*/apps -%_datadir/icons/hicolor/16x16/apps/qemu.png -%_datadir/icons/hicolor/24x24/apps/qemu.png -%_datadir/icons/hicolor/32x32/apps/qemu.bmp -%_datadir/icons/hicolor/32x32/apps/qemu.png -%_datadir/icons/hicolor/48x48/apps/qemu.png -%_datadir/icons/hicolor/64x64/apps/qemu.png -%_datadir/icons/hicolor/128x128/apps/qemu.png -%_datadir/icons/hicolor/256x256/apps/qemu.png -%_datadir/icons/hicolor/512x512/apps/qemu.png -%_datadir/icons/hicolor/scalable/apps/qemu.svg -%_datadir/applications/qemu.desktop - -%files x86 -%defattr(-, root, root) -%_bindir/qemu-system-i386 -%_bindir/qemu-system-x86_64 -%_datadir/%name/kvmvapic.bin -%_datadir/%name/linuxboot.bin -%_datadir/%name/linuxboot_dma.bin -%_datadir/%name/multiboot.bin -%_datadir/%name/pvh.bin -%if 0%{?is_opensuse} == 0 -%dir %_docdir/qemu-x86 -%_docdir/qemu-x86/supported.txt -%endif - -%files ppc -%defattr(-, root, root) -%_bindir/qemu-system-ppc -%_bindir/qemu-system-ppc64 -%_datadir/%name/bamboo.dtb -%_datadir/%name/canyonlands.dtb -%_datadir/%name/openbios-ppc -%_datadir/%name/ppc_rom.bin -%_datadir/%name/qemu_vga.ndrv -%_datadir/%name/skiboot.lid -%_datadir/%name/slof.bin -%_datadir/%name/u-boot.e500 -%_datadir/%name/u-boot-sam460-20100605.bin -%if 0%{?is_opensuse} == 0 -%dir %_docdir/qemu-ppc -%_docdir/qemu-ppc/supported.txt -%endif - -%files s390 -%defattr(-, root, root) -%_bindir/qemu-system-s390x -%_datadir/%name/s390-ccw.img -%_datadir/%name/s390-netboot.img -%if 0%{?is_opensuse} == 0 -%dir %_docdir/qemu-s390 -%_docdir/qemu-s390/supported.txt -%endif - -%files arm -%defattr(-, root, root) -%_bindir/qemu-system-arm -%_bindir/qemu-system-aarch64 -%if 0%{?is_opensuse} == 0 -%dir %_docdir/qemu-arm -%_docdir/qemu-arm/supported.txt -%endif - -%files extra -%defattr(-, root, root) -%_bindir/qemu-system-alpha -%_bindir/qemu-system-cris -%_bindir/qemu-system-hppa -%_bindir/qemu-system-lm32 -%_bindir/qemu-system-m68k -%_bindir/qemu-system-microblaze -%_bindir/qemu-system-microblazeel -%_bindir/qemu-system-mips -%_bindir/qemu-system-mipsel -%_bindir/qemu-system-mips64 -%_bindir/qemu-system-mips64el -%_bindir/qemu-system-moxie -%_bindir/qemu-system-nios2 -%_bindir/qemu-system-or1k -%_bindir/qemu-system-riscv32 -%_bindir/qemu-system-riscv64 -%_bindir/qemu-system-sh4 -%_bindir/qemu-system-sh4eb -%_bindir/qemu-system-sparc -%_bindir/qemu-system-sparc64 -%_bindir/qemu-system-tricore -%_bindir/qemu-system-unicore32 -%_bindir/qemu-system-xtensa -%_bindir/qemu-system-xtensaeb -%_datadir/%name/hppa-firmware.img -%_datadir/%name/opensbi-riscv32-virt-fw_jump.bin -%_datadir/%name/opensbi-riscv64-sifive_u-fw_jump.bin -%_datadir/%name/opensbi-riscv64-virt-fw_jump.bin -%_datadir/%name/openbios-sparc32 -%_datadir/%name/openbios-sparc64 -%_datadir/%name/palcode-clipper -%_datadir/%name/petalogix-ml605.dtb -%_datadir/%name/petalogix-s3adsp1800.dtb -%_datadir/%name/QEMU,cgthree.bin -%_datadir/%name/QEMU,tcx.bin - -%if %{legacy_qemu_kvm} -%files kvm -%defattr(-,root,root) -%_bindir/qemu-kvm -%_mandir/man1/qemu-kvm.1.gz -%if 0%{?is_opensuse} == 0 -%dir %_docdir/qemu-kvm -%_docdir/qemu-kvm/kvm-supported.txt -%endif -%endif - -%files block-curl -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-curl.so - -%files block-dmg -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-dmg-bz2.so -%if 0%{?is_opensuse} -%_libdir/%name/block-dmg-lzfse.so -%endif - -%if 0%{?with_glusterfs} -%files block-gluster -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-gluster.so -%endif - -%files block-iscsi -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-iscsi.so - -%if 0%{?is_opensuse} -%files block-nfs -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-nfs.so -%endif - -%if 0%{?with_rbd} -%files block-rbd -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-rbd.so -%endif - -%files block-ssh -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/block-ssh.so - -%files ui-curses -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/ui-curses.so - -%files ui-gtk -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/ui-gtk.so - -%if 0%{?is_opensuse} -%files ui-sdl -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/ui-sdl.so -%endif - -%files ui-spice-app -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/ui-spice-app.so - -%files audio-alsa -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/audio-alsa.so - -%files audio-pa -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/audio-pa.so - -%if 0%{?is_opensuse} -%files audio-sdl -%defattr(-, root, root) -%dir %_libdir/%name -%_libdir/%name/audio-sdl.so -%endif - -%files lang -f %mybuilddir/%name.lang -%defattr(-, root, root) - -%ifarch %{build_rom_arch} -%files seabios -%defattr(-, root, root) -%dir %_datadir/%name -%_datadir/%name/bios.bin -%_datadir/%name/bios-256k.bin -%_datadir/%name/firmware/50-seabios-256k.json -%_datadir/%name/firmware/60-seabios-128k.json - -%files microvm -%defattr(-, root, root) -%dir %_datadir/%name -%_datadir/%name/bios-microvm.bin - -%files vgabios -%defattr(-, root, root) -%dir %_datadir/%name -%_datadir/%name/vgabios.bin -%_datadir/%name/vgabios-ati.bin -%_datadir/%name/vgabios-bochs-display.bin -%_datadir/%name/vgabios-cirrus.bin -%_datadir/%name/vgabios-qxl.bin -%_datadir/%name/vgabios-ramfb.bin -%_datadir/%name/vgabios-stdvga.bin -%_datadir/%name/vgabios-virtio.bin -%_datadir/%name/vgabios-vmware.bin - -%files sgabios -%defattr(-, root, root) -%dir %_datadir/%name -%_datadir/%name/sgabios.bin - -%files ipxe -%defattr(-, root, root) -%dir %_datadir/%name -%_datadir/%name/efi-e1000.rom -%_datadir/%name/efi-e1000e.rom -%_datadir/%name/efi-eepro100.rom -%_datadir/%name/efi-ne2k_pci.rom -%_datadir/%name/efi-pcnet.rom -%_datadir/%name/efi-rtl8139.rom -%_datadir/%name/efi-virtio.rom -%_datadir/%name/efi-vmxnet3.rom -%_datadir/%name/pxe-e1000.rom -%_datadir/%name/pxe-eepro100.rom -%_datadir/%name/pxe-ne2k_pci.rom -%_datadir/%name/pxe-pcnet.rom -%_datadir/%name/pxe-rtl8139.rom -%_datadir/%name/pxe-virtio.rom - -%if %{provide_edk2_firmware} - -%files edk2 -%dir %_datadir/%name -%dir %_datadir/%name/firmware -%_datadir/%name/edk2-aarch64-code.fd -%_datadir/%name/edk2-arm-code.fd -%_datadir/%name/edk2-arm-vars.fd -%_datadir/%name/edk2-i386-code.fd -%_datadir/%name/edk2-i386-secure-code.fd -%_datadir/%name/edk2-i386-vars.fd -%_datadir/%name/edk2-licenses.txt -%_datadir/%name/edk2-x86_64-code.fd -%_datadir/%name/edk2-x86_64-secure-code.fd -%_datadir/%name/firmware/50-edk2-i386-secure.json -%_datadir/%name/firmware/50-edk2-x86_64-secure.json -%_datadir/%name/firmware/60-edk2-aarch64.json -%_datadir/%name/firmware/60-edk2-arm.json -%_datadir/%name/firmware/60-edk2-i386.json -%_datadir/%name/firmware/60-edk2-x86_64.json -%endif -%endif - -%files vhost-user-gpu -%defattr(-, root, root) -%_libexecdir/vhost-user-gpu -%_docdir/%name/interop/vhost-user-gpu.html -%dir %_datadir/%name/vhost-user -%_datadir/%name/vhost-user/50-qemu-gpu.json - -%files tools -%defattr(-, root, root) -%_mandir/man1/qemu-img.1.gz -%_mandir/man1/virtfs-proxy-helper.1.gz -%_mandir/man8/qemu-nbd.8.gz -%_bindir/elf2dmp -%_bindir/ivshmem-client -%_bindir/ivshmem-server -%_bindir/qemu-edid -%_bindir/qemu-img -%_bindir/qemu-io -%_bindir/qemu-keymap -%_bindir/qemu-nbd -%_bindir/qemu-pr-helper -%_bindir/virtfs-proxy-helper -%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper -%dir %_sysconfdir/%name -%config %_sysconfdir/%name/bridge.conf -%_bindir/analyze-migration.py -%_bindir/vmstate-static-checker.py - -%files guest-agent -%defattr(-, root, root) -%dir %_docdir/%name/interop -%_docdir/%name/interop/qemu-ga.html -%_mandir/man8/qemu-ga.8.gz -%attr(0755,root,kvm) %_bindir/qemu-ga -%{_unitdir}/qemu-ga@.service -/usr/lib/udev/rules.d/80-qemu-ga.rules - -%if 0%{?is_opensuse} -%files ksm -%defattr(-, root, root) -%{_unitdir}/ksm.service -%endif - - -%changelog - diff --git a/packaging/qemu-4.2.0-0/seabios_128kb.patch b/packaging/qemu-4.2.0-0/seabios_128kb.patch deleted file mode 100644 index a51c32ec9..000000000 --- a/packaging/qemu-4.2.0-0/seabios_128kb.patch +++ /dev/null @@ -1,303 +0,0 @@ -From 5fff5f1e79d8bc7ef24d1f8ff42c8021215f23a6 Mon Sep 17 00:00:00 2001 -From: Bruce Rogers <brogers@suse.com> -Date: Thu, 19 Mar 2015 16:34:31 -0600 -Subject: [PATCH] Eliminate some duplicate string segments to reduce bios image - size - -In some build environments, we are running up against the 128K bios -size limit. This change simply takes larger string segments which are -used in printf style messages and uses a single copy, now referenced -with a %s specifier, resulting in the needed space savings. - -Signed-off-by: Bruce Rogers <brogers@suse.com> ---- - src/boot.c | 20 +++++++++++--------- - src/bootsplash.c | 5 +++-- - src/fw/paravirt.c | 8 +++++--- - src/fw/pciinit.c | 19 ++++++++++--------- - src/hw/usb-hub.c | 9 +++++---- - src/hw/usb-msc.c | 6 ++++-- - 6 files changed, 38 insertions(+), 29 deletions(-) - -diff --git a/src/boot.c b/src/boot.c -index d6b1fb7..de37041 100644 ---- a/src/boot.c -+++ b/src/boot.c -@@ -25,6 +25,8 @@ - * Boot priority ordering - ****************************************************************/ - -+static const char *no_boot_dev_str = "No bootable device."; -+static const char *boot_str = "Booting from "; - static char **Bootorder VARVERIFY32INIT; - static int BootorderCount; - -@@ -587,7 +589,7 @@ bcv_prepboot(void) - static void - call_boot_entry(struct segoff_s bootsegip, u8 bootdrv) - { -- dprintf(1, "Booting from %04x:%04x\n", bootsegip.seg, bootsegip.offset); -+ dprintf(1, "%s%04x:%04x\n", boot_str, bootsegip.seg, bootsegip.offset); - struct bregs br; - memset(&br, 0, sizeof(br)); - br.flags = F_IF; -@@ -641,7 +643,7 @@ boot_cdrom(struct drive_s *drive_g) - { - if (! CONFIG_CDROM_BOOT) - return; -- printf("Booting from DVD/CD...\n"); -+ printf("%sDVD/CD...\n", boot_str); - - int status = cdrom_boot(drive_g); - if (status) { -@@ -664,7 +666,7 @@ boot_cbfs(struct cbfs_file *file) - { - if (!CONFIG_COREBOOT_FLASH) - return; -- printf("Booting from CBFS...\n"); -+ printf("%sCBFS...\n", boot_str); - cbfs_run_payload(file); - } - -@@ -672,7 +674,7 @@ boot_cbfs(struct cbfs_file *file) - static void - boot_rom(u32 vector) - { -- printf("Booting from ROM...\n"); -+ printf("%sROM...\n", boot_str); - struct segoff_s so; - so.segoff = vector; - call_boot_entry(so, 0); -@@ -683,10 +685,10 @@ static void - boot_fail(void) - { - if (BootRetryTime == (u32)-1) -- printf("No bootable device.\n"); -+ printf("%s\n", no_boot_dev_str); - else -- printf("No bootable device. Retrying in %d seconds.\n" -- , BootRetryTime/1000); -+ printf("%s Retrying in %d seconds.\n", no_boot_dev_str, -+ BootRetryTime/1000); - // Wait for 'BootRetryTime' milliseconds and then reboot. - u32 end = irqtimer_calc(BootRetryTime); - for (;;) { -@@ -712,11 +714,11 @@ do_boot(int seq_nr) - struct bev_s *ie = &BEV[seq_nr]; - switch (ie->type) { - case IPL_TYPE_FLOPPY: -- printf("Booting from Floppy...\n"); -+ printf("%sFloppy...\n", boot_str); - boot_disk(0x00, CheckFloppySig); - break; - case IPL_TYPE_HARDDISK: -- printf("Booting from Hard Disk...\n"); -+ printf("%sHard Disk...\n", boot_str); - boot_disk(0x80, 1); - break; - case IPL_TYPE_CDROM: -diff --git a/src/bootsplash.c b/src/bootsplash.c -index c572685..e28d264 100644 ---- a/src/bootsplash.c -+++ b/src/bootsplash.c -@@ -16,6 +16,7 @@ - #include "string.h" // memset - #include "util.h" // enable_bootsplash - -+static const char *decode_failed_str = "_decode failed with return code "; - - /**************************************************************** - * Helper functions -@@ -154,7 +155,7 @@ enable_bootsplash(void) - dprintf(5, "Decoding bootsplash.jpg\n"); - ret = jpeg_decode(jpeg, filedata); - if (ret) { -- dprintf(1, "jpeg_decode failed with return code %d...\n", ret); -+ dprintf(1, "jpeg%s%d...\n", decode_failed_str, ret); - goto done; - } - jpeg_get_size(jpeg, &width, &height); -@@ -168,7 +169,7 @@ enable_bootsplash(void) - dprintf(5, "Decoding bootsplash.bmp\n"); - ret = bmp_decode(bmp, filedata, filesize); - if (ret) { -- dprintf(1, "bmp_decode failed with return code %d...\n", ret); -+ dprintf(1, "bmp%s%d...\n", decode_failed_str, ret); - goto done; - } - bmp_get_size(bmp, &width, &height); -diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c -index db22ae8..868435a 100644 ---- a/src/fw/paravirt.c -+++ b/src/fw/paravirt.c -@@ -36,6 +36,8 @@ int PlatformRunningOn VARFSEG; - */ - #define KVM_CPUID_SIGNATURE 0x40000000 - -+static const char *running_on_qemu_str = "Running on QEMU ("; -+ - static void kvm_detect(void) - { - unsigned int eax, ebx, ecx, edx; -@@ -73,13 +75,13 @@ static void qemu_detect(void) - PlatformRunningOn |= PF_QEMU; - switch (d) { - case 0x1237: -- dprintf(1, "Running on QEMU (i440fx)\n"); -+ dprintf(1, "%si440fx)\n", running_on_qemu_str); - break; - case 0x29c0: -- dprintf(1, "Running on QEMU (q35)\n"); -+ dprintf(1, "%sq35)\n", running_on_qemu_str); - break; - default: -- dprintf(1, "Running on QEMU (unknown nb: %04x:%04x)\n", v, d); -+ dprintf(1, "%sunknown nb: %04x:%04x)\n", running_on_qemu_str, v, d); - break; - } - kvm_detect(); -diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c -index ac39d23..63018e4 100644 ---- a/src/fw/pciinit.c -+++ b/src/fw/pciinit.c -@@ -27,6 +27,10 @@ - #define PCI_BRIDGE_MEM_MIN (1<<21) // 2M == hugepage size - #define PCI_BRIDGE_IO_MIN 0x1000 // mandated by pci bridge spec - -+static const char *pri_bus_str = "PCI: primary bus = "; -+static const char *sec_bus_str = "PCI: secondary bus = "; -+static const char *sub_bus_str = "PCI: subordinate bus = "; -+ - static const char *region_type_name[] = { - [ PCI_REGION_TYPE_IO ] = "io", - [ PCI_REGION_TYPE_MEM ] = "mem", -@@ -425,7 +429,6 @@ static void pci_bios_init_platform(void) - } - } - -- - /**************************************************************** - * Bus initialization - ****************************************************************/ -@@ -456,21 +459,20 @@ pci_bios_init_bus_rec(int bus, u8 *pci_bus) - - u8 pribus = pci_config_readb(bdf, PCI_PRIMARY_BUS); - if (pribus != bus) { -- dprintf(1, "PCI: primary bus = 0x%x -> 0x%x\n", pribus, bus); -+ dprintf(1, "%s0x%x -> 0x%x\n", pri_bus_str, pribus, bus); - pci_config_writeb(bdf, PCI_PRIMARY_BUS, bus); - } else { -- dprintf(1, "PCI: primary bus = 0x%x\n", pribus); -+ dprintf(1, "%s0x%x\n", pri_bus_str, pribus); - } - - u8 secbus = pci_config_readb(bdf, PCI_SECONDARY_BUS); - (*pci_bus)++; - if (*pci_bus != secbus) { -- dprintf(1, "PCI: secondary bus = 0x%x -> 0x%x\n", -- secbus, *pci_bus); -+ dprintf(1, "%s0x%x -> 0x%x\n", sec_bus_str, secbus, *pci_bus); - secbus = *pci_bus; - pci_config_writeb(bdf, PCI_SECONDARY_BUS, secbus); - } else { -- dprintf(1, "PCI: secondary bus = 0x%x\n", secbus); -+ dprintf(1, "%s0x%x\n", sec_bus_str, secbus); - } - - /* set to max for access to all subordinate buses. -@@ -481,11 +483,10 @@ pci_bios_init_bus_rec(int bus, u8 *pci_bus) - pci_bios_init_bus_rec(secbus, pci_bus); - - if (subbus != *pci_bus) { -- dprintf(1, "PCI: subordinate bus = 0x%x -> 0x%x\n", -- subbus, *pci_bus); -+ dprintf(1, "%s0x%x -> 0x%x\n", sub_bus_str, subbus, *pci_bus); - subbus = *pci_bus; - } else { -- dprintf(1, "PCI: subordinate bus = 0x%x\n", subbus); -+ dprintf(1, "%s0x%x\n", sub_bus_str, subbus); - } - pci_config_writeb(bdf, PCI_SUBORDINATE_BUS, subbus); - } -diff --git a/src/hw/usb-hub.c b/src/hw/usb-hub.c -index 54e341b..337385d 100644 ---- a/src/hw/usb-hub.c -+++ b/src/hw/usb-hub.c -@@ -11,6 +11,8 @@ - #include "usb-hub.h" // struct usb_hub_descriptor - #include "util.h" // timer_calc - -+static const char *port_hub_fail_str = "Failure on hub port "; -+ - static int - get_hub_desc(struct usb_pipe *pipe, struct usb_hub_descriptor *desc) - { -@@ -82,7 +84,6 @@ get_port_status(struct usbhub_s *hub, int port, struct usb_port_status *sts) - mutex_unlock(&hub->lock); - return ret; - } -- - // Check if device attached to port - static int - usb_hub_detect(struct usbhub_s *hub, u32 port) -@@ -90,7 +91,7 @@ usb_hub_detect(struct usbhub_s *hub, u32 port) - struct usb_port_status sts; - int ret = get_port_status(hub, port, &sts); - if (ret) { -- dprintf(1, "Failure on hub port %d detect\n", port); -+ dprintf(1, "%s%d detect\n", port_hub_fail_str, port); - return -1; - } - return (sts.wPortStatus & USB_PORT_STAT_CONNECTION) ? 1 : 0; -@@ -102,7 +103,7 @@ usb_hub_disconnect(struct usbhub_s *hub, u32 port) - { - int ret = clear_port_feature(hub, port, USB_PORT_FEAT_ENABLE); - if (ret) -- dprintf(1, "Failure on hub port %d disconnect\n", port); -+ dprintf(1, "%s%d disconnect\n", port_hub_fail_str, port); - } - - // Reset device on port -@@ -142,7 +143,7 @@ usb_hub_reset(struct usbhub_s *hub, u32 port) - >> USB_PORT_STAT_SPEED_SHIFT); - - fail: -- dprintf(1, "Failure on hub port %d reset\n", port); -+ dprintf(1, "%s%d reset\n", port_hub_fail_str, port); - usb_hub_disconnect(hub, port); - return -1; - } -diff --git a/src/hw/usb-msc.c b/src/hw/usb-msc.c -index d90319f..9c6b3e2 100644 ---- a/src/hw/usb-msc.c -+++ b/src/hw/usb-msc.c -@@ -50,6 +50,8 @@ struct csw_s { - u8 bCSWStatus; - } PACKED; - -+static const char *cant_config_str = "Unable to configure USB MSC "; -+ - static int - usb_msc_send(struct usbdrive_s *udrive_gf, int dir, void *buf, u32 bytes) - { -@@ -158,7 +160,7 @@ usb_msc_lun_setup(struct usb_pipe *inpipe, struct usb_pipe *outpipe, - int prio = bootprio_find_usb(usbdev, lun); - int ret = scsi_drive_setup(&drive->drive, "USB MSC", prio); - if (ret) { -- dprintf(1, "Unable to configure USB MSC drive.\n"); -+ dprintf(1, "%sdrive.\n", cant_config_str); - free(drive); - return -1; - } -@@ -213,7 +215,7 @@ usb_msc_setup(struct usbdevice_s *usbdev) - - return 0; - fail: -- dprintf(1, "Unable to configure USB MSC device.\n"); -+ dprintf(1, "%sdevice.\n", cant_config_str); - usb_free_pipe(usbdev, inpipe); - usb_free_pipe(usbdev, outpipe); - return -1; --- -1.9.0 - diff --git a/packaging/qemu-4.2.0-0/stub-out-the-SAN-req-s-in-int13.patch b/packaging/qemu-4.2.0-0/stub-out-the-SAN-req-s-in-int13.patch deleted file mode 100755 index 5032eb9af..000000000 --- a/packaging/qemu-4.2.0-0/stub-out-the-SAN-req-s-in-int13.patch +++ /dev/null @@ -1,106 +0,0 @@ -From: Bruce Rogers <brogers@suse.com> -Date: Mon, 24 Jul 2017 10:44:24 -0600 -Subject: stub out the SAN req's in int13 - -Include-If: %if 0%{?patch-possibly-applied-elsewhere} - -We need to find some code or data to change so we can make the rom fit -into the legacy size requirements. Comment out SAN support, and -hopefully nobody will be impacted. - -Signed-off-by: Bruce Rogers <brogers@suse.com> ---- - src/arch/x86/interface/pcbios/int13.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/roms/ipxe/src/arch/x86/interface/pcbios/int13.c b/roms/ipxe/src/arch/x86/interface/pcbios/int13.c -index ca789a0d154e1fe3c2508a3aefea..40c61419c0c134120d1ce7c81a1e 100644 ---- a/roms/ipxe/src/arch/x86/interface/pcbios/int13.c -+++ b/roms/ipxe/src/arch/x86/interface/pcbios/int13.c -@@ -23,6 +23,12 @@ - - FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); - -+#define INCLUDE_SAN_HOOKS 0 -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wunused-parameter" -+#pragma GCC diagnostic ignored "-Wunused-function" -+#pragma GCC diagnostic ignored "-Wunused-variable" -+ - #include <stdint.h> - #include <stdlib.h> - #include <limits.h> -@@ -1243,6 +1249,7 @@ static void int13_unhook_vector ( void ) { - */ - static int int13_hook ( unsigned int drive, struct uri **uris, - unsigned int count, unsigned int flags ) { -+#if INCLUDE_SAN_HOOKS - struct san_device *sandev; - struct int13_data *int13; - unsigned int natural_drive; -@@ -1315,6 +1322,9 @@ static int int13_hook ( unsigned int drive, struct uri **uris, - sandev_put ( sandev ); - err_alloc: - return rc; -+#else -+ return -1; -+#endif - } - - /** -@@ -1328,6 +1338,7 @@ static int int13_hook ( unsigned int drive, struct uri **uris, - */ - static void int13_unhook ( unsigned int drive ) { - struct san_device *sandev; -+#if INCLUDE_SAN_HOOKS - - /* Find drive */ - sandev = sandev_find ( drive ); -@@ -1353,6 +1364,7 @@ static void int13_unhook ( unsigned int drive ) { - - /* Drop reference to drive */ - sandev_put ( sandev ); -+#endif - } - - /** -@@ -1514,6 +1526,7 @@ static int int13_load_eltorito ( unsigned int drive, struct segoff *address ) { - * Note that this function can never return success, by definition. - */ - static int int13_boot ( unsigned int drive, const char *filename __unused ) { -+#if INCLUDE_SAN_HOOKS - struct memory_map memmap; - struct segoff address; - int rc; -@@ -1539,6 +1552,9 @@ static int int13_boot ( unsigned int drive, const char *filename __unused ) { - } - - return -ECANCELED; /* -EIMPOSSIBLE */ -+#else -+ return -1; -+#endif - } - - /** Maximum size of boot firmware table(s) */ -@@ -1605,6 +1621,7 @@ static int int13_install ( struct acpi_header *acpi ) { - * @ret rc Return status code - */ - static int int13_describe ( void ) { -+#if INCLUDE_SAN_HOOKS - int rc; - - /* Clear tables */ -@@ -1619,9 +1636,13 @@ static int int13_describe ( void ) { - } - - return 0; -+#else -+ return -1; -+#endif - } - - PROVIDE_SANBOOT ( pcbios, san_hook, int13_hook ); - PROVIDE_SANBOOT ( pcbios, san_unhook, int13_unhook ); - PROVIDE_SANBOOT ( pcbios, san_boot, int13_boot ); - PROVIDE_SANBOOT ( pcbios, san_describe, int13_describe ); -+#pragma GCC diagnostic pop diff --git a/packaging/qemu-4.2.0-0/supported.arm.txt b/packaging/qemu-4.2.0-0/supported.arm.txt deleted file mode 100755 index fa3bc6f17..000000000 --- a/packaging/qemu-4.2.0-0/supported.arm.txt +++ /dev/null @@ -1,849 +0,0 @@ -[qemu-arm package document] - -SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS - -Overview --------- - - The QEMU based packages included with SLES 15 SP2 provide a large variety of - features, from the very latest customer requests to features of questionable - quality or value. The linux kernel includes components which contribute KVM - virtualization features as well. This document was created to assist the user - in deciding which features can be relied upon to build enterprise class - virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64), - for IBM System z (s390x), and for the ARM64 architecture (AArch64) are offered - at the L3 (full support) level. The bulk of this document deals with L3 - supported features and is primarily ARM64 centric. This document should be - considered a companion to the standard virtualization documentation delivered - with the product. - - KVM is implemented in linux kernel modules which enable the linux kernel to - function as an integral part of the KVM hypervisor. The hypervisor-guest - interaction is managed by QEMU through the /dev/kvm ioctl interface. The linux - host assists in the virtualization of storage, networking and display - resources as well as allowing direct hardware passthrough of PCI and USB - devices. Linux memory and cpu management features are used by QEMU/KVM to - enable guests to share those host resources as efficiently as possible. - - QEMU is a primary component of KVM based virtualization. The QEMU emulator - binary qemu-system-aarch64 is the program to use to access KVM virtualization. - When using this program, the -machine option accel=kvm (or its alias - -enable-kvm) or --accel kvm option must be specified for KVM acceleration to - be used by the guest. - - Libvirt is the preferred means of accessing QEMU/KVM functionality and is - documented elsewhere. This document focuses on the features and direct usage - of QEMU/KVM as provided by the QEMU based packages. - -Major QEMU/KVM Supported Features ---------------------------------- - -- KVM virtualization is accomplished by using the QEMU program in KVM - acceleration mode. KVM acceleration requires that both guest and host have - the same fundamental architecture. - -- Guest images created under previous QEMU versions are supported by machine - version compatibilities built into more recent QEMU versions. - -- For ease of use, the QEMU program has defaults which represent traditional - usage patterns. - -- Guest virtual machine characteristics are specified by a combination of - internal defaults, options provided on the QEMU program command-line, runtime - configurations set via the monitor interfaces and optional config files. The - runtime control of a VM is effected either through the Human Monitor - "Protocol" (HMP), or the JSON based programmatical QEMU Monitor Protocol (QMP) - interface. For QMP details, see qemu-qmp-ref man page. - Since a KVM guest runs in the context of a normal linux process, some types - of execution controls are managed with linux tools. - -- QEMU is compatible with EDK II based UEFI firmware available with SLES 15 SP2, - which allow boot options common to physical systems, along with other features - tailored to virtualization. Various VGABIOS ROMs, from the SEABIOS project, - are also available. - -- Some QEMU messages have been localized to various languages. This is provided - by the optional qemu-lang package. Keyboard mappings for various nationalities - is also provided. - -- Virtual machine lifecycle controls include startup through the UEFI BIOS or - kernel boot, ACPI based shutdown, execution pausing, the saving and restoring - of machine state or disk state, VM migration to another host, and - miscellaneous controls available through the "monitors" mentioned above. - -- Guest execution state may be "moved" in both time (save/restore) and space - (static and live migration). These migrations or save/restore operations can - take place either from certain prior SLES versioned hosts to a SLES 15 SP2 - host or between hosts of the same version. Certain other restrictions also - apply. - -- Security considerations include privileged helpers and a security model which - allows running guests as a non-root user. - -- QEMU provides best effort reuse of existing disk images, including those with - systems installed, through geometry probing. Also disk images produced by - other popular virtualization technologies may be imported into QEMU supported - storage formats. These QEMU formats include features which exploit the - benefits of virtualization. - -- Memory, cpu and disk space overcommit are possible and can be beneficial when - done responsibly. Additional management of these resources comes in the form - of memory ballooning or hotplug, host KSM, vcpu hot-add, online disk resizing, - trim, discard and hole punching. - -- Guest performance is enhanced through the use of virtio devices, various disk - caching modes, network acceleration via the vhost-net kernel module, multi- - queue network transmit capabilities, host transparent huge pages (THP) and - direct hugetlb usage. Physical PCI and USB devices may also be passed through - to the guest, including SR-IOV VF's. - -- The guest UI is accessable via GTK, VNC, Spice, and serial (including curses - TUI) interfaces. - -- Guest timekeeping is supported in a variety of ways, including a paravirtual - clocksource, and options for the various guest clocks for how to handle the - timeslicing of the guest's execution on the host. - -- In addition to the para-virtualized devices already mentioned, other devices - and infrastructure designed to avoid virtualization "problem areas" are - available such as SPICE graphics, vmmouse emulation, tablet style pointer - interfaces and virtio based UI interfaces. - -- A built-in user-mode network (SLIRP) stack is available. - -- Portions of the host file system may be shared with a guest by using virtFS. - -- A guest "agent" is available for SLES 15 SP2 KVM guests via the - qemu-guest-agent package. This allows some introspection and control of the - guest OS environment from the host. - -QEMU/KVM Technology Previews ----------------------------- - -- All features indicated as not being supported in this document fall under the - Technology Preview definition contained in the main product's release notes. - -Noteworthy QEMU/KVM Unsupported Features ----------------------------------------- - -- Note that some features are unsupported simply due to lack of validation. If - an existing feature is desired, but not marked supported, let SUSE know about - your requirements. - -- The TCG "acceleration" mode may be helpful for problem isolation, but - otherwise presents insufficient benefit and stability. - -- GlusterFS integration is not enabled. - -- 32 bit ARM KVM has never been supported by SUSE, but it's worth noting that - this capability will cease to even be possible in a near-future QEMU/KVM - (kernel) combination. - -Deprecated, Superseded, Modified and Dropped Features ------------------------------------------------------ - -- http://wiki.qemu-project.org/Features/LegacyRemoval - This website tracks feature deprecation and removal at the upstream - development level. Our qemu package inherits this community direction, but be - aware that we can and will deviate as needed. Those deviations and additional - information can be found in this section. Feature deprecation is also tracked - in Appendix B of the qemu-doc.* files installed with the qemu package. - -- The use of "?" as a parameter to "-cpu", "-soundhw", "-device", "-M", - "-machine" and "-d" is now considered deprecated. Use "help" - instead. - -- The use of "if=scsi" as a parameter to "-drive" does not work anymore with PC - machine types, as it created an obsolete SCSI controller model. - -- Use of aio=native without direct cache mode also being specified (cache=none, - cache=directsync, or cache.direct=on) is no longer allowed. - -- The use of image encryption in qcow and qcow2 formats is now considered - deprecated. - Analysis has shown it to be weak encryption, in addition to suffering from - poor design. Images can easily be converted to a non-encrypted format. - -- Use of acpi, boot-opts, and smp-opts in a -readconfig config file are now - considered deprecated. In the future those names will be standardized to - acpitable, boot, and smp respectively. - -- These previously supported command line options are now considered deprecated: - -device scsi-disk (use scsi-hd or scsi-cd instead) - -device virtio-blk,scsi= (use virtio-scsi instead) - -device virtio-blk-pci,scsi= (use virtio-scsi instead) - -realtime mlock= (use -overcommit mem-lock- instead) - -- These previously supported command line options are no longer supported: - <previously mentioned items have been moved to another category> - -- These previously supported command line options are no longer recognized: - -balloon (use -device virtio-balloon instead) - -clock - -device ivshmem (use ivshmem-doorbell or ivshmem-plain instead) - -device pc-sysfw (no longer needed) - -device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead) - -display sdl - -no-frame - -nodefconfig (use -no-user-config instead) - -sdl - -virtioconsole (use -device virtconsole instead) - -- The previously unsupported machine type xlnx-ep108 is no longer recognized - (used xlnx-zcu102 unstead) - -- Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" - will now cause a warning. The current behavior for this combination where - "+feature/-feature" wins over "feature=on/off", will be changed going forward - so that "+feature" and "-feature" will be synonyms for "feature=on" and - "feature=off" respectively. - -- The previously supported blkdev-add QMP command has been flagged as lacking - and could possibly change syntax in the future. - -- This previously unsupported command line option is now deprecated: - -bt - -- These previously unsupported command line options are no longer recognized: - -device at24c-eeprom - -device mmio_interface - -device ssi-sd - -enable-hax - -tdf - -xen-create - -- These previously supported QMP commands are now deprecated: - change (use blockdev-change-medium or change-vnc-password instead) - cpu-add - migrate-set-cache-size (use migrate-set-parameters instead) - migrate_set_downtime (use migrate-set-parameters instead) - migrate_set_speed (use migrate-set-parameters instead) - query-cpus (use query-cpus-fast instead) - query-events - query-migrate-cache-size (use query-migrate-parameters instead) - -- These previously supported monitor commands are now deprecated: - change - cpu-add - migrate_set_downtime - migrate_set_speed - -- These previously supported monitor commands are no longer recognized: - pci_add (use device_add instead) - pci_del (use device_del instead) - usb_add (use device_add instead) - usb_del (use device_del instead) - -- These previously unsupported monitor command are now deprecated: - acl_add ... - acl_policy ... - acl_remove ... - acl_reset ... - acl_show ... - -- These previously unsupported monitor commands are no longer recognized: - host_net_add - host_net_remove - -- These previously unsupported QMP commands are now supported under a new name: - x-block-dirty-bitmap-disable (use block-dirty-bitmap-disable instead) - x-block-dirty-bitmap-enable (use block-dirty-bitmap-enable instead) - x-block-dirty-bitmap-merge (use block-dirty-bitmap-merge instead) - x-block-latency-histogram-set (use block-latency-histogram-set instead) - x-blockdev-create (use blockdev-create instead) - -- This previously unsupported QMP commands is no longer recognized: - x-nbd-server-add-bitmap - -- Due to upstream's decision to no longer fully support the qed storage format - going forward (since it really provides no benefit over qcow2 and is now no - longer actively maintained upstream), creating qed storage images is no longer - supported and it is highly discouraged to continue using existing qed images. - They should instead be converted to another supported format. - -QEMU Command-Line and Monitor Syntax and Support ------------------------------------------------- - -- The QEMU program command-line syntax is as follows: - qemu-system-aarch64 [options] - - Where 'options' are taken from the options listed below. - The images used with -drive or -cdrom, may be in the raw (no format) or qcow2 - storage formats, and may be located in files within the host filesystem, - logical volumes, host physical disks, or network based storage. Read only - media may also be accessed via URL style protocol specifiers. - - Note that as a general rule, as new command line options are added which serve - to replace an older option or interface, you are strongly encouraged to adapt - your usage to the new option. The new option is being introduced to provide - better functionality and usability going forward. In some cases existing - problems or even bugs in older interfaces cannot be fixed due to functional - expectations, but are resolved in the newer interface or option. - This advice includes moving to the most recent machine type (eg virt-4.2 - instead of virt-3.1) if possible. - -- The following command line options are supported: - -accel ... - -add-fd ... - -alt-grab - -append ... - -audio-help - -audiodev - -bios ... - -blockdev ... - -boot ... - -cdrom ... - -chardev .. - -cpu host - -ctrl-grab - -d ... - -daemonize - -debugcon ... - -device [VGA|rtl8139|virtio-net-pci|virtio-blk-pci|virtio-balloon-pci| - virtio-9p-pci|usb-hub|usb-ehci|usb-tablet|usb-storage|usb-mouse| - usb-kbd|virtserialport|virtconsole|virtio-serial-pci|i82559er| - virtio-scsi-pci|scsi-cd|scsi-hd|scsi-generic|scsi-disk|scsi-block| - pci-serial|pci-serial-2x|pci-serial-4x|ich9-ahci|usb-host|usb-serial| - usb-wacom-tablet|usb-braille|usb-net|pci-ohci|virtio-rng-pci|i6300esb| - qxl|qxl-vga|pvpanic|vfio-pci|ivshmem-doorbell|ivshmem-plain| - pci-bridge|megasas-gen2|e1000e|e1000|vmcoreinfo|pcie-pci-bridge| - vhost-user-blk|vhost-user-blk-pci|vhost-user-scsi|vhost-user-scsi-pci| - vhost-vsock-pci|virtio-crypto-pci|virtio-vga| - vhost-scsi-pci-non-transitional|vhost-scsi-pci-transitional| - vhost-user-blk-pci-non-transitional|vhost-user-blk-pci-transitional| - vhost-user-scsi-pci-non-transitional|vhost-user-scsi-pci-transitional| - vhost-vsock-pci-non-transitional|vhost-vsock-pci-transitional| - virtio-9p-pci-non-transitional|virtio-9p-pci-transitional| - virtio-balloon-pci-non-transitional|virtio-balloon-pci-transitional| - virtio-blk-pci-non-transitional|virtio-blk-pci-transitional| - virtio-input-host-pci-non-transitional| - virtio-input-host-pci-transitional|virtio-net-pci-non-transitional| - virtio-net-pci-transitional|virtio-rng-pci-non-transitional| - virtio-rng-pci-transitional|virtio-scsi-pci-non-transitional| - virtio-scsi-pci-transitional|virtio-serial-pci-non-transitional| - virtio-serial-pci-transitional|vhost-user-fs-pci|vhost-user-gpu| - vhost-user-pci-pci|vhost-user-input|vhost-user-input-pci| - vhost-user-vga|virtio-mmio] - (the following are aliases of these supported devices: ahci| - virtio-blk|virtio-net|virtio-serial|virtio-balloon| virtio-9p| - virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet| - virtio-gpu|virtio-scsi|virtio-rng|e1000-82540em) - -dfilter range, ... - -display ... - -drive ... (if specified if=[virtio] and format=[qcow2|raw] and - snapshot=off only) - -echr ... - -enable-fips - -enable-kvm - -fsdev ... - -full-screen - -fw_cfg ... - -gdb ... - -global ... - -h - -help - -incoming ... - -initrd ... - -iscsi ... - -k ... - -kernel ... - -loadvm ... - -m ... - -M [help|?|none|virt|virt-2.6|virt-2.11|virtio-3.1|virt-4.2] - -machine [help|?|none|virt|virt-2.6|virt-2.11|virt-3.1|virt-4.2] - -mem-path ... - -mem-prealloc - -mon ... - -monitor ... - -msg ... - -name ... - -net [bridge|l2tpv3|nic|none|tap|user] ... (for model= only e1000, rtl8139, - and virtio are supported) - -netdev [bridge|tap|user] ... - -nic ... - -no-acpi - -nodefaults - -nographic - -no-quit - -no-reboot - -no-shutdown - -no-user-config - -object ... - -only-migratable - -parallel ... - -pidfile ... - -plugin ... - -qmp ... - -qmp-pretty ... - -readconfig ... - -realtime ... - -rtc ... - -runas ... - -s - -S - -sandbox ... - -seed ... - -serial ... - -show-cursor - -smbios ... - -smp ... - -spice - -tpmdev passthrough ... - -trace ... - -usb - -usbdevice [braile|disk|host|mouse|net|serial|tablet] - -uuid .. - -version - -vga [none|qxl|std|virtio] - -virtfs ... - -vnc ... - -watchdog ... - -watchdog-action ... - -writeconfig ... - -- The following monitor commands are supported: - ? - announce_self ... - balloon ... - block_resize ... - boot_set ... - c - change ... - chardev-add ... - chardev-change ... - chardev-remove ... - chardev-send-break ... - client_migrate_info ... - closefd ... - cont - cpu ... - cpu-add ... - delvm ... - device_add ... - device_del ... - drive_add ... - drive_backup ... - drive_del ... - dump_guest_memory ... - eject ... - gdbserver ... - gpa2hpa ... - gpa2hva ... - gva2gpa ... - help - i ... - info ... - loadvm ... - logfile ... - logitem ... - mce ... - memsave ... - migrate ... - migrate_cancel - migrate_continue ... - migrate_incoming - migrate_pause - migrate_recover ... - migrate_set_cache_size ... - migrate_set_capability ... - migrate_set_downtime ... - migrate_set_parameter ... - migrate_set_speed ... - migrate_start_post_copy - mouse_button ... - mouse_move ... - mouse_set ... - nmi ... - o ... - object_add ... - object_del ... - p ... - pmemsave ... - print ... - q - qemu-io ... - qom-list - qom-set - ringbuf_read ... - ringbuf_write ... - savevm ... - screendump ... - sendkey ... - snapshot_blkdev_internal ... - snapshot_delete_blkdev_internal ... - stop - sum ... - system_powerdown - system_reset - system_wakeup - trace-event ... - watchdog_action ... - x ... - xp ... - -- The following QMP commands are supported: - add_client - add-fd - announce-self - balloon - blockdev-add - blockdev-backup - blockdev-change-medium - blockdev-close-tray - blockdev-create - blockdev-del - blockdev-mirror - blockdev-open-tray - blockdev-snapshot - blockdev-snapshot-delete-internal-sync - blockdev-snapshot-internal-sync - blockdev-snapshot-sync - block-commit - block-dirty-bitmap-add - block-dirty-bitmap-clear - block-dirty-bitmap-disable - block-dirty-bitmap-enable - block-dirty-bitmap-merge - block-dirty-bitmap-remove - block-latency-histogram-set - block_passwd - block_resize - block_set_io_throttle - block-set-write-threshold - block_stream - change - change-vnc-password - chardev-add - chardev-change - chardev-remove - chardev-send-break - client_migrate_info - closefd - cont - cpu - cpu-add - device_add - device_del - device-list-properties - dump-guest-memory - eject - expire_password - getfd - human-monitor-command - inject-nmi - input-send-event - job-cancel - job-complete - job-dismiss - job-finalize - job-pause - job-resume - memsave - migrate - migrate_cancel - migrate-continue - migrate-incoming - migrate-pause - migrate-resume - migrate-set-cache-size - migrate-set-capabilities - migrate_set_downtime - migrate_set_speed - migrate-set-parameters - migrate-start-postcopy - object-add - object-del - pmemsave - qmp_capabilities - qom-get - qom-list - qom-list-types - qom-set - query-acpi-ospm-status - query-balloon - query-block - query-block-jobs - query-blockstats - query-chardev - query-chardev-backends - query-command-line-options - query-commands - query-cpu-definitions - query-cpu-model-baseline - query-cpu-model-comparison - query-cpu-model-expansion - query-cpus - query-cpus-fast - query-current-machine - query-display-options - query-dump - query-dump-guest-memory-capability - query-events - query-fdsets - query-gic-capabilities - query-hotpluggable-cpus - query-iothreads - query-jobs - query-kvm - query-machines - query-memdev - query-memory-devices - query-memory-size-summary - query-mice - query-migrate - query-migrate-cache-size - query-migrate-capabilities - query-migrate-parameters - query-name - query-named-block-nodes - query-pci - query-pr-managers - query-qmp-schema - query-rocker - query-rocker-of-dpa-flows - query-rocker-of-dpa-groups - query-rocker-ports - query-rx-filter - query-spice - query-status - query-target - query-tpm - query-tpm-models - query-tpm-types - query-uuid - query-version - query-vnc - query-vnc-servers - query-xen-replication-status - quit - remove-fd - ringbuf-read - ringbuf-write - rtc-reset-reinjection - screendump - send-key - set_link - set_password - stop - system_powerdown - system_reset - system_wakeup - trace-event-get-state - trace-event-set-state - transaction - watchdog-set-action - -- The following command line options are unsupported: - -acpitable ... - -bt ... - -chroot ... - -cpu ... (all except host) - -curses - -device [160s33b|320s33b|640s33b|a15mpcore_priv|a9mpcore_priv|a9-scu|adlib| - ads7846|allwinner-a10|allwinner-a10-pic|allwinner-A10-timer| - allwinner-emac|amd-iommu|AMDVI-PCI|arm1026-arm-cpu|arm1136-arm-cpu| - arm1136-r2-arm-cpu|arm1176-arm-cpu|arm11mpcore-arm-cpu| - arm11mpcore_priv|arm11-scu|arm926-arm-cpu|arm946-arm-cpu| - ARMbitband-memory|arm.cortex-a9-global-timer|arm_gic|arm-gicv2m| - arm_mptimer|armv7m_nvic|aspeed.timer|aspeed.vic|ast2400| - at25128a-nonjedec|at25256a-nonjedec|at25df041a|at25df321a|at25df641| - at25fs010|at25fs040|at26df081a|at26df161a|at26df321|at26f004| - at45db081d|bcm2835-aux|bcm2835-dma|bcm2835-fb|bcm2835-ic|bcm2835-mbox| - bcm2835-peripherals|bcm2835-property|bcm2836|bcm2836-control| - bochs-display|cadence_gem|cadence_ttc|cadence_uart|ccid-card-emulated| - ccid-card-passthru|cfi.pflash02|cirrus-vga|cmsdk-apb-dualtimer| - cmsdk-apb-watchdog|corgi-ssp|cortex-a15-arm-cpu|cortex-a53-arm-cpu| - cortex-a57-arm-cpu|cortex-a72-arm-cpu|cortex-a8-arm-cpu| - cortex-a9-arm-cpu|cortex-m0-arm-cpu|cortex-m3-arm-cpu| - cortex-m4-arm-cpu|cortex-r5-arm-cpu|cs4231a|digic|digic-timer| - digic-uart|ds1338|dscm1xxxx|e1000|en25f32|en25p32|en25p64|en25q32b| - en25q64|exynos4210.combiner|exynos4210-ehci-usb|exynos4210.fimd| - exynos4210.gic|exynos4210.i2c|exynos4210.irq_gate|exynos4210.mct| - exynos4210.pmu|exynos4210.pwm|exynos4210.rtc|exynos4210.uart|floppy| - fsl,imx6ul|fslimx25|fslimx31|fusbh200-ehci-usb|fw_cfg|gd25q32|gd25q64| - gpex-pcihost|gpex-root|gpio_i2c|gpio-key|gus|hyperv-testdev| - highbank-regs|host-arm-cpu|*-i386-cpu|i8042|ib700|icp-ctrl-regs| - igd-passthrough-isa-bridge|imx25.ccm|imx31.ccm|imx6.ccm|imx.avic| - imx.epit|imx.fec|imx.gpio|imx.gpt|imx.i2c|imx.serial|imx6ul.ccm| - integrator_core|integrator_debug|integrator_pic|integrator_pit| - intel_iommu|iotkit-sysctl|iotkit-sysinfo|ipmi-bmc-extern|ipmi-bmc-sim| - isa-applesmc|isa-cirrus-vga|isa-debugcon|isa-debug-exit|isa-fdc| - isa-ide|isa-ipmi-bt|isa-ipmi-kcs|isa-parallel|isa-vga|kvaser_pci| - kvm-arm-gic|kvm-arm-gicv3|l2x0|lan9118|lm8323|loader|lsi53c810a| - lsi53c895a|m25p05|m25p10|m25p128|m25p16|m25p20|m25p32|m25p40|m25p64| - m25p80|m25pe16|m25pe20|m25pe80|m25px32|m25px32-s0|m25px32-s1|m25px64| - m45pe10|m45pe16|m45pe80|mainstone-fpga|max1110|max1111|max7310| - mioe3680_pci|msf2-soc|msf2-sysreg|mss-sp1|mss-timer|musicpal_gpio| - musicpal_key|musicpal_lcd|musicpal-misc|mv88w8618_audio|mv88w8618_eth| - mv88w8618_flashcfg|mv88w8618_pic|mv88w8618_pit|mv88w8618_wlan| - mx25l12805d|mx25l12855e|mx25l1606e|mx25l2005a|mx25l25635e|mx25l25655e| - mx25l3205d|mx25l4005a|mx25l6405d|mx25l8005|n25q032|n25q032a11| - n25q032a13|n25q064|n25q064a11|n25q064a13|n25q128|n25q128a11| - n25q128a13|n25q256a|n25q256a11|n25q256a13|n25q512a|n25q512a11| - n25q512a13|nand|ne2k_isa|nrf51-soc|nrf51_soc.uart|nvdimm|omap2-gpio| - omap2-intc|omap-gpio|omap_i2c|omap-intc|onenand|pc-dimm|pc-testdev| - piix3-ide|piix3-ide|piix3-ide-xen|piix3-usb-uhci|pl011|pl011_luminary| - pl022|pl031|pl041|pl050_keyboard|pl050_mouse|pl061|pl061_luminary| - pl080|pl081|pl110|pl110_versatile|pl111|pl181|pl190|pl330| - platform-bus-device|pvrdma|pxa250-arm-cpu|pxa255-arm-cpu|pxa25x-timer| - pxa260-arm-cpu|pxa261-arm-cpu|pxa262-arm-cpu|pxa270-a0-arm-cpu| - pxa270-a1-arm-cpu|pxa270-arm-cpu|pxa270-b0-arm-cpu|pxa270-b1-arm-cpu| - pxa270-c0-arm-cpu|pxa270-c5-arm-cpu|pxa27x-timer|pxa2xx-dma| - pxa2xx-fir|pxa2xx-gpio|pxa2xx_i2c|pxa2xx-i2c-slave|pxa2xx-mmci| - pxa2xx-pcmcia|pxa2xx_pic|pxa2xx_rtc|pxa2xx-ssp|ramfb|realview_gic| - realview_mpcore|realview_pci|realview_sysctl|s25fl016k|s25fl064k| - s25fl129p0|s25fl129p1|s25fl256s0|s25fl256s1|s25fl512s|s25sl004a| - s25sl008a|s25sl016a|s25sl032a|s25sl032p|s25sl064a|s25sl064p| - s25sl12800|s25sl12801|s70fl01gs|sa1100-arm-cpu|sa1110-arm-cpu|sb16| - scoop|sdhci-pci|sga|sii9022|sl-nand|smbus-eeprom|smc91c111|sp804| - spitz-keyboard|spitz-lcdtg|ssd0303|ssd0323|sst25vf016b|sst25vf032b| - sst25vf040b|sst25vf080b|sst25wf010|sst25wf020|sst25wf040| sst25wf080| - sst25wf512|stellaris-adc|stellaris_enet|stellaris-gptm|stellaris-i2c| - stm32f205-soc|stm32f2xx-syscfg|stm32f2xx-timer|stm32f2xx-usart| - strongarm-gpio|strongarm_pic|strongarm-ppc|strongarm-rtc| - strongarm-ssp|strongarm-uart|tegra2-ehci-usb|ti925t-arm-cpu|tmp105| - tosa_dac|tosa-ssp|tusb6010|twl92230|tz-msc|usb-redir|versatile_i2c| - versatilepb_sic|versatile_pci|versatile_pci_host| - vfio-pci-igd-lpc-bridge|vfio-pci-nohotplug|vfio-platform| - vhost-vsock-device|virtconsole|virtio-crypto-device|vmgenid| - vmware-svga|w25q256|w25q32|w25q32dw|w25q64|w25q80|w25q80bl|w25x10| - w25x16|w25x20|w25x32|w25x40|w25x64|w25x80|wm8750|*-x86_64-cpu| - xen-backend|xen-pci-passthrough|xen-platform|xen-pvdevice|xgmac| - xilinxzynq_slcr|xlnx-versal|xlnx.ps7-qspi|xlnx.ps7-spi|xlnxps7-usb| - xlnxzynqmp|xlnxzynq-xadc|armsse-cpuid|armsse-mhu|cpu-cluster| - luminary-watchdog|microbit.i2c|nrf51_soc.gpio|nrf51_soc.nvm| - nrf51_soc.rng|nrf51_soc.timer|platform-ehci-usb|sse-200|vmware-svga| - vmxnet3|ati-vga|cirrus-vga|vhost-user-fs-device|tulip|ati-vga] - (the following are aliases of these unsupported devices: lsi| - piix3-usb-uhci) - (note that some of these device names represent supported devices and - are used internally, but are not specifyable via -device even though - they appear in the list of devices) - -drive ,if=[scsi|mtd|pflash], snapshot=on, format=[anything besides qcow2 or - raw] - -dtb file - -enable-hax - -enable-sync-profile - -fda/-fdb ... - -g ... - -hda/-hdb/-hdc/-hdd ... - -icount ... - -L ... - -M [akita|ast2500-evb|ast2600-evb|borzoi|canon-a1100|cheetah|collie|connex| - cubieboard|highbank|imx25-pdk|integratorcp|kzm|lm3s6965evb|lm3s811evb| - mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit|midway|mps2-an385|mps2-an505| - mps2-an511|mps2-an521|musca-a|musca-b1|musicpal|n800|n810|netduino2|nuri| - palmetto-bmc|raspi2|raspi3|realview-eb|realview-eb-mpcore|realview-pb-a8| - realview-pbx-a9|romulus-bmc|sabrelite|sbsa-ref|smdkc210|spitz|swift-bmc| - sx1|sx1-v1|terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15| - vexpress-a9|virt-2.7|virt-2.8|virt-2.12|virt-3.0|virt-4.0|virt-4.1| - witherspoon-bmc|xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2] - -machine [akita|ast2500-evb|ast2600-evb|borzoi|canon-a1100|cheetah|collie| - connex|cubieboard|highbank|imx25-pdk|integratorcp|kzm|lm3s6965evb| - lm3s811evb|mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit|midway| - mps2-an385|mps2-an521|mps2-an505|mps2-an511|musca-a|musca-b1| - musicpal|n800|n810|netduino2|nuri|palmetto-bmc|raspi2|raspi3| - realview-eb|realview-eb-mpcore|realview-pb-a8|realview-pbx-a9| - romulus-bmc|sabrelite|sbsa-ref|smdkc210|spitz|swift-bmc|sx1|sx1-v1| - terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15|vexpress-a9| - virt-2.7|virt-2.8|virt-2.12|virt-3.0|virt-4.0|virt-4.1| - witherspoon-bmc|xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2] - -mtdblock file - -net [dump|socket|vde] ... - -netdev [dump|hubport|l2tpv3|socket|vde] ... - -no-fd-bootchk - -no-hpet - -no-kvm - -no-kvm-irqchip - -no-kvm-pit - -no-kvm-pit-reinjection - -numa cpu ... - -numa dist ... - -numa node ... - -option-rom ... - -overcommit ... - -pflash file - -portrait - -preconfig - -prom-env ... - -qtest ... - -qtest-log ... - -rotate - -sd file - -sdl - -set ... - -singlestep - -snapshot - -soundhw ... - -tb-size ... - -tpmdev emulator ... - -vga [cg3|tcx|virtio|cirrus|xenfb] - -win2k-hack - -xen-attach ... - -xen-domid ... - -xen-domid-restrict ... - -- The following monitor commands are unsupported: - acl_add ... - acl_policy ... - acl_remove ... - acl_reset ... - acl_show ... - block_job_cancel ... - block_job_complete ... - block_job_pause ... - block_job_resume ... - block_job_set_speed ... - block_passwd ... - commit ... - drive_mirror ... - exit_preconfig - expire_password ... - hostfwd_add ... - hostfwd_remove ... - nbd_server_add ... - nbd server_start ... - nbd_server_stop ... - netdev_add - netdev_del ... - pcie_aer_inject_error ... - set_link ... - set_password ... - singlestep ... - snapshot_blkdev ... - stopcapture ... - sync-profile ... - wavcapture ... - x_colo_lost_heartbeat - -- The following QMP commands are unsupported: - block-job-cancel - block-job-complete - block-job-pause - block-job-resume - block-job-set-speed - change-backing-file - drive-backup - drive-mirror - dump-skeys - netdev_add - netdev_del - nbd-server-add - nbd-server-start - nbd-server-stop - query-colo-status - query-sev - query-sev-launch-measure - x-blockdev-change - x-blockdev-insert-medium - x-blockdev-remove-medium - x-blockdev-reopen - x-colo-lost-heartbeat - x-debug-block-dirty-bitmap-sha256 - x-debug-query-block-graph - x-exit-preconfig - xen-colo-do-checkpoint - xen-load-devices-state - xen-save-devices-state - xen-set-global-dirty-log - xen-set-replication diff --git a/packaging/qemu-4.2.0-0/supported.ppc.txt b/packaging/qemu-4.2.0-0/supported.ppc.txt deleted file mode 100755 index bf38314bc..000000000 --- a/packaging/qemu-4.2.0-0/supported.ppc.txt +++ /dev/null @@ -1,5 +0,0 @@ -[qemu-ppc package document] - -SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS - -QEMU/KVM on ppc is not supported. diff --git a/packaging/qemu-4.2.0-0/supported.s390.txt b/packaging/qemu-4.2.0-0/supported.s390.txt deleted file mode 100755 index 1c01ad9c8..000000000 --- a/packaging/qemu-4.2.0-0/supported.s390.txt +++ /dev/null @@ -1,801 +0,0 @@ -[qemu-s390 package document] - -SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS - -Overview --------- - - The QEMU based packages included with SLES 15 SP2 provide a large variety of - features, from the very latest customer requests to features of questionable - quality or value. The linux kernel includes components which contribute KVM - virtualization features as well. This document was created to assist the user - in deciding which features can be relied upon to build enterprise class - virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64), - for IBM System z (s390x), and for the ARM64 architecture (AArch64) are offered - at the L3 (full support) level. The bulk of this document deals with L3 - supported features and is primarily s390x centric. This document should be - considered a companion to the standard virtualization documentation delivered - with the product. - - KVM is implemented in linux kernel modules which enable the linux kernel to - function as an integral part of the KVM hypervisor. The hypervisor-guest - interaction is managed by QEMU through the /dev/kvm ioctl interface. The linux - host assists in the virtualization of storage, networking and display - resources as well as allowing direct hardware passthrough of PCI devices. - Linux memory and cpu management features are used by QEMU/KVM to enable guests - to share those host resources as efficiently as possible. - - QEMU is a primary component of KVM based virtualization. The legacy qemu-kvm - program is available for continuity with pre SLES 12 usage, including in - libvirt domain xml references. The QEMU emulator binary qemu-system-s390x is - now the primary program to use to access KVM virtualization. When using this - program, the -machine option accel=kvm (or its alias -enable-kvm) or --accel - kvm option must be specified for KVM acceleration to be used by the guest. - - Libvirt is the preferred means of accessing QEMU/KVM functionality and is - documented elsewhere. This document focuses on the features and direct usage - of QEMU/KVM as provided by the QEMU based packages. - -Major QEMU/KVM Supported Features ---------------------------------- - -- KVM virtualization is accomplished by using the QEMU program in KVM - acceleration mode. KVM acceleration requires that both guest and host have - the same fundamental architecture. - -- Guest images created under previous QEMU versions are supported by machine - version compatibilities built into more recent QEMU versions. - -- For ease of use, the QEMU program has defaults which represent traditional - usage patterns. - -- Guest virtual machine characteristics are specified by a combination of - internal defaults, options provided on the QEMU program command-line, runtime - configurations set via the monitor interfaces and optional config files. The - runtime control of a VM is effected either through the Human Monitor - "Protocol" (HMP), or the JSON based programmatical QEMU Monitor Protocol (QMP) - interface. For QMP details, see qemu-qmp-ref man page. - Since a KVM guest runs in the context of a normal linux process, some types - of execution controls are managed with linux tools. - -- QEMU incorporates virtualized, s390 specific, ccw bus based firmware for - booting s390 guests. This firmware is automatically incorporated and - doesn't need to be explicitly referenced. - -- Some QEMU messages have been localized to various languages. This is provided - by the optional qemu-lang package. Keyboard mappings for various nationalities - is also provided. - -- Virtual machine lifecycle controls include startup through the ccw firmware or - kernel boot, firmware based shutdown, execution pausing, the saving and - restoring of machine state or disk state, VM migration to another host, and - miscellaneous controls available through the "monitors" mentioned above. - -- Guest execution state may be "moved" in both time (save/restore) and space - (static and live migration). These migrations or save/restore operations can - take place either from certain prior SLES versioned hosts to a SLES 15 SP2 - host or between hosts of the same version. Certain other restrictions also - apply. - -- Security considerations include privileged helpers and a security model which - allows running guests as a non-root user. - -- QEMU provides best effort reuse of existing disk images, including those with - systems installed, through geometry probing. Also disk images produced by - other popular virtualization technologies may be imported into QEMU supported - storage formats. These QEMU formats include features which exploit the - benefits of virtualization. - -- Memory, cpu and disk space overcommit are possible and can be beneficial when - done responsibly. Additional management of these resources comes in the form - of memory ballooning or hotplug, host KSM, vcpu hot-add, online disk resizing, - trim, discard and hole punching. - -- Guest performance is enhanced through the use of virtio devices, various disk - caching modes, network acceleration via the vhost-net kernel module, multi- - queue network transmit capabilities, host transparent huge pages (THP) and - direct hugetlb usage. Physical PCI devices may also be passed through to the - guest, including SR-IOV VF's. - -- The guest UI is accessable via GTK, VNC, and serial (including curses TUI) - interfaces. - -- Guest timekeeping is supported in a variety of ways, including a paravirtual - clocksource, and options for the various guest clocks for how to handle the - timeslicing of the guest's execution on the host. - -- In addition to the para-virtualized devices already mentioned, other devices - and infrastructure designed to avoid virtualization "problem areas" are - available such as SPICE graphics, vmmouse emulation, tablet style pointer - interfaces and virtio based UI interfaces. - -- A built-in user-mode network (SLIRP) stack is available. - -- Portions of the host file system may be shared with a guest by using virtFS. - -- A guest "agent" is available for SLES 15 SP2 KVM guests via the - qemu-guest-agent package. This allows some introspection and control of the - guest OS environment from the host. - -QEMU/KVM Technology Previews ----------------------------- - -- All features indicated as not being supported in this document fall under the - Technology Preview definition contained in the main product's release notes. - -Noteworthy QEMU/KVM Unsupported Features ----------------------------------------- - -- Note that some features are unsupported simply due to lack of validation. If - an existing feature is desired, but not marked supported, let SUSE know about - your requirements. - -- The TCG "acceleration" mode may be helpful for problem isolation, but - otherwise presents insufficient benefit and stability. - -- GlusterFS integration is not enabled. - -Deprecated, Superseded, Modified and Dropped Features ------------------------------------------------------ - -- http://wiki.qemu-project.org/Features/LegacyRemoval - This website tracks feature deprecation and removal at the upstream - development level. Our qemu package inherits this community direction, but be - aware that we can and will deviate as needed. Those deviations and additional - information can be found in this section. Feature deprecation is also tracked - in Appendix B of the qemu-doc.* files installed with the qemu package. - -- The use of "?" as a parameter to "-cpu", "-soundhw", "-device", "-M", - "-machine" and "-d" is now considered deprecated. Use "help" - instead. - -- The use of "if=scsi" as a parameter to "-drive" does not work anymore with PC - machine types, as it created an obsolete SCSI controller model. - -- Use of aio=native without direct cache mode also being specified (cache=none, - cache=directsync, or cache.direct=on) is no longer allowed. - -- The use of image encryption in qcow and qcow2 formats is now considered - deprecated. - Analysis has shown it to be weak encryption, in addition to suffering from - poor design. Images can easily be converted to a non-encrypted format. - -- Use of acpi, boot-opts, and smp-opts in a -readconfig config file are now - considered deprecated. In the future those names will be standardized to - acpitable, boot, and smp respectively. - -- This previously supported command line option is now considered deprecated: - -device virtio-blk,scsi= (use virtio-scsi instead) - -device virtio-blk-pci,scsi= (use virtio-scsi instead) - -realtime mlock= (use -overcommit mem-lock= instead) - -- These previously supported command line options are no longer supported: - <previously mentioned items have been moved to another category> - -- These previously supported command line options are no longer recognized: - -balloon (use -device virtio-balloon instead) - -clock - -device ivshmem (use ivshmem-doorbell or ivshmem-plain instead) - -device pc-sysfw (no longer needed) - -device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead) - -display sdl - -no-frame - -nodefconfig (use -no-user-config instead) - -sdl - -virtioconsole (use -device virtconsole instead) - -- Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" - will now cause a warning. The current behavior for this combination where - "+feature/-feature" wins over "feature=on/off", will be changed going forward - so that "+feature" and "-feature" will be synonyms for "feature=on" and - "feature=off" respectively. - -- The previously supported blkdev-add QMP command has been flagged as lacking - and could possibly change syntax in the future. - -- These previously unsupported command line options are now deprecated: - -bt - -device ide-drive (use ide-hd or ide-cd) - -device scsi-disk (use scsi-hd or scsi-cd) - -- These previously unsupported command line options are no longer recognized: - -device mmio_interface - -device ramfb - -enable-hax - -tdf - -xen-create - -- These previously supported QMP commands are now deprecated: - change (use blockdev-change-medium or change-vnc-password instead) - cpu-add - migrate-set-cache-size (use migrate-set-parameters instead) - migrate_set_downtime (use migrate-set-parameters instead) - migrate_set_speed (use migrate-set-parameters instead) - query-cpus (use query-cpus-fast instead) - query-events - query-migrate-cache-size (use query-migrate-parameters instead) - -- These previously supported monitor commands are now deprecated: - change - cpu-add - migrate_set_downtime - migrate_set_speed - -- These previously supported monitor commands are no longer recognized: - pci_add (use device_add instead) - pci_del (use device_del instead) - -- These previously unsupported monitor command are now deprecated: - acl_add ... - acl_policy ... - acl_remove ... - acl_reset ... - acl_show ... - -- These previously unsupported monitor commands are no longer recognized: - host_net_add - host_net_remove - usb_add - usb_del - -- These previously unsupported QMP commands are now supported under a new name: - x-block-dirty-bitmap-disable (use block-dirty-bitmap-disable instead) - x-block-dirty-bitmap-enable (use block-dirty-bitmap-enable instead) - x-block-dirty-bitmap-merge (use block-dirty-bitmap-merge instead) - x-block-latency-histogram-set (use block-latency-histogram-set instead) - x-blockdev-create (use blockdev-create instead) - -- This previously unsupported QMP commands is no longer recognized: - x-nbd-server-add-bitmap - -- Due to upstream's decision to no longer fully support the qed storage format - going forward (since it really provides no benefit over qcow2 and is now no - longer actively maintained upstream), creating qed storage images is no longer - supported and it is highly discouraged to continue using existing qed images. - They should instead be converted to another supported format. - -QEMU Command-Line and Monitor Syntax and Support ------------------------------------------------- - -- The QEMU program command-line syntax is as follows: - qemu-system-s390x [options] - - Where 'options' are taken from the options listed below. - The images used with -drive or -cdrom, may be in the raw (no format) or qcow2 - storage formats, and may be located in files within the host filesystem, - logical volumes, host physical disks, or network based storage. Read only - media may also be accessed via URL style protocol specifiers. - - Note that as a general rule, as new command line options are added which serve - to replace an older option or interface, you are strongly encouraged to adapt - your usage to the new option. The new option is being introduced to provide - better functionality and usability going forward. In some cases existing - problems or even bugs in older interfaces cannot be fixed due to functional - expectations, but are resolved in the newer interface or option. - This advice includes moving to the most recent machine type (eg - s390-ccw-virtio-4.2 instead of s390-ccw-virtio-3.1) if possible. - -- The following command line options are supported: - -accel ... - -add-fd ... - -alt-grab - -append ... - -audio-help - -audiodev - -bios ... - -blockdev ... - -boot ... - -cdrom ... - -chardev .. - -cpu host - -ctrl-grab - -d ... - -daemonize - -debugcon ... - -device [virtio-net-pci|virtio-blk-pci|virtio-balloon-pci|virtserialport| - virtconsole|virtio-serial-pci|virtio-scsi-pci|scsi-cd|scsi-hd| - scsi-generic|scsi-disk|scsi-block|virtio-rng-pci|pci-bridge| - megasas-gen2|e1000e|e1000|zpci|virtio-gpu-ccw|virtio-keyboard-ccw| - vhost-user-blk-pci|vhost-user-scsi|vhost-user-scsi-pci| - vhost-vsock-ccw|virtio-balloon-ccw|virtio-blk-ccw| - vhost-scsi-ccw|vhost-user-blk|virtio-crypto-ccw|virtio-net-ccw| - virtio-rng-ccw|virtio-scsi-ccw|virtio-serial-ccw|virtio-mouse-ccw| - virtio-tablet-ccw|vfio-pci|virtio-vga|vhost-scsi-pci-non-transitional| - vhost-scsi-pci-transitional|vhost-user-blk-pci-non-transitional| - vhost-user-blk-pci-transitional|vhost-user-scsi-pci-non-transitional| - vhost-user-scsi-pci-transitional|vhost-vsock-pci-non-transitional| - vhost-vsock-pci-transitional|virtio-9p-pci-non-transitional| - virtio-9p-pci-transitional|virtio-balloon-pci-non-transitional| - virtio-balloon-pci-transitional|virtio-blk-pci-non-transitional| - virtio-blk-pci-transitional|virtio-input-host-pci-non-transitional| - virtio-input-host-pci-transitional|virtio-net-pci-non-transitional| - virtio-net-pci-transitional|virtio-rng-pci-non-transitional| - virtio-rng-pci-transitional|virtio-scsi-pci-non-transitional| - virtio-scsi-pci-transitional|virtio-serial-pci-non-transitional| - virtio-serial-pci-transitional|vhost-user-fs-pci|vhost-user-gpu| - vhost-user-pci-pci|vhost-user-input|vhost-user-input-pci| - vhost-user-vga] - (the following are aliases of these supported devices: virtio-blk| - virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet| - virtio-gpu|virtio-9p|virtio-net|virtio-serial|virtio-balloon| - virtio-scsi|virtio-rng) - -dfilter range, ... - -display ... - -drive ... (if specified if=[virtio] and format=[qcow2|raw] and - snapshot=off only) - -echr ... - -enable-fips - -enable-kvm - -fsdev ... - -full-screen - -fw_cfg ... - -gdb ... - -global ... - -h - -help - -incoming ... - -initrd ... - -iscsi ... - -k ... - -kernel ... - -loadvm ... - -m ... - -M [help|?|none|s390-ccw-virtio|s390-ccw-virtio-2.6|s390-ccw-virtio-2.9| - s390-ccw-virtio-2.11|s390-ccw-virtio-3.1|s390-ccw-virtio-4.2] - -machine [help|?|none|s390-ccw-virtio|s390-ccw-virtio-2.6|s390-ccw-virtio-2.9| - s390-ccw-virtio-2.11|s390-ccw-virtio-3.1|s390-ccw-virtio-4.2] - -mem-path ... - -mem-prealloc - -mon ... - -monitor ... - -msg ... - -name ... - -net [bridge|l2tpv3|nic|none|tap|user] ... (for model= only e1000, rtl8139, - and virtio are supported) - -netdev [bridge|tap|user] ... - -nic ... - -nodefaults - -nographic - -no-quit - -no-reboot - -no-shutdown - -no-user-config - -object ... - -only-migratable - -parallel ... - -pidfile ... - -plugin ... - -qmp ... - -qmp-pretty ... - -readconfig ... - -realtime ... - -rtc ... - -runas ... - -s - -S - -sandbox ... - -seed ... - -serial ... - -show-cursor - -smp ... - -trace ... - -uuid .. - -version - -vga [none|qxl|std] - -virtfs ... - -vnc ... - -watchdog ... - -watchdog-action ... - -writeconfig ... - -- The following monitor commands are supported: - ? - announce_self ... - balloon ... - block_resize ... - boot_set ... - c - change ... - chardev-add ... - chardev-change ... - chardev-remove ... - chardev-send-break ... - client_migrate_info ... - closefd ... - cont - cpu ... - cpu-add ... - delvm ... - device_add ... - device_del ... - drive_add ... - drive_backup ... - drive_del ... - dump_guest_memory ... - eject ... - gdbserver ... - gpa2hpa ... - gpa2hva ... - gva2gpa ... - help - i ... - info ... - loadvm ... - logfile ... - logitem ... - mce ... - memsave ... - migrate ... - migrate_cancel - migrate_continue ... - migrate_incoming - migrate_pause - migrate_recover ... - migrate_set_cache_size ... - migrate_set_capability ... - migrate_set_downtime ... - migrate_set_parameter ... - migrate_set_speed ... - migrate_start_post_copy - mouse_button ... - mouse_move ... - mouse_set ... - nmi ... - o ... - object_add ... - object_del ... - p ... - pmemsave ... - print ... - q - qemu-io ... - qom-list - qom-set - ringbuf_read ... - ringbuf_write ... - savevm ... - screendump ... - sendkey ... - snapshot_blkdev_internal ... - snapshot_delete_blkdev_internal ... - stop - sum ... - system_powerdown - system_reset - system_wakeup - trace-event ... - watchdog_action ... - x ... - xp ... - -- The following QMP commands are supported: - add_client - add-fd - announce-self - balloon - blockdev-add - blockdev-backup - blockdev-change-medium - blockdev-close-tray - blockdev-create - blockdev-del - blockdev-mirror - blockdev-open-tray - blockdev-snapshot - blockdev-snapshot-delete-internal-sync - blockdev-snapshot-internal-sync - blockdev-snapshot-sync - block-commit - block-dirty-bitmap-add - block-dirty-bitmap-clear - block-dirty-bitmap-disable - block-dirty-bitmap-enable - block-dirty-bitmap-merge - block-dirty-bitmap-remove - block-latency-histogram-set - block_passwd - block_resize - block_set_io_throttle - block-set-write-threshold - block_stream - change - change-vnc-password - chardev-add - chardev-change - chardev-remove - chardev-send-break - client_migrate_info - closefd - cont - cpu - cpu-add - device_add - device_del - device-list-properties - dump-guest-memory - eject - expire_password - getfd - human-monitor-command - inject-nmi - input-send-event - job-cancel - job-complete - job-dismiss - job-finalize - job-pause - job-resume - memsave - migrate - migrate_cancel - migrate-continue - migrate-incoming - migrate-pause - migrate-resume - migrate-set-cache-size - migrate-set-capabilities - migrate_set_downtime - migrate_set_speed - migrate-set-parameters - migrate-start-postcopy - object-add - object-del - pmemsave - qmp_capabilities - qom-get - qom-list - qom-list-types - qom-set - query-acpi-ospm-status - query-balloon - query-block - query-block-jobs - query-blockstats - query-chardev - query-chardev-backends - query-command-line-options - query-commands - query-cpu-definitions - query-cpu-model-baseline - query-cpu-model-comparison - query-cpu-model-expansion - query-cpus - query-cpus-fast - query-current-machine - query-display-options - query-dump - query-dump-guest-memory-capability - query-events - query-fdsets - query-gic-capabilities - query-hotpluggable-cpus - query-iothreads - query-jobs - query-kvm - query-machines - query-memdev - query-memory-devices - query-memory-size-summary - query-mice - query-migrate - query-migrate-cache-size - query-migrate-capabilities - query-migrate-parameters - query-name - query-named-block-nodes - query-pci - query-pr-managers - query-qmp-schema - query-rocker - query-rocker-of-dpa-flows - query-rocker-of-dpa-groups - query-rocker-ports - query-rx-filter - query-spice - query-status - query-target - query-uuid - query-version - query-vnc - query-vnc-servers - query-xen-replication-status - quit - remove-fd - ringbuf-read - ringbuf-write - rtc-reset-reinjection - screendump - send-key - set_link - set_password - stop - system_powerdown - system_reset - system_wakeup - trace-event-get-state - trace-event-set-state - transaction - watchdog-set-action - -- The following command line options are unsupported: - -acpitable ... - -bt ... - -chroot ... - -cpu ... (all except host) - -curses - -device [AC97|adlib|am53c974|amd-iommu|AMDVI-PCI|ccid-card-emulated| - ccid-card-passthrough|cirrus-vga|cs4231a|dc390|diag288|e1000-82544gc| - e1000-82545em|edu|ES1370|floppy|generic-sdhci|gus|hda-duplex| - hda-micro|hda-output|hyperv-testdev|*-i386-cpu|i8042|i82550|i82551| - i82557a|i82557b|i82557c|i82558a|i82558b|i82559a|i82559b|i82559c| - i82562|i82801|i82801b11-bridge|ib700|ich9-intel-hda|ich9-usb-ehci1| - ich9-usb-ehci2|ich9-usb-uhci1|ich9-usb-uhci2|ich9-usb-uhci3| - ich9-usb-uhci4|ich9-usb-uhci5|ich9-usb-uhci6|ide-cd|ide-drive|ide-hd| - igd-passthrough-isa-bridge|intel-hda|intel_iommu|ioh3420| - ipmi-bmc-extern|ipmi-bmc-sim|ipoctal232|isa-applesmc|isa-cirrus-vga| - isa-debugcon|isa-debug-exit|isa-fdc|isa-ide|isa-ipmi-bt|isa-ipmi-kcs| - isa-parallel|isa-serial|isa-vga|lsi53c810|lsi53c810a|max-s390x-cpu| - megasas|mptsas1068|ne2k_isa|ne2k_pci|nec-usb-xhci|nvdimm|nvme|pc-dimm| - pci-testdev|pcnet|pc-testdev|piix3-ide|piix3-ide|piix3-ide-xen| - piix4-usb-uhci|pvscsi|pxb|pxb-host|pxb-pcie|qemu-s390-cpu| - rocker|s390-flic|s390-flic-qemu|s390-ipl|s390-pcihost| - s390-sclp-event-facility|s390-skeys-qemu|sb16|sclp|sclpconsole| - sclp-cpu-hotplug|sclplmconsole|sclp-memory-hotplug-dev|sclpquiesce| - sd-card|sdhci-pci|secondary-vga|sga|smbus-eeprom|tpci200|usb-audio| - usb-bot|usb-bt-dongle|usb-ccid|usb-mtp|usb-uas|vfio-ap| - vfio-pci-nohotplug|virtio-9p-device|virtual-css-bridge|vmcoreinfo| - vmgenid|vmware-svga|vmxnet3|vt82c686b-usb-uhci|x3130-upstream| - *-x86_64-cpu|xen-backend|xen-pci-passthrough|xen-platform| - xen-pvdevice|xio3130-downstream|z10BC.2-base-s390x-cpu| - z10BC.2-s390x-cpu|z10BC-base-s390x-cpu|z10BC-s390x-cpu| - z10EC.2-base-s390x-cpu|z10EC.2-s390x-cpu|z10EC.3-base-s390x-cpu| - z10EC.3-s390x-cpu|z10EC-base-s390x-cpu|z10EC-s390x-cpu| - z114-base-s390x-cpu|z114-s390x-cpu|z13.2-base-s390x-cpu| - z13.2-s390x-cpu|z13-base-s390x-cpu|z13-s390x-cpu|z13s-base-s390x-cpu| - z13s-s390x-cpu|z196.2-base-s390x-cpu|z196.2-s390x-cpu| - z196-base-s390x-cpu|z196-s390x-cpu|z800-base-s390x-cpu|z800-s390x-cpu| - z890.2-base-s390x-cpu|z890.2-s390x-cpu|z890.3-base-s390x-cpu| - z890.3-s390x-cpu|z890-base-s390x-cpu|z890-s390x-cpu| - z900.2-base-s390x-cpu|z900.2-s390x-cpu|z900.3-base-s390x-cpu| - z900.3-s390x-cpu|z900-base-s390x-cpu|z900-s390x-cpu| - z990.2-base-s390x-cpu|z990.2-s390x-cpu|z990.3-base-s390x-cpu| - z990.3-s390x-cpu|z990.4-base-s390x-cpu|z990.4-s390x-cpu| - z990.5-base-s390x-cpu|z990.5-s390x-cpu|z990-base-s390x-cpu| - z990-s390x-cpu|z9BC.2-base-s390x-cpu|z9BC.2-s390x-cpu| - z9BC-base-s390x-cpu|z9BC-s390x-cpu|z9EC.2-base-s390x-cpu| - z9EC.2-s390x-cpu|z9EC.3-base-s390x-cpu|z9EC.3-s390x-cpu| - z9EC-base-s390x-cpu|z9EC-s390x-cpu|z14ZR1-base-s390x-cpu| - z14ZR1-s390x-cpu|zBC12-base-s390x-cpu|zBC12-s390x-cpu| - zEC12.2-base-s390x-cpu|zEC12.2-s390x-cpu|zEC12-base-s390x-cpu| - zEC12-s390x-cpu|cpu-cluster|z14.2-base-s390x-cpu|z14.2-s390x-cpu| - vhost-user-fs-device] - (the following are aliases of these unsupported devices: lsi| - ahci|e1000-82540em|vfio-ccw) - (note that some of these device names represent supported devices and - are used internally, but are not specifyable via -device even though - they appear in the list of devices) - -drive ,if=[scsi|mtd|pflash], snapshot=on, format=[anything besides qcow2 or - raw] - -dtb file - -enable-hax - -enable-sync-profile - -fda/-fdb ... - -g ... - -hda/-hdb/-hdc/-hdd ... - -icount ... - -L ... - -M [s390-ccw-virtio-2.4|s390-ccw-virtio-2.5|s390-ccw-virtio-2.7| - s390-ccw-virtio-2.8|s390-ccw-virtio-2.10|s390-ccw-virtio-2.12| - s390-ccw-virtio-3.0|s390-ccw-virtio-4.0|s390-ccw-virtio-4.1] - -machine [s390-ccw-virtio-2.4|s390-ccw-virtio-2.5|s390-ccw-virtio-2.7| - s390-ccw-virtio-2.8|s390-ccw-virtio-2.10|s390-ccw-virtio-2.12| - s390-ccw-virtio-3.0|s390-ccw-virtio-4.0|s390-ccw-virtio-4.1] - -mtdblock file - -net [dump|socket|vde] ... - -netdev [dump|hubport|l2tpv3|socket|vde] ... - -no-acpi - -no-fd-bootchk - -no-hpet - -no-kvm - -no-kvm-irqchip - -no-kvm-pit - -no-kvm-pit-reinjection - -numa cpu ... - -numa dist ... - -numa node ... - -option-rom ... - -overcommit ... - -pflash file - -portrait - -preconfig - -prom-env ... - -qtest ... - -qtest-log ... - -rotate - -sd file - -sdl - -set ... - -singlestep - -smbios ... - -snapshot - -soundhw ... - -spice - -tb-size ... - -tdf - -tpmdev emulator ... - -tpmdev passthrough ... - -usb - -usbdevice [braile|disk|host|mouse|net|serial|tablet] - -vga [cg3|tcx|virtio|cirrus|xenfb|vmware] - -win2k-hack - -xen-attach ... - -xen-domid ... - -xen-domid-restrict ... - -- The following monitor commands are unsupported: - acl_add ... - acl_policy ... - acl_remove ... - acl_reset ... - acl_show ... - block_job_cancel ... - block_job_complete ... - block_job_pause ... - block_job_resume ... - block_job_set_speed ... - block_passwd ... - commit ... - drive_mirror ... - exit_preconfig - expire_password ... - hostfwd_add ... - hostfwd_remove ... - nbd_server_add ... - nbd server_start ... - nbd_server_stop ... - netdev_add - netdev_del ... - pcie_aer_inject_error ... - set_link ... - set_password ... - singlestep ... - snapshot_blkdev ... - stopcapture ... - sync-profile ... - wavcapture ... - x_colo_lost_heartbeat - -- The following QMP commands are unsupported: - block-job-cancel - block-job-complete - block-job-pause - block-job-resume - block-job-set-speed - change-backing-file - drive-backup - drive-mirror - dump-skeys - netdev_add - netdev_del - nbd-server-add - nbd-server-start - nbd-server-stop - query-colo-status - query-sev - query-sev-launch-measure - query-tpm - query-tpm-models - query-tpm-types - x-blockdev-change - x-blockdev-insert-medium - x-blockdev-remove-medium - x-blockdev-reopen - x-colo-lost-heartbeat - x-debug-block-dirty-bitmap-sha256 - x-debug-query-block-graph - x-exit-preconfig - xen-colo-do-checkpoint - xen-load-devices-state - xen-save-devices-state - xen-set-global-dirty-log - xen-set-replication diff --git a/packaging/qemu-4.2.0-0/supported.x86.txt b/packaging/qemu-4.2.0-0/supported.x86.txt deleted file mode 100755 index 48e8243e2..000000000 --- a/packaging/qemu-4.2.0-0/supported.x86.txt +++ /dev/null @@ -1,898 +0,0 @@ -[qemu-x86 package document] - -SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS - -Overview --------- - - The QEMU based packages included with SLES 15 SP2 provide a large variety of - features, from the very latest customer requests to features of questionable - quality or value. The linux kernel includes components which contribute KVM - virtualization features as well. This document was created to assist the user - in deciding which features can be relied upon to build enterprise class - virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64), - for IBM System z (s390x), and for the ARM64 architecture (AArch64) are offered - at the L3 (full support) level. The bulk of this document deals with L3 - supported features and is primarily x86 centric. This document should be - considered a companion to the standard virtualization documentation delivered - with the product. - - KVM is implemented in linux kernel modules which enable the linux kernel to - function as an integral part of the KVM hypervisor. The hypervisor-guest - interaction is managed by QEMU through the /dev/kvm ioctl interface. The linux - host assists in the virtualization of storage, networking and display - resources as well as allowing direct hardware passthrough of PCI and USB - devices. Linux memory and cpu management features are used by QEMU/KVM to - enable guests to share those host resources as efficiently as possible. - - QEMU is a primary component of KVM based virtualization. The legacy qemu-kvm - program is available for continuity with pre SLES 12 usage, including in - libvirt domain xml references. The QEMU emulator binaries qemu-system-x86_64 - and qemu-system-i386 (x86 host) are now the primary programs to use to access - KVM virtualization. When using these programs, the -machine option accel=kvm - (or its alias -enable-kvm), or --accel kvm option must be specified for KVM - acceleration to be used by the guest. Although Xen uses QEMU for - virtualization as well, this document does not identify Xen supported - features. - - Libvirt is the preferred means of accessing QEMU/KVM functionality and is - documented elsewhere. This document focuses on the features and direct usage - of QEMU/KVM as provided by the QEMU based packages. - -Major QEMU/KVM Supported Features ---------------------------------- - -- KVM virtualization is accomplished by using the QEMU program in KVM - acceleration mode. KVM acceleration requires that both guest and host have - the same fundamental architecture. - -- Guest images created under previous QEMU versions are supported by machine - version compatibilities built into more recent QEMU versions. - -- For ease of use, the QEMU program has defaults which represent traditional - usage patterns. - -- Guest virtual machine characteristics are specified by a combination of - internal defaults, options provided on the QEMU program command-line, runtime - configurations set via the monitor interfaces and optional config files. The - runtime control of a VM is effected either through the Human Monitor - "Protocol" (HMP), or the JSON based programmatical QEMU Monitor Protocol (QMP) - interface. For QMP details, see qemu-qmp-ref man page. - Since a KVM guest runs in the context of a normal linux process, some types - of execution controls are managed with linux tools. - -- Various standard vCPU types are available, along with the ability to specify - individual CPU features visible to the guest. - -- QEMU incorporates a SEABIOS based system BIOS and iPXE based PXE ROMs, which - allow boot options common to physical systems, along with other features - tailored to virtualization. Various VGABIOS ROMs, also from the SEABIOS - project, are also included. A UEFI based guest boot environment is also - available by using the firmware provided by the qemu-ovmf-x86_64 package. - -- Some QEMU messages have been localized to various languages. This is provided - by the optional qemu-lang package. Keyboard mappings for various nationalities - is also provided. - -- Virtual machine lifecycle controls include startup through the system BIOS or - kernel boot, ACPI or legacy based shutdown, execution pausing, the saving and - restoring of machine state or disk state, VM migration to another host, and - miscellaneous controls available through the "monitors" mentioned above. - -- Guest execution state may be "moved" in both time (save/restore) and space - (static and live migration). These migrations or save/restore operations can - take place either from certain prior SLES versioned hosts to a SLES 15 SP2 - host or between hosts of the same version. Certain other restrictions also - apply. - -- Security considerations include seccomp2 based sandboxing, vTPM, privileged - helpers and a security model which allows running guests as a non-root user. - -- QEMU/KVM supports a wide range of operating systems within the VMs. See the - online SUSE documentation for supported OS's. Windows guests can optionally be - accelerated with QEMU/KVM provided Hyper-V hypercalls, or with paravirtual - drivers from the SUSE Virtual Machine Driver Pack. Linux includes a number of - paravirtual drivers as well. - -- QEMU provides best effort reuse of existing disk images, including those with - systems installed, through geometry probing. Also disk images produced by - other popular virtualization technologies may be imported into QEMU supported - storage formats. These QEMU formats include features which exploit the - benefits of virtualization. - -- Memory, cpu and disk space overcommit are possible and can be beneficial when - done responsibly. Additional management of these resources comes in the form - of memory ballooning or hotplug, host KSM, vcpu hot-add, online disk resizing, - trim, discard and hole punching. - -- Guest performance is enhanced through the use of virtio devices, various disk - caching modes, network acceleration via the vhost-net kernel module, multi- - queue network transmit capabilities, host transparent huge pages (THP) and - direct hugetlb usage. Physical PCI and USB devices may also be passed through - to the guest, including SR-IOV VF's. - -- The guest UI is accessable via GTK, VNC, Spice, and serial (including curses - TUI) interfaces. - -- Guest timekeeping is supported in a variety of ways, including a paravirtual - clocksource, and options for the various guest clocks for how to handle the - timeslicing of the guest's execution on the host. - -- Guest OS's interact with virtualized hardware including a choice of either - older or more recent x86 system chipsets, system devices and buses, and a - variety of common storage and networking emulated devices. SMBIOS and ACPI - table details can be customized. - -- In addition to the para-virtualized devices already mentioned, other devices - and infrastructure designed to avoid virtualization "problem areas" are - available such as SPICE graphics, vmmouse emulation, tablet style pointer - interfaces and virtio based UI interfaces. - -- A built-in user-mode network (SLIRP) stack is available. - -- Portions of the host file system may be shared with a guest by using virtFS. - -- A guest "agent" is available for SLES 15 SP2 KVM guests via the - qemu-guest-agent package. This allows some introspection and control of the - guest OS environment from the host. - -QEMU/KVM Technology Previews ----------------------------- - -- Nested VMX and SVM virtualization is possible. - -- All features indicated as not being supported in this document fall under the - Technology Preview definition contained in the main product's release notes. - -Noteworthy QEMU/KVM Unsupported Features ----------------------------------------- - -- Note that some features are unsupported simply due to lack of validation. If - an existing feature is desired, but not marked supported, let SUSE know about - your requirements. - -- The TCG "acceleration" mode may be helpful for problem isolation, but - otherwise presents insufficient benefit and stability. - -- Use of -cpu host is not supported in all host/guest configurations. - -- GlusterFS integration is not enabled. - -Deprecated, Superseded, Modified and Dropped Features ------------------------------------------------------ - -- http://wiki.qemu-project.org/Features/LegacyRemoval - This website tracks feature deprecation and removal at the upstream - development level. Our qemu package inherits this community direction, but be - aware that we can and will deviate as needed. Those deviations and additional - information can be found in this section. Feature deprecation is also tracked - in Appendix B of the qemu-doc.* files installed with the qemu package. - -- When no video adapter is specified, the default used is stdvga. This differs - from the default of prior releases which was cirrus. The cirrus adapter was - considered too outdated to continue to use as the default. - -- The deprecated windows drivers (win-virtio-drivers.iso) are no longer provided. - The Virtual Machine Driver Pack is the supported way to get virtio drivers for - Windows guests. - -- The use of ",boot=on" for virtio disks is no longer needed since the bios used - supports the virtio block interface directly. In fact, its usage may cause - problems, and is now considered deprecated. - -- The use of "?" as a parameter to "-cpu", "-soundhw", "-device", "-M", - "-machine" and "-d" is now considered deprecated. Use "help" - instead. - -- The use of "if=scsi" as a parameter to "-drive" does not work anymore with PC - machine types, as it created an obsolete SCSI controller model. - -- Passthrough of a host floppy device is now considered deprecated. - -- Use of aio=native without direct cache mode also being specified (cache=none, - cache=directsync, or cache.direct=on) is no longer allowed. - -- The use of image encryption in qcow and qcow2 formats is now considered - deprecated. - Analysis has shown it to be weak encryption, in addition to suffering from - poor design. Images can easily be converted to a non-encrypted format. - -- Use of acpi, boot-opts, and smp-opts in a -readconfig config file are now - considered deprecated. In the future those names will be standardized to - acpitable, boot, and smp respectively. - -- When only a partial SMP topology is provided (ie only some of sockets, cores, - threads) the derived guest ABI is not guaranteed to be equivalent in future - versions. - -- The previously supported machine types pc-0.12, pc-0.14 and pc-0.15 are now - deprecated. - -- These previously supported command line options are now considered deprecated: - -device ide-drive (use ide-hd or ide-cd instead) - -device scsi-disk (use scsi-hd or scsi-cd instead) - -device virtio-blk,scsi= (use virtio-scsi instead) - -device virtio-blk-pci,scsi= (use virtio-scsi instead) - -realtime mlock= (use -overcommit mem-lock= instead) - -- These previously supported command line options are no longer supported: - <previously mentioned items have been moved to another category> - -- These previously supported command line options are no longer recognized: - -balloon (use -device virtio-balloon instead) - -clock - -device ivshmem (use ivshmem-doorbell or ivshmem-plain instead) - -device pc-sysfw (no longer needed) - -device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead) - -display sdl - -no-frame - -nodefconfig (use -no-user-config instead) - -sdl - -virtioconsole (use -device virtconsole instead) - -- Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" - will now cause a warning. The current behavior for this combination where - "+feature/-feature" wins over "feature=on/off", will be changed going forward - so that "+feature" and "-feature" will be synonyms for "feature=on" and - "feature=off" respectively. - -- The previously supported blkdev-add QMP command has been flagged as lacking - and could possibly change syntax in the future. - -- These previously unsupported command line options are now deprecated: - -bt - -no-kvm-pit - -- The previously unsupported machine types pc-0.13 and pc-0.14 are now - deprecated. - -- The case of specified sockets, cores, and threads not matching the vcpu count - is no longer silently ignored. QEMU now requires that the topology match the - vcpu count. - -- These previously unsupported command line options are no longer recognized: - -device at24c-eeprom - -device ccid-card-passthru - -device cfi.pflash01 - -device esp - -device exynos4210-ehci-usb - -device fusbh200-ehci-usb - -device icc-bridge - -device q35-pcihost - -device mch - -device mmio_interface - -device smbus-eeprom - -device SUNW,fdtwo - -device sysbus-ahci - -device sysbus-fdc - -device sysbus-ohci - -device tegra2-ehci-usb - -device testdev (use -device pc-testdev instead) - -device virtio-mmio - -device xln,ps7-usb - -enable-hax (use -accel hax instead) - -enable-nesting - -kvm-shadow-memory (use -machine kvm_shadow_mem= instead) - -M mac - -machine mac - -no-kvm-irqchip (use -machine kernel_irqchip=off instead) - -no-kvm-pit - -no-kvm-pit-reinjection (use -global kvm-pit.lost_tick_policy=discard instead) - -nvram - -old-param - -osk - -pcidevice (use -device vfio-pci instead) - -qtest - -semihosting - -tdf (note: mistakenly listed previously as supported) - -xen-create - -- The previously unsupported machine types pc-0.10 and pc-0.11 are no longer - recognized. - -- These previously supported QMP commands are now deprecated: - change (use blockdev-change-medium or change-vnc-password instead) - cpu-add - migrate-set-cache-size (use migrate-set-parameters instead) - migrate_set_downtime (use migrate-set-parameters instead) - migrate_set_speed (use migrate-set-parameters instead) - query-cpus (use query-cpus-fast instead) - query-events - query-migrate-cache-size (use query-migrate-parameters instead) - -- These previously supported monitor commands are now deprecated: - change - cpu-add - migrate_set_downtime - migrate_set_speed - -- These previously supported monitor commands are no longer recognized: - cpu_set - pci_add (use device_add instead) - pci_del (use device_del instead) - usb_add (use device_add instead) - usb_del (use device_del instead) - -- These previously unsupported monitor command are now deprecated: - acl_add ... - acl_policy ... - acl_remove ... - acl_reset ... - acl_show ... - -- These previously unsupported monitor commands are no longer recognized: - host_net_add - host_net_remove - -- These previously unsupported QMP commands are now supported under a new name: - x-block-dirty-bitmap-disable (use block-dirty-bitmap-disable instead) - x-block-dirty-bitmap-enable (use block-dirty-bitmap-enable instead) - x-block-dirty-bitmap-merge (use block-dirty-bitmap-merge instead) - x-block-latency-histogram-set (use block-latency-histogram-set instead) - x-blockdev-create (use blockdev-create instead) - x-input-send-event (use input-send-event instead) - -- This previously unsupported QMP commands is no longer recognized: - x-nbd-server-add-bitmap - -- Due to the lack of migration support (mainly due to ahci interface issues) - and other unstable interface issues, earlier versions of the q35 machine type - are not supported in this release. The current q35 machine type is however now - fully supported. - -- Due to upstream's decision to no longer fully support the qed storage format - going forward (since it really provides no benefit over qcow2 and is now no - longer actively maintained upstream), creating qed storage images is no longer - supported and it is highly discouraged to continue using existing qed images. - They should instead be converted to another supported format. - -- If KVM Intel nested virtualization is enabled, and the guest is passed the vmx - feature, then live migration or save/restore is prohibited. - -QEMU Command-Line and Monitor Syntax and Support ------------------------------------------------- - -- The QEMU program command-line syntax is as follows: - qemu-system-i386 [options] [disk_image] - qemu-system-x86_64 [options] [disk_image] - - Where 'options' are taken from the options listed below, and 'disk_image' is - the file system reference to the x86 guest's primary IDE based hard disk - image. This image as well as those used with -drive or -cdrom, may be in the - raw (no format) or qcow2 storage formats, and may be located in files within - the host filesystem, logical volumes, host physical disks, or network based - storage. Read only media may also be accessed via URL style protocol - specifiers. - - Note that as a general rule, as new command line options are added which serve - to replace an older option or interface, you are strongly encouraged to adapt - your usage to the new option. The new option is being introduced to provide - better functionality and usability going forward. In some cases existing - problems or even bugs in older interfaces cannot be fixed due to functional - expectations, but are resolved in the newer interface or option. - This advice includes moving to the most recent machine type (eg pc-i440fx-4.2 - instead of pc-i440fx-3.1) if possible. - -- The following command line options are supported: - -accel ... - -add-fd ... - -alt-grab - -append ... - -audio-help - -audiodev - -bios ... - -blockdev ... - -boot ... - -cdrom ... - -chardev .. - -cpu ... (all except host) - -ctrl-grab - -d ... - -daemonize - -debugcon ... - -device [isa-serial|isa-parallel|isa-fdc|ide-drive|ide-hd|ide-cd|VGA| - cirrus-vga|rtl8139|usb-hub|usb-ehci|usb-tablet|usb-storage|usb-mouse| - usb-kbd|virtserialport|virtconsole|sga|i82559er|scsi-cd|scsi-hd| - scsi-generic|scsi-disk|scsi-block|pci-serial|pci-serial-2x| - pci-serial-4x|ich9-ahci|piix3-usb-uhci|usb-host|usb-serial| - usb-wacom-tablet|usb-braille|usb-net|pci-ohci|piix4-usb-uhci|i6300esb| - ib700|qxl|qxl-vga|pvpanic|vfio-pci|ivshmem-doorbell|ivshmem-plain| - pci-bridge|megasas-gen2|pc-dimm|floppy|e1000e|ccid-card-emulated| - ccid-card-passthrough|xen-backend|loader|e1000-82540em|vmgenid| - vmcoreinfo|pcie-pci-bridge|ich9-usb-ehci1|ich9-usb-ehci2| - ich9-usb-uhci1|ich9-usb-uhci2|ich9-usb-uhci3|ich9-usb-uhci4| - ich9-usb-uhci5|ich9-usb-uhci6|usb-redir|vhost-scsi|vhost-scsi-pci| - vhost-user-blk|vhost-user-blk-pci|vhost-user-blk-pci-non-transitional| - vhost-user-blk-pci-transitional|vhost-user-scsi|vhost-user-scsi-pci| - vhost-user-scsi-pci-non-transitional|vhost-user-pci-transitional| - vhost-vsock-pci|vhost-vsock-pci-non-transitional| - vhost-vsock-pci-transitional|virtio-balloon-pci| - virtio-balloon-pci-non-transitional|virtio-balloon-pci-transitional| - virtio-blk-pci|virtio-blk-pci-non-transitional| - virtio-blk-pci-transitional|virtio-net-pci| - virtio-net-pci-non-transitional|virtio-net-pci-transitional| - virtio-9p-pci|virtio-9p-pci-non-transitional| - virtio-9p-pci-transitional|virtio-serial-pci| - virtio-serial-pci-non-transitional|virtio-serial-pci-transitional| - virtio-scsi-pci|virtio-scsi-pci-non-transitional| - virtio-scsi-pci-transitional|virtio-rng-pci| - virtio-rng-pci-non-transitional|virtio-rng-pci-transitional| - virtio-input-host-pci|virtio-input-host-pci-non-transitional| - virtio-input-host-pci-transitional|virtio-keyboard-pci| - virtio-mouse-pci|virtio-tablet-pci|virtio-gpu-pci|virtio-crypto-pci| - virtio-vga|vhost-user-fs-pci|vhost-user-gpu|vhost-user-pci-pci| - vhost-user-input|vhost-user-input-pci|vhost-user-vga|virtio-mmio| - virtio-pmem|virtio-pmem-pci|mc146818rtc] - (the following are aliases of these supported devices: ahci| - e1000|virtio-blk|virtio-net|virtio-serial|virtio-balloon|virtio-9p| - virtio-scsi|virtio-rng|virtio-input-host|virtio-keyboard|virtio-mouse| - virtio-tablet|virtio-gpu) - -dfilter range, ... - -display ... - -drive ... (if specified if=[floppy|ide|virtio] and format=[qcow2|raw] and - snapshot=off only) - -echr ... - -enable-fips - -enable-kvm - -fda/-fdb ... - -fsdev ... - -full-screen - -fw_cfg ... - -gdb ... - -global ... - -h - -hda/-hdb/-hdc/-hdd ... - -help - -incoming ... - -initrd ... - -iscsi ... - -k ... - -kernel ... - -loadvm ... - -m ... - -M [help|?|none|pc|pc-0.12|pc-0.14|pc-0.15|pc-i440fx-1.4|pc-i440fx-1.7| - pc-i440fx-2.0|pc-i440fx-2.3|pc-i440fx-2.6|pc-i440fx-2.9|pc-i440fx-2.11| - pc-i440fx-3.1|pc-i440fx-4.2|q35|pc-q35-2.6|pc-q35-2.9|pc-q35-2.11| - pc-q35-3.1|pc-q35-4.2|xenfv|xenpv] - -machine [help|?|none|pc|pc-0.12|pc-0.14|pc-0.15|pc-i440fx-1.4|pc-i440fx-1.7| - pc-i440fx-2.0|pc-i440fx-2.3|pc-440fx-2.6|pc-i440fx-2.9| - pc-i440fx-2.11|pc-i440fx-3.1|pc-i440fx-4.2|q35|pc-q35-2.6|pc-q35-2.9| - pc-q35-2.11|pc-q35-3.1|pc-q35-4.2|xenfv|xenpv] - -mem-path ... - -mem-prealloc - -mon ... - -monitor ... - -msg ... - -name ... - -net [bridge|l2tpv3|nic|none|tap|user] ... (for model= only e1000, rtl8139, - and virtio are supported) - -netdev [bridge|tap|user] ... - -nic ... - -no-acpi - -nodefaults - -no-fd-bootchk - -nographic - -no-hpet - -no-quit - -no-reboot - -no-shutdown - -no-user-config - -numa cpu ... - -numa dist ... - -object ... - -only-migratable - -parallel ... - -pidfile ... - -plugin ... - -qmp ... - -qmp-pretty ... - -readconfig ... - -realtime ... - -rtc ... - -runas ... - -s - -S - -sandbox ... - -seed ... - -serial ... - -show-cursor - -smbios ... - -smp ... - -spice - -tpmdev passthrough ... - -trace ... - -usb - -usbdevice [braile|disk|host|mouse|net|serial|tablet] - -uuid .. - -version - -vga [cirrus|none|qxl|std|xenfb] - -virtfs ... - -vnc ... - -watchdog ... - -watchdog-action ... - -writeconfig ... - -xen-attach ... - -xen-domid ... - -xen-domid-restrict ... - -- The following monitor commands are supported: - ? - announce_self ... - balloon ... - block_resize ... - boot_set ... - c - change ... - chardev-add ... - chardev-change ... - chardev-remove ... - chardev-send-break ... - client_migrate_info ... - closefd ... - cont - cpu ... - cpu-add ... - delvm ... - device_add ... - device_del ... - drive_add ... - drive_backup ... - drive_del ... - dump_guest_memory ... - eject ... - gdbserver ... - gpa2hpa ... - gpa2hva ... - gva2gpa ... - help - i ... - info ... - loadvm ... - logfile ... - logitem ... - mce ... - memsave ... - migrate ... - migrate_cancel - migrate_continue ... - migrate_incoming - migrate_pause - migrate_recover ... - migrate_set_cache_size ... - migrate_set_capability ... - migrate_set_downtime ... - migrate_set_parameter ... - migrate_set_speed ... - migrate_start_post_copy - mouse_button ... - mouse_move ... - mouse_set ... - nmi ... - o ... - object_add ... - object_del ... - p ... - pci_add ... - pci_del... - pmemsave ... - print ... - q - qemu-io ... - qom-list - qom-set - ringbuf_read ... - ringbuf_write ... - savevm ... - screendump ... - sendkey ... - snapshot_blkdev_internal ... - snapshot_delete_blkdev_internal ... - stop - sum ... - system_powerdown - system_reset - system_wakeup - trace-event ... - watchdog_action ... - x ... - xp ... - -- The following QMP commands are supported: - add_client - add-fd - announce-self - balloon - blockdev-add - blockdev-backup - blockdev-change-medium - blockdev-close-tray - blockdev-create - blockdev-del - blockdev-mirror - blockdev-open-tray - blockdev-snapshot - blockdev-snapshot-delete-internal-sync - blockdev-snapshot-internal-sync - blockdev-snapshot-sync - block-commit - block-dirty-bitmap-add - block-dirty-bitmap-clear - block-dirty-bitmap-disable - block-dirty-bitmap-enable - block-dirty-bitmap-merge - block-dirty-bitmap-remove - block-latency-histogram-set - block_passwd - block_resize - block_set_io_throttle - block-set-write-threshold - block_stream - change - change-vnc-password - chardev-add - chardev-change - chardev-remove - chardev-send-break - client_migrate_info - closefd - cont - cpu - cpu-add - device_add - device_del - device-list-properties - dump-guest-memory - eject - expire_password - getfd - human-monitor-command - inject-nmi - input-send-event - job-cancel - job-complete - job-dismiss - job-finalize - job-pause - job-resume - memsave - migrate - migrate_cancel - migrate-continue - migrate-incoming - migrate-pause - migrate-resume - migrate-set-cache-size - migrate-set-capabilities - migrate_set_downtime - migrate_set_speed - migrate-set-parameters - migrate-start-postcopy - object-add - object-del - pmemsave - qmp_capabilities - qom-get - qom-list - qom-list-types - qom-set - query-acpi-ospm-status - query-balloon - query-block - query-block-jobs - query-blockstats - query-chardev - query-chardev-backends - query-command-line-options - query-commands - query-cpu-definitions - query-cpu-model-baseline - query-cpu-model-comparison - query-cpu-model-expansion - query-cpus - query-cpus-fast - query-current-machine - query-display-options - query-dump - query-dump-guest-memory-capability - query-events - query-fdsets - query-gic-capabilities - query-hotpluggable-cpus - query-iothreads - query-jobs - query-kvm - query-machines - query-memdev - query-memory-devices - query-memory-size-summary - query-mice - query-migrate - query-migrate-cache-size - query-migrate-capabilities - query-migrate-parameters - query-name - query-named-block-nodes - query-pci - query-pr-managers - query-qmp-schema - query-rocker - query-rocker-of-dpa-flows - query-rocker-of-dpa-groups - query-rocker-ports - query-rx-filter - query-spice - query-status - query-target - query-tpm - query-tpm-models - query-tpm-types - query-uuid - query-version - query-vnc - query-vnc-servers - query-xen-replication-status - quit - remove-fd - ringbuf-read - ringbuf-write - rtc-reset-reinjection - screendump - send-key - set_link - set_password - set-numa-node - stop - system_powerdown - system_reset - system_wakeup - trace-event-get-state - trace-event-set-state - transaction - watchdog-set-action - xen-load-devices-state - xen-save-devices-state - xen-set-global-dirty-log - -- The following command line options are unsupported: - -acpitable ... - -bt ... - -chroot ... - -cpu host - -curses - -device [ipoctal232|i82562|nec-usb-xhci|hda-duplex|hda-output|usb-bot| - lsi53c810a|isa-debug-exit|ne2k_pci|usb-uas|ioh3420|isa-ide|usb-ccid| - pcnet|ich9-intel-hda|dc390|hda-micro|x3130-upstream|isa-cirrus-vga| - pc-testdev|ne2k_isa|isa-vga|cs4231a|gus|vmware-svga|i82801b11-bridge| - i82557a|i82557c|i82557b|i82801|AC97|am53c974|intel-hda|i82558a| - i82558b|usb-audio|i82550|isa-debugcon|sb16|megasas|i82551| - xio3130-downstream|vt82c686b-usb-uhci|tpci200|i82559a|i82559b|i82559c| - isa-applesmc|usb-bt-dongle|adlib|ES1370|lsi53c810|nvme|pci-testdev| - pvscsi|virtio-9p-device|virtio-balloon-device|virtio-blk-device| - virtio-net-device|virtio-rng-device|virtio-scsi-device| - virtio-serial-device|vmxnet3|xen-pci-passthrough|xen-platform| - xen-pvdevice|piix3-ide|piix3-ide-xen|piix3-ide|i8042|sdhci-pci| - secondary-vga|edu|intel_iommu|usb-mtp|e1000-82544gc|e1000-82545em| - pci-bridge-seat|pxb|pxb-pcie|rocker|virtio-input-host-device| - virtio-keyboard-device|virtio-mouse-device|virtio-tablet-device| - hyperv-testdev|generic-sdhci|igd-passthrough-isa-bridge| - ipmi-bmc-extern|ipmi-bmc-sim|isa-ipmi-bt|isa-ipmi-kcs|mptsas1068| - nvdimm|pxb-host|sd-card|virtio-gpu-device|amd-iommu|AMDVI-PCI| - vhost-vsock-device|virtio-crypto-device|vfio-pci-igd-lpc-bridge| - pcie-root-port|qemu-xhci|*-i386-cpu|*-x86_64-cpu|pvrdma|bochs-display| - ramfb|ccid-card-emulated|ccid-card-passthru|kvaser_pci|tpm-crb| - mioe3680_pci|pcm3680_pci|hyperv-synic|vfio-pci-nohotplug| - vfio-platform|xen-bridge|xen-cdrom|xen-disk|ati-vga|cpu-cluster| - intel-iommu|vhost-user-fs-device|tulip|ati-vga|i2c-ddc|pci-ipmi-bt| - pci-ipmi-kcs] - (the following are aliases of these unsupported devices: lsi) - (note that some of these device names represent supported devices and - are used internally, but are not specifyable via -device even though - they appear in the list of devices) - -drive ,if=[scsi|mtd|pflash], snapshot=on, format=[anything besides qcow2 or - raw] - -dtb file - -enable-hax - -enable-sync-profile - -g ... - -icount ... - -L ... - -M [isapc|microvm|pc-0.13|pc-1.0|pc-1.1|pc-1.2|pc-1.3|pc-i440fx-1.5| - pc-i440fx-1.6|pc-i440fx-2.1|pc-i440fx-2.2|pc-i440fx-2.4|pc-i440fx-2.5| - pc-i440fx-2.7|pc-i440fx-2.8|pc-i440fx-2.10|pc-i440fx-2.12|pc-i440fx-3.0| - pc-i440fx-4.0|pc-i440fx-4.1|pc-q35-1.4|pc-q35-1.5|pc-q35-1.6|pc-q35-1.7| - pc-q35-2.0|pc-q35-2.1|pc-q35-2.2|pc-q35-2.3|pc-q35-2.4|pc-q35-2.5| - pc-q35-2.7|pc-q35-2.8|pc-q35-2.10|pc-q35-2.12|pc-q35-3.0|pc-q35-4.0| - pc-q35-4.1] - -machine [isapc|microvm|pc-0.13|pc-1.0|pc-1.1|pc-1.2|pc-1.3|pc-i440fx-1.5| - pc-i440fx-1.6|pc-i440fx-2.1|pc-i440fx-2.2|pc-i440fx-2.4| - pc-i440fx-2.5|pc-i440fx-2.7|pc-i440fx-2.8|pc-i440fx-2.10| - pc-i440fx-2.12|pc-i440fx-3.0|pc-i440fx-4.0|pc-i440fx-4.1|pc-q35-1.4| - pc-q35-1.5|pc-q35-1.6|pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|pc-q35-2.2| - pc-q35-2.3|pc-q35-2.4|pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|pc-q35-2.10| - pc-q35-2.12|pc-q35-3.0|pc-q35-4.0|pc-q35-4.1] - -mtdblock file - -net [dump|socket|vde] ... - -netdev [dump|hubport|l2tpv3|socket|vde] ... - -no-kvm - -numa node ... - -option-rom ... - -overcommit ... - -pflash file - -portrait - -preconfig - -prom-env ... - -qtest ... - -qtest-log ... - -rotate - -sd file - -sdl - -set ... - -singlestep - -snapshot - -soundhw ... - -tb-size ... - -tpmdev emulator ... - -vga [cg3|tcx|virtio|vmware] - -win2k-hack - -- The following monitor commands are unsupported: - acl_add ... - acl_policy ... - acl_remove ... - acl_reset ... - acl_show ... - block_job_cancel ... - block_job_complete ... - block_job_pause ... - block_job_resume ... - block_job_set_speed ... - block_passwd ... - commit ... - drive_mirror ... - exit_preconfig - expire_password ... - hostfwd_add ... - hostfwd_remove ... - nbd_server_add ... - nbd server_start ... - nbd_server_stop ... - netdev_add - netdev_del ... - pcie_aer_inject_error ... - set_link ... - set_password ... - singlestep ... - snapshot_blkdev ... - stopcapture ... - sync-profile ... - wavcapture ... - x_colo_lost_heartbeat - -- The following QMP commands are unsupported: - block-job-cancel - block-job-complete - block-job-pause - block-job-resume - block-job-set-speed - change-backing-file - drive-backup - drive-mirror - dump-skeys - netdev_add - netdev_del - nbd-server-add - nbd-server-start - nbd-server-stop - query-colo-status - query-sev - query-sev-launch-measure - x-blockdev-change - x-blockdev-insert-medium - x-blockdev-remove-medium - x-blockdev-reopen - x-colo-lost-heartbeat - x-debug-block-dirty-bitmap-sha256 - x-debug-query-block-graph - x-exit-preconfig - xen-colo-do-checkpoint - xen-set-replication diff --git a/packaging/qemu-4.2.0-0/update_git.sh b/packaging/qemu-4.2.0-0/update_git.sh deleted file mode 100755 index e361c15b2..000000000 --- a/packaging/qemu-4.2.0-0/update_git.sh +++ /dev/null @@ -1,826 +0,0 @@ -#!/bin/bash -#POKEALL used to document where ALL repos are POKED -#POKEALL? question what repos are actually poked here -#TEMP_CHECK - try to eliminate -# !! FIX AFTER RUN - LEAVING REPO NOT IN GOOD STATE - -# update_git.sh: script to manage package maintenance using a git-based -# workflow. Commands are as follows: -# git2pkg (update package spec file and patches from git) -# pkg2git (update git (frombundle branch) from the package "bundleofbundles") -# refresh (refresh spec file from spec file template and "bundlofbundles") -# -# (default is git2pkg) - -# TODO NOTES: - -# after ensuring current status of local repo is clean, incl submodules, we checkout master+submodules, then also ensure they're clean, then checkout the commit or tag corresponding to latest / stable-release + submodules (but don't bother to verift that's clean) - so this is a detached HEAD for stable-release and IS master (almost certainly) for LATEST. WOW - is that what we need to be doing!?!?! At least it seems to be working for the cases I've seen!!!! -# initbundle operates from the current checked out state of the local superproject, to get the submodule ids - CORRECT!!!! -# the LATEST processing of cloning the local repo, clones master - but perhaps it doesn't matter? because it adds upstream as a remote and probably gets most things from there? INVESTIGATE!!!!!!!!!!!!!!!!!!!1 -# bundle2local checks out master in local repo to ensure we're off the frombundle branch (doesn't seem needed the way the script currently is). It fetches the bundle's head (FETCH_HEAD) REQUIRING that the base commit be present (which it seems to be. Then it creates the frombundle branch, with the current FETCH_HEAD (SAME AS IN BUNDLE, RIGHT?) -# The LATEST's rebase loop checks out the frombundle branch (with force), so we are now OFF of the "correct checkout" that happened at the beginning, it DELETES the GIT_BRANCH (so in this case it DIDN'T MATTER WHAT WAS THERE WHEN SCRIPT STARTED !!!!!!! WARNING !!!!!, branches off of the frombundle branch (w/checkout), then rebases that (which came from bundle) onto the current superproject, or submodule commit id. -# At this point, if the GIT_BRANCH rebased ok, it's ready for making a patchqueue, out of, if the rebase failed, it's time to manually fix that.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 - -# LATEST processing implies updated upstream/master IS the right thing -# HOW do we protect against a bad bundle being created (we do have the build service's tracking of previous files - is that sufficient? -# initbundle - what does it need? Currently we take the default branch in local superproject for the superproject and submodule commit ids, so it needs to be right! (ie which ever branch it is (DECIDE!), make it the RIGHT ONE for this release. It takes the commits from the $GIT_BUNDLE branch of each of superproject and submodule repos, which are beyond above found commits. IT CERTIANLY SEEMS REASONABLE THAT WE WOULD HAVE THE $$GIT_BRANCH BRANCH BE THE DEFAULT AND CORRECT BUT HOW DO WE GUARANTEE THATS OK? GIVEN OUR REQS HERE QEMU_VERSION CAN BE GRABBED HERE IN LOCAL SUPERPROJECT RIGHT AWAY! -# bundle2local - what does it need? This checks out local master just to get off of frombundle (could have been $GIT_BRANCH as well) No other req's -# bundle2spec - what does it need? THIS SHOULD HAVE LATEST SPLIT OUT!!!! We allow this alone, so see what setup it alone needs - for this one particularly, we don't want to REQUIRE local repo. FOR NOW I ASSUME THE RIGHT THING IS CHECKED OUT! -# -# SEEMS WE SHOULD NOT,NOT,NOT require user to have previously updated, or set local repo a certain way, but for us to enforce it or actually do it -# TODO: confirm local repo present, correct remotes, correct local branches, somehow validate local branch content against remote, ... -# -# In both cases we DO require the $GIT_BRANCH to exist, and should confirm that the appropriate upstream basis commit is indeed part of that. In the LATEST case, we can treat master as a source for initial current upstream. - -set -e - -source ./config.sh - -declare -A COMMIT_IDS_BY_SUBMODULE_PATH - -# Get version info from the packages' tarball - decode and do some checks -BASE_RE="qemu-[[:digit:]]+(\.[[:digit:]]+){2}(-rc[[:digit:]])?" -EXTRA_RE="\+git\.[[:digit:]]+\.([[:xdigit:]]+)" -SUFFIX_RE="\.tar\.xz" -SIG_SUFFIX_RE="\.tar\.xz\.sig" -QEMU_TARBALL=($(find -maxdepth 1 -type f -regextype posix-extended -regex \ - "\./$BASE_RE($EXTRA_RE)?$SUFFIX_RE" -printf "%f ")) -QEMU_TARBALL_SIG=($(find -maxdepth 1 -type f -regextype posix-extended -regex \ - "\./$BASE_RE($EXTRA_RE)?$SIG_SUFFIX_RE" -printf "%f ")) - -if [ ${#QEMU_TARBALL[@]} -gt 1 ]; then - echo "Multiple qemu tarballs detected. Please clean up" - exit -fi -if [ ${#QEMU_TARBALL_SIG[@]} -gt 1 ]; then - echo "Multiple qemu tarballs signature files detected. Please clean up" - exit -fi -OLD_SOURCE_VERSION_AND_EXTRA=$(echo $QEMU_TARBALL 2>/dev/null | head --bytes=-8\ - | cut --bytes=6-) -VERSION_EXTRA=$(echo $OLD_SOURCE_VERSION_AND_EXTRA|awk -F+ '{if ($2) print \ - "+"$2}') -if [ "$OLD_SOURCE_VERSION_AND_EXTRA" = "" ]; then - echo "ERROR: No tarball found!" - exit -fi - -#============================================================================== - -TEMP_CHECK() { - -# Validate that all the local repos that we currently have patches in are available -# TEMPORARY REQUIREMENT! -for entry in ${REQUIRED_LOCAL_REPO_MAP[@]}; do - if [[ -e $(readlink -f ${entry}) ]]; then - if $(git -C $entry branch| grep -F "$GIT_BRANCH" >/dev/null); then - : - else - echo "Didn't find the $GIT_BRANCH branch in repo at $entry" - exit - fi - else - echo "ERROR! For now, you need to have these local git repos available:" - echo ${REQUIRED_LOCAL_REPO_MAP[@]} - exit - fi -done -} - -#============================================================================== - -initbundle() { -# The bundle tarball has git bundles stored in a directory structure which mimics the -# submodule locations in the containing git repo. Also at that same dir level -# is a file named repo which contains the one line git repo url (with git:// or -# http(s) prefix). The bundles are named as follows: -# "{path/}{git_sha}.{bundle}", where {path/} isn't present for -# the top (qemu) bundle (ie it's for submodules). - -SUBMODULE_COMMIT_IDS=($(git -C ${LOCAL_REPO_MAP[0]} submodule status --recursive|awk '{print $1}')) -SUBMODULE_DIRS=($(git -C ${LOCAL_REPO_MAP[0]} submodule status --recursive|awk '{print $2}')) -SUBMODULE_COUNT=${#SUBMODULE_COMMIT_IDS[@]} -# TODO: do this with simply math - ie: use (( ... )) -if [[ "$REPO_COUNT" != "$(expr $SUBMODULE_COUNT + 1)" ]]; then - echo "ERROR: submodule count doesn't match the REPO_COUNT variable in config.sh file!" - exit -fi -rm -rf $GIT_DIR -rm -rf $BUNDLE_DIR -mkdir -p $BUNDLE_DIR -for (( i=0; i <$SUBMODULE_COUNT; i++ )); do - mkdir -p $BUNDLE_DIR/${SUBMODULE_DIRS[$i]} -# what should this file be? for now use an extension of id - touch $BUNDLE_DIR/${SUBMODULE_DIRS[$i]}/${SUBMODULE_COMMIT_IDS[$i]}.id -done -if [ "$GIT_UPSTREAM_COMMIT_ISH" = "LATEST" ]; then - GIT_UPSTREAM_COMMIT=$NEW_COMMIT_ISH_FULL -else -# TODO: make this smarter, or change something - works for tag, but not normal commit? - GIT_UPSTREAM_COMMIT=$(git -C ${LOCAL_REPO_MAP[0]} show-ref -d $GIT_UPSTREAM_COMMIT_ISH|grep -F "^{}"|awk '{print $1}') -fi -touch $BUNDLE_DIR/$GIT_UPSTREAM_COMMIT.id - -# Now go through all the submodule local repos that are present and create a bundle file for the patches found there -for (( i=0; i <$REPO_COUNT; i++ )); do -#POKEALL (conditional on whether it IS there) - if [[ -e $(readlink -f ${LOCAL_REPO_MAP[$i]}) ]]; then - SUBDIR=${PATCH_PATH_MAP[$i]} - GITREPO_COMMIT_ISH=($BUNDLE_DIR/$SUBDIR*.id) - if [[ $GITREPO_COMMIT_ISH =~ .*(.{40})[.]id ]]; then - GITREPO_COMMIT_ISH=${BASH_REMATCH[1]} - echo "Using $GITREPO_COMMIT_ISH" - mkdir -p $GIT_DIR/$SUBDIR - git -C $GIT_DIR/$SUBDIR init -#POKEALL - git -C $GIT_DIR/$SUBDIR remote add origin file://$(readlink -f \ - ${LOCAL_REPO_MAP[$i]}) - if [[ $(git -C $GIT_DIR/$SUBDIR ls-remote --heads origin $GIT_BRANCH) ]]; then - git -C $GIT_DIR/$SUBDIR fetch origin $GIT_BRANCH - if [[ $(git -C $GIT_DIR/$SUBDIR rev-list $GITREPO_COMMIT_ISH..FETCH_HEAD) ]]; then - git -C $GIT_DIR/$SUBDIR bundle create $BUNDLE_DIR/$SUBDIR$GITREPO_COMMIT_ISH.bundle $GITREPO_COMMIT_ISH..FETCH_HEAD -#TODO: post-process repo info to avoid un-needed diffs (eg git vs https) -#POKEALL - git -C $(readlink -f ${LOCAL_REPO_MAP[$i]}) remote get-url origin >$BUNDLE_DIR/$SUBDIR/repo - fi - fi - fi - fi -done -# keep diffs to a minimum - touch bundle files to "something common" -tar --format gnu --xz \ - --numeric-owner \ - --owner=0 \ - --group=0 \ - --mtime="@$(date -r qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz +%s)" \ - --create \ - -f bundles.tar.xz -C $BUNDLE_DIR . -rm -rf $BUNDLE_DIR -rm -rf $GIT_DIR -} - -#============================================================================== - -bundle2local() { -rm -rf $BUNDLE_DIR -mkdir -p $BUNDLE_DIR -tar xJf bundles.tar.xz -C $BUNDLE_DIR -BUNDLE_FILES=$(find $BUNDLE_DIR -printf "%P\n"|grep "bundle$") - -for entry in ${BUNDLE_FILES[@]}; do - if [[ $entry =~ ^(.*)[/]*([a-f0-9]{40})[.]bundle$ ]]; then - SUBDIR=${BASH_REMATCH[1]} - GITREPO_COMMIT_ISH=${BASH_REMATCH[2]} - else - echo "ERROR! BAD BUNDLE CONTENT!" - exit - fi - for (( i=0; i <$REPO_COUNT; i++ )); do - if [[ "$SUBDIR" = "${PATCH_PATH_MAP[$i]}" ]]; then - break - fi - done - -#POKEALL ? - LOCAL_REPO=$(readlink -f ${LOCAL_REPO_MAP[$i]}) - if [ -e $LOCAL_REPO ]; then - git -C $LOCAL_REPO remote remove bundlerepo || true - # git won't let you delete a branch we're on - so get onto master temporarily (TODO: is there a better approach?) - git -C $LOCAL_REPO checkout master -f - git -C $LOCAL_REPO branch -D frombundle || true - git -C $LOCAL_REPO remote add bundlerepo $BUNDLE_DIR/$entry - git -C $LOCAL_REPO fetch bundlerepo FETCH_HEAD - git -C $LOCAL_REPO branch frombundle FETCH_HEAD - git -C $LOCAL_REPO remote remove bundlerepo - else - echo "No local repo $LOCAL_REPO corresponding to archived git bundle!" - exit - fi -done -rm -rf $BUNDLE_DIR -} - -#============================================================================== - -redo_tarball_and_rebase_patches() { -rm -rf $GIT_DIR - -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -# CREATE TARBALL, USING FRESH REPO - WE COULD RELY MORE ON LOCAL IF WE WERE MORE CAREFUL -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -# TODO: WHAT IS THIS NEXT LINE EVEN DOING FOR US?? (OK, it's initing a repo, what do we rely on there?) -git clone -ls ${LOCAL_REPO_MAP[0]} $GIT_DIR -b master --single-branch &>/dev/null -echo "Please wait..." -(cd $GIT_DIR && git remote add upstream \ -git://git.qemu-project.org/qemu.git &>/dev/null) -(cd $GIT_DIR && git remote update upstream &>/dev/null) -(cd $GIT_DIR && git checkout $NEW_COMMIT_ISH &>/dev/null) -# As an alternative, we could add a --recurse-submodules to the checkout instead here as well, right? -#UPSTREAM DOESNT DO THIS (time takes 17 minutes!): -# (cd $GIT_DIR && git submodule update --init --recursive &>/dev/null) -#INSTEAD THESE NEXT TWO LINES ARE WHAT IS DONE (these take 9 minutes and 3 minutes respectively): -(cd $GIT_DIR && git submodule update --init &>/dev/null) -(cd $GIT_DIR/roms/edk2 && git submodule update --init &>/dev/null) -VERSION_EXTRA=+git.$NOW_SECONDS.$NEW_COMMIT_ISH -if (cd ${LOCAL_REPO_MAP[0]} && git describe --exact-match $NEW_COMMIT_ISH \ - &>/dev/null); then - if [ "$X" = "50" ]; then - echo "Ignoring non-standard tag" - else -# there is no VERSION_EXTRA - VERSION_EXTRA= - fi -fi -(cd $GIT_DIR/roms/seabios && git describe --tags --long --dirty > \ - .version) -(cd $GIT_DIR/roms/skiboot && ./make_version.sh > .version) -echo "Almost there..." -tar --exclude=.git --transform "s,$GIT_DIR,qemu-$SOURCE_VERSION," \ - -Pcf qemu-$SOURCE_VERSION$VERSION_EXTRA.tar $GIT_DIR -osc rm --force qemu-$OLD_SOURCE_VERSION_AND_EXTRA.tar.xz &>/dev/null ||\ - true -osc rm --force qemu-$OLD_SOURCE_VERSION_AND_EXTRA.tar.xz.sig \ - &>/dev/null || true -unset QEMU_TARBALL_SIG -xz -T 0 qemu-$SOURCE_VERSION$VERSION_EXTRA.tar -osc add qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz - -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -# GET THE SUBMODULE COMMIT ID'S FROM THIS NEWLY MINTED QEMU CHECKOUT. WE'LL USE THAT WHEN WE REBASE OUR PATCHES -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -# !! We (perhaps temporarily) do MORE recursive submodules, since we are tracking ALL in these scripts, while upstream doesn't include all in tarball currently -(cd $GIT_DIR && git submodule update --init --recursive &>/dev/null) -SUBMODULE_COMMIT_IDS=($(git -C $GIT_DIR submodule status --recursive|awk '{print $1}')) -SUBMODULE_DIRS=($(git -C $GIT_DIR submodule status --recursive|awk '{print $2}')) -SUBMODULE_COUNT=${#SUBMODULE_COMMIT_IDS[@]} -# TODO: do this with simply math - ie: use (( ... )) -if [[ "$REPO_COUNT" != "$(expr $SUBMODULE_COUNT + 1)" ]]; then - echo "ERROR: submodule count doesn't match the REPO_COUNT variable in config.sh file!" - exit -fi -# We have the submodule commits, but not in the PATCH ORDER which our config.sh has (see $PATCH_PATH_MAP) -for (( i=0; i <$REPO_COUNT-1; i++ )); do - COMMIT_IDS_BY_SUBMODULE_PATH[${SUBMODULE_DIRS[$i]}/]=${SUBMODULE_COMMIT_IDS[$i]} -done -COMMIT_IDS_BY_SUBMODULE_PATH[SUPERPROJECT]=$NEW_COMMIT_ISH_FULL - -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -# MOVE BUNDLE COMMITS OVER TO LOCAL frombundle BRANCH -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -bundle2local - -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -# REBASE frombundle patches USING COMMIT_IDS_BY_SUBMODULE, ALSO USING OLD ID'S STORED IN OLD BUNDLE -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -mkdir -p $BUNDLE_DIR -tar xJf bundles.tar.xz -C $BUNDLE_DIR -# Now go through all the submodule local repos that are present and create a bundle file for the patches found there -for (( i=0; i <$REPO_COUNT; i++ )); do -#POKEALL - if [[ -e $(readlink -f ${LOCAL_REPO_MAP[$i]}) ]]; then - if $(git -C ${LOCAL_REPO_MAP[$i]} branch | grep -F "frombundle" >/dev/null); then - SUBDIR=${PATCH_PATH_MAP[$i]} - GITREPO_COMMIT_ISH=($BUNDLE_DIR/$SUBDIR*.id) - if [[ $GITREPO_COMMIT_ISH =~ .*(.{40})[.]id ]]; then - GITREPO_COMMIT_ISH=${BASH_REMATCH[1]} - fi - git -C ${LOCAL_REPO_MAP[$i]} checkout frombundle -f - git -C ${LOCAL_REPO_MAP[$i]} branch -D $GIT_BRANCH - git -C ${LOCAL_REPO_MAP[$i]} checkout -b $GIT_BRANCH - if [[ "$SUBDIR" = "" ]]; then - SUBDIR=SUPERPROJECT - fi - if ! $(git -C ${LOCAL_REPO_MAP[$i]} rebase --onto ${COMMIT_IDS_BY_SUBMODULE_PATH[$SUBDIR]} $GITREPO_COMMIT_ISH >/dev/null); then -# TODO: record that this one needs manual help! - echo "Rebase of ${LOCAL_REPO_MAP[$i]}, branch $GIT_BRANCH needs manual help" - REBASE_FAILS="${LOCAL_REPO_MAP[$i]} $REBASE_FAILS" - fi - fi - fi -done -} - -#============================================================================== - -bundle2spec() { -rm -f checkpatch.log -rm -f checkthese -rm -rf checkdir -rm -rf $GIT_DIR -rm -rf $CMP_DIR -rm -rf $BUNDLE_DIR -mkdir -p $BUNDLE_DIR - -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -# NOW PROCESS BUNDLES INTO COMMITS AND FILL SPEC FILE -#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -tar xJf bundles.tar.xz -C $BUNDLE_DIR -BUNDLE_FILES=$(find $BUNDLE_DIR -printf "%P\n"|grep "bundle$") - -for entry in ${BUNDLE_FILES[@]}; do - if [[ $entry =~ ^(.*)[/]*([a-f0-9]{40})[.]bundle$ ]]; then - SUBDIR=${BASH_REMATCH[1]} - GITREPO_COMMIT_ISH=${BASH_REMATCH[2]} - else - echo "ERROR! BAD BUNDLE CONTENT!" - exit - fi - for (( i=0; i <$REPO_COUNT; i++ )); do - if [[ "$SUBDIR" = "${PATCH_PATH_MAP[$i]}" ]]; then - break - fi - done - if [[ $i = $REPO_COUNT ]]; then - echo "Error matching bundle dir to project submodule path" - exit - fi - - mkdir -p $GIT_DIR/$SUBDIR - git -C $GIT_DIR/$SUBDIR init -#POKEALL? - git -C $GIT_DIR/$SUBDIR remote add origin file://$(readlink -f \ - ${LOCAL_REPO_MAP[$i]}) - git -C $GIT_DIR/$SUBDIR fetch origin $GIT_BRANCH - git -C $GIT_DIR/$SUBDIR reset --hard $GITREPO_COMMIT_ISH - git -C $GIT_DIR/$SUBDIR remote add bundle $BUNDLE_DIR/$entry - git -C $GIT_DIR/$SUBDIR fetch bundle FETCH_HEAD - git -C $GIT_DIR/$SUBDIR format-patch -N --suffix= --no-renames -o $CMP_DIR -k --stat=72 \ - --indent-heuristic --zero-commit --no-signature --full-index \ - --src-prefix=a/$SUBDIR --dst-prefix=b/$SUBDIR \ - --start-number=$(expr $i \* $PATCH_RANGE) \ - $GITREPO_COMMIT_ISH..FETCH_HEAD > /dev/null -done - -rm -rf $GIT_DIR -rm -rf $BUNDLE_DIR - -( - CHANGED_COUNT=0 - UNCHANGED_COUNT=0 - DELETED_COUNT=0 - ADDED_COUNT=0 - TOTAL_COUNT=0 - - shopt -s nullglob - - for i in $CMP_DIR/*; do -# index line isn't consistent, so cut full index to normal line length - sed -E -i 's/(^index [a-f0-9]{28})[a-f0-9]{12}([.][.][a-f0-9]{28})[a-f0-9]{12}( [0-9]{6}$)/\1\2\3/' $i - BASENAME=$(basename $i) - if [ "$FIVE_DIGIT_POTENTIAL" = "1" ]; then - if [[ $BASENAME =~ [[:digit:]]{5}.* ]]; then - : - else - BASENAME=0$BASENAME - fi - fi - if [[ "$NUMBERED_PATCHES" = "0" ]]; then - KEEP_COUNT=40+4+$FIVE_DIGIT_POTENTIAL+1 - else - KEEP_COUNT=40 - fi - tail -n +2 $i > $CMP_DIR/${BASENAME:0:$KEEP_COUNT}.patch - rm $i - done - if [[ "$NUMBERED_PATCHES" = "0" ]]; then - for i in [0-9]*.patch; do - osc rm --force $i - done -# make sure that w/out the numbered prefixes, the patchnames are all unique - mkdir checkdir - for i in $CMP_DIR/*; do - BASENAME=$(basename $i) - FINALNAME=${BASENAME:4+$FIVE_DIGIT_POTENTIAL+1:40+1+5} - if [[ -e checkdir/$FINALNAME ]]; then - echo "ERROR! Patch name $FINALNAME is not unique! Please modify patch subject to achieve uniqueness" - exit 1 - fi - cp $i checkdir/$FINALNAME - done - CHECK_DIR=checkdir - cp $CMP_DIR/*.patch . - else - CHECK_DIR=$CMP_DIR - fi - if [ "$FIVE_DIGIT_POTENTIAL" = "0" ]; then - CHECK_PREFIX="0" - else - CHECK_PREFIX="00" - fi - for i in $CHECK_DIR/*; do - BASENAME=$(basename $i) - if [ -e $BASENAME ]; then - if cmp -s $i $BASENAME; then - touch --reference=$BASENAME $i - rm $BASENAME - let UNCHANGED_COUNT+=1 - else - if [ "${BASENAME:0:1+$FIVE_DIGIT_POTENTIAL}" = "$CHECK_PREFIX" ]; then - echo "$BASENAME" >> checkthese - fi - rm $BASENAME - let CHANGED_COUNT+=1 - let TOTAL_COUNT+=1 - fi - else - echo " $BASENAME" >> qemu.changes.added - if [ "${BASENAME:0:1+$FIVE_DIGIT_POTENTIAL}" = "$CHECK_PREFIX" ]; then - echo "$BASENAME" >> checkthese - fi - let ADDED_COUNT+=1 - let TOTAL_COUNT+=1 - fi - done - if [ "$FIVE_DIGIT_POTENTIAL" = "0" ]; then - NUMBERED_PATCH_RE="^[[:digit:]]{4}-.*[.]patch$" - else - NUMBERED_PATCH_RE="^[[:digit:]]{5}-.*[.]patch$" - fi - for i in *.patch; do - if [[ $i =~ $NUMBERED_PATCH_RE ]]; then - if [[ "$NUMBERED_PATCHES" = "1" ]]; then - osc rm --force $i - echo " $i" >> qemu.changes.deleted - let DELETED_COUNT+=1 - let TOTAL_COUNT+=1 - fi - else - osc rm --force $i - echo " $i" >> qemu.changes.deleted - let DELETED_COUNT+=1 - let TOTAL_COUNT+=1 - fi - done - mv $CHECK_DIR/* . - if [ -e qemu.changes.added ]; then - xargs osc add < qemu.changes.added - fi - - if [[ -e checkthese ]]; then - tar Jxf qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz \ - qemu-$SOURCE_VERSION/scripts/checkpatch.pl --strip-components=2 - for i in $(cat checkthese); do - ./checkpatch.pl --no-tree --terse --no-summary --summary-file \ - --patch $i >> checkpatch.log || true - done - fi - rm -f checkthese - rm -f checkpatch.pl - if [ -s checkpatch.log ]; then - echo "WARNING: Issues reported by qemu patch checker. Please handle" \ - "ERROR items now:" - cat checkpatch.log - fi - rm -f checkpatch.log - if [ "$TOTAL_COUNT" != "0" -a "$VERSION_EXTRA" != "" -a "$OLD_COMMIT_ISH" =\ - "$NEW_COMMIT_ISH" ]; then -# Only patches changed: update the version using current timestamp - VERSION_EXTRA=+git.$NOW_SECONDS.$OLD_COMMIT_ISH - osc mv qemu-$OLD_SOURCE_VERSION_AND_EXTRA.tar.xz \ - qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz - osc add qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz - fi - - echo "QEMU version file: $QEMU_VERSION" - echo "QEMU source version: $SOURCE_VERSION" - echo "QEMU version extra: $VERSION_EXTRA" - - SEABIOS_VERSION=${SEABIOS_VERSION:-$(tar JxfO qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz \ - qemu-$SOURCE_VERSION/roms/seabios/.version | cut -d '-' -f 2)} - - for package in qemu; do - while IFS= read -r line; do - if [ "$line" = "PATCH_FILES" ]; then - for i in [0-9]*-*.patch; do - NUM=${i%%-*} - DIV=$((10#$NUM/$PATCH_RANGE)) - REM=$((10#$NUM%$PATCH_RANGE)) - if [[ "$REM" = "0" ]]; then - if [[ "$DIV" = "0" ]]; then - echo "# Patches applied in base project:" - else - echo "# Patches applied in ${PATCH_PATH_MAP[$DIV]}:" - fi - fi - if [[ "$FIVE_DIGIT_POTENTIAL" != "0" ]]; then - if [[ "$NUMBERED_PATCHES" = "0" ]]; then - PATCH_NUMBER=${i%%-*} - echo -e "Patch$NUM: ${i:${#PATCH_NUMBER}+1:40+1+5}" - else - echo -e "Patch$NUM: $i" - fi - else - if [[ "$NUMBERED_PATCHES" = "0" ]]; then - PATCH_NUMBER=${i%%-*} - echo -e "Patch$NUM: ${i:${#PATCH_NUMBER}+1:40+1+5}" - else - echo -e "Patch$NUM: $i" - fi - fi - done - elif [ "$line" = "PATCH_EXEC" ]; then - for i in [0-9]*-*.patch; do - S=$(grep "^Include-If: " $i) || true - NUM=${i%%-*} - if [ "$S" != "" ]; then - echo "${S:12}" - echo "%patch$NUM -p1" - echo "%endif" - else - echo "%patch$NUM -p1" - fi - done - elif [ "$line" = "INSERT_VERSIONING" ]; then - echo "%define qemuver $QEMU_VERSION$VERSION_EXTRA" - echo "%define srcver $SOURCE_VERSION$VERSION_EXTRA" - echo "%define sbver $SEABIOS_VERSION" - elif [[ "$line" =~ ^Source: ]]; then - echo "$line" - if [ ${#QEMU_TARBALL_SIG[@]} -eq 1 ]; then -# We assume the signature file corresponds - just add .sig - echo "$line.sig"|sed 's/^Source: /Source99:/' - fi - else - echo "$line" - fi - done < $package.spec.in > $CMP_DIR/$package.spec - if cmp -s $package.spec $CMP_DIR/$package.spec; then - echo "$package.spec unchanged" - else - mv $CMP_DIR/$package.spec $package.spec - echo "$package.spec regenerated" - let PACKAGE_CHANGED_COUNT+=1 - fi - - if [ "$WRITE_LOG" = "1" ]; then -# Factory requires all deleted and added patches to be mentioned - if [ -e qemu.changes.deleted ] || [ -e qemu.changes.added ]; then - echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > \ - $package.changes.proposed - fi - if [ -e qemu.changes.deleted ]; then - echo "* Patches dropped:" >> $package.changes.proposed - cat qemu.changes.deleted >> $package.changes.proposed - fi - if [ -e qemu.changes.added ]; then - echo "* Patches added:" >> $package.changes.proposed - cat qemu.changes.added >> $package.changes.proposed - fi - if [ -e $package.changes.proposed ]; then - osc vc --file=$package.changes.proposed $package - rm -f $package.changes.proposed - fi - fi - done - if [[ "$NUMBERED_PATCHES" = "0" ]]; then - rm -f [0-9]*-*.patch - fi - if [ -e qemu.changes.deleted ]; then - rm -f qemu.changes.deleted - fi - if [ -e qemu.changes.added ]; then - rm -f qemu.changes.added - fi -# Decide if there is a better way to handle the no change case: - if [[ "0" = "$(expr $CHANGED_COUNT + $DELETED_COUNT + $ADDED_COUNT)" ]]; then - osc revert bundles.tar.xz - fi - echo "git patch summary" - echo " unchanged: $UNCHANGED_COUNT" - echo " changed: $CHANGED_COUNT" - echo " deleted: $DELETED_COUNT" - echo " added: $ADDED_COUNT" -) - -rm -rf $CMP_DIR -rm -rf checkdir - -osc service localrun format_spec_file -} - -#============================================================================== - -usage() { -echo "Usage:" -echo "bash ./git_update.sh <command>" -echo "description: package maintenance using a git-based workflow. Commands:" -echo " git2pkg (update package spec file and patches from git. Is default)" -echo " pkg2git (update git (frombundle branch) from the package "bundleofbundles")" -echo " refresh (refresh spec file from spec file template and "bundlofbundles")" -echo "(See script for details on doing 'LATEST' workflow)" -} - -#============================================================================== - -explain_setup() { -echo "Currently we require local git repos at these locations:" -echo "${REQUIRED_LOCAL_REPO_MAP[@]}" -echo "Where each has as it's remote the uri: https://github.com/opensuse/*.git" -echo "and where * is replaced by the qemu-whatever, and the remote is named origin" -echo "and the qemu or qemu submodule repos as remotes named upstream" -} - -#============================================================================== - -#?? Should we be LATEST or not specific here? -if [[ ! -e $(readlink -f ${LOCAL_REPO_MAP[0]}) ]]; then - echo "ERROR: Main local QEMU related git repo not found. Please follow these setup instructions:" - explain_setup - exit -fi - -echo "WARNING: Script using local git repos. Some operations may be time consuming..." -#TODO: Most of these checks are not necessary -for (( i=0; i <$REPO_COUNT; i++ )); do -#POKEALL - if [[ -e $(readlink -f ${LOCAL_REPO_MAP[$i]}) ]]; then - if [[ -d ${LOCAL_REPO_MAP[$i]}/.git/rebase-merge || \ - -d ${LOCAL_REPO_MAP[$i]}/.git/rebase-apply ]]; then - echo "ERROR! Rebase appears to be in progress in ${LOCAL_REPO_MAP[$i]}. Please resolve" - exit - fi - if ! git -C ${LOCAL_REPO_MAP[$i]} submodule update --init --recursive &> /dev/null; then - echo "Please clean up state of local repo ${LOCAL_REPO_MAP[$i]} before using script" - echo "(ensure git submodule update --init --recursive is successful)" - exit - fi - if [ "$(git -C ${LOCAL_REPO_MAP[$i]} status --porcelain)" ]; then - echo "Please clean up state of local repo ${LOCAL_REPO_MAP[$i]} before using script" - echo "(ensure git status --porcelain produces no output)" - exit - fi - if ! git -C ${LOCAL_REPO_MAP[$i]} checkout master --recurse-submodules -f &> /dev/null; then - echo "Please clean up state of local repo ${LOCAL_REPO_MAP[$i]} before using script" - echo "(cannot check out master, incl. it's submodules)" - exit - fi - if ! git -C ${LOCAL_REPO_MAP[$i]} submodule update --init --recursive &> /dev/null; then - echo "Please clean up state of local repo ${LOCAL_REPO_MAP[$i]} before using script" - echo "(cannot init and update master submodules)" - exit - fi - if [ "$(git -C ${LOCAL_REPO_MAP[$i]} status --porcelain)" ]; then - echo "Please clean up state of local repo ${LOCAL_REPO_MAP[$i]} before using script" - echo "(ensure git status --porcelain produces no output)" - exit - fi - fi -done -if [ "$GIT_UPSTREAM_COMMIT_ISH" = "LATEST" ]; then - if [ "$1" = "continue" ]; then - CONTINUE_AFTER_REBASE=1 - else - if [ "$1" = "pause" ]; then - PAUSE_BEFORE_BUNDLE_CREATION=1 - else - if [ "$1" ]; then - echo "ERROR: unrecognized option '$1'. Script in LATEST mode only recognizes 'pause' and 'continue' options" - exit - fi - fi - fi -#POKEALL - for (( i=0; i <$REPO_COUNT; i++ )); do - if [[ -e $(readlink -f ${LOCAL_REPO_MAP[$i]}) ]]; then - git -C ${LOCAL_REPO_MAP[$i]} remote update upstream &> /dev/null - fi - done - NEW_COMMIT_ISH_FULL=$(cd ${LOCAL_REPO_MAP[0]} && git rev-parse upstream/master) - NEW_COMMIT_ISH=${NEW_COMMIT_ISH_FULL:0:8} - git -C ${LOCAL_REPO_MAP[0]} checkout $NEW_COMMIT_ISH_FULL --recurse-submodules -f &> /dev/null - QEMU_VERSION=$(git -C ${LOCAL_REPO_MAP[0]} show upstream/master:VERSION) - MAJOR_VERSION=$(echo $QEMU_VERSION|awk -F. '{print $1}') - MINOR_VERSION=$(echo $QEMU_VERSION|awk -F. '{print $2}') - X=$(echo $QEMU_VERSION|awk -F. '{print $3}') -# 0 = release, 50 = development cycle, 90..99 equate to release candidates - if [ "$X" != "0" -a "$X" != "50" ]; then - if [ "$NEXT_RELEASE_IS_MAJOR" = "0" ]; then - SOURCE_VERSION=$MAJOR_VERSION.$[$MINOR_VERSION+1].0-rc$[X-90] - GIT_BRANCH=opensuse-$MAJOR_VERSION.$[$MINOR_VERSION+1] - else - SOURCE_VERSION=$[$MAJOR_VERSION+1].0.0-rc$[X-90] - GIT_BRANCH=opensuse-$[$MAJOR_VERSION+1].0 - fi - else - SOURCE_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$X - if [ "$NEXT_RELEASE_IS_MAJOR" = "0" ]; then - GIT_BRANCH=opensuse-$MAJOR_VERSION.$[$MINOR_VERSION+1] - else - GIT_BRANCH=opensuse-$[MAJOR_VERSION+1].0 - fi - fi - WRITE_LOG=0 - echo "Processing LATEST upstream changes" - echo "(If SUCCESS is not printed upon completion, see /tmp/latest.log for issues)" - TEMP_CHECK # DOING LATEST - if [[ $QEMU_TARBALL =~ $BASE_RE$EXTRA_RE$SUFFIX_RE ]]; then - OLD_COMMIT_ISH=${BASH_REMATCH[3]} - else -#Assume release (or release candidate) tarball with equivalent tag: - OLD_COMMIT_ISH=$(cd ${LOCAL_REPO_MAP[0]} && git rev-list --abbrev-commit \ - --abbrev=8 -1 v$OLD_SOURCE_VERSION_AND_EXTRA) - fi - if [ ${#QEMU_TARBALL_SIG[@]} -ne 0 ]; then - echo "INFO: Ignoring signature file: $QEMU_TARBALL_SIG" - QEMU_TARBALL_SIG= - fi - NOW_SECONDS=$(date +%s) - if [ "$OLD_COMMIT_ISH" != "$NEW_COMMIT_ISH" ]; then - if [ "$CONTINUE_AFTER_REBASE" = "1" ]; then - echo "continue after rebase selected but tarball is out of date. Continuing not possible." - echo "If desired, save your rebase work (eg, branch $GIT_BRANCH), because otherwise it will" - echo "be lost. Then run script again without the continue option" - exit - fi - redo_tarball_and_rebase_patches &> /tmp/latest.log - if [[ "$REBASE_FAILS" ]]; then - echo "ERROR! Rebase of the $GIT_BRANCH branch failed in the following local git repos:" - echo $REBASE_FAILS - echo "Manually resolve all these rebases, then finish the workflow by passing 'continue' to script" - if [[ "$PAUSE_BEFORE_BUNDLE_CREATION" = "1" ]]; then - echo "Feel free to also do the work now occasioned by the selected 'pause' option" - fi - exit - fi - CONTINUE_AFTER_REBASE=1 - fi - if [[ "$PAUSE_BEFORE_BUNDLE_CREATION" = "1" ]]; then - echo "As requested, pausing before re-creating bundle of bundles for additional patch or specfile work" - echo "(using current 'ready to go' $GIT_BRANCH branch of local repos to produce patches.)" - echo "When changes are complete, finish the workflow by passing 'continue' to script" - exit - fi - if [ "$CONTINUE_AFTER_REBASE" = "1" ]; then - initbundle &>> /tmp/latest.log - fi - bundle2spec &>> /tmp/latest.log - echo "SUCCESS" - tail -9 /tmp/latest.log -else # not LATEST - if [ ! "$GIT_UPSTREAM_COMMIT_ISH" = "v$OLD_SOURCE_VERSION_AND_EXTRA" ]; then - echo "Tarball name (which we decode) doesn't correspond to the \$GIT_UPSTREAM_COMMIT_ISH in config.sh" - exit - fi - git -C ${LOCAL_REPO_MAP[0]} checkout $GIT_UPSTREAM_COMMIT_ISH --recurse-submodules -f &> /dev/null - NEW_COMMIT_ISH= - SOURCE_VERSION=$OLD_SOURCE_VERSION_AND_EXTRA - QEMU_VERSION=$(tar JxfO qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz qemu-$SOURCE_VERSION/VERSION) - if [ ! "$QEMU_VERSION" = "$OLD_SOURCE_VERSION_AND_EXTRA" ]; then - echo "Tarball name (which we decode) doesn't correspond to the VERSION file contained therein" - exit - fi - MAJOR_VERSION=$(echo $QEMU_VERSION|awk -F. '{print $1}') - MINOR_VERSION=$(echo $QEMU_VERSION|awk -F. '{print $2}') - GIT_BRANCH=opensuse-$MAJOR_VERSION.$MINOR_VERSION - WRITE_LOG=1 - if [ "$1" = "" ]; then - set -- git2pkg - fi - case $1 in - initbundle ) - initbundle - ;; - git2pkg ) - echo "Updating the package using the $GIT_BRANCH branch of the local repos." - echo "(If SUCCESS is not printed upon completion, see /tmp/git2pkg.log for issues)" - TEMP_CHECK #NOT LATEST - initbundle &> /tmp/git2pkg.log - bundle2spec &>> /tmp/git2pkg.log - echo "SUCCESS" - tail -9 /tmp/git2pkg.log - ;; - pkg2git ) - echo "Exporting the package's git bundles to the local repo's frombundle branches..." - echo "(If SUCCESS is not printed upon completion, see /tmp/pkg2git.log for issues)" - TEMP_CHECK #NOT LATEST - bundle2local &> /tmp/pkg2git.log - echo "SUCCESS" - echo "To modify package patches, use the frombundle branch as the basis for updating" - echo "the $GIT_BRANCH branch with the new patch queue." - echo "Then export the changes back to the package using update_git.sh git2pkg" - ;; - refresh ) - echo "Updating the spec file and patches from the spec file template and the bundle" - echo "of bundles (bundles.tar.xz)" - echo "(If SUCCESS is not printed upon completion, see /tmp/refresh.log for issues)" - TEMP_CHECK #NOT LATEST - bundle2spec &> /tmp/refresh.log - echo "SUCCESS" - tail -9 /tmp/refresh.log - ;; - * ) - echo "Unknown command" - usage - ;; - help ) - usage - ;; - esac -fi -exit - diff --git a/packaging/qemu-linux-user.spec b/packaging/qemu-linux-user.spec index a703f9cb3..99f08daf5 100644 --- a/packaging/qemu-linux-user.spec +++ b/packaging/qemu-linux-user.spec @@ -170,7 +170,7 @@ make %{?_smp_mflags} V=1 cd %mybuilddir %ifarch %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le s390x -%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null +#%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null make %{?_smp_mflags} check-softfloat %endif diff --git a/packaging/qemu.spec b/packaging/qemu.spec index 11ede35d4..064b02ec8 100644 --- a/packaging/qemu.spec +++ b/packaging/qemu.spec @@ -1120,15 +1120,9 @@ make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms opensbi64-sifive_u CROSS_ %endif -%check -cd %mybuilddir - - - %install cd %mybuilddir - make %{?_smp_mflags} install DESTDIR=%{buildroot} %ifnarch %{build_rom_arch} for f in %{x86_extra_firmware} \ |