From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932533AbbI1KD4 (ORCPT ); Mon, 28 Sep 2015 06:03:56 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:27720 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932183AbbI1KDz (ORCPT ); Mon, 28 Sep 2015 06:03:55 -0400 From: Markos Chandras To: CC: , Markos Chandras , Subject: [PATCH 0/3] MIPS VDSO support Date: Mon, 28 Sep 2015 11:03:46 +0100 Message-ID: <1443434629-14325-1-git-send-email-markos.chandras@imgtec.com> X-Mailer: git-send-email 2.5.3 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [192.168.154.88] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This series adds a proper VDSO to the kernel on MIPS. The first commit adds the basic VDSO, replacing the current signal return trampoline page. The following commits add user implementations of gettimeofday() and clock_gettime() which can make use of either the CP0 count or the GIC user-mode visible section. A tree with these changes can be found at [1]. It's based on v4.3-rc3 Use of the time functions relies on glibc modifications. A patch for this can be found in my repository at [2] and I will soon post it to the glibc mailing list. [1]: http://git.linux-mips.org/cgit/mchandras/linux.git/log/?h=4.3-vdso [2]: https://github.com/hwoarang/glibc/tree/2.22-vdso Alex Smith (3): MIPS: Initial implementation of a VDSO irqchip: irq-mips-gic: Provide function to map GIC user section MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() arch/mips/Kbuild | 1 + arch/mips/Kconfig | 5 + arch/mips/include/asm/abi.h | 5 +- arch/mips/include/asm/clocksource.h | 29 ++++ arch/mips/include/asm/elf.h | 7 + arch/mips/include/asm/processor.h | 8 +- arch/mips/include/asm/vdso.h | 139 +++++++++++++++-- arch/mips/include/uapi/asm/Kbuild | 2 +- arch/mips/include/uapi/asm/auxvec.h | 17 ++ arch/mips/kernel/csrc-r4k.c | 44 ++++++ arch/mips/kernel/signal.c | 12 +- arch/mips/kernel/signal32.c | 7 +- arch/mips/kernel/signal_n32.c | 5 +- arch/mips/kernel/vdso.c | 198 ++++++++++++++--------- arch/mips/vdso/.gitignore | 4 + arch/mips/vdso/Makefile | 142 +++++++++++++++++ arch/mips/vdso/elf.S | 68 ++++++++ arch/mips/vdso/genvdso.c | 294 +++++++++++++++++++++++++++++++++++ arch/mips/vdso/genvdso.h | 188 ++++++++++++++++++++++ arch/mips/vdso/gettimeofday.c | 232 +++++++++++++++++++++++++++ arch/mips/vdso/sigreturn.S | 49 ++++++ arch/mips/vdso/vdso.h | 84 ++++++++++ arch/mips/vdso/vdso.lds.S | 103 ++++++++++++ drivers/clocksource/mips-gic-timer.c | 7 +- drivers/irqchip/irq-mips-gic.c | 27 +++- include/linux/irqchip/mips-gic.h | 24 ++- 26 files changed, 1572 insertions(+), 129 deletions(-) create mode 100644 arch/mips/include/asm/clocksource.h create mode 100644 arch/mips/include/uapi/asm/auxvec.h create mode 100644 arch/mips/vdso/.gitignore create mode 100644 arch/mips/vdso/Makefile create mode 100644 arch/mips/vdso/elf.S create mode 100644 arch/mips/vdso/genvdso.c create mode 100644 arch/mips/vdso/genvdso.h create mode 100644 arch/mips/vdso/gettimeofday.c create mode 100644 arch/mips/vdso/sigreturn.S create mode 100644 arch/mips/vdso/vdso.h create mode 100644 arch/mips/vdso/vdso.lds.S -- 2.5.3