Skip to content

Commit 3f8bcbb

Browse files
committed
Merge tag 'pull-request-2025-01-08' of https://gitlab.com/thuth/qemu into staging
* Fix compilation problem in s390x tcg tests * Remove obsolete versioned s390x machine types 2.4 up to 2.8 * Remove deprecated -runas command line option * Fix the x86_64_hotplug_cpu functional test # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmd+OikRHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbXTig/+Kgt0H5KQzCvGuRDYYD20Iq9MLy8iTJdj # bmPyjyMWI88Mm4qjZUO2Kcv/MSEP3MhnaTLEE/PJYgE2D8Cq2AFMLQf4ES01Uzwt # kFBSHvAlTOgcMFcu6QiWtetlqbqixuPs146J9vvUde1xTWCpB2FuB+wNneSTl6J1 # Ilrb7SM2TzbZ1s3NPuvBSVltQlA8MYa5VdQMvljAZGe2GE5vlpNjXmJMiZ/QJ7lp # +LVZppbB5lYxH0SYf56r2tR8fxqfQi6W4WoGeuBf9FnDf815cbcwagpOnaJiQFzx # iG1WusLt1tlW2arBDP7dzrjNjByjMFhwJvKaoXuSnGS29ivPuVq33mBkcFh80cv3 # 8rElZR+M5tmGfbC/mMwH7FSesUrEH18ZwRyc9RGqZ/QtqoBaukBJpxk6KuyNUbWn # 3x0ZUbGhAItGGNaZ54T70LdM3dTmEISMOnp5YTlv8oUFoROhfvWn20FMIge0Ib7t # Epu/nSiHzzdtURHZ1Z8EKNmCOmiKRW4WpF34hzQ+4uid5BAsCNMVMe0JZy5plN9L # V78CZ4qiqipmHIpKnI81x8L2admyJ3nklYKSRkaCmZFhpSyh8rdMUjCgt9A6xFfe # 34Jha7+MrJq9nnoeYIH/dS1Jhv+9vygNahDy9XaWXIHFPd7Nrsr79BWSC3fe1w5O # DlsdrHyGHvU= # =II7e # -----END PGP SIGNATURE----- # gpg: Signature made Wed 08 Jan 2025 03:41:13 EST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "[email protected]" # gpg: Good signature from "Thomas Huth <[email protected]>" [full] # gpg: aka "Thomas Huth <[email protected]>" [full] # gpg: aka "Thomas Huth <[email protected]>" [full] # gpg: aka "Thomas Huth <[email protected]>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2025-01-08' of https://gitlab.com/thuth/qemu: tests/functional/test_x86_64_hotplug_cpu: Fix race condition during unplug docs/about/deprecated: Remove paragraph about initial deprecation in 2.10 Remove the deprecated "-runas" command line option hw/s390x: Remove the "adapter_routes_max_batch" property from the flic hw/s390x/s390-virtio-ccw: Remove the deprecated 2.8 machine type hw/s390x: Remove the cpu_model_allowed flag and related code hw/s390x/s390-virtio-ccw: Remove the deprecated 2.7 machine type hw/s390x/css-bridge: Remove the "css_dev_path" property hw/s390x/ipl: Remove the "iplbext_migration" property hw/s390x: Remove the "ri_allowed" switch hw/s390x/s390-virtio-ccw: Remove the deprecated 2.6 machine type hw/s390x/s390-skeys: Remove the "migration-enabled" property hw/s390x/s390-virtio-ccw: Remove the deprecated 2.4 and 2.5 machine types tests/tcg/s390x: Use the SLOF libc headers for the multiarch tests Signed-off-by: Stefan Hajnoczi <[email protected]>
2 parents 6528013 + f69705f commit 3f8bcbb

File tree

18 files changed

+24
-213
lines changed

18 files changed

+24
-213
lines changed

docs/about/deprecated.rst

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ should exclusively use a non-deprecated machine type, with use of the most
2424
recent version highly recommended. Non-versioned machine types follow the
2525
general feature deprecation policy.
2626

27-
Prior to the 2.10.0 release there was no official policy on how
28-
long features would be deprecated prior to their removal, nor
29-
any documented list of which features were deprecated. Thus
30-
any features deprecated prior to 2.10.0 will be treated as if
31-
they were first deprecated in the 2.10.0 release.
32-
3327
What follows is a list of all features currently marked as
3428
deprecated.
3529

@@ -74,12 +68,6 @@ configurations (e.g. -smp drawers=1,books=1,clusters=1 for x86 PC machine) is
7468
marked deprecated since 9.0, users have to ensure that all the topology members
7569
described with -smp are supported by the target machine.
7670

77-
``-runas`` (since 9.1)
78-
''''''''''''''''''''''
79-
80-
Use ``-run-with user=..`` instead.
81-
82-
8371
User-mode emulator command line arguments
8472
-----------------------------------------
8573

docs/about/removed-features.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,12 @@ to produce an odd effect (rotating input but not display output). But
555555
this was never intended or documented behaviour, so we have dropped
556556
the options along with the machine models they were intended for.
557557

558+
``-runas`` (removed in 10.0)
559+
''''''''''''''''''''''''''''
560+
561+
Use ``-run-with user=..`` instead.
562+
563+
558564
User-mode emulator command line arguments
559565
-----------------------------------------
560566

hw/intc/s390_flic.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -471,22 +471,13 @@ static void qemu_s390_flic_class_init(ObjectClass *oc, void *data)
471471
}
472472

473473
static const Property s390_flic_common_properties[] = {
474-
DEFINE_PROP_UINT32("adapter_routes_max_batch", S390FLICState,
475-
adapter_routes_max_batch, ADAPTER_ROUTES_MAX_GSI),
476474
DEFINE_PROP_BOOL("migration-enabled", S390FLICState,
477475
migration_enabled, true),
478476
};
479477

480478
static void s390_flic_common_realize(DeviceState *dev, Error **errp)
481479
{
482480
S390FLICState *fs = S390_FLIC_COMMON(dev);
483-
uint32_t max_batch = fs->adapter_routes_max_batch;
484-
485-
if (max_batch > ADAPTER_ROUTES_MAX_GSI) {
486-
error_setg(errp, "flic property adapter_routes_max_batch too big"
487-
" (%d > %d)", max_batch, ADAPTER_ROUTES_MAX_GSI);
488-
return;
489-
}
490481

491482
fs->ais_supported = s390_has_feat(S390_FEAT_ADAPTER_INT_SUPPRESSION);
492483
}

hw/s390x/css-bridge.c

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,8 @@ static char *virtual_css_bus_get_dev_path(DeviceState *dev)
6666
{
6767
CcwDevice *ccw_dev = CCW_DEVICE(dev);
6868
SubchDev *sch = ccw_dev->sch;
69-
VirtualCssBridge *bridge =
70-
VIRTUAL_CSS_BRIDGE(qdev_get_parent_bus(dev)->parent);
7169

72-
/*
73-
* We can't provide a dev path for backward compatibility on
74-
* older machines, as it is visible in the migration stream.
75-
*/
76-
return bridge->css_dev_path ?
77-
g_strdup_printf("/%02x.%1x.%04x", sch->cssid, sch->ssid, sch->devno) :
78-
NULL;
70+
return g_strdup_printf("/%02x.%1x.%04x", sch->cssid, sch->ssid, sch->devno);
7971
}
8072

8173
static void virtual_css_bus_class_init(ObjectClass *klass, void *data)
@@ -120,11 +112,6 @@ VirtualCssBus *virtual_css_bus_init(void)
120112

121113
/***************** Virtual-css Bus Bridge Device ********************/
122114

123-
static const Property virtual_css_bridge_properties[] = {
124-
DEFINE_PROP_BOOL("css_dev_path", VirtualCssBridge, css_dev_path,
125-
true),
126-
};
127-
128115
static bool prop_get_true(Object *obj, Error **errp)
129116
{
130117
return true;
@@ -137,7 +124,6 @@ static void virtual_css_bridge_class_init(ObjectClass *klass, void *data)
137124

138125
hc->unplug = ccw_device_unplug;
139126
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
140-
device_class_set_props(dc, virtual_css_bridge_properties);
141127
object_class_property_add_bool(klass, "cssid-unrestricted",
142128
prop_get_true, NULL);
143129
object_class_property_set_description(klass, "cssid-unrestricted",

hw/s390x/ipl.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,6 @@
4949
#define BIOS_MAX_SIZE 0x300000UL
5050
#define IPL_PSW_MASK (PSW_MASK_32 | PSW_MASK_64)
5151

52-
static bool iplb_extended_needed(void *opaque)
53-
{
54-
S390IPLState *ipl = S390_IPL(object_resolve_path(TYPE_S390_IPL, NULL));
55-
56-
return ipl->iplbext_migration;
57-
}
58-
5952
/* Place the IPLB chain immediately before the BIOS in memory */
6053
static uint64_t find_iplb_chain_addr(uint64_t bios_addr, uint16_t count)
6154
{
@@ -67,7 +60,6 @@ static const VMStateDescription vmstate_iplb_extended = {
6760
.name = "ipl/iplb_extended",
6861
.version_id = 0,
6962
.minimum_version_id = 0,
70-
.needed = iplb_extended_needed,
7163
.fields = (const VMStateField[]) {
7264
VMSTATE_UINT8_ARRAY(reserved_ext, IplParameterBlock, 4096 - 200),
7365
VMSTATE_END_OF_LIST()
@@ -297,8 +289,6 @@ static const Property s390_ipl_properties[] = {
297289
DEFINE_PROP_STRING("cmdline", S390IPLState, cmdline),
298290
DEFINE_PROP_STRING("firmware", S390IPLState, firmware),
299291
DEFINE_PROP_BOOL("enforce_bios", S390IPLState, enforce_bios, false),
300-
DEFINE_PROP_BOOL("iplbext_migration", S390IPLState, iplbext_migration,
301-
true),
302292
};
303293

304294
static void s390_ipl_set_boot_menu(S390IPLState *ipl)

hw/s390x/ipl.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ struct S390IPLState {
8080
uint8_t cssid;
8181
uint8_t ssid;
8282
uint16_t devno;
83-
bool iplbext_migration;
8483
};
8584
QEMU_BUILD_BUG_MSG(offsetof(S390IPLState, iplb) & 3, "alignment of iplb wrong");
8685

hw/s390x/s390-skeys.c

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -469,23 +469,15 @@ static void s390_skeys_realize(DeviceState *dev, Error **errp)
469469
{
470470
S390SKeysState *ss = S390_SKEYS(dev);
471471

472-
if (ss->migration_enabled) {
473-
register_savevm_live(TYPE_S390_SKEYS, 0, 1,
474-
&savevm_s390_storage_keys, ss);
475-
}
472+
register_savevm_live(TYPE_S390_SKEYS, 0, 1, &savevm_s390_storage_keys, ss);
476473
}
477474

478-
static const Property s390_skeys_props[] = {
479-
DEFINE_PROP_BOOL("migration-enabled", S390SKeysState, migration_enabled, true),
480-
};
481-
482475
static void s390_skeys_class_init(ObjectClass *oc, void *data)
483476
{
484477
DeviceClass *dc = DEVICE_CLASS(oc);
485478

486479
dc->hotpluggable = false;
487480
dc->realize = s390_skeys_realize;
488-
device_class_set_props(dc, s390_skeys_props);
489481
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
490482
}
491483

hw/s390x/s390-virtio-ccw.c

Lines changed: 3 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -725,10 +725,9 @@ static S390CcwMachineClass *current_mc;
725725
* various "*_allowed" variables are enabled, so that the *_allowed() wrappers
726726
* below return the correct default value for the "none" machine.
727727
*
728-
* Attention! Do *not* add additional new wrappers for CPU features (e.g. like
729-
* the ri_allowed() wrapper) via this mechanism anymore. CPU features should
730-
* be handled via the CPU models, i.e. checking with cpu_model_allowed() during
731-
* CPU initialization and s390_has_feat() later should be sufficient.
728+
* Attention! Do *not* add additional new wrappers for CPU features via this
729+
* mechanism anymore. CPU features should be handled via the CPU models,
730+
* i.e. checking with s390_has_feat() should be sufficient.
732731
*/
733732
static S390CcwMachineClass *get_machine_class(void)
734733
{
@@ -744,16 +743,6 @@ static S390CcwMachineClass *get_machine_class(void)
744743
return current_mc;
745744
}
746745

747-
bool ri_allowed(void)
748-
{
749-
return get_machine_class()->ri_allowed;
750-
}
751-
752-
bool cpu_model_allowed(void)
753-
{
754-
return get_machine_class()->cpu_model_allowed;
755-
}
756-
757746
bool hpage_1m_allowed(void)
758747
{
759748
return get_machine_class()->hpage_1m_allowed;
@@ -791,8 +780,6 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data)
791780
HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
792781
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
793782

794-
s390mc->ri_allowed = true;
795-
s390mc->cpu_model_allowed = true;
796783
s390mc->hpage_1m_allowed = true;
797784
s390mc->max_threads = 1;
798785
mc->init = ccw_init;
@@ -1273,95 +1260,6 @@ static void ccw_machine_2_9_class_options(MachineClass *mc)
12731260
}
12741261
DEFINE_CCW_MACHINE(2, 9);
12751262

1276-
static void ccw_machine_2_8_instance_options(MachineState *machine)
1277-
{
1278-
ccw_machine_2_9_instance_options(machine);
1279-
}
1280-
1281-
static void ccw_machine_2_8_class_options(MachineClass *mc)
1282-
{
1283-
static GlobalProperty compat[] = {
1284-
{ TYPE_S390_FLIC_COMMON, "adapter_routes_max_batch", "64", },
1285-
};
1286-
1287-
ccw_machine_2_9_class_options(mc);
1288-
compat_props_add(mc->compat_props, hw_compat_2_8, hw_compat_2_8_len);
1289-
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
1290-
}
1291-
DEFINE_CCW_MACHINE(2, 8);
1292-
1293-
static void ccw_machine_2_7_instance_options(MachineState *machine)
1294-
{
1295-
ccw_machine_2_8_instance_options(machine);
1296-
}
1297-
1298-
static void ccw_machine_2_7_class_options(MachineClass *mc)
1299-
{
1300-
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
1301-
1302-
s390mc->cpu_model_allowed = false;
1303-
ccw_machine_2_8_class_options(mc);
1304-
compat_props_add(mc->compat_props, hw_compat_2_7, hw_compat_2_7_len);
1305-
}
1306-
DEFINE_CCW_MACHINE(2, 7);
1307-
1308-
static void ccw_machine_2_6_instance_options(MachineState *machine)
1309-
{
1310-
ccw_machine_2_7_instance_options(machine);
1311-
}
1312-
1313-
static void ccw_machine_2_6_class_options(MachineClass *mc)
1314-
{
1315-
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
1316-
static GlobalProperty compat[] = {
1317-
{ TYPE_S390_IPL, "iplbext_migration", "off", },
1318-
{ TYPE_VIRTUAL_CSS_BRIDGE, "css_dev_path", "off", },
1319-
};
1320-
1321-
s390mc->ri_allowed = false;
1322-
ccw_machine_2_7_class_options(mc);
1323-
compat_props_add(mc->compat_props, hw_compat_2_6, hw_compat_2_6_len);
1324-
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
1325-
}
1326-
DEFINE_CCW_MACHINE(2, 6);
1327-
1328-
static void ccw_machine_2_5_instance_options(MachineState *machine)
1329-
{
1330-
ccw_machine_2_6_instance_options(machine);
1331-
}
1332-
1333-
static void ccw_machine_2_5_class_options(MachineClass *mc)
1334-
{
1335-
ccw_machine_2_6_class_options(mc);
1336-
compat_props_add(mc->compat_props, hw_compat_2_5, hw_compat_2_5_len);
1337-
}
1338-
DEFINE_CCW_MACHINE(2, 5);
1339-
1340-
static void ccw_machine_2_4_instance_options(MachineState *machine)
1341-
{
1342-
ccw_machine_2_5_instance_options(machine);
1343-
}
1344-
1345-
static void ccw_machine_2_4_class_options(MachineClass *mc)
1346-
{
1347-
static GlobalProperty compat[] = {
1348-
{ TYPE_S390_SKEYS, "migration-enabled", "off", },
1349-
{ "virtio-blk-ccw", "max_revision", "0", },
1350-
{ "virtio-balloon-ccw", "max_revision", "0", },
1351-
{ "virtio-serial-ccw", "max_revision", "0", },
1352-
{ "virtio-9p-ccw", "max_revision", "0", },
1353-
{ "virtio-rng-ccw", "max_revision", "0", },
1354-
{ "virtio-net-ccw", "max_revision", "0", },
1355-
{ "virtio-scsi-ccw", "max_revision", "0", },
1356-
{ "vhost-scsi-ccw", "max_revision", "0", },
1357-
};
1358-
1359-
ccw_machine_2_5_class_options(mc);
1360-
compat_props_add(mc->compat_props, hw_compat_2_4, hw_compat_2_4_len);
1361-
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
1362-
}
1363-
DEFINE_CCW_MACHINE(2, 4);
1364-
13651263
#endif
13661264

13671265
static void ccw_machine_register_types(void)

hw/s390x/virtio-ccw.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,7 +1157,6 @@ static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
11571157
CcwDevice *ccw_dev = CCW_DEVICE(d);
11581158
SubchDev *sch = ccw_dev->sch;
11591159
int n = virtio_get_num_queues(vdev);
1160-
S390FLICState *flic = s390_get_flic();
11611160

11621161
if (!virtio_has_feature(vdev->host_features, VIRTIO_F_VERSION_1)) {
11631162
dev->max_rev = 0;
@@ -1184,10 +1183,10 @@ static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
11841183
VIRTIO_QUEUE_MAX);
11851184
return;
11861185
}
1187-
if (virtio_get_num_queues(vdev) > flic->adapter_routes_max_batch) {
1186+
if (virtio_get_num_queues(vdev) > ADAPTER_ROUTES_MAX_GSI) {
11881187
error_setg(errp, "The number of virtqueues %d "
11891188
"exceeds flic adapter route limit %d", n,
1190-
flic->adapter_routes_max_batch);
1189+
ADAPTER_ROUTES_MAX_GSI);
11911190
return;
11921191
}
11931192

include/hw/s390x/css-bridge.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
/* virtual css bridge */
2020
struct VirtualCssBridge {
2121
SysBusDevice sysbus_dev;
22-
bool css_dev_path;
2322
};
2423

2524
#define TYPE_VIRTUAL_CSS_BRIDGE "virtual-css-bridge"

0 commit comments

Comments
 (0)