* [PATCH v3 0/2] semihosting/uaccess: Compile once
@ 2025-05-26 9:52 Philippe Mathieu-Daudé
2025-05-26 9:52 ` [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type Philippe Mathieu-Daudé
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-26 9:52 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Philippe Mathieu-Daudé
Replace target_ulong -> vaddr/size_t to compile once.
since v2:
- fixed build error when TCG enabled (Pierrick)
since v1:
- fixed build error when TCG disabled (Pierrick)
Based-on: <20250521223414.248276-1-pierrick.bouvier@linaro.org>
Philippe Mathieu-Daudé (2):
semihosting/uaccess: Remove uses of target_ulong type
semihosting/uaccess: Compile once
include/semihosting/uaccess.h | 12 ++++++------
semihosting/uaccess.c | 10 +++++-----
semihosting/meson.build | 5 +----
3 files changed, 12 insertions(+), 15 deletions(-)
--
2.47.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type
2025-05-26 9:52 [PATCH v3 0/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
@ 2025-05-26 9:52 ` Philippe Mathieu-Daudé
2025-05-26 17:25 ` Richard Henderson
2025-05-26 9:52 ` [PATCH v3 2/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
2025-06-03 11:17 ` [PATCH v3 0/2] " Philippe Mathieu-Daudé
2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-26 9:52 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Philippe Mathieu-Daudé
Replace target_ulong by vaddr or size_t types to match
cpu_memory_rw_debug() prototype in "exec/cpu-common.h":
> int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
> void *ptr, size_t len,
> bool is_write);
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
include/semihosting/uaccess.h | 12 ++++++------
semihosting/uaccess.c | 10 +++++-----
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/include/semihosting/uaccess.h b/include/semihosting/uaccess.h
index 6bc90b12d6f..2093a498277 100644
--- a/include/semihosting/uaccess.h
+++ b/include/semihosting/uaccess.h
@@ -15,9 +15,9 @@
#endif
#include "exec/cpu-common.h"
-#include "exec/cpu-defs.h"
#include "exec/tswap.h"
#include "exec/page-protection.h"
+#include "exec/vaddr.h"
/**
* get_user_u64:
@@ -89,8 +89,8 @@
*
* The returned pointer should be freed using uaccess_unlock_user().
*/
-void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
- target_ulong len, bool copy);
+void *uaccess_lock_user(CPUArchState *env, vaddr addr,
+ size_t len, bool copy);
/**
* lock_user:
*
@@ -103,7 +103,7 @@ void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
*
* The returned string should be freed using uaccess_unlock_user().
*/
-char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr);
+char *uaccess_lock_user_string(CPUArchState *env, vaddr addr);
/**
* uaccess_lock_user_string:
*
@@ -112,10 +112,10 @@ char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr);
#define lock_user_string(p) uaccess_lock_user_string(env, p)
void uaccess_unlock_user(CPUArchState *env, void *p,
- target_ulong addr, target_ulong len);
+ vaddr addr, size_t len);
#define unlock_user(s, args, len) uaccess_unlock_user(env, s, args, len)
-ssize_t uaccess_strlen_user(CPUArchState *env, target_ulong addr);
+ssize_t uaccess_strlen_user(CPUArchState *env, vaddr addr);
#define target_strlen(p) uaccess_strlen_user(env, p)
#endif /* SEMIHOSTING_SOFTMMU_UACCESS_H */
diff --git a/semihosting/uaccess.c b/semihosting/uaccess.c
index 4554844e15b..ff944d8c2f7 100644
--- a/semihosting/uaccess.c
+++ b/semihosting/uaccess.c
@@ -14,8 +14,8 @@
#include "exec/tlb-flags.h"
#include "semihosting/uaccess.h"
-void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
- target_ulong len, bool copy)
+void *uaccess_lock_user(CPUArchState *env, vaddr addr,
+ size_t len, bool copy)
{
void *p = malloc(len);
if (p && copy) {
@@ -27,7 +27,7 @@ void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
return p;
}
-ssize_t uaccess_strlen_user(CPUArchState *env, target_ulong addr)
+ssize_t uaccess_strlen_user(CPUArchState *env, vaddr addr)
{
int mmu_idx = cpu_mmu_index(env_cpu(env), false);
size_t len = 0;
@@ -75,7 +75,7 @@ ssize_t uaccess_strlen_user(CPUArchState *env, target_ulong addr)
}
}
-char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr)
+char *uaccess_lock_user_string(CPUArchState *env, vaddr addr)
{
ssize_t len = uaccess_strlen_user(env, addr);
if (len < 0) {
@@ -85,7 +85,7 @@ char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr)
}
void uaccess_unlock_user(CPUArchState *env, void *p,
- target_ulong addr, target_ulong len)
+ vaddr addr, size_t len)
{
if (len) {
cpu_memory_rw_debug(env_cpu(env), addr, p, len, 1);
--
2.47.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/2] semihosting/uaccess: Compile once
2025-05-26 9:52 [PATCH v3 0/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
2025-05-26 9:52 ` [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type Philippe Mathieu-Daudé
@ 2025-05-26 9:52 ` Philippe Mathieu-Daudé
2025-05-26 17:26 ` Richard Henderson
2025-06-03 11:17 ` [PATCH v3 0/2] " Philippe Mathieu-Daudé
2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-26 9:52 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
semihosting/meson.build | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/semihosting/meson.build b/semihosting/meson.build
index f3d38dda91d..b1ab2506c6e 100644
--- a/semihosting/meson.build
+++ b/semihosting/meson.build
@@ -3,15 +3,12 @@ specific_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files(
'syscalls.c',
))
-specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_SYSTEM_ONLY'], if_true: files(
- 'uaccess.c',
-))
-
common_ss.add(when: 'CONFIG_SEMIHOSTING', if_false: files('stubs-all.c'))
user_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files('user.c'))
system_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files(
'config.c',
'console.c',
+ 'uaccess.c',
), if_false: files(
'stubs-system.c',
))
--
2.47.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type
2025-05-26 9:52 ` [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type Philippe Mathieu-Daudé
@ 2025-05-26 17:25 ` Richard Henderson
0 siblings, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2025-05-26 17:25 UTC (permalink / raw)
To: qemu-devel
On 5/26/25 10:52, Philippe Mathieu-Daudé wrote:
> Replace target_ulong by vaddr or size_t types to match
> cpu_memory_rw_debug() prototype in "exec/cpu-common.h":
>
> > int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
> > void *ptr, size_t len,
> > bool is_write);
>
> Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org>
> Reviewed-by: Pierrick Bouvier<pierrick.bouvier@linaro.org>
> ---
> include/semihosting/uaccess.h | 12 ++++++------
> semihosting/uaccess.c | 10 +++++-----
> 2 files changed, 11 insertions(+), 11 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/2] semihosting/uaccess: Compile once
2025-05-26 9:52 ` [PATCH v3 2/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
@ 2025-05-26 17:26 ` Richard Henderson
0 siblings, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2025-05-26 17:26 UTC (permalink / raw)
To: qemu-devel
On 5/26/25 10:52, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> semihosting/meson.build | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/semihosting/meson.build b/semihosting/meson.build
> index f3d38dda91d..b1ab2506c6e 100644
> --- a/semihosting/meson.build
> +++ b/semihosting/meson.build
> @@ -3,15 +3,12 @@ specific_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files(
> 'syscalls.c',
> ))
>
> -specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_SYSTEM_ONLY'], if_true: files(
> - 'uaccess.c',
> -))
> -
> common_ss.add(when: 'CONFIG_SEMIHOSTING', if_false: files('stubs-all.c'))
> user_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files('user.c'))
> system_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files(
> 'config.c',
> 'console.c',
> + 'uaccess.c',
> ), if_false: files(
> 'stubs-system.c',
> ))
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 0/2] semihosting/uaccess: Compile once
2025-05-26 9:52 [PATCH v3 0/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
2025-05-26 9:52 ` [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type Philippe Mathieu-Daudé
2025-05-26 9:52 ` [PATCH v3 2/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
@ 2025-06-03 11:17 ` Philippe Mathieu-Daudé
2025-06-06 10:00 ` Alex Bennée
2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-06-03 11:17 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Pierrick Bouvier
ping?
On 26/5/25 11:52, Philippe Mathieu-Daudé wrote:
> Replace target_ulong -> vaddr/size_t to compile once.
>
> since v2:
> - fixed build error when TCG enabled (Pierrick)
> since v1:
> - fixed build error when TCG disabled (Pierrick)
>
> Based-on: <20250521223414.248276-1-pierrick.bouvier@linaro.org>
>
> Philippe Mathieu-Daudé (2):
> semihosting/uaccess: Remove uses of target_ulong type
> semihosting/uaccess: Compile once
>
> include/semihosting/uaccess.h | 12 ++++++------
> semihosting/uaccess.c | 10 +++++-----
> semihosting/meson.build | 5 +----
> 3 files changed, 12 insertions(+), 15 deletions(-)
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 0/2] semihosting/uaccess: Compile once
2025-06-03 11:17 ` [PATCH v3 0/2] " Philippe Mathieu-Daudé
@ 2025-06-06 10:00 ` Alex Bennée
0 siblings, 0 replies; 7+ messages in thread
From: Alex Bennée @ 2025-06-06 10:00 UTC (permalink / raw)
To: Philippe Mathieu-Daudé; +Cc: qemu-devel, Pierrick Bouvier
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> ping?
Queued to semihosting/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-06-06 10:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-26 9:52 [PATCH v3 0/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
2025-05-26 9:52 ` [PATCH v3 1/2] semihosting/uaccess: Remove uses of target_ulong type Philippe Mathieu-Daudé
2025-05-26 17:25 ` Richard Henderson
2025-05-26 9:52 ` [PATCH v3 2/2] semihosting/uaccess: Compile once Philippe Mathieu-Daudé
2025-05-26 17:26 ` Richard Henderson
2025-06-03 11:17 ` [PATCH v3 0/2] " Philippe Mathieu-Daudé
2025-06-06 10:00 ` Alex Bennée
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).