etc:users:jcmvbkbc:linux-xtensa
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| etc:users:jcmvbkbc:linux-xtensa [2014/04/14 07:34] – status update jcmvbkbc | etc:users:jcmvbkbc:linux-xtensa [2023/07/12 06:25] (current) – add esp32s3 linux wifi notes jcmvbkbc | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| * [[.: | * [[.: | ||
| * [[.: | * [[.: | ||
| + | * [[.: | ||
| ===== TODO ===== | ===== TODO ===== | ||
| - | * highmem on cores with aliasing cache | + | * dynamic ftrace |
| - | * support xtfpga audio hardware in ALSA | + | * kgdb/kdb |
| - | * clock synthesizer | + | * kexec |
| - | * I2S interface | + | * NX |
| - | * deliver signals raised in double exceptions | + | |
| - | * TIE coprocessors (23ae3f723c8996d47ef205e98cb7732bbde4775f) | + | |
| - | * ptrace (support latest GDB) (617244763e19a4eebb4fabe41ba56eb1ccbdb049, | + | |
| - | * ticket spinlocks | + | |
| - | * fixes for debugability (continuous stack trace over exceptions at least) | + | |
| - | ===== Done ===== | + | ===== In Progress |
| - | === Highmem support === | + | |
| - | Done, in the -next | + | |
| - | === Limit PHY connected to OpenCores MAC to 10/100 MBits/s speeds === | + | |
| - | Done, in the mainline: | + | |
| - | < | + | |
| - | 445a48c net: ethoc: don't advertise gigabit speed on attached PHY | + | |
| - | a13aff0 net: ethoc: set up MII management bus clock | + | |
| - | </ | + | |
| - | === SMP support === | + | |
| - | Done, in the mainline: | + | |
| - | < | + | |
| - | 99d5040 xtensa: keep a3 and excsave1 on entry to exception handlers | + | |
| - | 5515daa xtensa: fix arch spinlock function names | + | |
| - | 6235153 xtensa: update clockevent setup for SMP | + | |
| - | cbd1de2 xtensa: move built-in PIC to drivers/ | + | |
| - | 26a8e96 xtensa: add MX irqchip | + | |
| - | f615136 xtensa: add SMP support | + | |
| - | 49b424f xtensa: implement CPU hotplug | + | |
| - | </ | + | |
| - | === Clean up and fix ISS networking === | + | |
| - | Done, in the mainline: | + | |
| - | < | + | |
| - | 3f3cd60b xtensa: ISS: clean up iss-network driver | + | |
| - | 8c8ad85 xtensa: ISS: fix command line parameter name | + | |
| - | 358b181 xtensa: ISS: init network interface name before the probe | + | |
| - | 8991fd8 xtensa: ISS: drop IP setup, clean up MAC setup | + | |
| - | f6ac5a1 xtensa: ISS: enable iss_net_set_mac | + | |
| - | 35e14b4 xtensa: ISS: always use fixed tuntap config | + | |
| - | a6e16b9 xtensa: ISS: clean up diagnostic, increase verbosity | + | |
| - | </ | + | |
| - | === oprofile === | + | |
| - | < | + | |
| - | Done, in the mainline: | + | * kprobes |
| - | < | + | * [[.:linux-xtensa:esp32]] |
| - | e6ffe17 | + | * [[.:linux-xtensa:esp32s3]] |
| - | 74f5bf0 | + | * [[.: |
| - | </ | + | |
| - | === simdisk === | + | |
| - | < | + | |
| - | Done, in the mainline: | + | ===== Features by release ===== |
| - | < | + | ==== Linux 6.4 ==== |
| - | b6c7e87 xtensa: ISS: add host file-based simulated disk | + | |
| - | </ | + | |
| - | === Medium level interrupts in less hacky way === | + | |
| - | < | + | |
| - | Done, in the mainline: | + | * support for FDPIC ELF executable format on noMMU |
| - | < | + | |
| - | 2d1c645 xtensa: dispatch medium-priority interrupts | + | |
| - | 895666a xtensa: disable IRQs while IRQ handler is running | + | |
| - | </ | + | |
| - | === Interrupt management === | + | |
| - | Done, in the mainline: | + | |
| - | < | + | |
| - | 2206d5d xtensa: add IRQ domains | + | |
| - | </ | + | |
| - | === Cache aliasing aware mmap === | + | |
| - | Done, in the mainline: | + | |
| - | < | + | |
| - | de73b6b xtensa: avoid mmap cache aliasing | + | |
| - | </ | + | |
| - | === Atomics (arch/ | + | |
| - | Merged in the eb0a9bf31fdbcee9463c0f42fbf4a292ef149a7d, | + | |
| - | Done, in the mainline: | + | ==== Linux 6.1 ==== |
| - | < | + | |
| - | 2f6ea6a xtensa: display s32c1i feature flag in cpuinfo | + | * support for static PIE ELF executable format on noMMU |
| - | 733536b xtensa: save and restore scompare1 SR on kernel | + | * partial support for FDPIC ELF executable format on noMMU (signal delivery is broken, fixed in 6.1.31) |
| - | c622b29 xtensa: initialize atomctl SR | + | |
| - | 28570e8 xtensa: add trap_set_handler function | + | ==== Linux 5.19 ==== |
| - | 0027312 xtensa: add s32c1i sanity check | + | |
| - | 219b1e4 xtensa: add s32c1i-based atomic ops implementations | + | * support coprocessors on SMP. |
| - | e5a9f6a xtensa: add s32c1i-based bitops implementations | + | * support protection faults on noMMU. |
| - | 71872b5 xtensa: add s32c1i-based spinlock implementations | + | * support full tickless operation. |
| - | 599bf77 xtensa: fix mb and wmb definitions | + | * KCSAN. |
| - | </ | + | * hibernation. |
| - | === Generic kernel_thread & friends | + | |
| - | Done, in the mainline: | + | ==== Linux 5.18 ==== |
| - | < | + | |
| - | 3306a72 xtensa: switch to generic kernel_thread() | + | * support compiler plugins (with gcc-12 |
| - | f0a1bf0 xtensa: switch to generic kernel_execve() | + | * support for kernel ABI selection. |
| - | dc241f2 xtensa: switch to generic sys_execve() | + | * removed dependency |
| - | </ | + | |
| - | === Support | + | ==== Linux 5.16 ==== |
| - | * [+] serial | + | |
| - | * [+] ethernet | + | * support for cores without windowed registers. |
| - | * [+] FLASH | + | * call0 ABI kernel. |
| - | * [-] audio | + | |
| - | In the mainline: | + | ==== Linux 5.13 ==== |
| - | < | + | |
| - | 0d456ba xtensa: add support for the XTFPGA | + | * GDBIO semihosting. |
| - | 5584b4d xtensa: add XTFPGA DTS | + | |
| - | </ | + | ==== Linux 5.9 ==== |
| - | === Device trees support | + | |
| - | Done, in the mainline: | + | * syscall audit. |
| - | < | + | * seccomp filter. |
| - | da844a8 xtensa: add device trees support | + | |
| - | </ | + | ==== Linux 5.6 ==== |
| - | === MMU v3 === | + | |
| - | Done, in the mainline: | + | * exception vectors can be attached to the rest of the kernel or placed at specific address. |
| - | < | + | |
| - | e85e335 xtensa: add MMU v3 support | + | ==== Linux 5.5 ==== |
| - | 93e294a xtensa: document | + | |
| - | </code> | + | * eXecute In Place (XIP) kernel. |
| + | |||
| + | ==== Linux 5.4 ==== | ||
| + | |||
| + | * support | ||
| + | |||
| + | ==== Linux 5.3 ==== | ||
| + | |||
| + | * ' | ||
| + | |||
| + | ==== Linux 5.2 ==== | ||
| + | |||
| + | * support for cores with exclusive access option. | ||
| + | * basic support for cores with MPU. | ||
| + | |||
| + | ==== Linux 5.1 ==== | ||
| + | |||
| + | * generic spinlock/ | ||
| + | |||
| + | ==== 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/ | ||
| + | * 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 | ||
| + | |||
| + | ==== 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.1397446461.txt.gz · Last modified: 2014/04/14 07:34 by jcmvbkbc