aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-08-16 09:01:50 -0500
committerRichard Henderson <richard.henderson@linaro.org>2022-08-16 09:01:50 -0500
commit09a78762a2d68e5a5634bb7f07262c01d4538d98 (patch)
tree2346d11174a1d4b0e81932b01a8aae5e74918d66
parentd102b8162a1e5fe8288d4d5c01801ce6536ac2d1 (diff)
parent65711f9a87874a9ec61108c6009f8baec07c8b0d (diff)
Merge tag 'pull-for-7.1-fixes-160822-1' of https://github.com/stsquad/qemu into staging
A few small fixes: - properly un-parent OBJECT(cpu) when closing -user thread - add missing timeout to aspeed tests - reduce raciness of login: prompt handling for aspeed tests # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmL7XG0ACgkQ+9DbCVqe # KkRDAAf9EfolGONaDKRaBkzdASuIadVGDr3EUDFe+Ho7cyJjnrOu8XjbOuB9Ayc4 # Vg4ccTSWYtCQdh4HhPOuCSmCoDmvCgnzze+eLS1E/PDNAMH0puPYikacpdp09Nng # qtPqb9QfaJNy7imrtg43kXWDbUHU21YlgGIguBYCJV5EKBFlNH84iyf5wYjXjQkp # OXpSGcSdNBJ569g1tksrBZrrSMEMMFHnpDmMxRbNnDlJ/yDKbLI8t0CXLR1hU6le # IjKWV7ZChEYiTRn+tlVrRdiFJjqhKtOoc9VXlVG67MW9orEQwk0gYVrnhxmC+N0t # hMcbncw8CgxS270cEqccxxYDF5Uxng== # =9IHQ # -----END PGP SIGNATURE----- # gpg: Signature made Tue 16 Aug 2022 03:59:25 AM CDT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * tag 'pull-for-7.1-fixes-160822-1' of https://github.com/stsquad/qemu: tests/avocado: apply a band aid to aspeed-evb login tests/avocado: add timeout to the aspeed tests linux-user: un-parent OBJECT(cpu) when closing thread Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r--linux-user/syscall.c13
-rw-r--r--tests/avocado/machine_aspeed.py4
2 files changed, 11 insertions, 6 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f409121202..bfdd60136b 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8594,7 +8594,13 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
if (CPU_NEXT(first_cpu)) {
TaskState *ts = cpu->opaque;
- object_property_set_bool(OBJECT(cpu), "realized", false, NULL);
+ if (ts->child_tidptr) {
+ put_user_u32(0, ts->child_tidptr);
+ do_sys_futex(g2h(cpu, ts->child_tidptr),
+ FUTEX_WAKE, INT_MAX, NULL, NULL, 0);
+ }
+
+ object_unparent(OBJECT(cpu));
object_unref(OBJECT(cpu));
/*
* At this point the CPU should be unrealized and removed
@@ -8604,11 +8610,6 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
pthread_mutex_unlock(&clone_lock);
- if (ts->child_tidptr) {
- put_user_u32(0, ts->child_tidptr);
- do_sys_futex(g2h(cpu, ts->child_tidptr),
- FUTEX_WAKE, INT_MAX, NULL, NULL, 0);
- }
thread_cpu = NULL;
g_free(ts);
rcu_unregister_thread();
diff --git a/tests/avocado/machine_aspeed.py b/tests/avocado/machine_aspeed.py
index b4e35a3d07..65d38f4efa 100644
--- a/tests/avocado/machine_aspeed.py
+++ b/tests/avocado/machine_aspeed.py
@@ -40,6 +40,8 @@ class AST1030Machine(QemuSystemTest):
class AST2x00Machine(QemuSystemTest):
+ timeout = 90
+
def wait_for_console_pattern(self, success_message, vm=None):
wait_for_console_pattern(self, success_message,
failure_message='Kernel panic - not syncing',
@@ -99,7 +101,9 @@ class AST2x00Machine(QemuSystemTest):
self.wait_for_console_pattern('Starting kernel ...')
self.wait_for_console_pattern('Booting Linux on physical CPU ' + cpu_id)
self.wait_for_console_pattern('lease of 10.0.2.15')
+ # the line before login:
self.wait_for_console_pattern('Aspeed EVB')
+ time.sleep(0.1)
exec_command(self, 'root')
time.sleep(0.1)