nds32 patches for 5.2-rc1

Here is the nds32 patchset based on 5.1
 Contained in here are
 1. Clean up codes and Makefile
 2. Fix a vDSO bug
 3. Remove useless functions/header files
 4. Update git repo path in MAINTAINERS
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
 iQIcBAABAgAGBQJc3mofAAoJEHfB0l0b2JxErZYP/1p/fh3h1J9jZoOg0Y7JD3RO
 hHiBtVDYQvOdYkex7GfWjHjGiWcuGj0tPzYddkkOmekqQQO+y2t5cMpeFzXLrv+R
 V5Ng3JQjUtr3HtULju4qAjSzIa1gwXzJkvil+KmQGO9GWJULYKd1b2u2lPRF6mbd
 u/7FA8BPMhp/rGcpmS4CdPWPca+hMZTJbe+t5JzVZN9nh/+VJQ7SOq7EWHSQyopW
 6KbF3tvBL4Lb3lDW3xITSobKL+5sAozTrNoPdKUbQZvKW6SjMpjtRINmS86wFfp3
 /rgRCcCFqn8h3/oF0Bjsp5YdhUf1GhjRkWrcZHxGStu+7OrMwpSSM2SyfPk6Scan
 u403hrEoTDyDZ8GEds4vpIDL6rhSVWbEdgjHO5McAyj4Jc9FnEGe/o1l1cQaWKn0
 ec4PBncJaPYaopHRmCkSrojCg3Wrqk/lcsnc4iOCTc4S07lWI9ZmxdFidtB+Rxdv
 r0uj5hf3ENmf8rsH2XABNwyg8SzJHaaRumLndbOwD4IGtlBqUtGJS9snT7KE7Inj
 puXLeLXXRGxdP3MpkYtqJpXycNQySK5uP/cLqXize8ETJsh2L/ch3kL+n6X77BaZ
 +W7mukHk/ggxrq0AWn7YwuNaMFX+zY961w28aWc8shEXeD77QFdXj+gYrU2gRebR
 KR7YtBq6WxaZpJF1Ifi7
 =FKFC
 -----END PGP SIGNATURE-----

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
This commit is contained in:
Linus Torvalds 2019-05-17 10:17:29 -07:00
commit 4489da7183
59 changed files with 72 additions and 87 deletions

View File

@ -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

View File

@ -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
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
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

View File

@ -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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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 {

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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>

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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 @@
#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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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_

View File

@ -1,5 +1,5 @@
/* 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
*/ */

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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 {
* 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 {
#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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,5 +1,5 @@
/* 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
*/ */

View File

@ -1,4 +1,4 @@
// 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 {
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 */

View File

@ -1,4 +1,4 @@
// 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;

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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__

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

View File

@ -1,4 +1,4 @@
// 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

1
arch/nds32/kernel/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
vmlinux.lds

View File

@ -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;

View File

@ -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:
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
/* /*

View File

@ -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);

View File

@ -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);
} }

1
arch/nds32/kernel/vdso/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
vdso.lds

View File

@ -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)
$(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
# 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
# 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 $@

View File

@ -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)
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:

View File

@ -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));