#include #include #include void cpuinfo_riscv_decode_vendor_uarch( uint32_t vendor_id, uint32_t arch_id, uint32_t imp_id, enum cpuinfo_vendor vendor[restrict static 1], enum cpuinfo_uarch uarch[restrict static 1]) { /* The vendor ID is sufficient to determine the cpuinfo_vendor. */ switch (vendor_id) { case cpuinfo_riscv_chipset_vendor_sifive: *vendor = cpuinfo_vendor_sifive; break; default: *vendor = cpuinfo_vendor_unknown; cpuinfo_log_warning("unknown vendor ID: %" PRIu32, vendor_id); break; } /** * TODO: Add support for parsing chipset architecture and implementation * IDs here, when a chipset of interest comes along. */ *uarch = cpuinfo_uarch_unknown; }