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 [2014/04/14 07:34] – status update jcmvbkbcetc:users:jcmvbkbc:linux-xtensa [2023/07/12 06:25] (current) – add esp32s3 linux wifi notes jcmvbkbc
Line 6: Line 6:
   * [[.:linux-xtensa:patch-review-checklist]]   * [[.:linux-xtensa:patch-review-checklist]]
   * [[.:linux-xtensa:patch-pull-checklist]]   * [[.:linux-xtensa:patch-pull-checklist]]
 +  * [[.:linux-xtensa:rootfs]]
  
 ===== 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, 23ae3f723c8996d47ef205e98cb7732bbde4775f, <del>ff1b10f85a1176d1eb8df433434b717f6f0841d4</del> (already upstream), <del>a2b61af3328025d6069e8bf9ff36f5288e11dba9</del>) +
-  * 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: +
-<code> +
-445a48c net: ethoc: don't advertise gigabit speed on attached PHY +
-a13aff0 net: ethoc: set up MII management bus clock +
-</code> +
-=== SMP support === +
-Done, in the mainline: +
-<code> +
-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/irqchip +
-26a8e96 xtensa: add MX irqchip +
-f615136 xtensa: add SMP support +
-49b424f xtensa: implement CPU hotplug +
-</code> +
-=== Clean up and fix ISS networking === +
-Done, in the mainline: +
-<code> +
-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 +
-</code> +
-=== oprofile === +
-<del>8c502ca703956e56bf191774e4169752f0f71c8e, 7dd1d39e70769f2dd7a6a508d58b187ed8d1cb95</del>+
  
-Done, in the mainline: +  * kprobes 
-<code> +  * [[.:linux-xtensa:esp32]] 
-e6ffe17 xtensa: add support for oprofile +  * [[.:linux-xtensa:esp32s3]] 
-74f5bf0 xtensa: fix oprofile building as module +  * [[.:linux-xtensa:esp32s3wifi]]
-</code> +
-=== simdisk === +
-<del>1a955825662fa378d447b91485d9fe2438124b0a, 8bcbc3adb5c5bfdbd96078c1e68916be859c832d</del>+
  
-Done, in the mainline: +===== Features by release ===== 
-<code> +==== Linux 6.4 ====
-b6c7e87 xtensa: ISS: add host file-based simulated disk +
-</code> +
-=== Medium level interrupts in less hacky way === +
-<del>489fb47c75772e3a41ef3e988eb0c0e512592085</del>+
  
-Done, in the mainline: +  * support for FDPIC ELF executable format on noMMU
-<code> +
-2d1c645 xtensa: dispatch medium-priority interrupts +
-895666a xtensa: disable IRQs while IRQ handler is running +
-</code> +
-=== Interrupt management === +
-Done, in the mainline: +
-<code> +
-2206d5d xtensa: add IRQ domains support +
-</code> +
-=== Cache aliasing aware mmap === +
-Done, in the mainline: +
-<code> +
-de73b6b xtensa: avoid mmap cache aliasing +
-</code> +
-=== Atomics (arch/xtensa/include/asm/atomic.h, bitops.h, spinlock.h) and check for S32C1I === +
-Merged in the eb0a9bf31fdbcee9463c0f42fbf4a292ef149a7d, pick up from individual files.+
  
-Done, in the mainline: +==== Linux 6.1 ==== 
-<code> + 
-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 entry +  * partial support for FDPIC ELF executable format on noMMU (signal delivery is brokenfixed 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. 
-</code> +  * hibernation. 
-=== Generic kernel_thread & friends === + 
-Done, in the mainline: +==== Linux 5.18 ==== 
-<code> + 
-3306a72 xtensa: switch to generic kernel_thread() +  * support compiler plugins (with gcc-12 and newer). 
-f0a1bf0 xtensa: switch to generic kernel_execve() +  * support for kernel ABI selection. 
-dc241f2 xtensa: switch to generic sys_execve() +  * removed dependency on compiler's libgcc. 
-</code> + 
-=== Support for Tensilica FPGA boards (xtfpga) === +==== Linux 5.16 ==== 
-  * [+] serial + 
-  * [+] ethernet +  * support for cores without windowed registers. 
-  * [+] FLASH +  * call0 ABI kernel. 
-  * [-] audio + 
-In the mainline+==== Linux 5.13 ==== 
-<code> + 
-0d456ba xtensaadd support for the XTFPGA boards +  * GDBIO semihosting. 
-5584b4d xtensa: add XTFPGA DTS + 
-</code> +==== Linux 5.9 ==== 
-=== Device trees support === + 
-Done, in the mainline: +  * syscall audit. 
-<code> +  * seccomp filter. 
-da844a8 xtensaadd device trees support + 
-</code> +==== 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. 
-<code> + 
-e85e335 xtensa: add MMU v3 support +==== Linux 5.5 ==== 
-93e294a xtensa: document MMUv3 setup sequence + 
-</code>+  * eXecute In Place (XIPkernel. 
 + 
 +==== 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 layoutswith 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 endianserial, 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 ==== 
 + 
 +  * Stabilityxtensa 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