Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[openSUSE] Add packaging for documentation in info format #65

Open
wants to merge 100 commits into
base: factory
Choose a base branch
from

Commits on Sep 4, 2024

  1. [openSUSE][RPM] Add downstream packaging files

    Stash the "packaging files" in the QEMU repository, in the rpm/
    directory. During package build, they will be pulled out from there
    and used as appropriate.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    c8eaeb7 View commit details
    Browse the repository at this point in the history
  2. [openSUSE][RPM] Provide seabios and skiboot version files

    In an upstream tarball there are some special files, generated by a
    script that is run when the archive is prepared. Let's make our
    repository look a little more like that, so we can build it properly.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    df6a2b9 View commit details
    Browse the repository at this point in the history
  3. [openSUSE][RPM] Split qemu and qemu-linux-user spec files

    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    c94d5e5 View commit details
    Browse the repository at this point in the history
  4. [openSUSE][OBS] Add OBS workflow

    Create a rebuild (for pushes) and a pull request workflow.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    78c0f9d View commit details
    Browse the repository at this point in the history
  5. [openSUSE][RPM] Spec file adjustments for 8.0.0 (and later)

    The sgabios submodule is no longer there, so let's get rid of any
    reference to it from our spec files.
    
    Remove no longer supported './configure' options.
    
    We're also not set yet for using the set_version service, so we need to
    update the following manually:
    - the Version: tags in the spec files
    - the rpm/seabios_version and rpm/skiboot_version files (see qemu.spec
      for instructions on how to do that)
    - the %{sbver} variable in rpm/common.inc
    
    A better solution for handling this aspect is being worked on.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    1d1fd9d View commit details
    Browse the repository at this point in the history
  6. [openSUSE] roms/Makefile: pass a packaging timestamp to subpackages w…

    …ith date info (bsc#1011213)
    
    Certain rom subpackages build from qemu git-submodules call the date
    program to include date information in the packaged binaries. This
    causes repeated builds of the package to be different, wkere the only
    real difference is due to the fact that time build timestamp has
    changed. To promote reproducible builds and avoid customers being
    prompted to update packages needlessly, we'll use the timestamp of the
    VERSION file as the packaging timestamp for all packages that build in a
    timestamp for whatever reason.
    
    References: bsc#1011213
    Signed-off-by: Bruce Rogers <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    10ac03f View commit details
    Browse the repository at this point in the history
  7. [openSUSE] roms/Makefile: add --cross-file to qboot meson setup for a…

    …arch64
    
    We add a --cross-file reference so that we can do cross compilation
    of qboot from an aarch64 build.
    
    Signed-off-by: Bruce Rogers <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2148d37 View commit details
    Browse the repository at this point in the history
  8. [openSUSE] qemu-binfmt-conf: Modify default path

    Change QEMU_PATH from /usr/local/bin to /usr/bin prefix.
    
    Signed-off-by: Andreas Färber <[email protected]>
    afaerber authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8d21f52 View commit details
    Browse the repository at this point in the history
  9. [openSUSE] linux-user: use target_ulong

    Linux syscalls pass pointers or data length or other information of that sort
    to the kernel. This is all stuff you don't want to have sign extended.
    Otherwise a host 64bit variable parameter with a size parameter will extend
    it to a negative number, breaking lseek for example.
    
    Pass syscall arguments as ulong always.
    
    Signed-off-by: Alexander Graf <[email protected]>
    [JRZ: changes from linux-user/qemu.h wass moved to linux-user/user-internals.h]
    Signed-off-by: Jose R Ziviani <[email protected]>
    [DF: Forward port, i.e., use ulong for do_prctl too]
    Signed-off-by: Dario Faggioli <[email protected]>
    agraf authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    4a1954d View commit details
    Browse the repository at this point in the history
  10. [openSUSE] linux-user: lseek: explicitly cast non-set offsets to signed

    When doing lseek, SEEK_SET indicates that the offset is an unsigned variable.
    Other seek types have parameters that can be negative.
    
    When converting from 32bit to 64bit parameters, we need to take this into
    account and enable SEEK_END and SEEK_CUR to be negative, while SEEK_SET stays
    absolute positioned which we need to maintain as unsigned.
    
    Signed-off-by: Alexander Graf <[email protected]>
    agraf authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    13d1662 View commit details
    Browse the repository at this point in the history
  11. [openSUSE] PPC: KVM: Disable mmu notifier check

    When using hugetlbfs (which is required for HV mode KVM on 970), we
    check for MMU notifiers that on 970 can not be implemented properly.
    
    So disable the check for mmu notifiers on PowerPC guests, making
    KVM guests work there, even if possibly racy in some odd circumstances.
    
    Signed-off-by: Bruce Rogers <[email protected]>
    agraf authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    3c8f379 View commit details
    Browse the repository at this point in the history
  12. [openSUSE] Make char muxer more robust wrt small FIFOs

    Virtio-Console can only process one character at a time. Using it on S390
    gave me strange "lags" where I got the character I pressed before when
    pressing one. So I typed in "abc" and only received "a", then pressed "d"
    but the guest received "b" and so on.
    
    While the stdio driver calls a poll function that just processes on its
    queue in case virtio-console can't take multiple characters at once, the
    muxer does not have such callbacks, so it can't empty its queue.
    
    To work around that limitation, I introduced a new timer that only gets
    active when the guest can not receive any more characters. In that case
    it polls again after a while to check if the guest is now receiving input.
    
    This patch fixes input when using -nographic on s390 for me.
    
    [AF: Rebased for v2.7.0-rc2]
    [BR: minor edits to pass qemu's checkpatch script]
    Signed-off-by: Bruce Rogers <[email protected]>
    agraf authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    5e7588a View commit details
    Browse the repository at this point in the history
  13. [openSUSE] qemu-bridge-helper: reduce security profile (boo#988279)

    Change from using glib alloc and free routines to those
    from libc. Also perform safety measure of dropping privs
    to user if configured no-caps.
    
    References: boo#988279
    Signed-off-by: Bruce Rogers <[email protected]>
    [AF: Rebased for v2.7.0-rc2]
    Signed-off-by: Andreas Färber <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8e75e84 View commit details
    Browse the repository at this point in the history
  14. [openSUSE] Raise soft address space limit to hard limit

    For SLES we want users to be able to use large memory configurations
    with KVM without fiddling with ulimit -Sv.
    
    Signed-off-by: Andreas Färber <[email protected]>
    [BR: add include for sys/resource.h]
    Signed-off-by: Bruce Rogers <[email protected]>
    afaerber authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2bd05dd View commit details
    Browse the repository at this point in the history
  15. [openSUSE] xen_disk: Add suse specific flush disable handling and map…

    … to QEMU equiv (bsc#879425)
    
    Add code to read the suse specific suse-diskcache-disable-flush flag out
    of xenstore, and set the equivalent flag within QEMU.
    
    Patch taken from Xen's patch queue, Olaf Hering being the original author.
    [bsc#879425]
    
    [BR: minor edits to pass qemu's checkpatch script]
    [BR: With qdevification of xen-block, code has changed significantly]
    Signed-off-by: Bruce Rogers <[email protected]>
    Signed-off-by: Olaf Hering <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    dc213a2 View commit details
    Browse the repository at this point in the history
  16. [openSUSE] xen: add block resize support for xen disks

    Provide monitor naming of xen disks, and plumb guest driver
    notification through xenstore of resizing instigated via the
    monitor.
    
    [BR: minor edits to pass qemu's checkpatch script]
    [BR: significant rework needed due to upstream xen disk qdevification]
    [BR: At this point, monitor_add_blk call is all we need to add!]
    Signed-off-by: Bruce Rogers <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    1efaf88 View commit details
    Browse the repository at this point in the history
  17. [openSUSE] xen: ignore live parameter from xen-save-devices-state (bs…

    …c#1079730, bsc#1101982, bsc#106399)
    
    The final step of xl migrate|save for an HVM domU is saving the state of
    qemu. This also involves releasing all block devices. While releasing
    backends ought to be a separate step, such functionality is not
    implemented.
    
    Unfortunately, releasing the block devices depends on the optional
    'live' option. This breaks offline migration with 'virsh migrate domU
    dom0' because the sending side does not release the disks, as a result
    the receiving side can not properly claim write access to the disks.
    
    As a minimal fix, remove the dependency on the 'live' option. Upstream
    may fix this in a different way, like removing the newly added 'live'
    parameter entirely.
    
    Fixes: 5d6c599 ("migration, xen: Fix block image lock issue on live migration")
    
    Signed-off-by: Olaf Hering <[email protected]>
    References: bsc#1079730, bsc#1101982, bsc#1063993
    Signed-off-by: Bruce Rogers <[email protected]>
    olafhering authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    97ce11f View commit details
    Browse the repository at this point in the history
  18. [openSUSE] scsi-generic: replace logical block count of response of R…

    …EAD CAPACITY (SLE-20965)
    
    While using SCSI passthrough, Following scenario makes qemu doesn't
    realized the capacity change of remote scsi target:
    1. online resize the scsi target.
    2. issue 'rescan-scsi-bus.sh -s ...' in host.
    3. issue 'rescan-scsi-bus.sh -s ...' in vm.
    
    In above scenario I used to experienced errors while accessing the
    additional disk space in vm. I think the reasonable operations should
    be:
    1. online resize the scsi target.
    2. issue 'rescan-scsi-bus.sh -s ...' in host.
    3. issue 'block_resize' via qmp to notify qemu.
    4. issue 'rescan-scsi-bus.sh -s ...' in vm.
    
    The errors disappear once I notify qemu by block_resize via qmp.
    
    So this patch replaces the number of logical blocks of READ CAPACITY
    response from scsi target by qemu's bs->total_sectors. If the user in
    vm wants to access the additional disk space, The administrator of
    host must notify qemu once resizeing the scsi target.
    
    Bonus is that domblkinfo of libvirt can reflect the consistent capacity
    information between host and vm in case of missing block_resize in qemu.
    E.g:
    ...
        <disk type='block' device='lun'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/sdc' index='1'/>
          <backingStore/>
          <target dev='sda' bus='scsi'/>
          <alias name='scsi0-0-0-0'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
    ...
    
    Before:
    1. online resize the scsi target.
    2. host:~  # rescan-scsi-bus.sh -s /dev/sdc
    3. guest:~ # rescan-scsi-bus.sh -s /dev/sda
    4  host:~  # virsh domblkinfo --domain $DOMAIN --human --device sda
    Capacity:       4.000 GiB
    Allocation:     0.000 B
    Physical:       8.000 GiB
    
    5. guest:~ # lsblk /dev/sda
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   8G  0 disk
    └─sda1   8:1    0   2G  0 part
    
    After:
    1. online resize the scsi target.
    2. host:~  # rescan-scsi-bus.sh -s /dev/sdc
    3. guest:~ # rescan-scsi-bus.sh -s /dev/sda
    4  host:~  # virsh domblkinfo --domain $DOMAIN --human --device sda
    Capacity:       4.000 GiB
    Allocation:     0.000 B
    Physical:       8.000 GiB
    
    5. guest:~ # lsblk /dev/sda
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   4G  0 disk
    └─sda1   8:1    0   2G  0 part
    
    References: [SUSE-JIRA] (SLE-20965)
    Signed-off-by: Lin Ma <[email protected]>
    morecache authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8dc30b9 View commit details
    Browse the repository at this point in the history
  19. [openSUSE] hw/scsi/megasas: check for NULL frame in megasas_command_c…

    …ancelled() (bsc#1180432, CVE-2020-35503)
    
    Ensure that 'cmd->frame' is not NULL before accessing the 'header' field.
    This check prevents a potential NULL pointer dereference issue.
    
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1910346
    Signed-off-by: Mauro Matteo Cascella <[email protected]>
    Reported-by: Cheolwoo Myung <[email protected]>
    References: bsc#1180432, CVE-2020-35503
    Signed-off-by: Dario Faggioli <[email protected]>
    Mauro Matteo Cascella authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    bcc140f View commit details
    Browse the repository at this point in the history
  20. [openSUSE] scsi-generic: check for additional SG_IO status on complet…

    …ion (bsc#1178049)
    
    SG_IO may return additional status in the 'status', 'driver_status',
    and 'host_status' fields. When either of these fields are set the
    command has not been executed normally, so we should not continue
    processing this command but rather return an error.
    scsi_read_complete() already checks for these errors,
    scsi_write_complete() does not.
    
    References: bsc#1178049
    Signed-off-by: Hannes Reinecke <[email protected]>
    Signed-off-by: Lin Ma <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    hreinecke authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2f35aaa View commit details
    Browse the repository at this point in the history
  21. [openSUSE] Revert "tests/qtest: enable more vhost-user tests by default"

    Revert commit "tests/qtest: enable more vhost-user tests by default"
    (8dcb404), as it causes prooblem when building with GCC 12 and LTO
    enabled.
    
    This should be considered temporary, until the actual reason why the
    code of the tests that are added in that commit breaks.
    
    It has been reported upstream, and will be (hopefully) solved there:
    https://lore.kernel.org/qemu-devel/[email protected]/
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    52c60e9 View commit details
    Browse the repository at this point in the history
  22. [openSUSE] tests: change error message in test 162

    Since we have a quite restricted execution environment, as far as
    networking is concerned, we need to change the error message we expect
    in test 162. There is actually no routing set up so the error we get is
    "Network is unreachable". Change the expected output accordingly.
    
    Signed-off-by: Bruce Rogers <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    37d8a73 View commit details
    Browse the repository at this point in the history
  23. [openSUSE] tests/qemu-iotests: Triple timeout of i/o tests due to obs…

    … environment
    
    Executing tests in obs is very fickle, since you aren't guaranteed
    reliable cpu time. Triple the timeout for each test to help ensure
    we don't fail a test because the stars align against us.
    
    Signed-off-by: Bruce Rogers <[email protected]>
    [DF: Small tweaks necessary for rebasing on top of 6.2.0]
    Signed-off-by: Dario Faggioli <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    968e7fd View commit details
    Browse the repository at this point in the history
  24. [openSUSE] Disable some tests that have problems in OBS

    We are disabling the following tests:
    
    qemu-system-ppc64 / display-vga-test
    
    They are failing due to some memory corruption errors. We believe that
    this might be due to the combination of the compiler version and of LTO,
    and will take up the investigation within the upstream community.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    e2ebc35 View commit details
    Browse the repository at this point in the history
  25. [openSUSE] Make installed scripts explicitly python3 (bsc#1077564)

    We want to explicitly reference python3 in the scripts we install.
    
    References: bsc#1077564
    Signed-off-by: Bruce Rogers <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    0ae8147 View commit details
    Browse the repository at this point in the history
  26. [openSUSE] meson: install ivshmem-client and ivshmem-server

    Turn on the meson install flag for these executables
    
    Signed-off-by: Bruce Rogers <[email protected]>
    bfrogers authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    0f721bb View commit details
    Browse the repository at this point in the history
  27. [openSUSE] meson: remove $pkgversion from CONFIG_STAMP input to broad…

    …en compatibility
    
    As part of the effort to close the gap with Leap I think we are fine
    removing the $pkgversion component to creating a unique CONFIG_STAMP.
    This stamp is only used in creating a unique symbol used in ensuring the
    dynamically loaded modules correspond correctly to the loading qemu.
    The default inputs to producing this unique symbol are somewhat reasonable
    as a generic mechanism, but specific packaging and maintenance practices
    might require the default to be modified for best use. This is an example
    of that.
    
    Signed-off-by: Bruce Rogers <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    508f2b1 View commit details
    Browse the repository at this point in the history
  28. [openSUSE] pc: q35: Allow 1024 cpus for old machine types (bsc#120228…

    …2, jsc#PED-2592)
    
    In SUSE/openSUSE, we bumped up the number of maximum vcpus since
    machine type q35-7.1. Make sure that this continue to be true, for
    backward compatibility.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    References: https://lore.kernel.org/qemu-devel/[email protected]/
    References: bsc#1202282, jsc#PED-2592
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    46a2966 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    f97fbed View commit details
    Browse the repository at this point in the history
  30. [openSUSE] roms: add back edk2-basetools target

    The efi nic boot rom builds depend on this, they need the
    EfiRom utility from edk2 BaseTools.
    
    Fixes: 22e1153 ("edk2: replace build scripts")
    Reported-by: Olaf Hering <[email protected]>
    Signed-off-by: Gerd Hoffmann <[email protected]>
    References: https://lore.kernel.org/qemu-devel/[email protected]/
    Signed-off-by: Dario Faggioli <[email protected]>
    kraxel authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    047d02d View commit details
    Browse the repository at this point in the history
  31. [openSUSE][RPM] Move documentation to a subpackage and fix qemu-headl…

    …ess (bsc#1209629)
    
    - The qemu-headless subpackage was defined but never build, because it
      had no files. Fix that by putting there just a simple README.
    
    - Move the docs in a dedicated subpackage
    
    Resolves: bsc#1209629
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    6440560 View commit details
    Browse the repository at this point in the history
  32. [openSUSE][RPM] Try to avoid recommending too many packages (bsc#1205…

    …680)
    
    For example, let's try to avoid recommending GUI UI stuff, unless GTK is
    already installed. This way we avoid things like bringing in an entire
    graphic stack on servers.
    
    References: bsc#1205680
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    02d91d8 View commit details
    Browse the repository at this point in the history
  33. [openSUSE][RPM] spec: require virtiofsd, now that it is a sep package (

    …qemu#27)
    
    Since version 8.0.0, virtiofsd is not part of QEMU sources any longer.
    We therefore have also moved it to a separate package. To retain
    compatibility and consistency of behavior, require such a package as an
    hard dependency.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    b2e39b6 View commit details
    Browse the repository at this point in the history
  34. [openSUSE][RPM] Fix deps for virtiofsd and improve spec files

    Address the comments from Factory Submission
    https://build.opensuse.org/request/show/1088674?notification_id=40890530:
    - remove the various '%defattr()'
    - make sure that we depend on virtiofsd only on arch-es
      where it can actually be built
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    46c78c6 View commit details
    Browse the repository at this point in the history
  35. [openSUSE][RPM] Split qemu-tools package (qemu#31)

    Create separate packages for qemu-img and qemu-pr-helper.
    
    Signed-off-by: Vasiliy Ulyanov <[email protected]>
    Co-authored-by: Vasiliy Ulyanov <[email protected]>
    dfaggioli and vasiliy-ul committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    addcb32 View commit details
    Browse the repository at this point in the history
  36. [openSUSE][RPM] Use --preserve-argv0 in qemu-linux-user (boo#1197298,…

    … bsc#1212768)
    
    By default try to preserve argv[0].
    
    Original report is boo#1197298, which also became relevant recently again in bsc#1212768.
    
    Signed-off-by: Fabian Vogt <[email protected]>
    References: boo#1197298
    References: bsc#1212768
    Signed-off-by: Fabian Vogt <[email protected]>
    Vogtinator authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    5a78701 View commit details
    Browse the repository at this point in the history
  37. [openSUSE][RPM] Update to version 8.1.0

    Full list of changes are available at:
    
      https://wiki.qemu.org/ChangeLog/8.1
    
    Highlights:
     * VFIO: improved live migration support, no longer an experimental feature
     * GTK GUI now supports multi-touch events
     * ARM, PowerPC, and RISC-V can now use AES acceleration on host processor
     * PCIe: new QMP commands to inject CXL General Media events, DRAM
       events and Memory Module events
     * ARM: KVM VMs on a host which supports MTE (the Memory Tagging Extension)
       can now use MTE in the guest
     * ARM: emulation support for bpim2u (Banana Pi BPI-M2 Ultra) board and
       neoverse-v1 (Cortex Neoverse-V1) CPU
     * ARM: new architectural feature support for: FEAT_PAN3 (SCTLR_ELx.EPAN),
       FEAT_LSE2 (Large System Extensions v2), and experimental support for
       FEAT_RME (Realm Management Extensions)
     * Hexagon: new instruction support for v68/v73 scalar, and v68/v69 HVX
     * Hexagon: gdbstub support for HVX
     * MIPS: emulation support for Ingenic XBurstR1/XBurstR2 CPUs, and MXU
       instructions
     * PowerPC: TCG SMT support, allowing pseries and powernv to run with up
       to 8 threads per core
     * PowerPC: emulation support for Power9 DD2.2 CPU model, and perf
       sampling support for POWER CPUs
     * RISC-V: ISA extension support for BF16/Zfa, and disassembly support
       for Zcm*/Z*inx/XVentanaCondOps/Xthead
     * RISC-V: CPU emulation support for Veyron V1
     * RISC-V: numerous KVM/emulation fixes and enhancements
     * s390: instruction emulation fixes for LDER, LCBB, LOCFHR, MXDB, MXDBR,
       EPSW, MDEB, MDEBR, MVCRL, LRA, CKSM, CLM, ICM, MC, STIDP, EXECUTE, and
       CLGEBR(A)
     * SPARC: updated target/sparc to use tcg_gen_lookup_and_goto_ptr() for
       improved performance
     * Tricore: emulation support for TC37x CPU that supports ISA v1.6.2
       instructions
     * Tricore: instruction emulation of POPCNT.W, LHA, CRC32L.W, CRC32.B,
       SHUFFLE, SYSCALL, and DISABLE
     * x86: CPU model support for GraniteRapids
     * and lots more...
    
    This also (automatically) fixes:
     - bsc#1212850 (CVE-2023-3354)
     - bsc#1213001 (CVE-2023-3255)
     - bsc#1213925 (CVE-2023-3180)
     - bsc#1213414 (CVE-2023-3301)
     - bsc#1207205 (CVE-2023-0330)
     - bsc#1212968 (CVE-2023-2861)
     - bsc#1179993, bsc#1181740, bsc#1211697
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    0648675 View commit details
    Browse the repository at this point in the history
  38. [openSUSE][RPM] Transform meson subproject in git submodules

    OBS SCM bridge can handle git submodule, while it can't handle (yet?)
    meson subprojects. The (ugly, I know!) solution, for now, is to turn
    the latter into the former, with commands like the followings:
    
    git submodule add -f https://gitlab.com/qemu-project/berkeley-testfloat-3 subprojects/berkeley-testfloat-3
    git -C subprojects/berkeley-testfloat-3 reset --hard 40619cbb3bf32872df8c53cc457039229428a263
    
    (the hash used comes from the subprojects/berkeley-testfloat-3.wrap file)
    
    It's also necessary to manually apply the layering of the packagefiles,
    and that is done in the specfile.
    
    Longer term and better solutions could be:
    - Make SCM support meson subprojects
    - Create standalone packages for the subprojects (and instruct
      QEMU to pick stuff from there)
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2bb4d9c View commit details
    Browse the repository at this point in the history
  39. [openSUSE][RPM] Use discount instead of perl-Text-Markdown

    perl-Text-Markdown is not always available (e.g., in SLE/Leap).
    Use discount instead, as the provider of the 'markdown' binary.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    1a767ef View commit details
    Browse the repository at this point in the history
  40. [openSUSE][RPM] spec: enable the Pipewire audio backend (bsc#1215486)

    Enable the Pipewire audio backend (available since 8.1), in the
    appropriate subpackage.
    
    References: bsc#1215486
    Signed-off-by: Dario Faggioli
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    5e79a5d View commit details
    Browse the repository at this point in the history
  41. [openSUSE] Update to version 8.1.1

    This includes the following commits:
    
     * tpm: fix crash when FD >= 1024 and unnecessary errors due to EINTR (Marc-André Lureau)
     * meson: Fix targetos match for illumos and Solaris. (Jonathan Perkin)
     * s390x/ap: fix missing subsystem reset registration (Janosch Frank)
     * ui: fix crash when there are no active_console (Marc-André Lureau)
     * virtio-gpu/win32: set the destroy function on load (Marc-André Lureau)
     * target/riscv: Allocate itrigger timers only once (Akihiko Odaki)
     * target/riscv/pmp.c: respect mseccfg.RLB for pmpaddrX changes (Leon Schuermann)
     * target/riscv: fix satp_mode_finalize() when satp_mode.supported = 0 (Daniel Henrique Barboza)
     * hw/riscv: virt: Fix riscv,pmu DT node path (Conor Dooley)
     * linux-user/riscv: Use abi type for target_ucontext (LIU Zhiwei)
     * hw/intc: Make rtc variable names consistent (Jason Chien)
     * hw/intc: Fix upper/lower mtime write calculation (Jason Chien)
     * target/riscv: Fix zfa fleq.d and fltq.d (LIU Zhiwei)
     * target/riscv: Fix page_check_range use in fault-only-first (LIU Zhiwei)
     * target/riscv/cpu.c: add zmmul isa string (Daniel Henrique Barboza)
     * hw/char/riscv_htif: Fix the console syscall on big endian hosts (Thomas Huth)
     * hw/char/riscv_htif: Fix printing of console characters on big endian hosts (Thomas Huth)
     * arm64: Restore trapless ptimer access (Colton Lewis)
     * virtio: Drop out of coroutine context in virtio_load() (Kevin Wolf)
     * qxl: don't assert() if device isn't yet initialized (Marc-André Lureau)
     * hw/net/vmxnet3: Fix guest-triggerable assert() (Thomas Huth)
     * docs tests: Fix use of migrate_set_parameter (Markus Armbruster)
     * qemu-options.hx: Rephrase the descriptions of the -hd* and -cdrom options (Thomas Huth)
     * hw/i2c/aspeed: Fix TXBUF transmission start position error (Hang Yu)
     * hw/i2c/aspeed: Fix Tx count and Rx size error in buffer pool mode (Hang Yu)
     * hw/ide/ahci: fix broken SError handling (Niklas Cassel)
     * hw/ide/ahci: fix ahci_write_fis_sdb() (Niklas Cassel)
     * hw/ide/ahci: PxCI should not get cleared when ERR_STAT is set (Niklas Cassel)
     * hw/ide/ahci: PxSACT and PxCI is cleared when PxCMD.ST is cleared (Niklas Cassel)
     * hw/ide/ahci: simplify and document PxCI handling (Niklas Cassel)
     * hw/ide/ahci: write D2H FIS when processing NCQ command (Niklas Cassel)
     * hw/ide/core: set ERR_STAT in unsupported command completion (Niklas Cassel)
     * target/ppc: Fix LQ, STQ register-pair order for big-endian (Nicholas Piggin)
     * target/ppc: Flush inputs to zero with NJ in ppc_store_vscr (Richard Henderson)
     * hw/ppc/e500: fix broken snapshot replay (Maksim Kostin)
     * ppc/vof: Fix missed fields in VOF cleanup (Nicholas Piggin)
     * ui/dbus: Properly dispose touch/mouse dbus objects (Bilal Elmoussaoui)
     * target/i386: raise FERR interrupt with iothread locked (Paolo Bonzini)
     * linux-user: Adjust brk for load_bias (Richard Henderson)
     * target/arm: properly document FEAT_CRC32 (Alex Bennée)
     * block-migration: Ensure we don't crash during migration cleanup (Fabiano Rosas)
     * softmmu: Assert data in bounds in iotlb_to_section (Richard Henderson)
     * docs/about/license: Update LICENSE URL (Philippe Mathieu-Daudé)
     * target/arm: Fix 64-bit SSRA (Richard Henderson)
     * target/arm: Fix SME ST1Q (Richard Henderson)
     * accel/kvm: Specify default IPA size for arm64 (Akihiko Odaki)
     * kvm: Introduce kvm_arch_get_default_type hook (Akihiko Odaki)
     * include/hw/virtio/virtio-gpu: Fix virtio-gpu with blob on big endian hosts (Thomas Huth)
     * target/s390x: Check reserved bits of VFMIN/VFMAX's M5 (Ilya Leoshkevich)
     * target/s390x: Fix VSTL with a large length (Ilya Leoshkevich)
     * target/s390x: Use a 16-bit immediate in VREP (Ilya Leoshkevich)
     * target/s390x: Fix the "ignored match" case in VSTRS (Ilya Leoshkevich)
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    f761a5c View commit details
    Browse the repository at this point in the history
  42. [openSUSE] Update version to 8.1.2

    This fixes the following upstream issues:
     * https://gitlab.com/qemu-project/qemu/-/issues/1826
     * https://gitlab.com/qemu-project/qemu/-/issues/1834
     * https://gitlab.com/qemu-project/qemu/-/issues/1846
    
    It also contains a fix for:
     * CVE-2023-42467 (bsc#1215192)
    
    As well as several upstream backports:
     * target/riscv: Fix vfwmaccbf16.vf
     * disas/riscv: Fix the typo of inverted order of pmpaddr13 and pmpaddr14
     * roms: use PYTHON to invoke python
     * hw/audio/es1370: reset current sample counter
     * migration/qmp: Fix crash on setting tls-authz with null
     * util/log: re-allow switching away from stderr log file
     * vfio/display: Fix missing update to set backing fields
     * amd_iommu: Fix APIC address check
     * vdpa net: follow VirtIO initialization properly at cvq isolation probing
     * vdpa net: stop probing if cannot set features
     * vdpa net: fix error message setting virtio status
     * vdpa net: zero vhost_vdpa iova_tree pointer at cleanup
     * linux-user/hppa: Fix struct target_sigcontext layout
     * chardev/char-pty: Avoid losing bytes when the other side just (re-)connected
     * hw/display/ramfb: plug slight guest-triggerable leak on mode setting
     * win32: avoid discarding the exception handler
     * target/i386: fix memory operand size for CVTPS2PD
     * target/i386: generalize operand size "ph" for use in CVTPS2PD
     * subprojects/berkeley-testfloat-3: Update to fix a problem with compiler warnings
     * scsi-disk: ensure that FORMAT UNIT commands are terminated
     * esp: restrict non-DMA transfer length to that of available data
     * esp: use correct type for esp_dma_enable() in sysbus_esp_gpio_demux()
     * optionrom: Remove build-id section
     * target/tricore: Fix RCPW/RRPW_INSERT insns for width = 0
     * accel/tcg: Always require can_do_io
     * accel/tcg: Always set CF_LAST_IO with CF_NOIRQ
     * accel/tcg: Improve setting of can_do_io at start of TB
     * accel/tcg: Track current value of can_do_io in the TB
     * accel/tcg: Hoist CF_MEMI_ONLY check outside translation loop
     * accel/tcg: Avoid load of icount_decr if unused
     * softmmu: Use async_run_on_cpu in tcg_commit
     * migration: Move return path cleanup to main migration thread
     * migration: Replace the return path retry logic
     * migration: Consolidate return path closing code
     * migration: Remove redundant cleanup of postcopy_qemufile_src
     * migration: Fix possible race when shutting down to_dst_file
     * migration: Fix possible races when shutting down the return path
     * migration: Fix possible race when setting rp_state.error
     * migration: Fix race that dest preempt thread close too early
     * ui/vnc: fix handling of VNC_FEATURE_XVP
     * ui/vnc: fix debug output for invalid audio message
     * hw/scsi/scsi-disk: Disallow block sizes smaller than 512 [CVE-2023-42467]
     * accel/tcg: mttcg remove false-negative halted assertion
     * meson.build: Make keyutils independent from keyring
     * target/arm: Don't skip MTE checks for LDRT/STRT at EL0
     * hw/arm/boot: Set SCR_EL3.FGTEn when booting kernel
     * include/exec: Widen tlb_hit/tlb_hit_page()
     * tests/file-io-error: New test
     * file-posix: Simplify raw_co_prw's 'out' zone code
     * file-posix: Fix zone update in I/O error path
     * file-posix: Check bs->bl.zoned for zone info
     * file-posix: Clear bs->bl.zoned on error
     * hw/cxl: Fix out of bound array access
     * hw/cxl: Fix CFMW config memory leak
     * linux-user/hppa: lock both words of function descriptor
     * linux-user/hppa: clear the PSW 'N' bit when delivering signals
     * hw/ppc: Read time only once to perform decrementer write
     * hw/ppc: Reset timebase facilities on machine reset
     * hw/ppc: Always store the decrementer value
     * target/ppc: Sign-extend large decrementer to 64-bits
     * hw/ppc: Avoid decrementer rounding errors
     * hw/ppc: Round up the decrementer interval when converting to ns
     * host-utils: Add muldiv64_round_up
    
    Signed-of-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    49dbef0 View commit details
    Browse the repository at this point in the history
  43. [openSUSE] Add -p1 to autosetup in spec files

    Our workflow does not include patches in the spec files. Still, it could
    be useful to add some there, during development and/or debugging issues.
    
    Make sure that they are applied properly, by adding -p1 to the
    %autosetup directive (it's a nop if there are no patches, so both cases
    are ok).
    
    Suggested-by: Olaf Hering <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    b8f7e09 View commit details
    Browse the repository at this point in the history
  44. [openSUSE] supportconfig: Adapt plugin to modern supportconfig

    The supportconfig 'scplugin.rc' file is deprecated in favor of
    supportconfig.rc'. Adapt the qemu plugin to the new scheme.
    
    Signed-off-by: Jim Fehlig <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    jfehlig authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    600e557 View commit details
    Browse the repository at this point in the history
  45. [openSUSE] Make Sphinx build reproducible (boo#1102408)

    Avoid parallel processing in sphinx because that causes variations in
    generated files
    
    This is addressed here, with a downstream patch, until a proper solution
    is found upstream.
    
    Signed-off-by: Bernhard Wiedemann <[email protected]>
    References: boo#1102408
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    1eeb244 View commit details
    Browse the repository at this point in the history
  46. [openSUSE] Update version to 8.1.3

    Align to upstream stable release. It includes many of the patches we had
    backported ourself, to fix bugs and issues, plus more.
    
    See here for details:
    - https://lore.kernel.org/qemu-devel/[email protected]/
    - https://gitlab.com/qemu-project/qemu/-/commits/stable-8.1?ref_type=heads
    
    An (incomplete!) list of such backports is:
     * Update version for 8.1.3 release
     * hw/mips: LOONGSON3V depends on UNIMP device
     * target/arm: HVC at EL3 should go to EL3, not EL2
     * s390x/pci: only limit DMA aperture if vfio DMA limit reported
     * target/riscv/kvm: support KVM_GET_REG_LIST
     * target/riscv/kvm: improve 'init_multiext_cfg' error msg
     * tracetool: avoid invalid escape in Python string
     * tests/tcg/s390x: Test LAALG with negative cc_src
     * target/s390x: Fix LAALG not updating cc_src
     * tests/tcg/s390x: Test CLC with inaccessible second operand
     * target/s390x: Fix CLC corrupting cc_src
     * tests/qtest: ahci-test: add test exposing reset issue with pending callback
     * hw/ide: reset: cancel async DMA operation before resetting state
     * target/mips: Fix TX79 LQ/SQ opcodes
     * target/mips: Fix MSA BZ/BNZ opcodes displacement
     * ui/gtk-egl: apply scale factor when calculating window's dimension
     * ui/gtk: force realization of drawing area
     * ati-vga: Implement fallback for pixman routines
     * ...
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    44bce91 View commit details
    Browse the repository at this point in the history
  47. [openSUSE][RPM] New subpackage, for SPICE

    Define a new sub-(meta-)package that can be installed for having
    all the other modules and packages necessary for SPICE to work.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    a566e25 View commit details
    Browse the repository at this point in the history
  48. [openSUSE][RPM] Normalize hostname, for reproducible builds

    Use a fixed USER value (in case someone builds outside of OBS/osc).
    
    References: boo#1084909
    Signed-off-by: Bernhard M. Wiedemann <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2dc2156 View commit details
    Browse the repository at this point in the history
  49. [openSUSE][RPM] Some more refinements of inter-subpackage dependencies

    Add some block drivers and virtiofsd as hard dependencies of the
    qemu-headless package, to make sure it's really useful for headless
    server environments (even when recommended packages are not installed).
    
    Singed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    ced0ae8 View commit details
    Browse the repository at this point in the history
  50. [openSUSE][RPM] Disable Xen support in ALP-based distros

    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    4f6d0eb View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    f109e8a View commit details
    Browse the repository at this point in the history
  52. [openSUSE][RPM] Fix virtiofsd dependency on 32 bit systems

    And make the switch more general, as we now have multiple
    instances of it.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    1e08e90 View commit details
    Browse the repository at this point in the history
  53. [openSUSE][RPM] Restrict canokey to openSUSE only

    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    92d2843 View commit details
    Browse the repository at this point in the history
  54. [openSUSE][RPM] Update version to 8.2

    Update to latest upstream release.
    
    The full list of changes are available at:
    
      https://wiki.qemu.org/ChangeLog/8.2
    
    Highlights include:
     * New virtio-sound device emulation
     * New virtio-gpu rutabaga device emulation used by Android emulator
     * New hv-balloon for dynamic memory protocol device for Hyper-V guests
     * New Universal Flash Storage device emulation
     * Network Block Device (NBD) 64-bit offsets for improved performance
     * dump-guest-memory now supports the standard kdump format
     * ARM: Xilinx Versal board now models the CFU/CFI, and the TRNG device
     * ARM: CPU emulation support for cortex-a710 and neoverse-n2
     * ARM: architectural feature support for PACQARMA3, EPAC, Pauth2, FPAC,
       FPACCOMBINE, TIDCP1, MOPS, HBC, and HPMN0
     * HPPA: CPU emulation support for 64-bit PA-RISC 2.0
     * HPPA: machine emulation support for C3700, including Astro memory
       controller and four Elroy PCI bridges
     * LoongArch: ISA support for LASX extension and PRELDX instruction
     * LoongArch: CPU emulation support for la132
     * RISC-V: ISA/extension support for AIA virtualization support via KVM,
       and vector cryptographic instructions
     * RISC-V: Numerous extension/instruction cleanups, fixes, and reworks
     * s390x: support for vfio-ap passthrough of crypto adapter for
       protected
       virtualization guests
     * Tricore: support for TC37x CPU which implements ISA v1.6.2
     * Tricore: support for CRCN, FTOU, FTOHP, and HPTOF instructions
     * x86: Zen support for PV console and network devices
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    20fb4ab View commit details
    Browse the repository at this point in the history
  55. [openSUSE] Update submodule references for 8.2.0

    Point the submodules to the repositories that host our downstream
    patches:
    
    * roms/seabios
     - [openSUSE] switch to python3 as needed
     - [openSUSE] build: enable cross compilation on ARM
     - [openSUSE] build: be explicit about -mx86-used-note=no
    * roms/SLOF
     - Allow to override build date with SOURCE_DATE_EPOCH
    * roms/ipxe
     - [ath5k] Add missing AR5K_EEPROM_READ in ath5k_eeprom_read_turbo_modes
     - [openSUSE] [build] Makefile: fix issues of build reproducibility
     - [openSUSE] [test] help compiler out by initializing array[openSUSE]
     - [openSUSE] [build] Silence GCC 12 spurious warnings
     - [librm] Use explicit operand size when pushing a label address
    * roms/skiboot
     - [openSUSE] Makefile: define endianess for cross-building on aarch64
     - [openSUSE] Make Sphinx build reproducible (boo#1102408)
    * roms/qboot
     - [openSUSE] add cross.ini file to handle aarch64 based build
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    757eb23 View commit details
    Browse the repository at this point in the history
  56. [openSUSE][RPM] Fix enabling features on non-x86_64

    The %endif was in the wrong place, so on non-x86_64, most features were
    disabled.
    Vogtinator authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    90a0ef3 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    62d1aa0 View commit details
    Browse the repository at this point in the history
  58. [openSUSE] Update ipxe submodule reference (bsc#1219733, bsc#1219722)

    Add to the ipxe submodule the commit (and all its dependencies) for
    fixing building with binutils 2.42
    
    References: bsc#1219733
    References: bsc#1219722
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    fca072d View commit details
    Browse the repository at this point in the history
  59. [openSUSE][RPM] spec: allow building without spice

    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    90c1376 View commit details
    Browse the repository at this point in the history
  60. [openSUSE][RPM] Create the legacy qemu-kvm symlink for all arches

    Historically, KVM was available only for x86 and s390, and was invoked
    via a binary called 'kvm' or 'qemu-kvm'. For a while, we've shipped a
    package that was making it possible to invoke QEMU like that, but only
    for these two arches. This, however, created a lot of confusion and
    dependencies issues.
    
    Fix them by creating a symlink from 'qemu-kvm' to the proper binary on
    all arches and by making the main QEMU package Providing and Obsoleting
    (also on all arches) the old qemu-kvm one.
    
    Note that, for RISCV, the qemu-system-riscv64 binary, to which the symlink
    should point, is in the qemu-extra package. However, if we are on RISCV,
    qemu-extra is an hard dependency of qemu. Therefore, it's fine to ship
    the link and also set the Provides: and Obsoletes: tag in the qemu
    package itself. It'd be more correct to do that in the qemu-extra
    package, of course, but this would complicate the spec file and it's not
    worth it, considering this is all legacy and should very well go away
    soon.
    
    References: bsc#1218684
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    854d583 View commit details
    Browse the repository at this point in the history
  61. [openSUSE][RPM] Install the VGA module "more often" (bsc#1219164)

    Depending on the VM configuration (both at the VM definition level and
    on the guest itself) a VGA console might be necessary, or weird lockup
    will occur. Since the VGA module package is smalle enough, add a
    dependency for it, from other display modules, to act as a workaround.
    
    While there, make more explicit and precise the dependencies between all
    the various modules, by specifying that they should all have the same
    version and release.
    
    References: bsc#1219164
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    21727d8 View commit details
    Browse the repository at this point in the history
  62. [openSUSE][RPM] factor common definitions between qemu and qemu-linux…

    …-user spec files
    
    Simplify both the spec files, by factoring common definitions.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    ce16c49 View commit details
    Browse the repository at this point in the history
  63. [openSUSE][RPM] Update to latest stable versio (8.2.1)

    Backported commits:
     * Update version for 8.2.1 release
     * target/arm: Fix incorrect aa64_tidcp1 feature check
     * target/arm: Fix A64 scalar SQSHRN and SQRSHRN
     * target/xtensa: fix OOB TLB entry access
     * qtest: bump aspeed_smc-test timeout to 6 minutes
     * monitor: only run coroutine commands in qemu_aio_context
     * iotests: port 141 to Python for reliable QMP testing
     * iotests: add filter_qmp_generated_node_ids()
     * block/blklogwrites: Fix a bug when logging "write zeroes" operations.
     * virtio-net: correctly copy vnet header when flushing TX (bsc#1218484, CVE-2023-6693)
     * tcg/arm: Fix SIGILL in tcg_out_qemu_st_direct
     * linux-user/riscv: Adjust vdso signal frame cfa offsets
     * linux-user: Fixed cpu restore with pc 0 on SIGBUS
     * block/io: clear BDRV_BLOCK_RECURSE flag after recursing in bdrv_co_block_status
     * coroutine-ucontext: Save fake stack for pooled coroutine
     * tcg/s390x: Fix encoding of VRIc, VRSa, VRSc insns
     * accel/tcg: Revert mapping of PCREL translation block to multiple virtual addresses
     * acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from bits VM
     * s390x/pci: drive ISM reset from subsystem reset
     * s390x/pci: refresh fh before disabling aif
     * s390x/pci: avoid double enable/disable of aif
     * hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued
     * hw/scsi/esp-pci: synchronise setting of DMA_STAT_DONE with ESP completion interrupt
     * hw/scsi/esp-pci: generate PCI interrupt from separate ESP and PCI sources
     * hw/scsi/esp-pci: use correct address register for PCI DMA transfers
     * migration/rdma: define htonll/ntohll only if not predefined
     * hw/pflash: implement update buffer for block writes
     * hw/pflash: use ldn_{be,le}_p and stn_{be,le}_p
     * hw/pflash: refactor pflash_data_write()
     * backends/cryptodev: Do not ignore throttle/backends Errors
     * target/i386: pcrel: store low bits of physical address in data[0]
     * target/i386: fix incorrect EIP in PC-relative translation blocks
     * target/i386: Do not re-compute new pc with CF_PCREL
     * load_elf: fix iterator's type for elf file processing
     * target/hppa: Update SeaBIOS-hppa to version 15
     * target/hppa: Fix IOR and ISR on error in probe
     * target/hppa: Fix IOR and ISR on unaligned access trap
     * target/hppa: Export function hppa_set_ior_and_isr()
     * target/hppa: Avoid accessing %gr0 when raising exception
     * hw/hppa: Move software power button address back into PDC
     * target/hppa: Fix PDC address translation on PA2.0 with PSW.W=0
     * hw/pci-host/astro: Add missing astro & elroy registers for NetBSD
     * hw/hppa/machine: Disable default devices with --nodefaults option
     * hw/hppa/machine: Allow up to 3840 MB total memory
     * readthodocs: fully specify a build environment
     * .gitlab-ci.d/buildtest.yml: Work around htags bug when environment is large
     * target/s390x: Fix LAE setting a wrong access register
     * tests/qtest/virtio-ccw: Fix device presence checking
     * tests/acpi: disallow tests/data/acpi/virt/SSDT.memhp changes
     * tests/acpi: update expected data files
     * edk2: update binaries to git snapshot
     * edk2: update build config, set PcdUninstallMemAttrProtocol = TRUE.
     * edk2: update to git snapshot
     * tests/acpi: allow tests/data/acpi/virt/SSDT.memhp changes
     * util: fix build with musl libc on ppc64le
     * tcg/ppc: Use new registers for LQ destination
     * hw/intc/arm_gicv3_cpuif: handle LPIs in in the list registers
     * hw/vfio: fix iteration over global VFIODevice list
     * vfio/container: Replace basename with g_path_get_basename
     * edu: fix DMA range upper bound check
     * hw/net: cadence_gem: Fix MDIO_OP_xxx values
     * audio/audio.c: remove trailing newline in error_setg
     * chardev/char.c: fix "abstract device type" error message
     * target/riscv: Fix mcycle/minstret increment behavior
     * hw/net/can/sja1000: fix bug for single acceptance filter and standard frame
     * target/i386: the sgx_epc_get_section stub is reachable
     * configure: use a native non-cross compiler for linux-user
     * include/ui/rect.h: fix qemu_rect_init() mis-assignment
     * target/riscv/kvm: do not use non-portable strerrorname_np()
     * iotests: Basic tests for internal snapshots
     * vl: Improve error message for conflicting -incoming and -loadvm
     * block: Fix crash when loading snapshot on inactive node
    
    References: bsc#1218484 (CVE-2023-6693)
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    db66bf0 View commit details
    Browse the repository at this point in the history
  64. [openSUSE] roms/seabios: Drop an old (and no longer necessary) downst…

    …ream patch
    
    Drop the patch "[openSUSE] build: be explicit about -mx86-used-note=no"
    from SeaBIOS.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    c3c9924 View commit details
    Browse the repository at this point in the history
  65. [openSUSE][RPM] Cosmetic fixes to spec files (copyright, sorting, etc)

    Update the copyright year to 2024, sort dependencies etc.
    
    This way, 'osc' does not have to do these changes all the times (they're
    automatic, so no big deal, but it's annoying to see them in the diffs of
    all the requests).
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8e8bfeb View commit details
    Browse the repository at this point in the history
  66. [openSUSE] Increase default phys bits to 42, if host supports that

    We wanted QEMU to support larger VMs (in therm of RAM size) by default
    and we therefore introduced patch "[openSUSE] increase x86_64 physical
    bits to 42". This, however, means that we create VMs with 42 bits of
    physical address space even on hosts that only has, say, 40. And that
    can't work.
    
    In fact, it has been a problem since a long time (e.g., bsc#1205978) and
    it's also the actual root cause of bsc#1219977.
    
    Get rid of that old patch, in favor of a new one that still raise the
    default number of address bits to 42, but only on hosts that supports
    that.
    
    This means that we can also use the proper SeaBIOS version, without
    reverting commits that were only a problem due to our broken downstream
    patch.
    
    We probably aslo don't need to ship some of the custom ACPI tables (for
    passing tests), but we'll actually remove them later, after double
    checking properly that all the tests do work.
    
    References: bsc#1205978
    References: bsc#1219977
    References: bsc#1220799
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    4e8698a View commit details
    Browse the repository at this point in the history
  67. [openSUSE] Update version to 8.2.2

    Update to latest stable release (8.2.2).
    
    Full changelog here:
     https://lore.kernel.org/qemu-devel/[email protected]/
    
    Upstream backports:
     chardev/char-socket: Fix TLS io channels sending too much data to the backend
     tests/unit/test-util-sockets: Remove temporary file after test
     hw/usb/bus.c: PCAP adding 0xA in Windows version
     hw/intc/Kconfig: Fix GIC settings when using "--without-default-devices"
     gitlab: force allow use of pip in Cirrus jobs
     tests/vm: avoid re-building the VM images all the time
     tests/vm: update openbsd image to 7.4
     target/i386: leave the A20 bit set in the final NPT walk
     target/i386: remove unnecessary/wrong application of the A20 mask
     target/i386: Fix physical address truncation
     target/i386: check validity of VMCB addresses
     target/i386: mask high bits of CR3 in 32-bit mode
     pl031: Update last RTCLR value on write in case it's read back
     hw/nvme: fix invalid endian conversion
     update edk2 binaries to edk2-stable202402
     update edk2 submodule to edk2-stable202402
     target/ppc: Fix crash on machine check caused by ifetch
     target/ppc: Fix lxv/stxv MSR facility check
     .gitlab-ci.d/windows.yml: Drop msys2-32bit job
     system/vl: Update description for input grab key
     docs/system: Update description for input grab key
     hw/hppa/Kconfig: Fix building with "configure --without-default-devices"
     tests/qtest: Depend on dbus_display1_dep
     meson: Explicitly specify dbus-display1.h dependency
     audio: Depend on dbus_display1_dep
     ui/console: Fix console resize with placeholder surface
     ui/clipboard: add asserts for update and request
     ui/clipboard: mark type as not available when there is no data
     ui: reject extended clipboard message if not activated
     target/i386: Generate an illegal opcode exception on cmp instructions with lock prefix
     i386/cpuid: Move leaf 7 to correct group
     i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F
     i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs
     i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available
     .gitlab-ci/windows.yml: Don't install libusb or spice packages on 32-bit
     iotests: Make 144 deterministic again
     target/arm: Don't get MDCR_EL2 in pmu_counter_enabled() before checking ARM_FEATURE_PMU
     target/arm: Fix SVE/SME gross MTE suppression checks
     target/arm: Handle mte in do_ldrq, do_ldro
     target/arm: Split out make_svemte_desc
     target/arm: Adjust and validate mtedesc sizem1
     target/arm: Fix nregs computation in do_{ld,st}_zpa
     linux-user/aarch64: Choose SYNC as the preferred MTE mode
     tests/acpi: Update DSDT.cxl to reflect change _STA return value.
     hw/i386: Fix _STA return value for ACPI0017
     tests/acpi: Allow update of DSDT.cxl
     smmu: Clear SMMUPciBus pointer cache when system reset
     virtio_iommu: Clear IOMMUPciBus pointer cache when system reset
     virtio-gpu: Correct virgl_renderer_resource_get_info() error check
     hw/cxl: Pass CXLComponentState to cache_mem_ops
     hw/cxl/device: read from register values in mdev_reg_read()
     cxl/cdat: Fix header sum value in CDAT checksum
     cxl/cdat: Handle cdat table build errors
     vhost-user.rst: Fix vring address description
     tcg/arm: Fix goto_tb for large translation blocks
     tcg: Increase width of temp_subindex
     hw/net/tulip: add chip status register values
     hw/smbios: Fix port connector option validation
     hw/smbios: Fix OEM strings table option validation
     configure: run plugin TCG tests again
     tests/docker: Add sqlite3 module to openSUSE Leap container
     hw/riscv/virt-acpi-build.c: fix leak in build_rhct()
     migration: Fix logic of channels and transport compatibility check
     virtio-blk: avoid using ioeventfd state in irqfd conditional
     virtio: Re-enable notifications after drain
     virtio-scsi: Attach event vq notifier with no_poll
     iotests: give tempdir an identifying name
     iotests: fix leak of tmpdir in dry-run mode
     hw/scsi/lsi53c895a: add missing decrement of reentrancy counter
     linux-user/aarch64: Add padding before __kernel_rt_sigreturn
     tcg/loongarch64: Set vector registers call clobbered
     pci-host: designware: Limit value range of iATU viewport register
     target/arm: Reinstate "vfp" property on AArch32 CPUs
     qemu-options.hx: Improve -serial option documentation
     system/vl.c: Fix handling of '-serial none -serial something'
     target/arm: fix exception syndrome for AArch32 bkpt insn
     block/blkio: Make s->mem_region_alignment be 64 bits
     qemu-docs: Update options for graphical frontends
     Make 'uri' optional for migrate QAPI
     vfio/pci: Clear MSI-X IRQ index always
     migration: Fix use-after-free of migration state object
     migration: Plug memory leak on HMP migrate error path
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    78cdd9b View commit details
    Browse the repository at this point in the history
  68. [openSUSE] Update to version 8.2.3 (bsc#1224179)

    Update to latest stable release (8.2.3).
    
    Full changelog/backports here:
     https://lore.kernel.org/qemu-devel/[email protected]/
    
    Some of the upstream backports are:
     Update version for 8.2.3 release
     ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS.
     ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for CPU IPIs.
     hw/pci-host/ppc440_pcix: Do not expose a bridge device on PCI bus
     hw/isa/vt82c686: Keep track of PIRQ/PINT pins separately
     virtio-pci: fix use of a released vector
     linux-user/x86_64: Handle the vsyscall page in open_self_maps_{2,4}
     hw/audio/virtio-snd: Remove unused assignment
     hw/net/net_tx_pkt: Fix overrun in update_sctp_checksum()
     hw/sd/sdhci: Do not update TRNMOD when Command Inhibit (DAT) is set
     hw/net/lan9118: Fix overflow in MIL TX FIFO
     hw/net/lan9118: Replace magic '2048' value by MIL_TXFIFO_SIZE definition
     backends/cryptodev: Do not abort for invalid session ID
     hw/misc/applesmc: Fix memory leak in reset() handler
     hw/block/nand: Fix out-of-bound access in NAND block buffer
     hw/block/nand: Have blk_load() take unsigned offset and return boolean
     hw/block/nand: Factor nand_load_iolen() method out
     qemu-options: Fix CXL Fixed Memory Window interleave-granularity typo
     hw/virtio/virtio-crypto: Protect from DMA re-entrancy bugs
     hw/char/virtio-serial-bus: Protect from DMA re-entrancy bugs
     hw/display/virtio-gpu: Protect from DMA re-entrancy bugs
     mirror: Don't call job_pause_point() under graph lock (bsc#1224179)
     ...and many more...
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    b5859d7 View commit details
    Browse the repository at this point in the history
  69. [openSUSE][RPM] Update to version 9.0.0

    Update to latest upstream release 9.0.0.
    
    Full changelog at:
     https://wiki.qemu.org/ChangeLog/9.0
    
    Highlights include:
     * block: virtio-blk now supports multiqueue where different queues of a
       single disk can be processed by different I/O threads
     * gdbstub: various improvements such as catching syscalls in user-mode,
       support for fork-follow modes, and support for siginfo:read
     * memory: preallocation of memory backends can now be handled
       concurrently using multiple threads in some cases
     * migration: support for "mapped-ram" capability allowing for more
       efficient VM snapshots, improved support for zero-page detection, and
       checkpoint-restart support for VFIO
     * ARM: architectural feature support for ECV (Enhanced Counter Virtualization),
       NV (Nested Virtualization), and NV2 (Enhanced Nested
       Virtualization)
     * ARM: board support for B-L475E-IOT01A IoT node, mp3-an536 (MPS3 dev board
       + AN536 firmware), and raspi4b (Raspberry Pi 4 Model B)
     * ARM: additional IO/disk/USB/SPI/ethernet controller and timer support for
       Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx, and virt boards
     * HPPA: numerous bug fixes and SeaBIOS-hppa firmware updated to version 16
     * LoongArch: KVM acceleration support, including LSX/LASX vector
       extensions
     * RISC-V: ISA/extension support for Zacas, amocas, RVA22 profiles,
       Zaamo, Zalrsc, Ztso, and more
     * RISC-V: SMBIOS support for RISC-V virt machine, ACPI support for
       SRAT, SLIT, AIA, PLIC and updated RHCT table support, and numerous fixes
     * s390x: Emulation support for CVDG, CVB, CVBY and CVBG instructions,
       and fixes for LAE (Load Address Extended) emulation
     * and lots more...
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    9a8e0ff View commit details
    Browse the repository at this point in the history
  70. [openSUSE][RPM] Hostname normalization (for repr. build ) done proper…

    …ly (boo#1084909)
    
    In commit "[openSUSE][RPM] Normalize hostname, for reproducible builds"
    (dec5f6c) the USER and HOSTNAME
    variables were defined in the different RPM section. Fix that.
    
    Fixes: dec5f6c
    References: boo#1084909
    Suggested-by: Bernhard M. Wiedemann <[email protected]>
    Signed-offf-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8e01eb0 View commit details
    Browse the repository at this point in the history
  71. [openSUSE][RPM] Prioritize PA over PipeWire in SLE (bsc#1222218)

    Change the order of audio driver list in SLE to prefer pulseaudio
    over pipewire (related to bsc#1222218).
    
    Signed-off-by: Antonio Larrosa <[email protected]>
    References: bsc#1222218
    Signed-off-by: Dario Faggioli <[email protected]>
    antlarr-suse authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8f9799c View commit details
    Browse the repository at this point in the history
  72. [openSUSE] Update to version 9.0.1

    Update to latest stable release (9.0.1).
    
    Full list of backports here:
     https://lore.kernel.org/qemu-devel/[email protected]/
    
    A selection of them is reported here too:
     Update version for 9.0.1 release
     target/loongarch: fix a wrong print in cpu dump
     ui/sdl2: Allow host to power down screen
     virtio-gpu: fix v2 migration
     target/i386: fix SSE and SSE2 feature check
     target/i386: fix xsave.flat from kvm-unit-tests
     disas/riscv: Decode all of the pmpcfg and pmpaddr CSRs
     riscv, gdbstub.c: fix reg_width in ricsv_gen_dynamic_vector_feature()
     target/riscv/kvm.c: Fix the hart bit setting of AIA
     target/riscv: rvzicbo: Fixup CBO extension register calculation
     target/riscv: do not set mtval2 for non guest-page faults
     target/riscv: prioritize pmp errors in raise_mmu_exception()
     target/riscv: rvv: Remove redudant SEW checking for vector fp narrow/widen instructions
     target/riscv: rvv: Check single width operator for vfncvt.rod.f.f.w
     target/riscv: rvv: Check single width operator for vector fp widen instructions
     target/riscv: rvv: Fix Zvfhmin checking for vfwcvt.f.f.v and vfncvt.f.f.w instructions
     target/riscv/cpu.c: fix Zvkb extension config
     target/riscv: Fix the element agnostic function problem
     target/riscv/kvm: tolerate KVM disable ext errors
     target/riscv/kvm: Fix exposure of Zkr
     hw/intc/riscv_aplic: APLICs should add child earlier than realize
     iotests: test NBD+TLS+iothread
     qio: Inherit follow_coroutine_ctx across TLS
     target/arm: Disable SVE extensions when SVE is disabled
     hw/intc/arm_gic: Fix handling of NS view of GICC_APR<n>
     hvf: arm: Fix encodings for ID_AA64PFR1_EL1 and debug System registers
     gitlab: use 'setarch -R' to workaround tsan bug
     gitlab: use $MAKE instead of 'make'
     dockerfiles: add 'MAKE' env variable to remaining containers
     gitlab: Update msys2-64bit runner tags
     target/i386: no single-step exception after MOV or POP SS
     target/i386: disable jmp_opt if EFLAGS.RF is 1
     hw/loongarch/virt: Fix FDT memory node address width
     hw/loongarch: Fix fdt memory node wrong 'reg'
     target/loongarch/kvm: fpu save the vreg registers high 192bit
     hw/core/machine: move compatibility flags for VirtIO-net USO to machine 8.1
     target-i386: hyper-v: Correct kvm_hv_handle_exit return value
     hw/pflash: fix block write start
     tcg/loongarch64: Fill out tcg_out_{ld,st} for vector regs
     ui/gtk: Check if fence_fd is equal to or greater than 0
     ui/gtk: Fix mouse/motion event scaling issue with GTK display backend
     configure: Fix error message when C compiler is not working
     configure: quote -D options that are passed through to meson
     target/i386: fix feature dependency for WAITPKG
     target/i386: rdpkru/wrpkru are no-prefix instructions
     target/i386: fix operand size for DATA16 REX.W POPCNT
     hw/remote/vfio-user: Fix config space access byte order
     hw/loongarch/virt: Fix memory leak
     target/sh4: Update DisasContextBase.insn_start
     target/sparc: Fix FPMERGE
     target/sparc: Fix FMULD8*X16
     target/sparc: Fix FMUL8x16A{U,L}
     target/sparc: Fix FMUL8x16
     target/sparc: Fix FEXPAND
     target/i386: Give IRQs a chance when resetting HF_INHIBIT_IRQ_MASK
     plugins: Update stale comment
     target/sh4: Fix SUBV opcode
     target/sh4: Fix ADDV opcode
     hw/arm/npcm7xx: Store derivative OTP fuse key in little endian
     hw/dmax/xlnx_dpdma: fix handling of address_extension descriptor fields
     hw/ufs: Fix buffer overflow bug
     .gitlab-ci.d/cirrus.yml: Shorten the runtime of the macOS and FreeBSD jobs
     tests/avocado: update sunxi kernel from armbian to 6.6.16
     target/arm: Restrict translation disabled alignment check to VMSA
     target/riscv/kvm: remove sneaky strerrorname_np() instance
     target/loongarch/cpu.c: typo fix: expection
     backends/cryptodev-builtin: Fix local_error leaks
     nbd/server: Mark negotiation functions as coroutine_fn
     nbd/server: do not poll within a coroutine context
     docs: i386: pc: Update maximum CPU numbers for PC Q35
     linux-user: do_setsockopt: fix SOL_ALG.ALG_SET_KEY
     migration/colo: Fix bdrv_graph_rdlock_main_loop: Assertion `!qemu_in_coroutine()' failed.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    7070c0b View commit details
    Browse the repository at this point in the history
  73. [openSUSE] Update to version 9.0.2

    Update to latest stable release (9.0.2).
    
    Full list of backports here:
     https://lore.kernel.org/qemu-devel/[email protected]/
    
    A selection of them is listed here too:
     hw/nvme: fix number of PIDs for FDP RUH update
     sphinx/qapidoc: Fix to generate doc for explicit, unboxed arguments
     char-stdio: Restore blocking mode of stdout on exit
     virtio: remove virtio_tswap16s() call in vring_packed_event_read()
     virtio-pci: Fix the failure process in kvm_virtio_pci_vector_use_one()
     tcg/optimize: Fix TCG_COND_TST* simplification of setcond2
     block: Parse filenames only when explicitly requested
     iotests/270: Don't store data-file with json: prefix in image
     iotests/244: Don't store data-file with protocol in image
     qcow2: Don't open data_file with BDRV_O_NO_IO
     tests: add testing of parameter=3D1 for SMP topology (bsc#1228169)
     hw/core: allow parameter=3D1 for SMP topology on any machine
     target/arm: Fix FJCVTZS vs flush-to-zero
     target/arm: Fix VCMLA Dd, Dn, Dm[idx]
     i386/cpu: fixup number of addressable IDs for processor cores in the physical package
     tests: Update our CI to use CentOS Stream 9 instead of 8
     migration: Fix file migration with fdset
     tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers
     target/sparc: use signed denominator in sdiv helper
     linux-user: Make TARGET_NR_setgroups affect only the current thread
     accel/tcg: Fix typo causing tb->page_addr[1] to not be recorded
     stdvga: fix screen blanking
     hw/audio/virtio-snd: Always use little endian audio format
     Revert "monitor: use aio_co_reschedule_self()"
     ui/gtk: Draw guest frame at refresh cycle
     virtio-net: drop too short packets early
     target/i386: fix size of EBP writeback in gen_enter()
    
    References: bsc#1228169
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    94a4cb2 View commit details
    Browse the repository at this point in the history
  74. [openSUSE] roms: Build ipxe with NO_WERROR=1 (bsc#1227960)

    This should allow qemu to be built with GCC14. [1] I believe that the
    package actually intends to use -Wno-error already (which makes sense
    for package building) because it puts it to EXTRA_CFLAGS, but at least
    the ipxe slap -Werror after EXTRA_CFLAGS, unless NO_WERROR is defined
    to one.
    
    [1] ipxe/ipxe#1219
    
    References: bsc#1227960
    Signed-off-by: Martin Jambor <[email protected]>
    [set NO_WERROR=1 only for ipxe]
    Signed-off-by: Dario Faggioli <[email protected]>
    Martin Jambor authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    212a893 View commit details
    Browse the repository at this point in the history
  75. [openSUSE] Workflows for Virtualization:Staging:TDX

    Define the workflows for the TDX staging branch.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8c4efda View commit details
    Browse the repository at this point in the history
  76. [openSUSE] fixup patch "pc: q35: Allow 1024 cpus for old machine types"

    Remove spurious initialization with PC_MACHINE_CLASS().
    
    Signed-off-by: Fabiano Rosas <[email protected]>
    [DF: added some context in the changelog]
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    91ed45f View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. [openSUSE] Update version to 9.1.0

    Update to latest upstream major release, 9.1.0:
    
      https://lore.kernel.org/qemu-devel/[email protected]/
    
    Full changelog available here:
    
      https://wiki.qemu.org/ChangeLog/9.1
    
    Some of the most notable features/fixes:
     * migration: compression offload support via Intel In-Memory Analytics
       Accelerator (IAA) or User Space Accelerator Development Kit (UADK),
       along with enhanced support for postcopy failure recovery
     * virtio: support for VIRTIO_F_NOTIFICATION_DATA, allowing guest
       drivers to provide additional data as part of sending device notifications
       for performance/debug purposes
     * guest-agent: support for guest-network-get-route command on linux,
       guest-ssh-* commands on Windows, and enhanced CLI support for
       configuring allowed/blocked commands
     * block: security fixes for QEMU NBD server and NBD TLS encryption
     * ARM: emulation support for FEAT_NMI, FEAT_CSV2_3, FEAT_ETS2,
       FEAT_Spec_FPACC, FEAT_WFxT, FEAT_Debugv8p8 architecture features
     * ARM: nested/two-stage page table support for emulated SMMUv3
     * ARM: xilinx_zynq board support for cache controller and multiple
       CPUs, and B-L475E-IOT01A board support for a DM163 display
     * LoongArch: support for directly booting an ELF kernel and for running
       up to 256 vCPUs via extioi virt extension
     * LoongArch: enhanced debug/GDB support
     * RISC-V: support for version 1.13 of privileged architecture specification
     * RISC-V: support for Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha,
       Zawrs, and Smcntrpmf extensions
     * RISC-V: enhanced debug/GDB support and general fixes
     * SPARC: emulation support for FMAF, IMA, VIS3, and VIS4 architecture
       features
     * x86: KVM support for running AMD SEV-SNP guests
     * x86: CPU emulation support for Icelake-Server-v7, SapphireRapids-v3,
       and SierraForest
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    47d1318 View commit details
    Browse the repository at this point in the history
  2. [openSUSE][RPM] configure: remove options for removed features

    The avx512f, live-block-migration and pvrdma options no longer exist
    in upstream configure because those features were removed. Make the
    corresponding changes in the spec files.
    
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    969f032 View commit details
    Browse the repository at this point in the history
  3. [openSUSE][RPM] Update tests acpi path

    Upstream commit 7c08eef (tests/data/acpi: Move x86 ACPI tables
    under x86/${machine} path, 2024-06-25) has moved some files under
    tests/data. Update the spec file to match.
    
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    6be8350 View commit details
    Browse the repository at this point in the history
  4. [openSUSE][RPM] Remove nios2

    The nios2 emulation target has been removed upstream by commit
    6c30148 (target/nios2: Remove the deprecated Nios II target,
    2024-03-27).
    
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    0f50dd0 View commit details
    Browse the repository at this point in the history
  5. [openSUSE][RPM] Exclude riscv edk2 files

    These files are not provided by the QEMU packages.
    
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c8d5b1f View commit details
    Browse the repository at this point in the history
  6. [openSUSE][RPM] configure: Fix with-pkgversion option

    There was a typo on the subshell invocation: s/%/$
    
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    fc0f5c8 View commit details
    Browse the repository at this point in the history
  7. [openSUSE] block: Allow the wrapper script to see functions declared …

    …in qapi.h (bsc#1211000)
    
    The following patches will add co_wrapper annotations to functions
    declared in qapi.h. Add that header to the set of files used by
    block-coroutine-wrapper.py.
    
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Hanna Czenczek <[email protected]>
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    e4ea83e View commit details
    Browse the repository at this point in the history
  8. [openSUSE] block: Temporarily mark bdrv_co_get_allocated_file_size as…

    … mixed (bsc#1211000)
    
    Some callers of this function are about to be converted to run in
    coroutines, so allow it to be executed both inside and outside a
    coroutine while we convert all the callers.
    
    This will be reverted once all callers of bdrv_do_query_node_info run
    in a coroutine.
    
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Eric Blake <[email protected]>
    Reviewed-by: Hanna Czenczek <[email protected]>
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    cf5dfab View commit details
    Browse the repository at this point in the history
  9. [openSUSE] block: Take the graph lock in bdrv_snapshot_list (bsc#1211…

    …000)
    
    This function has up until now always ran in the main loop, outside of
    a coroutine. We're about to make it run inside a coroutine so start
    actually taking the graph lock.
    
    Link: https://lore.kernel.org/r/[email protected]
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    ef7177f View commit details
    Browse the repository at this point in the history
  10. [openSUSE] block: Reschedule query-block during qcow2 invalidation (b…

    …sc#1221812)
    
    There is a small window at the end of block device migration when
    devices are being re-activated. This includes a resetting of some
    fields of BDRVQcow2State at qcow2_co_invalidate_cache(). A concurrent
    QMP query-block command can call qcow2_get_specific_info() during this
    window and see the cleared values, which leads to an assert:
    
      qcow2_get_specific_info: Assertion `false' failed
    
    This is the same issue as Gitlab #1933, which has already been
    resolved[1], but there the fix applied only to non-coroutine
    commands. Once we move query-block to a coroutine the problem will
    manifest again.
    
    Add an operation blocker to the invalidation function to block the
    query info path during this window.
    
    Instead of failing query-block, which would be disruptive to users,
    use the blocker to know when to reschedule the coroutine back into the
    iohandler so it doesn't run while the BDRVQcow2State is inconsistent.
    
    To avoid failing query-block when all block operations are blocked,
    unblock the INFO operation at various places. This preserves the prior
    situations where query-block used to work.
    
    1 - https://gitlab.com/qemu-project/qemu/-/issues/1933
    
    Link: https://lore.kernel.org/all/[email protected]/
    Link: https://lore.kernel.org/r/[email protected]
    References: bsc#1221812
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c63baa6 View commit details
    Browse the repository at this point in the history
  11. [openSUSE] block: Run bdrv_do_query_node_info in a coroutine (bsc#121…

    …1000)
    
    Move this function into a coroutine so we can convert the whole
    qmp_query_block command into a coroutine in the next patches.
    
    Placing the entire command in a coroutine allow us to yield all the
    way back to the main loop, releasing the BQL and unblocking the main
    loop.
    
    When the whole conversion is completed, we'll be able to avoid a
    priority inversion that happens when a QMP command calls a slow
    (buggy) system call and blocks the vcpu thread from doing mmio due to
    contention on the BQL.
    
    About coroutine safety:
    
    Most callees have coroutine versions themselves and thus are safe to
    call in a coroutine. The remaining ones:
    
    - bdrv_refresh_filename, bdrv_get_full_backing_filename: String
      manipulation, nothing that would be unsafe for use in coroutines;
    
    - bdrv_get_format_name: Just accesses a field;
    
    - bdrv_get_specific_info, bdrv_query_snapshot_info_list: No locks or
      anything that would poll or block.
    
    (using a mixed wrapper for now, but after all callers are converted,
    this can become a coroutine exclusively)
    
    Link: https://lore.kernel.org/r/[email protected]
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c44c6bd View commit details
    Browse the repository at this point in the history
  12. [openSUSE] block: Convert bdrv_query_block_graph_info to coroutine (b…

    …sc#1211000)
    
    We're converting callers of bdrv_co_get_allocated_file_size() to run
    in coroutines because that function will be made asynchronous when
    called (indirectly) from the QMP dispatcher.
    
    This function is a candidate because it calls bdrv_do_query_node_info(),
    which in turn calls bdrv_co_get_allocated_file_size().
    
    All the functions called from bdrv_do_query_node_info() onwards are
    coroutine-safe, either have a coroutine version themselves[1] or are
    mostly simple code/string manipulation[2].
    
    1) bdrv_co_getlength(), bdrv_co_get_allocated_file_size(),
       bdrv_co_get_info();
    
    2) bdrv_refresh_filename(), bdrv_get_format_name(),
       bdrv_get_full_backing_filename(), bdrv_query_snapshot_info_list(),
       bdrv_get_specific_info();
    
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Hanna Czenczek <[email protected]>
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    743c05d View commit details
    Browse the repository at this point in the history
  13. [openSUSE] block: Convert bdrv_query_image_info to coroutine (bsc#121…

    …1000)
    
    This function is a caller of bdrv_do_query_node_info(), which have
    been converted to a coroutine. Convert this function as well so we're
    closer from having the whole qmp_query_block as a single coroutine.
    
    Also remove the wrapper for bdrv_co_do_query_node_info() now that all
    its callers are converted.
    
    Link: https://lore.kernel.org/r/[email protected]
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    a757dcc View commit details
    Browse the repository at this point in the history
  14. [openSUSE] block: Convert bdrv_block_device_info into co_wrapper (bsc…

    …#1211000)
    
    We're converting callers of bdrv_co_get_allocated_file_size() to run
    in coroutines because that function will be made asynchronous when
    called (indirectly) from the QMP dispatcher.
    
    This function is a candidate because it calls bdrv_query_image_info()
    -> bdrv_co_do_query_node_info() -> bdrv_co_get_allocated_file_size().
    
    It is safe to turn this is a coroutine because the code it calls is
    made up of either simple accessors and string manipulation functions
    [1] or it has already been determined to be safe [2].
    
    1) bdrv_refresh_filename(), bdrv_is_read_only(),
       blk_enable_write_cache(), bdrv_cow_bs(), blk_get_public(),
       throttle_group_get_name(), bdrv_write_threshold_get(),
       bdrv_query_dirty_bitmaps(), throttle_group_get_config(),
       bdrv_filter_or_cow_bs(), bdrv_skip_implicit_filters()
    
    2) bdrv_co_do_query_node_info() (see previous commits);
    
    This was the only caller of bdrv_query_image_info(), so we can remove
    the wrapper for that function now.
    
    Link: https://lore.kernel.org/r/[email protected]
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    3270c1c View commit details
    Browse the repository at this point in the history
  15. [openSUSE] block: Don't query all block devices at hmp_nbd_server_sta…

    …rt (bsc#1211000)
    
    We're currently doing a full query-block just to enumerate the devices
    for qmp_nbd_server_add and then discarding the BlockInfoList
    afterwards. Alter hmp_nbd_server_start to instead iterate explicitly
    over the block_backends list.
    
    This allows the removal of the dependency on qmp_query_block from
    hmp_nbd_server_start. This is desirable because we're about to move
    qmp_query_block into a coroutine and don't need to change the NBD code
    at the same time.
    
    Add the GRAPH_RDLOCK_GUARD_MAINLOOP macro because
    bdrv_skip_implicit_filters() needs the graph lock.
    
    Link: https://lore.kernel.org/r/[email protected]
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    Fabiano Rosas authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    74540fb View commit details
    Browse the repository at this point in the history
  16. [openSUSE] block: Convert qmp_query_block and qmp_query_named_block_n…

    …odes to coroutine (bsc#1211000)
    
    Convert the remaining functions to make the QMP commands query-block
    and query-named-block-nodes run in their entirety in a coroutine. With
    this, any yield from those commands will return all the way back to
    the main loop. This releases the BQL and the main loop and avoids
    having the QMP command block another more important task from running.
    
    Both commands need to be converted at once because hmp_info_block
    calls both and it needs to be moved to a coroutine as well.
    
    Now the wrapper for bdrv_co_get_allocated_file_size() can be made not
    mixed and the wrapper for bdrv_co_block_device_info() can be removed.
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Lin Ma <[email protected]>
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    morecache authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    5237e55 View commit details
    Browse the repository at this point in the history
  17. [openSUSE] block: Add a thread-pool version of fstat (bsc#1211000)

    The fstat call can take a long time to finish when running over
    NFS. Add a version of it that runs in the thread pool.
    
    Adapt one of its users, raw_co_get_allocated_file size to use the new
    version. That function is called via QMP under the qemu_global_mutex
    so it has a large chance of blocking VCPU threads in case it takes too
    long to finish.
    
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Claudio Fontana <[email protected]>
    Reviewed-by: Hanna Czenczek <[email protected]>
    Signed-off-by: João Silva <[email protected]>
    References: bsc#1211000
    Signed-off-by: Fabiano Rosas <[email protected]>
    Signed-off-by: Dario Faggioli <[email protected]>
    João Silva authored and dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    71f8744 View commit details
    Browse the repository at this point in the history
  18. [openSUSE][RPM] package qemu-vmsr-helper

    Package qemu-vmsr-helper for letting VMs access the RAPL MSR.
    
    I'll live in its own package and only makes sense on x86_64.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    35150dc View commit details
    Browse the repository at this point in the history
  19. [openSUSE][RPM] (commented out) services for qemu-pr-helper

    Upstream provides services for qemu-pr-helper. So far, we've not needed
    them, so let's continue not to ship them for now.
    
    However, in case at some point we want to start offering them, stash the
    commented out runes for that in the spec file.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    7ff7eb6 View commit details
    Browse the repository at this point in the history
  20. [openSUSE][RPM] Consolidate handling of conditional features

    Convert conditional build of features to the %bcond_without, so they
    can actually be disabled, e.g., at the project level.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    bf08ca4 View commit details
    Browse the repository at this point in the history
  21. [openSUSE][RPM] Consolidate disabling all features during 'configure'…

    … in a macro
    
    When running configure, first of all we disable everything, and then we
    enable only the feature that we know we want (and, of course, system
    and user emulation use different sets of such features).
    
    Consolidate the first part in a macro, that can be share between the two
    spec files, making everything simpler and prettier.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    846d33a View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. [openSUSE][RPM] explicitly enable qemu-img support for vhdx and vpc

    Was disabled by mistake, when updating the QEMU version.
    Reinstate it.
    
    Signed-off-by: Dario Faggioli <[email protected]>
    dfaggioli committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    d6950a3 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. build: Build and install a Texinfo version of the manual.

    Take advantage of the Sphinx texinfo backend to generate a QEMU info
    manual.  The Texinfo format allows for more structure and info readers
    provide more advanced navigation capabilities compared to manpages
    readers.
    
    The original source of the patch is Guix and was proposed to upstream
    in:
    https://lists.gnu.org/archive/html/qemu-devel/2024-03/msg04257.html
    
    * docs/meson.build (texi, info): New targets.
    
    Signed-off-by: Maxim Cournoyer <[email protected]>
    Signed-off-by: Björn Bidar <[email protected]>
    Apteryks authored and Thaodan committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    ea24638 View commit details
    Browse the repository at this point in the history
  2. Add info subpackage with documentation in Info format

    Signed-off-by: Björn Bidar <[email protected]>
    Thaodan committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    271a3f2 View commit details
    Browse the repository at this point in the history