[PATCH for-8.1] target/m68k: Fix semihost lseek offset computation

Peter Maydell posted 1 patch 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230801154519.3505531-1-peter.maydell@linaro.org
Maintainers: Laurent Vivier <laurent@vivier.eu>
target/m68k/m68k-semi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH for-8.1] target/m68k: Fix semihost lseek offset computation
Posted by Peter Maydell 9 months ago
The arguments for deposit64 are (value, start, length, fieldval); this
appears to have thought they were (value, fieldval, start,
length). Reorder the parameters to match the actual function.

Cc: qemu-stable@nongnu.org
Fixes: 950272506d ("target/m68k: Use semihosting/syscalls.h")
Reported-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
Same fix for m68k as Keith Packard just sent for nios2
---
 target/m68k/m68k-semi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/m68k/m68k-semi.c b/target/m68k/m68k-semi.c
index 88ad9ba8144..239f6e44e90 100644
--- a/target/m68k/m68k-semi.c
+++ b/target/m68k/m68k-semi.c
@@ -166,7 +166,7 @@ void do_m68k_semihosting(CPUM68KState *env, int nr)
         GET_ARG64(2);
         GET_ARG64(3);
         semihost_sys_lseek(cs, m68k_semi_u64_cb, arg0,
-                           deposit64(arg2, arg1, 32, 32), arg3);
+                           deposit64(arg2, 32, 32, arg1), arg3);
         break;
 
     case HOSTED_RENAME:
-- 
2.34.1


Re: [PATCH for-8.1] target/m68k: Fix semihost lseek offset computation
Posted by Philippe Mathieu-Daudé 9 months ago
On 1/8/23 17:45, Peter Maydell wrote:
> The arguments for deposit64 are (value, start, length, fieldval); this
> appears to have thought they were (value, fieldval, start,
> length). Reorder the parameters to match the actual function.
> 
> Cc: qemu-stable@nongnu.org
> Fixes: 950272506d ("target/m68k: Use semihosting/syscalls.h")
> Reported-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> Same fix for m68k as Keith Packard just sent for nios2
> ---
>   target/m68k/m68k-semi.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Thanks, queued via misc-fixes.


Re: [PATCH for-8.1] target/m68k: Fix semihost lseek offset computation
Posted by Philippe Mathieu-Daudé 9 months ago
On 1/8/23 17:45, Peter Maydell wrote:
> The arguments for deposit64 are (value, start, length, fieldval); this
> appears to have thought they were (value, fieldval, start,
> length). Reorder the parameters to match the actual function.
> 
> Cc: qemu-stable@nongnu.org
> Fixes: 950272506d ("target/m68k: Use semihosting/syscalls.h")
> Reported-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> Same fix for m68k as Keith Packard just sent for nios2
> ---
>   target/m68k/m68k-semi.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/m68k/m68k-semi.c b/target/m68k/m68k-semi.c
> index 88ad9ba8144..239f6e44e90 100644
> --- a/target/m68k/m68k-semi.c
> +++ b/target/m68k/m68k-semi.c
> @@ -166,7 +166,7 @@ void do_m68k_semihosting(CPUM68KState *env, int nr)
>           GET_ARG64(2);
>           GET_ARG64(3);
>           semihost_sys_lseek(cs, m68k_semi_u64_cb, arg0,
> -                           deposit64(arg2, arg1, 32, 32), arg3);
> +                           deposit64(arg2, 32, 32, arg1), arg3);
>           break;
>   
>       case HOSTED_RENAME:

Thanks for writing the fix!

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>