aboutsummaryrefslogtreecommitdiff
path: root/system/physmem.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2024-05-07 14:12:46 +0200
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-05-08 19:43:23 +0200
commitd5e268197aa2ba89bc0540717c72be2c69568b62 (patch)
treed6b92bd56db788bf153cfb1f7e54eae19d3022e5 /system/physmem.c
parente6578f1f68a0e90789a841ada532c3e494c9a04c (diff)
system/physmem: Replace qemu_mutex_lock() calls with QEMU_LOCK_GUARD
Simplify cpu_[un]register_map_client() and cpu_notify_map_clients() by replacing the pair of qemu_mutex_lock/qemu_mutex_unlock calls by the WITH_QEMU_LOCK_GUARD() macro. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Mattias Nissler <mnissler@rivosinc.com> Reviewed-by: Peter Xu <peterx@redhat.com> Message-Id: <20240507123025.93391-2-philmd@linaro.org>
Diffstat (limited to 'system/physmem.c')
-rw-r--r--system/physmem.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/system/physmem.c b/system/physmem.c
index d3a3d8a45c..26f42f4a6f 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -25,6 +25,7 @@
#include "qemu/cacheflush.h"
#include "qemu/hbitmap.h"
#include "qemu/madvise.h"
+#include "qemu/lockable.h"
#ifdef CONFIG_TCG
#include "hw/core/tcg-cpu-ops.h"
@@ -3086,7 +3087,7 @@ void cpu_register_map_client(QEMUBH *bh)
{
MapClient *client = g_malloc(sizeof(*client));
- qemu_mutex_lock(&map_client_list_lock);
+ QEMU_LOCK_GUARD(&map_client_list_lock);
client->bh = bh;
QLIST_INSERT_HEAD(&map_client_list, client, link);
/* Write map_client_list before reading in_use. */
@@ -3094,7 +3095,6 @@ void cpu_register_map_client(QEMUBH *bh)
if (!qatomic_read(&bounce.in_use)) {
cpu_notify_map_clients_locked();
}
- qemu_mutex_unlock(&map_client_list_lock);
}
void cpu_exec_init_all(void)
@@ -3117,21 +3117,19 @@ void cpu_unregister_map_client(QEMUBH *bh)
{
MapClient *client;
- qemu_mutex_lock(&map_client_list_lock);
+ QEMU_LOCK_GUARD(&map_client_list_lock);
QLIST_FOREACH(client, &map_client_list, link) {
if (client->bh == bh) {
cpu_unregister_map_client_do(client);
break;
}
}
- qemu_mutex_unlock(&map_client_list_lock);
}
static void cpu_notify_map_clients(void)
{
- qemu_mutex_lock(&map_client_list_lock);
+ QEMU_LOCK_GUARD(&map_client_list_lock);
cpu_notify_map_clients_locked();
- qemu_mutex_unlock(&map_client_list_lock);
}
static bool flatview_access_valid(FlatView *fv, hwaddr addr, hwaddr len,