linux/arch/riscv
Andrew Jones 5ac43ab2e3 riscv: Introduce support for defining instructions
When compiling with toolchains that haven't yet been taught about
new instructions we need to encode them ourselves. Create a new file
where support for instruction definitions will evolve. We initiate
the file with a macro called INSN_R(), which implements the R-type
instruction encoding. INSN_R() will use the assembler's .insn
directive when available, which should give the assembler a chance
to do some validation. When .insn is not available we fall back to
manual encoding.

Not only should using instruction encoding macros improve readability
and maintainability of code over the alternative of inserting
instructions directly (e.g. '.word 0xc0de'), but we should also gain
potential for more optimized code after compilation because the
compiler will have control over the input and output registers used.

Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Anup Patel <anup@brainfault.org>
2022-10-02 10:18:07 +05:30
..
boot riscv: dts: microchip: use an mpfs specific l2 compatible 2022-08-31 16:57:51 +01:00
configs riscv: enable Docker requirements in defconfig 2022-07-22 13:43:28 -07:00
errata RISC-V: Clean up the Zicbom block size probing 2022-09-13 02:06:11 -07:00
include riscv: Introduce support for defining instructions 2022-10-02 10:18:07 +05:30
kernel riscv: fix a nasty sigreturn bug... 2022-09-17 01:48:23 -07:00
kvm KVM/riscv fixes for 6.0, take #1 2022-09-01 19:21:09 -04:00
lib riscv: lib: uaccess: fix CSR_STATUS SR_SUM bit 2022-08-10 14:06:31 -07:00
mm RISC-V Fixes for 6.0-rc7 2022-09-23 08:51:05 -07:00
net bpf, riscv: Support riscv jit to provide bpf_line_info 2022-06-02 16:26:01 -07:00
purgatory riscv/purgatory: Omit use of bin2c 2022-08-11 09:32:34 -07:00
Kbuild riscv: move errata/ and kvm/ builds to arch/riscv/Kbuild 2022-06-01 22:26:32 -07:00
Kconfig riscv: Introduce support for defining instructions 2022-10-02 10:18:07 +05:30
Kconfig.debug RISC-V: Remove EARLY_PRINTK support 2018-12-17 10:23:46 -08:00
Kconfig.erratas riscv: make t-head erratas depend on MMU 2022-09-17 01:48:22 -07:00
Kconfig.socs riscv: Kconfig: Style cleanups 2022-06-30 19:26:16 -07:00
Makefile arch/riscv: add Zihintpause support 2022-08-11 08:03:49 -07:00