nommu.c (1643B)
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * arch/sh/mm/nommu.c 4 * 5 * Various helper routines and stubs for MMUless SH. 6 * 7 * Copyright (C) 2002 - 2009 Paul Mundt 8 */ 9#include <linux/kernel.h> 10#include <linux/init.h> 11#include <linux/string.h> 12#include <linux/mm.h> 13#include <asm/tlbflush.h> 14#include <asm/page.h> 15#include <linux/uaccess.h> 16 17/* 18 * Nothing too terribly exciting here .. 19 */ 20void copy_page(void *to, void *from) 21{ 22 memcpy(to, from, PAGE_SIZE); 23} 24 25__kernel_size_t __copy_user(void *to, const void *from, __kernel_size_t n) 26{ 27 memcpy(to, from, n); 28 return 0; 29} 30 31__kernel_size_t __clear_user(void __user *to, __kernel_size_t n) 32{ 33 memset((__force void *)to, 0, n); 34 return 0; 35} 36 37void local_flush_tlb_all(void) 38{ 39 BUG(); 40} 41 42void local_flush_tlb_mm(struct mm_struct *mm) 43{ 44 BUG(); 45} 46 47void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, 48 unsigned long end) 49{ 50 BUG(); 51} 52 53void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) 54{ 55 BUG(); 56} 57 58void local_flush_tlb_one(unsigned long asid, unsigned long page) 59{ 60 BUG(); 61} 62 63void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) 64{ 65 BUG(); 66} 67 68void __flush_tlb_global(void) 69{ 70} 71 72void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) 73{ 74} 75 76void __init kmap_coherent_init(void) 77{ 78} 79 80void *kmap_coherent(struct page *page, unsigned long addr) 81{ 82 BUG(); 83 return NULL; 84} 85 86void kunmap_coherent(void *kvaddr) 87{ 88 BUG(); 89} 90 91void __init page_table_range_init(unsigned long start, unsigned long end, 92 pgd_t *pgd_base) 93{ 94} 95 96void __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot) 97{ 98}