1 /* 2 * Copyright (c) 1992 Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Ralph Campbell. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)genassym.c 7.1 (Berkeley) 01/07/92 11 */ 12 13 #define KERNEL 14 15 #include "param.h" 16 #include "buf.h" 17 #include "map.h" 18 #include "proc.h" 19 #include "mbuf.h" 20 #include "user.h" 21 #include "machine/reg.h" 22 #include "machine/pmap.h" 23 24 main() 25 { 26 register struct proc *p = (struct proc *)0; 27 register struct user *up = (struct user *)0; 28 register pmap_hash_t hp = (pmap_hash_t)PMAP_HASH_UADDR; 29 register struct vmmeter *vm = (struct vmmeter *)0; 30 register int size, s, n; 31 32 printf("#define\tP_LINK %d\n", &p->p_link); 33 printf("#define\tP_RLINK %d\n", &p->p_rlink); 34 printf("#define\tP_PRI %d\n", &p->p_pri); 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\tU_PCB_REGS %d\n", up->u_pcb.pcb_regs); 38 printf("#define\tU_PCB_FPREGS %d\n", &up->u_pcb.pcb_regs[F0]); 39 printf("#define\tU_PCB_CONTEXT %d\n", &up->u_pcb.pcb_context); 40 printf("#define\tU_PCB_ONFAULT %d\n", &up->u_pcb.pcb_onfault); 41 printf("#define\tPMAP_HASH_LOW_OFFSET 0x%x\n", &hp->low); 42 printf("#define\tPMAP_HASH_HIGH_OFFSET 0x%x\n", &hp->high); 43 printf("#define\tPMAP_HASH_KPAGES %d\n", PMAP_HASH_KPAGES); 44 printf("#define\tPMAP_HASH_KADDR 0x%x\n", PMAP_HASH_KADDR); 45 printf("#define\tPMAP_HASH_SIZE_SHIFT %d\n", PMAP_HASH_SIZE_SHIFT); 46 printf("#define\tPMAP_HASH_SHIFT1 %d\n", PMAP_HASH_SHIFT1); 47 printf("#define\tPMAP_HASH_SHIFT2 %d\n", PMAP_HASH_SHIFT2); 48 printf("#define\tPMAP_HASH_MASK1 0x%x\n", PMAP_HASH_MASK1); 49 printf("#define\tPMAP_HASH_MASK2 0x%x\n", PMAP_HASH_MASK2); 50 printf("#define\tV_SWTCH %d\n", &vm->v_swtch); 51 printf("#define\tSIGILL %d\n", SIGILL); 52 printf("#define\tSIGFPE %d\n", SIGFPE); 53 exit(0); 54 } 55