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

TIE coprocessors

Highmem

Interrupt management

Medium level interrupts in less hacky way

Device trees support

MMU v3

ptrace (support latest GDB)

Support for building with XCC

simdisk

Various fixes made for debuggability

oprofile

Generic kernel_thread & friends

Cache aliasing aware mmap