Rebase to qemu-8.1.0-rc4
Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
9d0cc42919
commit
f36b5bbd6f
@ -1,33 +0,0 @@
|
||||
From e54512fe75f85640c0c73e53e6f8bd0b9d193529 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
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š <vbenes@redhat.com>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
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
|
||||
|
58
0001-tests-Disable-iotests-like-RHEL-does.patch
Normal file
58
0001-tests-Disable-iotests-like-RHEL-does.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From e4a112c75a02a789e7710e805f66211426087d55 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <e4a112c75a02a789e7710e805f66211426087d55.1692544104.git.crobinso@redhat.com>
|
||||
From: Cole Robinson <crobinso@redhat.com>
|
||||
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 <crobinso@redhat.com>
|
||||
---
|
||||
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
|
||||
|
@ -1,325 +0,0 @@
|
||||
From 736ef0dcc04348bd478cc69d772a6b44fe660831 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Cameron via <qemu-devel@nongnu.org>
|
||||
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 <Jonathan.Cameron@huawei.com>
|
||||
---
|
||||
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
|
||||
|
45
qemu.spec
45
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,13 +1773,18 @@ 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
|
||||
|
||||
@ -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 <crobinso@redhat.com> - 8.1.0-0.1-rc4
|
||||
- Rebase to qemu 8.1.0-rc4
|
||||
|
||||
* Thu Jul 20 2023 Camilla Conte <cconte@redhat.com> - 2:8.0.3-1
|
||||
- New upstream release 8.0.3
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (qemu-8.0.3.tar.xz) = 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3
|
||||
SHA512 (qemu-8.1.0-rc4.tar.xz) = 26b8d1516436fd49b513dda41822888d3d9a15ea03f0470db7f4509a235d71397fd296af0dcb629cba1b9042ab5077628b20046e559a96f18cff67bb0d354bcf
|
||||
|
Loading…
Reference in New Issue
Block a user