185840bd2SDaniel Henrique Barboza /* 2*27a6e78eSPhilippe Mathieu-Daudé * QEMU RISC-V CPU QOM header (target agnostic) 385840bd2SDaniel Henrique Barboza * 485840bd2SDaniel Henrique Barboza * Copyright (c) 2023 Ventana Micro Systems Inc. 585840bd2SDaniel Henrique Barboza * 685840bd2SDaniel Henrique Barboza * This program is free software; you can redistribute it and/or modify it 785840bd2SDaniel Henrique Barboza * under the terms and conditions of the GNU General Public License, 885840bd2SDaniel Henrique Barboza * version 2 or later, as published by the Free Software Foundation. 985840bd2SDaniel Henrique Barboza * 1085840bd2SDaniel Henrique Barboza * This program is distributed in the hope it will be useful, but WITHOUT 1185840bd2SDaniel Henrique Barboza * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1285840bd2SDaniel Henrique Barboza * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 1385840bd2SDaniel Henrique Barboza * more details. 1485840bd2SDaniel Henrique Barboza * 1585840bd2SDaniel Henrique Barboza * You should have received a copy of the GNU General Public License along with 1685840bd2SDaniel Henrique Barboza * this program. If not, see <http://www.gnu.org/licenses/>. 1785840bd2SDaniel Henrique Barboza */ 1885840bd2SDaniel Henrique Barboza 1985840bd2SDaniel Henrique Barboza #ifndef RISCV_CPU_QOM_H 2085840bd2SDaniel Henrique Barboza #define RISCV_CPU_QOM_H 2185840bd2SDaniel Henrique Barboza 2285840bd2SDaniel Henrique Barboza #include "hw/core/cpu.h" 2385840bd2SDaniel Henrique Barboza 2485840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU "riscv-cpu" 259e1a30d3SDaniel Henrique Barboza #define TYPE_RISCV_DYNAMIC_CPU "riscv-dynamic-cpu" 2685840bd2SDaniel Henrique Barboza 2785840bd2SDaniel Henrique Barboza #define RISCV_CPU_TYPE_SUFFIX "-" TYPE_RISCV_CPU 2885840bd2SDaniel Henrique Barboza #define RISCV_CPU_TYPE_NAME(name) (name RISCV_CPU_TYPE_SUFFIX) 2985840bd2SDaniel Henrique Barboza 3085840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_ANY RISCV_CPU_TYPE_NAME("any") 31b97e5a6bSDaniel Henrique Barboza #define TYPE_RISCV_CPU_MAX RISCV_CPU_TYPE_NAME("max") 3285840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_BASE32 RISCV_CPU_TYPE_NAME("rv32") 3385840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_BASE64 RISCV_CPU_TYPE_NAME("rv64") 3485840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_BASE128 RISCV_CPU_TYPE_NAME("x-rv128") 3585840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_IBEX RISCV_CPU_TYPE_NAME("lowrisc-ibex") 3685840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_SHAKTI_C RISCV_CPU_TYPE_NAME("shakti-c") 3785840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_SIFIVE_E31 RISCV_CPU_TYPE_NAME("sifive-e31") 3885840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_SIFIVE_E34 RISCV_CPU_TYPE_NAME("sifive-e34") 3985840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_SIFIVE_E51 RISCV_CPU_TYPE_NAME("sifive-e51") 4085840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_SIFIVE_U34 RISCV_CPU_TYPE_NAME("sifive-u34") 4185840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_SIFIVE_U54 RISCV_CPU_TYPE_NAME("sifive-u54") 4285840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_THEAD_C906 RISCV_CPU_TYPE_NAME("thead-c906") 43e1d084a8SRahul Pathak #define TYPE_RISCV_CPU_VEYRON_V1 RISCV_CPU_TYPE_NAME("veyron-v1") 4485840bd2SDaniel Henrique Barboza #define TYPE_RISCV_CPU_HOST RISCV_CPU_TYPE_NAME("host") 4585840bd2SDaniel Henrique Barboza 4685840bd2SDaniel Henrique Barboza OBJECT_DECLARE_CPU_TYPE(RISCVCPU, RISCVCPUClass, RISCV_CPU) 4785840bd2SDaniel Henrique Barboza 4885840bd2SDaniel Henrique Barboza #endif /* RISCV_CPU_QOM_H */ 49