#ifndef _ASM_ARC_MEM_H
#define _ASM_ARC_MEM_H

/* Kernels Virtual memory area.
 * Unlike other architectures(MIPS, sh, cris ) ARC 700 does not have a 
 * "kernel translated" region (like KSEG2 in MIPS). So we use a upper part 
 * of the translated bottom 2GB for kernel virtual memory and protect
 * these pages from user accesses by disabling Ru, Eu and Wu.
 */

/*   Kernel Virtual memory Layout
 * 
 * 0x00000000------------------->|---------------|
 *                               |   user space  |
 *                               |               |
 *                               |               |
 * TASK_SIZE-------------------->|---------------|
 *                               |               |  USER_KERNEL_GUTTER(0x01000000, just as ARC_SOME_PADDING in
 *                               |      16M      |  2.6.30, some padding between user space and kernel virtual
 *                               |               |  address space, ARC guys also don't know why need it)
 * VMALLOC_START---------------->|---------------|
 *                               |               |
 *                               |   128M/48M    |  VMALLOC_SIZE
 *                               |   256M/64M    |  VMALLOC_SIZE
 *                               |               |
 * PCI_REMAP_START(0x58000000)-->|---------------|
 *                               |               |
 *                               |     512M      |  PCI_REMAP_SIZE(0x20000000)
 *                               |               |
 * DMA_NOCACHE_START(0x78000000)>|---------------|
 *                               |               |
 *                               |     128M      |  DMA_NOCACHE_SIZE(0x08000000)
 * DMA_NOCACHE_END-----|         |               |
 * PAGE_OFFSET(0x80000000)------>|---------------|
 *                               |               |
 *                               |   kernel 2G   |
 *                               |               |
 *            (0xffffffff)------>|---------------|
 */

#define DMA_NOCACHE_SIZE	(RUBY_MAX_DRAM_SIZE) /*must be >= memory size, not very scalable with DDR size growing*/
#define DMA_NOCACHE_START	(PAGE_OFFSET - DMA_NOCACHE_SIZE)
#define DMA_NOCACHE_END		(PAGE_OFFSET)

/* PCI remapping */
#define PCI_REMAP_SIZE		(128*1024*1024)
#define PCI_REMAP_START		(DMA_NOCACHE_START - PCI_REMAP_SIZE)
#define PCI_REMAP_END		(DMA_NOCACHE_START)

#endif /* _ARM_ARC_MEM_H */

