From: Guo Ren <[email protected]>

Remove _PAGE_IOREMAP, __READABLE, __WRITEABLE, abi/pgtable-bits.h
definition, they are no use at all.

Signed-off-by: Guo Ren <[email protected]>
Cc: Arnd Bergmann <[email protected]>
---
 arch/csky/abiv1/inc/abi/pgtable-bits.h | 17 ++------
 arch/csky/abiv2/inc/abi/pgtable-bits.h | 14 +-----
 arch/csky/include/asm/pgtable.h        | 59 +++++++++++++-------------
 3 files changed, 35 insertions(+), 55 deletions(-)

diff --git a/arch/csky/abiv1/inc/abi/pgtable-bits.h 
b/arch/csky/abiv1/inc/abi/pgtable-bits.h
index d605445aad9a..6583333b2b0c 100644
--- a/arch/csky/abiv1/inc/abi/pgtable-bits.h
+++ b/arch/csky/abiv1/inc/abi/pgtable-bits.h
@@ -5,33 +5,24 @@
 #define __ASM_CSKY_PGTABLE_BITS_H
 
 /* implemented in software */
-#define _PAGE_ACCESSED         (1<<3)
-#define PAGE_ACCESSED_BIT      (3)
-
+#define _PAGE_PRESENT          (1<<0)
 #define _PAGE_READ             (1<<1)
 #define _PAGE_WRITE            (1<<2)
-#define _PAGE_PRESENT          (1<<0)
-
+#define _PAGE_ACCESSED         (1<<3)
 #define _PAGE_MODIFIED         (1<<4)
-#define PAGE_MODIFIED_BIT      (4)
 
 /* implemented in hardware */
 #define _PAGE_GLOBAL           (1<<6)
-
 #define _PAGE_VALID            (1<<7)
-#define PAGE_VALID_BIT         (7)
-
 #define _PAGE_DIRTY            (1<<8)
-#define PAGE_DIRTY_BIT         (8)
 
 #define _PAGE_CACHE            (3<<9)
 #define _PAGE_UNCACHE          (2<<9)
 #define _PAGE_SO               _PAGE_UNCACHE
-
 #define _CACHE_MASK            (7<<9)
 
-#define _CACHE_CACHED          (_PAGE_VALID | _PAGE_CACHE)
-#define _CACHE_UNCACHED                (_PAGE_VALID | _PAGE_UNCACHE)
+#define _CACHE_CACHED          _PAGE_CACHE
+#define _CACHE_UNCACHED                _PAGE_UNCACHE
 
 #define HAVE_ARCH_UNMAPPED_AREA
 
diff --git a/arch/csky/abiv2/inc/abi/pgtable-bits.h 
b/arch/csky/abiv2/inc/abi/pgtable-bits.h
index 137f7932c83b..09303dbc89a6 100644
--- a/arch/csky/abiv2/inc/abi/pgtable-bits.h
+++ b/arch/csky/abiv2/inc/abi/pgtable-bits.h
@@ -6,32 +6,22 @@
 
 /* implemented in software */
 #define _PAGE_ACCESSED         (1<<7)
-#define PAGE_ACCESSED_BIT      (7)
-
 #define _PAGE_READ             (1<<8)
 #define _PAGE_WRITE            (1<<9)
 #define _PAGE_PRESENT          (1<<10)
-
 #define _PAGE_MODIFIED         (1<<11)
-#define PAGE_MODIFIED_BIT      (11)
 
 /* implemented in hardware */
 #define _PAGE_GLOBAL           (1<<0)
-
 #define _PAGE_VALID            (1<<1)
-#define PAGE_VALID_BIT         (1)
-
 #define _PAGE_DIRTY            (1<<2)
-#define PAGE_DIRTY_BIT         (2)
 
 #define _PAGE_SO               (1<<5)
 #define _PAGE_BUF              (1<<6)
-
 #define _PAGE_CACHE            (1<<3)
-
 #define _CACHE_MASK            _PAGE_CACHE
 
-#define _CACHE_CACHED          (_PAGE_VALID | _PAGE_CACHE | _PAGE_BUF)
-#define _CACHE_UNCACHED                (_PAGE_VALID)
+#define _CACHE_CACHED          (_PAGE_CACHE | _PAGE_BUF)
+#define _CACHE_UNCACHED                (0)
 
 #endif /* __ASM_CSKY_PGTABLE_BITS_H */
diff --git a/arch/csky/include/asm/pgtable.h b/arch/csky/include/asm/pgtable.h
index 429d96f66620..9dfbe7c0ddca 100644
--- a/arch/csky/include/asm/pgtable.h
+++ b/arch/csky/include/asm/pgtable.h
@@ -41,9 +41,6 @@
 #define pfn_pte(pfn, prot) __pte(((unsigned long long)(pfn) << PAGE_SHIFT) \
                                | pgprot_val(prot))
 
-#define __READABLE     (_PAGE_READ | _PAGE_VALID | _PAGE_ACCESSED)
-#define __WRITEABLE    (_PAGE_WRITE | _PAGE_DIRTY | _PAGE_MODIFIED)
-
 #define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | \
                         _CACHE_MASK)
 
@@ -59,43 +56,45 @@
                                        pgprot_val(pgprot))
 
 /*
- * CSKY can't do page protection for execute, and considers that the same like
- * read. Also, write permissions imply read permissions. This is the closest
- * we can get by reasonable means..
+ * C-SKY only has VALID and DIRTY bit in hardware. So we need to use the
+ * two bits emulate PRESENT, READ, WRITE, EXEC, MODIFIED, ACCESSED.
  */
 #define _PAGE_BASE     (_PAGE_PRESENT | _PAGE_ACCESSED)
 
-#define PAGE_NONE      __pgprot(_PAGE_BASE | _CACHE_CACHED)
-#define PAGE_SHARED    __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_WRITE | \
+#define PAGE_NONE      __pgprot(_PAGE_BASE | \
+                               _CACHE_CACHED)
+#define PAGE_READ      __pgprot(_PAGE_BASE | _PAGE_READ | \
                                _CACHE_CACHED)
-#define PAGE_COPY      __pgprot(_PAGE_BASE | _PAGE_READ | _CACHE_CACHED)
-#define PAGE_READONLY  __pgprot(_PAGE_BASE | _PAGE_READ | _CACHE_CACHED)
-#define PAGE_KERNEL    __pgprot(_PAGE_BASE | __READABLE | __WRITEABLE | \
-                               _PAGE_GLOBAL | _CACHE_CACHED)
-#define PAGE_USERIO    __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_WRITE | \
+#define PAGE_WRITE     __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_WRITE | \
+                               _CACHE_CACHED)
+
+#define PAGE_KERNEL    __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_VALID | \
+                               _PAGE_WRITE | _PAGE_DIRTY | _PAGE_MODIFIED | \
+                               _PAGE_GLOBAL | \
                                _CACHE_CACHED)
 
-#define _PAGE_IOREMAP \
-       (_PAGE_BASE | __READABLE | __WRITEABLE | _PAGE_GLOBAL | \
-        _CACHE_UNCACHED | _PAGE_SO)
+#define _PAGE_IOREMAP          (_PAGE_BASE | _PAGE_READ | _PAGE_VALID | \
+                               _PAGE_WRITE | _PAGE_DIRTY | _PAGE_MODIFIED | \
+                               _PAGE_GLOBAL | \
+                               _CACHE_UNCACHED | _PAGE_SO)
 
 #define __P000 PAGE_NONE
-#define __P001 PAGE_READONLY
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_READONLY
-#define __P101 PAGE_READONLY
-#define __P110 PAGE_COPY
-#define __P111 PAGE_COPY
+#define __P001 PAGE_READ
+#define __P010 PAGE_READ
+#define __P011 PAGE_READ
+#define __P100 PAGE_READ
+#define __P101 PAGE_READ
+#define __P110 PAGE_READ
+#define __P111 PAGE_READ
 
 #define __S000 PAGE_NONE
-#define __S001 PAGE_READONLY
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_READONLY
-#define __S101 PAGE_READONLY
-#define __S110 PAGE_SHARED
-#define __S111 PAGE_SHARED
+#define __S001 PAGE_READ
+#define __S010 PAGE_WRITE
+#define __S011 PAGE_WRITE
+#define __S100 PAGE_READ
+#define __S101 PAGE_READ
+#define __S110 PAGE_WRITE
+#define __S111 PAGE_WRITE
 
 extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
 #define ZERO_PAGE(vaddr)       (virt_to_page(empty_zero_page))
-- 
2.17.1

Reply via email to