qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] linux-user/arm: Fix return value of SYS_cacheflush
@ 2025-06-13 15:59 J. Neuschäfer
  2025-06-16 10:13 ` Peter Maydell
  0 siblings, 1 reply; 2+ messages in thread
From: J. Neuschäfer @ 2025-06-13 15:59 UTC (permalink / raw)
  To: qemu-devel, Laurent Vivier; +Cc: J. Neuschäfer

Although the emulated cacheflush syscall does nothing, it still needs to
return zero to indicate success.

Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net>
---
 linux-user/arm/cpu_loop.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index e8417d040691a04a3edc0f5508f047571beac8fa..33f63951a958a5a48ced2d1e187264d691e5c940 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -363,6 +363,7 @@ void cpu_loop(CPUARMState *env)
                     switch (n) {
                     case ARM_NR_cacheflush:
                         /* nop */
+                        env->regs[0] = 0;
                         break;
                     case ARM_NR_set_tls:
                         cpu_set_tls(env, env->regs[0]);

---
base-commit: d9ce74873a6a5a7c504379857461e4ae64fcf0cd
change-id: 20250613-cache-723a77168c8e

Best regards,
-- 
J. Neuschäfer <j.neuschaefer@gmx.net>



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] linux-user/arm: Fix return value of SYS_cacheflush
  2025-06-13 15:59 [PATCH] linux-user/arm: Fix return value of SYS_cacheflush J. Neuschäfer
@ 2025-06-16 10:13 ` Peter Maydell
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Maydell @ 2025-06-16 10:13 UTC (permalink / raw)
  To: J. Neuschäfer; +Cc: qemu-devel, Laurent Vivier

On Fri, 13 Jun 2025 at 17:02, J. Neuschäfer <j.neuschaefer@gmx.net> wrote:
>
> Although the emulated cacheflush syscall does nothing, it still needs to
> return zero to indicate success.
>
> Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net>
> ---
>  linux-user/arm/cpu_loop.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
> index e8417d040691a04a3edc0f5508f047571beac8fa..33f63951a958a5a48ced2d1e187264d691e5c940 100644
> --- a/linux-user/arm/cpu_loop.c
> +++ b/linux-user/arm/cpu_loop.c
> @@ -363,6 +363,7 @@ void cpu_loop(CPUARMState *env)
>                      switch (n) {
>                      case ARM_NR_cacheflush:
>                          /* nop */
> +                        env->regs[0] = 0;
>                          break;
>                      case ARM_NR_set_tls:
>                          cpu_set_tls(env, env->regs[0]);

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
and queued to target-arm.next. Interesting that nobody's
noticed this in all these years...

(If we were really enthusiastic we could make it fail for
the "end < start || flags" condition the kernel tests, but
that seems unnecessary. The kernel also checks for access
permissions, which would be harder.)

thanks
-- PMM


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-06-16 10:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-13 15:59 [PATCH] linux-user/arm: Fix return value of SYS_cacheflush J. Neuschäfer
2025-06-16 10:13 ` Peter Maydell

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).