From f36b5bbd6fd14da93551e1383e657fe5321999aa Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Aug 20 2023 19:09:03 +0000 Subject: Rebase to qemu-8.1.0-rc4 Signed-off-by: Cole Robinson --- diff --git a/0001-target-i386-the-sgx_epc_get_section-stub-is-reachabl.patch b/0001-target-i386-the-sgx_epc_get_section-stub-is-reachabl.patch deleted file mode 100644 index 5245b0f..0000000 --- a/0001-target-i386-the-sgx_epc_get_section-stub-is-reachabl.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e54512fe75f85640c0c73e53e6f8bd0b9d193529 Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Tue, 1 Feb 2022 20:09:37 +0100 -Subject: [PATCH 1/7] target/i386: the sgx_epc_get_section stub is reachable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The sgx_epc_get_section stub is reachable from cpu_x86_cpuid. It -should not assert, instead it should just return true just like -the "real" sgx_epc_get_section does when SGX is disabled. - -Reported-by: Vladimír Beneš -Cc: qemu-stable@nongnu.org -Signed-off-by: Paolo Bonzini ---- - hw/i386/sgx-stub.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/i386/sgx-stub.c b/hw/i386/sgx-stub.c -index 26833eb233..16b1dfd90b 100644 ---- a/hw/i386/sgx-stub.c -+++ b/hw/i386/sgx-stub.c -@@ -34,5 +34,5 @@ void pc_machine_init_sgx_epc(PCMachineState *pcms) - - bool sgx_epc_get_section(int section_nr, uint64_t *addr, uint64_t *size) - { -- g_assert_not_reached(); -+ return true; - } --- -2.37.3 - diff --git a/0001-tests-Disable-iotests-like-RHEL-does.patch b/0001-tests-Disable-iotests-like-RHEL-does.patch new file mode 100644 index 0000000..09706e5 --- /dev/null +++ b/0001-tests-Disable-iotests-like-RHEL-does.patch @@ -0,0 +1,58 @@ +From e4a112c75a02a789e7710e805f66211426087d55 Mon Sep 17 00:00:00 2001 +Message-ID: +From: Cole Robinson +Date: Sun, 20 Aug 2023 10:49:12 -0400 +Subject: [PATCH] tests: Disable iotests, like RHEL does +Content-type: text/plain + +Signed-off-by: Cole Robinson +--- + tests/qemu-iotests/meson.build | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +diff --git a/tests/qemu-iotests/meson.build b/tests/qemu-iotests/meson.build +index 44761e1e4d..78c5836325 100644 +--- a/tests/qemu-iotests/meson.build ++++ b/tests/qemu-iotests/meson.build +@@ -51,21 +51,21 @@ foreach format, speed: qemu_iotests_formats + check: true, + ) + +- foreach item: rc.stdout().strip().split() +- args = [qemu_iotests_check_cmd, +- '-tap', '-' + format, item, +- '--source-dir', meson.current_source_dir(), +- '--build-dir', meson.current_build_dir()] +- # Some individual tests take as long as 45 seconds +- # Bump the timeout to 3 minutes for some headroom +- # on slow machines to minimize spurious failures +- test('io-' + format + '-' + item, +- python, +- args: args, +- depends: qemu_iotests_binaries, +- env: qemu_iotests_env, +- protocol: 'tap', +- timeout: 180, +- suite: suites) +- endforeach ++# foreach item: rc.stdout().strip().split() ++# args = [qemu_iotests_check_cmd, ++# '-tap', '-' + format, item, ++# '--source-dir', meson.current_source_dir(), ++# '--build-dir', meson.current_build_dir()] ++# # Some individual tests take as long as 45 seconds ++# # Bump the timeout to 3 minutes for some headroom ++# # on slow machines to minimize spurious failures ++# test('io-' + format + '-' + item, ++# python, ++# args: args, ++# depends: qemu_iotests_binaries, ++# env: qemu_iotests_env, ++# protocol: 'tap', ++# timeout: 180, ++# suite: suites) ++# endforeach + endforeach +-- +2.41.0 + diff --git a/0002-hw-pci-bridge-Make-PCIe-and-CXL-PXB-Devices-inherit-.patch b/0002-hw-pci-bridge-Make-PCIe-and-CXL-PXB-Devices-inherit-.patch deleted file mode 100644 index 514bc75..0000000 --- a/0002-hw-pci-bridge-Make-PCIe-and-CXL-PXB-Devices-inherit-.patch +++ /dev/null @@ -1,325 +0,0 @@ -From 736ef0dcc04348bd478cc69d772a6b44fe660831 Mon Sep 17 00:00:00 2001 -From: Jonathan Cameron via -Date: Thu, 20 Apr 2023 15:27:50 +0100 -Subject: [PATCH 2/2] hw/pci-bridge: Make PCIe and CXL PXB Devices inherit from - TYPE_PXB_DEV - -Previously, PXB_CXL_DEVICE, PXB_PCIE_DEVICE and PXB_DEVICE all -have PCI_DEVICE as their direct parent but share a common state -struct PXBDev. convert_to_pxb() is used to get the PXBDev -instance from which ever of these types it is called on. - -This patch switches to an explicit heirarchy based on shared -functionality. To allow use of OBJECT_DECLARE_SIMPLE_TYPE() -whilst minimizing code changes, all types are renamed to have -the postfix _DEV rather than _DEVICE. The new heirarchy -has PXB_CXL_DEV with parent PXB_PCIE_DEV which in turn -has parent PXB_DEV which continues to have parent PCI_DEVICE. - -This allows simple use of PXB_DEV() etc rather than a custom function -+ removal of duplicated properties and moving the CXL specific -elements out of struct PXBDev. - -Signed-off-by: Jonathan Cameron ---- - hw/acpi/cxl.c | 11 +++--- - hw/cxl/cxl-host.c | 4 +- - hw/pci-bridge/pci_expander_bridge.c | 59 ++++++++++------------------- - include/hw/cxl/cxl.h | 4 +- - include/hw/pci/pci_bridge.h | 28 ++++++++++---- - 5 files changed, 49 insertions(+), 57 deletions(-) - -diff --git a/hw/acpi/cxl.c b/hw/acpi/cxl.c -index 2bf8c07993..92b46bc932 100644 ---- a/hw/acpi/cxl.c -+++ b/hw/acpi/cxl.c -@@ -30,9 +30,10 @@ - #include "qapi/error.h" - #include "qemu/uuid.h" - --static void cedt_build_chbs(GArray *table_data, PXBDev *cxl) -+static void cedt_build_chbs(GArray *table_data, PXBCXLDev *cxl) - { -- SysBusDevice *sbd = SYS_BUS_DEVICE(cxl->cxl.cxl_host_bridge); -+ PXBDev *pxb = PXB_DEV(cxl); -+ SysBusDevice *sbd = SYS_BUS_DEVICE(cxl->cxl_host_bridge); - struct MemoryRegion *mr = sbd->mmio[0].memory; - - /* Type */ -@@ -45,7 +46,7 @@ static void cedt_build_chbs(GArray *table_data, PXBDev *cxl) - build_append_int_noprefix(table_data, 32, 2); - - /* UID - currently equal to bus number */ -- build_append_int_noprefix(table_data, cxl->bus_nr, 4); -+ build_append_int_noprefix(table_data, pxb->bus_nr, 4); - - /* Version */ - build_append_int_noprefix(table_data, 1, 4); -@@ -112,7 +113,7 @@ static void cedt_build_cfmws(GArray *table_data, CXLState *cxls) - /* Host Bridge List (list of UIDs - currently bus_nr) */ - for (i = 0; i < fw->num_targets; i++) { - g_assert(fw->target_hbs[i]); -- build_append_int_noprefix(table_data, fw->target_hbs[i]->bus_nr, 4); -+ build_append_int_noprefix(table_data, PXB_DEV(fw->target_hbs[i])->bus_nr, 4); - } - } - } -@@ -121,7 +122,7 @@ static int cxl_foreach_pxb_hb(Object *obj, void *opaque) - { - Aml *cedt = opaque; - -- if (object_dynamic_cast(obj, TYPE_PXB_CXL_DEVICE)) { -+ if (object_dynamic_cast(obj, TYPE_PXB_CXL_DEV)) { - cedt_build_chbs(cedt->buf, PXB_CXL_DEV(obj)); - } - -diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c -index 6e923ceeaf..034c7805b3 100644 ---- a/hw/cxl/cxl-host.c -+++ b/hw/cxl/cxl-host.c -@@ -84,7 +84,7 @@ void cxl_fmws_link_targets(CXLState *cxl_state, Error **errp) - bool ambig; - - o = object_resolve_path_type(fw->targets[i], -- TYPE_PXB_CXL_DEVICE, -+ TYPE_PXB_CXL_DEV, - &ambig); - if (!o) { - error_setg(errp, "Could not resolve CXLFM target %s", -@@ -141,7 +141,7 @@ static PCIDevice *cxl_cfmws_find_device(CXLFixedWindow *fw, hwaddr addr) - addr += fw->base; - - rb_index = (addr / cxl_decode_ig(fw->enc_int_gran)) % fw->num_targets; -- hb = PCI_HOST_BRIDGE(fw->target_hbs[rb_index]->cxl.cxl_host_bridge); -+ hb = PCI_HOST_BRIDGE(fw->target_hbs[rb_index]->cxl_host_bridge); - if (!hb || !hb->bus || !pci_bus_is_cxl(hb->bus)) { - return NULL; - } -diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c -index a78327b5f2..613857b601 100644 ---- a/hw/pci-bridge/pci_expander_bridge.c -+++ b/hw/pci-bridge/pci_expander_bridge.c -@@ -50,24 +50,8 @@ struct PXBBus { - char bus_path[8]; - }; - --#define TYPE_PXB_DEVICE "pxb" --DECLARE_INSTANCE_CHECKER(PXBDev, PXB_DEV, -- TYPE_PXB_DEVICE) -- --#define TYPE_PXB_PCIE_DEVICE "pxb-pcie" --DECLARE_INSTANCE_CHECKER(PXBDev, PXB_PCIE_DEV, -- TYPE_PXB_PCIE_DEVICE) -- --static PXBDev *convert_to_pxb(PCIDevice *dev) --{ -- /* A CXL PXB's parent bus is PCIe, so the normal check won't work */ -- if (object_dynamic_cast(OBJECT(dev), TYPE_PXB_CXL_DEVICE)) { -- return PXB_CXL_DEV(dev); -- } -- -- return pci_bus_is_express(pci_get_bus(dev)) -- ? PXB_PCIE_DEV(dev) : PXB_DEV(dev); --} -+#define TYPE_PXB_PCIE_DEV "pxb-pcie" -+OBJECT_DECLARE_SIMPLE_TYPE(PXBPCIEDev, PXB_PCIE_DEV) - - static GList *pxb_dev_list; - -@@ -89,14 +73,14 @@ bool cxl_get_hb_passthrough(PCIHostState *hb) - - static int pxb_bus_num(PCIBus *bus) - { -- PXBDev *pxb = convert_to_pxb(bus->parent_dev); -+ PXBDev *pxb = PXB_DEV(bus->parent_dev); - - return pxb->bus_nr; - } - - static uint16_t pxb_bus_numa_node(PCIBus *bus) - { -- PXBDev *pxb = convert_to_pxb(bus->parent_dev); -+ PXBDev *pxb = PXB_DEV(bus->parent_dev); - - return pxb->numa_node; - } -@@ -154,7 +138,7 @@ static char *pxb_host_ofw_unit_address(const SysBusDevice *dev) - - pxb_host = PCI_HOST_BRIDGE(dev); - pxb_bus = pxb_host->bus; -- pxb_dev = convert_to_pxb(pxb_bus->parent_dev); -+ pxb_dev = PXB_DEV(pxb_bus->parent_dev); - position = g_list_index(pxb_dev_list, pxb_dev); - assert(position >= 0); - -@@ -212,8 +196,8 @@ static void pxb_cxl_realize(DeviceState *dev, Error **errp) - */ - void pxb_cxl_hook_up_registers(CXLState *cxl_state, PCIBus *bus, Error **errp) - { -- PXBDev *pxb = PXB_CXL_DEV(pci_bridge_get_device(bus)); -- CXLHost *cxl = pxb->cxl.cxl_host_bridge; -+ PXBCXLDev *pxb = PXB_CXL_DEV(pci_bridge_get_device(bus)); -+ CXLHost *cxl = pxb->cxl_host_bridge; - CXLComponentState *cxl_cstate = &cxl->cxl_cstate; - struct MemoryRegion *mr = &cxl_cstate->crb.component_registers; - hwaddr offset; -@@ -299,7 +283,7 @@ static int pxb_map_irq_fn(PCIDevice *pci_dev, int pin) - - static void pxb_cxl_dev_reset(DeviceState *dev) - { -- CXLHost *cxl = PXB_CXL_DEV(dev)->cxl.cxl_host_bridge; -+ CXLHost *cxl = PXB_CXL_DEV(dev)->cxl_host_bridge; - CXLComponentState *cxl_cstate = &cxl->cxl_cstate; - PCIHostState *hb = PCI_HOST_BRIDGE(cxl); - uint32_t *reg_state = cxl_cstate->crb.cache_mem_registers; -@@ -337,7 +321,7 @@ static gint pxb_compare(gconstpointer a, gconstpointer b) - static void pxb_dev_realize_common(PCIDevice *dev, enum BusType type, - Error **errp) - { -- PXBDev *pxb = convert_to_pxb(dev); -+ PXBDev *pxb = PXB_DEV(dev); - DeviceState *ds, *bds = NULL; - PCIBus *bus; - const char *dev_name = NULL; -@@ -365,7 +349,7 @@ static void pxb_dev_realize_common(PCIDevice *dev, enum BusType type, - } else if (type == CXL) { - bus = pci_root_bus_new(ds, dev_name, NULL, NULL, 0, TYPE_PXB_CXL_BUS); - bus->flags |= PCI_BUS_CXL; -- PXB_CXL_DEV(dev)->cxl.cxl_host_bridge = PXB_CXL_HOST(ds); -+ PXB_CXL_DEV(dev)->cxl_host_bridge = PXB_CXL_HOST(ds); - } else { - bus = pci_root_bus_new(ds, "pxb-internal", NULL, NULL, 0, TYPE_PXB_BUS); - bds = qdev_new("pci-bridge"); -@@ -418,7 +402,7 @@ static void pxb_dev_realize(PCIDevice *dev, Error **errp) - - static void pxb_dev_exitfn(PCIDevice *pci_dev) - { -- PXBDev *pxb = convert_to_pxb(pci_dev); -+ PXBDev *pxb = PXB_DEV(pci_dev); - - pxb_dev_list = g_list_remove(pxb_dev_list, pxb); - } -@@ -449,7 +433,7 @@ static void pxb_dev_class_init(ObjectClass *klass, void *data) - } - - static const TypeInfo pxb_dev_info = { -- .name = TYPE_PXB_DEVICE, -+ .name = TYPE_PXB_DEV, - .parent = TYPE_PCI_DEVICE, - .instance_size = sizeof(PXBDev), - .class_init = pxb_dev_class_init, -@@ -481,15 +465,14 @@ static void pxb_pcie_dev_class_init(ObjectClass *klass, void *data) - k->class_id = PCI_CLASS_BRIDGE_HOST; - - dc->desc = "PCI Express Expander Bridge"; -- device_class_set_props(dc, pxb_dev_properties); - dc->hotpluggable = false; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); - } - - static const TypeInfo pxb_pcie_dev_info = { -- .name = TYPE_PXB_PCIE_DEVICE, -- .parent = TYPE_PCI_DEVICE, -- .instance_size = sizeof(PXBDev), -+ .name = TYPE_PXB_PCIE_DEV, -+ .parent = TYPE_PXB_DEV, -+ .instance_size = sizeof(PXBPCIEDev), - .class_init = pxb_pcie_dev_class_init, - .interfaces = (InterfaceInfo[]) { - { INTERFACE_CONVENTIONAL_PCI_DEVICE }, -@@ -510,11 +493,7 @@ static void pxb_cxl_dev_realize(PCIDevice *dev, Error **errp) - } - - static Property pxb_cxl_dev_properties[] = { -- /* Note: 0 is not a legal PXB bus number. */ -- DEFINE_PROP_UINT8("bus_nr", PXBDev, bus_nr, 0), -- DEFINE_PROP_UINT16("numa_node", PXBDev, numa_node, NUMA_NODE_UNASSIGNED), -- DEFINE_PROP_BOOL("bypass_iommu", PXBDev, bypass_iommu, false), -- DEFINE_PROP_BOOL("hdm_for_passthrough", PXBDev, hdm_for_passthrough, false), -+ DEFINE_PROP_BOOL("hdm_for_passthrough", PXBCXLDev, hdm_for_passthrough, false), - DEFINE_PROP_END_OF_LIST(), - }; - -@@ -540,9 +519,9 @@ static void pxb_cxl_dev_class_init(ObjectClass *klass, void *data) - } - - static const TypeInfo pxb_cxl_dev_info = { -- .name = TYPE_PXB_CXL_DEVICE, -- .parent = TYPE_PCI_DEVICE, -- .instance_size = sizeof(PXBDev), -+ .name = TYPE_PXB_CXL_DEV, -+ .parent = TYPE_PXB_PCIE_DEV, -+ .instance_size = sizeof(PXBCXLDev), - .class_init = pxb_cxl_dev_class_init, - .interfaces = - (InterfaceInfo[]){ -diff --git a/include/hw/cxl/cxl.h b/include/hw/cxl/cxl.h -index b2cffbb364..c453983e83 100644 ---- a/include/hw/cxl/cxl.h -+++ b/include/hw/cxl/cxl.h -@@ -23,12 +23,12 @@ - - #define CXL_WINDOW_MAX 10 - --typedef struct PXBDev PXBDev; -+typedef struct PXBCXLDev PXBCXLDev; - - typedef struct CXLFixedWindow { - uint64_t size; - char **targets; -- PXBDev *target_hbs[8]; -+ PXBCXLDev *target_hbs[8]; - uint8_t num_targets; - uint8_t enc_int_ways; - uint8_t enc_int_gran; -diff --git a/include/hw/pci/pci_bridge.h b/include/hw/pci/pci_bridge.h -index 1677176b2a..01670e9e65 100644 ---- a/include/hw/pci/pci_bridge.h -+++ b/include/hw/pci/pci_bridge.h -@@ -84,7 +84,7 @@ struct PCIBridge { - #define PCI_BRIDGE_DEV_PROP_SHPC "shpc" - typedef struct CXLHost CXLHost; - --struct PXBDev { -+typedef struct PXBDev { - /*< private >*/ - PCIDevice parent_obj; - /*< public >*/ -@@ -92,15 +92,27 @@ struct PXBDev { - uint8_t bus_nr; - uint16_t numa_node; - bool bypass_iommu; -+} PXBDev; -+ -+typedef struct PXBPCIEDev { -+ /*< private >*/ -+ PXBDev parent_obj; -+} PXBPCIEDev; -+ -+#define TYPE_PXB_DEV "pxb" -+OBJECT_DECLARE_SIMPLE_TYPE(PXBDev, PXB_DEV) -+ -+typedef struct PXBCXLDev { -+ /*< private >*/ -+ PXBPCIEDev parent_obj; -+ /*< public >*/ -+ - bool hdm_for_passthrough; -- struct cxl_dev { -- CXLHost *cxl_host_bridge; /* Pointer to a CXLHost */ -- } cxl; --}; -+ CXLHost *cxl_host_bridge; /* Pointer to a CXLHost */ -+} PXBCXLDev; - --#define TYPE_PXB_CXL_DEVICE "pxb-cxl" --DECLARE_INSTANCE_CHECKER(PXBDev, PXB_CXL_DEV, -- TYPE_PXB_CXL_DEVICE) -+#define TYPE_PXB_CXL_DEV "pxb-cxl" -+OBJECT_DECLARE_SIMPLE_TYPE(PXBCXLDev, PXB_CXL_DEV) - - int pci_bridge_ssvid_init(PCIDevice *dev, uint8_t offset, - uint16_t svid, uint16_t ssid, --- -2.40.0 - diff --git a/qemu.spec b/qemu.spec index 69bd473..97db249 100644 --- a/qemu.spec +++ b/qemu.spec @@ -202,6 +202,7 @@ %define requires_audio_alsa Requires: %{name}-audio-alsa = %{evr} %define requires_audio_oss Requires: %{name}-audio-oss = %{evr} %define requires_audio_pa Requires: %{name}-audio-pa = %{evr} +%define requires_audio_pipewire Requires: %{name}-audio-pipewire = %{evr} %define requires_audio_sdl Requires: %{name}-audio-sdl = %{evr} %define requires_char_baum Requires: %{name}-char-baum = %{evr} %define requires_device_usb_host Requires: %{name}-device-usb-host = %{evr} @@ -283,6 +284,7 @@ %{requires_audio_dbus} \ %{requires_audio_oss} \ %{requires_audio_pa} \ +%{requires_audio_pipewire} \ %{requires_audio_sdl} \ %{requires_audio_jack} \ %{requires_audio_spice} \ @@ -324,18 +326,18 @@ Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release} \ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 # Release candidate version tracking -# global rcver rc4 +%global rcver rc4 %if 0%{?rcver:1} %global rcrel .%{rcver} %global rcstr -%{rcver} %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 4 +%global baserelease 0.1 Summary: QEMU is a FAST! processor emulator Name: qemu -Version: 8.0.3 +Version: 8.1.0 Release: %{baserelease}%{?rcrel}%{?dist} Epoch: 2 License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND FSFAP AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-2.0-or-later with GCC-exception-2.0 exception AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only and LGPL-2.1-or-later AND MIT and public-domain and CC-BY-3.0 @@ -354,9 +356,7 @@ Source30: kvm-s390x.conf Source31: kvm-x86.conf Source36: README.tests -# Fix SGX assert -Patch: 0001-target-i386-the-sgx_epc_get_section-stub-is-reachabl.patch -Patch: 0002-hw-pci-bridge-Make-PCIe-and-CXL-PXB-Devices-inherit-.patch +Patch0001: 0001-tests-Disable-iotests-like-RHEL-does.patch BuildRequires: meson >= %{meson_version} BuildRequires: bison @@ -512,6 +512,7 @@ BuildRequires: SDL2_image-devel # Used by vnc-display-test BuildRequires: pkgconfig(gvnc-1.0) %endif +BuildRequires: pipewire-devel %if %{user_static} BuildRequires: glibc-static glib2-static zlib-static @@ -750,6 +751,12 @@ Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} %description audio-pa This package provides the additional PulseAudio audio driver for QEMU. +%package audio-pipewire +Summary: QEMU Pipewire audio driver +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +%description audio-pipewire +This package provides the additional Pipewire audio driver for QEMU. + %package audio-sdl Summary: QEMU SDL audio driver Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} @@ -1457,17 +1464,20 @@ mkdir -p %{static_builddir} --disable-cfi-debug \\\ --disable-cloop \\\ --disable-cocoa \\\ + --disable-colo-proxy \\\ --disable-coreaudio \\\ --disable-coroutine-pool \\\ --disable-crypto-afalg \\\ --disable-curl \\\ --disable-curses \\\ --disable-dbus-display \\\ + --disable-debug-graph-lock \\\ --disable-debug-info \\\ --disable-debug-mutex \\\ --disable-debug-tcg \\\ --disable-dmg \\\ --disable-docs \\\ + --disable-download \\\ --disable-dsound \\\ --disable-fdt \\\ --disable-fuse \\\ @@ -1517,6 +1527,7 @@ mkdir -p %{static_builddir} --disable-pa \\\ --disable-parallels \\\ --disable-pie \\\ + --disable-pipewire \\\ --disable-pvrdma \\\ --disable-qcow1 \\\ --disable-qed \\\ @@ -1544,12 +1555,15 @@ mkdir -p %{static_builddir} --disable-tcg \\\ --disable-tools \\\ --disable-tpm \\\ + --disable-tsan \\\ --disable-u2f \\\ --disable-usb-redir \\\ --disable-user \\\ + --disable-vpc \\\ --disable-vde \\\ --disable-vdi \\\ --disable-vfio-user-server \\\ + --disable-vhdx \\\ --disable-vhost-crypto \\\ --disable-vhost-kernel \\\ --disable-vhost-net \\\ @@ -1570,9 +1584,9 @@ mkdir -p %{static_builddir} --disable-xen-pci-passthrough \\\ --disable-xkbcommon \\\ --disable-zstd \\\ - --with-git-submodules=ignore \\\ --without-default-devices + run_configure() { ../configure \ --cc=%{__cc} \ @@ -1594,10 +1608,8 @@ run_configure() { --with-pkgversion="%{name}-%{version}-%{release}" \ --with-suffix="%{name}" \ --firmwarepath="%firmwaredirs" \ - --meson="%{__meson}" \ --enable-trace-backends=dtrace \ --with-coroutine=ucontext \ - --with-git=git \ --tls-priority=@QEMU,SYSTEM \ %{disable_everything} \ "$@" \ @@ -1677,6 +1689,7 @@ run_configure \ --enable-oss \ --enable-pa \ --enable-pie \ + --enable-pipewire \ %if %{have_block_rbd} --enable-rbd \ %endif @@ -1709,7 +1722,7 @@ run_configure \ --enable-xkbcommon \ \ \ - --audio-drv-list=pa,sdl,alsa,%{?jack_drv}oss \ + --audio-drv-list=pipewire,pa,sdl,alsa,%{?jack_drv}oss \ --target-list-exclude=moxie-softmmu \ --with-default-devices \ --enable-auth-pam \ @@ -1760,14 +1773,19 @@ run_configure \ %if %{have_virgl} --enable-virglrenderer \ %endif + --enable-vhdx \ --enable-virtfs \ + --enable-virtfs-proxy-helper \ + --enable-vpc \ --enable-vnc-jpeg \ --enable-vte \ --enable-vvfat \ %if %{have_xen} --enable-xen \ +%ifarch x86_64 --enable-xen-pci-passthrough \ %endif +%endif --enable-zstd %if %{tools_only} @@ -1865,7 +1883,7 @@ install -D -p -m 0644 %{modprobe_kvm_conf} %{buildroot}%{_sysconfdir}/modprobe.d %endif # Copy some static data into place -install -D -p -m 0644 -t %{buildroot}%{qemudocdir} README.rst COPYING COPYING.LIB LICENSE docs/interop/qmp-spec.txt +install -D -p -m 0644 -t %{buildroot}%{qemudocdir} README.rst COPYING COPYING.LIB LICENSE docs/interop/qmp-spec.rst install -D -p -m 0644 qemu.sasl %{buildroot}%{_sysconfdir}/sasl2/%{name}.conf install -m 0644 scripts/dump-guest-memory.py %{buildroot}%{_datadir}/%{name} @@ -2278,6 +2296,8 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_libdir}/%{name}/audio-oss.so %files audio-pa %{_libdir}/%{name}/audio-pa.so +%files audio-pipewire +%{_libdir}/%{name}/audio-pipewire.so %files audio-sdl %{_libdir}/%{name}/audio-sdl.so %if %{have_jack} @@ -2783,6 +2803,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Sun Aug 20 2023 Cole Robinson - 8.1.0-0.1-rc4 +- Rebase to qemu 8.1.0-rc4 + * Thu Jul 20 2023 Camilla Conte - 2:8.0.3-1 - New upstream release 8.0.3 diff --git a/sources b/sources index d8621aa..8a6f596 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qemu-8.0.3.tar.xz) = 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3 +SHA512 (qemu-8.1.0-rc4.tar.xz) = 26b8d1516436fd49b513dda41822888d3d9a15ea03f0470db7f4509a235d71397fd296af0dcb629cba1b9042ab5077628b20046e559a96f18cff67bb0d354bcf