Skip to content

CP-312095: xenopsd/QEMU cross-version compatibility#6992

Merged
lindig merged 3 commits intoxapi-project:masterfrom
GeraldEV:private/geralde/QEMUUpgrade
Apr 8, 2026
Merged

CP-312095: xenopsd/QEMU cross-version compatibility#6992
lindig merged 3 commits intoxapi-project:masterfrom
GeraldEV:private/geralde/QEMUUpgrade

Conversation

@GeraldEV
Copy link
Copy Markdown
Contributor

@GeraldEV GeraldEV commented Apr 7, 2026

Newer versions of QEMU accept slightly difference arguments than older versions.

  • chroot and runas were replaced with run-with
  • 'on'/'off' boolean values are accepted in most versions
  • global variables are machine/device dependent

Adding global variables for both piix3-ide and piix3-ide-xen ensures the variables are present the relevant device, variables which do not apply to any devices in use will log a warning (in daemon.log) but are otherwise ignored.

Example of the warning(s) produced:

<time> <host> qemu-dm-<domid>[<pid>]: qemu-dm-<domid>: warning: global piix3-ide-xen.subvendor_id has invalid class name
<time> <host> qemu-dm-<domid>[<pid>]: qemu-dm-<domid>: warning: global piix3-ide-xen.subsystem_id has invalid class name

These changes were tested alongside QEMU version 4.2.1 and QEMU version 10.1.0, in both cases guests booted as expected and the respective warning appeared in the daemon log.

@robhoes robhoes requested a review from rosslagerwall April 7, 2026 13:53
Copy link
Copy Markdown
Contributor

@lindig lindig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good from a code point of view but I am not familiar with qemu to comment on this. So would like @rosslagerwall to take a look.

GeraldEV added 3 commits April 8, 2026 13:32
QEMU 10.x has changed some of the arguments' format, de-couple the
xenopsd and qemu builds by making the qemu-wrapper script compatible
with both the old and new versions of qemu.

Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@citrix.com>
Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@citrix.com>
In QEMU upstream commit 7851b21 the piix3-ide-xen was removed as it
duplicated the piix3-ide device (after 0f84458 made them identical).
Therefore the global option(s) for piix3-ide-xen will be ignored unless
they are updated to apply to piix3-ide instead.

Provide both piix3-ide-xen and piix3-ide options to maintain behaviour
across versions during the upgrade period.
Options which are not relevant or used will simply generate a warning in
the daemon.log but are otherwise ignored.

Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@citrix.com>
@GeraldEV GeraldEV force-pushed the private/geralde/QEMUUpgrade branch from bde8ec1 to 54c4fd1 Compare April 8, 2026 13:40
@lindig lindig added this pull request to the merge queue Apr 8, 2026
Merged via the queue into xapi-project:master with commit f2a146c Apr 8, 2026
16 checks passed
@GeraldEV GeraldEV deleted the private/geralde/QEMUUpgrade branch April 8, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants