[GIT PULL] arm64: updates for 4.1

From: Will Deacon
Date: Thu Apr 16 2015 - 12:12:11 EST


Hi Linus,

Here are the core arm64 updates for 4.1. Highlights include a significant
rework to head.S (allowing us to boot on machines with physical memory at
a really high address), an AES performance boost on Cortex-A57 and the
ability to run a 32-bit userspace with 64k pages (although this requires
said userspace to be built with a recent binutils).

The head.S rework spilt over into KVM, so there are some changes under
arch/arm/ which have been acked by Marc Zyngier (KVM co-maintainer).
In particular, the linker script changes caused us some issues in -next,
so there are a few merge commits where we had to apply fixes on top of
a stable branch.

Please pull.

Cheers,

Will

--->8

The following changes since commit 06e5801b8cb3fc057d88cb4dc03c0b64b2744cda:

Linux 4.0-rc4 (2015-03-15 17:38:20 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-upstream

for you to fetch changes up to 6d1966dfd6e0ad2f8aa4b664ae1a62e33abe1998:

arm64: fix midr range for Cortex-A57 erratum 832075 (2015-04-01 11:12:03 +0100)

----------------------------------------------------------------
arm64 updates for 4.1:

The main change here is a significant head.S rework that allows us to
boot on machines with physical memory at a really high address without
having to increase our mapped VA range. Other changes include:

- AES performance boost for Cortex-A57
- AArch32 (compat) userspace with 64k pages
- Cortex-A53 erratum workaround for #845719
- defconfig updates (new platforms, PCI, ...)

----------------------------------------------------------------
Alexander Graf (1):
arm64: Enable CONFIG_COMPAT also for 64k page size

Andreas Schwab (1):
arm64: fix implementation of mmap2 compat syscall

Ard Biesheuvel (14):
arm64/crypto: issue aese/aesmc instructions in pairs
ARM, arm64: kvm: get rid of the bounce page
arm64: add macros for common adrp usages
arm64: remove processor_id
arm64: remove __switch_data object from head.S
arm64: use PC-relative reference for secondary_holding_pen_release
arm64: merge __enable_mmu and __turn_mmu_on
arm64: remove __calc_phys_offset
arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol
ARM: kvm: implement replacement for ld's LOG2CEIL()
arm64: mm: increase VA range of identity map
arm64: KVM: use ID map with increased VA range if required
ARM: kvm: assert on HYP section boundaries not actual code size
ARM: kvm: round HYP section to page size instead of log2 upper bound

Bo Yan (1):
arm64: fix midr range for Cortex-A57 erratum 832075

Daniel Borkmann (1):
arm64: mm: unexport set_memory_ro and set_memory_rw

Ganapatrao Kulkarni (1):
arm64: kconfig: increase NR_CPUS range to 2-4096.

Joe Perches (1):
arm64: Use bool function return values of true/false not 1/0

Marc Zyngier (4):
arm64: Get rid of struct cpu_table
arm64: insn: Add aarch64_insn_decode_immediate
arm64: alternative: Allow immediate branch as alternative instruction
arm64: Extract feature parsing code from cpu_errata.c

Mark Rutland (7):
arm64: apply alternatives for !SMP kernels
arm64: fix hyp mode mismatch detection
arm64: log CPU boot modes
arm64: fixmap: make FIX_TEXT_POKE0 permanent
arm64: fixmap: check idx is definitely valid
arm64: head.S: ensure visibility of page tables
arm64: head.S: ensure idmap_t0sz is visible

Peter Crosthwaite (1):
arm64: Implement cpu_relax as yield

Steve Capper (1):
arm64: Adjust EFI libstub object include logic

Suzuki K. Poulose (1):
arm64: perf: reject groups spanning multiple HW PMUs

Will Deacon (8):
arm64: proc: remove unused cpu_get_pgd macro
Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core
dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity
arm64: pmu: add support for interrupt-affinity property
Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core
Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core
arm64: defconfig: updates for 4.1
arm64: errata: add workaround for cortex-a53 erratum #845719

Documentation/devicetree/bindings/arm/pmu.txt | 7 +
arch/arm/include/asm/kvm_mmu.h | 10 +
arch/arm/kernel/vmlinux.lds.S | 11 +-
arch/arm/kvm/mmu.c | 69 +++----
arch/arm64/Kconfig | 35 +++-
arch/arm64/Makefile | 2 +-
arch/arm64/configs/defconfig | 14 +-
arch/arm64/crypto/aes-ce-ccm-core.S | 12 +-
arch/arm64/crypto/aes-ce.S | 10 +-
arch/arm64/include/asm/assembler.h | 48 +++++
arch/arm64/include/asm/cpufeature.h | 18 +-
arch/arm64/include/asm/cputable.h | 30 ---
arch/arm64/include/asm/dma-mapping.h | 2 +-
arch/arm64/include/asm/fixmap.h | 2 +-
arch/arm64/include/asm/insn.h | 1 +
arch/arm64/include/asm/kvm_mmu.h | 33 ++++
arch/arm64/include/asm/mmu_context.h | 43 +++++
arch/arm64/include/asm/page.h | 6 +-
arch/arm64/include/asm/pgtable-hwdef.h | 7 +-
arch/arm64/include/asm/pmu.h | 1 +
arch/arm64/include/asm/proc-fns.h | 9 -
arch/arm64/include/asm/processor.h | 6 +-
arch/arm64/include/asm/smp_plat.h | 2 +
arch/arm64/include/asm/unistd32.h | 2 +-
arch/arm64/kernel/Makefile | 4 +-
arch/arm64/kernel/alternative.c | 55 +++++-
arch/arm64/kernel/asm-offsets.c | 4 -
arch/arm64/kernel/cpu_errata.c | 47 ++---
arch/arm64/kernel/cpufeature.c | 47 +++++
arch/arm64/kernel/cpuinfo.c | 1 +
arch/arm64/kernel/cputable.c | 33 ----
arch/arm64/kernel/entry.S | 20 ++
arch/arm64/kernel/entry32.S | 18 ++
arch/arm64/kernel/head.S | 261 +++++++++-----------------
arch/arm64/kernel/insn.c | 81 ++++++--
arch/arm64/kernel/perf_event.c | 78 +++++++-
arch/arm64/kernel/setup.c | 55 ++++--
arch/arm64/kernel/smp.c | 3 +-
arch/arm64/kernel/sys32.c | 1 +
arch/arm64/kernel/vmlinux.lds.S | 17 +-
arch/arm64/kvm/hyp-init.S | 25 +++
arch/arm64/mm/mmu.c | 12 +-
arch/arm64/mm/pageattr.c | 2 -
arch/arm64/mm/proc-macros.S | 10 +
arch/arm64/mm/proc.S | 3 +
45 files changed, 748 insertions(+), 409 deletions(-)
delete mode 100644 arch/arm64/include/asm/cputable.h
create mode 100644 arch/arm64/kernel/cpufeature.c
delete mode 100644 arch/arm64/kernel/cputable.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/