Thomas Gleixner | c456cfc | 2019-05-28 10:10:14 -0700 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0-only |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | /* |
Paul Mundt | aae4d14 | 2009-08-15 09:57:57 +0900 | [diff] [blame] | 3 | * arch/sh/mm/nommu.c |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | * |
Paul Mundt | aae4d14 | 2009-08-15 09:57:57 +0900 | [diff] [blame] | 5 | * Various helper routines and stubs for MMUless SH. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | * |
Paul Mundt | aae4d14 | 2009-08-15 09:57:57 +0900 | [diff] [blame] | 7 | * Copyright (C) 2002 - 2009 Paul Mundt |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | */ |
| 9 | #include <linux/kernel.h> |
Paul Mundt | aae4d14 | 2009-08-15 09:57:57 +0900 | [diff] [blame] | 10 | #include <linux/init.h> |
| 11 | #include <linux/string.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | #include <linux/mm.h> |
Paul Mundt | fa43972 | 2008-09-04 18:53:58 +0900 | [diff] [blame] | 13 | #include <asm/tlbflush.h> |
Paul Mundt | aae4d14 | 2009-08-15 09:57:57 +0900 | [diff] [blame] | 14 | #include <asm/page.h> |
Linus Torvalds | 7c0f6ba | 2016-12-24 11:46:01 -0800 | [diff] [blame] | 15 | #include <linux/uaccess.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | |
| 17 | /* |
| 18 | * Nothing too terribly exciting here .. |
| 19 | */ |
Paul Mundt | aae4d14 | 2009-08-15 09:57:57 +0900 | [diff] [blame] | 20 | void 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 *to, __kernel_size_t n) |
| 32 | { |
| 33 | memset(to, 0, n); |
| 34 | return 0; |
| 35 | } |
| 36 | |
Paul Mundt | ea9af69 | 2006-12-25 19:28:54 +0900 | [diff] [blame] | 37 | void local_flush_tlb_all(void) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 38 | { |
| 39 | BUG(); |
| 40 | } |
| 41 | |
Paul Mundt | ea9af69 | 2006-12-25 19:28:54 +0900 | [diff] [blame] | 42 | void local_flush_tlb_mm(struct mm_struct *mm) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 | { |
| 44 | BUG(); |
| 45 | } |
| 46 | |
Paul Mundt | ea9af69 | 2006-12-25 19:28:54 +0900 | [diff] [blame] | 47 | void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 48 | unsigned long end) |
| 49 | { |
| 50 | BUG(); |
| 51 | } |
| 52 | |
Paul Mundt | ea9af69 | 2006-12-25 19:28:54 +0900 | [diff] [blame] | 53 | void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 54 | { |
| 55 | BUG(); |
| 56 | } |
| 57 | |
Paul Mundt | ea9af69 | 2006-12-25 19:28:54 +0900 | [diff] [blame] | 58 | void local_flush_tlb_one(unsigned long asid, unsigned long page) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 59 | { |
| 60 | BUG(); |
| 61 | } |
| 62 | |
Paul Mundt | ea9af69 | 2006-12-25 19:28:54 +0900 | [diff] [blame] | 63 | void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 64 | { |
| 65 | BUG(); |
| 66 | } |
| 67 | |
Paul Mundt | a8dc49b | 2010-08-16 14:53:01 +0900 | [diff] [blame] | 68 | void __flush_tlb_global(void) |
| 69 | { |
| 70 | } |
| 71 | |
Paul Mundt | 9cef749 | 2009-07-29 00:12:17 +0900 | [diff] [blame] | 72 | void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 73 | { |
Paul Mundt | 9cef749 | 2009-07-29 00:12:17 +0900 | [diff] [blame] | 74 | } |
| 75 | |
Paul Mundt | 2739742 | 2009-08-15 09:19:19 +0900 | [diff] [blame] | 76 | void __init kmap_coherent_init(void) |
| 77 | { |
| 78 | } |
| 79 | |
| 80 | void *kmap_coherent(struct page *page, unsigned long addr) |
| 81 | { |
| 82 | BUG(); |
| 83 | return NULL; |
| 84 | } |
| 85 | |
Paul Mundt | 0906a3a | 2009-09-03 17:21:10 +0900 | [diff] [blame] | 86 | void kunmap_coherent(void *kvaddr) |
Paul Mundt | 2739742 | 2009-08-15 09:19:19 +0900 | [diff] [blame] | 87 | { |
| 88 | BUG(); |
| 89 | } |
| 90 | |
Paul Mundt | 9acb98f | 2007-12-17 10:52:11 +0900 | [diff] [blame] | 91 | void __init page_table_range_init(unsigned long start, unsigned long end, |
| 92 | pgd_t *pgd_base) |
| 93 | { |
| 94 | } |
Paul Mundt | 52e8b11 | 2007-12-18 09:43:35 +0900 | [diff] [blame] | 95 | |
| 96 | void __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot) |
| 97 | { |
| 98 | } |