diff options
Diffstat (limited to 'kernel/arch/tile')
-rw-r--r-- | kernel/arch/tile/include/asm/elf.h | 1 | ||||
-rw-r--r-- | kernel/arch/tile/include/uapi/asm/auxvec.h | 2 | ||||
-rw-r--r-- | kernel/arch/tile/kernel/ptrace.c | 2 | ||||
-rw-r--r-- | kernel/arch/tile/kernel/time.c | 4 |
4 files changed, 6 insertions, 3 deletions
diff --git a/kernel/arch/tile/include/asm/elf.h b/kernel/arch/tile/include/asm/elf.h index c505d77e4..e9d54a067 100644 --- a/kernel/arch/tile/include/asm/elf.h +++ b/kernel/arch/tile/include/asm/elf.h @@ -129,6 +129,7 @@ extern int dump_task_regs(struct task_struct *, elf_gregset_t *); struct linux_binprm; extern int arch_setup_additional_pages(struct linux_binprm *bprm, int executable_stack); +/* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */ #define ARCH_DLINFO \ do { \ NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE); \ diff --git a/kernel/arch/tile/include/uapi/asm/auxvec.h b/kernel/arch/tile/include/uapi/asm/auxvec.h index c93e92709..f497123ed 100644 --- a/kernel/arch/tile/include/uapi/asm/auxvec.h +++ b/kernel/arch/tile/include/uapi/asm/auxvec.h @@ -18,4 +18,6 @@ /* The vDSO location. */ #define AT_SYSINFO_EHDR 33 +#define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */ + #endif /* _ASM_TILE_AUXVEC_H */ diff --git a/kernel/arch/tile/kernel/ptrace.c b/kernel/arch/tile/kernel/ptrace.c index bdc126faf..6239aa155 100644 --- a/kernel/arch/tile/kernel/ptrace.c +++ b/kernel/arch/tile/kernel/ptrace.c @@ -111,7 +111,7 @@ static int tile_gpr_set(struct task_struct *target, const void *kbuf, const void __user *ubuf) { int ret; - struct pt_regs regs; + struct pt_regs regs = *task_pt_regs(target); ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, ®s, 0, sizeof(regs)); diff --git a/kernel/arch/tile/kernel/time.c b/kernel/arch/tile/kernel/time.c index 178989e6d..ea960d660 100644 --- a/kernel/arch/tile/kernel/time.c +++ b/kernel/arch/tile/kernel/time.c @@ -218,8 +218,8 @@ void do_timer_interrupt(struct pt_regs *regs, int fault_num) */ unsigned long long sched_clock(void) { - return clocksource_cyc2ns(get_cycles(), - sched_clock_mult, SCHED_CLOCK_SHIFT); + return mult_frac(get_cycles(), + sched_clock_mult, 1ULL << SCHED_CLOCK_SHIFT); } int setup_profiling_timer(unsigned int multiplier) |