Commit 4489da71 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'nds32-for-linus-5.2-rc1' of...

Merge tag 'nds32-for-linus-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux

Pull nds32 updates from Greentime Hu:

 - Clean up codes and Makefile

 - Fix a vDSO bug

 - Remove useless functions/header files

 - Update git repo path in MAINTAINERS

* tag 'nds32-for-linus-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux:
  nds32: Fix vDSO clock_getres()
  MAINTAINERS: update nds32 git repo path
  nds32: don't export low-level cache flushing routines
  arch: nds32: Kconfig: pedantic formatting
  nds32: fix semicolon code style issue
  nds32: vdso: drop unnecessary cc-ldoption
  nds32: remove unused generic-y += cmpxchg-local.h
  nds32: Use the correct style for SPDX License Identifier
  nds32: remove __virt_to_bus and __bus_to_virt
  nds32: vdso: fix and clean-up Makefile
  nds32: add vmlinux.lds and vdso.so to .gitignore
  nds32: ex-exit: Remove unneeded need_resched() loop
  nds32/io: Remove useless definition of mmiowb()
  nds32: Removed unused thread flag TIF_USEDFPU
parents 80111bfb af9abd65
...@@ -1000,7 +1000,7 @@ F: include/linux/clk/analogbits* ...@@ -1000,7 +1000,7 @@ F: include/linux/clk/analogbits*
ANDES ARCHITECTURE ANDES ARCHITECTURE
M: Greentime Hu <green.hu@gmail.com> M: Greentime Hu <green.hu@gmail.com>
M: Vincent Chen <deanbo422@gmail.com> M: Vincent Chen <deanbo422@gmail.com>
T: git https://github.com/andestech/linux.git T: git https://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux.git
S: Supported S: Supported
F: arch/nds32/ F: arch/nds32/
F: Documentation/devicetree/bindings/interrupt-controller/andestech,ativic32.txt F: Documentation/devicetree/bindings/interrupt-controller/andestech,ativic32.txt
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
config NDS32 config NDS32
def_bool y def_bool y
select ARCH_32BIT_OFF_T select ARCH_32BIT_OFF_T
select ARCH_HAS_SYNC_DMA_FOR_CPU select ARCH_HAS_SYNC_DMA_FOR_CPU
select ARCH_HAS_SYNC_DMA_FOR_DEVICE select ARCH_HAS_SYNC_DMA_FOR_DEVICE
...@@ -51,20 +51,20 @@ config GENERIC_CALIBRATE_DELAY ...@@ -51,20 +51,20 @@ config GENERIC_CALIBRATE_DELAY
def_bool y def_bool y
config GENERIC_CSUM config GENERIC_CSUM
def_bool y def_bool y
config GENERIC_HWEIGHT config GENERIC_HWEIGHT
def_bool y def_bool y
config GENERIC_LOCKBREAK config GENERIC_LOCKBREAK
def_bool y def_bool y
depends on PREEMPT depends on PREEMPT
config TRACE_IRQFLAGS_SUPPORT config TRACE_IRQFLAGS_SUPPORT
def_bool y def_bool y
config STACKTRACE_SUPPORT config STACKTRACE_SUPPORT
def_bool y def_bool y
config FIX_EARLYCON_MEM config FIX_EARLYCON_MEM
def_bool y def_bool y
...@@ -79,11 +79,11 @@ config NR_CPUS ...@@ -79,11 +79,11 @@ config NR_CPUS
default 1 default 1
config MMU config MMU
def_bool y def_bool y
config NDS32_BUILTIN_DTB config NDS32_BUILTIN_DTB
string "Builtin DTB" string "Builtin DTB"
default "" default ""
help help
User can use it to specify the dts of the SoC User can use it to specify the dts of the SoC
endmenu endmenu
......
...@@ -6,7 +6,6 @@ generic-y += bugs.h ...@@ -6,7 +6,6 @@ generic-y += bugs.h
generic-y += checksum.h generic-y += checksum.h
generic-y += clkdev.h generic-y += clkdev.h
generic-y += cmpxchg.h generic-y += cmpxchg.h
generic-y += cmpxchg-local.h
generic-y += compat.h generic-y += compat.h
generic-y += cputime.h generic-y += cputime.h
generic-y += device.h generic-y += device.h
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_ASSEMBLER_H__ #ifndef __NDS32_ASSEMBLER_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_ASM_BARRIER_H #ifndef __NDS32_ASM_BARRIER_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_BITFIELD_H__ #ifndef __NDS32_BITFIELD_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_CACHE_H__ #ifndef __NDS32_CACHE_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
struct cache_info { struct cache_info {
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_CACHEFLUSH_H__ #ifndef __NDS32_CACHEFLUSH_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASM_NDS32_CURRENT_H #ifndef _ASM_NDS32_CURRENT_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_DELAY_H__ #ifndef __NDS32_DELAY_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASMNDS32_ELF_H #ifndef __ASMNDS32_ELF_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_FIXMAP_H #ifndef __ASM_NDS32_FIXMAP_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_FUTEX_H__ #ifndef __NDS32_FUTEX_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASM_HIGHMEM_H #ifndef _ASM_HIGHMEM_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_IO_H #ifndef __ASM_NDS32_IO_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#include <asm/nds32.h> #include <asm/nds32.h>
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef L2_CACHE_H #ifndef L2_CACHE_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_LINKAGE_H #ifndef __ASM_LINKAGE_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_MEMORY_H #ifndef __ASM_NDS32_MEMORY_H
...@@ -15,14 +15,6 @@ ...@@ -15,14 +15,6 @@
#define PHYS_OFFSET (0x0) #define PHYS_OFFSET (0x0)
#endif #endif
#ifndef __virt_to_bus
#define __virt_to_bus __virt_to_phys
#endif
#ifndef __bus_to_virt
#define __bus_to_virt __phys_to_virt
#endif
/* /*
* TASK_SIZE - the maximum size of a user space task. * TASK_SIZE - the maximum size of a user space task.
* TASK_UNMAPPED_BASE - the lower boundary of the mmap VM area * TASK_UNMAPPED_BASE - the lower boundary of the mmap VM area
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_MMU_H #ifndef __NDS32_MMU_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_MMU_CONTEXT_H #ifndef __ASM_NDS32_MMU_CONTEXT_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASM_NDS32_MODULE_H #ifndef _ASM_NDS32_MODULE_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASM_NDS32_NDS32_H_ #ifndef _ASM_NDS32_NDS32_H_
......
/* SPDX-License-Identifier: GPL-2.0 */
/* /*
* SPDX-License-Identifier: GPL-2.0
* Copyright (C) 2005-2017 Andes Technology Corporation * Copyright (C) 2005-2017 Andes Technology Corporation
*/ */
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASMNDS32_PGALLOC_H #ifndef _ASMNDS32_PGALLOC_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASMNDS32_PGTABLE_H #ifndef _ASMNDS32_PGTABLE_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_PROCFNS_H__ #ifndef __NDS32_PROCFNS_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_PROCESSOR_H #ifndef __ASM_NDS32_PROCESSOR_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_PTRACE_H #ifndef __ASM_NDS32_PTRACE_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASMNDS32_SHMPARAM_H #ifndef _ASMNDS32_SHMPARAM_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_STRING_H #ifndef __ASM_NDS32_STRING_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_SWAB_H__ #ifndef __NDS32_SWAB_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved. // Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved.
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_SYSCALLS_H #ifndef __ASM_NDS32_SYSCALLS_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_THREAD_INFO_H #ifndef __ASM_NDS32_THREAD_INFO_H
...@@ -42,7 +42,6 @@ struct thread_info { ...@@ -42,7 +42,6 @@ struct thread_info {
* TIF_SIGPENDING - signal pending * TIF_SIGPENDING - signal pending
* TIF_NEED_RESCHED - rescheduling necessary * TIF_NEED_RESCHED - rescheduling necessary
* TIF_NOTIFY_RESUME - callback before returning to user * TIF_NOTIFY_RESUME - callback before returning to user
* TIF_USEDFPU - FPU was used by this task this quantum (SMP)
* TIF_POLLING_NRFLAG - true if poll_idle() is polling TIF_NEED_RESCHED * TIF_POLLING_NRFLAG - true if poll_idle() is polling TIF_NEED_RESCHED
*/ */
#define TIF_SIGPENDING 1 #define TIF_SIGPENDING 1
...@@ -50,7 +49,6 @@ struct thread_info { ...@@ -50,7 +49,6 @@ struct thread_info {
#define TIF_SINGLESTEP 3 #define TIF_SINGLESTEP 3
#define TIF_NOTIFY_RESUME 4 /* callback before returning to user */ #define TIF_NOTIFY_RESUME 4 /* callback before returning to user */
#define TIF_SYSCALL_TRACE 8 #define TIF_SYSCALL_TRACE 8
#define TIF_USEDFPU 16
#define TIF_POLLING_NRFLAG 17 #define TIF_POLLING_NRFLAG 17
#define TIF_MEMDIE 18 #define TIF_MEMDIE 18
#define TIF_FREEZE 19 #define TIF_FREEZE 19
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASMNDS32_TLB_H #ifndef __ASMNDS32_TLB_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASMNDS32_TLBFLUSH_H #ifndef _ASMNDS32_TLBFLUSH_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASMANDES_UACCESS_H #ifndef _ASMANDES_UACCESS_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#define __ARCH_WANT_SYS_CLONE #define __ARCH_WANT_SYS_CLONE
......
/* SPDX-License-Identifier: GPL-2.0 */
/* /*
* SPDX-License-Identifier: GPL-2.0
* Copyright (C) 2005-2017 Andes Technology Corporation * Copyright (C) 2005-2017 Andes Technology Corporation
*/ */
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2012 ARM Limited // Copyright (C) 2012 ARM Limited
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_VDSO_DATAPAGE_H #ifndef __ASM_VDSO_DATAPAGE_H
...@@ -20,6 +20,7 @@ struct vdso_data { ...@@ -20,6 +20,7 @@ struct vdso_data {
u32 xtime_clock_sec; /* CLOCK_REALTIME - seconds */ u32 xtime_clock_sec; /* CLOCK_REALTIME - seconds */
u32 cs_mult; /* clocksource multiplier */ u32 cs_mult; /* clocksource multiplier */
u32 cs_shift; /* Cycle to nanosecond divisor (power of two) */ u32 cs_shift; /* Cycle to nanosecond divisor (power of two) */
u32 hrtimer_res; /* hrtimer resolution */
u64 cs_cycle_last; /* last cycle value */ u64 cs_cycle_last; /* last cycle value */
u64 cs_mask; /* clocksource mask */ u64 cs_mask; /* clocksource mask */
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
extern struct timer_info_t timer_info; extern struct timer_info_t timer_info;
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_AUXVEC_H #ifndef __ASM_AUXVEC_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __NDS32_BYTEORDER_H__ #ifndef __NDS32_BYTEORDER_H__
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 1994, 1995, 1996 by Ralf Baechle // Copyright (C) 1994, 1995, 1996 by Ralf Baechle
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASM_CACHECTL #ifndef _ASM_CACHECTL
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __ASM_NDS32_PARAM_H #ifndef __ASM_NDS32_PARAM_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef __UAPI_ASM_NDS32_PTRACE_H #ifndef __UAPI_ASM_NDS32_PTRACE_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#ifndef _ASMNDS32_SIGCONTEXT_H #ifndef _ASMNDS32_SIGCONTEXT_H
......
// SPDX-License-Identifier: GPL-2.0 /* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2005-2017 Andes Technology Corporation // Copyright (C) 2005-2017 Andes Technology Corporation
#define __ARCH_WANT_STAT64 #define __ARCH_WANT_STAT64
......
...@@ -13,7 +13,7 @@ static void ci_leaf_init(struct cacheinfo *this_leaf, ...@@ -13,7 +13,7 @@ static void ci_leaf_init(struct cacheinfo *this_leaf,
this_leaf->level = level; this_leaf->level = level;
this_leaf->type = type; this_leaf->type = type;
this_leaf->coherency_line_size = CACHE_LINE_SIZE(cache_type); this_leaf->coherency_line_size = CACHE_LINE_SIZE(cache_type);
this_leaf->number_of_sets = CACHE_SET(cache_type);; this_leaf->number_of_sets = CACHE_SET(cache_type);
this_leaf->ways_of_associativity = CACHE_WAY(cache_type); this_leaf->ways_of_associativity = CACHE_WAY(cache_type);
this_leaf->size = this_leaf->number_of_sets * this_leaf->size = this_leaf->number_of_sets *
this_leaf->coherency_line_size * this_leaf->ways_of_associativity; this_leaf->coherency_line_size * this_leaf->ways_of_associativity;
......
...@@ -163,7 +163,7 @@ resume_kernel: ...@@ -163,7 +163,7 @@ resume_kernel:
gie_disable gie_disable
lwi $t0, [tsk+#TSK_TI_PREEMPT] lwi $t0, [tsk+#TSK_TI_PREEMPT]
bnez $t0, no_work_pending bnez $t0, no_work_pending
need_resched:
lwi $t0, [tsk+#TSK_TI_FLAGS] lwi $t0, [tsk+#TSK_TI_FLAGS]
andi $p1, $t0, #_TIF_NEED_RESCHED andi $p1, $t0, #_TIF_NEED_RESCHED
beqz $p1, no_work_pending beqz $p1, no_work_pending
...@@ -173,7 +173,7 @@ need_resched: ...@@ -173,7 +173,7 @@ need_resched:
beqz $t0, no_work_pending beqz $t0, no_work_pending
jal preempt_schedule_irq jal preempt_schedule_irq
b need_resched b no_work_pending
#endif #endif
/* /*
......
...@@ -23,9 +23,3 @@ EXPORT_SYMBOL(memzero); ...@@ -23,9 +23,3 @@ EXPORT_SYMBOL(memzero);
EXPORT_SYMBOL(__arch_copy_from_user); EXPORT_SYMBOL(__arch_copy_from_user);
EXPORT_SYMBOL(__arch_copy_to_user); EXPORT_SYMBOL(__arch_copy_to_user);
EXPORT_SYMBOL(__arch_clear_user); EXPORT_SYMBOL(__arch_clear_user);
/* cache handling */
EXPORT_SYMBOL(cpu_icache_inval_all);
EXPORT_SYMBOL(cpu_dcache_wbinval_all);
EXPORT_SYMBOL(cpu_dma_inval_range);
EXPORT_SYMBOL(cpu_dma_wb_range);
...@@ -220,6 +220,7 @@ void update_vsyscall(struct timekeeper *tk) ...@@ -220,6 +220,7 @@ void update_vsyscall(struct timekeeper *tk)
vdso_data->xtime_coarse_sec = tk->xtime_sec; vdso_data->xtime_coarse_sec = tk->xtime_sec;
vdso_data->xtime_coarse_nsec = tk->tkr_mono.xtime_nsec >> vdso_data->xtime_coarse_nsec = tk->tkr_mono.xtime_nsec >>
tk->tkr_mono.shift; tk->tkr_mono.shift;
vdso_data->hrtimer_res = hrtimer_resolution;
vdso_write_end(vdso_data); vdso_write_end(vdso_data);
} }
......
...@@ -11,10 +11,8 @@ obj-vdso := note.o datapage.o sigreturn.o gettimeofday.o ...@@ -11,10 +11,8 @@ obj-vdso := note.o datapage.o sigreturn.o gettimeofday.o
targets := $(obj-vdso) vdso.so vdso.so.dbg targets := $(obj-vdso) vdso.so vdso.so.dbg
obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
ccflags-y := -shared -fno-common -fno-builtin ccflags-y := -shared -fno-common -fno-builtin -nostdlib -fPIC -Wl,-shared -g \
ccflags-y += -nostdlib -Wl,-soname=linux-vdso.so.1 \ -Wl,-soname=linux-vdso.so.1 -Wl,--hash-style=sysv
$(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
ccflags-y += -fPIC -Wl,-shared -g
# Disable gcov profiling for VDSO code # Disable gcov profiling for VDSO code
GCOV_PROFILE := n GCOV_PROFILE := n
...@@ -28,7 +26,7 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH) ...@@ -28,7 +26,7 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
$(obj)/vdso.o : $(obj)/vdso.so $(obj)/vdso.o : $(obj)/vdso.so
# Link rule for the .so file, .lds has to be first # Link rule for the .so file, .lds has to be first
$(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso) $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
$(call if_changed,vdsold) $(call if_changed,vdsold)
...@@ -40,9 +38,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE ...@@ -40,9 +38,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
# Generate VDSO offsets using helper script # Generate VDSO offsets using helper script
gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
quiet_cmd_vdsosym = VDSOSYM $@ quiet_cmd_vdsosym = VDSOSYM $@
define cmd_vdsosym cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
$(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
endef
include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
$(call if_changed,vdsosym) $(call if_changed,vdsosym)
...@@ -65,7 +61,7 @@ gettimeofday.o : gettimeofday.c FORCE ...@@ -65,7 +61,7 @@ gettimeofday.o : gettimeofday.c FORCE
# Actual build commands # Actual build commands
quiet_cmd_vdsold = VDSOL $@ quiet_cmd_vdsold = VDSOL $@
cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@ cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $(real-prereqs) -o $@
quiet_cmd_vdsoas = VDSOA $@ quiet_cmd_vdsoas = VDSOA $@
cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $< cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<
quiet_cmd_vdsocc = VDSOA $@ quiet_cmd_vdsocc = VDSOA $@
......
...@@ -208,6 +208,8 @@ static notrace int clock_getres_fallback(clockid_t _clk_id, ...@@ -208,6 +208,8 @@ static notrace int clock_getres_fallback(clockid_t _clk_id,
notrace int __vdso_clock_getres(clockid_t clk_id, struct timespec *res) notrace int __vdso_clock_getres(clockid_t clk_id, struct timespec *res)
{ {
struct vdso_data *vdata = __get_datapage();
if (res == NULL) if (res == NULL)
return 0; return 0;
switch (clk_id) { switch (clk_id) {
...@@ -215,7 +217,7 @@ notrace int __vdso_clock_getres(clockid_t clk_id, struct timespec *res) ...@@ -215,7 +217,7 @@ notrace int __vdso_clock_getres(clockid_t clk_id, struct timespec *res)
case CLOCK_MONOTONIC: case CLOCK_MONOTONIC:
case CLOCK_MONOTONIC_RAW: case CLOCK_MONOTONIC_RAW:
res->tv_sec = 0; res->tv_sec = 0;
res->tv_nsec = CLOCK_REALTIME_RES; res->tv_nsec = vdata->hrtimer_res;
break; break;
case CLOCK_REALTIME_COARSE: case CLOCK_REALTIME_COARSE:
case CLOCK_MONOTONIC_COARSE: case CLOCK_MONOTONIC_COARSE:
......
...@@ -260,7 +260,7 @@ void __set_fixmap(enum fixed_addresses idx, ...@@ -260,7 +260,7 @@ void __set_fixmap(enum fixed_addresses idx,
BUG_ON(idx <= FIX_HOLE || idx >= __end_of_fixed_addresses); BUG_ON(idx <= FIX_HOLE || idx >= __end_of_fixed_addresses);
pte = (pte_t *)&fixmap_pmd_p[pte_index(addr)];; pte = (pte_t *)&fixmap_pmd_p[pte_index(addr)];
if (pgprot_val(flags)) { if (pgprot_val(flags)) {
set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, flags)); set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, flags));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment