xtensa: xtfpga: introduce SoC I/O bus

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: add support for KC705

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: xtensa: xtfpga: disable lcd

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: xtensa: xtfpga: add CY7C67300 USB controller support

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Merge branches 'xtensa-cores', 'xtensa-fixes' and 'xtensa-kc705' into xtensa-staging
xtensa: provide XCHAL_* parameters to debugger

This allows gdb scrips to learn core variant parameters from the running
kernel.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: configure kc705 for highmem

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: optimize local_flush_tlb_kernel_range

Don't flush whole TLB if only a small kernel range is requested.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: add HIGHMEM support

Introduce fixmap area just below the vmalloc region. Use it for atomic
mapping of high memory pages.
High memory on cores with cache aliasing is not supported and is still
to be implemented. Fail build for such configurations for now.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: xtensa: HIGHMEM with cache aliasing

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: move {clear,copy}_user_page to cache.c

With CONFIG_HIGHMEM enabled hand-written VA to PA mapping in the
{clear,copy}_user_page no longer works. And also there's no way to quickly
restore temporary mapping for high pages. So, instead of providing fault
handler that restores temporary mapping do {clear,copy}_user_page with
preemption disabled.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>