File: /usr/src/linux/include/asm-sparc/vaddrs.h

1     /* $Id: vaddrs.h,v 1.27 2001/07/04 00:18:18 davem Exp $ */
2     #ifndef _SPARC_VADDRS_H
3     #define _SPARC_VADDRS_H
4     
5     #include <asm/head.h>
6     
7     /*
8      * asm-sparc/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	0xfc000000	/* KERNBASE + SRMMU_MAXMEM */
18     /* XXX Make this dynamic based on ram size - Anton */
19     #define SRMMU_NOCACHE_NPAGES	256
20     #define SRMMU_NOCACHE_SIZE	(SRMMU_NOCACHE_NPAGES * PAGE_SIZE)
21     #define SRMMU_NOCACHE_END	(SRMMU_NOCACHE_VADDR + SRMMU_NOCACHE_SIZE)
22     
23     #define FIX_KMAP_BEGIN		0xfc100000
24     #define FIX_KMAP_END (FIX_KMAP_BEGIN + ((KM_TYPE_NR*NR_CPUS)-1)*PAGE_SIZE)
25     
26     #define PKMAP_BASE		0xfc140000
27     #define PKMAP_BASE_END		(PKMAP_BASE+LAST_PKMAP*PAGE_SIZE)
28     
29     #define SUN4M_IOBASE_VADDR	0xfd000000 /* Base for mapping pages */
30     #define IOBASE_VADDR		0xfe000000
31     #define IOBASE_END		0xfe300000
32     
33     #define VMALLOC_START		0xfe300000
34     /* XXX Alter this when I get around to fixing sun4c - Anton */
35     #define VMALLOC_END		0xffc00000
36     
37     /*
38      * On the sun4/4c we need a place
39      * to reliably map locked down kernel data.  This includes the
40      * task_struct and kernel stack pages of each process plus the
41      * scsi buffers during dvma IO transfers, also the floppy buffers
42      * during pseudo dma which runs with traps off (no faults allowed).
43      * Some quick calculations yield:
44      *       NR_TASKS <512> * (3 * PAGE_SIZE) == 0x600000
45      * Subtract this from 0xc00000 and you get 0x927C0 of vm left
46      * over to map SCSI dvma + floppy pseudo-dma buffers.  So be
47      * careful if you change NR_TASKS or else there won't be enough
48      * room for it all.
49      */
50     #define SUN4C_LOCK_VADDR	0xff000000
51     #define SUN4C_LOCK_END		0xffc00000
52     
53     #define KADB_DEBUGGER_BEGVM	0xffc00000 /* Where kern debugger is in virt-mem */
54     #define KADB_DEBUGGER_ENDVM	0xffd00000
55     #define DEBUG_FIRSTVADDR	KADB_DEBUGGER_BEGVM
56     #define DEBUG_LASTVADDR		KADB_DEBUGGER_ENDVM
57     
58     #define LINUX_OPPROM_BEGVM	0xffd00000
59     #define LINUX_OPPROM_ENDVM	0xfff00000
60     
61     #define DVMA_VADDR		0xfff00000 /* Base area of the DVMA on suns */
62     #define DVMA_END		0xfffc0000
63     
64     #endif /* !(_SPARC_VADDRS_H) */
65