page.h 1.7 KB
Newer Older
1
/* SPDX-License-Identifier: GPL-2.0 */
G
Greentime Hu 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
/*
 * Copyright (C) 2005-2017 Andes Technology Corporation
 */

#ifndef _ASMNDS32_PAGE_H
#define _ASMNDS32_PAGE_H

#ifdef CONFIG_ANDES_PAGE_SIZE_4KB
#define PAGE_SHIFT      12
#endif
#ifdef CONFIG_ANDES_PAGE_SIZE_8KB
#define PAGE_SHIFT      13
#endif
#include <linux/const.h>
#define PAGE_SIZE       (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK       (~(PAGE_SIZE-1))

#ifdef __KERNEL__

#ifndef __ASSEMBLY__

struct page;
struct vm_area_struct;
#ifdef CONFIG_CPU_CACHE_ALIASING
extern void copy_user_highpage(struct page *to, struct page *from,
			       unsigned long vaddr, struct vm_area_struct *vma);
extern void clear_user_highpage(struct page *page, unsigned long vaddr);

30 31 32
void copy_user_page(void *vto, void *vfrom, unsigned long vaddr,
		    struct page *to);
void clear_user_page(void *addr, unsigned long vaddr, struct page *page);
G
Greentime Hu 已提交
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
#define __HAVE_ARCH_COPY_USER_HIGHPAGE
#define clear_user_highpage	clear_user_highpage
#else
#define clear_user_page(page, vaddr, pg)        clear_page(page)
#define copy_user_page(to, from, vaddr, pg)     copy_page(to, from)
#endif

void clear_page(void *page);
void copy_page(void *to, void *from);

typedef unsigned long pte_t;
typedef unsigned long pmd_t;
typedef unsigned long pgd_t;
typedef unsigned long pgprot_t;

#define pte_val(x)      (x)
#define pmd_val(x)      (x)
#define pgd_val(x)	(x)
#define pgprot_val(x)   (x)

#define __pte(x)        (x)
#define __pmd(x)        (x)
#define __pgd(x)        (x)
#define __pgprot(x)     (x)

typedef struct page *pgtable_t;

#include <asm/memory.h>
#include <asm-generic/getorder.h>

#endif /* !__ASSEMBLY__ */

#define VM_DATA_DEFAULT_FLAGS	(VM_READ | VM_WRITE | VM_EXEC | \
				 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

#endif /* __KERNEL__ */

#endif