1 /* 2 * Copyright (c) 1992 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)genassym.c 7.2 (Berkeley) 06/25/92 8 */ 9 10 #define KERNEL 11 12 #include "../include/fix_machine_type.h" 13 14 #include "sys/param.h" 15 #include "sys/buf.h" 16 #include "sys/dir.h" 17 #include "sys/map.h" 18 #include "sys/proc.h" 19 #include "sys/mbuf.h" 20 #include "sys/user.h" 21 #include "sys/msgbuf.h" 22 #include "sys/syscall.h" 23 #include "sys/signal.h" 24 #include "vm/vm.h" 25 #include "../include/reg.h" 26 #include "../include/pte.h" 27 #include "../include/pmap.h" 28 29 main() 30 { 31 register struct proc *p = (struct proc *)0; 32 register pmap_hash_t hp = (pmap_hash_t)PMAP_HASH_UADDR; 33 register struct vmmeter *vm = (struct vmmeter *)0; 34 register struct user *up = (struct user *)0; 35 register struct rusage *rup = (struct rusage *)0; 36 register struct pcb *pcb = (struct pcb *)0; 37 38 /* 39 * struct proc 40 */ 41 printf("#define\tP_LINK %d\n", &p->p_link); 42 printf("#define\tP_RLINK %d\n", &p->p_rlink); 43 printf("#define\tP_ADDR %d\n", &p->p_addr); 44 printf("#define\tP_UPTE %d\n", p->p_md.md_upte); 45 printf("#define\tP_PRI %d\n", &p->p_pri); 46 printf("#define\tP_STAT %d\n", &p->p_stat); 47 printf("#define\tP_PID %d\n", &p->p_pid); 48 printf("#define\tP_WCHAN %d\n", &p->p_wchan); 49 printf("#define\tP_FLAG %d\n", &p->p_flag); 50 51 /* 52 * struct vmmeter 53 */ 54 printf("#define\tV_SWTCH %d\n", &vm->v_swtch); 55 printf("#define\tV_TRAP %d\n", &vm->v_trap); 56 printf("#define\tV_SYSCALL %d\n", &vm->v_syscall); 57 printf("#define\tV_INTR %d\n", &vm->v_intr); 58 printf("#define\tV_SOFT %d\n", &vm->v_soft); 59 printf("#define\tV_FAULTS %d\n", &vm->v_faults); 60 61 /* 62 * struct user 63 */ 64 printf("#define\tU_PCB_REGS %d\n", up->u_pcb.pcb_regs); 65 printf("#define\tU_PCB_FPREGS %d\n", &up->u_pcb.pcb_regs[F0]); 66 printf("#define\tU_PCB_CONTEXT %d\n", &up->u_pcb.pcb_context); 67 printf("#define\tU_PCB_ONFAULT %d\n", &up->u_pcb.pcb_onfault); 68 69 printf("#define\tPMAP_HASH_LOW_OFFSET 0x%x\n", &hp->pmh_pte[0].low); 70 printf("#define\tPMAP_HASH_HIGH_OFFSET 0x%x\n", &hp->pmh_pte[0].high); 71 printf("#define\tPMAP_HASH_KPAGES %d\n", PMAP_HASH_KPAGES); 72 printf("#define\tPMAP_HASH_KADDR 0x%x\n", PMAP_HASH_KADDR); 73 printf("#define\tPMAP_HASH_SIZE_SHIFT %d\n", PMAP_HASH_SIZE_SHIFT); 74 printf("#define\tPMAP_HASH_SHIFT1 %d\n", PMAP_HASH_SHIFT1); 75 printf("#define\tPMAP_HASH_SHIFT2 %d\n", PMAP_HASH_SHIFT2); 76 printf("#define\tPMAP_HASH_MASK1 0x%x\n", PMAP_HASH_MASK1); 77 printf("#define\tPMAP_HASH_MASK2 0x%x\n", PMAP_HASH_MASK2); 78 79 printf("#define\tNBPW %d\n", NBPW); 80 81 printf("#define\tSIGILL %d\n", SIGILL); 82 printf("#define\tSIGFPE %d\n", SIGFPE); 83 84 printf("#define\tSYS_execve %d\n", SYS_execve); 85 printf("#define\tSYS_exit %d\n", SYS_exit); 86 87 exit(0); 88 } 89