Linux port for Xtensa

Phase 1

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: UP, linux-next specific, more TBD

Plan

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

Issues

Work items

SMP support

Support for Tensilica FPGA boards

Atomics (arch/xtensa/include/asm/atomic.h, bitops.h, spinlock.h) and check for S32C1I

Merged in the eb0a9bf31fdbcee9463c0f42fbf4a292ef149a7d, pick up from individual files.

TIE coprocessors

23ae3f723c8996d47ef205e98cb7732bbde4775f

Highmem

Interrupt management

Medium level interrupts in less hacky way

489fb47c75772e3a41ef3e988eb0c0e512592085

Device trees support

On the xtensa-fixes branch.

MMU v3

ptrace (support latest GDB)

617244763e19a4eebb4fabe41ba56eb1ccbdb049, 23ae3f723c8996d47ef205e98cb7732bbde4775f, ff1b10f85a1176d1eb8df433434b717f6f0841d4, a2b61af3328025d6069e8bf9ff36f5288e11dba9

Support for building with XCC

simdisk

1a955825662fa378d447b91485d9fe2438124b0a, 8bcbc3adb5c5bfdbd96078c1e68916be859c832d

Various fixes made for debuggability

oprofile

8c502ca703956e56bf191774e4169752f0f71c8e, 7dd1d39e70769f2dd7a6a508d58b187ed8d1cb95

Generic kernel_thread & friends

Done, in the mainline.

Cache aliasing aware mmap