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.3 (Berkeley) 09/24/88"; 26 #endif /* not lint */ 27 28 #include "param.h" 29 #include "vmmeter.h" 30 #include "vmparam.h" 31 #include "buf.h" 32 #include "dir.h" 33 #include "user.h" 34 #include "cmap.h" 35 #include "map.h" 36 #include "proc.h" 37 #include "text.h" 38 #include "mbuf.h" 39 #include "msgbuf.h" 40 41 #include "pte.h" 42 #include "scb.h" 43 44 #include "../tahoevba/vbaparam.h" 45 46 main() 47 { 48 register struct user *u = (struct user *)0; 49 register struct proc *p = (struct proc *)0; 50 register struct vmmeter *vm = (struct vmmeter *)0; 51 register struct pcb *pcb = (struct pcb *)0; 52 register struct scb *scb = (struct scb *)0; 53 54 printf("#ifdef LOCORE\n"); 55 printf("#define\tU_PROCP %d\n", &u->u_procp); 56 printf("#define\tU_EOSYS %d\n", &u->u_eosys); 57 printf("#define\tP_LINK %d\n", &p->p_link); 58 printf("#define\tP_RLINK %d\n", &p->p_rlink); 59 printf("#define\tP_XLINK %d\n", &p->p_xlink); 60 printf("#define\tP_ADDR %d\n", &p->p_addr); 61 printf("#define\tP_PRI %d\n", &p->p_pri); 62 printf("#define\tP_STAT %d\n", &p->p_stat); 63 printf("#define\tP_WCHAN %d\n", &p->p_wchan); 64 printf("#define\tP_TSIZE %d\n", &p->p_tsize); 65 printf("#define\tP_SSIZE %d\n", &p->p_ssize); 66 printf("#define\tP_P0BR %d\n", &p->p_p0br); 67 printf("#define\tP_SZPT %d\n", &p->p_szpt); 68 printf("#define\tP_TEXTP %d\n", &p->p_textp); 69 printf("#define\tP_FLAG %d\n", &p->p_flag); 70 printf("#define\tP_DKEY %d\n", &p->p_dkey); 71 printf("#define\tP_CKEY %d\n", &p->p_ckey); 72 printf("#define\tSSLEEP %d\n", SSLEEP); 73 printf("#define\tSRUN %d\n", SRUN); 74 printf("#define\tV_SWTCH %d\n", &vm->v_swtch); 75 printf("#define\tV_TRAP %d\n", &vm->v_trap); 76 printf("#define\tV_SYSCALL %d\n", &vm->v_syscall); 77 printf("#define\tV_INTR %d\n", &vm->v_intr); 78 printf("#define\tV_SOFT %d\n", &vm->v_soft); 79 printf("#define\tV_FPE %d\n", &vm->v_fpe); 80 printf("#define\tV_ALIGN %d\n", &vm->v_align); 81 printf("#define\tMCLBYTES %d\n", MCLBYTES); 82 printf("#define\tNBPG %d\n", NBPG); 83 printf("#define\tPGSHIFT %d\n", PGSHIFT); 84 printf("#define\tUPAGES %d\n", UPAGES); 85 printf("#define\tCLSIZE %d\n", CLSIZE); 86 printf("#define\tMAXPHYS %d\n", MAXPHYS); 87 printf("#define\tSYSPTSIZE %d\n", SYSPTSIZE); 88 printf("#define\tUSRPTSIZE %d\n", USRPTSIZE); 89 printf("#define\tVBIOSIZE %d\n", VBIOSIZE); 90 printf("#define\tMSGBUFPTECNT %d\n", btoc(sizeof (struct msgbuf))); 91 printf("#define\tNMBCLUSTERS %d\n", NMBCLUSTERS); 92 printf("#define\tPCB_KSP %d\n", &pcb->pcb_ksp); 93 printf("#define\tPCB_USP %d\n", &pcb->pcb_usp); 94 printf("#define\tPCB_R0 %d\n", &pcb->pcb_r0); 95 printf("#define\tPCB_R1 %d\n", &pcb->pcb_r1); 96 printf("#define\tPCB_R2 %d\n", &pcb->pcb_r2); 97 printf("#define\tPCB_R3 %d\n", &pcb->pcb_r3); 98 printf("#define\tPCB_R4 %d\n", &pcb->pcb_r4); 99 printf("#define\tPCB_R5 %d\n", &pcb->pcb_r5); 100 printf("#define\tPCB_R6 %d\n", &pcb->pcb_r6); 101 printf("#define\tPCB_R7 %d\n", &pcb->pcb_r7); 102 printf("#define\tPCB_R8 %d\n", &pcb->pcb_r8); 103 printf("#define\tPCB_R9 %d\n", &pcb->pcb_r9); 104 printf("#define\tPCB_R10 %d\n", &pcb->pcb_r10); 105 printf("#define\tPCB_R11 %d\n", &pcb->pcb_r11); 106 printf("#define\tPCB_R12 %d\n", &pcb->pcb_r12); 107 printf("#define\tPCB_R13 %d\n", &pcb->pcb_r13); 108 printf("#define\tPCB_FP %d\n", &pcb->pcb_fp); 109 printf("#define\tPCB_PC %d\n", &pcb->pcb_pc); 110 printf("#define\tPCB_PSL %d\n", &pcb->pcb_psl); 111 printf("#define\tPCB_P0BR %d\n", &pcb->pcb_p0br); 112 printf("#define\tPCB_P0LR %d\n", &pcb->pcb_p0lr); 113 printf("#define\tPCB_P1BR %d\n", &pcb->pcb_p1br); 114 printf("#define\tPCB_P1LR %d\n", &pcb->pcb_p1lr); 115 printf("#define\tPCB_P2BR %d\n", &pcb->pcb_p2br); 116 printf("#define\tPCB_P2LR %d\n", &pcb->pcb_p2lr); 117 printf("#define\tPCB_ACH %d\n", &pcb->pcb_ach); 118 printf("#define\tPCB_ACL %d\n", &pcb->pcb_acl); 119 printf("#define\tPCB_HFS %d\n", &pcb->pcb_hfs); 120 printf("#define\tPCB_SAVACC %d\n", &pcb->pcb_savacc); 121 printf("#define\tPCB_SZPT %d\n", &pcb->pcb_szpt); 122 printf("#define\tPCB_CMAP2 %d\n", &pcb->pcb_cmap2); 123 printf("#define\tPCB_SSWAP %d\n", &pcb->pcb_sswap); 124 printf("#define\tPCB_SIGC %d\n", pcb->pcb_sigc); 125 printf("#define\tSCB_DOADUMP %d\n", &scb->scb_doadump); 126 printf("#define\tSCB_BUSERR %d\n", &scb->scb_buserr); 127 #define SCB_DEVBASE (((int)((struct scb *)0)->scb_devint)/sizeof (int)) 128 printf("#define\tSCB_DEVBASE %d\n", SCB_DEVBASE); 129 printf("#endif\n"); 130 exit(0); 131 } 132