From b8c9c8f0190f4004d3d4364edb2dea5978dfc824 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Wed, 7 Mar 2018 21:46:52 +0100 Subject: 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 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 Link: http://www.sunplus.com/ Signed-off-by: Arnd Bergmann --- arch/score/include/asm/mmu_context.h | 116 ----------------------------------- 1 file changed, 116 deletions(-) delete mode 100644 arch/score/include/asm/mmu_context.h (limited to 'arch/score/include/asm/mmu_context.h') diff --git a/arch/score/include/asm/mmu_context.h b/arch/score/include/asm/mmu_context.h deleted file mode 100644 index d0aa2a5aebca..000000000000 --- a/arch/score/include/asm/mmu_context.h +++ /dev/null @@ -1,116 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _ASM_SCORE_MMU_CONTEXT_H -#define _ASM_SCORE_MMU_CONTEXT_H - -#include -#include -#include -#include - -#include - -#include -#include -#include - -/* - * For the fast tlb miss handlers, we keep a per cpu array of pointers - * to the current pgd for each processor. Also, the proc. id is stuffed - * into the context register. - */ -extern unsigned long asid_cache; -extern unsigned long pgd_current; - -#define TLBMISS_HANDLER_SETUP_PGD(pgd) (pgd_current = (unsigned long)(pgd)) - -#define TLBMISS_HANDLER_SETUP() \ -do { \ - write_c0_context(0); \ - TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) \ -} while (0) - -/* - * All unused by hardware upper bits will be considered - * as a software asid extension. - */ -#define ASID_VERSION_MASK 0xfffff000 -#define ASID_FIRST_VERSION 0x1000 - -/* PEVN --------- VPN ---------- --ASID--- -NA- */ -/* binary: 0000 0000 0000 0000 0000 0000 0001 0000 */ -/* binary: 0000 0000 0000 0000 0000 1111 1111 0000 */ -#define ASID_INC 0x10 -#define ASID_MASK 0xff0 - -static inline void enter_lazy_tlb(struct mm_struct *mm, - struct task_struct *tsk) -{} - -static inline void -get_new_mmu_context(struct mm_struct *mm) -{ - unsigned long asid = asid_cache + ASID_INC; - - if (!(asid & ASID_MASK)) { - local_flush_tlb_all(); /* start new asid cycle */ - if (!asid) /* fix version if needed */ - asid = ASID_FIRST_VERSION; - } - - mm->context = asid; - asid_cache = asid; -} - -/* - * Initialize the context related info for a new mm_struct - * instance. - */ -static inline int -init_new_context(struct task_struct *tsk, struct mm_struct *mm) -{ - mm->context = 0; - return 0; -} - -static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, - struct task_struct *tsk) -{ - unsigned long flags; - - local_irq_save(flags); - if ((next->context ^ asid_cache) & ASID_VERSION_MASK) - get_new_mmu_context(next); - - pevn_set(next->context); - TLBMISS_HANDLER_SETUP_PGD(next->pgd); - local_irq_restore(flags); -} - -/* - * Destroy context related info for an mm_struct that is about - * to be put to rest. - */ -static inline void destroy_context(struct mm_struct *mm) -{} - -static inline void -deactivate_mm(struct task_struct *task, struct mm_struct *mm) -{} - -/* - * After we have set current->mm to a new value, this activates - * the context for the new mm so we see the new mappings. - */ -static inline void -activate_mm(struct mm_struct *prev, struct mm_struct *next) -{ - unsigned long flags; - - local_irq_save(flags); - get_new_mmu_context(next); - pevn_set(next->context); - TLBMISS_HANDLER_SETUP_PGD(next->pgd); - local_irq_restore(flags); -} - -#endif /* _ASM_SCORE_MMU_CONTEXT_H */ -- cgit v1.2.1