Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/unicore32/include/asm/pgtable-hwdef.h
10818 views
1
/*
2
* linux/arch/unicore32/include/asm/pgtable-hwdef.h
3
*
4
* Code specific to PKUnity SoC and UniCore ISA
5
*
6
* Copyright (C) 2001-2010 GUAN Xue-tao
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License version 2 as
10
* published by the Free Software Foundation.
11
*/
12
#ifndef __UNICORE_PGTABLE_HWDEF_H__
13
#define __UNICORE_PGTABLE_HWDEF_H__
14
15
/*
16
* Hardware page table definitions.
17
*
18
* + Level 1 descriptor (PMD)
19
* - common
20
*/
21
#define PMD_TYPE_MASK (3 << 0)
22
#define PMD_TYPE_TABLE (0 << 0)
23
/*#define PMD_TYPE_LARGE (1 << 0) */
24
#define PMD_TYPE_INVALID (2 << 0)
25
#define PMD_TYPE_SECT (3 << 0)
26
27
#define PMD_PRESENT (1 << 2)
28
#define PMD_YOUNG (1 << 3)
29
30
/*#define PMD_SECT_DIRTY (1 << 4) */
31
#define PMD_SECT_CACHEABLE (1 << 5)
32
#define PMD_SECT_EXEC (1 << 6)
33
#define PMD_SECT_WRITE (1 << 7)
34
#define PMD_SECT_READ (1 << 8)
35
36
/*
37
* + Level 2 descriptor (PTE)
38
* - common
39
*/
40
#define PTE_TYPE_MASK (3 << 0)
41
#define PTE_TYPE_SMALL (0 << 0)
42
#define PTE_TYPE_MIDDLE (1 << 0)
43
#define PTE_TYPE_LARGE (2 << 0)
44
#define PTE_TYPE_INVALID (3 << 0)
45
46
#define PTE_PRESENT (1 << 2)
47
#define PTE_FILE (1 << 3) /* only when !PRESENT */
48
#define PTE_YOUNG (1 << 3)
49
#define PTE_DIRTY (1 << 4)
50
#define PTE_CACHEABLE (1 << 5)
51
#define PTE_EXEC (1 << 6)
52
#define PTE_WRITE (1 << 7)
53
#define PTE_READ (1 << 8)
54
55
#endif
56
57