1: /*
2: * Copyright (c) 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)koverlay.h 1.1 (2.10BSD Berkeley) 12/1/86
7: */
8:
9: /*
10: * Definitions relating to kernel text overlays. The kernel and
11: * stand/bootstrap/boot.c must be recompiled if these are changed.
12: * In practice, it is very difficult to change these numbers since
13: * many changes will be necessary in mch.s. This file is provided
14: * mainly to specify how kernel overlays are laid out, not for tuning.
15: *
16: *
17: * Primary variables:
18: * # ovly regs the maximum size of a kernel
19: * overlay segment will be
20: * 8k bytes * # ovly regs.
21: * Currently, must be 1.
22: *
23: * OVLY_TABLE_BASE the address in l.s where the
24: * kernel stores the prototype
25: * PARs and PDRs. The only one
26: * of the constants in this file
27: * which may readily be changed.
28: *
29: * NUM_TEXT_REGS the maximum size of the kernel
30: * base text segment will be
31: * 8k bytes * NUM_TEXT_REGS.
32: */
33:
34: #define OVLY_TABLE_BASE 01000
35:
36: #define I_NUM_TEXT_REGS 7 /* 8 - # ovly regs */
37: #define N_NUM_TEXT_REGS 2
38:
39: #ifdef KERN_NONSEP
40: #define NUM_TEXT_REGS N_NUM_TEXT_REGS
41: #else !KERN_NONSEP
42: #define NUM_TEXT_REGS I_NUM_TEXT_REGS
43: #endif KERN_NONSEP
44:
45: #define I_MAX_DATA_REGS 6
46: #define N_MAX_DATA_REGS 3 /* 6 - NUM_TEXT_REGS - # ovly regs */
47:
48: #ifdef KERN_NONSEP
49: #define MAX_DATA_REGS N_MAX_DATA_REGS
50: #else !KERN_NONSEP
51: #define MAX_DATA_REGS I_MAX_DATA_REGS
52: #endif KERN_NONSEP
53:
54: #define I_DATA_PAR_BASE KDSA0
55: #define N_DATA_PAR_BASE KISA3 /* &KISA[NUM_TEXT_REGS + # ovly regs] */
56:
57: #ifdef KERN_NONSEP
58: #define DATA_PAR_BASE N_DATA_PAR_BASE
59: #else !KERN_NONSEP
60: #define DATA_PAR_BASE I_DATA_PAR_BASE
61: #endif KERN_NONSEP
62:
63: #define I_DATA_PDR_BASE KDSD0
64: #define N_DATA_PDR_BASE KISD3 /* &KISD[NUM_TEXT_REGS + # ovly regs] */
65:
66: #ifdef KERN_NONSEP
67: #define DATA_PDR_BASE N_DATA_PDR_BASE
68: #else !KERN_NONSEP
69: #define DATA_PDR_BASE I_DATA_PDR_BASE
70: #endif KERN_NONSEP
71:
72: #define TEXT_PAR_BASE KISA0
73: #define TEXT_PDR_BASE KISD0
74:
75: #ifdef KERN_NONSEP
76: #define OVLY_PAR KISA2 /* &KISA[NUM_TEXT_REGS] */
77: #define OVLY_PDR KISD2 /* &KISD[NUM_TEXT_REGS] */
78: #else !KERN_NONSEP
79: #define OVLY_PAR KISA7 /* &KISA[NUM_TEXT_REGS] */
80: #define OVLY_PDR KISD7 /* &KISD[NUM_TEXT_REGS] */
81: #endif KERN_NONSEP
Defined macros
Usage of this include