/* SPDX-License-Identifier: GPL-2.0 */
/*
 * CRIS MMU constants and PTE layout
 */

#ifndef _CRIS_ARCH_MMU_H
#define _CRIS_ARCH_MMU_H

/* type used in struct mm to couple an MMU context to an active mm */

typedef struct
{
  unsigned int page_id;
} mm_context_t;

/* kernel memory segments */

#define KSEG_F 0xf0000000UL
#define KSEG_E 0xe0000000UL
#define KSEG_D 0xd0000000UL
#define KSEG_C 0xc0000000UL
#define KSEG_B 0xb0000000UL
#define KSEG_A 0xa0000000UL
#define KSEG_9 0x90000000UL
#define KSEG_8 0x80000000UL
#define KSEG_7 0x70000000UL
#define KSEG_6 0x60000000UL
#define KSEG_5 0x50000000UL
#define KSEG_4 0x40000000UL
#define KSEG_3 0x30000000UL
#define KSEG_2 0x20000000UL
#define KSEG_1 0x10000000UL
#define KSEG_0 0x00000000UL

/* CRIS PTE bits (see R_TLB_LO in the register description)
 *
 *   Bit:  31     30-13 12-------4    3        2       1       0
 *         _______________________________________________________
 *        | cache |pfn | reserved | global | valid | kernel | we  |
 *        |_______|____|__________|________|_______|________|_____|
 *
 * (pfn = physical frame number)
 */

/* Real HW-based PTE bits. We use some synonym names so that
 * things become less confusing in combination with the SW-based
 * bits further below.
 *
 */

#define _PAGE_WE	   (1<<0) /* page is write-enabled */
#define _PAGE_SILENT_WRITE (1<<0) /* synonym */
#define _PAGE_KERNEL	   (1<<1) /* page is kernel only */
#define _PAGE_VALID	   (1<<2) /* page is valid */
#define _PAGE_SILENT_READ  (1<<2) /* synonym */
#define _PAGE_GLOBAL       (1<<3) /* global page - context is ignored */
#define _PAGE_NO_CACHE	   (1<<31) /* part of the uncached memory map */

/* Bits the HW doesn't care about but the kernel uses them in SW */

#define _PAGE_PRESENT   (1<<4)  /* page present in memory */
#define _PAGE_ACCESSED	(1<<5)  /* simulated in software using valid bit */
#define _PAGE_MODIFIED	(1<<6)  /* simulated in software using we bit */
#define _PAGE_READ      (1<<7)  /* read-enabled */
#define _PAGE_WRITE     (1<<8)  /* write-enabled */

/* Define some higher level generic page attributes. */

#define __READABLE      (_PAGE_READ | _PAGE_SILENT_READ | _PAGE_ACCESSED)
#define __WRITEABLE     (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED)

#define _PAGE_TABLE     (_PAGE_PRESENT | __READABLE | __WRITEABLE)
#define _PAGE_CHG_MASK  (PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED)

#define PAGE_NONE       __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED)
#define PAGE_SHARED     __pgprot(_PAGE_PRESENT | __READABLE | _PAGE_WRITE | \
				 _PAGE_ACCESSED)
#define PAGE_COPY       __pgprot(_PAGE_PRESENT | __READABLE)  // | _PAGE_COW
#define PAGE_READONLY   __pgprot(_PAGE_PRESENT | __READABLE)
#define PAGE_KERNEL     __pgprot(_PAGE_GLOBAL | _PAGE_KERNEL | \
				 _PAGE_PRESENT | __READABLE | __WRITEABLE)
#define _KERNPG_TABLE   (_PAGE_TABLE | _PAGE_KERNEL)

/*
 * CRIS can't do page protection for execute, and considers read the same.
 * Also, write permissions imply read permissions. This is the closest we can
 * get..
 */

#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 __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

#endif
