Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:jcmvbkbc:linux-xtensa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:users:jcmvbkbc:linux-xtensa [2012/11/05 11:21] – progress jcmvbkbcetc:users:jcmvbkbc:linux-xtensa [2023/07/12 06:25] (current) – add esp32s3 linux wifi notes jcmvbkbc
Line 1: Line 1:
 ====== Linux port for Xtensa ====== ====== Linux port for Xtensa ======
  
-===== Phase 1 ===== +  * Linux git treehttps://github.com/jcmvbkbc/linux-xtensa 
-Goallinux mainline contains the latest linux-xtensa updates, builds and works. +  * Build/test tools git tree: https://github.com/jcmvbkbc/xtensa-linux-test 
-  * compilable with latest GCC +  * Toolchain build scripts/overlays git treehttps://github.com/jcmvbkbc/xtensa-toolchain-build 
-  * overlays to coverFSF, dc232b, more TBD +  * [[.:linux-xtensa:patch-review-checklist]] 
-  * tests to passbuilds, boots, LTP +  * [[.:linux-xtensa:patch-pull-checklist]] 
-  * boards to focus onISS, ML605 +  * [[.:linux-xtensa:rootfs]]
-  * configurationsUP, linux-next specific, more TBD+
  
-===== Plan ===== +===== TODO =====
-  * Prepare for linux-next participation +
-    * [2/3] Make mainline build for ARCH=xtensa in defconfig, allnoconfig, allmodconfig +
-      * [+] fix remaining issues with allmodconfig +
-      * why there's no simdisk in the mainline? +
-      * 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/logs +
-    * expect script to run LTP +
-  * Analyse reference tree +
-    * proper bugfixes +
-    * new cores (dc233c, test_hifi_c3, s*) +
-    * new platforms (lx*, ml605, s*) +
-    * SMP and its fixes +
-    * XCC fixes +
-  * [[.:linux-xtensa:issues]]+
  
-===== Work items ===== +  * dynamic ftrace 
-=== SMP support === +  * kgdb/kdb 
-=== Support for Tensilica FPGA boards === +  * kexec 
-=== Atomics (arch/xtensa/include/asm/atomic.hbitops.h, spinlock.h) and check for S32C1I === +  * NX 
-Merged in the eb0a9bf31fdbcee9463c0f42fbf4a292ef149a7d, pick up from individual files+ 
-=== TIE coprocessors === +===== In Progress ===== 
-23ae3f723c8996d47ef205e98cb7732bbde4775f + 
-=== Highmem === +  * kprobes 
-=== Interrupt management === +  * [[.:linux-xtensa:esp32]] 
-=== Medium level interrupts in less hacky way === +  * [[.:linux-xtensa:esp32s3]] 
-489fb47c75772e3a41ef3e988eb0c0e512592085 +  * [[.:linux-xtensa:esp32s3wifi]] 
-=== Device trees support === + 
-On the xtensa-fixes branch+===== Features by release ===== 
-=== MMU v3 === +==== Linux 6.4 ==== 
-=== ptrace (support latest GDB) === + 
-617244763e19a4eebb4fabe41ba56eb1ccbdb04923ae3f723c8996d47ef205e98cb7732bbde4775fff1b10f85a1176d1eb8df433434b717f6f0841d4, a2b61af3328025d6069e8bf9ff36f5288e11dba9 +  * support for FDPIC ELF executable format on noMMU 
-=== Support for building with XCC === + 
-=== simdisk === +==== Linux 6.1 ==== 
-1a955825662fa378d447b91485d9fe2438124b0a, 8bcbc3adb5c5bfdbd96078c1e68916be859c832d + 
-=== 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 brokenfixed in 6.1.31) 
-8c502ca703956e56bf191774e4169752f0f71c8e, 7dd1d39e70769f2dd7a6a508d58b187ed8d1cb95 + 
-=== Generic kernel_thread & friends === +==== Linux 5.19 ==== 
-Donein the mainline+ 
-=== Cache aliasing aware mmap ===+  * 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: serialnetworki2c 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 domainsmedium-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.1352100082.txt.gz · Last modified: 2012/11/05 11:21 by jcmvbkbc