linux/arch/sparc/include/asm/vaddrs.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _SPARC_VADDRS_H
   3#define _SPARC_VADDRS_H
   4
   5#include <asm/head.h>
   6
   7/*
   8 * asm/vaddrs.h:  Here we define the virtual addresses at
   9 *                      which important things will be mapped.
  10 *
  11 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
  12 * Copyright (C) 2000 Anton Blanchard (anton@samba.org)
  13 */
  14
  15#define SRMMU_MAXMEM            0x0c000000
  16
  17#define SRMMU_NOCACHE_VADDR     (KERNBASE + SRMMU_MAXMEM)
  18                                /* = 0x0fc000000 */
  19/* XXX Empiricals - this needs to go away - KMW */
  20#define SRMMU_MIN_NOCACHE_PAGES (550)
  21#define SRMMU_MAX_NOCACHE_PAGES (1280)
  22
  23/* The following constant is used in mm/srmmu.c::srmmu_nocache_calcsize()
  24 * to determine the amount of memory that will be reserved as nocache:
  25 *
  26 * 256 pages will be taken as nocache per each
  27 * SRMMU_NOCACHE_ALCRATIO MB of system memory.
  28 *
  29 * limits enforced:     nocache minimum = 256 pages
  30 *                      nocache maximum = 1280 pages
  31 */
  32#define SRMMU_NOCACHE_ALCRATIO  64      /* 256 pages per 64MB of system RAM */
  33
  34#ifndef __ASSEMBLY__
  35#include <asm/kmap_types.h>
  36
  37enum fixed_addresses {
  38        FIX_HOLE,
  39#ifdef CONFIG_HIGHMEM
  40        FIX_KMAP_BEGIN,
  41        FIX_KMAP_END = (KM_TYPE_NR * NR_CPUS),
  42#endif
  43        __end_of_fixed_addresses
  44};
  45#endif
  46
  47/* Leave one empty page between IO pages at 0xfd000000 and
  48 * the top of the fixmap.
  49 */
  50#define FIXADDR_TOP             (0xfcfff000UL)
  51#define FIXADDR_SIZE            ((FIX_KMAP_END + 1) << PAGE_SHIFT)
  52#define FIXADDR_START           (FIXADDR_TOP - FIXADDR_SIZE)
  53
  54#define __fix_to_virt(x)        (FIXADDR_TOP - ((x) << PAGE_SHIFT))
  55
  56#define SUN4M_IOBASE_VADDR      0xfd000000 /* Base for mapping pages */
  57#define IOBASE_VADDR            0xfe000000
  58#define IOBASE_END              0xfe600000
  59
  60#define KADB_DEBUGGER_BEGVM     0xffc00000 /* Where kern debugger is in virt-mem */
  61#define KADB_DEBUGGER_ENDVM     0xffd00000
  62#define DEBUG_FIRSTVADDR        KADB_DEBUGGER_BEGVM
  63#define DEBUG_LASTVADDR         KADB_DEBUGGER_ENDVM
  64
  65#define LINUX_OPPROM_BEGVM      0xffd00000
  66#define LINUX_OPPROM_ENDVM      0xfff00000
  67
  68#define DVMA_VADDR              0xfff00000 /* Base area of the DVMA on suns */
  69#define DVMA_END                0xfffc0000
  70
  71#endif /* !(_SPARC_VADDRS_H) */
  72