* [PATCH] target/loongarch: Put cpucfg operation before CSR register
@ 2024-04-28 3:16 Bibo Mao
2024-04-30 1:44 ` gaosong
0 siblings, 1 reply; 2+ messages in thread
From: Bibo Mao @ 2024-04-28 3:16 UTC (permalink / raw)
To: Song Gao; +Cc: qemu-devel
On Loongarch, cpucfg is register for cpu feature, some other registers
depend on cpucfg feature such as perf CSR registers. Here put cpucfg
read/write operations before CSR register, so that KVM knows how many
perf CSR registers are valid from pre-set cpucfg feature information.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
---
target/loongarch/kvm/kvm.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/target/loongarch/kvm/kvm.c b/target/loongarch/kvm/kvm.c
index 8224d94333..bc75552d0f 100644
--- a/target/loongarch/kvm/kvm.c
+++ b/target/loongarch/kvm/kvm.c
@@ -587,22 +587,22 @@ int kvm_arch_get_registers(CPUState *cs)
return ret;
}
- ret = kvm_loongarch_get_csr(cs);
+ ret = kvm_loongarch_get_cpucfg(cs);
if (ret) {
return ret;
}
- ret = kvm_loongarch_get_regs_fp(cs);
+ ret = kvm_loongarch_get_csr(cs);
if (ret) {
return ret;
}
- ret = kvm_loongarch_get_mpstate(cs);
+ ret = kvm_loongarch_get_regs_fp(cs);
if (ret) {
return ret;
}
- ret = kvm_loongarch_get_cpucfg(cs);
+ ret = kvm_loongarch_get_mpstate(cs);
return ret;
}
@@ -615,22 +615,22 @@ int kvm_arch_put_registers(CPUState *cs, int level)
return ret;
}
- ret = kvm_loongarch_put_csr(cs, level);
+ ret = kvm_loongarch_put_cpucfg(cs);
if (ret) {
return ret;
}
- ret = kvm_loongarch_put_regs_fp(cs);
+ ret = kvm_loongarch_put_csr(cs, level);
if (ret) {
return ret;
}
- ret = kvm_loongarch_put_mpstate(cs);
+ ret = kvm_loongarch_put_regs_fp(cs);
if (ret) {
return ret;
}
- ret = kvm_loongarch_put_cpucfg(cs);
+ ret = kvm_loongarch_put_mpstate(cs);
return ret;
}
base-commit: a118c4aff4087eafb68f7132b233ad548cf16376
--
2.39.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] target/loongarch: Put cpucfg operation before CSR register
2024-04-28 3:16 [PATCH] target/loongarch: Put cpucfg operation before CSR register Bibo Mao
@ 2024-04-30 1:44 ` gaosong
0 siblings, 0 replies; 2+ messages in thread
From: gaosong @ 2024-04-30 1:44 UTC (permalink / raw)
To: Bibo Mao; +Cc: qemu-devel
在 2024/4/28 上午11:16, Bibo Mao 写道:
> On Loongarch, cpucfg is register for cpu feature, some other registers
> depend on cpucfg feature such as perf CSR registers. Here put cpucfg
> read/write operations before CSR register, so that KVM knows how many
> perf CSR registers are valid from pre-set cpucfg feature information.
>
> Signed-off-by: Bibo Mao <maobibo@loongson.cn>
> ---
> target/loongarch/kvm/kvm.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
Reviewed-by: Song Gao <gaosong@loongson.cn>
Thanks.
Song Gao
> diff --git a/target/loongarch/kvm/kvm.c b/target/loongarch/kvm/kvm.c
> index 8224d94333..bc75552d0f 100644
> --- a/target/loongarch/kvm/kvm.c
> +++ b/target/loongarch/kvm/kvm.c
> @@ -587,22 +587,22 @@ int kvm_arch_get_registers(CPUState *cs)
> return ret;
> }
>
> - ret = kvm_loongarch_get_csr(cs);
> + ret = kvm_loongarch_get_cpucfg(cs);
> if (ret) {
> return ret;
> }
>
> - ret = kvm_loongarch_get_regs_fp(cs);
> + ret = kvm_loongarch_get_csr(cs);
> if (ret) {
> return ret;
> }
>
> - ret = kvm_loongarch_get_mpstate(cs);
> + ret = kvm_loongarch_get_regs_fp(cs);
> if (ret) {
> return ret;
> }
>
> - ret = kvm_loongarch_get_cpucfg(cs);
> + ret = kvm_loongarch_get_mpstate(cs);
> return ret;
> }
>
> @@ -615,22 +615,22 @@ int kvm_arch_put_registers(CPUState *cs, int level)
> return ret;
> }
>
> - ret = kvm_loongarch_put_csr(cs, level);
> + ret = kvm_loongarch_put_cpucfg(cs);
> if (ret) {
> return ret;
> }
>
> - ret = kvm_loongarch_put_regs_fp(cs);
> + ret = kvm_loongarch_put_csr(cs, level);
> if (ret) {
> return ret;
> }
>
> - ret = kvm_loongarch_put_mpstate(cs);
> + ret = kvm_loongarch_put_regs_fp(cs);
> if (ret) {
> return ret;
> }
>
> - ret = kvm_loongarch_put_cpucfg(cs);
> + ret = kvm_loongarch_put_mpstate(cs);
> return ret;
> }
>
>
> base-commit: a118c4aff4087eafb68f7132b233ad548cf16376
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-04-30 1:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-28 3:16 [PATCH] target/loongarch: Put cpucfg operation before CSR register Bibo Mao
2024-04-30 1:44 ` gaosong
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.