diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-05-21 21:21:26 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-05-21 21:21:26 +0200 |
| commit | 4b927bc37359dec23f67d3427fc982945f24f404 (patch) | |
| tree | 245449ef9146942dc7fffd0235b48b7e70a00bf2 /gitlab/issues/target_riscv/host_missing/accel_missing/1688.toml | |
| parent | aa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff) | |
| download | emulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz emulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.zip | |
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_riscv/host_missing/accel_missing/1688.toml')
| -rw-r--r-- | gitlab/issues/target_riscv/host_missing/accel_missing/1688.toml | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gitlab/issues/target_riscv/host_missing/accel_missing/1688.toml b/gitlab/issues/target_riscv/host_missing/accel_missing/1688.toml new file mode 100644 index 00000000..7723e09a --- /dev/null +++ b/gitlab/issues/target_riscv/host_missing/accel_missing/1688.toml @@ -0,0 +1,41 @@ +id = 1688 +title = "target/riscv KVM_RISCV_SET_TIMER macro is not configured correctly" +state = "closed" +created_at = "2023-06-06T08:51:28.349Z" +closed_at = "2023-07-10T22:58:39.120Z" +labels = ["target: riscv", "workflow::Triaged"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/1688" +host-os = "Linux" +host-arch = "X86" +qemu-version = "QEMU emulator version 7.2.50 (v7.2.0-333-g222059a0fc)" +guest-os = "Linux" +guest-arch = "RISCV" +description = """When riscv kvm vm state changed, guest virtual time would stop/continue. But KVM_RISCV_SET_TIMER is wrong, qemu-kvm can only set 'time'.""" +reproduce = """1.start host kernel +2.start qemu-kvm""" +additional = """Below code has some probelm: +``` +=================================================================== +#define KVM_RISCV_SET_TIMER(cs, env, name, reg) \\ + do { \\ + int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, time), ®); \\ + +=================================================================== +``` +I think it should be like this: + +``` +diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c +index 30f21453d6..0c567f668c 100644 +--- a/target/riscv/kvm.c ++++ b/target/riscv/kvm.c +@@ -99,7 +99,7 @@ static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, + + #define KVM_RISCV_SET_TIMER(cs, env, name, reg) \\ + do { \\ +- int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, time), ®); \\ ++ int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, name), ®); \\ + if (ret) { \\ + abort(); \\ + } \\ +```""" |
