From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] arm64: updates for 4.3
Date: Fri, 4 Sep 2015 11:26:57 +0100 [thread overview]
Message-ID: <20150904102656.GC4818@arm.com> (raw)
Hi Linus,
Here is the arm64 queue for 4.3. There's quite a lot here and the
diffstat looks pretty alarming at first glance, so let me walk you
through it:
- There are a bunch of new arm64 features and these are summarised in
the tag (see below).
- One of these features (LSE) involves a pretty hefty rework of our
atomic operations, which interacts badly with the
atomic_{or,xor,and} rework from PeterZ in tip. To solve this, tglx
made a stable branch (tip/locking/arch-atomic) which is included
here and accounts for most of the surprising diffstat (it touches
all users of atomic_{set,clear}_mask). You've already pulled this
from tip.
- We move our PSCI (a firmware interface for CPU power management)
implementation out into drivers/firmware/ so that it can be shared
with arch/arm/, rather than each architecture having a carbon copy
of the code. This was merged as a separate branch so that RMK can
include the changes in his tree too and subsequently move arch/arm/
over to the common code (again, you've already pulled this).
- There is a single patch to drivers/of/fdt.c, but that has been
Acked-by Rob and is included here due to a dependency from the
memblock linear-mapping restriction change.
Note that there is a conflict in arch/arm64/include/asm/barrier.h
between 76695af20c01 ("locking, arch: use WRITE_ONCE()/READ_ONCE() in
smp_store_release()/smp_load_acquire()") and 4b3dc9679cf7 ("arm64: force
CONFIG_SMP=y and remove redundant #ifdefs"). The correct resolution is
to take the version here (i.e. remove the #ifndef CONFIG_SMP block
altogether).
Please pull.
Thanks,
Will
--->8
The following changes since commit cbfe8fa6cd672011c755c3cd85c9ffd4e2d10a6f:
Linux 4.2-rc4 (2015-07-26 12:26:21 -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 674c242c9323d3c293fc4f9a3a3a619fe3063290:
arm64: flush FP/SIMD state correctly after execve() (2015-08-27 09:55:26 +0100)
----------------------------------------------------------------
arm64 updates for 4.3:
- Support for new architectural features introduced in ARMv8.1:
* Privileged Access Never (PAN) to catch user pointer dereferences in
the kernel
* Large System Extension (LSE) for building scalable atomics and locks
(depends on locking/arch-atomic from tip, which is included here)
* Hardware Dirty Bit Management (DBM) for updating clean PTEs
automatically
- Move our PSCI implementation out into drivers/firmware/, where it can
be shared with arch/arm/. RMK has also pulled this component branch
and has additional patches moving arch/arm/ over. MAINTAINERS is
updated accordingly.
- Better BUG implementation based on the BRK instruction for trapping
- Leaf TLB invalidation for unmapping user pages
- Support for PROBE_ONLY PCI configurations
- Various cleanups and non-critical fixes, including:
* Always flush FP/SIMD state over exec()
* Restrict memblock additions based on range of linear mapping
* Ensure *(LIST_POISON) generates a fatal fault
* Context-tracking syscall return no longer corrupts return value when
not forced on.
* Alternatives patching synchronisation/stability improvements
* Signed sub-word cmpxchg compare fix (tickled by HAVE_CMPXCHG_LOCAL)
* Force SMP=y
* Hide direct DCC access from userspace
* Fix EFI stub memory allocation when DRAM starts at 0x0
----------------------------------------------------------------
Alexander Kuleshov (1):
arm64: Fix source code file path in comments
Ard Biesheuvel (5):
arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux
arm64/Documentation: clarify wording regarding memory below the Image
of/fdt: make memblock maximum physical address arch configurable
arm64: set MAX_MEMBLOCK_ADDR according to linear region size
arm64: flush FP/SIMD state correctly after execve()
Catalin Marinas (4):
arm64: Add support for hardware updates of the access and dirty pte bits
arm64: Better native ptrace support for compat tasks
arm64: Clean up __flush_tlb(_kernel)_range functions
arm64: Use last level TLBI for user pte changes
Chris Metcalf (1):
tile: Provide atomic_{or,xor,and}
Daniel Thompson (5):
arm64: Remove unused macros from assembler.h
arm64: alternative: Provide if/else/endif assembler macros
arm64: mm: Adopt new alternative assembler macros
arm64: kernel: Adopt new alternative assembler macros
arm64: kvm: Adopt new alternative assembler macros
Dave P Martin (9):
arm64/debug: Eliminate magic number for size of BRK instruction
arm64/debug: Mask off all reserved bits from generated ESR values
arm64/debug: Eliminate magic number from ESR template definition
arm64/debug: More consistent naming for the BRK ESR template macro
arm64/debug: Move BRK ESR template macro into <asm/esr.h>
arm64/debug: Simplify BRK insn opcode declarations
arm64/debug: Add missing #includes
arm64/BUG: Use BRK instruction for generic BUG traps
arm64/BUG: Show explicit backtrace for WARNs
James Morse (6):
arm64: kernel: Add cpuid_feature_extract_field() for 4bit sign extension
arm64: kernel: Move config_sctlr_el1
arm64: kernel: Add cpufeature 'enable' callback
arm64: kernel: Add min_field_value and use '>=' for feature detection
arm64: kernel: Add optional CONFIG_ parameter to ALTERNATIVE()
arm64: kernel: Add support for Privileged Access Never
Jeff Vander Stoep (1):
arm64: kconfig: Move LIST_POISON to a safe value
Jisheng Zhang (1):
arm64: hugetlb: remove paragraph about writing to FSF
Jonas Rabenstein (2):
arm64: remove dead-code depending on CONFIG_UP_LATE_INIT
arm64: remove redundant object file list
Jungseok Lee (1):
arm64: Add __exception_irq_entry definition for function graph
Lorenzo Pieralisi (1):
ARM64: PCI: do not enable resources on PROBE_ONLY systems
Mark Rutland (7):
arm64: perf: factor out callchain code
arm64: perf: condense event number maps
arm64: mm: mark create_mapping as __init
arm64: psci: factor invocation code to drivers
drivers: psci: support native SMC{32,64} calls
MAINTAINERS: add PSCI entry
arm64: make ll/sc __cmpxchg_case_##name asm consistent
Mark Salter (1):
arm64: remove dead code
Olof Johansson (1):
arm64: enable more compressed Image formats
Peter Zijlstra (27):
atomic: Prepare generic atomic implementation for logic ops
alpha: Provide atomic_{or,xor,and}
arc: Provide atomic_{or,xor,and}
arm: Provide atomic_{or,xor,and}
arm64: Provide atomic_{or,xor,and}
avr32: Provide atomic_{or,xor,and}
blackfin: Provide atomic_{or,xor,and}
hexagon: Provide atomic_{or,xor,and}
ia64: Provide atomic_{or,xor,and}
m32r: Provide atomic_{or,xor,and}
m68k: Provide atomic_{or,xor,and}
metag: Provide atomic_{or,xor,and}
mips: Provide atomic_{or,xor,and}
mn10300: Provide atomic_{or,xor,and}
parisc: Provide atomic_{or,xor,and}
powerpc: Provide atomic_{or,xor,and}
sh: Provide atomic_{or,xor,and}
sparc: Provide atomic_{or,xor,and}
xtensa: Provide atomic_{or,xor,and}
s390: Provide atomic_{or,xor,and}
x86: Provide atomic_{or,xor,and}
frv: Rewrite atomic implementation
h8300: Provide atomic_{or,xor,and}
atomic: Provide atomic_{or,xor,and}
atomic: Collapse all atomic_{set,clear}_mask definitions
atomic: Replace atomic_{set,clear}_mask() usage
atomic: Add simple atomic_t tests
Robin Murphy (3):
arm64: consolidate __swiotlb_mmap
arm64: dma-mapping: implement dma_get_sgtable()
arm64: dma-mapping: Simplify pgprot handling
Rohit Thapliyal (1):
arm64: modify the dump mem for 64 bit addresses
Sudeep Holla (3):
arm64: perf: replace arch_find_n_match_cpu_physical_id with of_cpu_device_node_get
arm64: kernel: remove non-legit DT warnings when booting using ACPI
arm64: restore cpu suspend/resume functionality
Suzuki K. Poulose (2):
arm64: perf: Remove unnecessary printk
arm64: Generalise msr_s/mrs_s operations
Wang Long (1):
arm64: mm: add __init section marker to free_initrd_mem
Will Deacon (41):
arm64: move update_mmu_cache() into asm/pgtable.h
arm64: lib: use pair accessors for copy_*_user routines
arm64: force CONFIG_SMP=y and remove redundant #ifdefs
arm64: alternatives: add enable parameter to conditional asm macros
arm64: include linux/types.h in asm/spinlock_types.h
Merge branch 'locking/arch-atomic' of git://git.kernel.org/.../tip/tip into aarch64/for-next/core
arm64: rwlocks: don't fail trylock purely due to contention
arm64: cpufeature.h: add missing #include of kernel.h
arm64: atomics: move ll/sc atomics into separate header file
arm64: elf: advertise 8.1 atomic instructions as new hwcap
arm64: alternatives: add cpu feature for lse atomics
arm64: introduce CONFIG_ARM64_LSE_ATOMICS as fallback to ll/sc atomics
arm64: atomics: patch in lse instructions when supported by the CPU
arm64: locks: patch in lse instructions when supported by the CPU
arm64: bitops: patch in lse instructions when supported by the CPU
arm64: xchg: patch in lse instructions when supported by the CPU
arm64: cmpxchg: patch in lse instructions when supported by the CPU
arm64: cmpxchg_dbl: patch in lse instructions when supported by the CPU
arm64: cmpxchg: avoid "cc" clobber in ll/sc routines
arm64: cmpxchg: avoid memory barrier on comparison failure
arm64: atomics: tidy up common atomic{,64}_* macros
arm64: atomics: prefetch the destination word for write prior to stxr
arm64: atomics: implement atomic{,64}_cmpxchg using cmpxchg
arm64: atomic64_dec_if_positive: fix incorrect branch condition
arm64: kconfig: select HAVE_CMPXCHG_LOCAL
arm64: lse: rename ARM64_CPU_FEAT_LSE_ATOMICS for consistency
arm64: kconfig: group the v8.1 features together
arm64: lse: use generic cpufeature detection for LSE atomics
arm64: elf: use cpuid_feature_extract_field for hwcap detection
arm64: debug: rename enum debug_el to avoid symbol collision
arm64: spinlock: fix ll/sc unlock on big-endian systems
arm64: pgtable: fix definition of pte_valid
arm64: lse: fix lse cmpxchg code indentation
arm64: alternative: put secondary CPUs into polling loop during patch
arm64: cmpxchg: truncate sub-word signed types before comparison
arm64: alternatives: ensure secondary CPUs execute ISB after patching
arm64: mm: ensure patched kernel text is fetched from PoU
Merge branch 'aarch64/psci/drivers' into aarch64/for-next/core
arm64: mdscr_el1: avoid exposing DCC to userspace
arm64: entry: always restore x0 from the stack on syscall return
arm64: makefile: fix perf_callchain.o kconfig dependency
yalin wang (1):
arm64: insn: use set_fixmap_offset to make it more clear
Documentation/arm64/booting.txt | 11 +-
MAINTAINERS | 9 +
arch/alpha/include/asm/atomic.h | 42 ++--
arch/arc/include/asm/atomic.h | 8 +-
arch/arm/include/asm/atomic.h | 14 ++
arch/arm64/Kconfig | 87 +++++--
arch/arm64/Makefile | 18 +-
arch/arm64/boot/Makefile | 12 +
arch/arm64/include/asm/acpi.h | 4 +-
arch/arm64/include/asm/alternative.h | 78 ++++++-
arch/arm64/include/asm/assembler.h | 14 --
arch/arm64/include/asm/atomic.h | 265 +++++-----------------
arch/arm64/include/asm/atomic_ll_sc.h | 247 ++++++++++++++++++++
arch/arm64/include/asm/atomic_lse.h | 391 ++++++++++++++++++++++++++++++++
arch/arm64/include/asm/barrier.h | 24 --
arch/arm64/include/asm/bug.h | 64 ++++++
arch/arm64/include/asm/cmpxchg.h | 192 ++++++----------
arch/arm64/include/asm/cpufeature.h | 18 +-
arch/arm64/include/asm/cputype.h | 3 -
arch/arm64/include/asm/debug-monitors.h | 44 ++--
arch/arm64/include/asm/esr.h | 9 +
arch/arm64/include/asm/exception.h | 6 +
arch/arm64/include/asm/fixmap.h | 2 +-
arch/arm64/include/asm/futex.h | 10 +
arch/arm64/include/asm/hardirq.h | 4 -
arch/arm64/include/asm/hugetlb.h | 4 -
arch/arm64/include/asm/irq_work.h | 11 -
arch/arm64/include/asm/lse.h | 53 +++++
arch/arm64/include/asm/memory.h | 8 +
arch/arm64/include/asm/mmu.h | 1 -
arch/arm64/include/asm/percpu.h | 8 -
arch/arm64/include/asm/perf_event.h | 2 +-
arch/arm64/include/asm/pgtable-hwdef.h | 3 +
arch/arm64/include/asm/pgtable.h | 167 +++++++++++++-
arch/arm64/include/asm/processor.h | 2 +
arch/arm64/include/asm/psci.h | 28 ---
arch/arm64/include/asm/ptrace.h | 4 -
arch/arm64/include/asm/smp.h | 4 -
arch/arm64/include/asm/smp_plat.h | 2 -
arch/arm64/include/asm/spinlock.h | 147 +++++++++---
arch/arm64/include/asm/spinlock_types.h | 2 +
arch/arm64/include/asm/sysreg.h | 40 +++-
arch/arm64/include/asm/tlb.h | 7 +-
arch/arm64/include/asm/tlbflush.h | 76 +++----
arch/arm64/include/asm/topology.h | 9 -
arch/arm64/include/asm/traps.h | 23 +-
arch/arm64/include/asm/uaccess.h | 11 +
arch/arm64/include/uapi/asm/hwcap.h | 1 +
arch/arm64/include/uapi/asm/ptrace.h | 1 +
arch/arm64/kernel/Makefile | 6 +-
arch/arm64/kernel/alternative.c | 30 ++-
arch/arm64/kernel/armv8_deprecated.c | 19 +-
arch/arm64/kernel/cpu_ops.c | 2 -
arch/arm64/kernel/cpufeature.c | 53 ++++-
arch/arm64/kernel/debug-monitors.c | 4 +-
arch/arm64/kernel/efi-stub.c | 41 +++-
arch/arm64/kernel/entry.S | 46 ++--
arch/arm64/kernel/fpsimd.c | 1 +
arch/arm64/kernel/head.S | 15 +-
arch/arm64/kernel/hw_breakpoint.c | 6 +-
arch/arm64/kernel/insn.c | 5 +-
arch/arm64/kernel/irq.c | 2 -
arch/arm64/kernel/kgdb.c | 12 +-
arch/arm64/kernel/pci.c | 13 ++
arch/arm64/kernel/perf_callchain.c | 196 ++++++++++++++++
arch/arm64/kernel/perf_event.c | 310 ++-----------------------
arch/arm64/kernel/psci.c | 366 +-----------------------------
arch/arm64/kernel/ptrace.c | 92 +++++++-
arch/arm64/kernel/setup.c | 87 +++----
arch/arm64/kernel/sleep.S | 14 +-
arch/arm64/kernel/smp.c | 15 +-
arch/arm64/kernel/time.c | 2 -
arch/arm64/kernel/topology.c | 2 +-
arch/arm64/kernel/traps.c | 94 ++++++--
arch/arm64/kvm/hyp.S | 12 +-
arch/arm64/lib/Makefile | 13 ++
arch/arm64/lib/atomic_ll_sc.c | 3 +
arch/arm64/lib/bitops.S | 45 ++--
arch/arm64/lib/clear_user.S | 8 +
arch/arm64/lib/copy_from_user.S | 25 +-
arch/arm64/lib/copy_in_user.S | 25 +-
arch/arm64/lib/copy_to_user.S | 25 +-
arch/arm64/mm/cache.S | 7 +-
arch/arm64/mm/context.c | 16 --
arch/arm64/mm/dma-mapping.c | 33 +--
arch/arm64/mm/fault.c | 28 ++-
arch/arm64/mm/flush.c | 4 -
arch/arm64/mm/hugetlbpage.c | 4 -
arch/arm64/mm/init.c | 4 +-
arch/arm64/mm/mmu.c | 13 +-
arch/arm64/mm/proc.S | 21 +-
arch/avr32/include/asm/atomic.h | 12 +
arch/blackfin/include/asm/atomic.h | 16 +-
arch/blackfin/kernel/bfin_ksyms.c | 7 +-
arch/blackfin/mach-bf561/atomic.S | 30 +--
arch/blackfin/mach-common/smp.c | 2 +-
arch/frv/include/asm/atomic.h | 107 ++++-----
arch/frv/include/asm/atomic_defs.h | 172 ++++++++++++++
arch/frv/include/asm/bitops.h | 99 +-------
arch/frv/kernel/dma.c | 6 +-
arch/frv/kernel/frv_ksyms.c | 5 -
arch/frv/lib/Makefile | 2 +-
arch/frv/lib/atomic-lib.c | 7 +
arch/frv/lib/atomic-ops.S | 110 ---------
arch/frv/lib/atomic64-ops.S | 94 --------
arch/h8300/include/asm/atomic.h | 137 +++--------
arch/hexagon/include/asm/atomic.h | 4 +
arch/ia64/include/asm/atomic.h | 24 +-
arch/m32r/include/asm/atomic.h | 45 +---
arch/m32r/kernel/smp.c | 4 +-
arch/m68k/include/asm/atomic.h | 14 +-
arch/metag/include/asm/atomic_lnkget.h | 38 +---
arch/metag/include/asm/atomic_lock1.h | 23 +-
arch/mips/include/asm/atomic.h | 7 +
arch/mn10300/include/asm/atomic.h | 71 +-----
arch/mn10300/mm/tlb-smp.c | 2 +-
arch/parisc/include/asm/atomic.h | 7 +
arch/powerpc/include/asm/atomic.h | 7 +
arch/powerpc/kernel/misc_32.S | 19 --
arch/s390/include/asm/atomic.h | 41 ++--
arch/s390/kernel/time.c | 4 +-
arch/s390/kvm/interrupt.c | 30 +--
arch/s390/kvm/kvm-s390.c | 32 +--
arch/sh/include/asm/atomic-grb.h | 43 +---
arch/sh/include/asm/atomic-irq.h | 21 +-
arch/sh/include/asm/atomic-llsc.h | 31 +--
arch/sparc/include/asm/atomic_32.h | 4 +-
arch/sparc/include/asm/atomic_64.h | 4 +
arch/sparc/lib/atomic32.c | 22 +-
arch/sparc/lib/atomic_64.S | 6 +
arch/sparc/lib/ksyms.c | 3 +
arch/tile/include/asm/atomic_32.h | 28 +++
arch/tile/include/asm/atomic_64.h | 40 ++++
arch/tile/lib/atomic_32.c | 23 ++
arch/tile/lib/atomic_asm_32.S | 4 +
arch/x86/include/asm/atomic.h | 25 +-
arch/x86/include/asm/atomic64_32.h | 14 ++
arch/x86/include/asm/atomic64_64.h | 15 ++
arch/xtensa/include/asm/atomic.h | 73 +-----
drivers/firmware/Kconfig | 3 +
drivers/firmware/Makefile | 1 +
drivers/firmware/psci.c | 382 +++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_drv.c | 2 +-
drivers/gpu/drm/i915/i915_gem.c | 2 +-
drivers/gpu/drm/i915/i915_irq.c | 4 +-
drivers/of/fdt.c | 12 +-
drivers/s390/scsi/zfcp_aux.c | 2 +-
drivers/s390/scsi/zfcp_erp.c | 62 ++---
drivers/s390/scsi/zfcp_fc.c | 8 +-
drivers/s390/scsi/zfcp_fsf.c | 26 +--
drivers/s390/scsi/zfcp_qdio.c | 14 +-
include/asm-generic/atomic.h | 11 +-
include/asm-generic/atomic64.h | 4 +
include/linux/atomic.h | 38 ++--
include/linux/psci.h | 52 +++++
lib/atomic64.c | 3 +
lib/atomic64_test.c | 68 ++++--
157 files changed, 3601 insertions(+), 2536 deletions(-)
create mode 100644 arch/arm64/include/asm/atomic_ll_sc.h
create mode 100644 arch/arm64/include/asm/atomic_lse.h
create mode 100644 arch/arm64/include/asm/bug.h
create mode 100644 arch/arm64/include/asm/lse.h
delete mode 100644 arch/arm64/include/asm/psci.h
create mode 100644 arch/arm64/kernel/perf_callchain.c
create mode 100644 arch/arm64/lib/atomic_ll_sc.c
create mode 100644 arch/frv/include/asm/atomic_defs.h
create mode 100644 arch/frv/lib/atomic-lib.c
create mode 100644 drivers/firmware/psci.c
create mode 100644 include/linux/psci.h
WARNING: multiple messages have this Message-ID (diff)
From: Will Deacon <will.deacon@arm.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com,
linux@arm.linux.org.uk, mark.rutland@arm.com,
peterz@infradead.org, tglx@linutronix.de, robh@kernel.org
Subject: [GIT PULL] arm64: updates for 4.3
Date: Fri, 4 Sep 2015 11:26:57 +0100 [thread overview]
Message-ID: <20150904102656.GC4818@arm.com> (raw)
Hi Linus,
Here is the arm64 queue for 4.3. There's quite a lot here and the
diffstat looks pretty alarming at first glance, so let me walk you
through it:
- There are a bunch of new arm64 features and these are summarised in
the tag (see below).
- One of these features (LSE) involves a pretty hefty rework of our
atomic operations, which interacts badly with the
atomic_{or,xor,and} rework from PeterZ in tip. To solve this, tglx
made a stable branch (tip/locking/arch-atomic) which is included
here and accounts for most of the surprising diffstat (it touches
all users of atomic_{set,clear}_mask). You've already pulled this
from tip.
- We move our PSCI (a firmware interface for CPU power management)
implementation out into drivers/firmware/ so that it can be shared
with arch/arm/, rather than each architecture having a carbon copy
of the code. This was merged as a separate branch so that RMK can
include the changes in his tree too and subsequently move arch/arm/
over to the common code (again, you've already pulled this).
- There is a single patch to drivers/of/fdt.c, but that has been
Acked-by Rob and is included here due to a dependency from the
memblock linear-mapping restriction change.
Note that there is a conflict in arch/arm64/include/asm/barrier.h
between 76695af20c01 ("locking, arch: use WRITE_ONCE()/READ_ONCE() in
smp_store_release()/smp_load_acquire()") and 4b3dc9679cf7 ("arm64: force
CONFIG_SMP=y and remove redundant #ifdefs"). The correct resolution is
to take the version here (i.e. remove the #ifndef CONFIG_SMP block
altogether).
Please pull.
Thanks,
Will
--->8
The following changes since commit cbfe8fa6cd672011c755c3cd85c9ffd4e2d10a6f:
Linux 4.2-rc4 (2015-07-26 12:26:21 -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 674c242c9323d3c293fc4f9a3a3a619fe3063290:
arm64: flush FP/SIMD state correctly after execve() (2015-08-27 09:55:26 +0100)
----------------------------------------------------------------
arm64 updates for 4.3:
- Support for new architectural features introduced in ARMv8.1:
* Privileged Access Never (PAN) to catch user pointer dereferences in
the kernel
* Large System Extension (LSE) for building scalable atomics and locks
(depends on locking/arch-atomic from tip, which is included here)
* Hardware Dirty Bit Management (DBM) for updating clean PTEs
automatically
- Move our PSCI implementation out into drivers/firmware/, where it can
be shared with arch/arm/. RMK has also pulled this component branch
and has additional patches moving arch/arm/ over. MAINTAINERS is
updated accordingly.
- Better BUG implementation based on the BRK instruction for trapping
- Leaf TLB invalidation for unmapping user pages
- Support for PROBE_ONLY PCI configurations
- Various cleanups and non-critical fixes, including:
* Always flush FP/SIMD state over exec()
* Restrict memblock additions based on range of linear mapping
* Ensure *(LIST_POISON) generates a fatal fault
* Context-tracking syscall return no longer corrupts return value when
not forced on.
* Alternatives patching synchronisation/stability improvements
* Signed sub-word cmpxchg compare fix (tickled by HAVE_CMPXCHG_LOCAL)
* Force SMP=y
* Hide direct DCC access from userspace
* Fix EFI stub memory allocation when DRAM starts at 0x0
----------------------------------------------------------------
Alexander Kuleshov (1):
arm64: Fix source code file path in comments
Ard Biesheuvel (5):
arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux
arm64/Documentation: clarify wording regarding memory below the Image
of/fdt: make memblock maximum physical address arch configurable
arm64: set MAX_MEMBLOCK_ADDR according to linear region size
arm64: flush FP/SIMD state correctly after execve()
Catalin Marinas (4):
arm64: Add support for hardware updates of the access and dirty pte bits
arm64: Better native ptrace support for compat tasks
arm64: Clean up __flush_tlb(_kernel)_range functions
arm64: Use last level TLBI for user pte changes
Chris Metcalf (1):
tile: Provide atomic_{or,xor,and}
Daniel Thompson (5):
arm64: Remove unused macros from assembler.h
arm64: alternative: Provide if/else/endif assembler macros
arm64: mm: Adopt new alternative assembler macros
arm64: kernel: Adopt new alternative assembler macros
arm64: kvm: Adopt new alternative assembler macros
Dave P Martin (9):
arm64/debug: Eliminate magic number for size of BRK instruction
arm64/debug: Mask off all reserved bits from generated ESR values
arm64/debug: Eliminate magic number from ESR template definition
arm64/debug: More consistent naming for the BRK ESR template macro
arm64/debug: Move BRK ESR template macro into <asm/esr.h>
arm64/debug: Simplify BRK insn opcode declarations
arm64/debug: Add missing #includes
arm64/BUG: Use BRK instruction for generic BUG traps
arm64/BUG: Show explicit backtrace for WARNs
James Morse (6):
arm64: kernel: Add cpuid_feature_extract_field() for 4bit sign extension
arm64: kernel: Move config_sctlr_el1
arm64: kernel: Add cpufeature 'enable' callback
arm64: kernel: Add min_field_value and use '>=' for feature detection
arm64: kernel: Add optional CONFIG_ parameter to ALTERNATIVE()
arm64: kernel: Add support for Privileged Access Never
Jeff Vander Stoep (1):
arm64: kconfig: Move LIST_POISON to a safe value
Jisheng Zhang (1):
arm64: hugetlb: remove paragraph about writing to FSF
Jonas Rabenstein (2):
arm64: remove dead-code depending on CONFIG_UP_LATE_INIT
arm64: remove redundant object file list
Jungseok Lee (1):
arm64: Add __exception_irq_entry definition for function graph
Lorenzo Pieralisi (1):
ARM64: PCI: do not enable resources on PROBE_ONLY systems
Mark Rutland (7):
arm64: perf: factor out callchain code
arm64: perf: condense event number maps
arm64: mm: mark create_mapping as __init
arm64: psci: factor invocation code to drivers
drivers: psci: support native SMC{32,64} calls
MAINTAINERS: add PSCI entry
arm64: make ll/sc __cmpxchg_case_##name asm consistent
Mark Salter (1):
arm64: remove dead code
Olof Johansson (1):
arm64: enable more compressed Image formats
Peter Zijlstra (27):
atomic: Prepare generic atomic implementation for logic ops
alpha: Provide atomic_{or,xor,and}
arc: Provide atomic_{or,xor,and}
arm: Provide atomic_{or,xor,and}
arm64: Provide atomic_{or,xor,and}
avr32: Provide atomic_{or,xor,and}
blackfin: Provide atomic_{or,xor,and}
hexagon: Provide atomic_{or,xor,and}
ia64: Provide atomic_{or,xor,and}
m32r: Provide atomic_{or,xor,and}
m68k: Provide atomic_{or,xor,and}
metag: Provide atomic_{or,xor,and}
mips: Provide atomic_{or,xor,and}
mn10300: Provide atomic_{or,xor,and}
parisc: Provide atomic_{or,xor,and}
powerpc: Provide atomic_{or,xor,and}
sh: Provide atomic_{or,xor,and}
sparc: Provide atomic_{or,xor,and}
xtensa: Provide atomic_{or,xor,and}
s390: Provide atomic_{or,xor,and}
x86: Provide atomic_{or,xor,and}
frv: Rewrite atomic implementation
h8300: Provide atomic_{or,xor,and}
atomic: Provide atomic_{or,xor,and}
atomic: Collapse all atomic_{set,clear}_mask definitions
atomic: Replace atomic_{set,clear}_mask() usage
atomic: Add simple atomic_t tests
Robin Murphy (3):
arm64: consolidate __swiotlb_mmap
arm64: dma-mapping: implement dma_get_sgtable()
arm64: dma-mapping: Simplify pgprot handling
Rohit Thapliyal (1):
arm64: modify the dump mem for 64 bit addresses
Sudeep Holla (3):
arm64: perf: replace arch_find_n_match_cpu_physical_id with of_cpu_device_node_get
arm64: kernel: remove non-legit DT warnings when booting using ACPI
arm64: restore cpu suspend/resume functionality
Suzuki K. Poulose (2):
arm64: perf: Remove unnecessary printk
arm64: Generalise msr_s/mrs_s operations
Wang Long (1):
arm64: mm: add __init section marker to free_initrd_mem
Will Deacon (41):
arm64: move update_mmu_cache() into asm/pgtable.h
arm64: lib: use pair accessors for copy_*_user routines
arm64: force CONFIG_SMP=y and remove redundant #ifdefs
arm64: alternatives: add enable parameter to conditional asm macros
arm64: include linux/types.h in asm/spinlock_types.h
Merge branch 'locking/arch-atomic' of git://git.kernel.org/.../tip/tip into aarch64/for-next/core
arm64: rwlocks: don't fail trylock purely due to contention
arm64: cpufeature.h: add missing #include of kernel.h
arm64: atomics: move ll/sc atomics into separate header file
arm64: elf: advertise 8.1 atomic instructions as new hwcap
arm64: alternatives: add cpu feature for lse atomics
arm64: introduce CONFIG_ARM64_LSE_ATOMICS as fallback to ll/sc atomics
arm64: atomics: patch in lse instructions when supported by the CPU
arm64: locks: patch in lse instructions when supported by the CPU
arm64: bitops: patch in lse instructions when supported by the CPU
arm64: xchg: patch in lse instructions when supported by the CPU
arm64: cmpxchg: patch in lse instructions when supported by the CPU
arm64: cmpxchg_dbl: patch in lse instructions when supported by the CPU
arm64: cmpxchg: avoid "cc" clobber in ll/sc routines
arm64: cmpxchg: avoid memory barrier on comparison failure
arm64: atomics: tidy up common atomic{,64}_* macros
arm64: atomics: prefetch the destination word for write prior to stxr
arm64: atomics: implement atomic{,64}_cmpxchg using cmpxchg
arm64: atomic64_dec_if_positive: fix incorrect branch condition
arm64: kconfig: select HAVE_CMPXCHG_LOCAL
arm64: lse: rename ARM64_CPU_FEAT_LSE_ATOMICS for consistency
arm64: kconfig: group the v8.1 features together
arm64: lse: use generic cpufeature detection for LSE atomics
arm64: elf: use cpuid_feature_extract_field for hwcap detection
arm64: debug: rename enum debug_el to avoid symbol collision
arm64: spinlock: fix ll/sc unlock on big-endian systems
arm64: pgtable: fix definition of pte_valid
arm64: lse: fix lse cmpxchg code indentation
arm64: alternative: put secondary CPUs into polling loop during patch
arm64: cmpxchg: truncate sub-word signed types before comparison
arm64: alternatives: ensure secondary CPUs execute ISB after patching
arm64: mm: ensure patched kernel text is fetched from PoU
Merge branch 'aarch64/psci/drivers' into aarch64/for-next/core
arm64: mdscr_el1: avoid exposing DCC to userspace
arm64: entry: always restore x0 from the stack on syscall return
arm64: makefile: fix perf_callchain.o kconfig dependency
yalin wang (1):
arm64: insn: use set_fixmap_offset to make it more clear
Documentation/arm64/booting.txt | 11 +-
MAINTAINERS | 9 +
arch/alpha/include/asm/atomic.h | 42 ++--
arch/arc/include/asm/atomic.h | 8 +-
arch/arm/include/asm/atomic.h | 14 ++
arch/arm64/Kconfig | 87 +++++--
arch/arm64/Makefile | 18 +-
arch/arm64/boot/Makefile | 12 +
arch/arm64/include/asm/acpi.h | 4 +-
arch/arm64/include/asm/alternative.h | 78 ++++++-
arch/arm64/include/asm/assembler.h | 14 --
arch/arm64/include/asm/atomic.h | 265 +++++-----------------
arch/arm64/include/asm/atomic_ll_sc.h | 247 ++++++++++++++++++++
arch/arm64/include/asm/atomic_lse.h | 391 ++++++++++++++++++++++++++++++++
arch/arm64/include/asm/barrier.h | 24 --
arch/arm64/include/asm/bug.h | 64 ++++++
arch/arm64/include/asm/cmpxchg.h | 192 ++++++----------
arch/arm64/include/asm/cpufeature.h | 18 +-
arch/arm64/include/asm/cputype.h | 3 -
arch/arm64/include/asm/debug-monitors.h | 44 ++--
arch/arm64/include/asm/esr.h | 9 +
arch/arm64/include/asm/exception.h | 6 +
arch/arm64/include/asm/fixmap.h | 2 +-
arch/arm64/include/asm/futex.h | 10 +
arch/arm64/include/asm/hardirq.h | 4 -
arch/arm64/include/asm/hugetlb.h | 4 -
arch/arm64/include/asm/irq_work.h | 11 -
arch/arm64/include/asm/lse.h | 53 +++++
arch/arm64/include/asm/memory.h | 8 +
arch/arm64/include/asm/mmu.h | 1 -
arch/arm64/include/asm/percpu.h | 8 -
arch/arm64/include/asm/perf_event.h | 2 +-
arch/arm64/include/asm/pgtable-hwdef.h | 3 +
arch/arm64/include/asm/pgtable.h | 167 +++++++++++++-
arch/arm64/include/asm/processor.h | 2 +
arch/arm64/include/asm/psci.h | 28 ---
arch/arm64/include/asm/ptrace.h | 4 -
arch/arm64/include/asm/smp.h | 4 -
arch/arm64/include/asm/smp_plat.h | 2 -
arch/arm64/include/asm/spinlock.h | 147 +++++++++---
arch/arm64/include/asm/spinlock_types.h | 2 +
arch/arm64/include/asm/sysreg.h | 40 +++-
arch/arm64/include/asm/tlb.h | 7 +-
arch/arm64/include/asm/tlbflush.h | 76 +++----
arch/arm64/include/asm/topology.h | 9 -
arch/arm64/include/asm/traps.h | 23 +-
arch/arm64/include/asm/uaccess.h | 11 +
arch/arm64/include/uapi/asm/hwcap.h | 1 +
arch/arm64/include/uapi/asm/ptrace.h | 1 +
arch/arm64/kernel/Makefile | 6 +-
arch/arm64/kernel/alternative.c | 30 ++-
arch/arm64/kernel/armv8_deprecated.c | 19 +-
arch/arm64/kernel/cpu_ops.c | 2 -
arch/arm64/kernel/cpufeature.c | 53 ++++-
arch/arm64/kernel/debug-monitors.c | 4 +-
arch/arm64/kernel/efi-stub.c | 41 +++-
arch/arm64/kernel/entry.S | 46 ++--
arch/arm64/kernel/fpsimd.c | 1 +
arch/arm64/kernel/head.S | 15 +-
arch/arm64/kernel/hw_breakpoint.c | 6 +-
arch/arm64/kernel/insn.c | 5 +-
arch/arm64/kernel/irq.c | 2 -
arch/arm64/kernel/kgdb.c | 12 +-
arch/arm64/kernel/pci.c | 13 ++
arch/arm64/kernel/perf_callchain.c | 196 ++++++++++++++++
arch/arm64/kernel/perf_event.c | 310 ++-----------------------
arch/arm64/kernel/psci.c | 366 +-----------------------------
arch/arm64/kernel/ptrace.c | 92 +++++++-
arch/arm64/kernel/setup.c | 87 +++----
arch/arm64/kernel/sleep.S | 14 +-
arch/arm64/kernel/smp.c | 15 +-
arch/arm64/kernel/time.c | 2 -
arch/arm64/kernel/topology.c | 2 +-
arch/arm64/kernel/traps.c | 94 ++++++--
arch/arm64/kvm/hyp.S | 12 +-
arch/arm64/lib/Makefile | 13 ++
arch/arm64/lib/atomic_ll_sc.c | 3 +
arch/arm64/lib/bitops.S | 45 ++--
arch/arm64/lib/clear_user.S | 8 +
arch/arm64/lib/copy_from_user.S | 25 +-
arch/arm64/lib/copy_in_user.S | 25 +-
arch/arm64/lib/copy_to_user.S | 25 +-
arch/arm64/mm/cache.S | 7 +-
arch/arm64/mm/context.c | 16 --
arch/arm64/mm/dma-mapping.c | 33 +--
arch/arm64/mm/fault.c | 28 ++-
arch/arm64/mm/flush.c | 4 -
arch/arm64/mm/hugetlbpage.c | 4 -
arch/arm64/mm/init.c | 4 +-
arch/arm64/mm/mmu.c | 13 +-
arch/arm64/mm/proc.S | 21 +-
arch/avr32/include/asm/atomic.h | 12 +
arch/blackfin/include/asm/atomic.h | 16 +-
arch/blackfin/kernel/bfin_ksyms.c | 7 +-
arch/blackfin/mach-bf561/atomic.S | 30 +--
arch/blackfin/mach-common/smp.c | 2 +-
arch/frv/include/asm/atomic.h | 107 ++++-----
arch/frv/include/asm/atomic_defs.h | 172 ++++++++++++++
arch/frv/include/asm/bitops.h | 99 +-------
arch/frv/kernel/dma.c | 6 +-
arch/frv/kernel/frv_ksyms.c | 5 -
arch/frv/lib/Makefile | 2 +-
arch/frv/lib/atomic-lib.c | 7 +
arch/frv/lib/atomic-ops.S | 110 ---------
arch/frv/lib/atomic64-ops.S | 94 --------
arch/h8300/include/asm/atomic.h | 137 +++--------
arch/hexagon/include/asm/atomic.h | 4 +
arch/ia64/include/asm/atomic.h | 24 +-
arch/m32r/include/asm/atomic.h | 45 +---
arch/m32r/kernel/smp.c | 4 +-
arch/m68k/include/asm/atomic.h | 14 +-
arch/metag/include/asm/atomic_lnkget.h | 38 +---
arch/metag/include/asm/atomic_lock1.h | 23 +-
arch/mips/include/asm/atomic.h | 7 +
arch/mn10300/include/asm/atomic.h | 71 +-----
arch/mn10300/mm/tlb-smp.c | 2 +-
arch/parisc/include/asm/atomic.h | 7 +
arch/powerpc/include/asm/atomic.h | 7 +
arch/powerpc/kernel/misc_32.S | 19 --
arch/s390/include/asm/atomic.h | 41 ++--
arch/s390/kernel/time.c | 4 +-
arch/s390/kvm/interrupt.c | 30 +--
arch/s390/kvm/kvm-s390.c | 32 +--
arch/sh/include/asm/atomic-grb.h | 43 +---
arch/sh/include/asm/atomic-irq.h | 21 +-
arch/sh/include/asm/atomic-llsc.h | 31 +--
arch/sparc/include/asm/atomic_32.h | 4 +-
arch/sparc/include/asm/atomic_64.h | 4 +
arch/sparc/lib/atomic32.c | 22 +-
arch/sparc/lib/atomic_64.S | 6 +
arch/sparc/lib/ksyms.c | 3 +
arch/tile/include/asm/atomic_32.h | 28 +++
arch/tile/include/asm/atomic_64.h | 40 ++++
arch/tile/lib/atomic_32.c | 23 ++
arch/tile/lib/atomic_asm_32.S | 4 +
arch/x86/include/asm/atomic.h | 25 +-
arch/x86/include/asm/atomic64_32.h | 14 ++
arch/x86/include/asm/atomic64_64.h | 15 ++
arch/xtensa/include/asm/atomic.h | 73 +-----
drivers/firmware/Kconfig | 3 +
drivers/firmware/Makefile | 1 +
drivers/firmware/psci.c | 382 +++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_drv.c | 2 +-
drivers/gpu/drm/i915/i915_gem.c | 2 +-
drivers/gpu/drm/i915/i915_irq.c | 4 +-
drivers/of/fdt.c | 12 +-
drivers/s390/scsi/zfcp_aux.c | 2 +-
drivers/s390/scsi/zfcp_erp.c | 62 ++---
drivers/s390/scsi/zfcp_fc.c | 8 +-
drivers/s390/scsi/zfcp_fsf.c | 26 +--
drivers/s390/scsi/zfcp_qdio.c | 14 +-
include/asm-generic/atomic.h | 11 +-
include/asm-generic/atomic64.h | 4 +
include/linux/atomic.h | 38 ++--
include/linux/psci.h | 52 +++++
lib/atomic64.c | 3 +
lib/atomic64_test.c | 68 ++++--
157 files changed, 3601 insertions(+), 2536 deletions(-)
create mode 100644 arch/arm64/include/asm/atomic_ll_sc.h
create mode 100644 arch/arm64/include/asm/atomic_lse.h
create mode 100644 arch/arm64/include/asm/bug.h
create mode 100644 arch/arm64/include/asm/lse.h
delete mode 100644 arch/arm64/include/asm/psci.h
create mode 100644 arch/arm64/kernel/perf_callchain.c
create mode 100644 arch/arm64/lib/atomic_ll_sc.c
create mode 100644 arch/frv/include/asm/atomic_defs.h
create mode 100644 arch/frv/lib/atomic-lib.c
create mode 100644 drivers/firmware/psci.c
create mode 100644 include/linux/psci.h
next reply other threads:[~2015-09-04 10:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 10:26 Will Deacon [this message]
2015-09-04 10:26 ` [GIT PULL] arm64: updates for 4.3 Will Deacon
2015-09-10 16:58 ` Timur Tabi
2015-09-10 16:58 ` Timur Tabi
2015-09-10 17:02 ` Will Deacon
2015-09-10 17:02 ` Will Deacon
2015-09-11 21:58 ` Timur Tabi
2015-09-11 21:58 ` Timur Tabi
2015-09-11 22:43 ` Greg Kroah-Hartman
2015-09-11 22:43 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150904102656.GC4818@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.