diff options
author | Arnd Bergmann <arnd@arndb.de> | 2018-03-07 21:46:52 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2018-03-09 23:20:01 +0100 |
commit | b8c9c8f0190f4004d3d4364edb2dea5978dfc824 (patch) | |
tree | 8bc377829b6452cb3b9c17253916c64e93cb695f /arch/score/include/asm/tlbflush.h | |
parent | 553b085c2075f6a4a2591108554f830fa61e881f (diff) |
arch: remove score port
The Sunplus S+core architecture was added in 2009 by Chen Liqin,
who has been co-maintaining it with Lennox Wu <lennox.wu@gmail.com>
since then, but after they both left the company, nobody else has shown
any interest in the port and it has seen almost no activity other than
tree-wide changes.
The gcc port was removed a few years ago due to the inactivity.
While the sunplus website still advertises products with unspecified
RISC cores that might be S+core based, it's very clear that the Linux
port is completely abandoned at this point.
This removes all files related to the architecture.
Acked-by: Lennox Wu <lennox.wu@gmail.com>
Link: http://www.sunplus.com/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/score/include/asm/tlbflush.h')
-rw-r--r-- | arch/score/include/asm/tlbflush.h | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/arch/score/include/asm/tlbflush.h b/arch/score/include/asm/tlbflush.h deleted file mode 100644 index f48722f4b00e..000000000000 --- a/arch/score/include/asm/tlbflush.h +++ /dev/null @@ -1,143 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _ASM_SCORE_TLBFLUSH_H -#define _ASM_SCORE_TLBFLUSH_H - -#include <linux/mm.h> - -/* - * TLB flushing: - * - * - flush_tlb_all() flushes all processes TLB entries - * - flush_tlb_mm(mm) flushes the specified mm context TLB entries - * - flush_tlb_page(vma, vmaddr) flushes one page - * - flush_tlb_range(vma, start, end) flushes a range of pages - * - flush_tlb_kernel_range(start, end) flushes a range of kernel pages - */ -extern void local_flush_tlb_all(void); -extern void local_flush_tlb_mm(struct mm_struct *mm); -extern void local_flush_tlb_range(struct vm_area_struct *vma, - unsigned long start, unsigned long end); -extern void local_flush_tlb_kernel_range(unsigned long start, - unsigned long end); -extern void local_flush_tlb_page(struct vm_area_struct *vma, - unsigned long page); -extern void local_flush_tlb_one(unsigned long vaddr); - -#define flush_tlb_all() local_flush_tlb_all() -#define flush_tlb_mm(mm) local_flush_tlb_mm(mm) -#define flush_tlb_range(vma, vmaddr, end) \ - local_flush_tlb_range(vma, vmaddr, end) -#define flush_tlb_kernel_range(vmaddr, end) \ - local_flush_tlb_kernel_range(vmaddr, end) -#define flush_tlb_page(vma, page) local_flush_tlb_page(vma, page) -#define flush_tlb_one(vaddr) local_flush_tlb_one(vaddr) - -#ifndef __ASSEMBLY__ - -static inline unsigned long pevn_get(void) -{ - unsigned long val; - - __asm__ __volatile__( - "mfcr %0, cr11\n" - "nop\nnop\n" - : "=r" (val)); - - return val; -} - -static inline void pevn_set(unsigned long val) -{ - __asm__ __volatile__( - "mtcr %0, cr11\n" - "nop\nnop\nnop\nnop\nnop\n" - : : "r" (val)); -} - -static inline void pectx_set(unsigned long val) -{ - __asm__ __volatile__( - "mtcr %0, cr12\n" - "nop\nnop\nnop\nnop\nnop\n" - : : "r" (val)); -} - -static inline unsigned long pectx_get(void) -{ - unsigned long val; - __asm__ __volatile__( - "mfcr %0, cr12\n" - "nop\nnop\n" - : "=r" (val)); - return val; -} -static inline unsigned long tlblock_get(void) -{ - unsigned long val; - - __asm__ __volatile__( - "mfcr %0, cr7\n" - "nop\nnop\n" - : "=r" (val)); - return val; -} -static inline void tlblock_set(unsigned long val) -{ - __asm__ __volatile__( - "mtcr %0, cr7\n" - "nop\nnop\nnop\nnop\nnop\n" - : : "r" (val)); -} - -static inline void tlbpt_set(unsigned long val) -{ - __asm__ __volatile__( - "mtcr %0, cr8\n" - "nop\nnop\nnop\nnop\nnop\n" - : : "r" (val)); -} - -static inline long tlbpt_get(void) -{ - long val; - - __asm__ __volatile__( - "mfcr %0, cr8\n" - "nop\nnop\n" - : "=r" (val)); - - return val; -} - -static inline void peaddr_set(unsigned long val) -{ - __asm__ __volatile__( - "mtcr %0, cr9\n" - "nop\nnop\nnop\nnop\nnop\n" - : : "r" (val)); -} - -/* TLB operations. */ -static inline void tlb_probe(void) -{ - __asm__ __volatile__("stlb;nop;nop;nop;nop;nop"); -} - -static inline void tlb_read(void) -{ - __asm__ __volatile__("mftlb;nop;nop;nop;nop;nop"); -} - -static inline void tlb_write_indexed(void) -{ - __asm__ __volatile__("mtptlb;nop;nop;nop;nop;nop"); -} - -static inline void tlb_write_random(void) -{ - __asm__ __volatile__("mtrtlb;nop;nop;nop;nop;nop"); -} - -#endif /* Not __ASSEMBLY__ */ - -#endif /* _ASM_SCORE_TLBFLUSH_H */ |