From 28ca4689ae94a27a6a337546425cda30d0e885c3 Mon Sep 17 00:00:00 2001 From: Wilfred Mallawa Date: Mon, 10 Jan 2022 15:16:06 +1000 Subject: [PATCH 01/61] hw: timer: ibex_timer: Fixup reading w/o register MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change fixes a bug where a write only register is read. As per https://docs.opentitan.org/hw/ip/rv_timer/doc/#register-table the 'INTR_TEST0' register is write only. Signed-off-by: Wilfred Mallawa Reviewed-by: Bin Meng Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daudé Message-id: 20220110051606.4031241-1-alistair.francis@opensource.wdc.com Signed-off-by: Alistair Francis --- hw/timer/ibex_timer.c | 14 +++++--------- include/hw/timer/ibex_timer.h | 1 - 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/hw/timer/ibex_timer.c b/hw/timer/ibex_timer.c index 66e1f8e48c..826c38b653 100644 --- a/hw/timer/ibex_timer.c +++ b/hw/timer/ibex_timer.c @@ -130,7 +130,6 @@ static void ibex_timer_reset(DeviceState *dev) s->timer_compare_upper0 = 0xFFFFFFFF; s->timer_intr_enable = 0x00000000; s->timer_intr_state = 0x00000000; - s->timer_intr_test = 0x00000000; ibex_timer_update_irqs(s); } @@ -168,7 +167,8 @@ static uint64_t ibex_timer_read(void *opaque, hwaddr addr, retvalue = s->timer_intr_state; break; case R_INTR_TEST: - retvalue = s->timer_intr_test; + qemu_log_mask(LOG_GUEST_ERROR, + "Attempted to read INTR_TEST, a write only register"); break; default: qemu_log_mask(LOG_GUEST_ERROR, @@ -215,10 +215,7 @@ static void ibex_timer_write(void *opaque, hwaddr addr, s->timer_intr_state &= ~val; break; case R_INTR_TEST: - s->timer_intr_test = val; - if (s->timer_intr_enable & - s->timer_intr_test & - R_INTR_ENABLE_IE_0_MASK) { + if (s->timer_intr_enable & val & R_INTR_ENABLE_IE_0_MASK) { s->timer_intr_state |= R_INTR_STATE_IS_0_MASK; qemu_set_irq(s->irq, true); } @@ -247,8 +244,8 @@ static int ibex_timer_post_load(void *opaque, int version_id) static const VMStateDescription vmstate_ibex_timer = { .name = TYPE_IBEX_TIMER, - .version_id = 1, - .minimum_version_id = 1, + .version_id = 2, + .minimum_version_id = 2, .post_load = ibex_timer_post_load, .fields = (VMStateField[]) { VMSTATE_UINT32(timer_ctrl, IbexTimerState), @@ -257,7 +254,6 @@ static const VMStateDescription vmstate_ibex_timer = { VMSTATE_UINT32(timer_compare_upper0, IbexTimerState), VMSTATE_UINT32(timer_intr_enable, IbexTimerState), VMSTATE_UINT32(timer_intr_state, IbexTimerState), - VMSTATE_UINT32(timer_intr_test, IbexTimerState), VMSTATE_END_OF_LIST() } }; diff --git a/include/hw/timer/ibex_timer.h b/include/hw/timer/ibex_timer.h index b6f69b38ee..1a0a28d5fa 100644 --- a/include/hw/timer/ibex_timer.h +++ b/include/hw/timer/ibex_timer.h @@ -43,7 +43,6 @@ struct IbexTimerState { uint32_t timer_compare_upper0; uint32_t timer_intr_enable; uint32_t timer_intr_state; - uint32_t timer_intr_test; uint32_t timebase_freq; From 0df470c3886eda19afdbd5ccd5550ce794feef7b Mon Sep 17 00:00:00 2001 From: Wilfred Mallawa Date: Tue, 11 Jan 2022 17:10:24 +1000 Subject: [PATCH 02/61] riscv: opentitan: fixup plic stride len The following change was made to rectify incorrectly set stride length on the PLIC [1]. Where it should be 32bit and not 24bit (0x18). This was discovered whilst attempting to fix a bug where a timer_interrupt was not serviced on TockOS-OpenTitan. [1] https://docs.opentitan.org/hw/top_earlgrey/ip_autogen/rv_plic/doc/ Signed-off-by: Wilfred Mallawa Reviewed-by: Alistair Francis Tested-by: Alistair Francis Reviewed-by: Bin Meng Message-id: 20220111071025.4169189-1-alistair.francis@opensource.wdc.com Signed-off-by: Alistair Francis --- hw/riscv/opentitan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index 0856c347e8..aec7cfa33f 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -160,7 +160,7 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_soc, Error **errp) qdev_prop_set_uint32(DEVICE(&s->plic), "priority-base", 0x00); qdev_prop_set_uint32(DEVICE(&s->plic), "pending-base", 0x1000); qdev_prop_set_uint32(DEVICE(&s->plic), "enable-base", 0x2000); - qdev_prop_set_uint32(DEVICE(&s->plic), "enable-stride", 0x18); + qdev_prop_set_uint32(DEVICE(&s->plic), "enable-stride", 32); qdev_prop_set_uint32(DEVICE(&s->plic), "context-base", 0x200000); qdev_prop_set_uint32(DEVICE(&s->plic), "context-stride", 8); qdev_prop_set_uint32(DEVICE(&s->plic), "aperture-size", memmap[IBEX_DEV_PLIC].size); From dda94e5c66e4c48c3709acf5532c295a80845730 Mon Sep 17 00:00:00 2001 From: Wilfred Mallawa Date: Tue, 11 Jan 2022 17:10:25 +1000 Subject: [PATCH 03/61] hw: timer: ibex_timer: update/add reg address The following changes: 1. Fixes the incorrectly set CTRL register address. As per [1] https://docs.opentitan.org/hw/ip/rv_timer/doc/#register-table The CTRL register is @ 0x04. This was found when attempting to fixup a bug where a timer_interrupt was not serviced on TockOS-OpenTitan. 2. Adds ALERT_TEST register as documented on [1], adding repective switch cases to error handle and later implement functionality. Signed-off-by: Wilfred Mallawa Reviewed-by: Alistair Francis Tested-by: Alistair Francis Reviewed-by: Bin Meng Message-id: 20220111071025.4169189-2-alistair.francis@opensource.wdc.com Signed-off-by: Alistair Francis --- hw/timer/ibex_timer.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/timer/ibex_timer.c b/hw/timer/ibex_timer.c index 826c38b653..8c2ca364da 100644 --- a/hw/timer/ibex_timer.c +++ b/hw/timer/ibex_timer.c @@ -34,7 +34,9 @@ #include "target/riscv/cpu.h" #include "migration/vmstate.h" -REG32(CTRL, 0x00) +REG32(ALERT_TEST, 0x00) + FIELD(ALERT_TEST, FATAL_FAULT, 0, 1) +REG32(CTRL, 0x04) FIELD(CTRL, ACTIVE, 0, 1) REG32(CFG0, 0x100) FIELD(CFG0, PRESCALE, 0, 12) @@ -142,6 +144,10 @@ static uint64_t ibex_timer_read(void *opaque, hwaddr addr, uint64_t retvalue = 0; switch (addr >> 2) { + case R_ALERT_TEST: + qemu_log_mask(LOG_GUEST_ERROR, + "Attempted to read ALERT_TEST, a write only register"); + break; case R_CTRL: retvalue = s->timer_ctrl; break; @@ -186,6 +192,9 @@ static void ibex_timer_write(void *opaque, hwaddr addr, uint32_t val = val64; switch (addr >> 2) { + case R_ALERT_TEST: + qemu_log_mask(LOG_UNIMP, "Alert triggering not supported"); + break; case R_CTRL: s->timer_ctrl = val; break; From b91a0fa70cdd23ca7929d4e255fcfe93e1fe7513 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:17 +0800 Subject: [PATCH 04/61] update-linux-headers: Add asm-riscv/kvm.h Add asm-riscv/kvm.h for RISC-V KVM. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Acked-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-2-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- linux-headers/asm-riscv/kvm.h | 128 ++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 linux-headers/asm-riscv/kvm.h diff --git a/linux-headers/asm-riscv/kvm.h b/linux-headers/asm-riscv/kvm.h new file mode 100644 index 0000000000..f808ad1ce5 --- /dev/null +++ b/linux-headers/asm-riscv/kvm.h @@ -0,0 +1,128 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2019 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel + */ + +#ifndef __LINUX_KVM_RISCV_H +#define __LINUX_KVM_RISCV_H + +#ifndef __ASSEMBLY__ + +#include +#include + +#define __KVM_HAVE_READONLY_MEM + +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 + +#define KVM_INTERRUPT_SET -1U +#define KVM_INTERRUPT_UNSET -2U + +/* for KVM_GET_REGS and KVM_SET_REGS */ +struct kvm_regs { +}; + +/* for KVM_GET_FPU and KVM_SET_FPU */ +struct kvm_fpu { +}; + +/* KVM Debug exit structure */ +struct kvm_debug_exit_arch { +}; + +/* for KVM_SET_GUEST_DEBUG */ +struct kvm_guest_debug_arch { +}; + +/* definition of registers in kvm_run */ +struct kvm_sync_regs { +}; + +/* for KVM_GET_SREGS and KVM_SET_SREGS */ +struct kvm_sregs { +}; + +/* CONFIG registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_config { + unsigned long isa; +}; + +/* CORE registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_core { + struct user_regs_struct regs; + unsigned long mode; +}; + +/* Possible privilege modes for kvm_riscv_core */ +#define KVM_RISCV_MODE_S 1 +#define KVM_RISCV_MODE_U 0 + +/* CSR registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_csr { + unsigned long sstatus; + unsigned long sie; + unsigned long stvec; + unsigned long sscratch; + unsigned long sepc; + unsigned long scause; + unsigned long stval; + unsigned long sip; + unsigned long satp; + unsigned long scounteren; +}; + +/* TIMER registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_timer { + __u64 frequency; + __u64 time; + __u64 compare; + __u64 state; +}; + +/* Possible states for kvm_riscv_timer */ +#define KVM_RISCV_TIMER_STATE_OFF 0 +#define KVM_RISCV_TIMER_STATE_ON 1 + +#define KVM_REG_SIZE(id) \ + (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT)) + +/* If you need to interpret the index values, here is the key: */ +#define KVM_REG_RISCV_TYPE_MASK 0x00000000FF000000 +#define KVM_REG_RISCV_TYPE_SHIFT 24 + +/* Config registers are mapped as type 1 */ +#define KVM_REG_RISCV_CONFIG (0x01 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_CONFIG_REG(name) \ + (offsetof(struct kvm_riscv_config, name) / sizeof(unsigned long)) + +/* Core registers are mapped as type 2 */ +#define KVM_REG_RISCV_CORE (0x02 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_CORE_REG(name) \ + (offsetof(struct kvm_riscv_core, name) / sizeof(unsigned long)) + +/* Control and status registers are mapped as type 3 */ +#define KVM_REG_RISCV_CSR (0x03 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_CSR_REG(name) \ + (offsetof(struct kvm_riscv_csr, name) / sizeof(unsigned long)) + +/* Timer registers are mapped as type 4 */ +#define KVM_REG_RISCV_TIMER (0x04 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_TIMER_REG(name) \ + (offsetof(struct kvm_riscv_timer, name) / sizeof(__u64)) + +/* F extension registers are mapped as type 5 */ +#define KVM_REG_RISCV_FP_F (0x05 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_FP_F_REG(name) \ + (offsetof(struct __riscv_f_ext_state, name) / sizeof(__u32)) + +/* D extension registers are mapped as type 6 */ +#define KVM_REG_RISCV_FP_D (0x06 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_FP_D_REG(name) \ + (offsetof(struct __riscv_d_ext_state, name) / sizeof(__u64)) + +#endif + +#endif /* __LINUX_KVM_RISCV_H */ From 91654e613bf67863f27854a7c8e292a273b50a40 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:18 +0800 Subject: [PATCH 05/61] target/riscv: Add target/riscv/kvm.c to place the public kvm interface Add target/riscv/kvm.c to place kvm_arch_* function needed by kvm/kvm-all.c. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-3-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/kvm.c | 133 +++++++++++++++++++++++++++++++++++++++ target/riscv/meson.build | 1 + 2 files changed, 134 insertions(+) create mode 100644 target/riscv/kvm.c diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c new file mode 100644 index 0000000000..687dd4b621 --- /dev/null +++ b/target/riscv/kvm.c @@ -0,0 +1,133 @@ +/* + * RISC-V implementation of KVM hooks + * + * Copyright (c) 2020 Huawei Technologies Co., Ltd + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2 or later, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#include "qemu/osdep.h" +#include + +#include + +#include "qemu-common.h" +#include "qemu/timer.h" +#include "qemu/error-report.h" +#include "qemu/main-loop.h" +#include "sysemu/sysemu.h" +#include "sysemu/kvm.h" +#include "sysemu/kvm_int.h" +#include "cpu.h" +#include "trace.h" +#include "hw/pci/pci.h" +#include "exec/memattrs.h" +#include "exec/address-spaces.h" +#include "hw/boards.h" +#include "hw/irq.h" +#include "qemu/log.h" +#include "hw/loader.h" + +const KVMCapabilityInfo kvm_arch_required_capabilities[] = { + KVM_CAP_LAST_INFO +}; + +int kvm_arch_get_registers(CPUState *cs) +{ + return 0; +} + +int kvm_arch_put_registers(CPUState *cs, int level) +{ + return 0; +} + +int kvm_arch_release_virq_post(int virq) +{ + return 0; +} + +int kvm_arch_fixup_msi_route(struct kvm_irq_routing_entry *route, + uint64_t address, uint32_t data, PCIDevice *dev) +{ + return 0; +} + +int kvm_arch_destroy_vcpu(CPUState *cs) +{ + return 0; +} + +unsigned long kvm_arch_vcpu_id(CPUState *cpu) +{ + return cpu->cpu_index; +} + +void kvm_arch_init_irq_routing(KVMState *s) +{ +} + +int kvm_arch_init_vcpu(CPUState *cs) +{ + return 0; +} + +int kvm_arch_msi_data_to_gsi(uint32_t data) +{ + abort(); +} + +int kvm_arch_add_msi_route_post(struct kvm_irq_routing_entry *route, + int vector, PCIDevice *dev) +{ + return 0; +} + +int kvm_arch_init(MachineState *ms, KVMState *s) +{ + return 0; +} + +int kvm_arch_irqchip_create(KVMState *s) +{ + return 0; +} + +int kvm_arch_process_async_events(CPUState *cs) +{ + return 0; +} + +void kvm_arch_pre_run(CPUState *cs, struct kvm_run *run) +{ +} + +MemTxAttrs kvm_arch_post_run(CPUState *cs, struct kvm_run *run) +{ + return MEMTXATTRS_UNSPECIFIED; +} + +bool kvm_arch_stop_on_emulation_error(CPUState *cs) +{ + return true; +} + +int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run) +{ + return 0; +} + +bool kvm_arch_cpu_check_are_resettable(void) +{ + return true; +} diff --git a/target/riscv/meson.build b/target/riscv/meson.build index a32158da93..95340b44aa 100644 --- a/target/riscv/meson.build +++ b/target/riscv/meson.build @@ -20,6 +20,7 @@ riscv_ss.add(files( 'translate.c', 'm128_helper.c' )) +riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c')) riscv_softmmu_ss = ss.source_set() riscv_softmmu_ss.add(files( From 0a312b85cb433386804a2ca79f4a1f7ab75f64a7 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:19 +0800 Subject: [PATCH 06/61] target/riscv: Implement function kvm_arch_init_vcpu Get isa info from kvm while kvm init. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-4-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/kvm.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index 687dd4b621..9e66b4a97f 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -38,6 +38,24 @@ #include "qemu/log.h" #include "hw/loader.h" +static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, + uint64_t idx) +{ + uint64_t id = KVM_REG_RISCV | type | idx; + + switch (riscv_cpu_mxl(env)) { + case MXL_RV32: + id |= KVM_REG_SIZE_U32; + break; + case MXL_RV64: + id |= KVM_REG_SIZE_U64; + break; + default: + g_assert_not_reached(); + } + return id; +} + const KVMCapabilityInfo kvm_arch_required_capabilities[] = { KVM_CAP_LAST_INFO }; @@ -79,7 +97,21 @@ void kvm_arch_init_irq_routing(KVMState *s) int kvm_arch_init_vcpu(CPUState *cs) { - return 0; + int ret = 0; + target_ulong isa; + RISCVCPU *cpu = RISCV_CPU(cs); + CPURISCVState *env = &cpu->env; + uint64_t id; + + id = kvm_riscv_reg_id(env, KVM_REG_RISCV_CONFIG, + KVM_REG_RISCV_CONFIG_REG(isa)); + ret = kvm_get_one_reg(cs, id, &isa); + if (ret) { + return ret; + } + env->misa_ext = isa; + + return ret; } int kvm_arch_msi_data_to_gsi(uint32_t data) From 937f0b45120bea964ca4ababbe98e1a2de05a077 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:20 +0800 Subject: [PATCH 07/61] target/riscv: Implement kvm_arch_get_registers Get GPR CSR and FP registers from kvm by KVM_GET_ONE_REG ioctl. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-5-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/kvm.c | 112 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index 9e66b4a97f..039af22125 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -56,13 +56,123 @@ static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, return id; } +#define RISCV_CORE_REG(env, name) kvm_riscv_reg_id(env, KVM_REG_RISCV_CORE, \ + KVM_REG_RISCV_CORE_REG(name)) + +#define RISCV_CSR_REG(env, name) kvm_riscv_reg_id(env, KVM_REG_RISCV_CSR, \ + KVM_REG_RISCV_CSR_REG(name)) + +#define RISCV_FP_F_REG(env, idx) kvm_riscv_reg_id(env, KVM_REG_RISCV_FP_F, idx) + +#define RISCV_FP_D_REG(env, idx) kvm_riscv_reg_id(env, KVM_REG_RISCV_FP_D, idx) + +#define KVM_RISCV_GET_CSR(cs, env, csr, reg) \ + do { \ + int ret = kvm_get_one_reg(cs, RISCV_CSR_REG(env, csr), ®); \ + if (ret) { \ + return ret; \ + } \ + } while (0) + +static int kvm_riscv_get_regs_core(CPUState *cs) +{ + int ret = 0; + int i; + target_ulong reg; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + ret = kvm_get_one_reg(cs, RISCV_CORE_REG(env, regs.pc), ®); + if (ret) { + return ret; + } + env->pc = reg; + + for (i = 1; i < 32; i++) { + uint64_t id = kvm_riscv_reg_id(env, KVM_REG_RISCV_CORE, i); + ret = kvm_get_one_reg(cs, id, ®); + if (ret) { + return ret; + } + env->gpr[i] = reg; + } + + return ret; +} + +static int kvm_riscv_get_regs_csr(CPUState *cs) +{ + int ret = 0; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + KVM_RISCV_GET_CSR(cs, env, sstatus, env->mstatus); + KVM_RISCV_GET_CSR(cs, env, sie, env->mie); + KVM_RISCV_GET_CSR(cs, env, stvec, env->stvec); + KVM_RISCV_GET_CSR(cs, env, sscratch, env->sscratch); + KVM_RISCV_GET_CSR(cs, env, sepc, env->sepc); + KVM_RISCV_GET_CSR(cs, env, scause, env->scause); + KVM_RISCV_GET_CSR(cs, env, stval, env->stval); + KVM_RISCV_GET_CSR(cs, env, sip, env->mip); + KVM_RISCV_GET_CSR(cs, env, satp, env->satp); + return ret; +} + +static int kvm_riscv_get_regs_fp(CPUState *cs) +{ + int ret = 0; + int i; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + if (riscv_has_ext(env, RVD)) { + uint64_t reg; + for (i = 0; i < 32; i++) { + ret = kvm_get_one_reg(cs, RISCV_FP_D_REG(env, i), ®); + if (ret) { + return ret; + } + env->fpr[i] = reg; + } + return ret; + } + + if (riscv_has_ext(env, RVF)) { + uint32_t reg; + for (i = 0; i < 32; i++) { + ret = kvm_get_one_reg(cs, RISCV_FP_F_REG(env, i), ®); + if (ret) { + return ret; + } + env->fpr[i] = reg; + } + return ret; + } + + return ret; +} + const KVMCapabilityInfo kvm_arch_required_capabilities[] = { KVM_CAP_LAST_INFO }; int kvm_arch_get_registers(CPUState *cs) { - return 0; + int ret = 0; + + ret = kvm_riscv_get_regs_core(cs); + if (ret) { + return ret; + } + + ret = kvm_riscv_get_regs_csr(cs); + if (ret) { + return ret; + } + + ret = kvm_riscv_get_regs_fp(cs); + if (ret) { + return ret; + } + + return ret; } int kvm_arch_put_registers(CPUState *cs, int level) From 9997cc1e19d1f909551783c280cfe441a0838943 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:21 +0800 Subject: [PATCH 08/61] target/riscv: Implement kvm_arch_put_registers Put GPR CSR and FP registers to kvm by KVM_SET_ONE_REG ioctl Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-6-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/kvm.c | 104 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index 039af22125..dbaff53bf2 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -74,6 +74,14 @@ static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, } \ } while (0) +#define KVM_RISCV_SET_CSR(cs, env, csr, reg) \ + do { \ + int ret = kvm_set_one_reg(cs, RISCV_CSR_REG(env, csr), ®); \ + if (ret) { \ + return ret; \ + } \ + } while (0) + static int kvm_riscv_get_regs_core(CPUState *cs) { int ret = 0; @@ -99,6 +107,31 @@ static int kvm_riscv_get_regs_core(CPUState *cs) return ret; } +static int kvm_riscv_put_regs_core(CPUState *cs) +{ + int ret = 0; + int i; + target_ulong reg; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + reg = env->pc; + ret = kvm_set_one_reg(cs, RISCV_CORE_REG(env, regs.pc), ®); + if (ret) { + return ret; + } + + for (i = 1; i < 32; i++) { + uint64_t id = kvm_riscv_reg_id(env, KVM_REG_RISCV_CORE, i); + reg = env->gpr[i]; + ret = kvm_set_one_reg(cs, id, ®); + if (ret) { + return ret; + } + } + + return ret; +} + static int kvm_riscv_get_regs_csr(CPUState *cs) { int ret = 0; @@ -116,6 +149,24 @@ static int kvm_riscv_get_regs_csr(CPUState *cs) return ret; } +static int kvm_riscv_put_regs_csr(CPUState *cs) +{ + int ret = 0; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + KVM_RISCV_SET_CSR(cs, env, sstatus, env->mstatus); + KVM_RISCV_SET_CSR(cs, env, sie, env->mie); + KVM_RISCV_SET_CSR(cs, env, stvec, env->stvec); + KVM_RISCV_SET_CSR(cs, env, sscratch, env->sscratch); + KVM_RISCV_SET_CSR(cs, env, sepc, env->sepc); + KVM_RISCV_SET_CSR(cs, env, scause, env->scause); + KVM_RISCV_SET_CSR(cs, env, stval, env->stval); + KVM_RISCV_SET_CSR(cs, env, sip, env->mip); + KVM_RISCV_SET_CSR(cs, env, satp, env->satp); + + return ret; +} + static int kvm_riscv_get_regs_fp(CPUState *cs) { int ret = 0; @@ -149,6 +200,40 @@ static int kvm_riscv_get_regs_fp(CPUState *cs) return ret; } +static int kvm_riscv_put_regs_fp(CPUState *cs) +{ + int ret = 0; + int i; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + if (riscv_has_ext(env, RVD)) { + uint64_t reg; + for (i = 0; i < 32; i++) { + reg = env->fpr[i]; + ret = kvm_set_one_reg(cs, RISCV_FP_D_REG(env, i), ®); + if (ret) { + return ret; + } + } + return ret; + } + + if (riscv_has_ext(env, RVF)) { + uint32_t reg; + for (i = 0; i < 32; i++) { + reg = env->fpr[i]; + ret = kvm_set_one_reg(cs, RISCV_FP_F_REG(env, i), ®); + if (ret) { + return ret; + } + } + return ret; + } + + return ret; +} + + const KVMCapabilityInfo kvm_arch_required_capabilities[] = { KVM_CAP_LAST_INFO }; @@ -177,7 +262,24 @@ int kvm_arch_get_registers(CPUState *cs) int kvm_arch_put_registers(CPUState *cs, int level) { - return 0; + int ret = 0; + + ret = kvm_riscv_put_regs_core(cs); + if (ret) { + return ret; + } + + ret = kvm_riscv_put_regs_csr(cs); + if (ret) { + return ret; + } + + ret = kvm_riscv_put_regs_fp(cs); + if (ret) { + return ret; + } + + return ret; } int kvm_arch_release_virq_post(int virq) From ad40be27084536408b47a9209181f776ec2c54a5 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:22 +0800 Subject: [PATCH 09/61] target/riscv: Support start kernel directly by KVM Get kernel and fdt start address in virt.c, and pass them to KVM when cpu reset. Add kvm_riscv.h to place riscv specific interface. In addition, PLIC is created without M-mode PLIC contexts when KVM is enabled. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-7-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- hw/intc/sifive_plic.c | 20 +++++++--- hw/riscv/boot.c | 16 +++++++- hw/riscv/virt.c | 83 ++++++++++++++++++++++++++++------------ include/hw/riscv/boot.h | 1 + target/riscv/cpu.c | 8 ++++ target/riscv/cpu.h | 3 ++ target/riscv/kvm-stub.c | 25 ++++++++++++ target/riscv/kvm.c | 14 +++++++ target/riscv/kvm_riscv.h | 24 ++++++++++++ target/riscv/meson.build | 2 +- 10 files changed, 164 insertions(+), 32 deletions(-) create mode 100644 target/riscv/kvm-stub.c create mode 100644 target/riscv/kvm_riscv.h diff --git a/hw/intc/sifive_plic.c b/hw/intc/sifive_plic.c index 746c0f0343..eebbcf33d4 100644 --- a/hw/intc/sifive_plic.c +++ b/hw/intc/sifive_plic.c @@ -30,6 +30,7 @@ #include "target/riscv/cpu.h" #include "migration/vmstate.h" #include "hw/irq.h" +#include "sysemu/kvm.h" static bool addr_between(uint32_t addr, uint32_t base, uint32_t num) { @@ -430,7 +431,8 @@ DeviceState *sifive_plic_create(hwaddr addr, char *hart_config, uint32_t context_stride, uint32_t aperture_size) { DeviceState *dev = qdev_new(TYPE_SIFIVE_PLIC); - int i; + int i, j = 0; + SiFivePLICState *plic; assert(enable_stride == (enable_stride & -enable_stride)); assert(context_stride == (context_stride & -context_stride)); @@ -448,13 +450,21 @@ DeviceState *sifive_plic_create(hwaddr addr, char *hart_config, sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, addr); + plic = SIFIVE_PLIC(dev); for (i = 0; i < num_harts; i++) { CPUState *cpu = qemu_get_cpu(hartid_base + i); - qdev_connect_gpio_out(dev, i, - qdev_get_gpio_in(DEVICE(cpu), IRQ_S_EXT)); - qdev_connect_gpio_out(dev, num_harts + i, - qdev_get_gpio_in(DEVICE(cpu), IRQ_M_EXT)); + if (plic->addr_config[j].mode == PLICMode_M) { + j++; + qdev_connect_gpio_out(dev, num_harts + i, + qdev_get_gpio_in(DEVICE(cpu), IRQ_M_EXT)); + } + + if (plic->addr_config[j].mode == PLICMode_S) { + j++; + qdev_connect_gpio_out(dev, i, + qdev_get_gpio_in(DEVICE(cpu), IRQ_S_EXT)); + } } return dev; diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index f67264374e..cae74fcbcd 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -30,6 +30,7 @@ #include "elf.h" #include "sysemu/device_tree.h" #include "sysemu/qtest.h" +#include "sysemu/kvm.h" #include @@ -51,7 +52,9 @@ char *riscv_plic_hart_config_string(int hart_count) CPUState *cs = qemu_get_cpu(i); CPURISCVState *env = &RISCV_CPU(cs)->env; - if (riscv_has_ext(env, RVS)) { + if (kvm_enabled()) { + vals[i] = "S"; + } else if (riscv_has_ext(env, RVS)) { vals[i] = "MS"; } else { vals[i] = "M"; @@ -324,3 +327,14 @@ void riscv_setup_rom_reset_vec(MachineState *machine, RISCVHartArrayState *harts return; } + +void riscv_setup_direct_kernel(hwaddr kernel_addr, hwaddr fdt_addr) +{ + CPUState *cs; + + for (cs = first_cpu; cs; cs = CPU_NEXT(cs)) { + RISCVCPU *riscv_cpu = RISCV_CPU(cs); + riscv_cpu->env.kernel_addr = kernel_addr; + riscv_cpu->env.fdt_addr = fdt_addr; + } +} diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 3af074148e..2643c8bc37 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -38,6 +38,7 @@ #include "chardev/char.h" #include "sysemu/device_tree.h" #include "sysemu/sysemu.h" +#include "sysemu/kvm.h" #include "hw/pci/pci.h" #include "hw/pci-host/gpex.h" #include "hw/display/ramfb.h" @@ -372,13 +373,22 @@ static void create_fdt_socket_plic(RISCVVirtState *s, "sifive,plic-1.0.0", "riscv,plic0" }; - plic_cells = g_new0(uint32_t, s->soc[socket].num_harts * 4); + if (kvm_enabled()) { + plic_cells = g_new0(uint32_t, s->soc[socket].num_harts * 2); + } else { + plic_cells = g_new0(uint32_t, s->soc[socket].num_harts * 4); + } for (cpu = 0; cpu < s->soc[socket].num_harts; cpu++) { - plic_cells[cpu * 4 + 0] = cpu_to_be32(intc_phandles[cpu]); - plic_cells[cpu * 4 + 1] = cpu_to_be32(IRQ_M_EXT); - plic_cells[cpu * 4 + 2] = cpu_to_be32(intc_phandles[cpu]); - plic_cells[cpu * 4 + 3] = cpu_to_be32(IRQ_S_EXT); + if (kvm_enabled()) { + plic_cells[cpu * 2 + 0] = cpu_to_be32(intc_phandles[cpu]); + plic_cells[cpu * 2 + 1] = cpu_to_be32(IRQ_S_EXT); + } else { + plic_cells[cpu * 4 + 0] = cpu_to_be32(intc_phandles[cpu]); + plic_cells[cpu * 4 + 1] = cpu_to_be32(IRQ_M_EXT); + plic_cells[cpu * 4 + 2] = cpu_to_be32(intc_phandles[cpu]); + plic_cells[cpu * 4 + 3] = cpu_to_be32(IRQ_S_EXT); + } } plic_phandles[socket] = (*phandle)++; @@ -436,10 +446,12 @@ static void create_fdt_sockets(RISCVVirtState *s, const MemMapEntry *memmap, create_fdt_socket_memory(s, memmap, socket); - if (s->have_aclint) { - create_fdt_socket_aclint(s, memmap, socket, intc_phandles); - } else { - create_fdt_socket_clint(s, memmap, socket, intc_phandles); + if (!kvm_enabled()) { + if (s->have_aclint) { + create_fdt_socket_aclint(s, memmap, socket, intc_phandles); + } else { + create_fdt_socket_clint(s, memmap, socket, intc_phandles); + } } create_fdt_socket_plic(s, memmap, socket, phandle, @@ -801,23 +813,25 @@ static void virt_machine_init(MachineState *machine) hart_count, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->soc[i]), &error_abort); - /* Per-socket CLINT */ - riscv_aclint_swi_create( - memmap[VIRT_CLINT].base + i * memmap[VIRT_CLINT].size, - base_hartid, hart_count, false); - riscv_aclint_mtimer_create( - memmap[VIRT_CLINT].base + i * memmap[VIRT_CLINT].size + - RISCV_ACLINT_SWI_SIZE, - RISCV_ACLINT_DEFAULT_MTIMER_SIZE, base_hartid, hart_count, - RISCV_ACLINT_DEFAULT_MTIMECMP, RISCV_ACLINT_DEFAULT_MTIME, - RISCV_ACLINT_DEFAULT_TIMEBASE_FREQ, true); - - /* Per-socket ACLINT SSWI */ - if (s->have_aclint) { + if (!kvm_enabled()) { + /* Per-socket CLINT */ riscv_aclint_swi_create( - memmap[VIRT_ACLINT_SSWI].base + - i * memmap[VIRT_ACLINT_SSWI].size, - base_hartid, hart_count, true); + memmap[VIRT_CLINT].base + i * memmap[VIRT_CLINT].size, + base_hartid, hart_count, false); + riscv_aclint_mtimer_create( + memmap[VIRT_CLINT].base + i * memmap[VIRT_CLINT].size + + RISCV_ACLINT_SWI_SIZE, + RISCV_ACLINT_DEFAULT_MTIMER_SIZE, base_hartid, hart_count, + RISCV_ACLINT_DEFAULT_MTIMECMP, RISCV_ACLINT_DEFAULT_MTIME, + RISCV_ACLINT_DEFAULT_TIMEBASE_FREQ, true); + + /* Per-socket ACLINT SSWI */ + if (s->have_aclint) { + riscv_aclint_swi_create( + memmap[VIRT_ACLINT_SSWI].base + + i * memmap[VIRT_ACLINT_SSWI].size, + base_hartid, hart_count, true); + } } /* Per-socket PLIC hart topology configuration string */ @@ -884,6 +898,16 @@ static void virt_machine_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[VIRT_MROM].base, mask_rom); + /* + * Only direct boot kernel is currently supported for KVM VM, + * so the "-bios" parameter is ignored and treated like "-bios none" + * when KVM is enabled. + */ + if (kvm_enabled()) { + g_free(machine->firmware); + machine->firmware = g_strdup("none"); + } + if (riscv_is_32bit(&s->soc[0])) { firmware_end_addr = riscv_find_and_load_firmware(machine, RISCV32_BIOS_BIN, start_addr, NULL); @@ -941,6 +965,15 @@ static void virt_machine_init(MachineState *machine) virt_memmap[VIRT_MROM].size, kernel_entry, fdt_load_addr, machine->fdt); + /* + * Only direct boot kernel is currently supported for KVM VM, + * So here setup kernel start address and fdt address. + * TODO:Support firmware loading and integrate to TCG start + */ + if (kvm_enabled()) { + riscv_setup_direct_kernel(kernel_entry, fdt_load_addr); + } + /* SiFive Test MMIO device */ sifive_test_create(memmap[VIRT_TEST].base); diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index baff11dd8a..5834c234aa 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -58,5 +58,6 @@ void riscv_rom_copy_firmware_info(MachineState *machine, hwaddr rom_base, hwaddr rom_size, uint32_t reset_vec_size, uint64_t kernel_entry); +void riscv_setup_direct_kernel(hwaddr kernel_addr, hwaddr fdt_addr); #endif /* RISCV_BOOT_H */ diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 9bc25d3055..a6922dde05 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -29,6 +29,8 @@ #include "hw/qdev-properties.h" #include "migration/vmstate.h" #include "fpu/softfloat-helpers.h" +#include "sysemu/kvm.h" +#include "kvm_riscv.h" /* RISC-V CPU definitions */ @@ -402,6 +404,12 @@ static void riscv_cpu_reset(DeviceState *dev) cs->exception_index = RISCV_EXCP_NONE; env->load_res = -1; set_default_nan_mode(1, &env->fp_status); + +#ifndef CONFIG_USER_ONLY + if (kvm_enabled()) { + kvm_riscv_reset_vcpu(cpu); + } +#endif } static void riscv_cpu_disas_set_info(CPUState *s, disassemble_info *info) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 4d63086765..8fa6fdcd77 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -269,6 +269,9 @@ struct CPURISCVState { /* Fields from here on are preserved across CPU reset. */ QEMUTimer *timer; /* Internal timer */ + + hwaddr kernel_addr; + hwaddr fdt_addr; }; OBJECT_DECLARE_TYPE(RISCVCPU, RISCVCPUClass, diff --git a/target/riscv/kvm-stub.c b/target/riscv/kvm-stub.c new file mode 100644 index 0000000000..39b96fe3f4 --- /dev/null +++ b/target/riscv/kvm-stub.c @@ -0,0 +1,25 @@ +/* + * QEMU KVM RISC-V specific function stubs + * + * Copyright (c) 2020 Huawei Technologies Co., Ltd + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2 or later, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +#include "qemu/osdep.h" +#include "cpu.h" +#include "kvm_riscv.h" + +void kvm_riscv_reset_vcpu(RISCVCPU *cpu) +{ + abort(); +} diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index dbaff53bf2..d5c6a9d41a 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -37,6 +37,7 @@ #include "hw/irq.h" #include "qemu/log.h" #include "hw/loader.h" +#include "kvm_riscv.h" static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, uint64_t idx) @@ -371,6 +372,19 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run) return 0; } +void kvm_riscv_reset_vcpu(RISCVCPU *cpu) +{ + CPURISCVState *env = &cpu->env; + + if (!kvm_enabled()) { + return; + } + env->pc = cpu->env.kernel_addr; + env->gpr[10] = kvm_arch_vcpu_id(CPU(cpu)); /* a0 */ + env->gpr[11] = cpu->env.fdt_addr; /* a1 */ + env->satp = 0; +} + bool kvm_arch_cpu_check_are_resettable(void) { return true; diff --git a/target/riscv/kvm_riscv.h b/target/riscv/kvm_riscv.h new file mode 100644 index 0000000000..f38c82bf59 --- /dev/null +++ b/target/riscv/kvm_riscv.h @@ -0,0 +1,24 @@ +/* + * QEMU KVM support -- RISC-V specific functions. + * + * Copyright (c) 2020 Huawei Technologies Co., Ltd + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2 or later, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#ifndef QEMU_KVM_RISCV_H +#define QEMU_KVM_RISCV_H + +void kvm_riscv_reset_vcpu(RISCVCPU *cpu); + +#endif diff --git a/target/riscv/meson.build b/target/riscv/meson.build index 95340b44aa..a3997ed580 100644 --- a/target/riscv/meson.build +++ b/target/riscv/meson.build @@ -20,7 +20,7 @@ riscv_ss.add(files( 'translate.c', 'm128_helper.c' )) -riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c')) +riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c')) riscv_softmmu_ss = ss.source_set() riscv_softmmu_ss.add(files( From 2b650fbbcc2b5d34943bb5697d8799b2c1a885e1 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:23 +0800 Subject: [PATCH 10/61] target/riscv: Support setting external interrupt by KVM When KVM is enabled, set the S-mode external interrupt through kvm_riscv_set_irq function. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-8-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 6 +++++- target/riscv/kvm-stub.c | 5 +++++ target/riscv/kvm.c | 17 +++++++++++++++++ target/riscv/kvm_riscv.h | 1 + 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index a6922dde05..53b0524830 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -630,7 +630,11 @@ static void riscv_cpu_set_irq(void *opaque, int irq, int level) case IRQ_S_EXT: case IRQ_VS_EXT: case IRQ_M_EXT: - riscv_cpu_update_mip(cpu, 1 << irq, BOOL_TO_MASK(level)); + if (kvm_enabled()) { + kvm_riscv_set_irq(cpu, irq, level); + } else { + riscv_cpu_update_mip(cpu, 1 << irq, BOOL_TO_MASK(level)); + } break; default: g_assert_not_reached(); diff --git a/target/riscv/kvm-stub.c b/target/riscv/kvm-stub.c index 39b96fe3f4..4e8fc31a21 100644 --- a/target/riscv/kvm-stub.c +++ b/target/riscv/kvm-stub.c @@ -23,3 +23,8 @@ void kvm_riscv_reset_vcpu(RISCVCPU *cpu) { abort(); } + +void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level) +{ + abort(); +} diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index d5c6a9d41a..0ba64795d5 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -385,6 +385,23 @@ void kvm_riscv_reset_vcpu(RISCVCPU *cpu) env->satp = 0; } +void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level) +{ + int ret; + unsigned virq = level ? KVM_INTERRUPT_SET : KVM_INTERRUPT_UNSET; + + if (irq != IRQ_S_EXT) { + perror("kvm riscv set irq != IRQ_S_EXT\n"); + abort(); + } + + ret = kvm_vcpu_ioctl(CPU(cpu), KVM_INTERRUPT, &virq); + if (ret < 0) { + perror("Set irq failed"); + abort(); + } +} + bool kvm_arch_cpu_check_are_resettable(void) { return true; diff --git a/target/riscv/kvm_riscv.h b/target/riscv/kvm_riscv.h index f38c82bf59..ed281bdce0 100644 --- a/target/riscv/kvm_riscv.h +++ b/target/riscv/kvm_riscv.h @@ -20,5 +20,6 @@ #define QEMU_KVM_RISCV_H void kvm_riscv_reset_vcpu(RISCVCPU *cpu); +void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level); #endif From 4eb471258bd0e331678bece4c894c477928b3b0b Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:24 +0800 Subject: [PATCH 11/61] target/riscv: Handle KVM_EXIT_RISCV_SBI exit Use char-fe to handle console sbi call, which implement early console io while apply 'earlycon=sbi' into kernel parameters. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Anup Patel Reviewed-by: Alistair Francis Message-id: 20220112081329.1835-9-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/kvm.c | 42 ++++++++++++++++- target/riscv/sbi_ecall_interface.h | 72 ++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 target/riscv/sbi_ecall_interface.h diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index 0ba64795d5..e90e2a6709 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -38,6 +38,8 @@ #include "qemu/log.h" #include "hw/loader.h" #include "kvm_riscv.h" +#include "sbi_ecall_interface.h" +#include "chardev/char-fe.h" static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, uint64_t idx) @@ -367,9 +369,47 @@ bool kvm_arch_stop_on_emulation_error(CPUState *cs) return true; } +static int kvm_riscv_handle_sbi(CPUState *cs, struct kvm_run *run) +{ + int ret = 0; + unsigned char ch; + switch (run->riscv_sbi.extension_id) { + case SBI_EXT_0_1_CONSOLE_PUTCHAR: + ch = run->riscv_sbi.args[0]; + qemu_chr_fe_write(serial_hd(0)->be, &ch, sizeof(ch)); + break; + case SBI_EXT_0_1_CONSOLE_GETCHAR: + ret = qemu_chr_fe_read_all(serial_hd(0)->be, &ch, sizeof(ch)); + if (ret == sizeof(ch)) { + run->riscv_sbi.args[0] = ch; + } else { + run->riscv_sbi.args[0] = -1; + } + break; + default: + qemu_log_mask(LOG_UNIMP, + "%s: un-handled SBI EXIT, specific reasons is %lu\n", + __func__, run->riscv_sbi.extension_id); + ret = -1; + break; + } + return ret; +} + int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run) { - return 0; + int ret = 0; + switch (run->exit_reason) { + case KVM_EXIT_RISCV_SBI: + ret = kvm_riscv_handle_sbi(cs, run); + break; + default: + qemu_log_mask(LOG_UNIMP, "%s: un-handled exit reason %d\n", + __func__, run->exit_reason); + ret = -1; + break; + } + return ret; } void kvm_riscv_reset_vcpu(RISCVCPU *cpu) diff --git a/target/riscv/sbi_ecall_interface.h b/target/riscv/sbi_ecall_interface.h new file mode 100644 index 0000000000..fb1a3fa8f2 --- /dev/null +++ b/target/riscv/sbi_ecall_interface.h @@ -0,0 +1,72 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2019 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel + */ + +#ifndef __SBI_ECALL_INTERFACE_H__ +#define __SBI_ECALL_INTERFACE_H__ + +/* clang-format off */ + +/* SBI Extension IDs */ +#define SBI_EXT_0_1_SET_TIMER 0x0 +#define SBI_EXT_0_1_CONSOLE_PUTCHAR 0x1 +#define SBI_EXT_0_1_CONSOLE_GETCHAR 0x2 +#define SBI_EXT_0_1_CLEAR_IPI 0x3 +#define SBI_EXT_0_1_SEND_IPI 0x4 +#define SBI_EXT_0_1_REMOTE_FENCE_I 0x5 +#define SBI_EXT_0_1_REMOTE_SFENCE_VMA 0x6 +#define SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID 0x7 +#define SBI_EXT_0_1_SHUTDOWN 0x8 +#define SBI_EXT_BASE 0x10 +#define SBI_EXT_TIME 0x54494D45 +#define SBI_EXT_IPI 0x735049 +#define SBI_EXT_RFENCE 0x52464E43 +#define SBI_EXT_HSM 0x48534D + +/* SBI function IDs for BASE extension*/ +#define SBI_EXT_BASE_GET_SPEC_VERSION 0x0 +#define SBI_EXT_BASE_GET_IMP_ID 0x1 +#define SBI_EXT_BASE_GET_IMP_VERSION 0x2 +#define SBI_EXT_BASE_PROBE_EXT 0x3 +#define SBI_EXT_BASE_GET_MVENDORID 0x4 +#define SBI_EXT_BASE_GET_MARCHID 0x5 +#define SBI_EXT_BASE_GET_MIMPID 0x6 + +/* SBI function IDs for TIME extension*/ +#define SBI_EXT_TIME_SET_TIMER 0x0 + +/* SBI function IDs for IPI extension*/ +#define SBI_EXT_IPI_SEND_IPI 0x0 + +/* SBI function IDs for RFENCE extension*/ +#define SBI_EXT_RFENCE_REMOTE_FENCE_I 0x0 +#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA 0x1 +#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID 0x2 +#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA 0x3 +#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID 0x4 +#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA 0x5 +#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID 0x6 + +/* SBI function IDs for HSM extension */ +#define SBI_EXT_HSM_HART_START 0x0 +#define SBI_EXT_HSM_HART_STOP 0x1 +#define SBI_EXT_HSM_HART_GET_STATUS 0x2 + +#define SBI_HSM_HART_STATUS_STARTED 0x0 +#define SBI_HSM_HART_STATUS_STOPPED 0x1 +#define SBI_HSM_HART_STATUS_START_PENDING 0x2 +#define SBI_HSM_HART_STATUS_STOP_PENDING 0x3 + +#define SBI_SPEC_VERSION_MAJOR_OFFSET 24 +#define SBI_SPEC_VERSION_MAJOR_MASK 0x7f +#define SBI_SPEC_VERSION_MINOR_MASK 0xffffff +#define SBI_EXT_VENDOR_START 0x09000000 +#define SBI_EXT_VENDOR_END 0x09FFFFFF +/* clang-format on */ + +#endif From 10f1ca27e0fe9930d372591cd5f302e7249aa705 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:25 +0800 Subject: [PATCH 12/61] target/riscv: Add host cpu type 'host' type cpu is set isa to RV32 or RV64 simply, more isa info will obtain from KVM in kvm_arch_init_vcpu() Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-10-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 15 +++++++++++++++ target/riscv/cpu.h | 1 + 2 files changed, 16 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 53b0524830..32879f1403 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -235,6 +235,18 @@ static void rv32_imafcu_nommu_cpu_init(Object *obj) } #endif +#if defined(CONFIG_KVM) +static void riscv_host_cpu_init(Object *obj) +{ + CPURISCVState *env = &RISCV_CPU(obj)->env; +#if defined(TARGET_RISCV32) + set_misa(env, MXL_RV32, 0); +#elif defined(TARGET_RISCV64) + set_misa(env, MXL_RV64, 0); +#endif +} +#endif + static ObjectClass *riscv_cpu_class_by_name(const char *cpu_model) { ObjectClass *oc; @@ -847,6 +859,9 @@ static const TypeInfo riscv_cpu_type_infos[] = { .class_init = riscv_cpu_class_init, }, DEFINE_CPU(TYPE_RISCV_CPU_ANY, riscv_any_cpu_init), +#if defined(CONFIG_KVM) + DEFINE_CPU(TYPE_RISCV_CPU_HOST, riscv_host_cpu_init), +#endif #if defined(TARGET_RISCV32) DEFINE_CPU(TYPE_RISCV_CPU_BASE32, rv32_base_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_IBEX, rv32_ibex_cpu_init), diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 8fa6fdcd77..73ced2116b 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -47,6 +47,7 @@ #define TYPE_RISCV_CPU_SIFIVE_E51 RISCV_CPU_TYPE_NAME("sifive-e51") #define TYPE_RISCV_CPU_SIFIVE_U34 RISCV_CPU_TYPE_NAME("sifive-u34") #define TYPE_RISCV_CPU_SIFIVE_U54 RISCV_CPU_TYPE_NAME("sifive-u54") +#define TYPE_RISCV_CPU_HOST RISCV_CPU_TYPE_NAME("host") #if defined(TARGET_RISCV32) # define TYPE_RISCV_CPU_BASE TYPE_RISCV_CPU_BASE32 From 27abe66f31efa8bcd15f0f998db2127b4ffb628a Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:26 +0800 Subject: [PATCH 13/61] target/riscv: Add kvm_riscv_get/put_regs_timer Add kvm_riscv_get/put_regs_timer to synchronize virtual time context from KVM. To set register of RISCV_TIMER_REG(state) will occur a error from KVM on kvm_timer_state == 0. It's better to adapt in KVM, but it doesn't matter that adaping in QEMU. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Anup Patel Acked-by: Alistair Francis Message-id: 20220112081329.1835-11-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 7 +++++ target/riscv/kvm.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 73ced2116b..22c94d3c57 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -273,6 +273,13 @@ struct CPURISCVState { hwaddr kernel_addr; hwaddr fdt_addr; + + /* kvm timer */ + bool kvm_timer_dirty; + uint64_t kvm_timer_time; + uint64_t kvm_timer_compare; + uint64_t kvm_timer_state; + uint64_t kvm_timer_frequency; }; OBJECT_DECLARE_TYPE(RISCVCPU, RISCVCPUClass, diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index e90e2a6709..a43d5a2988 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -40,6 +40,7 @@ #include "kvm_riscv.h" #include "sbi_ecall_interface.h" #include "chardev/char-fe.h" +#include "migration/migration.h" static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, uint64_t idx) @@ -65,6 +66,9 @@ static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, #define RISCV_CSR_REG(env, name) kvm_riscv_reg_id(env, KVM_REG_RISCV_CSR, \ KVM_REG_RISCV_CSR_REG(name)) +#define RISCV_TIMER_REG(env, name) kvm_riscv_reg_id(env, KVM_REG_RISCV_TIMER, \ + KVM_REG_RISCV_TIMER_REG(name)) + #define RISCV_FP_F_REG(env, idx) kvm_riscv_reg_id(env, KVM_REG_RISCV_FP_F, idx) #define RISCV_FP_D_REG(env, idx) kvm_riscv_reg_id(env, KVM_REG_RISCV_FP_D, idx) @@ -85,6 +89,22 @@ static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, } \ } while (0) +#define KVM_RISCV_GET_TIMER(cs, env, name, reg) \ + do { \ + int ret = kvm_get_one_reg(cs, RISCV_TIMER_REG(env, name), ®); \ + if (ret) { \ + abort(); \ + } \ + } while (0) + +#define KVM_RISCV_SET_TIMER(cs, env, name, reg) \ + do { \ + int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, time), ®); \ + if (ret) { \ + abort(); \ + } \ + } while (0) + static int kvm_riscv_get_regs_core(CPUState *cs) { int ret = 0; @@ -236,6 +256,58 @@ static int kvm_riscv_put_regs_fp(CPUState *cs) return ret; } +static void kvm_riscv_get_regs_timer(CPUState *cs) +{ + CPURISCVState *env = &RISCV_CPU(cs)->env; + + if (env->kvm_timer_dirty) { + return; + } + + KVM_RISCV_GET_TIMER(cs, env, time, env->kvm_timer_time); + KVM_RISCV_GET_TIMER(cs, env, compare, env->kvm_timer_compare); + KVM_RISCV_GET_TIMER(cs, env, state, env->kvm_timer_state); + KVM_RISCV_GET_TIMER(cs, env, frequency, env->kvm_timer_frequency); + + env->kvm_timer_dirty = true; +} + +static void kvm_riscv_put_regs_timer(CPUState *cs) +{ + uint64_t reg; + CPURISCVState *env = &RISCV_CPU(cs)->env; + + if (!env->kvm_timer_dirty) { + return; + } + + KVM_RISCV_SET_TIMER(cs, env, time, env->kvm_timer_time); + KVM_RISCV_SET_TIMER(cs, env, compare, env->kvm_timer_compare); + + /* + * To set register of RISCV_TIMER_REG(state) will occur a error from KVM + * on env->kvm_timer_state == 0, It's better to adapt in KVM, but it + * doesn't matter that adaping in QEMU now. + * TODO If KVM changes, adapt here. + */ + if (env->kvm_timer_state) { + KVM_RISCV_SET_TIMER(cs, env, state, env->kvm_timer_state); + } + + /* + * For now, migration will not work between Hosts with different timer + * frequency. Therefore, we should check whether they are the same here + * during the migration. + */ + if (migration_is_running(migrate_get_current()->state)) { + KVM_RISCV_GET_TIMER(cs, env, frequency, reg); + if (reg != env->kvm_timer_frequency) { + error_report("Dst Hosts timer frequency != Src Hosts"); + } + } + + env->kvm_timer_dirty = false; +} const KVMCapabilityInfo kvm_arch_required_capabilities[] = { KVM_CAP_LAST_INFO From 9ad3e016ae1ed2f30c39051bc20f1da327bd9400 Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:27 +0800 Subject: [PATCH 14/61] target/riscv: Implement virtual time adjusting with vm state changing We hope that virtual time adjusts with vm state changing. When a vm is stopped, guest virtual time should stop counting and kvm_timer should be stopped. When the vm is resumed, guest virtual time should continue to count and kvm_timer should be restored. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Anup Patel Reviewed-by: Alistair Francis Message-id: 20220112081329.1835-12-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/kvm.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c index a43d5a2988..e6b7cb6d4d 100644 --- a/target/riscv/kvm.c +++ b/target/riscv/kvm.c @@ -41,6 +41,7 @@ #include "sbi_ecall_interface.h" #include "chardev/char-fe.h" #include "migration/migration.h" +#include "sysemu/runstate.h" static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type, uint64_t idx) @@ -378,6 +379,18 @@ unsigned long kvm_arch_vcpu_id(CPUState *cpu) return cpu->cpu_index; } +static void kvm_riscv_vm_state_change(void *opaque, bool running, + RunState state) +{ + CPUState *cs = opaque; + + if (running) { + kvm_riscv_put_regs_timer(cs); + } else { + kvm_riscv_get_regs_timer(cs); + } +} + void kvm_arch_init_irq_routing(KVMState *s) { } @@ -390,6 +403,8 @@ int kvm_arch_init_vcpu(CPUState *cs) CPURISCVState *env = &cpu->env; uint64_t id; + qemu_add_vm_change_state_handler(kvm_riscv_vm_state_change, cs); + id = kvm_riscv_reg_id(env, KVM_REG_RISCV_CONFIG, KVM_REG_RISCV_CONFIG_REG(isa)); ret = kvm_get_one_reg(cs, id, &isa); From 1eb9a5da31abb0a7b613756f5bb7c887b7ef60ea Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:28 +0800 Subject: [PATCH 15/61] target/riscv: Support virtual time context synchronization Add virtual time context description to vmstate_kvmtimer. After cpu being loaded, virtual time context is updated to KVM. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Anup Patel Reviewed-by: Alistair Francis Message-id: 20220112081329.1835-13-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- target/riscv/machine.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/target/riscv/machine.c b/target/riscv/machine.c index 13b9ab375b..098670e680 100644 --- a/target/riscv/machine.c +++ b/target/riscv/machine.c @@ -185,6 +185,35 @@ static const VMStateDescription vmstate_rv128 = { } }; +static bool kvmtimer_needed(void *opaque) +{ + return kvm_enabled(); +} + +static int cpu_post_load(void *opaque, int version_id) +{ + RISCVCPU *cpu = opaque; + CPURISCVState *env = &cpu->env; + + env->kvm_timer_dirty = true; + return 0; +} + +static const VMStateDescription vmstate_kvmtimer = { + .name = "cpu/kvmtimer", + .version_id = 1, + .minimum_version_id = 1, + .needed = kvmtimer_needed, + .post_load = cpu_post_load, + .fields = (VMStateField[]) { + VMSTATE_UINT64(env.kvm_timer_time, RISCVCPU), + VMSTATE_UINT64(env.kvm_timer_compare, RISCVCPU), + VMSTATE_UINT64(env.kvm_timer_state, RISCVCPU), + + VMSTATE_END_OF_LIST() + } +}; + const VMStateDescription vmstate_riscv_cpu = { .name = "cpu", .version_id = 3, @@ -240,6 +269,7 @@ const VMStateDescription vmstate_riscv_cpu = { &vmstate_vector, &vmstate_pointermasking, &vmstate_rv128, + &vmstate_kvmtimer, NULL } }; From fbf43c7dbf18156d4dce73183dd17b83f6ca65fc Mon Sep 17 00:00:00 2001 From: Yifei Jiang Date: Wed, 12 Jan 2022 16:13:29 +0800 Subject: [PATCH 16/61] target/riscv: enable riscv kvm accel Add riscv kvm support in meson.build file. Signed-off-by: Yifei Jiang Signed-off-by: Mingwang Li Reviewed-by: Alistair Francis Reviewed-by: Anup Patel Message-id: 20220112081329.1835-14-jiangyifei@huawei.com Signed-off-by: Alistair Francis --- meson.build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meson.build b/meson.build index 333c61deba..833fd6bc4c 100644 --- a/meson.build +++ b/meson.build @@ -90,6 +90,8 @@ elif cpu in ['ppc', 'ppc64'] kvm_targets = ['ppc-softmmu', 'ppc64-softmmu'] elif cpu in ['mips', 'mips64'] kvm_targets = ['mips-softmmu', 'mipsel-softmmu', 'mips64-softmmu', 'mips64el-softmmu'] +elif cpu in ['riscv'] + kvm_targets = ['riscv32-softmmu', 'riscv64-softmmu'] else kvm_targets = [] endif From cfeeeb482a5279f240407a9d7266274c67c21d2e Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Fri, 7 Jan 2022 14:38:44 +0100 Subject: [PATCH 17/61] softmmu/device_tree: Silence compiler warning with --enable-sanitizers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If I configure my build with --enable-sanitizers, my GCC (v8.5.0) complains: .../softmmu/device_tree.c: In function ‘qemu_fdt_add_path’: .../softmmu/device_tree.c:560:18: error: ‘retval’ may be used uninitialized in this function [-Werror=maybe-uninitialized] int namelen, retval; ^~~~~~ It's a false warning since the while loop is always executed at least once (p has to be non-NULL, otherwise the derefence in the if-statement earlier will crash). Thus let's switch to a do-while loop here instead to make the compiler happy in all cases. Signed-off-by: Thomas Huth Reviewed-by: Andrew Jones Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Reviewed-by: Yanan Wang Message-id: 20220107133844.145039-1-thuth@redhat.com Signed-off-by: Alistair Francis --- softmmu/device_tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index 31d1066940..0a433c98e2 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -566,7 +566,7 @@ int qemu_fdt_add_path(void *fdt, const char *path) return -1; } - while (p) { + do { name = p + 1; p = strchr(name, '/'); namelen = p != NULL ? p - name : strlen(name); @@ -586,7 +586,7 @@ int qemu_fdt_add_path(void *fdt, const char *path) } parent = retval; - } + } while (p); return retval; } From 22599b795c8395fa3e2a90c3b32ca1622035feeb Mon Sep 17 00:00:00 2001 From: Yanan Wang Date: Tue, 11 Jan 2022 11:27:58 +0800 Subject: [PATCH 18/61] softmmu/device_tree: Remove redundant pointer assignment The pointer assignment "const char *p = path;" in function qemu_fdt_add_path is unnecessary. Let's remove it and just use the "path" passed in. No functional change. Suggested-by: Richard Henderson Signed-off-by: Yanan Wang Reviewed-by: Andrew Jones Reviewed-by: Alistair Francis Reviewed-by: Thomas Huth Message-id: 20220111032758.27804-1-wangyanan55@huawei.com Signed-off-by: Alistair Francis --- softmmu/device_tree.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index 0a433c98e2..6ca3fad285 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -558,7 +558,6 @@ int qemu_fdt_add_subnode(void *fdt, const char *name) int qemu_fdt_add_path(void *fdt, const char *path) { const char *name; - const char *p = path; int namelen, retval; int parent = 0; @@ -567,9 +566,9 @@ int qemu_fdt_add_path(void *fdt, const char *path) } do { - name = p + 1; - p = strchr(name, '/'); - namelen = p != NULL ? p - name : strlen(name); + name = path + 1; + path = strchr(name, '/'); + namelen = path != NULL ? path - name : strlen(name); retval = fdt_subnode_offset_namelen(fdt, parent, name, namelen); if (retval < 0 && retval != -FDT_ERR_NOTFOUND) { @@ -586,7 +585,7 @@ int qemu_fdt_add_path(void *fdt, const char *path) } parent = retval; - } while (p); + } while (path); return retval; } From b4a99d40276eb5bdfa849cc04344d9a2c4c820ef Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:04 +0800 Subject: [PATCH 19/61] target/riscv: rvv-1.0: Add Zve64f extension into RISC-V Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-2-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 4 ++++ target/riscv/cpu.h | 1 + target/riscv/cpu_helper.c | 5 ++++- target/riscv/csr.c | 6 +++++- target/riscv/translate.c | 2 ++ 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 32879f1403..cdb893d601 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -609,6 +609,10 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) } set_vext_version(env, vext_version); } + if (cpu->cfg.ext_zve64f && !cpu->cfg.ext_f) { + error_setg(errp, "Zve64f extension depends upon RVF."); + return; + } if (cpu->cfg.ext_j) { ext |= RVJ; } diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 22c94d3c57..424bdcc7fa 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -340,6 +340,7 @@ struct RISCVCPU { bool ext_icsr; bool ext_zfh; bool ext_zfhmin; + bool ext_zve64f; char *priv_spec; char *user_spec; diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 434a83e66a..43d498aae1 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -69,12 +69,15 @@ static RISCVMXL cpu_get_xl(CPURISCVState *env) void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { + CPUState *cs = env_cpu(env); + RISCVCPU *cpu = RISCV_CPU(cs); + uint32_t flags = 0; *pc = env->pc; *cs_base = 0; - if (riscv_has_ext(env, RVV)) { + if (riscv_has_ext(env, RVV) || cpu->cfg.ext_zve64f) { /* * If env->vl equals to VLMAX, we can use generic vector operation * expanders (GVEC) to accerlate the vector operations. diff --git a/target/riscv/csr.c b/target/riscv/csr.c index adb3d4381d..e9311cfd9d 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -47,7 +47,11 @@ static RISCVException fs(CPURISCVState *env, int csrno) static RISCVException vs(CPURISCVState *env, int csrno) { - if (env->misa_ext & RVV) { + CPUState *cs = env_cpu(env); + RISCVCPU *cpu = RISCV_CPU(cs); + + if (env->misa_ext & RVV || + cpu->cfg.ext_zve64f) { #if !defined(CONFIG_USER_ONLY) if (!env->debugger && !riscv_cpu_vector_enabled(env)) { return RISCV_EXCP_ILLEGAL_INST; diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 615048ec87..d3c0d44e2e 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -79,6 +79,7 @@ typedef struct DisasContext { bool ext_ifencei; bool ext_zfh; bool ext_zfhmin; + bool ext_zve64f; bool hlsx; /* vector extension */ bool vill; @@ -894,6 +895,7 @@ static void riscv_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs) ctx->ext_ifencei = cpu->cfg.ext_ifencei; ctx->ext_zfh = cpu->cfg.ext_zfh; ctx->ext_zfhmin = cpu->cfg.ext_zfhmin; + ctx->ext_zve64f = cpu->cfg.ext_zve64f; ctx->vlen = cpu->cfg.vlen; ctx->elen = cpu->cfg.elen; ctx->mstatus_hs_fs = FIELD_EX32(tb_flags, TB_FLAGS, MSTATUS_HS_FS); From c7a26fb2f6bafd45b983d81d180f624c0e8c4d2b Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:05 +0800 Subject: [PATCH 20/61] target/riscv: rvv-1.0: Add Zve64f support for configuration insns All Zve* extensions support the vector configuration instructions. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-3-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 6c285c958b..5b47729a21 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -129,7 +129,8 @@ static bool do_vsetvl(DisasContext *s, int rd, int rs1, TCGv s2) { TCGv s1, dst; - if (!require_rvv(s) || !has_ext(s, RVV)) { + if (!require_rvv(s) || + !(has_ext(s, RVV) || s->ext_zve64f)) { return false; } @@ -164,7 +165,8 @@ static bool do_vsetivli(DisasContext *s, int rd, TCGv s1, TCGv s2) { TCGv dst; - if (!require_rvv(s) || !has_ext(s, RVV)) { + if (!require_rvv(s) || + !(has_ext(s, RVV) || s->ext_zve64f)) { return false; } From 494104093fafab12208a8f1f0cb2ab5f5c8c7035 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:06 +0800 Subject: [PATCH 21/61] target/riscv: rvv-1.0: Add Zve64f support for load and store insns All Zve* extensions support all vector load and store instructions, except Zve64* extensions do not support EEW=64 for index values when XLEN=32. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-4-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 5b47729a21..0bf41aaa1e 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -263,10 +263,21 @@ static bool vext_check_st_index(DisasContext *s, int vd, int vs2, int nf, uint8_t eew) { int8_t emul = eew - s->sew + s->lmul; - return (emul >= -3 && emul <= 3) && - require_align(vs2, emul) && - require_align(vd, s->lmul) && - require_nf(vd, nf, s->lmul); + bool ret = (emul >= -3 && emul <= 3) && + require_align(vs2, emul) && + require_align(vd, s->lmul) && + require_nf(vd, nf, s->lmul); + + /* + * All Zve* extensions support all vector load and store instructions, + * except Zve64* extensions do not support EEW=64 for index values + * when XLEN=32. (Section 18.2) + */ + if (get_xl(s) == MXL_RV32) { + ret &= (!has_ext(s, RVV) && s->ext_zve64f ? eew != MO_64 : true); + } + + return ret; } /* From aaae69942f5c73a724daf09dcbd963cd852ccb64 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:07 +0800 Subject: [PATCH 22/61] target/riscv: rvv-1.0: Add Zve64f support for vmulh variant insns All Zve* extensions support all vector integer instructions, except that the vmulh integer multiply variants that return the high word of the product (vmulh.vv, vmulh.vx, vmulhu.vv, vmulhu.vx, vmulhsu.vv, vmulhsu.vx) are not included for EEW=64 in Zve64*. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-5-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 39 +++++++++++++++++++++---- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 0bf41aaa1e..e64dddda28 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -1908,14 +1908,41 @@ GEN_OPIVX_TRANS(vmaxu_vx, opivx_check) GEN_OPIVX_TRANS(vmax_vx, opivx_check) /* Vector Single-Width Integer Multiply Instructions */ + +static bool vmulh_vv_check(DisasContext *s, arg_rmrr *a) +{ + /* + * All Zve* extensions support all vector integer instructions, + * except that the vmulh integer multiply variants + * that return the high word of the product + * (vmulh.vv, vmulh.vx, vmulhu.vv, vmulhu.vx, vmulhsu.vv, vmulhsu.vx) + * are not included for EEW=64 in Zve64*. (Section 18.2) + */ + return opivv_check(s, a) && + (!has_ext(s, RVV) && s->ext_zve64f ? s->sew != MO_64 : true); +} + +static bool vmulh_vx_check(DisasContext *s, arg_rmrr *a) +{ + /* + * All Zve* extensions support all vector integer instructions, + * except that the vmulh integer multiply variants + * that return the high word of the product + * (vmulh.vv, vmulh.vx, vmulhu.vv, vmulhu.vx, vmulhsu.vv, vmulhsu.vx) + * are not included for EEW=64 in Zve64*. (Section 18.2) + */ + return opivx_check(s, a) && + (!has_ext(s, RVV) && s->ext_zve64f ? s->sew != MO_64 : true); +} + GEN_OPIVV_GVEC_TRANS(vmul_vv, mul) -GEN_OPIVV_TRANS(vmulh_vv, opivv_check) -GEN_OPIVV_TRANS(vmulhu_vv, opivv_check) -GEN_OPIVV_TRANS(vmulhsu_vv, opivv_check) +GEN_OPIVV_TRANS(vmulh_vv, vmulh_vv_check) +GEN_OPIVV_TRANS(vmulhu_vv, vmulh_vv_check) +GEN_OPIVV_TRANS(vmulhsu_vv, vmulh_vv_check) GEN_OPIVX_GVEC_TRANS(vmul_vx, muls) -GEN_OPIVX_TRANS(vmulh_vx, opivx_check) -GEN_OPIVX_TRANS(vmulhu_vx, opivx_check) -GEN_OPIVX_TRANS(vmulhsu_vx, opivx_check) +GEN_OPIVX_TRANS(vmulh_vx, vmulh_vx_check) +GEN_OPIVX_TRANS(vmulhu_vx, vmulh_vx_check) +GEN_OPIVX_TRANS(vmulhsu_vx, vmulh_vx_check) /* Vector Integer Divide Instructions */ GEN_OPIVV_TRANS(vdivu_vv, opivv_check) From 13dbc826fd086dd40b7a4d3f1cb3f1bc8454b586 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:08 +0800 Subject: [PATCH 23/61] target/riscv: rvv-1.0: Add Zve64f support for vsmul.vv and vsmul.vx insns All Zve* extensions support all vector fixed-point arithmetic instructions, except that vsmul.vv and vsmul.vx are not supported for EEW=64 in Zve64*. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-6-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 27 +++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index e64dddda28..8e493b7933 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2123,8 +2123,31 @@ GEN_OPIVX_TRANS(vasub_vx, opivx_check) GEN_OPIVX_TRANS(vasubu_vx, opivx_check) /* Vector Single-Width Fractional Multiply with Rounding and Saturation */ -GEN_OPIVV_TRANS(vsmul_vv, opivv_check) -GEN_OPIVX_TRANS(vsmul_vx, opivx_check) + +static bool vsmul_vv_check(DisasContext *s, arg_rmrr *a) +{ + /* + * All Zve* extensions support all vector fixed-point arithmetic + * instructions, except that vsmul.vv and vsmul.vx are not supported + * for EEW=64 in Zve64*. (Section 18.2) + */ + return opivv_check(s, a) && + (!has_ext(s, RVV) && s->ext_zve64f ? s->sew != MO_64 : true); +} + +static bool vsmul_vx_check(DisasContext *s, arg_rmrr *a) +{ + /* + * All Zve* extensions support all vector fixed-point arithmetic + * instructions, except that vsmul.vv and vsmul.vx are not supported + * for EEW=64 in Zve64*. (Section 18.2) + */ + return opivx_check(s, a) && + (!has_ext(s, RVV) && s->ext_zve64f ? s->sew != MO_64 : true); +} + +GEN_OPIVV_TRANS(vsmul_vv, vsmul_vv_check) +GEN_OPIVX_TRANS(vsmul_vx, vsmul_vx_check) /* Vector Single-Width Scaling Shift Instructions */ GEN_OPIVV_TRANS(vssrl_vv, opivv_check) From 40d78c85f6f321c00588230a400477250a85c2e7 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:09 +0800 Subject: [PATCH 24/61] target/riscv: rvv-1.0: Add Zve64f support for scalar fp insns Zve64f extension requires the scalar processor to implement the F extension and implement all vector floating-point instructions for floating-point operands with EEW=32 (i.e., no widening floating-point operations). Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-7-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 41 +++++++++++++++++++------ 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 8e493b7933..56246a5d88 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -66,6 +66,17 @@ static bool require_scale_rvf(DisasContext *s) } } +static bool require_zve64f(DisasContext *s) +{ + /* RVV + Zve64f = RVV. */ + if (has_ext(s, RVV)) { + return true; + } + + /* Zve64f doesn't support FP64. (Section 18.2) */ + return s->ext_zve64f ? s->sew <= MO_32 : true; +} + /* Destination vector register group cannot overlap source mask register. */ static bool require_vm(int vm, int vd) { @@ -2206,7 +2217,8 @@ static bool opfvv_check(DisasContext *s, arg_rmrr *a) return require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && - vext_check_sss(s, a->rd, a->rs1, a->rs2, a->vm); + vext_check_sss(s, a->rd, a->rs1, a->rs2, a->vm) && + require_zve64f(s); } /* OPFVV without GVEC IR */ @@ -2286,7 +2298,8 @@ static bool opfvf_check(DisasContext *s, arg_rmrr *a) return require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && - vext_check_ss(s, a->rd, a->rs2, a->vm); + vext_check_ss(s, a->rd, a->rs2, a->vm) && + require_zve64f(s); } /* OPFVF without GVEC IR */ @@ -2503,7 +2516,8 @@ static bool opfv_check(DisasContext *s, arg_rmr *a) require_rvf(s) && vext_check_isa_ill(s) && /* OPFV instructions ignore vs1 check */ - vext_check_ss(s, a->rd, a->rs2, a->vm); + vext_check_ss(s, a->rd, a->rs2, a->vm) && + require_zve64f(s); } static bool do_opfv(DisasContext *s, arg_rmr *a, @@ -2568,7 +2582,8 @@ static bool opfvv_cmp_check(DisasContext *s, arg_rmrr *a) return require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && - vext_check_mss(s, a->rd, a->rs1, a->rs2); + vext_check_mss(s, a->rd, a->rs1, a->rs2) && + require_zve64f(s); } GEN_OPFVV_TRANS(vmfeq_vv, opfvv_cmp_check) @@ -2581,7 +2596,8 @@ static bool opfvf_cmp_check(DisasContext *s, arg_rmrr *a) return require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && - vext_check_ms(s, a->rd, a->rs2); + vext_check_ms(s, a->rd, a->rs2) && + require_zve64f(s); } GEN_OPFVF_TRANS(vmfeq_vf, opfvf_cmp_check) @@ -2602,7 +2618,8 @@ static bool trans_vfmv_v_f(DisasContext *s, arg_vfmv_v_f *a) if (require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && - require_align(a->rd, s->lmul)) { + require_align(a->rd, s->lmul) && + require_zve64f(s)) { gen_set_rm(s, RISCV_FRM_DYN); TCGv_i64 t1; @@ -3328,7 +3345,8 @@ static bool trans_vfmv_f_s(DisasContext *s, arg_vfmv_f_s *a) { if (require_rvv(s) && require_rvf(s) && - vext_check_isa_ill(s)) { + vext_check_isa_ill(s) && + require_zve64f(s)) { gen_set_rm(s, RISCV_FRM_DYN); unsigned int ofs = (8 << s->sew); @@ -3354,7 +3372,8 @@ static bool trans_vfmv_s_f(DisasContext *s, arg_vfmv_s_f *a) { if (require_rvv(s) && require_rvf(s) && - vext_check_isa_ill(s)) { + vext_check_isa_ill(s) && + require_zve64f(s)) { gen_set_rm(s, RISCV_FRM_DYN); /* The instructions ignore LMUL and vector register group. */ @@ -3405,13 +3424,15 @@ GEN_OPIVI_TRANS(vslidedown_vi, IMM_ZX, vslidedown_vx, slidedown_check) static bool fslideup_check(DisasContext *s, arg_rmrr *a) { return slideup_check(s, a) && - require_rvf(s); + require_rvf(s) && + require_zve64f(s); } static bool fslidedown_check(DisasContext *s, arg_rmrr *a) { return slidedown_check(s, a) && - require_rvf(s); + require_rvf(s) && + require_zve64f(s); } GEN_OPFVF_TRANS(vfslide1up_vf, fslideup_check) From 193fb5c9bd1fbf8a0b78c75f2056b0d7d9fc0ffe Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:10 +0800 Subject: [PATCH 25/61] target/riscv: rvv-1.0: Add Zve64f support for single-width fp reduction insns Vector single-width floating-point reduction operations for EEW=32 are supported for Zve64f extension. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-8-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 56246a5d88..08f25e3ce4 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2937,7 +2937,8 @@ GEN_OPIVV_WIDEN_TRANS(vwredsumu_vs, reduction_widen_check) static bool freduction_check(DisasContext *s, arg_rmrr *a) { return reduction_check(s, a) && - require_rvf(s); + require_rvf(s) && + require_zve64f(s); } GEN_OPFVV_TRANS(vfredsum_vs, freduction_check) From 235d1161d4ddbcd2d80aad7253ef69f2f5819926 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:11 +0800 Subject: [PATCH 26/61] target/riscv: rvv-1.0: Add Zve64f support for widening type-convert insns Vector widening conversion instructions are provided to and from all supported integer EEWs for Zve64f extension. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-9-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 32 +++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 08f25e3ce4..58f12366dd 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -77,6 +77,17 @@ static bool require_zve64f(DisasContext *s) return s->ext_zve64f ? s->sew <= MO_32 : true; } +static bool require_scale_zve64f(DisasContext *s) +{ + /* RVV + Zve64f = RVV. */ + if (has_ext(s, RVV)) { + return true; + } + + /* Zve64f doesn't support FP64. (Section 18.2) */ + return s->ext_zve64f ? s->sew <= MO_16 : true; +} + /* Destination vector register group cannot overlap source mask register. */ static bool require_vm(int vm, int vd) { @@ -2333,7 +2344,8 @@ static bool opfvv_widen_check(DisasContext *s, arg_rmrr *a) require_scale_rvf(s) && (s->sew != MO_8) && vext_check_isa_ill(s) && - vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm); + vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm) && + require_scale_zve64f(s); } /* OPFVV with WIDEN */ @@ -2372,7 +2384,8 @@ static bool opfvf_widen_check(DisasContext *s, arg_rmrr *a) require_scale_rvf(s) && (s->sew != MO_8) && vext_check_isa_ill(s) && - vext_check_ds(s, a->rd, a->rs2, a->vm); + vext_check_ds(s, a->rd, a->rs2, a->vm) && + require_scale_zve64f(s); } /* OPFVF with WIDEN */ @@ -2402,7 +2415,8 @@ static bool opfwv_widen_check(DisasContext *s, arg_rmrr *a) require_scale_rvf(s) && (s->sew != MO_8) && vext_check_isa_ill(s) && - vext_check_dds(s, a->rd, a->rs1, a->rs2, a->vm); + vext_check_dds(s, a->rd, a->rs1, a->rs2, a->vm) && + require_scale_zve64f(s); } /* WIDEN OPFVV with WIDEN */ @@ -2441,7 +2455,8 @@ static bool opfwf_widen_check(DisasContext *s, arg_rmrr *a) require_scale_rvf(s) && (s->sew != MO_8) && vext_check_isa_ill(s) && - vext_check_dd(s, a->rd, a->rs2, a->vm); + vext_check_dd(s, a->rd, a->rs2, a->vm) && + require_scale_zve64f(s); } /* WIDEN OPFVF with WIDEN */ @@ -2700,14 +2715,16 @@ static bool opfv_widen_check(DisasContext *s, arg_rmr *a) static bool opxfv_widen_check(DisasContext *s, arg_rmr *a) { return opfv_widen_check(s, a) && - require_rvf(s); + require_rvf(s) && + require_zve64f(s); } static bool opffv_widen_check(DisasContext *s, arg_rmr *a) { return opfv_widen_check(s, a) && require_scale_rvf(s) && - (s->sew != MO_8); + (s->sew != MO_8) && + require_scale_zve64f(s); } #define GEN_OPFV_WIDEN_TRANS(NAME, CHECK, HELPER, FRM) \ @@ -2758,7 +2775,8 @@ static bool opfxv_widen_check(DisasContext *s, arg_rmr *a) require_scale_rvf(s) && vext_check_isa_ill(s) && /* OPFV widening instructions ignore vs1 check */ - vext_check_ds(s, a->rd, a->rs2, a->vm); + vext_check_ds(s, a->rd, a->rs2, a->vm) && + require_scale_zve64f(s); } #define GEN_OPFXV_WIDEN_TRANS(NAME) \ From 68fa38970ea0f9fdcbf01f6e04531de72d40f755 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:12 +0800 Subject: [PATCH 27/61] target/riscv: rvv-1.0: Add Zve64f support for narrowing type-convert insns Vector narrowing conversion instructions are provided to and from all supported integer EEWs for Zve64f extension. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-10-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 58f12366dd..9fa3862620 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2826,14 +2826,16 @@ static bool opfxv_narrow_check(DisasContext *s, arg_rmr *a) { return opfv_narrow_check(s, a) && require_rvf(s) && - (s->sew != MO_64); + (s->sew != MO_64) && + require_zve64f(s); } static bool opffv_narrow_check(DisasContext *s, arg_rmr *a) { return opfv_narrow_check(s, a) && require_scale_rvf(s) && - (s->sew != MO_8); + (s->sew != MO_8) && + require_scale_zve64f(s); } #define GEN_OPFV_NARROW_TRANS(NAME, CHECK, HELPER, FRM) \ @@ -2882,7 +2884,8 @@ static bool opxfv_narrow_check(DisasContext *s, arg_rmr *a) require_scale_rvf(s) && vext_check_isa_ill(s) && /* OPFV narrowing instructions ignore vs1 check */ - vext_check_sd(s, a->rd, a->rs2, a->vm); + vext_check_sd(s, a->rd, a->rs2, a->vm) && + require_scale_zve64f(s); } #define GEN_OPXFV_NARROW_TRANS(NAME, HELPER, FRM) \ From bfefe406b7666bfc624bf54820aa14bd43838dc5 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:13 +0800 Subject: [PATCH 28/61] target/riscv: rvv-1.0: Allow Zve64f extension to be turned on Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-11-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index cdb893d601..4f3d733db4 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -688,6 +688,7 @@ static Property riscv_cpu_properties[] = { DEFINE_PROP_BOOL("Zicsr", RISCVCPU, cfg.ext_icsr, true), DEFINE_PROP_BOOL("Zfh", RISCVCPU, cfg.ext_zfh, false), DEFINE_PROP_BOOL("Zfhmin", RISCVCPU, cfg.ext_zfhmin, false), + DEFINE_PROP_BOOL("Zve64f", RISCVCPU, cfg.ext_zve64f, false), DEFINE_PROP_BOOL("mmu", RISCVCPU, cfg.mmu, true), DEFINE_PROP_BOOL("pmp", RISCVCPU, cfg.pmp, true), From 32e579b8c510f0c8d7023d87b0cfacf782cb4a62 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:14 +0800 Subject: [PATCH 29/61] target/riscv: rvv-1.0: Add Zve32f extension into RISC-V Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-12-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 4 ++-- target/riscv/cpu.h | 1 + target/riscv/cpu_helper.c | 2 +- target/riscv/csr.c | 2 +- target/riscv/translate.c | 2 ++ 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 4f3d733db4..ef269378de 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -609,8 +609,8 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) } set_vext_version(env, vext_version); } - if (cpu->cfg.ext_zve64f && !cpu->cfg.ext_f) { - error_setg(errp, "Zve64f extension depends upon RVF."); + if ((cpu->cfg.ext_zve32f || cpu->cfg.ext_zve64f) && !cpu->cfg.ext_f) { + error_setg(errp, "Zve32f/Zve64f extension depends upon RVF."); return; } if (cpu->cfg.ext_j) { diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 424bdcc7fa..03552f4aaa 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -340,6 +340,7 @@ struct RISCVCPU { bool ext_icsr; bool ext_zfh; bool ext_zfhmin; + bool ext_zve32f; bool ext_zve64f; char *priv_spec; diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 43d498aae1..afee770951 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -77,7 +77,7 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, *pc = env->pc; *cs_base = 0; - if (riscv_has_ext(env, RVV) || cpu->cfg.ext_zve64f) { + if (riscv_has_ext(env, RVV) || cpu->cfg.ext_zve32f || cpu->cfg.ext_zve64f) { /* * If env->vl equals to VLMAX, we can use generic vector operation * expanders (GVEC) to accerlate the vector operations. diff --git a/target/riscv/csr.c b/target/riscv/csr.c index e9311cfd9d..a9e7ac903b 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -51,7 +51,7 @@ static RISCVException vs(CPURISCVState *env, int csrno) RISCVCPU *cpu = RISCV_CPU(cs); if (env->misa_ext & RVV || - cpu->cfg.ext_zve64f) { + cpu->cfg.ext_zve32f || cpu->cfg.ext_zve64f) { #if !defined(CONFIG_USER_ONLY) if (!env->debugger && !riscv_cpu_vector_enabled(env)) { return RISCV_EXCP_ILLEGAL_INST; diff --git a/target/riscv/translate.c b/target/riscv/translate.c index d3c0d44e2e..330904265e 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -79,6 +79,7 @@ typedef struct DisasContext { bool ext_ifencei; bool ext_zfh; bool ext_zfhmin; + bool ext_zve32f; bool ext_zve64f; bool hlsx; /* vector extension */ @@ -895,6 +896,7 @@ static void riscv_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs) ctx->ext_ifencei = cpu->cfg.ext_ifencei; ctx->ext_zfh = cpu->cfg.ext_zfh; ctx->ext_zfhmin = cpu->cfg.ext_zfhmin; + ctx->ext_zve32f = cpu->cfg.ext_zve32f; ctx->ext_zve64f = cpu->cfg.ext_zve64f; ctx->vlen = cpu->cfg.vlen; ctx->elen = cpu->cfg.elen; From da61f1256f55a5e9fc03f7c88e3caa425d6bf8cf Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:15 +0800 Subject: [PATCH 30/61] target/riscv: rvv-1.0: Add Zve32f support for configuration insns All Zve* extensions support the vector configuration instructions. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-13-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 9fa3862620..fd6e74c232 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -152,7 +152,7 @@ static bool do_vsetvl(DisasContext *s, int rd, int rs1, TCGv s2) TCGv s1, dst; if (!require_rvv(s) || - !(has_ext(s, RVV) || s->ext_zve64f)) { + !(has_ext(s, RVV) || s->ext_zve32f || s->ext_zve64f)) { return false; } @@ -188,7 +188,7 @@ static bool do_vsetivli(DisasContext *s, int rd, TCGv s1, TCGv s2) TCGv dst; if (!require_rvv(s) || - !(has_ext(s, RVV) || s->ext_zve64f)) { + !(has_ext(s, RVV) || s->ext_zve32f || s->ext_zve64f)) { return false; } From abe2d74032d6d12a6918715086bbdf8843296f36 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:16 +0800 Subject: [PATCH 31/61] target/riscv: rvv-1.0: Add Zve32f support for scalar fp insns Zve32f extension requires the scalar processor to implement the F extension and implement all vector floating-point instructions for floating-point operands with EEW=32 (i.e., no widening floating-point operations). Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-14-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index fd6e74c232..fe4ad5d008 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -66,6 +66,17 @@ static bool require_scale_rvf(DisasContext *s) } } +static bool require_zve32f(DisasContext *s) +{ + /* RVV + Zve32f = RVV. */ + if (has_ext(s, RVV)) { + return true; + } + + /* Zve32f doesn't support FP64. (Section 18.2) */ + return s->ext_zve32f ? s->sew <= MO_32 : true; +} + static bool require_zve64f(DisasContext *s) { /* RVV + Zve64f = RVV. */ @@ -2229,6 +2240,7 @@ static bool opfvv_check(DisasContext *s, arg_rmrr *a) require_rvf(s) && vext_check_isa_ill(s) && vext_check_sss(s, a->rd, a->rs1, a->rs2, a->vm) && + require_zve32f(s) && require_zve64f(s); } @@ -2310,6 +2322,7 @@ static bool opfvf_check(DisasContext *s, arg_rmrr *a) require_rvf(s) && vext_check_isa_ill(s) && vext_check_ss(s, a->rd, a->rs2, a->vm) && + require_zve32f(s) && require_zve64f(s); } @@ -2532,6 +2545,7 @@ static bool opfv_check(DisasContext *s, arg_rmr *a) vext_check_isa_ill(s) && /* OPFV instructions ignore vs1 check */ vext_check_ss(s, a->rd, a->rs2, a->vm) && + require_zve32f(s) && require_zve64f(s); } @@ -2598,6 +2612,7 @@ static bool opfvv_cmp_check(DisasContext *s, arg_rmrr *a) require_rvf(s) && vext_check_isa_ill(s) && vext_check_mss(s, a->rd, a->rs1, a->rs2) && + require_zve32f(s) && require_zve64f(s); } @@ -2612,6 +2627,7 @@ static bool opfvf_cmp_check(DisasContext *s, arg_rmrr *a) require_rvf(s) && vext_check_isa_ill(s) && vext_check_ms(s, a->rd, a->rs2) && + require_zve32f(s) && require_zve64f(s); } @@ -2634,6 +2650,7 @@ static bool trans_vfmv_v_f(DisasContext *s, arg_vfmv_v_f *a) require_rvf(s) && vext_check_isa_ill(s) && require_align(a->rd, s->lmul) && + require_zve32f(s) && require_zve64f(s)) { gen_set_rm(s, RISCV_FRM_DYN); @@ -3368,6 +3385,7 @@ static bool trans_vfmv_f_s(DisasContext *s, arg_vfmv_f_s *a) if (require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && + require_zve32f(s) && require_zve64f(s)) { gen_set_rm(s, RISCV_FRM_DYN); @@ -3395,6 +3413,7 @@ static bool trans_vfmv_s_f(DisasContext *s, arg_vfmv_s_f *a) if (require_rvv(s) && require_rvf(s) && vext_check_isa_ill(s) && + require_zve32f(s) && require_zve64f(s)) { gen_set_rm(s, RISCV_FRM_DYN); @@ -3447,6 +3466,7 @@ static bool fslideup_check(DisasContext *s, arg_rmrr *a) { return slideup_check(s, a) && require_rvf(s) && + require_zve32f(s) && require_zve64f(s); } @@ -3454,6 +3474,7 @@ static bool fslidedown_check(DisasContext *s, arg_rmrr *a) { return slidedown_check(s, a) && require_rvf(s) && + require_zve32f(s) && require_zve64f(s); } From 8527b5db728b572c288fdcadb126d369040731be Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:17 +0800 Subject: [PATCH 32/61] target/riscv: rvv-1.0: Add Zve32f support for single-width fp reduction insns Vector single-width floating-point reduction operations for EEW=32 are supported for Zve32f extension. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-15-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index fe4ad5d008..b02bb555a6 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2976,6 +2976,7 @@ static bool freduction_check(DisasContext *s, arg_rmrr *a) { return reduction_check(s, a) && require_rvf(s) && + require_zve32f(s) && require_zve64f(s); } From f4dcf51cdcd25e8df150b0a394ccefc0611975dc Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:18 +0800 Subject: [PATCH 33/61] target/riscv: rvv-1.0: Add Zve32f support for widening type-convert insns Vector widening conversion instructions are provided to and from all supported integer EEWs for Zve32f extension. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-16-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index b02bb555a6..f2d3c9e8b9 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -77,6 +77,17 @@ static bool require_zve32f(DisasContext *s) return s->ext_zve32f ? s->sew <= MO_32 : true; } +static bool require_scale_zve32f(DisasContext *s) +{ + /* RVV + Zve32f = RVV. */ + if (has_ext(s, RVV)) { + return true; + } + + /* Zve32f doesn't support FP64. (Section 18.2) */ + return s->ext_zve64f ? s->sew <= MO_16 : true; +} + static bool require_zve64f(DisasContext *s) { /* RVV + Zve64f = RVV. */ @@ -2358,6 +2369,7 @@ static bool opfvv_widen_check(DisasContext *s, arg_rmrr *a) (s->sew != MO_8) && vext_check_isa_ill(s) && vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm) && + require_scale_zve32f(s) && require_scale_zve64f(s); } @@ -2398,6 +2410,7 @@ static bool opfvf_widen_check(DisasContext *s, arg_rmrr *a) (s->sew != MO_8) && vext_check_isa_ill(s) && vext_check_ds(s, a->rd, a->rs2, a->vm) && + require_scale_zve32f(s) && require_scale_zve64f(s); } @@ -2429,6 +2442,7 @@ static bool opfwv_widen_check(DisasContext *s, arg_rmrr *a) (s->sew != MO_8) && vext_check_isa_ill(s) && vext_check_dds(s, a->rd, a->rs1, a->rs2, a->vm) && + require_scale_zve32f(s) && require_scale_zve64f(s); } @@ -2469,6 +2483,7 @@ static bool opfwf_widen_check(DisasContext *s, arg_rmrr *a) (s->sew != MO_8) && vext_check_isa_ill(s) && vext_check_dd(s, a->rd, a->rs2, a->vm) && + require_scale_zve32f(s) && require_scale_zve64f(s); } @@ -2733,6 +2748,7 @@ static bool opxfv_widen_check(DisasContext *s, arg_rmr *a) { return opfv_widen_check(s, a) && require_rvf(s) && + require_zve32f(s) && require_zve64f(s); } @@ -2741,6 +2757,7 @@ static bool opffv_widen_check(DisasContext *s, arg_rmr *a) return opfv_widen_check(s, a) && require_scale_rvf(s) && (s->sew != MO_8) && + require_scale_zve32f(s) && require_scale_zve64f(s); } @@ -2793,6 +2810,7 @@ static bool opfxv_widen_check(DisasContext *s, arg_rmr *a) vext_check_isa_ill(s) && /* OPFV widening instructions ignore vs1 check */ vext_check_ds(s, a->rd, a->rs2, a->vm) && + require_scale_zve32f(s) && require_scale_zve64f(s); } From 6db02328a7537fb62c282700f34d9b0c0a845854 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:19 +0800 Subject: [PATCH 34/61] target/riscv: rvv-1.0: Add Zve32f support for narrowing type-convert insns Vector narrowing conversion instructions are provided to and from all supported integer EEWs for Zve32f extension. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-17-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index f2d3c9e8b9..7a040b3089 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2862,6 +2862,7 @@ static bool opfxv_narrow_check(DisasContext *s, arg_rmr *a) return opfv_narrow_check(s, a) && require_rvf(s) && (s->sew != MO_64) && + require_zve32f(s) && require_zve64f(s); } @@ -2870,6 +2871,7 @@ static bool opffv_narrow_check(DisasContext *s, arg_rmr *a) return opfv_narrow_check(s, a) && require_scale_rvf(s) && (s->sew != MO_8) && + require_scale_zve32f(s) && require_scale_zve64f(s); } @@ -2920,6 +2922,7 @@ static bool opxfv_narrow_check(DisasContext *s, arg_rmr *a) vext_check_isa_ill(s) && /* OPFV narrowing instructions ignore vs1 check */ vext_check_sd(s, a->rd, a->rs2, a->vm) && + require_scale_zve32f(s) && require_scale_zve64f(s); } From 2fc1b44dd0e7ea9ad5920352fd04179e4d6836d9 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Tue, 18 Jan 2022 09:45:20 +0800 Subject: [PATCH 35/61] target/riscv: rvv-1.0: Allow Zve32f extension to be turned on Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-id: 20220118014522.13613-18-frank.chang@sifive.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index ef269378de..c2b570e904 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -688,6 +688,7 @@ static Property riscv_cpu_properties[] = { DEFINE_PROP_BOOL("Zicsr", RISCVCPU, cfg.ext_icsr, true), DEFINE_PROP_BOOL("Zfh", RISCVCPU, cfg.ext_zfh, false), DEFINE_PROP_BOOL("Zfhmin", RISCVCPU, cfg.ext_zfhmin, false), + DEFINE_PROP_BOOL("Zve32f", RISCVCPU, cfg.ext_zve32f, false), DEFINE_PROP_BOOL("Zve64f", RISCVCPU, cfg.ext_zve64f, false), DEFINE_PROP_BOOL("mmu", RISCVCPU, cfg.mmu, true), DEFINE_PROP_BOOL("pmp", RISCVCPU, cfg.pmp, true), From 8d8897accb1c9b28267b3c7eb402b6bc5d967f7e Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Thu, 13 Jan 2022 20:20:39 +0530 Subject: [PATCH 36/61] hw/riscv: spike: Allow using binary firmware as bios Currently, we have to use OpenSBI firmware ELF as bios for the spike machine because the HTIF console requires ELF for parsing "fromhost" and "tohost" symbols. The latest OpenSBI can now optionally pick-up HTIF register address from HTIF DT node so using this feature spike machine can now use OpenSBI firmware BIN as bios. Signed-off-by: Anup Patel Reviewed-by: Alistair Francis Reviewed-by: Bin Meng Signed-off-by: Alistair Francis --- hw/char/riscv_htif.c | 35 +++++++++++++++++++----------- hw/riscv/spike.c | 41 ++++++++++++++++++++++-------------- include/hw/char/riscv_htif.h | 5 ++++- include/hw/riscv/spike.h | 1 + 4 files changed, 53 insertions(+), 29 deletions(-) diff --git a/hw/char/riscv_htif.c b/hw/char/riscv_htif.c index ddae738d56..729edbf968 100644 --- a/hw/char/riscv_htif.c +++ b/hw/char/riscv_htif.c @@ -228,13 +228,25 @@ static const MemoryRegionOps htif_mm_ops = { .write = htif_mm_write, }; -HTIFState *htif_mm_init(MemoryRegion *address_space, MemoryRegion *main_mem, - CPURISCVState *env, Chardev *chr) +bool htif_uses_elf_symbols(void) { - uint64_t base = MIN(tohost_addr, fromhost_addr); - uint64_t size = MAX(tohost_addr + 8, fromhost_addr + 8) - base; - uint64_t tohost_offset = tohost_addr - base; - uint64_t fromhost_offset = fromhost_addr - base; + return (address_symbol_set == 3) ? true : false; +} + +HTIFState *htif_mm_init(MemoryRegion *address_space, MemoryRegion *main_mem, + CPURISCVState *env, Chardev *chr, uint64_t nonelf_base) +{ + uint64_t base, size, tohost_offset, fromhost_offset; + + if (!htif_uses_elf_symbols()) { + fromhost_addr = nonelf_base; + tohost_addr = nonelf_base + 8; + } + + base = MIN(tohost_addr, fromhost_addr); + size = MAX(tohost_addr + 8, fromhost_addr + 8) - base; + tohost_offset = tohost_addr - base; + fromhost_offset = fromhost_addr - base; HTIFState *s = g_malloc0(sizeof(HTIFState)); s->address_space = address_space; @@ -249,12 +261,11 @@ HTIFState *htif_mm_init(MemoryRegion *address_space, MemoryRegion *main_mem, qemu_chr_fe_init(&s->chr, chr, &error_abort); qemu_chr_fe_set_handlers(&s->chr, htif_can_recv, htif_recv, htif_event, htif_be_change, s, NULL, true); - if (address_symbol_set == 3) { - memory_region_init_io(&s->mmio, NULL, &htif_mm_ops, s, - TYPE_HTIF_UART, size); - memory_region_add_subregion_overlap(address_space, base, - &s->mmio, 1); - } + + memory_region_init_io(&s->mmio, NULL, &htif_mm_ops, s, + TYPE_HTIF_UART, size); + memory_region_add_subregion_overlap(address_space, base, + &s->mmio, 1); return s; } diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 288d69cd9f..597df4c288 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -42,6 +42,7 @@ static const MemMapEntry spike_memmap[] = { [SPIKE_MROM] = { 0x1000, 0xf000 }, + [SPIKE_HTIF] = { 0x1000000, 0x1000 }, [SPIKE_CLINT] = { 0x2000000, 0x10000 }, [SPIKE_DRAM] = { 0x80000000, 0x0 }, }; @@ -75,6 +76,10 @@ static void create_fdt(SpikeState *s, const MemMapEntry *memmap, qemu_fdt_add_subnode(fdt, "/htif"); qemu_fdt_setprop_string(fdt, "/htif", "compatible", "ucb,htif0"); + if (!htif_uses_elf_symbols()) { + qemu_fdt_setprop_cells(fdt, "/htif", "reg", + 0x0, memmap[SPIKE_HTIF].base, 0x0, memmap[SPIKE_HTIF].size); + } qemu_fdt_add_subnode(fdt, "/soc"); qemu_fdt_setprop(fdt, "/soc", "ranges", NULL, 0); @@ -172,6 +177,7 @@ static void create_fdt(SpikeState *s, const MemMapEntry *memmap, if (cmdline) { qemu_fdt_add_subnode(fdt, "/chosen"); qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", cmdline); + qemu_fdt_setprop_string(fdt, "/chosen", "stdout-path", "/htif"); } } @@ -241,10 +247,6 @@ static void spike_board_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[SPIKE_DRAM].base, machine->ram); - /* create device tree */ - create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, - riscv_is_32bit(&s->soc[0])); - /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv.spike.mrom", memmap[SPIKE_MROM].size, &error_fatal); @@ -266,6 +268,7 @@ static void spike_board_init(MachineState *machine) htif_symbol_callback); } + /* Load kernel */ if (machine->kernel_filename) { kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc[0], firmware_end_addr); @@ -273,17 +276,6 @@ static void spike_board_init(MachineState *machine) kernel_entry = riscv_load_kernel(machine->kernel_filename, kernel_start_addr, htif_symbol_callback); - - if (machine->initrd_filename) { - hwaddr start; - hwaddr end = riscv_load_initrd(machine->initrd_filename, - machine->ram_size, kernel_entry, - &start); - qemu_fdt_setprop_cell(s->fdt, "/chosen", - "linux,initrd-start", start); - qemu_fdt_setprop_cell(s->fdt, "/chosen", "linux,initrd-end", - end); - } } else { /* * If dynamic firmware is used, it doesn't know where is the next mode @@ -292,6 +284,22 @@ static void spike_board_init(MachineState *machine) kernel_entry = 0; } + /* Create device tree */ + create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, + riscv_is_32bit(&s->soc[0])); + + /* Load initrd */ + if (machine->kernel_filename && machine->initrd_filename) { + hwaddr start; + hwaddr end = riscv_load_initrd(machine->initrd_filename, + machine->ram_size, kernel_entry, + &start); + qemu_fdt_setprop_cell(s->fdt, "/chosen", + "linux,initrd-start", start); + qemu_fdt_setprop_cell(s->fdt, "/chosen", "linux,initrd-end", + end); + } + /* Compute the fdt load address in dram */ fdt_load_addr = riscv_load_fdt(memmap[SPIKE_DRAM].base, machine->ram_size, s->fdt); @@ -303,7 +311,8 @@ static void spike_board_init(MachineState *machine) /* initialize HTIF using symbols found in load_kernel */ htif_mm_init(system_memory, mask_rom, - &s->soc[0].harts[0].env, serial_hd(0)); + &s->soc[0].harts[0].env, serial_hd(0), + memmap[SPIKE_HTIF].base); } static void spike_machine_instance_init(Object *obj) diff --git a/include/hw/char/riscv_htif.h b/include/hw/char/riscv_htif.h index fb9452cf51..f888ac1b30 100644 --- a/include/hw/char/riscv_htif.h +++ b/include/hw/char/riscv_htif.h @@ -52,8 +52,11 @@ extern const MemoryRegionOps htif_io_ops; void htif_symbol_callback(const char *st_name, int st_info, uint64_t st_value, uint64_t st_size); +/* Check if HTIF uses ELF symbols */ +bool htif_uses_elf_symbols(void); + /* legacy pre qom */ HTIFState *htif_mm_init(MemoryRegion *address_space, MemoryRegion *main_mem, - CPURISCVState *env, Chardev *chr); + CPURISCVState *env, Chardev *chr, uint64_t nonelf_base); #endif diff --git a/include/hw/riscv/spike.h b/include/hw/riscv/spike.h index cdd1a13011..73d69234de 100644 --- a/include/hw/riscv/spike.h +++ b/include/hw/riscv/spike.h @@ -43,6 +43,7 @@ struct SpikeState { enum { SPIKE_MROM, + SPIKE_HTIF, SPIKE_CLINT, SPIKE_DRAM }; From 092dc6df92f2f97487747eb1044ac2bcac64924d Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Tue, 18 Jan 2022 13:38:56 +0530 Subject: [PATCH 37/61] hw/riscv: Remove macros for ELF BIOS image names Now that RISC-V Spike machine can use BIN BIOS images, we remove the macros used for ELF BIOS image names. Signed-off-by: Anup Patel Reviewed-by: Alistair Francis Reviewed-by: Bin Meng Signed-off-by: Alistair Francis --- hw/riscv/spike.c | 4 ++-- include/hw/riscv/boot.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 597df4c288..d059a67f9b 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -260,11 +260,11 @@ static void spike_board_init(MachineState *machine) */ if (riscv_is_32bit(&s->soc[0])) { firmware_end_addr = riscv_find_and_load_firmware(machine, - RISCV32_BIOS_ELF, memmap[SPIKE_DRAM].base, + RISCV32_BIOS_BIN, memmap[SPIKE_DRAM].base, htif_symbol_callback); } else { firmware_end_addr = riscv_find_and_load_firmware(machine, - RISCV64_BIOS_ELF, memmap[SPIKE_DRAM].base, + RISCV64_BIOS_BIN, memmap[SPIKE_DRAM].base, htif_symbol_callback); } diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index 5834c234aa..d937c5c224 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -25,9 +25,7 @@ #include "hw/riscv/riscv_hart.h" #define RISCV32_BIOS_BIN "opensbi-riscv32-generic-fw_dynamic.bin" -#define RISCV32_BIOS_ELF "opensbi-riscv32-generic-fw_dynamic.elf" #define RISCV64_BIOS_BIN "opensbi-riscv64-generic-fw_dynamic.bin" -#define RISCV64_BIOS_ELF "opensbi-riscv64-generic-fw_dynamic.elf" bool riscv_is_32bit(RISCVHartArrayState *harts); From 4211fc5532343adaa8f648cedfa8e44643944717 Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Tue, 18 Jan 2022 14:00:35 +0530 Subject: [PATCH 38/61] roms/opensbi: Remove ELF images Now that all RISC-V machines can use OpenSBI BIN images, we remove OpenSBI ELF images and also exclude these images from BIOS build. Signed-off-by: Anup Patel Reviewed-by: Alistair Francis Reviewed-by: Bin Meng Signed-off-by: Alistair Francis --- .gitlab-ci.d/opensbi.yml | 2 -- pc-bios/meson.build | 2 -- pc-bios/opensbi-riscv32-generic-fw_dynamic.elf | Bin 838904 -> 0 bytes pc-bios/opensbi-riscv64-generic-fw_dynamic.elf | Bin 934696 -> 0 bytes roms/Makefile | 2 -- 5 files changed, 6 deletions(-) delete mode 100644 pc-bios/opensbi-riscv32-generic-fw_dynamic.elf delete mode 100644 pc-bios/opensbi-riscv64-generic-fw_dynamic.elf diff --git a/.gitlab-ci.d/opensbi.yml b/.gitlab-ci.d/opensbi.yml index 5e0a2477c5..29a22930d1 100644 --- a/.gitlab-ci.d/opensbi.yml +++ b/.gitlab-ci.d/opensbi.yml @@ -43,9 +43,7 @@ build-opensbi: artifacts: paths: # 'artifacts.zip' will contains the following files: - pc-bios/opensbi-riscv32-generic-fw_dynamic.bin - - pc-bios/opensbi-riscv32-generic-fw_dynamic.elf - pc-bios/opensbi-riscv64-generic-fw_dynamic.bin - - pc-bios/opensbi-riscv64-generic-fw_dynamic.elf - opensbi32-generic-stdout.log - opensbi32-generic-stderr.log - opensbi64-generic-stdout.log diff --git a/pc-bios/meson.build b/pc-bios/meson.build index 1812a4084f..4ac7a5509b 100644 --- a/pc-bios/meson.build +++ b/pc-bios/meson.build @@ -80,8 +80,6 @@ blobs = files( 'hppa-firmware.img', 'opensbi-riscv32-generic-fw_dynamic.bin', 'opensbi-riscv64-generic-fw_dynamic.bin', - 'opensbi-riscv32-generic-fw_dynamic.elf', - 'opensbi-riscv64-generic-fw_dynamic.elf', 'npcm7xx_bootrom.bin', ) diff --git a/pc-bios/opensbi-riscv32-generic-fw_dynamic.elf b/pc-bios/opensbi-riscv32-generic-fw_dynamic.elf deleted file mode 100644 index a19363e27c1b60668e25bd17d07f9f3131aba165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 838904 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

JRDa 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
|OtqIR*2|1iFFYK(os){dIGUvzK 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

xw8pwO4Np|jtA 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

  • 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 z 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

    +otc}wOd)_h`=9gxYWxmj@8 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%0A0Ayt6n?nyL^umSRd_m_ofQbqhO+SUg>e^$&zJe| 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 p;!?ky~Ys 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 Z(z{G=gWgVwEdHJgl>d)Lh`%BK{|{38qZ0rC diff --git a/roms/Makefile b/roms/Makefile index b967b53bb7..5e44d97890 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -178,14 +178,12 @@ opensbi32-generic: CROSS_COMPILE=$(riscv32_cross_prefix) \ PLATFORM="generic" cp opensbi/build/platform/generic/firmware/fw_dynamic.bin ../pc-bios/opensbi-riscv32-generic-fw_dynamic.bin - cp opensbi/build/platform/generic/firmware/fw_dynamic.elf ../pc-bios/opensbi-riscv32-generic-fw_dynamic.elf opensbi64-generic: $(MAKE) -C opensbi \ CROSS_COMPILE=$(riscv64_cross_prefix) \ PLATFORM="generic" cp opensbi/build/platform/generic/firmware/fw_dynamic.bin ../pc-bios/opensbi-riscv64-generic-fw_dynamic.bin - cp opensbi/build/platform/generic/firmware/fw_dynamic.elf ../pc-bios/opensbi-riscv64-generic-fw_dynamic.elf MESON = meson NINJA = ninja From 79f26b3b951dd8eeec23d437c41f0944167ce44d Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:28 +0800 Subject: [PATCH 39/61] target/riscv: Adjust pmpcfg access with mxl Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-2-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/csr.c | 19 +++++++++++++++++++ target/riscv/pmp.c | 12 ++++-------- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index a9e7ac903b..6bc7ee780c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1497,9 +1497,23 @@ static RISCVException write_mseccfg(CPURISCVState *env, int csrno, return RISCV_EXCP_NONE; } +static bool check_pmp_reg_index(CPURISCVState *env, uint32_t reg_index) +{ + /* TODO: RV128 restriction check */ + if ((reg_index & 1) && (riscv_cpu_mxl(env) == MXL_RV64)) { + return false; + } + return true; +} + static RISCVException read_pmpcfg(CPURISCVState *env, int csrno, target_ulong *val) { + uint32_t reg_index = csrno - CSR_PMPCFG0; + + if (!check_pmp_reg_index(env, reg_index)) { + return RISCV_EXCP_ILLEGAL_INST; + } *val = pmpcfg_csr_read(env, csrno - CSR_PMPCFG0); return RISCV_EXCP_NONE; } @@ -1507,6 +1521,11 @@ static RISCVException read_pmpcfg(CPURISCVState *env, int csrno, static RISCVException write_pmpcfg(CPURISCVState *env, int csrno, target_ulong val) { + uint32_t reg_index = csrno - CSR_PMPCFG0; + + if (!check_pmp_reg_index(env, reg_index)) { + return RISCV_EXCP_ILLEGAL_INST; + } pmpcfg_csr_write(env, csrno - CSR_PMPCFG0, val); return RISCV_EXCP_NONE; } diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 54abf42583..81b61bb65c 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -463,16 +463,11 @@ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_index, { int i; uint8_t cfg_val; + int pmpcfg_nums = 2 << riscv_cpu_mxl(env); trace_pmpcfg_csr_write(env->mhartid, reg_index, val); - if ((reg_index & 1) && (sizeof(target_ulong) == 8)) { - qemu_log_mask(LOG_GUEST_ERROR, - "ignoring pmpcfg write - incorrect address\n"); - return; - } - - for (i = 0; i < sizeof(target_ulong); i++) { + for (i = 0; i < pmpcfg_nums; i++) { cfg_val = (val >> 8 * i) & 0xff; pmp_write_cfg(env, (reg_index * 4) + i, cfg_val); } @@ -490,8 +485,9 @@ target_ulong pmpcfg_csr_read(CPURISCVState *env, uint32_t reg_index) int i; target_ulong cfg_val = 0; target_ulong val = 0; + int pmpcfg_nums = 2 << riscv_cpu_mxl(env); - for (i = 0; i < sizeof(target_ulong); i++) { + for (i = 0; i < pmpcfg_nums; i++) { val = pmp_read_cfg(env, (reg_index * 4) + i); cfg_val |= (val << (i * 8)); } From b655dc7cd91588a77c3df6f618246fd88ad14249 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:29 +0800 Subject: [PATCH 40/61] target/riscv: Don't save pc when exception return As pc will be written by the xepc in exception return, just ignore pc in translation. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-3-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/helper.h | 4 ++-- target/riscv/insn_trans/trans_privileged.c.inc | 7 ++----- target/riscv/op_helper.c | 4 ++-- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/target/riscv/helper.h b/target/riscv/helper.h index 6cf6d6ce98..72cc2582f4 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -100,8 +100,8 @@ DEF_HELPER_2(csrr_i128, tl, env, int) DEF_HELPER_4(csrw_i128, void, env, int, tl, tl) DEF_HELPER_6(csrrw_i128, tl, env, int, tl, tl, tl, tl) #ifndef CONFIG_USER_ONLY -DEF_HELPER_2(sret, tl, env, tl) -DEF_HELPER_2(mret, tl, env, tl) +DEF_HELPER_1(sret, tl, env) +DEF_HELPER_1(mret, tl, env) DEF_HELPER_1(wfi, void, env) DEF_HELPER_1(tlb_flush, void, env) #endif diff --git a/target/riscv/insn_trans/trans_privileged.c.inc b/target/riscv/insn_trans/trans_privileged.c.inc index 75c6ef80a6..6077bbbf11 100644 --- a/target/riscv/insn_trans/trans_privileged.c.inc +++ b/target/riscv/insn_trans/trans_privileged.c.inc @@ -74,10 +74,8 @@ static bool trans_uret(DisasContext *ctx, arg_uret *a) static bool trans_sret(DisasContext *ctx, arg_sret *a) { #ifndef CONFIG_USER_ONLY - tcg_gen_movi_tl(cpu_pc, ctx->base.pc_next); - if (has_ext(ctx, RVS)) { - gen_helper_sret(cpu_pc, cpu_env, cpu_pc); + gen_helper_sret(cpu_pc, cpu_env); tcg_gen_exit_tb(NULL, 0); /* no chaining */ ctx->base.is_jmp = DISAS_NORETURN; } else { @@ -92,8 +90,7 @@ static bool trans_sret(DisasContext *ctx, arg_sret *a) static bool trans_mret(DisasContext *ctx, arg_mret *a) { #ifndef CONFIG_USER_ONLY - tcg_gen_movi_tl(cpu_pc, ctx->base.pc_next); - gen_helper_mret(cpu_pc, cpu_env, cpu_pc); + gen_helper_mret(cpu_pc, cpu_env); tcg_gen_exit_tb(NULL, 0); /* no chaining */ ctx->base.is_jmp = DISAS_NORETURN; return true; diff --git a/target/riscv/op_helper.c b/target/riscv/op_helper.c index 6f040f2fb9..67693cb42b 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -115,7 +115,7 @@ target_ulong helper_csrrw_i128(CPURISCVState *env, int csr, #ifndef CONFIG_USER_ONLY -target_ulong helper_sret(CPURISCVState *env, target_ulong cpu_pc_deb) +target_ulong helper_sret(CPURISCVState *env) { uint64_t mstatus; target_ulong prev_priv, prev_virt; @@ -176,7 +176,7 @@ target_ulong helper_sret(CPURISCVState *env, target_ulong cpu_pc_deb) return retpc; } -target_ulong helper_mret(CPURISCVState *env, target_ulong cpu_pc_deb) +target_ulong helper_mret(CPURISCVState *env) { if (!(env->priv >= PRV_M)) { riscv_raise_exception(env, RISCV_EXCP_ILLEGAL_INST, GETPC()); From a14db52f7fa9f6843d1806e8d4cd56f3410bb59d Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:30 +0800 Subject: [PATCH 41/61] target/riscv: Sign extend link reg for jal and jalr Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-4-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvi.c.inc | 4 +--- target/riscv/translate.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_trans/trans_rvi.c.inc index 3a0ae28fef..b9ba57f266 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -68,9 +68,7 @@ static bool trans_jalr(DisasContext *ctx, arg_jalr *a) tcg_temp_free(t0); } - if (a->rd != 0) { - tcg_gen_movi_tl(cpu_gpr[a->rd], ctx->pc_succ_insn); - } + gen_set_gpri(ctx, a->rd, ctx->pc_succ_insn); tcg_gen_lookup_and_goto_ptr(); if (misaligned) { diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 330904265e..30c0e28778 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -369,10 +369,8 @@ static void gen_jal(DisasContext *ctx, int rd, target_ulong imm) return; } } - if (rd != 0) { - tcg_gen_movi_tl(cpu_gpr[rd], ctx->pc_succ_insn); - } + gen_set_gpri(ctx, rd, ctx->pc_succ_insn); gen_goto_tb(ctx, 0, ctx->base.pc_next + imm); /* must use this for safety */ ctx->base.is_jmp = DISAS_NORETURN; } From 40f0c2046c490ef4b8bed4ca628620ab8a2bdf87 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:31 +0800 Subject: [PATCH 42/61] target/riscv: Sign extend pc for different XLEN When pc is written, it is sign-extended to fill the widest supported XLEN. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-5-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- .../riscv/insn_trans/trans_privileged.c.inc | 2 +- target/riscv/insn_trans/trans_rvi.c.inc | 5 ++-- target/riscv/insn_trans/trans_rvv.c.inc | 4 +-- target/riscv/translate.c | 25 ++++++++++++++++--- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/target/riscv/insn_trans/trans_privileged.c.inc b/target/riscv/insn_trans/trans_privileged.c.inc index 6077bbbf11..53613682e8 100644 --- a/target/riscv/insn_trans/trans_privileged.c.inc +++ b/target/riscv/insn_trans/trans_privileged.c.inc @@ -102,7 +102,7 @@ static bool trans_mret(DisasContext *ctx, arg_mret *a) static bool trans_wfi(DisasContext *ctx, arg_wfi *a) { #ifndef CONFIG_USER_ONLY - tcg_gen_movi_tl(cpu_pc, ctx->pc_succ_insn); + gen_set_pc_imm(ctx, ctx->pc_succ_insn); gen_helper_wfi(cpu_env); return true; #else diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_trans/trans_rvi.c.inc index b9ba57f266..04d3ea237f 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -59,6 +59,7 @@ static bool trans_jalr(DisasContext *ctx, arg_jalr *a) tcg_gen_addi_tl(cpu_pc, get_gpr(ctx, a->rs1, EXT_NONE), a->imm); tcg_gen_andi_tl(cpu_pc, cpu_pc, (target_ulong)-2); + gen_set_pc(ctx, cpu_pc); if (!has_ext(ctx, RVC)) { TCGv t0 = tcg_temp_new(); @@ -827,7 +828,7 @@ static bool trans_fence_i(DisasContext *ctx, arg_fence_i *a) * FENCE_I is a no-op in QEMU, * however we need to end the translation block */ - tcg_gen_movi_tl(cpu_pc, ctx->pc_succ_insn); + gen_set_pc_imm(ctx, ctx->pc_succ_insn); tcg_gen_exit_tb(NULL, 0); ctx->base.is_jmp = DISAS_NORETURN; return true; @@ -836,7 +837,7 @@ static bool trans_fence_i(DisasContext *ctx, arg_fence_i *a) static bool do_csr_post(DisasContext *ctx) { /* We may have changed important cpu state -- exit to main loop. */ - tcg_gen_movi_tl(cpu_pc, ctx->pc_succ_insn); + gen_set_pc_imm(ctx, ctx->pc_succ_insn); tcg_gen_exit_tb(NULL, 0); ctx->base.is_jmp = DISAS_NORETURN; return true; diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 7a040b3089..e03959c46f 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -194,7 +194,7 @@ static bool do_vsetvl(DisasContext *s, int rd, int rs1, TCGv s2) gen_set_gpr(s, rd, dst); mark_vs_dirty(s); - tcg_gen_movi_tl(cpu_pc, s->pc_succ_insn); + gen_set_pc_imm(s, s->pc_succ_insn); tcg_gen_lookup_and_goto_ptr(); s->base.is_jmp = DISAS_NORETURN; @@ -219,7 +219,7 @@ static bool do_vsetivli(DisasContext *s, int rd, TCGv s1, TCGv s2) gen_helper_vsetvl(dst, cpu_env, s1, s2); gen_set_gpr(s, rd, dst); mark_vs_dirty(s); - tcg_gen_movi_tl(cpu_pc, s->pc_succ_insn); + gen_set_pc_imm(s, s->pc_succ_insn); tcg_gen_lookup_and_goto_ptr(); s->base.is_jmp = DISAS_NORETURN; diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 30c0e28778..2a88bd99dc 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -193,16 +193,33 @@ static void gen_check_nanbox_s(TCGv_i64 out, TCGv_i64 in) tcg_gen_movcond_i64(TCG_COND_GEU, out, in, t_max, in, t_nan); } +static void gen_set_pc_imm(DisasContext *ctx, target_ulong dest) +{ + if (get_xl(ctx) == MXL_RV32) { + dest = (int32_t)dest; + } + tcg_gen_movi_tl(cpu_pc, dest); +} + +static void gen_set_pc(DisasContext *ctx, TCGv dest) +{ + if (get_xl(ctx) == MXL_RV32) { + tcg_gen_ext32s_tl(cpu_pc, dest); + } else { + tcg_gen_mov_tl(cpu_pc, dest); + } +} + static void generate_exception(DisasContext *ctx, int excp) { - tcg_gen_movi_tl(cpu_pc, ctx->base.pc_next); + gen_set_pc_imm(ctx, ctx->base.pc_next); gen_helper_raise_exception(cpu_env, tcg_constant_i32(excp)); ctx->base.is_jmp = DISAS_NORETURN; } static void generate_exception_mtval(DisasContext *ctx, int excp) { - tcg_gen_movi_tl(cpu_pc, ctx->base.pc_next); + gen_set_pc_imm(ctx, ctx->base.pc_next); tcg_gen_st_tl(cpu_pc, cpu_env, offsetof(CPURISCVState, badaddr)); gen_helper_raise_exception(cpu_env, tcg_constant_i32(excp)); ctx->base.is_jmp = DISAS_NORETURN; @@ -225,10 +242,10 @@ static void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest) { if (translator_use_goto_tb(&ctx->base, dest)) { tcg_gen_goto_tb(n); - tcg_gen_movi_tl(cpu_pc, dest); + gen_set_pc_imm(ctx, dest); tcg_gen_exit_tb(ctx->base.tb, n); } else { - tcg_gen_movi_tl(cpu_pc, dest); + gen_set_pc_imm(ctx, dest); tcg_gen_lookup_and_goto_ptr(); } } From 440544e1cff9877cdf17aae4ecfe775410b1eff2 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:32 +0800 Subject: [PATCH 43/61] target/riscv: Create xl field in env Current xlen has been used in helper functions and many other places. The computation of current xlen is not so trivial, so that we should recompute it as little as possible. Fortunately, xlen only changes in very seldom cases, such as exception, misa write, mstatus write, cpu reset, migration load. So that we can only recompute xlen in this places and cache it into CPURISCVState. Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-6-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 1 + target/riscv/cpu.h | 31 +++++++++++++++++++++++++++++++ target/riscv/cpu_helper.c | 34 ++-------------------------------- target/riscv/csr.c | 2 ++ target/riscv/machine.c | 10 ++++++++++ 5 files changed, 46 insertions(+), 32 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index c2b570e904..736cf1d4e7 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -413,6 +413,7 @@ static void riscv_cpu_reset(DeviceState *dev) /* mmte is supposed to have pm.current hardwired to 1 */ env->mmte |= (PM_EXT_INITIAL | MMTE_M_PM_CURRENT); #endif + env->xl = riscv_cpu_mxl(env); cs->exception_index = RISCV_EXCP_NONE; env->load_res = -1; set_default_nan_mode(1, &env->fp_status); diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 03552f4aaa..7657e22a56 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -146,6 +146,7 @@ struct CPURISCVState { uint32_t misa_mxl_max; /* max mxl for this cpu */ uint32_t misa_ext; /* current extensions */ uint32_t misa_ext_mask; /* max ext for this cpu */ + uint32_t xl; /* current xlen */ /* 128-bit helpers upper part return value */ target_ulong retxh; @@ -456,6 +457,36 @@ static inline RISCVMXL riscv_cpu_mxl(CPURISCVState *env) } #endif +#if defined(TARGET_RISCV32) +#define cpu_recompute_xl(env) ((void)(env), MXL_RV32) +#else +static inline RISCVMXL cpu_recompute_xl(CPURISCVState *env) +{ + RISCVMXL xl = env->misa_mxl; +#if !defined(CONFIG_USER_ONLY) + /* + * When emulating a 32-bit-only cpu, use RV32. + * When emulating a 64-bit cpu, and MXL has been reduced to RV32, + * MSTATUSH doesn't have UXL/SXL, therefore XLEN cannot be widened + * back to RV64 for lower privs. + */ + if (xl != MXL_RV32) { + switch (env->priv) { + case PRV_M: + break; + case PRV_U: + xl = get_field(env->mstatus, MSTATUS64_UXL); + break; + default: /* PRV_S | PRV_H */ + xl = get_field(env->mstatus, MSTATUS64_SXL); + break; + } + } +#endif + return xl; +} +#endif + /* * Encode LMUL to lmul as follows: * LMUL vlmul lmul diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index afee770951..8ebcd57af0 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -35,37 +35,6 @@ int riscv_cpu_mmu_index(CPURISCVState *env, bool ifetch) #endif } -static RISCVMXL cpu_get_xl(CPURISCVState *env) -{ -#if defined(TARGET_RISCV32) - return MXL_RV32; -#elif defined(CONFIG_USER_ONLY) - return MXL_RV64; -#else - RISCVMXL xl = riscv_cpu_mxl(env); - - /* - * When emulating a 32-bit-only cpu, use RV32. - * When emulating a 64-bit cpu, and MXL has been reduced to RV32, - * MSTATUSH doesn't have UXL/SXL, therefore XLEN cannot be widened - * back to RV64 for lower privs. - */ - if (xl != MXL_RV32) { - switch (env->priv) { - case PRV_M: - break; - case PRV_U: - xl = get_field(env->mstatus, MSTATUS64_UXL); - break; - default: /* PRV_S | PRV_H */ - xl = get_field(env->mstatus, MSTATUS64_SXL); - break; - } - } - return xl; -#endif -} - void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { @@ -148,7 +117,7 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, } #endif - flags = FIELD_DP32(flags, TB_FLAGS, XL, cpu_get_xl(env)); + flags = FIELD_DP32(flags, TB_FLAGS, XL, env->xl); *pflags = flags; } @@ -364,6 +333,7 @@ void riscv_cpu_set_mode(CPURISCVState *env, target_ulong newpriv) } /* tlb_flush is unnecessary as mode is contained in mmu_idx */ env->priv = newpriv; + env->xl = cpu_recompute_xl(env); /* * Clear the load reservation - otherwise a reservation placed in one diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 6bc7ee780c..9be2820d2b 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -589,6 +589,7 @@ static RISCVException write_mstatus(CPURISCVState *env, int csrno, mstatus = set_field(mstatus, MSTATUS64_UXL, xl); } env->mstatus = mstatus; + env->xl = cpu_recompute_xl(env); return RISCV_EXCP_NONE; } @@ -704,6 +705,7 @@ static RISCVException write_misa(CPURISCVState *env, int csrno, /* flush translation cache */ tb_flush(env_cpu(env)); env->misa_ext = val; + env->xl = riscv_cpu_mxl(env); return RISCV_EXCP_NONE; } diff --git a/target/riscv/machine.c b/target/riscv/machine.c index 098670e680..b76e4db99c 100644 --- a/target/riscv/machine.c +++ b/target/riscv/machine.c @@ -214,10 +214,20 @@ static const VMStateDescription vmstate_kvmtimer = { } }; +static int riscv_cpu_post_load(void *opaque, int version_id) +{ + RISCVCPU *cpu = opaque; + CPURISCVState *env = &cpu->env; + + env->xl = cpu_recompute_xl(env); + return 0; +} + const VMStateDescription vmstate_riscv_cpu = { .name = "cpu", .version_id = 3, .minimum_version_id = 3, + .post_load = riscv_cpu_post_load, .fields = (VMStateField[]) { VMSTATE_UINTTL_ARRAY(env.gpr, RISCVCPU, 32), VMSTATE_UINT64_ARRAY(env.fpr, RISCVCPU, 32), From 8c796f1a15d0fca41c4f3e985bfbd33a5afb9ddc Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:33 +0800 Subject: [PATCH 44/61] target/riscv: Ignore the pc bits above XLEN The read from PC for translation is in cpu_get_tb_cpu_state, before translation. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-7-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 8ebcd57af0..d73925a823 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -43,7 +43,7 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, uint32_t flags = 0; - *pc = env->pc; + *pc = env->xl == MXL_RV32 ? env->pc & UINT32_MAX : env->pc; *cs_base = 0; if (riscv_has_ext(env, RVV) || cpu->cfg.ext_zve32f || cpu->cfg.ext_zve64f) { From bf9e776ec19a7e93dc520824c23cf8754fe274fd Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:34 +0800 Subject: [PATCH 45/61] target/riscv: Extend pc for runtime pc write In some cases, we must restore the guest PC to the address of the start of the TB, such as when the instruction counter hits zero. So extend pc register according to current xlen for these cases. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-8-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 736cf1d4e7..eac5f7bf03 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -355,7 +355,12 @@ static void riscv_cpu_set_pc(CPUState *cs, vaddr value) { RISCVCPU *cpu = RISCV_CPU(cs); CPURISCVState *env = &cpu->env; - env->pc = value; + + if (env->xl == MXL_RV32) { + env->pc = (int32_t)value; + } else { + env->pc = value; + } } static void riscv_cpu_synchronize_from_tb(CPUState *cs, @@ -363,7 +368,13 @@ static void riscv_cpu_synchronize_from_tb(CPUState *cs, { RISCVCPU *cpu = RISCV_CPU(cs); CPURISCVState *env = &cpu->env; - env->pc = tb->pc; + RISCVMXL xl = FIELD_EX32(tb->flags, TB_FLAGS, XL); + + if (xl == MXL_RV32) { + env->pc = (int32_t)tb->pc; + } else { + env->pc = tb->pc; + } } static bool riscv_cpu_has_work(CPUState *cs) @@ -384,7 +395,12 @@ static bool riscv_cpu_has_work(CPUState *cs) void restore_state_to_opc(CPURISCVState *env, TranslationBlock *tb, target_ulong *data) { - env->pc = data[0]; + RISCVMXL xl = FIELD_EX32(tb->flags, TB_FLAGS, XL); + if (xl == MXL_RV32) { + env->pc = (int32_t)data[0]; + } else { + env->pc = data[0]; + } } static void riscv_cpu_reset(DeviceState *dev) From 1191be09a90a866549993d4852cef7e094655e42 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:35 +0800 Subject: [PATCH 46/61] target/riscv: Use gdb xml according to max mxlen Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-9-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 8 ++--- target/riscv/gdbstub.c | 71 +++++++++++++++++++++++++++++++----------- 2 files changed, 55 insertions(+), 24 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index eac5f7bf03..690c879901 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -466,6 +466,7 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) RISCVCPU *cpu = RISCV_CPU(dev); CPURISCVState *env = &cpu->env; RISCVCPUClass *mcc = RISCV_CPU_GET_CLASS(dev); + CPUClass *cc = CPU_CLASS(mcc); int priv_version = 0; Error *local_err = NULL; @@ -516,11 +517,13 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) switch (env->misa_mxl_max) { #ifdef TARGET_RISCV64 case MXL_RV64: + cc->gdb_core_xml_file = "riscv-64bit-cpu.xml"; break; case MXL_RV128: break; #endif case MXL_RV32: + cc->gdb_core_xml_file = "riscv-32bit-cpu.xml"; break; default: g_assert_not_reached(); @@ -802,11 +805,6 @@ static void riscv_cpu_class_init(ObjectClass *c, void *data) cc->gdb_read_register = riscv_cpu_gdb_read_register; cc->gdb_write_register = riscv_cpu_gdb_write_register; cc->gdb_num_core_regs = 33; -#if defined(TARGET_RISCV32) - cc->gdb_core_xml_file = "riscv-32bit-cpu.xml"; -#elif defined(TARGET_RISCV64) - cc->gdb_core_xml_file = "riscv-64bit-cpu.xml"; -#endif cc->gdb_stop_before_watchpoint = true; cc->disas_set_info = riscv_cpu_disas_set_info; #ifndef CONFIG_USER_ONLY diff --git a/target/riscv/gdbstub.c b/target/riscv/gdbstub.c index a5429b92d4..f531a74c2f 100644 --- a/target/riscv/gdbstub.c +++ b/target/riscv/gdbstub.c @@ -50,11 +50,23 @@ int riscv_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) { RISCVCPU *cpu = RISCV_CPU(cs); CPURISCVState *env = &cpu->env; + target_ulong tmp; if (n < 32) { - return gdb_get_regl(mem_buf, env->gpr[n]); + tmp = env->gpr[n]; } else if (n == 32) { - return gdb_get_regl(mem_buf, env->pc); + tmp = env->pc; + } else { + return 0; + } + + switch (env->misa_mxl_max) { + case MXL_RV32: + return gdb_get_reg32(mem_buf, tmp); + case MXL_RV64: + return gdb_get_reg64(mem_buf, tmp); + default: + g_assert_not_reached(); } return 0; } @@ -63,18 +75,32 @@ int riscv_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) { RISCVCPU *cpu = RISCV_CPU(cs); CPURISCVState *env = &cpu->env; + int length = 0; + target_ulong tmp; - if (n == 0) { - /* discard writes to x0 */ - return sizeof(target_ulong); - } else if (n < 32) { - env->gpr[n] = ldtul_p(mem_buf); - return sizeof(target_ulong); - } else if (n == 32) { - env->pc = ldtul_p(mem_buf); - return sizeof(target_ulong); + switch (env->misa_mxl_max) { + case MXL_RV32: + tmp = (int32_t)ldl_p(mem_buf); + length = 4; + break; + case MXL_RV64: + if (env->xl < MXL_RV64) { + tmp = (int32_t)ldq_p(mem_buf); + } else { + tmp = ldq_p(mem_buf); + } + length = 8; + break; + default: + g_assert_not_reached(); } - return 0; + if (n > 0 && n < 32) { + env->gpr[n] = tmp; + } else if (n == 32) { + env->pc = tmp; + } + + return length; } static int riscv_gdb_get_fpu(CPURISCVState *env, GByteArray *buf, int n) @@ -387,13 +413,20 @@ void riscv_cpu_register_gdb_regs_for_features(CPUState *cs) cs->gdb_num_regs), "riscv-vector.xml", 0); } -#if defined(TARGET_RISCV32) - gdb_register_coprocessor(cs, riscv_gdb_get_virtual, riscv_gdb_set_virtual, - 1, "riscv-32bit-virtual.xml", 0); -#elif defined(TARGET_RISCV64) - gdb_register_coprocessor(cs, riscv_gdb_get_virtual, riscv_gdb_set_virtual, - 1, "riscv-64bit-virtual.xml", 0); -#endif + switch (env->misa_mxl_max) { + case MXL_RV32: + gdb_register_coprocessor(cs, riscv_gdb_get_virtual, + riscv_gdb_set_virtual, + 1, "riscv-32bit-virtual.xml", 0); + break; + case MXL_RV64: + gdb_register_coprocessor(cs, riscv_gdb_get_virtual, + riscv_gdb_set_virtual, + 1, "riscv-64bit-virtual.xml", 0); + break; + default: + g_assert_not_reached(); + } gdb_register_coprocessor(cs, riscv_gdb_get_csr, riscv_gdb_set_csr, riscv_gen_dynamic_csr_xml(cs, cs->gdb_num_regs), From 47bdec821b8dda7658e3e802a26b9bd8319cdb49 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:36 +0800 Subject: [PATCH 47/61] target/riscv: Relax debug check for pm write Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-10-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/csr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 9be2820d2b..c00a82022e 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1556,6 +1556,9 @@ static bool check_pm_current_disabled(CPURISCVState *env, int csrno) int csr_priv = get_field(csrno, 0x300); int pm_current; + if (env->debugger) { + return false; + } /* * If priv lvls differ that means we're accessing csr from higher priv lvl, * so allow the access From 83b519b8a44d6b7d9b9d9763e7189061e116215d Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:37 +0800 Subject: [PATCH 48/61] target/riscv: Adjust csr write mask with XLEN Write mask is representing the bits we care about. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-11-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvi.c.inc | 12 ++++++++---- target/riscv/op_helper.c | 3 ++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_trans/trans_rvi.c.inc index 04d3ea237f..631bc1f09e 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -924,7 +924,8 @@ static bool do_csrrw_i128(DisasContext *ctx, int rd, int rc, static bool trans_csrrw(DisasContext *ctx, arg_csrrw *a) { - if (get_xl(ctx) < MXL_RV128) { + RISCVMXL xl = get_xl(ctx); + if (xl < MXL_RV128) { TCGv src = get_gpr(ctx, a->rs1, EXT_NONE); /* @@ -935,7 +936,8 @@ static bool trans_csrrw(DisasContext *ctx, arg_csrrw *a) return do_csrw(ctx, a->csr, src); } - TCGv mask = tcg_constant_tl(-1); + TCGv mask = tcg_constant_tl(xl == MXL_RV32 ? UINT32_MAX : + (target_ulong)-1); return do_csrrw(ctx, a->rd, a->csr, src, mask); } else { TCGv srcl = get_gpr(ctx, a->rs1, EXT_NONE); @@ -1013,7 +1015,8 @@ static bool trans_csrrc(DisasContext *ctx, arg_csrrc *a) static bool trans_csrrwi(DisasContext *ctx, arg_csrrwi *a) { - if (get_xl(ctx) < MXL_RV128) { + RISCVMXL xl = get_xl(ctx); + if (xl < MXL_RV128) { TCGv src = tcg_constant_tl(a->rs1); /* @@ -1024,7 +1027,8 @@ static bool trans_csrrwi(DisasContext *ctx, arg_csrrwi *a) return do_csrw(ctx, a->csr, src); } - TCGv mask = tcg_constant_tl(-1); + TCGv mask = tcg_constant_tl(xl == MXL_RV32 ? UINT32_MAX : + (target_ulong)-1); return do_csrrw(ctx, a->rd, a->csr, src, mask); } else { TCGv src = tcg_constant_tl(a->rs1); diff --git a/target/riscv/op_helper.c b/target/riscv/op_helper.c index 67693cb42b..1a75ba11e6 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -50,7 +50,8 @@ target_ulong helper_csrr(CPURISCVState *env, int csr) void helper_csrw(CPURISCVState *env, int csr, target_ulong src) { - RISCVException ret = riscv_csrrw(env, csr, NULL, src, -1); + target_ulong mask = env->xl == MXL_RV32 ? UINT32_MAX : (target_ulong)-1; + RISCVException ret = riscv_csrrw(env, csr, NULL, src, mask); if (ret != RISCV_EXCP_NONE) { riscv_raise_exception(env, ret, GETPC()); From 40bfa5f6950afbec943353304fcd4367cc143548 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:38 +0800 Subject: [PATCH 49/61] target/riscv: Create current pm fields in env Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Reviewed-by: Richard Henderson Message-id: 20220120122050.41546-12-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 1 + target/riscv/cpu.h | 4 ++++ target/riscv/cpu_helper.c | 43 +++++++++++++++++++++++++++++++++++++++ target/riscv/csr.c | 19 +++++++++++++++++ target/riscv/machine.c | 1 + 5 files changed, 68 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 690c879901..a120d474df 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -430,6 +430,7 @@ static void riscv_cpu_reset(DeviceState *dev) env->mmte |= (PM_EXT_INITIAL | MMTE_M_PM_CURRENT); #endif env->xl = riscv_cpu_mxl(env); + riscv_cpu_update_mask(env); cs->exception_index = RISCV_EXCP_NONE; env->load_res = -1; set_default_nan_mode(1, &env->fp_status); diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 7657e22a56..6fe842edfd 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -266,6 +266,8 @@ struct CPURISCVState { target_ulong upmmask; target_ulong upmbase; #endif + target_ulong cur_pmmask; + target_ulong cur_pmbase; float_status fp_status; @@ -515,6 +517,8 @@ static inline uint32_t vext_get_vlmax(RISCVCPU *cpu, target_ulong vtype) void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags); +void riscv_cpu_update_mask(CPURISCVState *env); + RISCVException riscv_csrrw(CPURISCVState *env, int csrno, target_ulong *ret_value, target_ulong new_value, target_ulong write_mask); diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index d73925a823..b239d721f4 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -122,6 +122,48 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, *pflags = flags; } +void riscv_cpu_update_mask(CPURISCVState *env) +{ + target_ulong mask = -1, base = 0; + /* + * TODO: Current RVJ spec does not specify + * how the extension interacts with XLEN. + */ +#ifndef CONFIG_USER_ONLY + if (riscv_has_ext(env, RVJ)) { + switch (env->priv) { + case PRV_M: + if (env->mmte & M_PM_ENABLE) { + mask = env->mpmmask; + base = env->mpmbase; + } + break; + case PRV_S: + if (env->mmte & S_PM_ENABLE) { + mask = env->spmmask; + base = env->spmbase; + } + break; + case PRV_U: + if (env->mmte & U_PM_ENABLE) { + mask = env->upmmask; + base = env->upmbase; + } + break; + default: + g_assert_not_reached(); + } + } +#endif + if (env->xl == MXL_RV32) { + env->cur_pmmask = mask & UINT32_MAX; + env->cur_pmbase = base & UINT32_MAX; + } else { + env->cur_pmmask = mask; + env->cur_pmbase = base; + } +} + #ifndef CONFIG_USER_ONLY static int riscv_cpu_local_irq_pending(CPURISCVState *env) { @@ -334,6 +376,7 @@ void riscv_cpu_set_mode(CPURISCVState *env, target_ulong newpriv) /* tlb_flush is unnecessary as mode is contained in mmu_idx */ env->priv = newpriv; env->xl = cpu_recompute_xl(env); + riscv_cpu_update_mask(env); /* * Clear the load reservation - otherwise a reservation placed in one diff --git a/target/riscv/csr.c b/target/riscv/csr.c index c00a82022e..292f7e1624 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1607,6 +1607,7 @@ static RISCVException write_mmte(CPURISCVState *env, int csrno, /* hardwiring pm.instruction bit to 0, since it's not supported yet */ wpri_val &= ~(MMTE_M_PM_INSN | MMTE_S_PM_INSN | MMTE_U_PM_INSN); env->mmte = wpri_val | PM_EXT_DIRTY; + riscv_cpu_update_mask(env); /* Set XS and SD bits, since PM CSRs are dirty */ mstatus = env->mstatus | MSTATUS_XS; @@ -1682,6 +1683,9 @@ static RISCVException write_mpmmask(CPURISCVState *env, int csrno, uint64_t mstatus; env->mpmmask = val; + if ((env->priv == PRV_M) && (env->mmte & M_PM_ENABLE)) { + env->cur_pmmask = val; + } env->mmte |= PM_EXT_DIRTY; /* Set XS and SD bits, since PM CSRs are dirty */ @@ -1707,6 +1711,9 @@ static RISCVException write_spmmask(CPURISCVState *env, int csrno, return RISCV_EXCP_NONE; } env->spmmask = val; + if ((env->priv == PRV_S) && (env->mmte & S_PM_ENABLE)) { + env->cur_pmmask = val; + } env->mmte |= PM_EXT_DIRTY; /* Set XS and SD bits, since PM CSRs are dirty */ @@ -1732,6 +1739,9 @@ static RISCVException write_upmmask(CPURISCVState *env, int csrno, return RISCV_EXCP_NONE; } env->upmmask = val; + if ((env->priv == PRV_U) && (env->mmte & U_PM_ENABLE)) { + env->cur_pmmask = val; + } env->mmte |= PM_EXT_DIRTY; /* Set XS and SD bits, since PM CSRs are dirty */ @@ -1753,6 +1763,9 @@ static RISCVException write_mpmbase(CPURISCVState *env, int csrno, uint64_t mstatus; env->mpmbase = val; + if ((env->priv == PRV_M) && (env->mmte & M_PM_ENABLE)) { + env->cur_pmbase = val; + } env->mmte |= PM_EXT_DIRTY; /* Set XS and SD bits, since PM CSRs are dirty */ @@ -1778,6 +1791,9 @@ static RISCVException write_spmbase(CPURISCVState *env, int csrno, return RISCV_EXCP_NONE; } env->spmbase = val; + if ((env->priv == PRV_S) && (env->mmte & S_PM_ENABLE)) { + env->cur_pmbase = val; + } env->mmte |= PM_EXT_DIRTY; /* Set XS and SD bits, since PM CSRs are dirty */ @@ -1803,6 +1819,9 @@ static RISCVException write_upmbase(CPURISCVState *env, int csrno, return RISCV_EXCP_NONE; } env->upmbase = val; + if ((env->priv == PRV_U) && (env->mmte & U_PM_ENABLE)) { + env->cur_pmbase = val; + } env->mmte |= PM_EXT_DIRTY; /* Set XS and SD bits, since PM CSRs are dirty */ diff --git a/target/riscv/machine.c b/target/riscv/machine.c index b76e4db99c..a4b7859c2a 100644 --- a/target/riscv/machine.c +++ b/target/riscv/machine.c @@ -220,6 +220,7 @@ static int riscv_cpu_post_load(void *opaque, int version_id) CPURISCVState *env = &cpu->env; env->xl = cpu_recompute_xl(env); + riscv_cpu_update_mask(env); return 0; } From 0cff460de9e3417d248a5756b1cfbd9211657f94 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:39 +0800 Subject: [PATCH 50/61] target/riscv: Alloc tcg global for cur_pm[mask|base] Replace the array of pm_mask/pm_base with scalar variables. Remove the cached array value in DisasContext. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-13-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/translate.c | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 2a88bd99dc..43e2ec6dce 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -38,8 +38,8 @@ static TCGv_i64 cpu_fpr[32]; /* assume F and D extensions */ static TCGv load_res; static TCGv load_val; /* globals for PM CSRs */ -static TCGv pm_mask[4]; -static TCGv pm_base[4]; +static TCGv pm_mask; +static TCGv pm_base; #include "exec/gen-icount.h" @@ -109,8 +109,6 @@ typedef struct DisasContext { TCGv temp[4]; /* PointerMasking extension */ bool pm_enabled; - TCGv pm_mask; - TCGv pm_base; } DisasContext; static inline bool has_ext(DisasContext *ctx, uint32_t ext) @@ -403,8 +401,8 @@ static TCGv gen_pm_adjust_address(DisasContext *s, TCGv src) return src; } else { temp = temp_new(s); - tcg_gen_andc_tl(temp, src, s->pm_mask); - tcg_gen_or_tl(temp, temp, s->pm_base); + tcg_gen_andc_tl(temp, src, pm_mask); + tcg_gen_or_tl(temp, temp, pm_base); return temp; } } @@ -929,10 +927,6 @@ static void riscv_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs) ctx->ntemp = 0; memset(ctx->temp, 0, sizeof(ctx->temp)); ctx->pm_enabled = FIELD_EX32(tb_flags, TB_FLAGS, PM_ENABLED); - int priv = tb_flags & TB_FLAGS_PRIV_MMU_MASK; - ctx->pm_mask = pm_mask[priv]; - ctx->pm_base = pm_base[priv]; - ctx->zero = tcg_constant_tl(0); } @@ -1050,19 +1044,9 @@ void riscv_translate_init(void) "load_res"); load_val = tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, load_val), "load_val"); -#ifndef CONFIG_USER_ONLY /* Assign PM CSRs to tcg globals */ - pm_mask[PRV_U] = - tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, upmmask), "upmmask"); - pm_base[PRV_U] = - tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, upmbase), "upmbase"); - pm_mask[PRV_S] = - tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, spmmask), "spmmask"); - pm_base[PRV_S] = - tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, spmbase), "spmbase"); - pm_mask[PRV_M] = - tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, mpmmask), "mpmmask"); - pm_base[PRV_M] = - tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, mpmbase), "mpmbase"); -#endif + pm_mask = tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, cur_pmmask), + "pmmask"); + pm_base = tcg_global_mem_new(cpu_env, offsetof(CPURISCVState, cur_pmbase), + "pmbase"); } From 4302bef9e17831902a7e7c8082cac1c8ed151759 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:40 +0800 Subject: [PATCH 51/61] target/riscv: Calculate address according to XLEN Define one common function to compute a canonical address from a register plus offset. Merge gen_pm_adjust_address into this function. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-14-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rva.c.inc | 9 +++------ target/riscv/insn_trans/trans_rvd.c.inc | 19 ++----------------- target/riscv/insn_trans/trans_rvf.c.inc | 19 ++----------------- target/riscv/insn_trans/trans_rvi.c.inc | 18 ++---------------- target/riscv/translate.c | 25 ++++++++++++------------- 5 files changed, 21 insertions(+), 69 deletions(-) diff --git a/target/riscv/insn_trans/trans_rva.c.inc b/target/riscv/insn_trans/trans_rva.c.inc index 86032fa9a7..45db82c9be 100644 --- a/target/riscv/insn_trans/trans_rva.c.inc +++ b/target/riscv/insn_trans/trans_rva.c.inc @@ -20,12 +20,11 @@ static bool gen_lr(DisasContext *ctx, arg_atomic *a, MemOp mop) { - TCGv src1 = get_gpr(ctx, a->rs1, EXT_ZERO); + TCGv src1 = get_address(ctx, a->rs1, 0); if (a->rl) { tcg_gen_mb(TCG_MO_ALL | TCG_BAR_STRL); } - src1 = gen_pm_adjust_address(ctx, src1); tcg_gen_qemu_ld_tl(load_val, src1, ctx->mem_idx, mop); if (a->aq) { tcg_gen_mb(TCG_MO_ALL | TCG_BAR_LDAQ); @@ -44,8 +43,7 @@ static bool gen_sc(DisasContext *ctx, arg_atomic *a, MemOp mop) TCGLabel *l1 = gen_new_label(); TCGLabel *l2 = gen_new_label(); - src1 = get_gpr(ctx, a->rs1, EXT_ZERO); - src1 = gen_pm_adjust_address(ctx, src1); + src1 = get_address(ctx, a->rs1, 0); tcg_gen_brcond_tl(TCG_COND_NE, load_res, src1, l1); /* @@ -83,10 +81,9 @@ static bool gen_amo(DisasContext *ctx, arg_atomic *a, MemOp mop) { TCGv dest = dest_gpr(ctx, a->rd); - TCGv src1 = get_gpr(ctx, a->rs1, EXT_NONE); + TCGv src1 = get_address(ctx, a->rs1, 0); TCGv src2 = get_gpr(ctx, a->rs2, EXT_NONE); - src1 = gen_pm_adjust_address(ctx, src1); func(dest, src1, src2, ctx->mem_idx, mop); gen_set_gpr(ctx, a->rd, dest); diff --git a/target/riscv/insn_trans/trans_rvd.c.inc b/target/riscv/insn_trans/trans_rvd.c.inc index ed444b042a..091ed3a8ad 100644 --- a/target/riscv/insn_trans/trans_rvd.c.inc +++ b/target/riscv/insn_trans/trans_rvd.c.inc @@ -25,14 +25,7 @@ static bool trans_fld(DisasContext *ctx, arg_fld *a) REQUIRE_FPU; REQUIRE_EXT(ctx, RVD); - addr = get_gpr(ctx, a->rs1, EXT_NONE); - if (a->imm) { - TCGv temp = temp_new(ctx); - tcg_gen_addi_tl(temp, addr, a->imm); - addr = temp; - } - addr = gen_pm_adjust_address(ctx, addr); - + addr = get_address(ctx, a->rs1, a->imm); tcg_gen_qemu_ld_i64(cpu_fpr[a->rd], addr, ctx->mem_idx, MO_TEUQ); mark_fs_dirty(ctx); @@ -46,16 +39,8 @@ static bool trans_fsd(DisasContext *ctx, arg_fsd *a) REQUIRE_FPU; REQUIRE_EXT(ctx, RVD); - addr = get_gpr(ctx, a->rs1, EXT_NONE); - if (a->imm) { - TCGv temp = temp_new(ctx); - tcg_gen_addi_tl(temp, addr, a->imm); - addr = temp; - } - addr = gen_pm_adjust_address(ctx, addr); - + addr = get_address(ctx, a->rs1, a->imm); tcg_gen_qemu_st_i64(cpu_fpr[a->rs2], addr, ctx->mem_idx, MO_TEUQ); - return true; } diff --git a/target/riscv/insn_trans/trans_rvf.c.inc b/target/riscv/insn_trans/trans_rvf.c.inc index b5459249c4..0aac87f7db 100644 --- a/target/riscv/insn_trans/trans_rvf.c.inc +++ b/target/riscv/insn_trans/trans_rvf.c.inc @@ -31,14 +31,7 @@ static bool trans_flw(DisasContext *ctx, arg_flw *a) REQUIRE_FPU; REQUIRE_EXT(ctx, RVF); - addr = get_gpr(ctx, a->rs1, EXT_NONE); - if (a->imm) { - TCGv temp = temp_new(ctx); - tcg_gen_addi_tl(temp, addr, a->imm); - addr = temp; - } - addr = gen_pm_adjust_address(ctx, addr); - + addr = get_address(ctx, a->rs1, a->imm); dest = cpu_fpr[a->rd]; tcg_gen_qemu_ld_i64(dest, addr, ctx->mem_idx, MO_TEUL); gen_nanbox_s(dest, dest); @@ -54,16 +47,8 @@ static bool trans_fsw(DisasContext *ctx, arg_fsw *a) REQUIRE_FPU; REQUIRE_EXT(ctx, RVF); - addr = get_gpr(ctx, a->rs1, EXT_NONE); - if (a->imm) { - TCGv temp = tcg_temp_new(); - tcg_gen_addi_tl(temp, addr, a->imm); - addr = temp; - } - addr = gen_pm_adjust_address(ctx, addr); - + addr = get_address(ctx, a->rs1, a->imm); tcg_gen_qemu_st_i64(cpu_fpr[a->rs2], addr, ctx->mem_idx, MO_TEUL); - return true; } diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_trans/trans_rvi.c.inc index 631bc1f09e..3cd1b3f877 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -226,14 +226,7 @@ static bool trans_bgeu(DisasContext *ctx, arg_bgeu *a) static bool gen_load_tl(DisasContext *ctx, arg_lb *a, MemOp memop) { TCGv dest = dest_gpr(ctx, a->rd); - TCGv addr = get_gpr(ctx, a->rs1, EXT_NONE); - - if (a->imm) { - TCGv temp = temp_new(ctx); - tcg_gen_addi_tl(temp, addr, a->imm); - addr = temp; - } - addr = gen_pm_adjust_address(ctx, addr); + TCGv addr = get_address(ctx, a->rs1, a->imm); tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, memop); gen_set_gpr(ctx, a->rd, dest); @@ -330,16 +323,9 @@ static bool trans_ldu(DisasContext *ctx, arg_ldu *a) static bool gen_store_tl(DisasContext *ctx, arg_sb *a, MemOp memop) { - TCGv addr = get_gpr(ctx, a->rs1, EXT_NONE); + TCGv addr = get_address(ctx, a->rs1, a->imm); TCGv data = get_gpr(ctx, a->rs2, EXT_NONE); - if (a->imm) { - TCGv temp = temp_new(ctx); - tcg_gen_addi_tl(temp, addr, a->imm); - addr = temp; - } - addr = gen_pm_adjust_address(ctx, addr); - tcg_gen_qemu_st_tl(data, addr, ctx->mem_idx, memop); return true; } diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 43e2ec6dce..33564d059d 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -390,21 +390,20 @@ static void gen_jal(DisasContext *ctx, int rd, target_ulong imm) ctx->base.is_jmp = DISAS_NORETURN; } -/* - * Generates address adjustment for PointerMasking - */ -static TCGv gen_pm_adjust_address(DisasContext *s, TCGv src) +/* Compute a canonical address from a register plus offset. */ +static TCGv get_address(DisasContext *ctx, int rs1, int imm) { - TCGv temp; - if (!s->pm_enabled) { - /* Load unmodified address */ - return src; - } else { - temp = temp_new(s); - tcg_gen_andc_tl(temp, src, pm_mask); - tcg_gen_or_tl(temp, temp, pm_base); - return temp; + TCGv addr = temp_new(ctx); + TCGv src1 = get_gpr(ctx, rs1, EXT_NONE); + + tcg_gen_addi_tl(addr, src1, imm); + if (ctx->pm_enabled) { + tcg_gen_and_tl(addr, addr, pm_mask); + tcg_gen_or_tl(addr, addr, pm_base); + } else if (get_xl(ctx) == MXL_RV32) { + tcg_gen_ext32u_tl(addr, addr); } + return addr; } #ifndef CONFIG_USER_ONLY From 4208dc7e9e6fe1bb7a0698eac31f44388046dc00 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:41 +0800 Subject: [PATCH 52/61] target/riscv: Split pm_enabled into mask and base Use cached cur_pmmask and cur_pmbase to infer the current PM mode. This may decrease the TCG IR by one when pm_enabled is true and pm_base_enabled is false. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-15-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 3 ++- target/riscv/cpu_helper.c | 24 ++++++------------------ target/riscv/translate.c | 12 ++++++++---- 3 files changed, 16 insertions(+), 23 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 6fe842edfd..89621e1996 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -448,7 +448,8 @@ FIELD(TB_FLAGS, MSTATUS_HS_VS, 18, 2) /* The combination of MXL/SXL/UXL that applies to the current cpu mode. */ FIELD(TB_FLAGS, XL, 20, 2) /* If PointerMasking should be applied */ -FIELD(TB_FLAGS, PM_ENABLED, 22, 1) +FIELD(TB_FLAGS, PM_MASK_ENABLED, 22, 1) +FIELD(TB_FLAGS, PM_BASE_ENABLED, 23, 1) #ifdef TARGET_RISCV32 #define riscv_cpu_mxl(env) ((void)(env), MXL_RV32) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index b239d721f4..502aee84ab 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -97,27 +97,15 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, flags = FIELD_DP32(flags, TB_FLAGS, MSTATUS_HS_VS, get_field(env->mstatus_hs, MSTATUS_VS)); } - if (riscv_has_ext(env, RVJ)) { - int priv = flags & TB_FLAGS_PRIV_MMU_MASK; - bool pm_enabled = false; - switch (priv) { - case PRV_U: - pm_enabled = env->mmte & U_PM_ENABLE; - break; - case PRV_S: - pm_enabled = env->mmte & S_PM_ENABLE; - break; - case PRV_M: - pm_enabled = env->mmte & M_PM_ENABLE; - break; - default: - g_assert_not_reached(); - } - flags = FIELD_DP32(flags, TB_FLAGS, PM_ENABLED, pm_enabled); - } #endif flags = FIELD_DP32(flags, TB_FLAGS, XL, env->xl); + if (env->cur_pmmask < (env->xl == MXL_RV32 ? UINT32_MAX : UINT64_MAX)) { + flags = FIELD_DP32(flags, TB_FLAGS, PM_MASK_ENABLED, 1); + } + if (env->cur_pmbase != 0) { + flags = FIELD_DP32(flags, TB_FLAGS, PM_BASE_ENABLED, 1); + } *pflags = flags; } diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 33564d059d..f0bbe80875 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -108,7 +108,8 @@ typedef struct DisasContext { /* Space for 3 operands plus 1 extra for address computation. */ TCGv temp[4]; /* PointerMasking extension */ - bool pm_enabled; + bool pm_mask_enabled; + bool pm_base_enabled; } DisasContext; static inline bool has_ext(DisasContext *ctx, uint32_t ext) @@ -397,12 +398,14 @@ static TCGv get_address(DisasContext *ctx, int rs1, int imm) TCGv src1 = get_gpr(ctx, rs1, EXT_NONE); tcg_gen_addi_tl(addr, src1, imm); - if (ctx->pm_enabled) { + if (ctx->pm_mask_enabled) { tcg_gen_and_tl(addr, addr, pm_mask); - tcg_gen_or_tl(addr, addr, pm_base); } else if (get_xl(ctx) == MXL_RV32) { tcg_gen_ext32u_tl(addr, addr); } + if (ctx->pm_base_enabled) { + tcg_gen_or_tl(addr, addr, pm_base); + } return addr; } @@ -925,7 +928,8 @@ static void riscv_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs) ctx->cs = cs; ctx->ntemp = 0; memset(ctx->temp, 0, sizeof(ctx->temp)); - ctx->pm_enabled = FIELD_EX32(tb_flags, TB_FLAGS, PM_ENABLED); + ctx->pm_mask_enabled = FIELD_EX32(tb_flags, TB_FLAGS, PM_MASK_ENABLED); + ctx->pm_base_enabled = FIELD_EX32(tb_flags, TB_FLAGS, PM_BASE_ENABLED); ctx->zero = tcg_constant_tl(0); } From d96a271a8daedb83247baf89349ead0cb8f0c449 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:42 +0800 Subject: [PATCH 53/61] target/riscv: Split out the vill from vtype We need not specially process vtype when XLEN changes. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-16-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 1 + target/riscv/cpu_helper.c | 3 +-- target/riscv/csr.c | 13 ++++++++++++- target/riscv/machine.c | 5 +++-- target/riscv/vector_helper.c | 3 ++- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 89621e1996..6c740b92c1 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -125,6 +125,7 @@ struct CPURISCVState { target_ulong vl; target_ulong vstart; target_ulong vtype; + bool vill; target_ulong pc; target_ulong load_res; diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 502aee84ab..327a2c4f1d 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -60,8 +60,7 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, uint32_t maxsz = vlmax << sew; bool vl_eq_vlmax = (env->vstart == 0) && (vlmax == env->vl) && (maxsz >= 8); - flags = FIELD_DP32(flags, TB_FLAGS, VILL, - FIELD_EX64(env->vtype, VTYPE, VILL)); + flags = FIELD_DP32(flags, TB_FLAGS, VILL, env->vill); flags = FIELD_DP32(flags, TB_FLAGS, SEW, sew); flags = FIELD_DP32(flags, TB_FLAGS, LMUL, FIELD_EX64(env->vtype, VTYPE, VLMUL)); diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 292f7e1624..b11d92b51b 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -283,7 +283,18 @@ static RISCVException write_fcsr(CPURISCVState *env, int csrno, static RISCVException read_vtype(CPURISCVState *env, int csrno, target_ulong *val) { - *val = env->vtype; + uint64_t vill; + switch (env->xl) { + case MXL_RV32: + vill = (uint32_t)env->vill << 31; + break; + case MXL_RV64: + vill = (uint64_t)env->vill << 63; + break; + default: + g_assert_not_reached(); + } + *val = (target_ulong)vill | env->vtype; return RISCV_EXCP_NONE; } diff --git a/target/riscv/machine.c b/target/riscv/machine.c index a4b7859c2a..740e11fcff 100644 --- a/target/riscv/machine.c +++ b/target/riscv/machine.c @@ -124,8 +124,8 @@ static bool vector_needed(void *opaque) static const VMStateDescription vmstate_vector = { .name = "cpu/vector", - .version_id = 1, - .minimum_version_id = 1, + .version_id = 2, + .minimum_version_id = 2, .needed = vector_needed, .fields = (VMStateField[]) { VMSTATE_UINT64_ARRAY(env.vreg, RISCVCPU, 32 * RV_VLEN_MAX / 64), @@ -134,6 +134,7 @@ static const VMStateDescription vmstate_vector = { VMSTATE_UINTTL(env.vl, RISCVCPU), VMSTATE_UINTTL(env.vstart, RISCVCPU), VMSTATE_UINTTL(env.vtype, RISCVCPU), + VMSTATE_BOOL(env.vill, RISCVCPU), VMSTATE_END_OF_LIST() } }; diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index ad505ec9b2..a9484c22ea 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -52,7 +52,8 @@ target_ulong HELPER(vsetvl)(CPURISCVState *env, target_ulong s1, || (ediv != 0) || (reserved != 0)) { /* only set vill bit. */ - env->vtype = FIELD_DP64(0, VTYPE, VILL, 1); + env->vill = 1; + env->vtype = 0; env->vl = 0; env->vstart = 0; return 0; From 31961cfe505e11cc4ec4cfde52c851957e1bf605 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:43 +0800 Subject: [PATCH 54/61] target/riscv: Adjust vsetvl according to XLEN Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-17-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 5 +++++ target/riscv/vector_helper.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 6c740b92c1..fe58ccaeae 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -491,6 +491,11 @@ static inline RISCVMXL cpu_recompute_xl(CPURISCVState *env) } #endif +static inline int riscv_cpu_xlen(CPURISCVState *env) +{ + return 16 << env->xl; +} + /* * Encode LMUL to lmul as follows: * LMUL vlmul lmul diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index a9484c22ea..8b7c9ec890 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -36,8 +36,11 @@ target_ulong HELPER(vsetvl)(CPURISCVState *env, target_ulong s1, uint64_t lmul = FIELD_EX64(s2, VTYPE, VLMUL); uint16_t sew = 8 << FIELD_EX64(s2, VTYPE, VSEW); uint8_t ediv = FIELD_EX64(s2, VTYPE, VEDIV); - bool vill = FIELD_EX64(s2, VTYPE, VILL); - target_ulong reserved = FIELD_EX64(s2, VTYPE, RESERVED); + int xlen = riscv_cpu_xlen(env); + bool vill = (s2 >> (xlen - 1)) & 0x1; + target_ulong reserved = s2 & + MAKE_64BIT_MASK(R_VTYPE_RESERVED_SHIFT, + xlen - 1 - R_VTYPE_RESERVED_SHIFT); if (lmul & 4) { /* Fractional LMUL. */ From eef11ce325f1544ca0cafb1c734cdb8b1d0cb123 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:44 +0800 Subject: [PATCH 55/61] target/riscv: Remove VILL field in VTYPE Signed-off-by: LIU Zhiwei Acked-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-18-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 1 - 1 file changed, 1 deletion(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index fe58ccaeae..55635d68d5 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -111,7 +111,6 @@ FIELD(VTYPE, VTA, 6, 1) FIELD(VTYPE, VMA, 7, 1) FIELD(VTYPE, VEDIV, 8, 2) FIELD(VTYPE, RESERVED, 10, sizeof(target_ulong) * 8 - 11) -FIELD(VTYPE, VILL, sizeof(target_ulong) * 8 - 1, 1) struct CPURISCVState { target_ulong gpr[32]; From 01d09525da655fed6cabc49a6088c4e11f93612a Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:45 +0800 Subject: [PATCH 56/61] target/riscv: Fix check range for first fault only Only check the range that has passed the address translation. Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-19-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/vector_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 8b7c9ec890..efb3129532 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -500,12 +500,12 @@ vext_ldff(void *vd, void *v0, target_ulong base, cpu_mmu_index(env, false)); if (host) { #ifdef CONFIG_USER_ONLY - if (page_check_range(addr, nf << esz, PAGE_READ) < 0) { + if (page_check_range(addr, offset, PAGE_READ) < 0) { vl = i; goto ProbeSuccess; } #else - probe_pages(env, addr, nf << esz, ra, MMU_DATA_LOAD); + probe_pages(env, addr, offset, ra, MMU_DATA_LOAD); #endif } else { vl = i; From d6b9d9302342fc273441811b43dd42dbd3b799e0 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:46 +0800 Subject: [PATCH 57/61] target/riscv: Adjust vector address with mask The mask comes from the pointer masking extension, or the max value corresponding to XLEN bits. Signed-off-by: LIU Zhiwei Acked-by: Alistair Francis Reviewed-by: Richard Henderson Message-id: 20220120122050.41546-20-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/vector_helper.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index efb3129532..020d2e841f 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -139,6 +139,11 @@ static inline uint32_t vext_max_elems(uint32_t desc, uint32_t esz) return scale < 0 ? vlenb >> -scale : vlenb << scale; } +static inline target_ulong adjust_addr(CPURISCVState *env, target_ulong addr) +{ + return (addr & env->cur_pmmask) | env->cur_pmbase; +} + /* * This function checks watchpoint before real load operation. * @@ -156,12 +161,12 @@ static void probe_pages(CPURISCVState *env, target_ulong addr, target_ulong pagelen = -(addr | TARGET_PAGE_MASK); target_ulong curlen = MIN(pagelen, len); - probe_access(env, addr, curlen, access_type, + probe_access(env, adjust_addr(env, addr), curlen, access_type, cpu_mmu_index(env, false), ra); if (len > curlen) { addr += curlen; curlen = len - curlen; - probe_access(env, addr, curlen, access_type, + probe_access(env, adjust_addr(env, addr), curlen, access_type, cpu_mmu_index(env, false), ra); } } @@ -239,7 +244,7 @@ vext_ldst_stride(void *vd, void *v0, target_ulong base, k = 0; while (k < nf) { target_ulong addr = base + stride * i + (k << esz); - ldst_elem(env, addr, i + k * max_elems, vd, ra); + ldst_elem(env, adjust_addr(env, addr), i + k * max_elems, vd, ra); k++; } } @@ -295,7 +300,7 @@ vext_ldst_us(void *vd, target_ulong base, CPURISCVState *env, uint32_t desc, k = 0; while (k < nf) { target_ulong addr = base + ((i * nf + k) << esz); - ldst_elem(env, addr, i + k * max_elems, vd, ra); + ldst_elem(env, adjust_addr(env, addr), i + k * max_elems, vd, ra); k++; } } @@ -409,7 +414,7 @@ vext_ldst_index(void *vd, void *v0, target_ulong base, k = 0; while (k < nf) { abi_ptr addr = get_index_addr(base, i, vs2) + (k << esz); - ldst_elem(env, addr, i + k * max_elems, vd, ra); + ldst_elem(env, adjust_addr(env, addr), i + k * max_elems, vd, ra); k++; } } @@ -488,7 +493,7 @@ vext_ldff(void *vd, void *v0, target_ulong base, if (!vm && !vext_elem_mask(v0, i)) { continue; } - addr = base + i * (nf << esz); + addr = adjust_addr(env, base + i * (nf << esz)); if (i == 0) { probe_pages(env, addr, nf << esz, ra, MMU_DATA_LOAD); } else { @@ -515,7 +520,7 @@ vext_ldff(void *vd, void *v0, target_ulong base, break; } remain -= offset; - addr += offset; + addr = adjust_addr(env, addr + offset); } } } @@ -531,7 +536,7 @@ ProbeSuccess: } while (k < nf) { target_ulong addr = base + ((i * nf + k) << esz); - ldst_elem(env, addr, i + k * max_elems, vd, ra); + ldst_elem(env, adjust_addr(env, addr), i + k * max_elems, vd, ra); k++; } } @@ -585,7 +590,7 @@ vext_ldst_whole(void *vd, target_ulong base, CPURISCVState *env, uint32_t desc, /* load/store rest of elements of current segment pointed by vstart */ for (pos = off; pos < max_elems; pos++, env->vstart++) { target_ulong addr = base + ((pos + k * max_elems) << esz); - ldst_elem(env, addr, pos + k * max_elems, vd, ra); + ldst_elem(env, adjust_addr(env, addr), pos + k * max_elems, vd, ra); } k++; } @@ -594,7 +599,7 @@ vext_ldst_whole(void *vd, target_ulong base, CPURISCVState *env, uint32_t desc, for (; k < nf; k++) { for (i = 0; i < max_elems; i++, env->vstart++) { target_ulong addr = base + ((i + k * max_elems) << esz); - ldst_elem(env, addr, i + k * max_elems, vd, ra); + ldst_elem(env, adjust_addr(env, addr), i + k * max_elems, vd, ra); } } From d8c40c24fd5276536a95052ab35763c21def6f01 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:47 +0800 Subject: [PATCH 58/61] target/riscv: Adjust scalar reg in vector with XLEN When sew <= 32bits, not need to extend scalar reg. When sew > 32bits, if xlen is less that sew, we should sign extend the scalar register, except explicitly specified by the spec. Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-21-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index e03959c46f..f85a9e83b4 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -1258,7 +1258,7 @@ static bool opivx_trans(uint32_t vd, uint32_t rs1, uint32_t vs2, uint32_t vm, dest = tcg_temp_new_ptr(); mask = tcg_temp_new_ptr(); src2 = tcg_temp_new_ptr(); - src1 = get_gpr(s, rs1, EXT_NONE); + src1 = get_gpr(s, rs1, EXT_SIGN); data = FIELD_DP32(data, VDATA, VM, vm); data = FIELD_DP32(data, VDATA, LMUL, s->lmul); From 5a2ae2350e78cfdc7ca9885b8c3d62137115a494 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:48 +0800 Subject: [PATCH 59/61] target/riscv: Set default XLEN for hypervisor When swap regs for hypervisor, the value of vsstatus or mstatus_hs should have the right XLEN. Otherwise, it will propagate to mstatus. Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-22-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index a120d474df..1cb0436187 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -422,6 +422,16 @@ static void riscv_cpu_reset(DeviceState *dev) */ env->mstatus = set_field(env->mstatus, MSTATUS64_SXL, env->misa_mxl); env->mstatus = set_field(env->mstatus, MSTATUS64_UXL, env->misa_mxl); + if (riscv_has_ext(env, RVH)) { + env->vsstatus = set_field(env->vsstatus, + MSTATUS64_SXL, env->misa_mxl); + env->vsstatus = set_field(env->vsstatus, + MSTATUS64_UXL, env->misa_mxl); + env->mstatus_hs = set_field(env->mstatus_hs, + MSTATUS64_SXL, env->misa_mxl); + env->mstatus_hs = set_field(env->mstatus_hs, + MSTATUS64_UXL, env->misa_mxl); + } } env->mcause = 0; env->pc = env->resetvec; From f310df58bd2c570be8b802bffb37cb30da0c346e Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:49 +0800 Subject: [PATCH 60/61] target/riscv: Enable uxl field write Signed-off-by: LIU Zhiwei Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-23-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/cpu_bits.h | 3 +++ target/riscv/csr.c | 28 ++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 5a6d49aa64..7c87433645 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -449,6 +449,9 @@ typedef enum { #define COUNTEREN_IR (1 << 2) #define COUNTEREN_HPM3 (1 << 3) +/* vsstatus CSR bits */ +#define VSSTATUS64_UXL 0x0000000300000000ULL + /* Privilege modes */ #define PRV_U 0 #define PRV_S 1 diff --git a/target/riscv/csr.c b/target/riscv/csr.c index b11d92b51b..523d07a95e 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -496,7 +496,7 @@ static const target_ulong vs_delegable_excps = DELEGABLE_EXCPS & (1ULL << (RISCV_EXCP_STORE_GUEST_AMO_ACCESS_FAULT))); static const target_ulong sstatus_v1_10_mask = SSTATUS_SIE | SSTATUS_SPIE | SSTATUS_UIE | SSTATUS_UPIE | SSTATUS_SPP | SSTATUS_FS | SSTATUS_XS | - SSTATUS_SUM | SSTATUS_MXR | SSTATUS_VS | (target_ulong)SSTATUS64_UXL; + SSTATUS_SUM | SSTATUS_MXR | SSTATUS_VS; static const target_ulong sip_writable_mask = SIP_SSIP | MIP_USIP | MIP_UEIP; static const target_ulong hip_writable_mask = MIP_VSSIP; static const target_ulong hvip_writable_mask = MIP_VSSIP | MIP_VSTIP | MIP_VSEIP; @@ -572,6 +572,7 @@ static RISCVException write_mstatus(CPURISCVState *env, int csrno, { uint64_t mstatus = env->mstatus; uint64_t mask = 0; + RISCVMXL xl = riscv_cpu_mxl(env); /* flush tlb on mstatus fields that affect VM */ if ((val ^ mstatus) & (MSTATUS_MXR | MSTATUS_MPP | MSTATUS_MPV | @@ -583,21 +584,22 @@ static RISCVException write_mstatus(CPURISCVState *env, int csrno, MSTATUS_MPP | MSTATUS_MXR | MSTATUS_TVM | MSTATUS_TSR | MSTATUS_TW | MSTATUS_VS; - if (riscv_cpu_mxl(env) != MXL_RV32) { + if (xl != MXL_RV32) { /* * RV32: MPV and GVA are not in mstatus. The current plan is to * add them to mstatush. For now, we just don't support it. */ mask |= MSTATUS_MPV | MSTATUS_GVA; + if ((val & MSTATUS64_UXL) != 0) { + mask |= MSTATUS64_UXL; + } } mstatus = (mstatus & ~mask) | (val & mask); - RISCVMXL xl = riscv_cpu_mxl(env); if (xl > MXL_RV32) { - /* SXL and UXL fields are for now read only */ + /* SXL field is for now read only */ mstatus = set_field(mstatus, MSTATUS64_SXL, xl); - mstatus = set_field(mstatus, MSTATUS64_UXL, xl); } env->mstatus = mstatus; env->xl = cpu_recompute_xl(env); @@ -898,6 +900,9 @@ static RISCVException read_sstatus_i128(CPURISCVState *env, int csrno, { uint64_t mask = sstatus_v1_10_mask; uint64_t sstatus = env->mstatus & mask; + if (env->xl != MXL_RV32) { + mask |= SSTATUS64_UXL; + } *val = int128_make128(sstatus, add_status_sd(MXL_RV128, sstatus)); return RISCV_EXCP_NONE; @@ -907,7 +912,9 @@ static RISCVException read_sstatus(CPURISCVState *env, int csrno, target_ulong *val) { target_ulong mask = (sstatus_v1_10_mask); - + if (env->xl != MXL_RV32) { + mask |= SSTATUS64_UXL; + } /* TODO: Use SXL not MXL. */ *val = add_status_sd(riscv_cpu_mxl(env), env->mstatus & mask); return RISCV_EXCP_NONE; @@ -917,6 +924,12 @@ static RISCVException write_sstatus(CPURISCVState *env, int csrno, target_ulong val) { target_ulong mask = (sstatus_v1_10_mask); + + if (env->xl != MXL_RV32) { + if ((val & SSTATUS64_UXL) != 0) { + mask |= SSTATUS64_UXL; + } + } target_ulong newval = (env->mstatus & ~mask) | (val & mask); return write_mstatus(env, CSR_MSTATUS, newval); } @@ -1380,6 +1393,9 @@ static RISCVException write_vsstatus(CPURISCVState *env, int csrno, target_ulong val) { uint64_t mask = (target_ulong)-1; + if ((val & VSSTATUS64_UXL) == 0) { + mask &= ~VSSTATUS64_UXL; + } env->vsstatus = (env->vsstatus & ~mask) | (uint64_t)val; return RISCV_EXCP_NONE; } From f297245f6a780f496fb171af6fcd21ff3e6783c3 Mon Sep 17 00:00:00 2001 From: LIU Zhiwei Date: Thu, 20 Jan 2022 20:20:50 +0800 Subject: [PATCH 61/61] target/riscv: Relax UXL field for debugging Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Message-id: 20220120122050.41546-24-zhiwei_liu@c-sky.com Signed-off-by: Alistair Francis --- target/riscv/csr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 523d07a95e..e5f9d4ef93 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -584,7 +584,7 @@ static RISCVException write_mstatus(CPURISCVState *env, int csrno, MSTATUS_MPP | MSTATUS_MXR | MSTATUS_TVM | MSTATUS_TSR | MSTATUS_TW | MSTATUS_VS; - if (xl != MXL_RV32) { + if (xl != MXL_RV32 || env->debugger) { /* * RV32: MPV and GVA are not in mstatus. The current plan is to * add them to mstatush. For now, we just don't support it. @@ -900,7 +900,7 @@ static RISCVException read_sstatus_i128(CPURISCVState *env, int csrno, { uint64_t mask = sstatus_v1_10_mask; uint64_t sstatus = env->mstatus & mask; - if (env->xl != MXL_RV32) { + if (env->xl != MXL_RV32 || env->debugger) { mask |= SSTATUS64_UXL; } @@ -912,7 +912,7 @@ static RISCVException read_sstatus(CPURISCVState *env, int csrno, target_ulong *val) { target_ulong mask = (sstatus_v1_10_mask); - if (env->xl != MXL_RV32) { + if (env->xl != MXL_RV32 || env->debugger) { mask |= SSTATUS64_UXL; } /* TODO: Use SXL not MXL. */ @@ -925,7 +925,7 @@ static RISCVException write_sstatus(CPURISCVState *env, int csrno, { target_ulong mask = (sstatus_v1_10_mask); - if (env->xl != MXL_RV32) { + if (env->xl != MXL_RV32 || env->debugger) { if ((val & SSTATUS64_UXL) != 0) { mask |= SSTATUS64_UXL; }

  • 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 iQ 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