This is v2.  I'm resending it because the fallout from the 3.16 changes
seems to have settled down, and because arm is about to run in to the
same problem that I ran in to, which is fixed in the big cross-arch
patch.

Patch 1 fixes a minor bug; it might make sense to backport it.

Patch 3 removes the vsyscall mapping when vsyscall=none.

Patch 4 and 5 remove some unnecessary vvars.  gtod is the only one left now.

Patch 9 is a big cross-arch cleanup.  The old code was supposedly
generic, but it was only useful for ia64, and it was actively harmful
for lots of other architectures.

Patch 10 makes vsyscall emulation optional.  It's hidden under
CONFIG_EXPERT.

If this should be split or reordered, please let me know.

NB: I wouldn't be surprised if Nathan Lynch ends up wanting patch 9 for
ARM's upcoming vdso, so it would be nice to get at least that patch into
an upstream-pointing git tree somewhere.  I'm not sure what the
appropriate tree is.

Changes from v1:
 - Rebased to 3.16-rc3.
 - The last patch is new.

Andy Lutomirski (10):
  x86_64,vsyscall: Fix warn_bad_vsyscall log output
  x86_64,vsyscall: Move all of the gate_area code to vsyscall_64.c
  x86_64,vsyscall: Turn vsyscalls all the way off when vsyscall=none
  x86_64,vdso: Remove jiffies from the vvar page
  x86,vdso: Replace vgetcpu_mode with static_cpu_has
  x86_64: Move getcpu code from vsyscall_64.c to vdso/vma.c
  x86_64,vsyscall: Rewrite comment and clean up headers in vsyscall code
  x86_64,vdso: Clean up vgetcpu init and merge the vdso initcalls
  arm64,ia64,ppc,s390,sh,tile,um,x86,mm: Remove default gate area
  x86_64,vsyscall: Make vsyscall emulation configurable

 arch/arm64/include/asm/page.h      |   3 -
 arch/arm64/kernel/vdso.c           |  19 -----
 arch/ia64/include/asm/page.h       |   2 +
 arch/ia64/mm/init.c                |  26 +++++++
 arch/powerpc/include/asm/page.h    |   3 -
 arch/powerpc/kernel/vdso.c         |  16 ----
 arch/s390/include/asm/page.h       |   2 -
 arch/s390/kernel/vdso.c            |  15 ----
 arch/sh/include/asm/page.h         |   5 --
 arch/sh/kernel/vsyscall/vsyscall.c |  15 ----
 arch/tile/include/asm/page.h       |   6 --
 arch/tile/kernel/vdso.c            |  15 ----
 arch/um/include/asm/page.h         |   5 ++
 arch/x86/Kconfig                   |  18 +++++
 arch/x86/include/asm/fixmap.h      |   2 +
 arch/x86/include/asm/page.h        |   1 -
 arch/x86/include/asm/page_64.h     |   4 +
 arch/x86/include/asm/vgtod.h       |  21 +++++
 arch/x86/include/asm/vsyscall.h    |  33 ++------
 arch/x86/include/asm/vvar.h        |   2 -
 arch/x86/kernel/Makefile           |   3 +-
 arch/x86/kernel/cpu/common.c       |  10 ---
 arch/x86/kernel/setup.c            |   2 -
 arch/x86/kernel/time.c             |   2 +-
 arch/x86/kernel/vsyscall_64.c      | 155 ++++++++++++++++---------------------
 arch/x86/mm/init_64.c              |  49 ------------
 arch/x86/um/asm/elf.h              |   1 -
 arch/x86/um/mem_64.c               |  15 ----
 arch/x86/vdso/vclock_gettime.c     |   3 +
 arch/x86/vdso/vdso32-setup.c       |  19 +----
 arch/x86/vdso/vgetcpu.c            |   5 +-
 arch/x86/vdso/vma.c                |  81 ++++++++++++++-----
 arch/x86/xen/mmu.c                 |   6 +-
 include/linux/mm.h                 |  17 ++--
 mm/memory.c                        |  38 ---------
 mm/nommu.c                         |   5 --
 36 files changed, 239 insertions(+), 385 deletions(-)

-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to