* [PATCH] target/riscv: Enable xtheadsync under user mode
@ 2024-02-04 5:52 LIU Zhiwei
2024-02-05 6:17 ` Alistair Francis
2024-02-05 6:28 ` Alistair Francis
0 siblings, 2 replies; 3+ messages in thread
From: LIU Zhiwei @ 2024-02-04 5:52 UTC (permalink / raw)
To: qemu-devel
Cc: Alistair.Francis, palmer, bin.meng, liwei1518, dbarboza,
qemu-riscv, christoph.muellner, LIU Zhiwei
According to xtheadsync[1][2] documentation, it can be used in user mode and
the behavior is same with other priviledges.
[1]:https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsync/sync.adoc
[2]:https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsync/sync_i.adoc
Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
---
target/riscv/insn_trans/trans_xthead.c.inc | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/target/riscv/insn_trans/trans_xthead.c.inc b/target/riscv/insn_trans/trans_xthead.c.inc
index dbb6411239..22488412d4 100644
--- a/target/riscv/insn_trans/trans_xthead.c.inc
+++ b/target/riscv/insn_trans/trans_xthead.c.inc
@@ -992,7 +992,6 @@ static bool trans_th_sfence_vmas(DisasContext *ctx, arg_th_sfence_vmas *a)
#endif
}
-#ifndef CONFIG_USER_ONLY
static void gen_th_sync_local(DisasContext *ctx)
{
/*
@@ -1003,14 +1002,12 @@ static void gen_th_sync_local(DisasContext *ctx)
tcg_gen_exit_tb(NULL, 0);
ctx->base.is_jmp = DISAS_NORETURN;
}
-#endif
static bool trans_th_sync(DisasContext *ctx, arg_th_sync *a)
{
(void) a;
REQUIRE_XTHEADSYNC(ctx);
-#ifndef CONFIG_USER_ONLY
REQUIRE_PRIV_MSU(ctx);
/*
@@ -1019,9 +1016,6 @@ static bool trans_th_sync(DisasContext *ctx, arg_th_sync *a)
gen_th_sync_local(ctx);
return true;
-#else
- return false;
-#endif
}
static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
@@ -1029,7 +1023,6 @@ static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
(void) a;
REQUIRE_XTHEADSYNC(ctx);
-#ifndef CONFIG_USER_ONLY
REQUIRE_PRIV_MSU(ctx);
/*
@@ -1038,9 +1031,6 @@ static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
gen_th_sync_local(ctx);
return true;
-#else
- return false;
-#endif
}
static bool trans_th_sync_is(DisasContext *ctx, arg_th_sync_is *a)
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] target/riscv: Enable xtheadsync under user mode
2024-02-04 5:52 [PATCH] target/riscv: Enable xtheadsync under user mode LIU Zhiwei
@ 2024-02-05 6:17 ` Alistair Francis
2024-02-05 6:28 ` Alistair Francis
1 sibling, 0 replies; 3+ messages in thread
From: Alistair Francis @ 2024-02-05 6:17 UTC (permalink / raw)
To: LIU Zhiwei
Cc: qemu-devel, Alistair.Francis, palmer, bin.meng, liwei1518,
dbarboza, qemu-riscv, christoph.muellner
On Sun, Feb 4, 2024 at 3:53 PM LIU Zhiwei <zhiwei_liu@linux.alibaba.com> wrote:
>
> According to xtheadsync[1][2] documentation, it can be used in user mode and
> the behavior is same with other priviledges.
>
> [1]:https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsync/sync.adoc
> [2]:https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsync/sync_i.adoc
>
> Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/insn_trans/trans_xthead.c.inc | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/target/riscv/insn_trans/trans_xthead.c.inc b/target/riscv/insn_trans/trans_xthead.c.inc
> index dbb6411239..22488412d4 100644
> --- a/target/riscv/insn_trans/trans_xthead.c.inc
> +++ b/target/riscv/insn_trans/trans_xthead.c.inc
> @@ -992,7 +992,6 @@ static bool trans_th_sfence_vmas(DisasContext *ctx, arg_th_sfence_vmas *a)
> #endif
> }
>
> -#ifndef CONFIG_USER_ONLY
> static void gen_th_sync_local(DisasContext *ctx)
> {
> /*
> @@ -1003,14 +1002,12 @@ static void gen_th_sync_local(DisasContext *ctx)
> tcg_gen_exit_tb(NULL, 0);
> ctx->base.is_jmp = DISAS_NORETURN;
> }
> -#endif
>
> static bool trans_th_sync(DisasContext *ctx, arg_th_sync *a)
> {
> (void) a;
> REQUIRE_XTHEADSYNC(ctx);
>
> -#ifndef CONFIG_USER_ONLY
> REQUIRE_PRIV_MSU(ctx);
>
> /*
> @@ -1019,9 +1016,6 @@ static bool trans_th_sync(DisasContext *ctx, arg_th_sync *a)
> gen_th_sync_local(ctx);
>
> return true;
> -#else
> - return false;
> -#endif
> }
>
> static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
> @@ -1029,7 +1023,6 @@ static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
> (void) a;
> REQUIRE_XTHEADSYNC(ctx);
>
> -#ifndef CONFIG_USER_ONLY
> REQUIRE_PRIV_MSU(ctx);
>
> /*
> @@ -1038,9 +1031,6 @@ static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
> gen_th_sync_local(ctx);
>
> return true;
> -#else
> - return false;
> -#endif
> }
>
> static bool trans_th_sync_is(DisasContext *ctx, arg_th_sync_is *a)
> --
> 2.25.1
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] target/riscv: Enable xtheadsync under user mode
2024-02-04 5:52 [PATCH] target/riscv: Enable xtheadsync under user mode LIU Zhiwei
2024-02-05 6:17 ` Alistair Francis
@ 2024-02-05 6:28 ` Alistair Francis
1 sibling, 0 replies; 3+ messages in thread
From: Alistair Francis @ 2024-02-05 6:28 UTC (permalink / raw)
To: LIU Zhiwei
Cc: qemu-devel, Alistair.Francis, palmer, bin.meng, liwei1518,
dbarboza, qemu-riscv, christoph.muellner
On Sun, Feb 4, 2024 at 3:53 PM LIU Zhiwei <zhiwei_liu@linux.alibaba.com> wrote:
>
> According to xtheadsync[1][2] documentation, it can be used in user mode and
> the behavior is same with other priviledges.
>
> [1]:https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsync/sync.adoc
> [2]:https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsync/sync_i.adoc
>
> Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Thanks!
Applied to riscv-to-apply.next
Alistair
> ---
> target/riscv/insn_trans/trans_xthead.c.inc | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/target/riscv/insn_trans/trans_xthead.c.inc b/target/riscv/insn_trans/trans_xthead.c.inc
> index dbb6411239..22488412d4 100644
> --- a/target/riscv/insn_trans/trans_xthead.c.inc
> +++ b/target/riscv/insn_trans/trans_xthead.c.inc
> @@ -992,7 +992,6 @@ static bool trans_th_sfence_vmas(DisasContext *ctx, arg_th_sfence_vmas *a)
> #endif
> }
>
> -#ifndef CONFIG_USER_ONLY
> static void gen_th_sync_local(DisasContext *ctx)
> {
> /*
> @@ -1003,14 +1002,12 @@ static void gen_th_sync_local(DisasContext *ctx)
> tcg_gen_exit_tb(NULL, 0);
> ctx->base.is_jmp = DISAS_NORETURN;
> }
> -#endif
>
> static bool trans_th_sync(DisasContext *ctx, arg_th_sync *a)
> {
> (void) a;
> REQUIRE_XTHEADSYNC(ctx);
>
> -#ifndef CONFIG_USER_ONLY
> REQUIRE_PRIV_MSU(ctx);
>
> /*
> @@ -1019,9 +1016,6 @@ static bool trans_th_sync(DisasContext *ctx, arg_th_sync *a)
> gen_th_sync_local(ctx);
>
> return true;
> -#else
> - return false;
> -#endif
> }
>
> static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
> @@ -1029,7 +1023,6 @@ static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
> (void) a;
> REQUIRE_XTHEADSYNC(ctx);
>
> -#ifndef CONFIG_USER_ONLY
> REQUIRE_PRIV_MSU(ctx);
>
> /*
> @@ -1038,9 +1031,6 @@ static bool trans_th_sync_i(DisasContext *ctx, arg_th_sync_i *a)
> gen_th_sync_local(ctx);
>
> return true;
> -#else
> - return false;
> -#endif
> }
>
> static bool trans_th_sync_is(DisasContext *ctx, arg_th_sync_is *a)
> --
> 2.25.1
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-05 6:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-04 5:52 [PATCH] target/riscv: Enable xtheadsync under user mode LIU Zhiwei
2024-02-05 6:17 ` Alistair Francis
2024-02-05 6:28 ` Alistair Francis
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).