xref: /original-bsd/sys/tahoe/tahoe/genassym.c (revision 1364b7d2)
1 /*
2  * Copyright (c) 1983, 1988 Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  */
17 
18 #ifndef lint
19 char copyright[] =
20 "@(#) Copyright (c) 1983, 1988 Regents of the University of California.\n\
21  All rights reserved.\n";
22 #endif /* not lint */
23 
24 #ifndef lint
25 static char sccsid[] = "@(#)genassym.c	7.4 (Berkeley) 05/05/89";
26 #endif /* not lint */
27 
28 #include "param.h"
29 #include "vmmeter.h"
30 #include "vmparam.h"
31 #include "buf.h"
32 #include "user.h"
33 #include "cmap.h"
34 #include "map.h"
35 #include "proc.h"
36 #include "text.h"
37 #include "mbuf.h"
38 #include "msgbuf.h"
39 
40 #include "pte.h"
41 #include "scb.h"
42 
43 #include "../tahoevba/vbaparam.h"
44 
45 main()
46 {
47 	register struct user *u = (struct user *)0;
48 	register struct proc *p = (struct proc *)0;
49 	register struct vmmeter *vm = (struct vmmeter *)0;
50 	register struct pcb *pcb = (struct pcb *)0;
51 	register struct scb *scb = (struct scb *)0;
52 
53 	printf("#ifdef LOCORE\n");
54 	printf("#define\tU_PROCP %d\n", &u->u_procp);
55 	printf("#define\tU_EOSYS %d\n", &u->u_eosys);
56 	printf("#define\tP_LINK %d\n", &p->p_link);
57 	printf("#define\tP_RLINK %d\n", &p->p_rlink);
58 	printf("#define\tP_XLINK %d\n", &p->p_xlink);
59 	printf("#define\tP_ADDR %d\n", &p->p_addr);
60 	printf("#define\tP_PRI %d\n", &p->p_pri);
61 	printf("#define\tP_STAT %d\n", &p->p_stat);
62 	printf("#define\tP_WCHAN %d\n", &p->p_wchan);
63 	printf("#define\tP_TSIZE %d\n", &p->p_tsize);
64 	printf("#define\tP_SSIZE %d\n", &p->p_ssize);
65 	printf("#define\tP_P0BR %d\n", &p->p_p0br);
66 	printf("#define\tP_SZPT %d\n", &p->p_szpt);
67 	printf("#define\tP_TEXTP %d\n", &p->p_textp);
68 	printf("#define\tP_FLAG %d\n", &p->p_flag);
69 	printf("#define\tP_DKEY %d\n", &p->p_dkey);
70 	printf("#define\tP_CKEY %d\n", &p->p_ckey);
71 	printf("#define\tSSLEEP %d\n", SSLEEP);
72 	printf("#define\tSRUN %d\n", SRUN);
73 	printf("#define\tV_SWTCH %d\n", &vm->v_swtch);
74 	printf("#define\tV_TRAP %d\n", &vm->v_trap);
75 	printf("#define\tV_SYSCALL %d\n", &vm->v_syscall);
76 	printf("#define\tV_INTR %d\n", &vm->v_intr);
77 	printf("#define\tV_SOFT %d\n", &vm->v_soft);
78 	printf("#define\tV_FPE %d\n", &vm->v_fpe);
79 	printf("#define\tV_ALIGN %d\n", &vm->v_align);
80 	printf("#define\tMCLBYTES %d\n", MCLBYTES);
81 	printf("#define\tNBPG %d\n", NBPG);
82 	printf("#define\tPGSHIFT %d\n", PGSHIFT);
83 	printf("#define\tUPAGES %d\n", UPAGES);
84 	printf("#define\tCLSIZE %d\n", CLSIZE);
85 	printf("#define\tMAXPHYS %d\n", MAXPHYS);
86 	printf("#define\tSYSPTSIZE %d\n", SYSPTSIZE);
87 	printf("#define\tUSRPTSIZE %d\n", USRPTSIZE);
88 	printf("#define\tVBIOSIZE %d\n", VBIOSIZE);
89 	printf("#define\tMSGBUFPTECNT %d\n", btoc(sizeof (struct msgbuf)));
90 	printf("#define\tNMBCLUSTERS %d\n", NMBCLUSTERS);
91 	printf("#define\tPCB_KSP %d\n", &pcb->pcb_ksp);
92 	printf("#define\tPCB_USP %d\n", &pcb->pcb_usp);
93 	printf("#define\tPCB_R0 %d\n", &pcb->pcb_r0);
94 	printf("#define\tPCB_R1 %d\n", &pcb->pcb_r1);
95 	printf("#define\tPCB_R2 %d\n", &pcb->pcb_r2);
96 	printf("#define\tPCB_R3 %d\n", &pcb->pcb_r3);
97 	printf("#define\tPCB_R4 %d\n", &pcb->pcb_r4);
98 	printf("#define\tPCB_R5 %d\n", &pcb->pcb_r5);
99 	printf("#define\tPCB_R6 %d\n", &pcb->pcb_r6);
100 	printf("#define\tPCB_R7 %d\n", &pcb->pcb_r7);
101 	printf("#define\tPCB_R8 %d\n", &pcb->pcb_r8);
102 	printf("#define\tPCB_R9 %d\n", &pcb->pcb_r9);
103 	printf("#define\tPCB_R10 %d\n", &pcb->pcb_r10);
104 	printf("#define\tPCB_R11 %d\n", &pcb->pcb_r11);
105 	printf("#define\tPCB_R12 %d\n", &pcb->pcb_r12);
106 	printf("#define\tPCB_R13 %d\n", &pcb->pcb_r13);
107 	printf("#define\tPCB_FP %d\n", &pcb->pcb_fp);
108 	printf("#define\tPCB_PC %d\n", &pcb->pcb_pc);
109 	printf("#define\tPCB_PSL %d\n", &pcb->pcb_psl);
110 	printf("#define\tPCB_P0BR %d\n", &pcb->pcb_p0br);
111 	printf("#define\tPCB_P0LR %d\n", &pcb->pcb_p0lr);
112 	printf("#define\tPCB_P1BR %d\n", &pcb->pcb_p1br);
113 	printf("#define\tPCB_P1LR %d\n", &pcb->pcb_p1lr);
114 	printf("#define\tPCB_P2BR %d\n", &pcb->pcb_p2br);
115 	printf("#define\tPCB_P2LR %d\n", &pcb->pcb_p2lr);
116 	printf("#define\tPCB_ACH %d\n", &pcb->pcb_ach);
117 	printf("#define\tPCB_ACL %d\n", &pcb->pcb_acl);
118 	printf("#define\tPCB_HFS %d\n", &pcb->pcb_hfs);
119 	printf("#define\tPCB_SAVACC %d\n", &pcb->pcb_savacc);
120 	printf("#define\tPCB_SZPT %d\n", &pcb->pcb_szpt);
121 	printf("#define\tPCB_CMAP2 %d\n", &pcb->pcb_cmap2);
122 	printf("#define\tPCB_SSWAP %d\n", &pcb->pcb_sswap);
123 	printf("#define\tPCB_SIGC %d\n", pcb->pcb_sigc);
124 	printf("#define\tSCB_DOADUMP %d\n", &scb->scb_doadump);
125 	printf("#define\tSCB_BUSERR %d\n", &scb->scb_buserr);
126 #define	SCB_DEVBASE	(((int)((struct scb *)0)->scb_devint)/sizeof (int))
127 	printf("#define\tSCB_DEVBASE %d\n", SCB_DEVBASE);
128 	printf("#endif\n");
129 	exit(0);
130 }
131