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