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 [2013/07/31 15:35] – jcmvbkbc | etc:users:jcmvbkbc:linux-xtensa [2023/07/12 06:25] (current) – add esp32s3 linux wifi notes jcmvbkbc | ||
---|---|---|---|
Line 4: | Line 4: | ||
* Build/test tools git tree: https:// | * Build/test tools git tree: https:// | ||
* Toolchain build scripts/ | * Toolchain build scripts/ | ||
+ | * [[.: | ||
+ | * [[.: | ||
+ | * [[.: | ||
- | ===== Phase 1 ===== | + | ===== TODO ===== |
- | Goal: linux mainline contains the latest linux-xtensa updates, builds and works. | + | |
- | * compilable with latest GCC | + | |
- | * overlays to cover: FSF, dc232b, more TBD | + | |
- | * tests to pass: builds, boots, LTP | + | |
- | * boards to focus on: ISS, ML605 | + | |
- | * configurations: | + | |
- | ===== Plan ===== | + | |
- | | + | * kgdb/kdb |
- | * [+] Make mainline build for ARCH=xtensa in defconfig, allnoconfig, | + | * kexec |
- | * [+] fix remaining issues with allmodconfig | + | * NX |
- | * qemu needs proper handling for guest ioctls triggered via simcalls | + | |
- | * [+] Make built images work (qemu, FSF) | + | |
- | * [+] Build userspace | + | |
- | * Automated build/test scripts | + | |
- | * [+] build/test status/ | + | |
- | * expect script to run LTP | + | |
- | * Analyse reference tree | + | |
- | * proper bugfixes | + | |
- | * new cores (dc233c, test_hifi_c3, | + | |
- | * new platforms (lx*, ml605, s*) | + | |
- | * SMP and its fixes | + | |
- | * XCC fixes | + | |
- | * [[.: | + | |
- | ===== Work items ===== | + | ===== In Progress |
- | === SMP support === | + | |
- | === Support for Tensilica FPGA boards === | + | |
- | * [+] serial | + | |
- | * [+] ethernet | + | |
- | * [+] FLASH | + | |
- | * [-] audio | + | |
- | In the mainline: | + | |
- | < | + | |
- | 0d456ba xtensa: add support for the XTFPGA boards | + | |
- | 5584b4d xtensa: add XTFPGA DTS | + | |
- | </ | + | |
- | === Atomics (arch/ | + | |
- | Merged in the eb0a9bf31fdbcee9463c0f42fbf4a292ef149a7d, | + | |
- | Done, in the mainline: | + | * kprobes |
- | < | + | * [[.:linux-xtensa:esp32]] |
- | 2f6ea6a xtensa: display s32c1i feature flag in cpuinfo | + | * [[.:linux-xtensa:esp32s3]] |
- | 733536b | + | * [[.:linux-xtensa:esp32s3wifi]] |
- | c622b29 xtensa: initialize atomctl SR | + | |
- | 28570e8 xtensa: add trap_set_handler function | + | |
- | 0027312 xtensa: add s32c1i sanity check | + | |
- | 219b1e4 xtensa: add s32c1i-based atomic ops implementations | + | |
- | e5a9f6a | + | |
- | 71872b5 xtensa: add s32c1i-based spinlock implementations | + | |
- | 599bf77 | + | |
- | </ | + | |
- | === TIE coprocessors === | + | |
- | 23ae3f723c8996d47ef205e98cb7732bbde4775f | + | |
- | === Highmem === | + | |
- | === Interrupt management === | + | |
- | Done, in the mainline: | + | |
- | < | + | |
- | 2206d5d xtensa: add IRQ domains support | + | |
- | </ | + | |
- | === Medium level interrupts in less hacky way === | + | |
- | < | + | |
- | Done, in the mainline: | + | ===== Features by release |
- | < | + | ==== Linux 6.4 ==== |
- | 2d1c645 xtensa: dispatch medium-priority interrupts | + | |
- | 895666a xtensa: disable IRQs while IRQ handler is running | + | |
- | </ | + | |
- | === Device trees support | + | |
- | Done, in the mainline: | + | |
- | < | + | |
- | da844a8 xtensa: add device trees support | + | |
- | </ | + | |
- | === MMU v3 === | + | |
- | Done, in the mainline: | + | |
- | < | + | |
- | e85e335 xtensa: add MMU v3 support | + | |
- | 93e294a xtensa: document MMUv3 setup sequence | + | |
- | </ | + | |
- | === ptrace (support latest GDB) === | + | |
- | 617244763e19a4eebb4fabe41ba56eb1ccbdb049, | + | |
- | === Support for building with XCC === | + | |
- | === simdisk === | + | |
- | < | + | |
- | Done, in the mainline: | + | * support for FDPIC ELF executable format on noMMU |
- | < | + | |
- | b6c7e87 xtensa: ISS: add host file-based simulated disk | + | ==== Linux 6.1 ==== |
- | </code> | + | |
- | === Various fixes made for debuggability | + | * support for static PIE ELF executable format on noMMU |
- | === oprofile | + | * 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' | ||
+ | |||
+ | ==== 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 ==== | ||
+ | |||
+ | * ' | ||
+ | |||
+ | ==== 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 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. | ||
- | Done, in the mainline: | ||
- | < | ||
- | e6ffe17 xtensa: add support for oprofile | ||
- | 74f5bf0 xtensa: fix oprofile building as module | ||
- | </ | ||
- | === Generic kernel_thread & friends === | ||
- | Done, in the mainline: | ||
- | < | ||
- | 3306a72 xtensa: switch to generic kernel_thread() | ||
- | f0a1bf0 xtensa: switch to generic kernel_execve() | ||
- | dc241f2 xtensa: switch to generic sys_execve() | ||
- | </ | ||
- | === Cache aliasing aware mmap === | ||
- | Done, in the mainline: | ||
- | < | ||
- | de73b6b xtensa: avoid mmap cache aliasing | ||
- | </ |
etc/users/jcmvbkbc/linux-xtensa.1375270501.txt.gz · Last modified: 2013/07/31 15:35 by jcmvbkbc