|
| 1 | +diff --git a/vendor/riscv/riscv-isa-sim/disasm/isa_parser.cc b/vendor/riscv/riscv-isa-sim/disasm/isa_parser.cc |
| 2 | +index ddb486a61..0449ad0d2 100644 |
| 3 | +--- a/vendor/riscv/riscv-isa-sim/disasm/isa_parser.cc |
| 4 | ++++ b/vendor/riscv/riscv-isa-sim/disasm/isa_parser.cc |
| 5 | +@@ -114,8 +114,7 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv) |
| 6 | + // Spike necessarily has Zicsr, because |
| 7 | + // Zicsr is implied by the privileged architecture |
| 8 | + } else if (ext_str == "zifencei") { |
| 9 | +- // For compatibility with version 2.0 of the base ISAs, we |
| 10 | +- // unconditionally include FENCE.I, so Zifencei adds nothing more. |
| 11 | ++ extension_table[EXT_ZIFENCEI] = true; |
| 12 | + } else if (ext_str == "zihintpause") { |
| 13 | + // HINTs encoded in base-ISA instructions are always present. |
| 14 | + } else if (ext_str == "zihintntl") { |
| 15 | +diff --git a/vendor/riscv/riscv-isa-sim/riscv/insns/fence_i.h b/vendor/riscv/riscv-isa-sim/riscv/insns/fence_i.h |
| 16 | +index 38dcaf3fc..4c1a903a5 100644 |
| 17 | +--- a/vendor/riscv/riscv-isa-sim/riscv/insns/fence_i.h |
| 18 | ++++ b/vendor/riscv/riscv-isa-sim/riscv/insns/fence_i.h |
| 19 | +@@ -1 +1,2 @@ |
| 20 | ++require_extension(EXT_ZIFENCEI); |
| 21 | + MMU.flush_icache(); |
| 22 | +diff --git a/vendor/riscv/riscv-isa-sim/riscv/isa_parser.h b/vendor/riscv/riscv-isa-sim/riscv/isa_parser.h |
| 23 | +index 9effd164d..73547c19e 100644 |
| 24 | +--- a/vendor/riscv/riscv-isa-sim/riscv/isa_parser.h |
| 25 | ++++ b/vendor/riscv/riscv-isa-sim/riscv/isa_parser.h |
| 26 | +@@ -56,6 +56,7 @@ typedef enum { |
| 27 | + EXT_ZICBOZ, |
| 28 | + EXT_ZICNTR, |
| 29 | + EXT_ZICOND, |
| 30 | ++ EXT_ZIFENCEI, |
| 31 | + EXT_ZIHPM, |
| 32 | + EXT_XZBP, |
| 33 | + EXT_XZBS, |
0 commit comments