• A
    riscv: Introduce support for defining instructions · 5ac43ab2
    Andrew Jones 提交于
    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: NAndrew Jones <ajones@ventanamicro.com>
    Reviewed-by: NAnup Patel <anup@brainfault.org>
    Signed-off-by: NAnup Patel <anup@brainfault.org>
    5ac43ab2
Kconfig 19.2 KB