From nobody Tue Feb 10 03:38:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.54 as permitted sender) client-ip=209.85.128.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1631467674; cv=none; d=zohomail.com; s=zohoarc; b=b8Q0HdIbm8eWdPC9U5//Vg+QC0MF/5qlCC2sMZAFuuXRv+nah78azWdDAOZrEX3XACp6CXspdPnzvhpa0hwx4AemyLCwMSqCOwD8RD86ELoBFQBksGjLPnzdgEn15n+51PrEZ1b3nnqW5RxP6iPMZf1juwsPnzu/u/QLK7v37xo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1631467674; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iF+BUQdpUBLOExjcgfnC9NPPhj36bSjul81IxTvt2js=; b=YfApM/1nFnXVEstrZUpBv6DCCN7pVKxL5d1gnGCUprt3l15/7K88Ih2pp0mY28G+VxBF8RXjmvNG9Pjn0VX0enuYMQ6e8/W68KgXnyfGhiIlLdDEP9qGQgKQnB3WAmQMCDKWNTOfMVUczYaSJ/08yOfmLrHDgEsky7DPqI+YU9A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by mx.zohomail.com with SMTPS id 1631467674764897.1711916782502; Sun, 12 Sep 2021 10:27:54 -0700 (PDT) Received: by mail-wm1-f54.google.com with SMTP id n7-20020a05600c3b8700b002f8ca941d89so4971888wms.2 for ; Sun, 12 Sep 2021 10:27:54 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (21.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.21]) by smtp.gmail.com with ESMTPSA id s24sm4510797wmh.34.2021.09.12.10.27.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Sep 2021 10:27:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iF+BUQdpUBLOExjcgfnC9NPPhj36bSjul81IxTvt2js=; b=hSZtuSplvRjYXLF1yzhj9cjdxRlSfPrekdGiG09GjIsSKcN3YdbEpDFrE1tIJN1+l3 ABxiRFpNC6E27dVfIqAneQm0C4yuM2V4MHTHdd0RjBuQDOA5GijQ6TLs7Vq16ynq6WMI d2mC2/9jyCsWT3lxn9ZSuLrSw9enT5H/8EA20o8skiHzI754qW1f0QlYqXkjXF26BLaV Ve5IFKKc1TBzRqRXp+tgtyNsigq1xJhCJ3JjkOh0TutaRZ6WBB7qiusrXv7vuohg+KUq ZXQoxu0Xj5oVzX60SjBJAdpOSk6QxAntVX+k2u3QStP7VOc3a/eOHY5tVMvLrqM/YI/G ONuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=iF+BUQdpUBLOExjcgfnC9NPPhj36bSjul81IxTvt2js=; b=CrfSEYmg9zBH7vyWzsyjlvx7NP5uIbGBzoNtuyhS1e3qEGXENn5rGg1v85FKjSldRS BAdb/JuA41to2lAdBNu/Cr0txX8sjPzOurnShDirZCkqVZJPSxu/lpGWf1lmeolHzVeq iWppL3/i5o2ugEop35v9650OMyyIN9ZqCe8qhKKpsPFYoPCdw2W9OuZak1CJwMXrurFu k926jiY5fE+k3UB2jyeqk7Aa9pqEPzKlTE5qPvG2jWi2YJar4bfg6kF/L2OGNtK54fAn qd0lRJzIjMz6DB/Ix7PYp2ZyzYToCLLYCLfIS65aDF+K76BwU9YABEq9uH/U53dlfPq1 GHng== X-Gm-Message-State: AOAM533TdWsoS6K2AnHRLmWXuPr6TIDfGW2cVqmICfHNekhHv088YH2J ntyPY3mTd1r7IOhvto/oYsA= X-Google-Smtp-Source: ABdhPJw09MOwyJfxQabRzE5VdDnCL1hJpIP3tqXjCQYn1TAcIdztxCVmTlKrua2IlA3wqa71AWiP2g== X-Received: by 2002:a7b:cc07:: with SMTP id f7mr7588981wmh.145.1631467673096; Sun, 12 Sep 2021 10:27:53 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: David Gibson , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 04/30] sysemu: Introduce AccelOpsClass::has_work() Date: Sun, 12 Sep 2021 19:27:05 +0200 Message-Id: <20210912172731.789788-5-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210912172731.789788-1-f4bug@amsat.org> References: <20210912172731.789788-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1631467676379100001 Introduce an accelerator-specific has_work() handler. Eventually call it from cpu_has_work(). Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/sysemu/accel-ops.h | 5 +++++ softmmu/cpus.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/include/sysemu/accel-ops.h b/include/sysemu/accel-ops.h index 032f6979d76..de83f095f20 100644 --- a/include/sysemu/accel-ops.h +++ b/include/sysemu/accel-ops.h @@ -31,6 +31,11 @@ struct AccelOpsClass { void (*create_vcpu_thread)(CPUState *cpu); /* MANDATORY NON-NULL */ void (*kick_vcpu_thread)(CPUState *cpu); =20 + /** + * @has_work: Callback for checking if there is work to do. + */ + bool (*has_work)(CPUState *cpu); + void (*synchronize_post_reset)(CPUState *cpu); void (*synchronize_post_init)(CPUState *cpu); void (*synchronize_state)(CPUState *cpu); diff --git a/softmmu/cpus.c b/softmmu/cpus.c index 7e2cb2c571b..2a61dfd6287 100644 --- a/softmmu/cpus.c +++ b/softmmu/cpus.c @@ -255,6 +255,9 @@ bool cpu_has_work(CPUState *cpu) { CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 + if (cpus_accel->has_work) { + return cpus_accel->has_work(cpu); + } g_assert(cc->has_work); return cc->has_work(cpu); } --=20 2.31.1