etc:users:jcmvbkbc:linux-xtensa
Table of Contents
Linux port for Xtensa
- Linux git tree: https://github.com/jcmvbkbc/linux-xtensa
- Build/test tools git tree: https://github.com/jcmvbkbc/xtensa-linux-test
- Toolchain build scripts/overlays git tree: https://github.com/jcmvbkbc/xtensa-toolchain-build
TODO
- dynamic ftrace
- kgdb/kdb
- kexec
- NX
In Progress
Features by release
Linux 6.4
- support for FDPIC ELF executable format on noMMU
Linux 6.1
- support for static PIE ELF executable format on noMMU
- partial support for FDPIC ELF executable format on noMMU (signal delivery is broken, fixed in 6.1.31)
Linux 5.19
- support coprocessors on SMP.
- support protection faults on noMMU.
- support full tickless operation.
- KCSAN.
- hibernation.
Linux 5.18
- support compiler plugins (with gcc-12 and newer).
- support for kernel ABI selection.
- removed dependency on compiler's libgcc.
Linux 5.16
- support for cores without windowed registers.
- call0 ABI kernel.
Linux 5.13
- GDBIO semihosting.
Linux 5.9
- syscall audit.
- seccomp filter.
Linux 5.6
- exception vectors can be attached to the rest of the kernel or placed at specific address.
Linux 5.5
- eXecute In Place (XIP) kernel.
Linux 5.4
- support for call0 ABI userspace.
Linux 5.3
- 'virt' board (sim with PCI, corresponding board model available in QEMU since v4.2).
Linux 5.2
- support for cores with exclusive access option.
- basic support for cores with MPU.
Linux 5.1
- generic spinlock/rwlock.
Linux 5.0
- memtest.
- Jump labels.
- tracehook.
- syscall tracepoints.
- multiple coprocessor fixes.
- SMP fixes.
Linux 4.16
- KASAN.
- SSP.
- allocation of DMA buffers from high memory.
- support DMA_ATTR_NO_KERNEL_MAPPING.
- kernel is built with -mtext-section-literals and -mno-serialize-volatile.
Linux 4.9
- New kernel memory layouts: with 256MBytes and 512MBytes of low memory.
- Configurable KSEG physical memory address and kernel load address.
- Custom sysmem boot time memory allocator is replaced with memblock.
- KMEMLEAK.
- reserved-memory DT node.
- Cadence Configurable System Platform (CSP).
Linux 4.6
- Hardware breakpoints/watchpoints.
- ioremap for memory outside KIO region.
- Big endian: serial, network, i2c work.
Linux 4.4
- DMA to high memory.
Linux 4.3
- Hardware perf counters and perf support.
Linux 4.1
- ALSA playback driver for XTFPGA.
Linux 3.19
- noMMU.
Linux 3.17
- Highmem on cores with aliasing cache.
- New (simpler) method of configuring for specific core variant.
Linux 3.16
- Stability: xtensa linux may be rebuilt natively.
Linux 3.15
- Highmem.
- KC705 board.
Linux 3.14
- SMP.
- Futex.
- register spilling overhaul.
- OpenCores ethernet works when connected to gigabit network.
- c67x00 USB host is usable on XTFPGA.
- TAP network works in ISS.
Linux 3.12
- Kernel preemption.
Linux 3.11
- Multihit exceptions fixed.
- Static function tracer.
Linux 3.10
- MMUv3 cores.
- Lockdep/stack tracing.
Linux 3.9
- TLS (THREADPTR register).
- Oprofile.
- ISS simdisk.
Linux 3.8
- Device trees.
- uImage generation.
- IRQ subsystem overhaul (IRQ domains, medium-priority interrupts).
- XTFPGA boards.
- s32c1i-based atomic/bit operations and spinlocks.
Linux 3.7
- Overall architecture port overhaul, mainline is alive again, builds and runs.
- There were dragons prior to that release.
etc/users/jcmvbkbc/linux-xtensa.txt · Last modified: 2023/07/12 06:25 by jcmvbkbc