1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2005-2017 Andes Technology Corporation
6 #ifndef _ASMNDS32_PAGE_H
7 #define _ASMNDS32_PAGE_H
9 #ifdef CONFIG_ANDES_PAGE_SIZE_4KB
12 #ifdef CONFIG_ANDES_PAGE_SIZE_8KB
15 #include <linux/const.h>
16 #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
17 #define PAGE_MASK (~(PAGE_SIZE-1))
24 struct vm_area_struct
;
25 #ifdef CONFIG_CPU_CACHE_ALIASING
26 extern void copy_user_highpage(struct page
*to
, struct page
*from
,
27 unsigned long vaddr
, struct vm_area_struct
*vma
);
28 extern void clear_user_highpage(struct page
*page
, unsigned long vaddr
);
30 void copy_user_page(void *vto
, void *vfrom
, unsigned long vaddr
,
32 void clear_user_page(void *addr
, unsigned long vaddr
, struct page
*page
);
33 #define __HAVE_ARCH_COPY_USER_HIGHPAGE
34 #define clear_user_highpage clear_user_highpage
36 #define clear_user_page(page, vaddr, pg) clear_page(page)
37 #define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
40 void clear_page(void *page
);
41 void copy_page(void *to
, void *from
);
43 typedef unsigned long pte_t
;
44 typedef unsigned long pgd_t
;
45 typedef unsigned long pgprot_t
;
47 #define pte_val(x) (x)
48 #define pgd_val(x) (x)
49 #define pgprot_val(x) (x)
53 #define __pgprot(x) (x)
55 typedef struct page
*pgtable_t
;
57 #include <asm/memory.h>
58 #include <asm-generic/getorder.h>
60 #endif /* !__ASSEMBLY__ */
62 #endif /* __KERNEL__ */