2016-10-05 15:53:10

by Max Filippov

[permalink] [raw]
Subject: [PULL 00/24] Xtensa improvements for 4.9

Hi Linus,

please pull the following batch of updates for the xtensa architecture.
It is a combined set of patches for 4.8 that never got to the mainline
and new patches for 4.9.

It has a merge conflict with the mainline in arch/xtensa/kernel/setup.c
that can be resolved by removing function xtensa_device_probe.

The following changes since commit 523d939ef98fd712632d93a5a2b588e477a7565e:

Linux 4.7 (2016-07-24 12:23:50 -0700)

are available in the git repository at:

git://github.com/jcmvbkbc/linux-xtensa.git tags/xtensa-20161005

for you to fetch changes up to a4c6be5ad1d0c7af0c5421b68a00b6406b28a325:

xtensa: disable MMU initialization option on MMUv2 cores (2016-09-29 12:55:00 -0700)

----------------------------------------------------------------
Xtensa improvements for 4.9:

- add new kernel memory layouts for MMUv3 cores: with 256MB and 512MB
KSEG size, starting at physical address other than 0;
- make kernel load address configurable;
- clean up kernel memory layout macros;
- drop sysmem early allocator and switch to memblock;
- enable kmemleak and memory reservation from the device tree;
- wire up new syscalls: userfaultfd, membarrier, mlock2, copy_file_range,
preadv2 and pwritev2;
- add new platform: Cadence Configurable System Platform (CSP) and new
core variant for it: xt_lnx;
- rearrange CCOUNT calibration code, make most of it generic;
- improve machine reset code (XTFPGA now reboots reliably with MMUv3
cores);
- provide default memmap command line option for configurations without
device tree support;
- ISS fixes: simdisk is now capable of using highmem pages, panic
correctly terminates simulator.

----------------------------------------------------------------
Chris Zankel (1):
Merge tag 'xtensa-for-next-20160731' of git://github.com/jcmvbkbc/linux-xtensa into for_next

Max Filippov (22):
xtensa: define ___unlock_[di]cache_all unconditionally
xtensa: fix __ffs result type
xtensa: move kernel mapping addresses into kmem_layout.h
xtensa: add alternative kernel memory layouts
xtensa: cleanup MMU setup and kernel layout macros
xtensa: minimize use of PLATFORM_DEFAULT_MEM_{ADDR,SIZE}
xtensa: drop sysmem and switch to memblock
xtensa: support reserved-memory DT node
xtensa: wire up new syscalls
xtensa: fix default kernel load address
xtensa: extract common CPU reset code into separate function
xtensa: fix icountlevel setting in cpu_reset
xtensa: initialize MMU before jumping to reset vector
xtensa: xtfpga: use clock provider, don't update DT
xtensa: rearrange CCOUNT calibration
xtensa: xtfpga: group platform_* functions together
xtensa: ISS: define simc_exit and use it instead of inline asm
xtensa: ISS: allow simdisk to use high memory buffers
xtensa: add default memmap option to iss_defconfig
xtensa: add default memmap option to common_defconfig
xtensa: add default memmap and mmio32native options to defconfigs
xtensa: disable MMU initialization option on MMUv2 cores

Scott Telford (2):
xtensa: Added Cadence CSP kernel configuration for Xtensa
xtensa: Tweak xuartps UART driver Rx watermark for Cadence CSP config.

Documentation/xtensa/mmu.txt | 173 ++++-
arch/xtensa/Kconfig | 95 ++-
arch/xtensa/boot/boot-elf/boot.lds.S | 2 +-
arch/xtensa/boot/boot-elf/bootstrap.S | 7 +-
arch/xtensa/boot/boot-uboot/Makefile | 10 +-
arch/xtensa/boot/dts/csp.dts | 54 ++
arch/xtensa/boot/dts/xtfpga.dtsi | 15 +-
arch/xtensa/configs/audio_kc705_defconfig | 2 +-
arch/xtensa/configs/cadence_csp_defconfig | 122 ++++
arch/xtensa/configs/common_defconfig | 609 +----------------
arch/xtensa/configs/generic_kc705_defconfig | 2 +-
arch/xtensa/configs/iss_defconfig | 728 +--------------------
arch/xtensa/configs/nommu_kc705_defconfig | 2 +-
arch/xtensa/configs/smp_lx200_defconfig | 2 +-
arch/xtensa/include/asm/bitops.h | 2 +-
arch/xtensa/include/asm/cacheasm.h | 11 +-
arch/xtensa/include/asm/fixmap.h | 5 +
arch/xtensa/include/asm/highmem.h | 5 +
arch/xtensa/include/asm/initialize_mmu.h | 44 +-
arch/xtensa/include/asm/kmem_layout.h | 74 +++
arch/xtensa/include/asm/page.h | 27 +-
arch/xtensa/include/asm/pgtable.h | 7 +-
arch/xtensa/include/asm/platform.h | 6 +
arch/xtensa/include/asm/processor.h | 2 +-
arch/xtensa/include/asm/sysmem.h | 21 +-
arch/xtensa/include/asm/vectors.h | 67 +-
arch/xtensa/include/uapi/asm/types.h | 3 +-
arch/xtensa/include/uapi/asm/unistd.h | 15 +-
arch/xtensa/kernel/entry.S | 5 +-
arch/xtensa/kernel/head.S | 2 +-
arch/xtensa/kernel/setup.c | 182 +++++-
arch/xtensa/kernel/time.c | 40 +-
arch/xtensa/kernel/vmlinux.lds.S | 4 -
arch/xtensa/mm/init.c | 279 +-------
.../platforms/iss/include/platform/simcall.h | 5 +
arch/xtensa/platforms/iss/setup.c | 28 +-
arch/xtensa/platforms/iss/simdisk.c | 1 +
arch/xtensa/platforms/xt2000/setup.c | 21 +-
arch/xtensa/platforms/xtfpga/setup.c | 116 ++--
arch/xtensa/variants/csp/include/variant/core.h | 575 ++++++++++++++++
arch/xtensa/variants/csp/include/variant/tie-asm.h | 194 ++++++
arch/xtensa/variants/csp/include/variant/tie.h | 161 +++++
42 files changed, 1806 insertions(+), 1919 deletions(-)
create mode 100644 arch/xtensa/boot/dts/csp.dts
create mode 100644 arch/xtensa/configs/cadence_csp_defconfig
create mode 100644 arch/xtensa/include/asm/kmem_layout.h
create mode 100644 arch/xtensa/variants/csp/include/variant/core.h
create mode 100644 arch/xtensa/variants/csp/include/variant/tie-asm.h
create mode 100644 arch/xtensa/variants/csp/include/variant/tie.h

--
Thanks.
-- Max