root/arch/unicore32/include/mach/memory.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * linux/arch/unicore32/include/mach/memory.h
   4  *
   5  * Code specific to PKUnity SoC and UniCore ISA
   6  *
   7  * Copyright (C) 2001-2010 GUAN Xue-tao
   8  */
   9 #ifndef __MACH_PUV3_MEMORY_H__
  10 #define __MACH_PUV3_MEMORY_H__
  11 
  12 #include <mach/hardware.h>
  13 
  14 /* Physical DRAM offset. */
  15 #define PHYS_OFFSET     UL(0x00000000)
  16 /* The base address of exception vectors. */
  17 #define VECTORS_BASE    UL(0xffff0000)
  18 /* The base address of kuser area. */
  19 #define KUSER_BASE      UL(0x80000000)
  20 
  21 #ifdef __ASSEMBLY__
  22 /* The byte offset of the kernel image in RAM from the start of RAM. */
  23 #define KERNEL_IMAGE_START      0x00408000
  24 #endif
  25 
  26 #if !defined(__ASSEMBLY__) && defined(CONFIG_PCI)
  27 
  28 void puv3_pci_adjust_zones(unsigned long *size, unsigned long *holes);
  29 
  30 #define arch_adjust_zones(size, holes) \
  31         puv3_pci_adjust_zones(size, holes)
  32 
  33 #endif
  34 
  35 /*
  36  * PCI controller in PKUnity-3 masks highest 5-bit for upstream channel,
  37  * so we must limit the DMA allocation within 128M physical memory for
  38  * supporting PCI devices.
  39  */
  40 #define PCI_DMA_THRESHOLD       (PHYS_OFFSET + SZ_128M - 1)
  41 
  42 #define is_pcibus_device(dev)   (dev &&                 \
  43                                 (strncmp(dev->bus->name, "pci", 3) == 0))
  44 
  45 #define __virt_to_pcibus(x)     (__virt_to_phys((x) + PKUNITY_PCIAHB_BASE))
  46 #define __pcibus_to_virt(x)     (__phys_to_virt(x) - PKUNITY_PCIAHB_BASE)
  47 
  48 /* kuser area */
  49 #define KUSER_VECPAGE_BASE      (KUSER_BASE + UL(0x3fff0000))
  50 /* kuser_vecpage (0xbfff0000) is ro, and vectors page (0xffff0000) is rw */
  51 #define kuser_vecpage_to_vectors(x)     ((x) - (KUSER_VECPAGE_BASE)     \
  52                                         + (VECTORS_BASE))
  53 
  54 #endif

/* [<][>][^][v][top][bottom][index][help] */