From: Andy Lutomirski <luto@amacapital.net>
To: "H. Peter Anvin" <hpa@zytor.com>, X86 ML <x86@kernel.org>
Cc: Stefani Seibold <stefani@seibold.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andy Lutomirski <luto@amacapital.net>
Subject: [PATCH 0/6] x86: Clean up and unify the vdso
Date: Sun, 30 Mar 2014 09:53:26 -0700 [thread overview]
Message-ID: <cover.1396198036.git.luto@amacapital.net> (raw)
This rewrites a bunch of the vdso code. After these patches, the vvar
and hpet pages are mapped directly after the vdso text on all five vdso
variants. The fixmaps are gone on 64-bit systems.
It would be possible to build the x32 vdso the normal way on top of
these patches.
I haven't touched the pvclock code. I'd want to understand why it
exists, why it isn't using rdtsc, and why it has two rdtsc_barrier calls
before rearranging it.
This is most likely 3.16 material.
Andy Lutomirski (6):
x86: Clean up 32-bit vs 64-bit vdso params
x86: Move syscall and sysenter setup into kernel/cpu/common.c
x86: Reimplement vdso.so preparation in build-time C
x86: Move the 32-bit vdso special pages after the text
x86: Move the vvar and hpet mappings next to the 64-bit vDSO
x86: Remove vestiges of VDSO_PRELINK and some outdated comments
arch/x86/ia32/ia32_signal.c | 8 +-
arch/x86/include/asm/elf.h | 35 +++---
arch/x86/include/asm/fixmap.h | 10 +-
arch/x86/include/asm/mmu.h | 2 +-
arch/x86/include/asm/proto.h | 2 -
arch/x86/include/asm/vdso.h | 74 +++++-------
arch/x86/include/asm/vdso32.h | 11 --
arch/x86/include/asm/vvar.h | 20 +---
arch/x86/include/uapi/asm/vsyscall.h | 7 +-
arch/x86/kernel/cpu/common.c | 33 ++++++
arch/x86/kernel/hpet.c | 3 -
arch/x86/kernel/signal.c | 6 +-
arch/x86/kernel/vsyscall_64.c | 15 +--
arch/x86/mm/fault.c | 5 +-
arch/x86/mm/init_64.c | 13 +-
arch/x86/um/vdso/vma.c | 2 +-
arch/x86/vdso/.gitignore | 5 +-
arch/x86/vdso/Makefile | 91 ++++++--------
arch/x86/vdso/vclock_gettime.c | 26 ++--
arch/x86/vdso/vdso-layout.lds.S | 49 ++++----
arch/x86/vdso/vdso.S | 3 -
arch/x86/vdso/vdso.lds.S | 7 +-
arch/x86/vdso/vdso2c.c | 156 ++++++++++++++++++++++++
arch/x86/vdso/vdso2c.h | 154 ++++++++++++++++++++++++
arch/x86/vdso/vdso32-setup.c | 195 ++++--------------------------
arch/x86/vdso/vdso32.S | 9 --
arch/x86/vdso/vdso32/vdso32.lds.S | 15 +--
arch/x86/vdso/vdsox32.S | 3 -
arch/x86/vdso/vdsox32.lds.S | 7 +-
arch/x86/vdso/vma.c | 222 +++++++++++++++++++----------------
arch/x86/xen/mmu.c | 8 +-
arch/x86/xen/setup.c | 11 +-
kernel/sysctl.c | 5 +
33 files changed, 650 insertions(+), 562 deletions(-)
delete mode 100644 arch/x86/include/asm/vdso32.h
delete mode 100644 arch/x86/vdso/vdso.S
create mode 100644 arch/x86/vdso/vdso2c.c
create mode 100644 arch/x86/vdso/vdso2c.h
delete mode 100644 arch/x86/vdso/vdso32.S
delete mode 100644 arch/x86/vdso/vdsox32.S
--
1.9.0
next reply other threads:[~2014-03-30 16:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-30 16:53 Andy Lutomirski [this message]
2014-03-30 16:53 ` [PATCH 1/6] x86: Clean up 32-bit vs 64-bit vdso params Andy Lutomirski
2014-03-30 16:53 ` [PATCH 2/6] x86: Move syscall and sysenter setup into kernel/cpu/common.c Andy Lutomirski
2014-03-30 16:53 ` [PATCH 3/6] x86: Reimplement vdso.so preparation in build-time C Andy Lutomirski
2014-03-30 16:53 ` [PATCH 4/6] x86: Move the 32-bit vdso special pages after the text Andy Lutomirski
2014-03-30 16:53 ` [PATCH 5/6] x86: Move the vvar and hpet mappings next to the 64-bit vDSO Andy Lutomirski
2014-03-30 16:53 ` [PATCH 6/6] x86: Remove vestiges of VDSO_PRELINK and some outdated comments Andy Lutomirski
2014-04-01 21:57 ` [PATCH 0/6] x86: Clean up and unify the vdso Andy Lutomirski
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=cover.1396198036.git.luto@amacapital.net \
--to=luto@amacapital.net \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stefani@seibold.net \
--cc=x86@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome