This repository has been archived by the owner on Dec 28, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'vdso/neutrino-msm-fajita-4.9' of https://github.com/0ct…
…obot/neutrino-staging into neutrino-msm-fajita-4.9 * vdso/neutrino-msm-fajita-4.9: (28 commits) FROMLIST: [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources) FROMLIST: [PATCH v2 2/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (assembler sources) FROMLIST: [PATCH v2 3/3] arm64: compat: Add CONFIG_KUSER_HELPERS FROMLIST: [PATCH v5 01/12] arm: vdso: rename vdso_datapage variables FROMLIST: [PATCH v5 02/12] arm: vdso: add include file defining __get_datapage() FROMLIST: [PATCH v5 03/12] arm: vdso: inline assembler operations to compiler.h FROMLIST: [PATCH v5 04/12] arm: vdso: do calculations outside reader loops FROMLIST: [PATCH v6 05/12] arm: vdso: Add support for CLOCK_MONOTONIC_RAW FROMLIST: [PATCH v5 06/12] arm: vdso: add support for clock_getres FROMLIST: [PATCH v5 07/12] arm: vdso: disable profiling FROMLIST: [PATCH v5 08/12] arm: vdso: Add ARCH_CLOCK_FIXED_MASK FROMLIST: [PATCH v5 09/12] arm: vdso: move vgettimeofday.c to lib/vdso/ FROMLIST: [PATCH v5 10/12] arm64: vdso: replace gettimeofday.S with global vgettimeofday.C FROMLIST: [PATCH v5 11/12] lib: vdso: Add support for CLOCK_BOOTTIME FROMLIST: [PATCH v5 12/12] lib: vdso: do not expose gettimeofday, if no arch supported timer FROMLIST: [PATCH] arm64: compat: Expose offset to registers in sigframes FROMLIST: lib: vdso: add support for time FROMLIST: [PATCH 1/6] arm64: compat: Use vDSO sigreturn trampolines if available FROMLIST: [PATCH 2/6] arm64: elf: Set AT_SYSINFO_EHDR in compat processes FROMLIST: [PATCH 3/6] arm64: Refactor vDSO init/setup FROMLIST: [PATCH 4/6] arm64: compat: Add a 32-bit vDSO FROMLIST: BACKPORT: [PATCH 5/6] arm64: compat: 32-bit vDSO setup FROMLIST: BACKPORT: [PATCH 6/6] arm64: Wire up and expose the new compat vDSO ANDROID: CROSS_COMPILE_ARM32 must work if CONFIG_COMPAT_VDSO ANDROID: arm64: vdso32: fix CC=clang build ANDROID: clock_gettime(CLOCK_BOOTTIME,) slows down >20x FROMLIST: arm64: vdso32: Use full path to Clang instead of relying on PATH neutrino: Enable COMPAT_VDSO Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
- Loading branch information
Showing
38 changed files
with
1,737 additions
and
854 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* | ||
* Userspace implementations of fallback calls | ||
* | ||
* Copyright (C) 2017 Cavium, Inc. | ||
* Copyright (C) 2012 ARM Limited | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Author: Will Deacon <will.deacon@arm.com> | ||
* Rewriten into C by: Andrew Pinski <apinski@cavium.com> | ||
*/ | ||
|
||
#ifndef __VDSO_COMPILER_H | ||
#define __VDSO_COMPILER_H | ||
|
||
#include <asm/arch_timer.h> /* for arch_counter_get_cntvct() */ | ||
#include <asm/processor.h> /* for cpu_relax() */ | ||
#include <asm/unistd.h> | ||
#include <linux/compiler.h> | ||
#include <linux/hrtimer.h> /* for LOW_RES_NSEC and MONOTONIC_RES_NSEC */ | ||
#include <linux/time.h> /* for NSEC_PER_SEC */ | ||
|
||
#ifndef CONFIG_AEABI | ||
#error This code depends on AEABI system call conventions | ||
#endif | ||
|
||
#ifdef CONFIG_ARM_ARCH_TIMER | ||
#define ARCH_PROVIDES_TIMER | ||
#endif | ||
|
||
#define DEFINE_FALLBACK(name, type_arg1, name_arg1, type_arg2, name_arg2) \ | ||
static notrace long name##_fallback(type_arg1 _##name_arg1, \ | ||
type_arg2 _##name_arg2) \ | ||
{ \ | ||
register type_arg1 name_arg1 asm("r0") = _##name_arg1; \ | ||
register type_arg2 name_arg2 asm("r1") = _##name_arg2; \ | ||
register long ret asm ("r0"); \ | ||
register long nr asm("r7") = __NR_##name; \ | ||
\ | ||
asm volatile( \ | ||
" swi #0\n" \ | ||
: "=r" (ret) \ | ||
: "r" (name_arg1), "r" (name_arg2), "r" (nr) \ | ||
: "memory"); \ | ||
\ | ||
return ret; \ | ||
} | ||
|
||
#define arch_vdso_read_counter() arch_counter_get_cntvct() | ||
|
||
/* Avoid unresolved references emitted by GCC */ | ||
|
||
void __aeabi_unwind_cpp_pr0(void) | ||
{ | ||
} | ||
|
||
void __aeabi_unwind_cpp_pr1(void) | ||
{ | ||
} | ||
|
||
void __aeabi_unwind_cpp_pr2(void) | ||
{ | ||
} | ||
|
||
#endif /* __VDSO_COMPILER_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Userspace implementations of __get_datapage | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#ifndef __VDSO_DATAPAGE_H | ||
#define __VDSO_DATAPAGE_H | ||
|
||
#include <linux/types.h> | ||
#include <asm/vdso_datapage.h> | ||
|
||
extern const struct vdso_data *__get_datapage(void); | ||
|
||
#endif /* __VDSO_DATAPAGE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,6 +82,8 @@ VERSION | |
global: | ||
__vdso_clock_gettime; | ||
__vdso_gettimeofday; | ||
__vdso_clock_getres; | ||
__vdso_time; | ||
local: *; | ||
}; | ||
} |
Oops, something went wrong.