Commit f888d5f
committed
RISC-V: Remove user-level interrupts
There was once a RISC-V extension draft ("N"), which introduced
user-level interrupts. However, it was never ratified and the
specification draft has been removed from the RISC-V ISA manual
in commit `b6cade07034` with the comment "it'll likely need to
be redesigned".
Support for a N extension never made it to GCC, but we support
fuction attributes for user-level interrupt handlers that use
the URET instruction.
The "user" interrupt attribute was documented in the RISC-V C API,
but has been removed in PR #106 in May 2025 (driven by LLVM devs/
maintainers and ack'ed by at least one GCC maintainer).
Let's drop URET support from GCC as well.
gcc/ChangeLog:
* config/riscv/riscv.cc (enum riscv_privilege_levels): Remove USER_MODE.
(riscv_handle_type_attribute): Remove "user" interrupts.
(riscv_expand_epilogue): Likewise.
(riscv_get_interrupt_type): Likewise.
* config/riscv/riscv.md (riscv_uret): Remove URET pattern.
* doc/extend.texi: Remove documentation of user interrupts.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/interrupt-conflict-mode.c: Remove "user"
interrupts.
* gcc.target/riscv/xtheadint-push-pop.c: Likewise.
* gcc.target/riscv/interrupt-umode.c: Removed.
Reported-by: Sam Elliott <quic_aelliott@quicinc.com>
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>1 parent 22e5711 commit f888d5f
File tree
6 files changed
+11
-36
lines changed- gcc
- config/riscv
- doc
- testsuite/gcc.target/riscv
6 files changed
+11
-36
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
6929 | 6929 | | |
6930 | 6930 | | |
6931 | 6931 | | |
6932 | | - | |
6933 | | - | |
| 6932 | + | |
| 6933 | + | |
| 6934 | + | |
6934 | 6935 | | |
6935 | 6936 | | |
6936 | | - | |
| 6937 | + | |
6937 | 6938 | | |
6938 | 6939 | | |
6939 | 6940 | | |
| |||
9715 | 9716 | | |
9716 | 9717 | | |
9717 | 9718 | | |
9718 | | - | |
9719 | | - | |
9720 | 9719 | | |
9721 | 9720 | | |
9722 | 9721 | | |
9723 | 9722 | | |
9724 | | - | |
9725 | | - | |
| 9723 | + | |
| 9724 | + | |
9726 | 9725 | | |
9727 | 9726 | | |
9728 | 9727 | | |
| |||
12064 | 12063 | | |
12065 | 12064 | | |
12066 | 12065 | | |
12067 | | - | |
12068 | | - | |
12069 | | - | |
| 12066 | + | |
12070 | 12067 | | |
12071 | 12068 | | |
12072 | 12069 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | 123 | | |
125 | 124 | | |
126 | 125 | | |
| |||
4167 | 4166 | | |
4168 | 4167 | | |
4169 | 4168 | | |
4170 | | - | |
4171 | | - | |
4172 | | - | |
4173 | | - | |
4174 | | - | |
4175 | | - | |
4176 | | - | |
4177 | 4169 | | |
4178 | 4170 | | |
4179 | 4171 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5654 | 5654 | | |
5655 | 5655 | | |
5656 | 5656 | | |
5657 | | - | |
| 5657 | + | |
5658 | 5658 | | |
5659 | 5659 | | |
5660 | | - | |
| 5660 | + | |
5661 | 5661 | | |
5662 | 5662 | | |
5663 | 5663 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 23 | | |
30 | 24 | | |
31 | 25 | | |
| |||
0 commit comments