1 /* 2 * Copyright (c) 1982, 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 * @(#)genassym.c 7.1 (Berkeley) 06/05/86 7 */ 8 9 #define KERNEL 10 #define VAX780 1 11 #define VAX750 1 12 #define VAX730 1 13 #define VAX630 1 14 15 #include "pte.h" 16 17 #include "param.h" 18 #include "buf.h" 19 #include "vmmeter.h" 20 #include "vmparam.h" 21 #include "dir.h" 22 #include "user.h" 23 #include "cmap.h" 24 #include "map.h" 25 #include "../vaxuba/ubareg.h" 26 #include "../vaxuba/ubavar.h" 27 #include "proc.h" 28 #include "text.h" 29 #include "rpb.h" 30 #include "mbuf.h" 31 #include "msgbuf.h" 32 33 struct uba_hd uba_hd[1]; 34 35 main() 36 { 37 register struct proc *p = (struct proc *)0; 38 register struct uba_regs *uba = (struct uba_regs *)0; 39 register struct uba_hd *uh = (struct uba_hd *)0; 40 register struct vmmeter *vm = (struct vmmeter *)0; 41 register struct user *up = (struct user *)0; 42 register struct rusage *rup = (struct rusage *)0; 43 struct rpb *rp = (struct rpb *)0; 44 struct text *tp = (struct text *)0; 45 46 printf("#ifdef LOCORE\n"); 47 printf("#define\tP_LINK %d\n", &p->p_link); 48 printf("#define\tP_RLINK %d\n", &p->p_rlink); 49 printf("#define\tP_XLINK %d\n", &p->p_xlink); 50 printf("#define\tP_ADDR %d\n", &p->p_addr); 51 printf("#define\tP_PRI %d\n", &p->p_pri); 52 printf("#define\tP_STAT %d\n", &p->p_stat); 53 printf("#define\tP_WCHAN %d\n", &p->p_wchan); 54 printf("#define\tP_TSIZE %d\n", &p->p_tsize); 55 printf("#define\tP_DSIZE %d\n", &p->p_dsize); 56 printf("#define\tP_SSIZE %d\n", &p->p_ssize); 57 printf("#define\tP_P0BR %d\n", &p->p_p0br); 58 printf("#define\tP_SZPT %d\n", &p->p_szpt); 59 printf("#define\tP_TEXTP %d\n", &p->p_textp); 60 printf("#define\tP_FLAG %d\n", &p->p_flag); 61 printf("#define\tSSLEEP %d\n", SSLEEP); 62 printf("#define\tSRUN %d\n", SRUN); 63 printf("#define\tUBA_BRRVR %d\n", uba->uba_brrvr); 64 printf("#define\tUH_UBA %d\n", &uh->uh_uba); 65 printf("#define\tUH_VEC %d\n", &uh->uh_vec); 66 printf("#define\tUH_SIZE %d\n", sizeof (struct uba_hd)); 67 printf("#define\tRP_FLAG %d\n", &rp->rp_flag); 68 printf("#define\tX_CADDR %d\n", &tp->x_caddr); 69 printf("#define\tV_SWTCH %d\n", &vm->v_swtch); 70 printf("#define\tV_TRAP %d\n", &vm->v_trap); 71 printf("#define\tV_SYSCALL %d\n", &vm->v_syscall); 72 printf("#define\tV_INTR %d\n", &vm->v_intr); 73 printf("#define\tV_SOFT %d\n", &vm->v_soft); 74 printf("#define\tV_PDMA %d\n", &vm->v_pdma); 75 printf("#define\tV_FAULTS %d\n", &vm->v_faults); 76 printf("#define\tV_PGREC %d\n", &vm->v_pgrec); 77 printf("#define\tV_FASTPGREC %d\n", &vm->v_fastpgrec); 78 printf("#define\tUPAGES %d\n", UPAGES); 79 printf("#define\tCLSIZE %d\n", CLSIZE); 80 printf("#define\tSYSPTSIZE %d\n", SYSPTSIZE); 81 printf("#define\tUSRPTSIZE %d\n", USRPTSIZE); 82 printf("#define\tMSGBUFPTECNT %d\n", btoc(sizeof (struct msgbuf))); 83 printf("#define\tNMBCLUSTERS %d\n", NMBCLUSTERS); 84 printf("#define\tU_PROCP %d\n", &up->u_procp); 85 printf("#define\tU_RU %d\n", &up->u_ru); 86 printf("#define\tRU_MINFLT %d\n", &rup->ru_minflt); 87 printf("#else\n"); 88 printf("asm(\".set\tU_ARG,%d\");\n", up->u_arg); 89 printf("asm(\".set\tU_QSAVE,%d\");\n", &up->u_qsave); 90 printf("#endif\n"); 91 } 92