All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] x86/asm changes for v4.6
Date: Mon, 14 Mar 2016 14:03:20 +0100	[thread overview]
Message-ID: <20160314130320.GA20607@gmail.com> (raw)

Linus,

Please pull the latest x86-asm-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus

   # HEAD: d05004944206cbbf1c453e179768163731c7c6f1 x86/cpufeature: Enable new AVX-512 features

This is another big update. Main changes are:

 - lots of x86 system call (and other traps/exceptions) entry code enhancements.
   In particular the complex parts of the 64-bit entry code have been
   migrated to C code as well, and a number of dusty corners have been refreshed.
   (Andy Lutomirski)

 - vDSO special mapping robustification and general cleanups (Andy Lutomirski)

 - cpufeature refactoring, cleanups and speedups (Borislav Petkov)

 - lots of other changes ...

  out-of-topic modifications in x86-asm-for-linus:
  --------------------------------------------------
  drivers/cpufreq/intel_pstate.c     # bc696ca05f5a: x86/cpufeature: Replace the 
  fs/btrfs/disk-io.c                 # bc696ca05f5a: x86/cpufeature: Replace the 
  include/linux/mm.h                 # 1745cbc5d0de: mm: Add vm_insert_pfn_prot()
  include/linux/mm_types.h           # f872f5400cc0: mm: Add a vm_special_mapping
  kernel/events/uprobes.c            # 869ae76147ff: uprobes: __create_xol_area()
  lib/atomic64_test.c                # cd4d09ec6f6c: x86/cpufeature: Carve out X8
  mm/memory.c                        # 1745cbc5d0de: mm: Add vm_insert_pfn_prot()
  mm/mmap.c                          # f872f5400cc0: mm: Add a vm_special_mapping
  tools/testing/selftests/x86/Makefile# 6c25da5ad55d: x86/signal/64: Re-add suppor
                                   # e21d50f3864e: selftests/x86: Add check_ini
                                   # c31b34255b48: selftests/x86: Extend Makefi
  tools/testing/selftests/x86/check_initial_reg_state.c# e21d50f3864e: selftests/x86: Add check_ini
  tools/testing/selftests/x86/ptrace_syscall.c# 403613432222: selftests/x86: Add a test fo
                                   # adcfd23ead69: selftests/x86: Fix some erro
  tools/testing/selftests/x86/sigreturn.c# 4f6c89382293: selftests/x86: Add tests for
  tools/testing/selftests/x86/syscall_nt.c# a318beea224d: selftests/x86: In syscall_nt



 Thanks,

	Ingo

------------------>
Alexander Kuleshov (3):
      x86/asm/entry: Remove unused SAVE_ALL/RESTORE_ALL macros for !CONFIG_x86_64
      x86/asm: Remove unused L3_PAGE_OFFSET
      x86/entry/traps: Refactor preemption and interrupt flag handling

Andy Lutomirski (42):
      mm: Add a vm_special_mapping.fault() method
      mm: Add vm_insert_pfn_prot()
      x86/vdso: Track each mm's loaded vDSO image as well as its base
      x86/vdso: Use .fault for the vDSO text mapping
      x86/vdso: Use ->fault() instead of remap_pfn_range() for the vvar mapping
      x86/vdso: Disallow vvar access to vclock IO for never-used vclocks
      selftests/x86: Extend Makefile to allow 64-bit-only tests
      selftests/x86: Add check_initial_reg_state()
      x86/syscalls: Refactor syscalltbl.sh
      x86/syscalls: Remove __SYSCALL_COMMON and __SYSCALL_X32
      x86/syscalls: Move compat syscall entry handling into syscalltbl.sh
      x86/syscalls: Add syscall entry qualifiers
      x86/entry/64: Always run ptregs-using syscalls on the slow path
      x86/entry/64: Call all native slow-path syscalls with full pt-regs
      x86/entry/64: Stop using int_ret_from_sys_call in ret_from_fork
      x86/entry/64: Migrate the 64-bit syscall slow path to C
      x86/entry/64: Fix an IRQ state error on ptregs-using syscalls
      x86/entry/64: Fix fast-path syscall return register state
      x86/syscalls/64: Mark sys_iopl() as using ptregs
      x86/signal/64: Add a comment about sigcontext->fs and gs
      x86/signal/64: Fix SS if needed when delivering a 64-bit signal
      x86/signal/64: Re-add support for SS in the 64-bit signal context
      selftests/x86: Add tests for UC_SIGCONTEXT_SS and UC_STRICT_RESTORE_SS
      selftests/x86: Fix some error messages in ptrace_syscall
      selftests/x86: Add a test for syscall restart under ptrace
      x86/entry/compat: Keep TS_COMPAT set during signal delivery
      x86/entry/32: Introduce and use X86_BUG_ESPFIX instead of paravirt_enabled
      x86/asm-offsets: Remove PARAVIRT_enabled
      selftests/x86: In syscall_nt, test NT|TF as well
      x86/entry/compat: In SYSENTER, sink AC clearing below the existing FLAGS test
      x86/entry/32: Filter NT and speed up AC filtering in SYSENTER
      x86/entry/32: Restore FLAGS on SYSEXIT
      x86/entry/traps: Clear TIF_BLOCKSTEP on all debug exceptions
      x86/entry/traps: Clear DR6 early in do_debug() and improve the comment
      x86/entry: Vastly simplify SYSENTER TF (single-step) handling
      x86/entry: Only allocate space for tss_struct::SYSENTER_stack if needed
      x86/entry/32: Simplify and fix up the SYSENTER stack #DB/NMI fixup
      x86/entry/32: Add and check a stack canary for the SYSENTER stack
      x86/entry: Remove TIF_SINGLESTEP entry work
      x86/entry: Improve system call entry comments
      x86/entry/32: Change INT80 to be an interrupt gate
      x86/entry: Call enter_from_user_mode() with IRQs off

Borislav Petkov (9):
      x86/cpufeature: Add AMD AVIC bit
      x86/cpufeature: Carve out X86_FEATURE_*
      x86/cpufeature: Replace the old static_cpu_has() with safe variant
      x86/cpufeature: Get rid of the non-asm goto variant
      x86/alternatives: Add an auxilary section
      x86/vdso: Use static_cpu_has()
      x86/cpufeature: Speed up cpu_feature_enabled()
      x86/ftrace, x86/asm: Kill ftrace_caller_end label
      x86/msr: Document msr-index.h rule for addition

Brian Gerst (1):
      x86/alternatives: Discard dynamic check after init

Denys Vlasenko (1):
      x86/asm/bitops: Force inlining of test_and_set_bit and friends

Dmitry V. Levin (1):
      x86/signal: Cleanup get_nr_restart_syscall()

Fenghua Yu (1):
      x86/cpufeature: Enable new AVX-512 features

Ingo Molnar (5):
      Merge tag 'v4.5-rc1' into x86/asm, to refresh the branch before merging new changes
      Merge branch 'x86/cpu' into x86/asm, to avoid conflict
      Merge branch 'x86/urgent' into x86/asm, to pick up fixes
      Merge tag 'v4.5-rc7' into x86/asm, to pick up SMAP fix
      Merge branch 'x86-asm-for-linus' into tmp.tmp

Jianyu Zhan (1):
      x86/entry/traps: Show unhandled signal for i386 in do_trap()

Josh Poimboeuf (2):
      x86/asm: Clean up frame pointer macros
      x86/asm: Add C versions of frame pointer macros

Matthew Wilcox (1):
      x86/mm: Honour passed pgprot in track_pfn_insert() and track_pfn_remap()

Oleg Nesterov (1):
      uprobes: __create_xol_area() must nullify xol_mapping.fault

Tony Luck (1):
      x86/cpufeature: Create a new synthetic cpu capability for machine check recovery

==========
 Documentation/kernel-parameters.txt                   |   2 +-
 Documentation/x86/x86_64/boot-options.txt             |   2 +
 arch/x86/Kconfig.debug                                |  10 ---
 arch/x86/boot/cpuflags.h                              |   2 +-
 arch/x86/boot/mkcpustr.c                              |   2 +-
 arch/x86/crypto/crc32-pclmul_glue.c                   |   2 +-
 arch/x86/crypto/crc32c-intel_glue.c                   |   2 +-
 arch/x86/crypto/crct10dif-pclmul_glue.c               |   2 +-
 arch/x86/entry/calling.h                              |  31 ---------
 arch/x86/entry/common.c                               | 106 ++++++++++++++---------------
 arch/x86/entry/entry_32.S                             | 268 +++++++++++++++++++++++++++++++++++++++++++++++-------------------------
 arch/x86/entry/entry_64.S                             | 286 ++++++++++++++++++++++++++++++----------------------------------------------
 arch/x86/entry/entry_64_compat.S                      | 102 +++++++++++++++++++---------
 arch/x86/entry/syscall_32.c                           |  10 +--
 arch/x86/entry/syscall_64.c                           |  13 ++--
 arch/x86/entry/syscalls/syscall_64.tbl                |  20 +++---
 arch/x86/entry/syscalls/syscalltbl.sh                 |  58 ++++++++++++++--
 arch/x86/entry/vdso/vdso2c.h                          |   7 --
 arch/x86/entry/vdso/vdso32-setup.c                    |   1 -
 arch/x86/entry/vdso/vdso32/system_call.S              |   2 +-
 arch/x86/entry/vdso/vma.c                             | 127 +++++++++++++++++++++-------------
 arch/x86/entry/vsyscall/vsyscall_gtod.c               |   9 ++-
 arch/x86/include/asm/alternative.h                    |   6 --
 arch/x86/include/asm/apic.h                           |   1 -
 arch/x86/include/asm/arch_hweight.h                   |   2 +
 arch/x86/include/asm/bitops.h                         |  36 +++++-----
 arch/x86/include/asm/clocksource.h                    |   9 +--
 arch/x86/include/asm/cmpxchg.h                        |   1 +
 arch/x86/include/asm/cpufeature.h                     | 448 +++++++-----------------------------------------------------------------------------------------------------------------
 arch/x86/include/asm/cpufeatures.h                    | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/x86/include/asm/desc_defs.h                      |  23 +++++++
 arch/x86/include/asm/fpu/internal.h                   |  15 ++--
 arch/x86/include/asm/frame.h                          |  59 ++++++++++------
 arch/x86/include/asm/irq_work.h                       |   2 +-
 arch/x86/include/asm/mce.h                            |   1 +
 arch/x86/include/asm/mmu.h                            |   3 +-
 arch/x86/include/asm/msr-index.h                      |   7 +-
 arch/x86/include/asm/mwait.h                          |   2 +
 arch/x86/include/asm/processor.h                      |   8 ++-
 arch/x86/include/asm/proto.h                          |  15 +++-
 arch/x86/include/asm/sighandling.h                    |   1 -
 arch/x86/include/asm/smap.h                           |   2 +-
 arch/x86/include/asm/smp.h                            |   1 -
 arch/x86/include/asm/thread_info.h                    |   9 ++-
 arch/x86/include/asm/tlbflush.h                       |   1 +
 arch/x86/include/asm/uaccess_64.h                     |   2 +-
 arch/x86/include/asm/vdso.h                           |   3 -
 arch/x86/include/asm/vgtod.h                          |   6 ++
 arch/x86/include/uapi/asm/sigcontext.h                |  32 ++++++++-
 arch/x86/include/uapi/asm/ucontext.h                  |  53 +++++++++++++--
 arch/x86/kernel/apic/apic_numachip.c                  |   4 +-
 arch/x86/kernel/asm-offsets.c                         |   1 -
 arch/x86/kernel/asm-offsets_32.c                      |   7 +-
 arch/x86/kernel/asm-offsets_64.c                      |  10 +--
 arch/x86/kernel/cpu/Makefile                          |   2 +-
 arch/x86/kernel/cpu/centaur.c                         |   2 +-
 arch/x86/kernel/cpu/common.c                          |  39 +++++++----
 arch/x86/kernel/cpu/cyrix.c                           |   1 +
 arch/x86/kernel/cpu/intel.c                           |   2 +-
 arch/x86/kernel/cpu/intel_cacheinfo.c                 |   2 +-
 arch/x86/kernel/cpu/match.c                           |   2 +-
 arch/x86/kernel/cpu/mcheck/mce.c                      |  13 ++++
 arch/x86/kernel/cpu/mkcapflags.sh                     |   6 +-
 arch/x86/kernel/cpu/mtrr/main.c                       |   2 +-
 arch/x86/kernel/cpu/transmeta.c                       |   2 +-
 arch/x86/kernel/e820.c                                |   1 +
 arch/x86/kernel/fpu/xstate.c                          |   3 +
 arch/x86/kernel/ftrace.c                              |  11 ++-
 arch/x86/kernel/head_32.S                             |   2 +-
 arch/x86/kernel/head_64.S                             |   1 -
 arch/x86/kernel/hpet.c                                |   1 +
 arch/x86/kernel/mcount_64.S                           |  14 ++--
 arch/x86/kernel/msr.c                                 |   2 +-
 arch/x86/kernel/process.c                             |   3 +
 arch/x86/kernel/signal.c                              | 127 +++++++++++++++++++++++++++-------
 arch/x86/kernel/traps.c                               | 138 ++++++++++++++++++++++++-------------
 arch/x86/kernel/verify_cpu.S                          |   2 +-
 arch/x86/kernel/vm86_32.c                             |   2 +-
 arch/x86/kernel/vmlinux.lds.S                         |  11 +++
 arch/x86/lib/clear_page_64.S                          |   2 +-
 arch/x86/lib/copy_page_64.S                           |   2 +-
 arch/x86/lib/copy_user_64.S                           |   2 +-
 arch/x86/lib/memcpy_64.S                              |   2 +-
 arch/x86/lib/memmove_64.S                             |   2 +-
 arch/x86/lib/memset_64.S                              |   2 +-
 arch/x86/mm/pat.c                                     |   4 +-
 arch/x86/mm/setup_nx.c                                |   1 +
 arch/x86/oprofile/op_model_amd.c                      |   1 -
 arch/x86/um/asm/barrier.h                             |   2 +-
 arch/x86/um/sys_call_table_32.c                       |   4 +-
 arch/x86/um/sys_call_table_64.c                       |   7 +-
 arch/x86/um/user-offsets.c                            |   6 +-
 drivers/cpufreq/intel_pstate.c                        |   2 +-
 fs/btrfs/disk-io.c                                    |   2 +-
 include/linux/mm.h                                    |   2 +
 include/linux/mm_types.h                              |  22 +++++-
 kernel/events/uprobes.c                               |   1 +
 lib/atomic64_test.c                                   |   2 +-
 mm/memory.c                                           |  25 ++++++-
 mm/mmap.c                                             |  13 ++--
 tools/testing/selftests/x86/Makefile                  |  17 +++--
 tools/testing/selftests/x86/check_initial_reg_state.c | 109 +++++++++++++++++++++++++++++
 tools/testing/selftests/x86/ptrace_syscall.c          | 132 +++++++++++++++++++++++++++++++++++-
 tools/testing/selftests/x86/sigreturn.c               | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 tools/testing/selftests/x86/syscall_nt.c              |  57 +++++++++++++---
 105 files changed, 1977 insertions(+), 1199 deletions(-)
 create mode 100644 arch/x86/include/asm/cpufeatures.h
 create mode 100644 tools/testing/selftests/x86/check_initial_reg_state.c

                 reply	other threads:[~2016-03-14 13:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20160314130320.GA20607@gmail.com \
    --to=mingo@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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.