linux/arch/loongarch/include/asm
Tiezhu Yang c1474bb0b7 LoongArch: BPF: Adjust the parameter of emit_jirl()
The branch instructions beq, bne, blt, bge, bltu, bgeu and jirl belong
to the format reg2i16, but the sequence of oprand is different for the
instruction jirl. So adjust the parameter order of emit_jirl() to make
it more readable correspond with the Instruction Set Architecture manual.

Here are the instruction formats:

  beq     rj, rd, offs16
  bne     rj, rd, offs16
  blt     rj, rd, offs16
  bge     rj, rd, offs16
  bltu    rj, rd, offs16
  bgeu    rj, rd, offs16
  jirl    rd, rj, offs16

Link: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#branch-instructions
Suggested-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2024-12-02 16:42:08 +08:00
..
vdso LoongArch: vDSO: Use vdso/datapage.h to access vDSO data 2024-11-02 12:37:33 +01:00
acenv.h
acpi.h LoongArch: Give a chance to build with !CONFIG_SMP 2024-05-14 12:24:18 +08:00
addrspace.h LoongArch: Add writecombine support for DMW-based ioremap() 2024-07-20 22:40:59 +08:00
alternative-asm.h LoongArch: Add alternative runtime patching mechanism 2022-12-14 08:36:11 +08:00
alternative.h LoongArch: Add alternative runtime patching mechanism 2022-12-14 08:36:11 +08:00
asm-extable.h LoongArch: BPF: Add BPF exception tables 2022-12-14 08:36:11 +08:00
asm-offsets.h
asm-prototypes.h LoongArch: Select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 2024-05-14 12:24:18 +08:00
asm.h LoongArch: Mark some assembler symbols as non-kprobe-able 2023-02-25 22:12:17 +08:00
asmmacro.h LoongArch: Add support for relocating the kernel with RELR relocation 2024-07-20 22:41:07 +08:00
atomic.h LoongArch: Improve hardware page table walker 2024-09-24 15:32:20 +08:00
barrier.h LoongArch: Support dbar with different hints 2023-06-29 20:58:44 +08:00
bitops.h
bitrev.h
bootinfo.h LoongArch: Get correct cores_per_package for SMT systems 2024-10-21 22:11:18 +08:00
branch.h
bug.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
cache.h
cacheflush.h LoongArch: Remove superfluous flush_dcache_page() definition 2024-03-19 15:50:34 +08:00
cacheops.h LoongArch: Refactor cache probe and flush methods 2022-10-12 16:36:14 +08:00
checksum.h LoongArch: Add checksum optimization for 64-bit system 2023-05-01 17:19:43 +08:00
clocksource.h
cmpxchg.h locking/arch: Rename all internal __xchg() names to __arch_xchg() 2023-04-29 09:08:44 +02:00
cpu-features.h LoongArch: Rework CPU feature probe from CPUCFG/IOCSR 2024-09-24 15:32:20 +08:00
cpu-info.h LoongArch: Add SMT (Simultaneous Multi-Threading) support 2023-06-29 20:58:43 +08:00
cpu.h LoongArch: Rework CPU feature probe from CPUCFG/IOCSR 2024-09-24 15:32:20 +08:00
cpufeature.h
crash_reserve.h LoongArch: Fix Kconfig item and left code related to CRASH_CORE 2024-04-24 12:36:07 +08:00
delay.h
dma.h LoongArch: Add PCI controller support 2022-08-12 13:10:11 +08:00
dmi.h
efi.h efi/loongarch: Directly position the loaded image file 2023-12-19 11:16:37 +01:00
elf.h LoongArch: Fix and simplify fcsr initialization on execve() 2024-01-17 12:43:08 +08:00
entry-common.h
exception.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
exec.h
extable.h LoongArch: BPF: Add BPF exception tables 2022-12-14 08:36:11 +08:00
fixmap.h LoongArch: Use TLB for ioremap() 2022-10-12 16:36:14 +08:00
fpregdef.h LoongArch: Prepare for assemblers with proper FCSR class support 2023-06-29 20:58:43 +08:00
fpu.h LoongArch: implement ARCH_HAS_KERNEL_FPU_SUPPORT 2024-05-19 14:36:18 -07:00
ftrace.h ftrace: Consolidate ftrace_regs accessor functions for archs using pt_regs 2024-10-15 11:42:35 -04:00
futex.h LoongArch: extable: Add a dedicated uaccess handler 2022-12-14 08:36:11 +08:00
gpr-num.h LoongArch: extable: Also recognize ABI names of registers 2023-06-29 20:58:43 +08:00
hardirq.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02:00
hugetlb.h LoongArch: Add architecture specific huge_pte_clear() 2024-12-02 16:42:08 +08:00
hw_breakpoint.h LoongArch: Trigger user-space watchpoints correctly 2024-06-21 10:18:40 +08:00
hw_irq.h LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE 2024-08-26 23:11:32 +08:00
idle.h
inst.h LoongArch: BPF: Adjust the parameter of emit_jirl() 2024-12-02 16:42:08 +08:00
io.h loongarch: Use new fallback IO memcpy/memset 2024-10-28 21:44:29 +00:00
irq.h irqchip/loongson-eiointc: Add virt extension support 2024-11-13 16:18:27 +08:00
irq_regs.h
irq_work.h LoongArch: Add irq_work support via self IPIs 2024-07-20 22:40:58 +08:00
irqflags.h
jump_label.h jump_label: adjust inline asm to be consistent 2024-11-04 16:21:45 -05:00
kasan.h LoongArch: Add WriteCombine shadow mapping in KASAN 2024-11-12 16:35:39 +08:00
Kbuild asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
kdebug.h LoongArch: Remove five DIE_* definitions in kdebug.h 2023-06-29 20:58:44 +08:00
kexec.h LoongArch: Add kexec support 2022-10-12 16:36:19 +08:00
kfence.h LoongArch: Use accessors to page table entries instead of direct dereference 2024-08-07 17:37:11 +08:00
kgdb.h LoongArch: Add basic KGDB & KDB support 2023-09-06 22:53:55 +08:00
kprobes.h LoongArch: Use larch_insn_gen_break() for kprobes 2023-06-29 20:58:44 +08:00
kvm_csr.h LoongArch: KVM: Add PMU support for guest 2024-09-12 20:53:40 +08:00
kvm_eiointc.h LoongArch: KVM: Add EIOINTC read and write functions 2024-11-13 16:18:27 +08:00
kvm_host.h LoongArch: KVM: Add irqfd support 2024-11-13 16:18:27 +08:00
kvm_ipi.h LoongArch: KVM: Add IPI read and write function 2024-11-13 16:18:27 +08:00
kvm_mmu.h LoongArch: KVM: Implement kvm mmu operations 2023-10-02 10:01:28 +08:00
kvm_para.h LoongArch: KVM: Implement function kvm_para_has_feature() 2024-09-12 22:56:14 +08:00
kvm_pch_pic.h LoongArch: KVM: Add PCHPIC read and write functions 2024-11-13 16:18:27 +08:00
kvm_types.h LoongArch: KVM: Add kvm related header files 2023-10-02 10:01:20 +08:00
kvm_vcpu.h LoongArch: KVM: Enable paravirt feature control from VMM 2024-09-12 20:53:40 +08:00
lbt.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
linkage.h LoongArch: Use SYM_CODE_* to annotate exception handlers 2023-10-18 08:42:52 +08:00
local.h locking/local, arch: Rewrite local_add_unless() as a static inline function 2023-10-04 11:38:11 +02:00
loongarch.h LoongArch: Use "Exception return address" to comment ERA 2024-10-21 22:11:18 +08:00
loongson.h LoongArch: Add suspend (ACPI S3) support 2022-12-14 08:41:53 +08:00
mmu.h
mmu_context.h LoongArch: Improve hardware page table walker 2024-09-24 15:32:20 +08:00
module.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
module.lds.h LoongArch: module: set section addresses to 0x0 2023-04-18 19:38:58 +08:00
numa.h LoongArch: Add all CPUs enabled by fdt to NUMA node 0 2024-06-03 15:45:53 +08:00
orc_header.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
orc_lookup.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
orc_types.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
page.h asm-generic updates for 6.13 2024-11-20 15:13:02 -08:00
paravirt.h LoongArch: Revert qspinlock to test-and-set simple lock on VM 2024-09-11 23:26:32 +08:00
paravirt_api_clock.h LoongArch: KVM: Add PV IPI support on guest side 2024-05-06 22:00:47 +08:00
pci.h LoongArch: Add PCI controller support 2022-08-12 13:10:11 +08:00
percpu.h LoongArch: Simplify _percpu_read() and _percpu_write() 2024-09-24 15:32:20 +08:00
perf_event.h LoongArch: Fix callchain parse error with kernel tracepoint events again 2024-05-14 12:24:18 +08:00
pgalloc.h LoongArch: Set initial pte entry with PAGE_GLOBAL for kernel space 2024-10-21 22:11:19 +08:00
pgtable-bits.h LoongArch: Add ARCH_HAS_PTE_DEVMAP support 2024-07-20 22:40:59 +08:00
pgtable.h mm: define general function pXd_init() 2024-11-11 17:22:27 -08:00
prefetch.h
processor.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
ptrace.h LoongArch: Add identifier names to arguments of die() declaration 2023-08-25 23:40:26 +08:00
qspinlock.h LoongArch: Revert qspinlock to test-and-set simple lock on VM 2024-09-11 23:26:32 +08:00
regdef.h
seccomp.h
serial.h
set_memory.h arch: introduce set_direct_map_valid_noflush() 2024-11-07 14:25:15 -08:00
setup.h LoongArch: Add support for relocating the kernel with RELR relocation 2024-07-20 22:41:07 +08:00
smp.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02:00
sparsemem.h LoongArch: add sparse memory vmemmap support 2022-12-11 18:12:12 -08:00
spinlock.h LoongArch: Add qspinlock support 2022-10-12 16:36:14 +08:00
spinlock_types.h LoongArch: Add qspinlock support 2022-10-12 16:36:14 +08:00
stackframe.h LoongArch: Add writecombine support for DMW-based ioremap() 2024-07-20 22:40:59 +08:00
stackprotector.h LoongArch: Add basic STACKPROTECTOR support 2022-12-14 08:41:53 +08:00
stacktrace.h LoongArch: Add USER_STACKTRACE support 2022-08-12 13:10:11 +08:00
string.h LoongArch: Add KASAN (Kernel Address Sanitizer) support 2023-09-06 22:54:16 +08:00
suspend.h LoongArch: Export some arch-specific pm interfaces 2023-06-29 20:58:44 +08:00
switch_to.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
syscall.h
thread_info.h LoongArch: Allow to enable PREEMPT_LAZY 2024-11-26 18:06:04 +08:00
time.h LoongArch: Add suspend (ACPI S3) support 2022-12-14 08:41:53 +08:00
timex.h
tlb.h LoongArch: Fix a build error due to __tlb_remove_tlb_entry() 2024-04-24 12:36:07 +08:00
tlbflush.h
topology.h arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
types.h
uaccess.h LoongArch: Use la.pcrel instead of la.abs when it's trivially possible 2023-02-25 22:12:16 +08:00
unistd.h LoongArch: Define __ARCH_WANT_NEW_STAT in unistd.h 2024-07-20 22:40:58 +08:00
unwind.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
unwind_hints.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
uprobes.h LoongArch: Make the users of larch_insn_gen_break() constant 2024-07-20 22:41:07 +08:00
vdso.h LoongArch: Add vDSO syscall __vdso_getcpu() 2022-08-12 13:10:11 +08:00
vermagic.h
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
vmalloc.h
xor.h LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00
xor_simd.h LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00