* [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...)
@ 2024-04-30 7:13 Thomas Huth
2024-04-30 7:13 ` [PULL 01/19] target/s390x/cpu_model: Make check_compatibility() return boolean Thomas Huth
` (19 more replies)
0 siblings, 20 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Hi Richard!
The following changes since commit 5fee33d97a7f2e95716417bd164f2f5264acd976:
Merge tag 'samuel-thibault' of https://people.debian.org/~sthibault/qemu into staging (2024-04-29 14:34:25 -0700)
are available in the Git repository at:
https://gitlab.com/thuth/qemu.git tags/pull-request-2024-04-30
for you to fetch changes up to cc6cb422e09592158586279fddeef107df05ecbb:
.gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs (2024-04-30 07:09:22 +0200)
----------------------------------------------------------------
* Clean-ups for "errp" handling in s390x cpu_model code
* Fix a possible abort in the "edu" device
* Add missing qga stubs for stand-alone qga builds and re-enable qga-ssh-test
* Fix memory corruption caused by the stm32l4x5 uart device
* Update the s390x custom runner to Ubuntu 22.04
* Fix READ NATIVE MAX ADDRESS IDE commands to avoid a possible crash
* Shorten the runtime of Cirrus-CI jobs
----------------------------------------------------------------
Alex Bennée (3):
build-environment: make some packages optional
gitlab: migrate the s390x custom machine to 22.04
gitlab: remove stale s390x-all-linux-static conf hacks
Chris Friedt (3):
hw: misc: edu: fix 2 off-by-one errors
hw: misc: edu: rename local vars in edu_check_range
hw: misc: edu: use qemu_log_mask instead of hw_error
Konstantin Kostiuk (1):
stubs: Add missing qga stubs
Lev Kujawski (2):
hw/ide/core.c (cmd_read_native_max): Avoid limited device parameters
tests/qtest/ide-test: Verify READ NATIVE MAX ADDRESS is not limited
Thomas Huth (4):
qga: Re-enable the qga-ssh-test when running without fuzzing
hw/char/stm32l4x5_usart: Fix memory corruption by adding correct class_size
.gitlab-ci.d/cirrus.yml: Shorten the runtime of the macOS and FreeBSD jobs
.gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs
Zhao Liu (6):
target/s390x/cpu_model: Make check_compatibility() return boolean
target/s390x/cpu_model: Drop local @err in s390_realize_cpu_model()
target/s390x/cpu_models: Make kvm_s390_get_host_cpu_model() return boolean
target/s390x/cpu_models: Drop local @err in get_max_cpu_model()
target/s390x/cpu_models: Make kvm_s390_apply_cpu_model() return boolean
target/s390x/cpu_models_sysemu: Drop local @err in apply_cpu_model()
target/s390x/cpu_models.h | 4 +-
hw/char/stm32l4x5_usart.c | 1 +
hw/ide/core.c | 21 ++++++++--
hw/misc/edu.c | 35 ++++++++--------
target/s390x/cpu_models.c | 25 +++++-------
target/s390x/cpu_models_sysemu.c | 5 +--
target/s390x/kvm/kvm.c | 28 +++++++------
tests/qtest/ide-test.c | 47 +++++++++++++++++++++-
.gitlab-ci.d/cirrus.yml | 39 +-----------------
.gitlab-ci.d/cirrus/kvm-build.yml | 31 --------------
.gitlab-ci.d/custom-runners.yml | 2 +-
...untu-20.04-s390x.yml => ubuntu-22.04-s390x.yml} | 32 +++++++--------
qga/meson.build | 5 +--
scripts/ci/setup/build-environment.yml | 16 ++++++--
stubs/meson.build | 6 ++-
15 files changed, 149 insertions(+), 148 deletions(-)
delete mode 100644 .gitlab-ci.d/cirrus/kvm-build.yml
rename .gitlab-ci.d/custom-runners/{ubuntu-20.04-s390x.yml => ubuntu-22.04-s390x.yml} (80%)
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PULL 01/19] target/s390x/cpu_model: Make check_compatibility() return boolean
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 02/19] target/s390x/cpu_model: Drop local @err in s390_realize_cpu_model() Thomas Huth
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Zhao Liu
From: Zhao Liu <zhao1.liu@intel.com>
As error.h suggested, the best practice for callee is to return
something to indicate success / failure.
With returned boolean, there's no need to check @err.
Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240425031232.1586401-2-zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 8ed3bb6a27..8cb47d905f 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -510,7 +510,7 @@ static void check_compat_model_failed(Error **errp,
return;
}
-static void check_compatibility(const S390CPUModel *max_model,
+static bool check_compatibility(const S390CPUModel *max_model,
const S390CPUModel *model, Error **errp)
{
ERRP_GUARD();
@@ -518,11 +518,11 @@ static void check_compatibility(const S390CPUModel *max_model,
if (model->def->gen > max_model->def->gen) {
check_compat_model_failed(errp, max_model, "Selected CPU generation is too new");
- return;
+ return false;
} else if (model->def->gen == max_model->def->gen &&
model->def->ec_ga > max_model->def->ec_ga) {
check_compat_model_failed(errp, max_model, "Selected CPU GA level is too new");
- return;
+ return false;
}
#ifndef CONFIG_USER_ONLY
@@ -530,14 +530,14 @@ static void check_compatibility(const S390CPUModel *max_model,
error_setg(errp, "The unpack facility is not compatible with "
"the --only-migratable option. You must remove either "
"the 'unpack' facility or the --only-migratable option");
- return;
+ return false;
}
#endif
/* detect the missing features to properly report them */
bitmap_andnot(missing, model->features, max_model->features, S390_FEAT_MAX);
if (bitmap_empty(missing, S390_FEAT_MAX)) {
- return;
+ return true;
}
error_setg(errp, " ");
@@ -546,6 +546,7 @@ static void check_compatibility(const S390CPUModel *max_model,
"available in the current configuration: ");
error_append_hint(errp,
"Consider a different accelerator, QEMU, or kernel version\n");
+ return false;
}
S390CPUModel *get_max_cpu_model(Error **errp)
@@ -605,8 +606,7 @@ void s390_realize_cpu_model(CPUState *cs, Error **errp)
cpu->model->cpu_ver = max_model->cpu_ver;
check_consistency(cpu->model);
- check_compatibility(max_model, cpu->model, &err);
- if (err) {
+ if (!check_compatibility(max_model, cpu->model, &err)) {
error_propagate(errp, err);
return;
}
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 02/19] target/s390x/cpu_model: Drop local @err in s390_realize_cpu_model()
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
2024-04-30 7:13 ` [PULL 01/19] target/s390x/cpu_model: Make check_compatibility() return boolean Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 03/19] target/s390x/cpu_models: Make kvm_s390_get_host_cpu_model() return boolean Thomas Huth
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Zhao Liu
From: Zhao Liu <zhao1.liu@intel.com>
Use @errp to fetch error information directly and drop the local
variable @err.
Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240425031232.1586401-3-zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 8cb47d905f..052540a866 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -577,7 +577,6 @@ S390CPUModel *get_max_cpu_model(Error **errp)
void s390_realize_cpu_model(CPUState *cs, Error **errp)
{
ERRP_GUARD();
- Error *err = NULL;
S390CPUClass *xcc = S390_CPU_GET_CLASS(cs);
S390CPU *cpu = S390_CPU(cs);
const S390CPUModel *max_model;
@@ -606,8 +605,7 @@ void s390_realize_cpu_model(CPUState *cs, Error **errp)
cpu->model->cpu_ver = max_model->cpu_ver;
check_consistency(cpu->model);
- if (!check_compatibility(max_model, cpu->model, &err)) {
- error_propagate(errp, err);
+ if (!check_compatibility(max_model, cpu->model, errp)) {
return;
}
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 03/19] target/s390x/cpu_models: Make kvm_s390_get_host_cpu_model() return boolean
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
2024-04-30 7:13 ` [PULL 01/19] target/s390x/cpu_model: Make check_compatibility() return boolean Thomas Huth
2024-04-30 7:13 ` [PULL 02/19] target/s390x/cpu_model: Drop local @err in s390_realize_cpu_model() Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 04/19] target/s390x/cpu_models: Drop local @err in get_max_cpu_model() Thomas Huth
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Zhao Liu
From: Zhao Liu <zhao1.liu@intel.com>
As error.h suggested, the best practice for callee is to return
something to indicate success / failure.
So make kvm_s390_get_host_cpu_model() return boolean and check the
returned boolean in get_max_cpu_model() instead of accessing @err.
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240425031232.1586401-5-zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models.h | 2 +-
target/s390x/cpu_models.c | 9 ++++-----
target/s390x/kvm/kvm.c | 13 +++++++------
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/target/s390x/cpu_models.h b/target/s390x/cpu_models.h
index a89c2a15ab..c14aff6c10 100644
--- a/target/s390x/cpu_models.h
+++ b/target/s390x/cpu_models.h
@@ -115,7 +115,7 @@ S390CPUDef const *s390_find_cpu_def(uint16_t type, uint8_t gen, uint8_t ec_ga,
S390FeatBitmap features);
bool kvm_s390_cpu_models_supported(void);
-void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp);
+bool kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp);
void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp);
#endif /* TARGET_S390X_CPU_MODELS_H */
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 052540a866..a0e4acb707 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -560,16 +560,15 @@ S390CPUModel *get_max_cpu_model(Error **errp)
}
if (kvm_enabled()) {
- kvm_s390_get_host_cpu_model(&max_model, &err);
+ if (!kvm_s390_get_host_cpu_model(&max_model, &err)) {
+ error_propagate(errp, err);
+ return NULL;
+ }
} else {
max_model.def = s390_find_cpu_def(QEMU_MAX_CPU_TYPE, QEMU_MAX_CPU_GEN,
QEMU_MAX_CPU_EC_GA, NULL);
bitmap_copy(max_model.features, qemu_max_cpu_feat, S390_FEAT_MAX);
}
- if (err) {
- error_propagate(errp, err);
- return NULL;
- }
cached = true;
return &max_model;
}
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index 4dcd757cdc..2c3e05cae3 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -2375,7 +2375,7 @@ bool kvm_s390_cpu_models_supported(void)
KVM_S390_VM_CPU_MACHINE_SUBFUNC);
}
-void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
+bool kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
{
struct kvm_s390_vm_cpu_machine prop = {};
struct kvm_device_attr attr = {
@@ -2390,14 +2390,14 @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
if (!kvm_s390_cpu_models_supported()) {
error_setg(errp, "KVM doesn't support CPU models");
- return;
+ return false;
}
/* query the basic cpu model properties */
rc = kvm_vm_ioctl(kvm_state, KVM_GET_DEVICE_ATTR, &attr);
if (rc) {
error_setg(errp, "KVM: Error querying host CPU model: %d", rc);
- return;
+ return false;
}
cpu_type = cpuid_type(prop.cpuid);
@@ -2420,13 +2420,13 @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
rc = query_cpu_feat(model->features);
if (rc) {
error_setg(errp, "KVM: Error querying CPU features: %d", rc);
- return;
+ return false;
}
/* get supported cpu subfunctions indicated via query / test bit */
rc = query_cpu_subfunc(model->features);
if (rc) {
error_setg(errp, "KVM: Error querying CPU subfunctions: %d", rc);
- return;
+ return false;
}
/* PTFF subfunctions might be indicated although kernel support missing */
@@ -2482,7 +2482,7 @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
}
if (!model->def) {
error_setg(errp, "KVM: host CPU model could not be identified");
- return;
+ return false;
}
/* for now, we can only provide the AP feature with HW support */
if (ap_available()) {
@@ -2506,6 +2506,7 @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
/* strip of features that are not part of the maximum model */
bitmap_and(model->features, model->features, model->def->full_feat,
S390_FEAT_MAX);
+ return true;
}
static int configure_uv_feat_guest(const S390FeatBitmap features)
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 04/19] target/s390x/cpu_models: Drop local @err in get_max_cpu_model()
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (2 preceding siblings ...)
2024-04-30 7:13 ` [PULL 03/19] target/s390x/cpu_models: Make kvm_s390_get_host_cpu_model() return boolean Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 05/19] target/s390x/cpu_models: Make kvm_s390_apply_cpu_model() return boolean Thomas Huth
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Zhao Liu
From: Zhao Liu <zhao1.liu@intel.com>
Use @errp to fetch error information directly and drop the local
variable @err.
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240425031232.1586401-6-zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index a0e4acb707..aae452cfd3 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -551,7 +551,6 @@ static bool check_compatibility(const S390CPUModel *max_model,
S390CPUModel *get_max_cpu_model(Error **errp)
{
- Error *err = NULL;
static S390CPUModel max_model;
static bool cached;
@@ -560,8 +559,7 @@ S390CPUModel *get_max_cpu_model(Error **errp)
}
if (kvm_enabled()) {
- if (!kvm_s390_get_host_cpu_model(&max_model, &err)) {
- error_propagate(errp, err);
+ if (!kvm_s390_get_host_cpu_model(&max_model, errp)) {
return NULL;
}
} else {
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 05/19] target/s390x/cpu_models: Make kvm_s390_apply_cpu_model() return boolean
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (3 preceding siblings ...)
2024-04-30 7:13 ` [PULL 04/19] target/s390x/cpu_models: Drop local @err in get_max_cpu_model() Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 06/19] target/s390x/cpu_models_sysemu: Drop local @err in apply_cpu_model() Thomas Huth
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Zhao Liu
From: Zhao Liu <zhao1.liu@intel.com>
As error.h suggested, the best practice for callee is to return
something to indicate success / failure.
So make kvm_s390_apply_cpu_model() return boolean and check the
returned boolean in apply_cpu_model() instead of accessing @err.
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240425031232.1586401-7-zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models.h | 2 +-
target/s390x/cpu_models_sysemu.c | 3 +--
target/s390x/kvm/kvm.c | 15 ++++++++-------
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/s390x/cpu_models.h b/target/s390x/cpu_models.h
index c14aff6c10..71d4bc2dd4 100644
--- a/target/s390x/cpu_models.h
+++ b/target/s390x/cpu_models.h
@@ -116,6 +116,6 @@ S390CPUDef const *s390_find_cpu_def(uint16_t type, uint8_t gen, uint8_t ec_ga,
bool kvm_s390_cpu_models_supported(void);
bool kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp);
-void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp);
+bool kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp);
#endif /* TARGET_S390X_CPU_MODELS_H */
diff --git a/target/s390x/cpu_models_sysemu.c b/target/s390x/cpu_models_sysemu.c
index 2d99218069..bf855c659d 100644
--- a/target/s390x/cpu_models_sysemu.c
+++ b/target/s390x/cpu_models_sysemu.c
@@ -405,8 +405,7 @@ void apply_cpu_model(const S390CPUModel *model, Error **errp)
}
if (kvm_enabled()) {
- kvm_s390_apply_cpu_model(model, &err);
- if (err) {
+ if (!kvm_s390_apply_cpu_model(model, &err)) {
error_propagate(errp, err);
return;
}
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index 2c3e05cae3..1b494ecc20 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -2543,7 +2543,7 @@ static void kvm_s390_configure_apie(bool interpret)
}
}
-void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp)
+bool kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp)
{
struct kvm_s390_vm_cpu_processor prop = {
.fac_list = { 0 },
@@ -2560,11 +2560,11 @@ void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp)
if (kvm_s390_cmma_available()) {
kvm_s390_enable_cmma();
}
- return;
+ return true;
}
if (!kvm_s390_cpu_models_supported()) {
error_setg(errp, "KVM doesn't support CPU models");
- return;
+ return false;
}
prop.cpuid = s390_cpuid_from_cpu_model(model);
prop.ibc = s390_ibc_from_cpu_model(model);
@@ -2574,19 +2574,19 @@ void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp)
rc = kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
if (rc) {
error_setg(errp, "KVM: Error configuring the CPU model: %d", rc);
- return;
+ return false;
}
/* configure cpu features indicated e.g. via SCLP */
rc = configure_cpu_feat(model->features);
if (rc) {
error_setg(errp, "KVM: Error configuring CPU features: %d", rc);
- return;
+ return false;
}
/* configure cpu subfunctions indicated via query / test bit */
rc = configure_cpu_subfunc(model->features);
if (rc) {
error_setg(errp, "KVM: Error configuring CPU subfunctions: %d", rc);
- return;
+ return false;
}
/* enable CMM via CMMA */
if (test_bit(S390_FEAT_CMM, model->features)) {
@@ -2601,8 +2601,9 @@ void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp)
rc = configure_uv_feat_guest(model->features);
if (rc) {
error_setg(errp, "KVM: Error configuring CPU UV features %d", rc);
- return;
+ return false;
}
+ return true;
}
void kvm_s390_restart_interrupt(S390CPU *cpu)
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 06/19] target/s390x/cpu_models_sysemu: Drop local @err in apply_cpu_model()
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (4 preceding siblings ...)
2024-04-30 7:13 ` [PULL 05/19] target/s390x/cpu_models: Make kvm_s390_apply_cpu_model() return boolean Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 07/19] hw: misc: edu: fix 2 off-by-one errors Thomas Huth
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Zhao Liu
From: Zhao Liu <zhao1.liu@intel.com>
Use @errp to fetch error information directly and drop the local
variable @err.
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240425031232.1586401-8-zhao1.liu@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models_sysemu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models_sysemu.c b/target/s390x/cpu_models_sysemu.c
index bf855c659d..15be729c3d 100644
--- a/target/s390x/cpu_models_sysemu.c
+++ b/target/s390x/cpu_models_sysemu.c
@@ -389,7 +389,6 @@ CpuModelBaselineInfo *qmp_query_cpu_model_baseline(CpuModelInfo *infoa,
void apply_cpu_model(const S390CPUModel *model, Error **errp)
{
- Error *err = NULL;
static S390CPUModel applied_model;
static bool applied;
@@ -405,8 +404,7 @@ void apply_cpu_model(const S390CPUModel *model, Error **errp)
}
if (kvm_enabled()) {
- if (!kvm_s390_apply_cpu_model(model, &err)) {
- error_propagate(errp, err);
+ if (!kvm_s390_apply_cpu_model(model, errp)) {
return;
}
}
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 07/19] hw: misc: edu: fix 2 off-by-one errors
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (5 preceding siblings ...)
2024-04-30 7:13 ` [PULL 06/19] target/s390x/cpu_models_sysemu: Drop local @err in apply_cpu_model() Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 08/19] hw: misc: edu: rename local vars in edu_check_range Thomas Huth
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Chris Friedt, Chris Friedt
From: Chris Friedt <chrisfriedt@gmail.com>
In the case that size1 was zero, because of the explicit
'end1 > addr' check, the range check would fail and the error
message would read as shown below. The correct comparison
is 'end1 >= addr'.
EDU: DMA range 0x40000-0x3ffff out of bounds (0x40000-0x40fff)!
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1254
Signed-off-by: Chris Friedt <cfriedt@meta.com>
[thuth: Adjust patch with regards to the "end1 <= end2" check]
Message-ID: <20221018122551.94567-1-cfriedt@meta.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/misc/edu.c | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index 2a976ca2b1..14250e0ac3 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -103,19 +103,18 @@ static void edu_lower_irq(EduState *edu, uint32_t val)
}
}
-static bool within(uint64_t addr, uint64_t start, uint64_t end)
-{
- return start <= addr && addr < end;
-}
-
-static void edu_check_range(uint64_t addr, uint64_t size1, uint64_t start,
- uint64_t size2)
+static void edu_check_range(uint64_t addr, uint64_t size1,
+ uint64_t start, uint64_t size2)
{
uint64_t end1 = addr + size1;
uint64_t end2 = start + size2;
- if (within(addr, start, end2) &&
- end1 > addr && end1 <= end2) {
+ /*
+ * 1. ensure we aren't overflowing
+ * 2. ensure that [addr, end1) is within [start, size2)
+ */
+ if (end2 >= start && end1 >= addr &&
+ addr >= start && end1 <= end2) {
return;
}
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 08/19] hw: misc: edu: rename local vars in edu_check_range
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (6 preceding siblings ...)
2024-04-30 7:13 ` [PULL 07/19] hw: misc: edu: fix 2 off-by-one errors Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 09/19] hw: misc: edu: use qemu_log_mask instead of hw_error Thomas Huth
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Chris Friedt, Chris Friedt
From: Chris Friedt <chrisfriedt@gmail.com>
This serves to make the local variables a bit less ambiguous.
The latter two arguments are named to match DMA_START, and
DMA_SIZE.
Signed-off-by: Chris Friedt <cfriedt@meta.com>
Message-ID: <20221018122551.94567-2-cfriedt@meta.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/misc/edu.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index 14250e0ac3..e1cb443438 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -103,24 +103,24 @@ static void edu_lower_irq(EduState *edu, uint32_t val)
}
}
-static void edu_check_range(uint64_t addr, uint64_t size1,
- uint64_t start, uint64_t size2)
+static void edu_check_range(uint64_t xfer_start, uint64_t xfer_size,
+ uint64_t dma_start, uint64_t dma_size)
{
- uint64_t end1 = addr + size1;
- uint64_t end2 = start + size2;
+ uint64_t xfer_end = xfer_start + xfer_size;
+ uint64_t dma_end = dma_start + dma_size;
/*
* 1. ensure we aren't overflowing
- * 2. ensure that [addr, end1) is within [start, size2)
+ * 2. ensure that xfer is within dma address range
*/
- if (end2 >= start && end1 >= addr &&
- addr >= start && end1 <= end2) {
+ if (dma_end >= dma_start && xfer_end >= xfer_start &&
+ xfer_start >= dma_start && xfer_end <= dma_end) {
return;
}
hw_error("EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
" out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!",
- addr, end1 - 1, start, end2 - 1);
+ xfer_start, xfer_end - 1, dma_start, dma_end - 1);
}
static dma_addr_t edu_clamp_addr(const EduState *edu, dma_addr_t addr)
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 09/19] hw: misc: edu: use qemu_log_mask instead of hw_error
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (7 preceding siblings ...)
2024-04-30 7:13 ` [PULL 08/19] hw: misc: edu: rename local vars in edu_check_range Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 10/19] stubs: Add missing qga stubs Thomas Huth
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Chris Friedt, Chris Friedt
From: Chris Friedt <chrisfriedt@gmail.com>
Log a guest error instead of a hardware error when
the guest tries to DMA to / from an invalid address.
Signed-off-by: Chris Friedt <cfriedt@meta.com>
Message-ID: <20221018122551.94567-3-cfriedt@meta.com>
[thuth: Add missing #include statement, fix error reported by checkpatch.pl]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/misc/edu.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index e1cb443438..fa052c44db 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -23,6 +23,7 @@
*/
#include "qemu/osdep.h"
+#include "qemu/log.h"
#include "qemu/units.h"
#include "hw/pci/pci.h"
#include "hw/hw.h"
@@ -118,9 +119,10 @@ static void edu_check_range(uint64_t xfer_start, uint64_t xfer_size,
return;
}
- hw_error("EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
- " out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!",
- xfer_start, xfer_end - 1, dma_start, dma_end - 1);
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
+ " out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!",
+ xfer_start, xfer_end - 1, dma_start, dma_end - 1);
}
static dma_addr_t edu_clamp_addr(const EduState *edu, dma_addr_t addr)
@@ -128,7 +130,9 @@ static dma_addr_t edu_clamp_addr(const EduState *edu, dma_addr_t addr)
dma_addr_t res = addr & edu->dma_mask;
if (addr != res) {
- printf("EDU: clamping DMA %#.16"PRIx64" to %#.16"PRIx64"!\n", addr, res);
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "EDU: clamping DMA 0x%016"PRIx64" to 0x%016"PRIx64"!",
+ addr, res);
}
return res;
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 10/19] stubs: Add missing qga stubs
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (8 preceding siblings ...)
2024-04-30 7:13 ` [PULL 09/19] hw: misc: edu: use qemu_log_mask instead of hw_error Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 11/19] qga: Re-enable the qga-ssh-test when running without fuzzing Thomas Huth
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Cc: Konstantin Kostiuk, Philippe Mathieu-Daudé
From: Konstantin Kostiuk <kkostiuk@redhat.com>
Compilation QGA without system and user fails
./configure --disable-system --disable-user --enable-guest-agent
Link failure:
/usr/bin/ld: libqemuutil.a.p/util_main-loop.c.o: in function
`os_host_main_loop_wait':
../util/main-loop.c:303: undefined reference to `replay_mutex_unlock'
/usr/bin/ld: ../util/main-loop.c:307: undefined reference to
`replay_mutex_lock'
/usr/bin/ld: libqemuutil.a.p/util_error-report.c.o: in function
`error_printf':
../util/error-report.c:38: undefined reference to `error_vprintf'
/usr/bin/ld: libqemuutil.a.p/util_error-report.c.o: in function
`vreport':
../util/error-report.c:225: undefined reference to `error_vprintf'
/usr/bin/ld: libqemuutil.a.p/util_qemu-timer.c.o: in function
`timerlist_run_timers':
../util/qemu-timer.c:562: undefined reference to `replay_checkpoint'
/usr/bin/ld: ../util/qemu-timer.c:530: undefined reference to
`replay_checkpoint'
/usr/bin/ld: ../util/qemu-timer.c:525: undefined reference to
`replay_checkpoint'
ninja: build stopped: subcommand failed.
Fixes: 3a15604900 ("stubs: include stubs only if needed")
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Message-ID: <20240426121347.18843-2-kkostiuk@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
stubs/meson.build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/stubs/meson.build b/stubs/meson.build
index 8ee1fd5753..3b9d42023c 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -21,12 +21,12 @@ if have_block
stub_ss.add(files('migr-blocker.c'))
stub_ss.add(files('physmem.c'))
stub_ss.add(files('ram-block.c'))
- stub_ss.add(files('replay-tools.c'))
stub_ss.add(files('runstate-check.c'))
stub_ss.add(files('uuid.c'))
endif
if have_block or have_ga
+ stub_ss.add(files('replay-tools.c'))
# stubs for hooks in util/main-loop.c, util/async.c etc.
stub_ss.add(files('cpus-get-virtual-clock.c'))
stub_ss.add(files('icount.c'))
@@ -45,6 +45,10 @@ if have_block or have_ga
stub_ss.add(files('qmp-quit.c'))
endif
+if have_ga
+ stub_ss.add(files('error-printf.c'))
+endif
+
if have_block or have_user
stub_ss.add(files('qtest.c'))
stub_ss.add(files('vm-stop.c'))
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 11/19] qga: Re-enable the qga-ssh-test when running without fuzzing
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (9 preceding siblings ...)
2024-04-30 7:13 ` [PULL 10/19] stubs: Add missing qga stubs Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 12/19] hw/char/stm32l4x5_usart: Fix memory corruption by adding correct class_size Thomas Huth
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Cc: Philippe Mathieu-Daudé, Konstantin Kostiuk
According to the comment in qga/meson.build, the test got disabled
since there were problems with the fuzzing job. But instead of
disabling this test completely, we should still be fine running
it when fuzzing is disabled.
Message-ID: <20240426162348.684143-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
qga/meson.build | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/qga/meson.build b/qga/meson.build
index 1c3d2a3d1b..46c1d83d7f 100644
--- a/qga/meson.build
+++ b/qga/meson.build
@@ -181,12 +181,11 @@ test_env = environment()
test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-# disable qga-ssh-test for now. glib's G_TEST_OPTION_ISOLATE_DIRS triggers
+# disable qga-ssh-test with fuzzing: glib's G_TEST_OPTION_ISOLATE_DIRS triggers
# the leak detector in build-oss-fuzz Gitlab CI test. we should re-enable
# this when an alternative is implemented or when the underlying glib
# issue is identified/fix
-#if host_os != 'windows'
-if false
+if host_os != 'windows' and not get_option('fuzzing')
srcs = [files('commands-posix-ssh.c')]
i = 0
foreach output: qga_qapi_outputs
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 12/19] hw/char/stm32l4x5_usart: Fix memory corruption by adding correct class_size
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (10 preceding siblings ...)
2024-04-30 7:13 ` [PULL 11/19] qga: Re-enable the qga-ssh-test when running without fuzzing Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 13/19] build-environment: make some packages optional Thomas Huth
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Philippe Mathieu-Daudé
"make check-qtest-aarch64" recently started failing on FreeBSD builds,
and valgrind on Linux also detected that there is something fishy with
the new stm32l4x5-usart: The code forgot to set the correct class_size
here, so the various class_init functions in this file wrote beyond
the allocated buffer when setting the subc->type field.
Fixes: 4fb37aea7e ("hw/char: Implement STM32L4x5 USART skeleton")
Message-ID: <20240429075908.36302-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/char/stm32l4x5_usart.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/char/stm32l4x5_usart.c b/hw/char/stm32l4x5_usart.c
index 2627aab832..02f666308c 100644
--- a/hw/char/stm32l4x5_usart.c
+++ b/hw/char/stm32l4x5_usart.c
@@ -617,6 +617,7 @@ static const TypeInfo stm32l4x5_usart_types[] = {
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(Stm32l4x5UsartBaseState),
.instance_init = stm32l4x5_usart_base_init,
+ .class_size = sizeof(Stm32l4x5UsartBaseClass),
.class_init = stm32l4x5_usart_base_class_init,
.abstract = true,
}, {
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 13/19] build-environment: make some packages optional
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (11 preceding siblings ...)
2024-04-30 7:13 ` [PULL 12/19] hw/char/stm32l4x5_usart: Fix memory corruption by adding correct class_size Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 14/19] gitlab: migrate the s390x custom machine to 22.04 Thomas Huth
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Alex Bennée
From: Alex Bennée <alex.bennee@linaro.org>
Upgrading the s390x runner exposed some packages are not available for
it. Add an additional optional stage we only enable for arm64/x86_64
for now.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240426153938.1707723-2-alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
scripts/ci/setup/build-environment.yml | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/scripts/ci/setup/build-environment.yml b/scripts/ci/setup/build-environment.yml
index f344d1a850..de0d866a1e 100644
--- a/scripts/ci/setup/build-environment.yml
+++ b/scripts/ci/setup/build-environment.yml
@@ -95,7 +95,6 @@
- libpam0g-dev
- libpcre2-dev
- libpixman-1-dev
- - libpmem-dev
- libpng-dev
- libpulse-dev
- librbd-dev
@@ -107,7 +106,6 @@
- libslirp-dev
- libsnappy-dev
- libspice-protocol-dev
- - libspice-server-dev
- libssh-dev
- libsystemd-dev
- libtasn1-6-dev
@@ -119,7 +117,6 @@
- libvdeplug-dev
- libvirglrenderer-dev
- libvte-2.91-dev
- - libxen-dev
- libxml2-dev
- libzstd-dev
- llvm
@@ -156,6 +153,19 @@
- ansible_facts['distribution'] == 'Ubuntu'
- ansible_facts['distribution_version'] == '22.04'
+ # not all packages are available for all architectures
+ - name: Install additional packages to build QEMU on Ubuntu 22.04
+ package:
+ name:
+ - libpmem-dev
+ - libspice-server-dev
+ - libxen-dev
+ state: present
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['distribution_version'] == '22.04'
+ - ansible_facts['architecture'] == 'aarch64' or ansible_facts['architecture'] == 'x86_64'
+
- name: Install armhf cross-compile packages to build QEMU on AArch64 Ubuntu 22.04
package:
name:
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 14/19] gitlab: migrate the s390x custom machine to 22.04
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (12 preceding siblings ...)
2024-04-30 7:13 ` [PULL 13/19] build-environment: make some packages optional Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 15/19] gitlab: remove stale s390x-all-linux-static conf hacks Thomas Huth
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Alex Bennée
From: Alex Bennée <alex.bennee@linaro.org>
20.04 is dead (from QEMU's point of view), long live 22.04!
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240426153938.1707723-3-alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/custom-runners.yml | 2 +-
...20.04-s390x.yml => ubuntu-22.04-s390x.yml} | 28 +++++++++----------
2 files changed, 15 insertions(+), 15 deletions(-)
rename .gitlab-ci.d/custom-runners/{ubuntu-20.04-s390x.yml => ubuntu-22.04-s390x.yml} (88%)
diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
index a0e79acd39..29e52df283 100644
--- a/.gitlab-ci.d/custom-runners.yml
+++ b/.gitlab-ci.d/custom-runners.yml
@@ -29,7 +29,7 @@
junit: build/meson-logs/testlog.junit.xml
include:
- - local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml'
+ - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
- local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
diff --git a/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml b/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
similarity index 88%
rename from .gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml
rename to .gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
index cdae6c5212..85e2809573 100644
--- a/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml
+++ b/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
@@ -1,13 +1,13 @@
-# All ubuntu-20.04 jobs should run successfully in an environment
+# All ubuntu-22.04 jobs should run successfully in an environment
# setup by the scripts/ci/setup/build-environment.yml task
-# "Install basic packages to build QEMU on Ubuntu 20.04/20.04"
+# "Install basic packages to build QEMU on Ubuntu 22.04"
-ubuntu-20.04-s390x-all-linux-static:
+ubuntu-22.04-s390x-all-linux-static:
extends: .custom_runner_template
needs: []
stage: build
tags:
- - ubuntu_20.04
+ - ubuntu_22.04
- s390x
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
@@ -23,12 +23,12 @@ ubuntu-20.04-s390x-all-linux-static:
- make --output-sync check-tcg
- make --output-sync -j`nproc` check
-ubuntu-20.04-s390x-all:
+ubuntu-22.04-s390x-all:
extends: .custom_runner_template
needs: []
stage: build
tags:
- - ubuntu_20.04
+ - ubuntu_22.04
- s390x
timeout: 75m
rules:
@@ -42,12 +42,12 @@ ubuntu-20.04-s390x-all:
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check
-ubuntu-20.04-s390x-alldbg:
+ubuntu-22.04-s390x-alldbg:
extends: .custom_runner_template
needs: []
stage: build
tags:
- - ubuntu_20.04
+ - ubuntu_22.04
- s390x
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
@@ -65,12 +65,12 @@ ubuntu-20.04-s390x-alldbg:
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check
-ubuntu-20.04-s390x-clang:
+ubuntu-22.04-s390x-clang:
extends: .custom_runner_template
needs: []
stage: build
tags:
- - ubuntu_20.04
+ - ubuntu_22.04
- s390x
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
@@ -87,11 +87,11 @@ ubuntu-20.04-s390x-clang:
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check
-ubuntu-20.04-s390x-tci:
+ubuntu-22.04-s390x-tci:
needs: []
stage: build
tags:
- - ubuntu_20.04
+ - ubuntu_22.04
- s390x
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
@@ -107,12 +107,12 @@ ubuntu-20.04-s390x-tci:
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`
-ubuntu-20.04-s390x-notcg:
+ubuntu-22.04-s390x-notcg:
extends: .custom_runner_template
needs: []
stage: build
tags:
- - ubuntu_20.04
+ - ubuntu_22.04
- s390x
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 15/19] gitlab: remove stale s390x-all-linux-static conf hacks
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (13 preceding siblings ...)
2024-04-30 7:13 ` [PULL 14/19] gitlab: migrate the s390x custom machine to 22.04 Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 16/19] hw/ide/core.c (cmd_read_native_max): Avoid limited device parameters Thomas Huth
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Alex Bennée
From: Alex Bennée <alex.bennee@linaro.org>
The libssh bug references 18.04 which we are no longer running. We
don't need to disable glusterfs because a linux-user build shouldn't
be trying to link to it anyway.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240426153938.1707723-4-alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml b/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
index 85e2809573..105981879f 100644
--- a/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
+++ b/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
@@ -13,11 +13,9 @@ ubuntu-22.04-s390x-all-linux-static:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
- if: "$S390X_RUNNER_AVAILABLE"
script:
- # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
- # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
- mkdir build
- cd build
- - ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
+ - ../configure --enable-debug --static --disable-system
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`
- make --output-sync check-tcg
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 16/19] hw/ide/core.c (cmd_read_native_max): Avoid limited device parameters
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (14 preceding siblings ...)
2024-04-30 7:13 ` [PULL 15/19] gitlab: remove stale s390x-all-linux-static conf hacks Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 17/19] tests/qtest/ide-test: Verify READ NATIVE MAX ADDRESS is not limited Thomas Huth
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Lev Kujawski
From: Lev Kujawski <lkujaw@mailbox.org>
Always use the native CHS device parameters for the ATA commands READ
NATIVE MAX ADDRESS and READ NATIVE MAX ADDRESS EXT, not those limited
by the ATA command INITIALIZE_DEVICE_PARAMETERS (introduced in patch
176e4961, hw/ide/core.c: Implement ATA INITIALIZE_DEVICE_PARAMETERS
command, 2022-07-07.)
As stated by the ATA/ATAPI specification, "[t]he native maximum is the
highest address accepted by the device in the factory default
condition." Therefore this patch substitutes the native values in
drive_heads and drive_sectors before calling ide_set_sector().
One consequence of the prior behavior was that setting zero sectors
per track could lead to an FPE within ide_set_sector(). Thanks to
Alexander Bulekov for reporting this issue.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1243
Signed-off-by: Lev Kujawski <lkujaw@mailbox.org>
Message-ID: <20221010085229.2431276-1-lkujaw@mailbox.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/ide/core.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index e8cb2dac92..08d9218455 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1623,11 +1623,24 @@ static bool cmd_read_native_max(IDEState *s, uint8_t cmd)
/* Refuse if no sectors are addressable (e.g. medium not inserted) */
if (s->nb_sectors == 0) {
ide_abort_command(s);
- return true;
- }
+ } else {
+ /*
+ * Save the active drive parameters, which may have been
+ * limited from their native counterparts by, e.g., INITIALIZE
+ * DEVICE PARAMETERS or SET MAX ADDRESS.
+ */
+ const int aheads = s->heads;
+ const int asectors = s->sectors;
- ide_cmd_lba48_transform(s, lba48);
- ide_set_sector(s, s->nb_sectors - 1);
+ s->heads = s->drive_heads;
+ s->sectors = s->drive_sectors;
+
+ ide_cmd_lba48_transform(s, lba48);
+ ide_set_sector(s, s->nb_sectors - 1);
+
+ s->heads = aheads;
+ s->sectors = asectors;
+ }
return true;
}
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 17/19] tests/qtest/ide-test: Verify READ NATIVE MAX ADDRESS is not limited
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (15 preceding siblings ...)
2024-04-30 7:13 ` [PULL 16/19] hw/ide/core.c (cmd_read_native_max): Avoid limited device parameters Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 18/19] .gitlab-ci.d/cirrus.yml: Shorten the runtime of the macOS and FreeBSD jobs Thomas Huth
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Lev Kujawski
From: Lev Kujawski <lkujaw@mailbox.org>
Verify that the ATA command READ NATIVE MAX ADDRESS returns the last
valid CHS tuple for the native device rather than any limit
established by INITIALIZE DEVICE PARAMETERS.
Signed-off-by: Lev Kujawski <lkujaw@mailbox.org>
Message-ID: <20221010085229.2431276-2-lkujaw@mailbox.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/ide-test.c | 47 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)
diff --git a/tests/qtest/ide-test.c b/tests/qtest/ide-test.c
index d6b4f6e36a..90ba6b298b 100644
--- a/tests/qtest/ide-test.c
+++ b/tests/qtest/ide-test.c
@@ -34,7 +34,8 @@
#include "hw/pci/pci_ids.h"
#include "hw/pci/pci_regs.h"
-#define TEST_IMAGE_SIZE 64 * 1024 * 1024
+/* Specified by ATA (physical) CHS geometry for ~64 MiB device. */
+#define TEST_IMAGE_SIZE ((130 * 16 * 63) * 512)
#define IDE_PCI_DEV 1
#define IDE_PCI_FUNC 1
@@ -88,11 +89,13 @@ enum {
enum {
CMD_DSM = 0x06,
CMD_DIAGNOSE = 0x90,
+ CMD_INIT_DP = 0x91, /* INITIALIZE DEVICE PARAMETERS */
CMD_READ_DMA = 0xc8,
CMD_WRITE_DMA = 0xca,
CMD_FLUSH_CACHE = 0xe7,
CMD_IDENTIFY = 0xec,
CMD_PACKET = 0xa0,
+ CMD_READ_NATIVE = 0xf8, /* READ NATIVE MAX ADDRESS */
CMDF_ABORT = 0x100,
CMDF_NO_BM = 0x200,
@@ -560,6 +563,46 @@ static void string_cpu_to_be16(uint16_t *s, size_t bytes)
}
}
+static void test_specify(void)
+{
+ QTestState *qts;
+ QPCIDevice *dev;
+ QPCIBar bmdma_bar, ide_bar;
+ uint16_t cyls;
+ uint8_t heads, spt;
+
+ qts = ide_test_start(
+ "-blockdev driver=file,node-name=hda,filename=%s "
+ "-device ide-hd,drive=hda,bus=ide.0,unit=0 ",
+ tmp_path[0]);
+
+ dev = get_pci_device(qts, &bmdma_bar, &ide_bar);
+
+ /* Initialize drive with zero sectors per track and one head. */
+ qpci_io_writeb(dev, ide_bar, reg_nsectors, 0);
+ qpci_io_writeb(dev, ide_bar, reg_device, 0);
+ qpci_io_writeb(dev, ide_bar, reg_command, CMD_INIT_DP);
+
+ /* READ NATIVE MAX ADDRESS (CHS mode). */
+ qpci_io_writeb(dev, ide_bar, reg_device, 0xa0);
+ qpci_io_writeb(dev, ide_bar, reg_command, CMD_READ_NATIVE);
+
+ heads = qpci_io_readb(dev, ide_bar, reg_device) & 0xf;
+ ++heads;
+ g_assert_cmpint(heads, ==, 16);
+
+ cyls = qpci_io_readb(dev, ide_bar, reg_lba_high) << 8;
+ cyls |= qpci_io_readb(dev, ide_bar, reg_lba_middle);
+ ++cyls;
+ g_assert_cmpint(cyls, ==, 130);
+
+ spt = qpci_io_readb(dev, ide_bar, reg_lba_low);
+ g_assert_cmpint(spt, ==, 63);
+
+ ide_test_quit(qts);
+ free_pci_device(dev);
+}
+
static void test_identify(void)
{
QTestState *qts;
@@ -1077,6 +1120,8 @@ int main(int argc, char **argv)
/* Run the tests */
g_test_init(&argc, &argv, NULL);
+ qtest_add_func("/ide/read_native", test_specify);
+
qtest_add_func("/ide/identify", test_identify);
qtest_add_func("/ide/diagnostic", test_diagnostic);
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 18/19] .gitlab-ci.d/cirrus.yml: Shorten the runtime of the macOS and FreeBSD jobs
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (16 preceding siblings ...)
2024-04-30 7:13 ` [PULL 17/19] tests/qtest/ide-test: Verify READ NATIVE MAX ADDRESS is not limited Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 7:13 ` [PULL 19/19] .gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs Thomas Huth
2024-04-30 23:00 ` [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Richard Henderson
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Cirrus-CI introduced limitations to the free CI minutes. To avoid that
we are consuming them too fast, let's drop the usual targets that are
not that important since they are either a subset of another target
(like i386 or ppc being a subset of x86_64 or ppc64 respectively), or
since there is still a similar target with the opposite endianness
(like xtensa/xtensael, microblaze/microblazeel etc.).
Message-ID: <20240429100113.53357-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/cirrus.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index 4671f069c3..49f86fadaf 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -57,6 +57,7 @@ x64-freebsd-13-build:
CIRRUS_VM_RAM: 8G
UPDATE_COMMAND: pkg update; pkg upgrade -y
INSTALL_COMMAND: pkg install -y
+ CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4eb-softmmu,xtensa-softmmu
TEST_TARGETS: check
aarch64-macos-13-base-build:
@@ -72,6 +73,7 @@ aarch64-macos-13-base-build:
INSTALL_COMMAND: brew install
PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin
PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
+ CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblazeel-softmmu,mips64-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4-softmmu,xtensaeb-softmmu
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
aarch64-macos-14-base-build:
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 19/19] .gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (17 preceding siblings ...)
2024-04-30 7:13 ` [PULL 18/19] .gitlab-ci.d/cirrus.yml: Shorten the runtime of the macOS and FreeBSD jobs Thomas Huth
@ 2024-04-30 7:13 ` Thomas Huth
2024-04-30 23:00 ` [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Richard Henderson
19 siblings, 0 replies; 21+ messages in thread
From: Thomas Huth @ 2024-04-30 7:13 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
During the past months, the netbsd and openbsd jobs in the Cirrus-CI
were broken most of the time - the setup to run a BSD in KVM on Cirrus-CI
from gitlab via the cirrus-run script was very fragile, and since the
jobs were not run by default, it used to bitrot very fast.
Now Cirrus-CI also introduce a limit on the amount of free CI minutes
that you get there, so it is not appealing at all anymore to run
these BSDs in this setup - it's better to run the checks locally via
"make vm-build-openbsd" and "make vm-build-netbsd" instead. Thus let's
remove these CI jobs now.
Message-ID: <20240426113742.654748-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/cirrus.yml | 37 -------------------------------
.gitlab-ci.d/cirrus/kvm-build.yml | 31 --------------------------
2 files changed, 68 deletions(-)
delete mode 100644 .gitlab-ci.d/cirrus/kvm-build.yml
diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index 49f86fadaf..75df1273bc 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -91,40 +91,3 @@ aarch64-macos-14-base-build:
PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
QEMU_JOB_OPTIONAL: 1
-
-
-# The following jobs run VM-based tests via KVM on a Linux-based Cirrus-CI job
-.cirrus_kvm_job:
- extends: .base_job_template
- stage: build
- image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
- needs: []
- timeout: 80m
- script:
- - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
- -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
- -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
- -e "s|[@]NAME@|$NAME|g"
- -e "s|[@]CONFIGURE_ARGS@|$CONFIGURE_ARGS|g"
- -e "s|[@]TEST_TARGETS@|$TEST_TARGETS|g"
- <.gitlab-ci.d/cirrus/kvm-build.yml >.gitlab-ci.d/cirrus/$NAME.yml
- - cat .gitlab-ci.d/cirrus/$NAME.yml
- - cirrus-run -v --show-build-log always .gitlab-ci.d/cirrus/$NAME.yml
- variables:
- QEMU_JOB_CIRRUS: 1
- QEMU_JOB_OPTIONAL: 1
-
-
-x86-netbsd:
- extends: .cirrus_kvm_job
- variables:
- NAME: netbsd
- CONFIGURE_ARGS: --target-list=x86_64-softmmu,ppc64-softmmu,aarch64-softmmu
- TEST_TARGETS: check
-
-x86-openbsd:
- extends: .cirrus_kvm_job
- variables:
- NAME: openbsd
- CONFIGURE_ARGS: --target-list=i386-softmmu,riscv64-softmmu,mips64-softmmu
- TEST_TARGETS: check
diff --git a/.gitlab-ci.d/cirrus/kvm-build.yml b/.gitlab-ci.d/cirrus/kvm-build.yml
deleted file mode 100644
index a93881aa8b..0000000000
--- a/.gitlab-ci.d/cirrus/kvm-build.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-container:
- image: fedora:35
- cpu: 4
- memory: 8Gb
- kvm: true
-
-env:
- CIRRUS_CLONE_DEPTH: 1
- CI_REPOSITORY_URL: "@CI_REPOSITORY_URL@"
- CI_COMMIT_REF_NAME: "@CI_COMMIT_REF_NAME@"
- CI_COMMIT_SHA: "@CI_COMMIT_SHA@"
-
-@NAME@_task:
- @NAME@_vm_cache:
- folder: $HOME/.cache/qemu-vm
- install_script:
- - dnf update -y
- - dnf install -y git make openssh-clients qemu-img qemu-system-x86 wget meson
- clone_script:
- - git clone --depth 100 "$CI_REPOSITORY_URL" .
- - git fetch origin "$CI_COMMIT_REF_NAME"
- - git reset --hard "$CI_COMMIT_SHA"
- build_script:
- - if [ -f $HOME/.cache/qemu-vm/images/@NAME@.img ]; then
- make vm-build-@NAME@ J=$(getconf _NPROCESSORS_ONLN)
- EXTRA_CONFIGURE_OPTS="@CONFIGURE_ARGS@"
- BUILD_TARGET="@TEST_TARGETS@" ;
- else
- make vm-build-@NAME@ J=$(getconf _NPROCESSORS_ONLN) BUILD_TARGET=help
- EXTRA_CONFIGURE_OPTS="--disable-system --disable-user --disable-tools" ;
- fi
--
2.44.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...)
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
` (18 preceding siblings ...)
2024-04-30 7:13 ` [PULL 19/19] .gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs Thomas Huth
@ 2024-04-30 23:00 ` Richard Henderson
19 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2024-04-30 23:00 UTC (permalink / raw)
To: Thomas Huth, qemu-devel
On 4/30/24 00:13, Thomas Huth wrote:
> Hi Richard!
>
> The following changes since commit 5fee33d97a7f2e95716417bd164f2f5264acd976:
>
> Merge tag 'samuel-thibault' ofhttps://people.debian.org/~sthibault/qemu into staging (2024-04-29 14:34:25 -0700)
>
> are available in the Git repository at:
>
> https://gitlab.com/thuth/qemu.git tags/pull-request-2024-04-30
>
> for you to fetch changes up to cc6cb422e09592158586279fddeef107df05ecbb:
>
> .gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs (2024-04-30 07:09:22 +0200)
>
> ----------------------------------------------------------------
> * Clean-ups for "errp" handling in s390x cpu_model code
> * Fix a possible abort in the "edu" device
> * Add missing qga stubs for stand-alone qga builds and re-enable qga-ssh-test
Just an fyi, this test failed the first time around in the gcov job, but passed on the
second attempt. I'll keep an eye on it, but it may not be stable enough.
> * Fix memory corruption caused by the stm32l4x5 uart device
> * Update the s390x custom runner to Ubuntu 22.04
> * Fix READ NATIVE MAX ADDRESS IDE commands to avoid a possible crash
> * Shorten the runtime of Cirrus-CI jobs
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/9.1 as appropriate.
r~
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2024-04-30 23:02 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-30 7:13 [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Thomas Huth
2024-04-30 7:13 ` [PULL 01/19] target/s390x/cpu_model: Make check_compatibility() return boolean Thomas Huth
2024-04-30 7:13 ` [PULL 02/19] target/s390x/cpu_model: Drop local @err in s390_realize_cpu_model() Thomas Huth
2024-04-30 7:13 ` [PULL 03/19] target/s390x/cpu_models: Make kvm_s390_get_host_cpu_model() return boolean Thomas Huth
2024-04-30 7:13 ` [PULL 04/19] target/s390x/cpu_models: Drop local @err in get_max_cpu_model() Thomas Huth
2024-04-30 7:13 ` [PULL 05/19] target/s390x/cpu_models: Make kvm_s390_apply_cpu_model() return boolean Thomas Huth
2024-04-30 7:13 ` [PULL 06/19] target/s390x/cpu_models_sysemu: Drop local @err in apply_cpu_model() Thomas Huth
2024-04-30 7:13 ` [PULL 07/19] hw: misc: edu: fix 2 off-by-one errors Thomas Huth
2024-04-30 7:13 ` [PULL 08/19] hw: misc: edu: rename local vars in edu_check_range Thomas Huth
2024-04-30 7:13 ` [PULL 09/19] hw: misc: edu: use qemu_log_mask instead of hw_error Thomas Huth
2024-04-30 7:13 ` [PULL 10/19] stubs: Add missing qga stubs Thomas Huth
2024-04-30 7:13 ` [PULL 11/19] qga: Re-enable the qga-ssh-test when running without fuzzing Thomas Huth
2024-04-30 7:13 ` [PULL 12/19] hw/char/stm32l4x5_usart: Fix memory corruption by adding correct class_size Thomas Huth
2024-04-30 7:13 ` [PULL 13/19] build-environment: make some packages optional Thomas Huth
2024-04-30 7:13 ` [PULL 14/19] gitlab: migrate the s390x custom machine to 22.04 Thomas Huth
2024-04-30 7:13 ` [PULL 15/19] gitlab: remove stale s390x-all-linux-static conf hacks Thomas Huth
2024-04-30 7:13 ` [PULL 16/19] hw/ide/core.c (cmd_read_native_max): Avoid limited device parameters Thomas Huth
2024-04-30 7:13 ` [PULL 17/19] tests/qtest/ide-test: Verify READ NATIVE MAX ADDRESS is not limited Thomas Huth
2024-04-30 7:13 ` [PULL 18/19] .gitlab-ci.d/cirrus.yml: Shorten the runtime of the macOS and FreeBSD jobs Thomas Huth
2024-04-30 7:13 ` [PULL 19/19] .gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs Thomas Huth
2024-04-30 23:00 ` [PULL 00/19] Misc patches (s390x clean-ups, fixes for crashes, ...) Richard Henderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).