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.6 (Berkeley) 03/10/93 8 */ 9 10 #define KERNEL 11 12 #include <sys/param.h> 13 #include <sys/buf.h> 14 #include <sys/map.h> 15 #include <sys/proc.h> 16 #include <sys/user.h> 17 #include <machine/reg.h> 18 #include <machine/pte.h> 19 #include <machine/pmap.h> 20 21 main() 22 { 23 register struct proc *p = (struct proc *)0; 24 register pmap_hash_t hp = (pmap_hash_t)PMAP_HASH_UADDR; 25 register struct vmmeter *vm = (struct vmmeter *)0; 26 register struct user *up = (struct user *)0; 27 register struct rusage *rup = (struct rusage *)0; 28 register struct pcb *pcb = (struct pcb *)0; 29 30 /* 31 * struct proc 32 */ 33 printf("#define\tP_LINK %d\n", &p->p_link); 34 printf("#define\tP_RLINK %d\n", &p->p_rlink); 35 printf("#define\tP_ADDR %d\n", &p->p_addr); 36 printf("#define\tP_UPTE %d\n", p->p_md.md_upte); 37 printf("#define\tP_PRI %d\n", &p->p_pri); 38 printf("#define\tP_STAT %d\n", &p->p_stat); 39 printf("#define\tP_PID %d\n", &p->p_pid); 40 printf("#define\tP_WCHAN %d\n", &p->p_wchan); 41 printf("#define\tP_FLAG %d\n", &p->p_flag); 42 43 /* 44 * struct vmmeter 45 */ 46 printf("#define\tV_SWTCH %d\n", &vm->v_swtch); 47 printf("#define\tV_TRAP %d\n", &vm->v_trap); 48 printf("#define\tV_SYSCALL %d\n", &vm->v_syscall); 49 printf("#define\tV_INTR %d\n", &vm->v_intr); 50 printf("#define\tV_SOFT %d\n", &vm->v_soft); 51 printf("#define\tV_FAULTS %d\n", &vm->v_faults); 52 53 /* 54 * struct user 55 */ 56 printf("#define\tU_PCB_REGS %d\n", up->u_pcb.pcb_regs); 57 printf("#define\tU_PCB_FPREGS %d\n", &up->u_pcb.pcb_regs[F0]); 58 printf("#define\tU_PCB_CONTEXT %d\n", &up->u_pcb.pcb_context); 59 printf("#define\tU_PCB_ONFAULT %d\n", &up->u_pcb.pcb_onfault); 60 61 printf("#define\tPMAP_HASH_LOW_OFFSET 0x%x\n", &hp->pmh_pte[0].low); 62 printf("#define\tPMAP_HASH_HIGH_OFFSET 0x%x\n", &hp->pmh_pte[0].high); 63 printf("#define\tPMAP_HASH_KPAGES %d\n", PMAP_HASH_KPAGES); 64 printf("#define\tPMAP_HASH_KADDR 0x%x\n", PMAP_HASH_KADDR); 65 printf("#define\tPMAP_HASH_SIZE_SHIFT %d\n", PMAP_HASH_SIZE_SHIFT); 66 printf("#define\tPMAP_HASH_SHIFT1 %d\n", PMAP_HASH_SHIFT1); 67 printf("#define\tPMAP_HASH_SHIFT2 %d\n", PMAP_HASH_SHIFT2); 68 printf("#define\tPMAP_HASH_MASK1 0x%x\n", PMAP_HASH_MASK1); 69 printf("#define\tPMAP_HASH_MASK2 0x%x\n", PMAP_HASH_MASK2); 70 printf("#define\tVM_MIN_ADDRESS 0x%x\n", VM_MIN_ADDRESS); 71 72 printf("#define\tNBPW %d\n", NBPW); 73 74 printf("#define\tSIGILL %d\n", SIGILL); 75 printf("#define\tSIGFPE %d\n", SIGFPE); 76 77 exit(0); 78 } 79