28 lines
914 B
Modula-2
28 lines
914 B
Modula-2
#ifndef PROC_ALIAS
|
|
#define PROC_ALIAS(NAME, RV32, RV64)
|
|
#endif
|
|
|
|
PROC_ALIAS("generic", "generic-rv32", "generic-rv64")
|
|
PROC_ALIAS("rocket", "rocket-rv32", "rocket-rv64")
|
|
PROC_ALIAS("sifive-7-series", "sifive-7-rv32", "sifive-7-rv64")
|
|
|
|
#undef PROC_ALIAS
|
|
|
|
#ifndef PROC
|
|
#define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH)
|
|
#endif
|
|
|
|
PROC(INVALID, {"invalid"}, FK_INVALID, {""})
|
|
PROC(GENERIC_RV32, {"generic-rv32"}, FK_NONE, {""})
|
|
PROC(GENERIC_RV64, {"generic-rv64"}, FK_64BIT, {""})
|
|
PROC(ROCKET_RV32, {"rocket-rv32"}, FK_NONE, {""})
|
|
PROC(ROCKET_RV64, {"rocket-rv64"}, FK_64BIT, {""})
|
|
PROC(SIFIVE_732, {"sifive-7-rv32"}, FK_NONE, {""})
|
|
PROC(SIFIVE_764, {"sifive-7-rv64"}, FK_64BIT, {""})
|
|
PROC(SIFIVE_E31, {"sifive-e31"}, FK_NONE, {"rv32imac"})
|
|
PROC(SIFIVE_U54, {"sifive-u54"}, FK_64BIT, {"rv64gc"})
|
|
PROC(SIFIVE_E76, {"sifive-e76"}, FK_NONE, {"rv32imafc"})
|
|
PROC(SIFIVE_U74, {"sifive-u74"}, FK_64BIT, {"rv64gc"})
|
|
|
|
#undef PROC
|