Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:jcmvbkbc:linux-xtensa

Linux port for Xtensa

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