nuttx/arch/mips/src/mips32
Lwazi Dube 30a3769057 arch/mips: Add support for loadable ELF modules
Implement architecture-specific ELF header definitions and relocation handling
for the MIPS architecture to enable loadable modules.

Fixes #19178.

Changes include:
- Add `arch/mips/include/elf.h` with MIPS ELF relocation types and
  architecture-specific ELF data structures (`arch_elfdata_s`).
- Implement `libs/libc/machine/mips/arch_elf.c` containing `up_checkarch`,
  `up_relocate`, and `up_relocateadd` functions handling `R_MIPS_NONE`,
  `R_MIPS_32`, `R_MIPS_26`, `R_MIPS_HI16`, and `R_MIPS_LO16` relocations.
- Integrate MIPS machine-specific C library support in
  `libs/libc/machine/mips/Make.defs`.
- Update `LDMODULEFLAGS` in `arch/mips/src/mips32/Toolchain.defs` to include the
  little-endian (`-EL`) flag.
- Update `up_coherent_dcache` for proper cache synchronization on JZ4780.

Signed-off-by: Lwazi Dube <lwazeh@gmail.com>
2026-08-11 09:46:46 -03:00
..
fork.S !sched/arch/libc: Give fork() and vfork() their real, separate semantics. 2026-08-10 08:57:30 -03:00
Kconfig !sched/arch/libc: Give fork() and vfork() their real, separate semantics. 2026-08-10 08:57:30 -03:00
mips32-memorymap.h arch/misps: migrate to SPDX identifier 2024-12-02 22:43:23 +08:00
mips_cache.S arch/misps: migrate to SPDX identifier 2024-12-02 22:43:23 +08:00
mips_copystate.c arch/misps: migrate to SPDX identifier 2024-12-02 22:43:23 +08:00
mips_doirq.c arch: fix addrenv_switch changing this_task causing exceptions 2026-01-17 18:23:06 -03:00
mips_fork.c !sched/arch/libc: Give fork() and vfork() their real, separate semantics. 2026-08-10 08:57:30 -03:00
mips_fork.h arch/misps: migrate to SPDX identifier 2024-12-02 22:43:23 +08:00
mips_initialstate.c arch/misps: migrate to SPDX identifier 2024-12-02 22:43:23 +08:00
mips_irq.c arch/mips: Add option to use mips syscall instruction for syscalls 2026-07-11 14:58:24 -03:00
mips_registerdump.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mips_saveusercontext.c arch/misps: migrate to SPDX identifier 2024-12-02 22:43:23 +08:00
mips_schedulesigaction.c arch/mips: Add option to use mips syscall instruction for syscalls 2026-07-11 14:58:24 -03:00
mips_sigdeliver.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mips_swint0.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mips_switchcontext.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mips_syscall0.S arch/mips: Add option to use mips syscall instruction for syscalls 2026-07-11 14:58:24 -03:00
Toolchain.defs arch/mips: Add support for loadable ELF modules 2026-08-11 09:46:46 -03:00