1 /*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * %sccs.include.noredist.c% 9 * 10 * @(#)genassym.c 5.1 (Berkeley) 04/24/90 11 */ 12 13 #include "../i386/pte.h" 14 15 #include "param.h" 16 #include "vmmeter.h" 17 #include "vmparam.h" 18 #include "buf.h" 19 #include "dir.h" 20 #include "user.h" 21 #include "cmap.h" 22 #include "map.h" 23 #include "proc.h" 24 #include "text.h" 25 #include "mbuf.h" 26 #include "msgbuf.h" 27 28 main() 29 { 30 register struct user *u = (struct user *)0; 31 register struct proc *p = (struct proc *)0; 32 register struct vmmeter *vm = (struct vmmeter *)0; 33 register struct pcb *pcb = (struct pcb *)0; 34 35 printf("#ifdef LOCORE\n"); 36 printf("#define\tU_PROCP %d\n", &u->u_procp); 37 printf("#define\tU_EOSYS %d\n", &u->u_eosys); 38 printf("#define\tP_LINK %d\n", &p->p_link); 39 printf("#define\tP_RLINK %d\n", &p->p_rlink); 40 printf("#define\tP_XLINK %d\n", &p->p_xlink); 41 printf("#define\tP_ADDR %d\n", &p->p_addr); 42 printf("#define\tP_PRI %d\n", &p->p_pri); 43 printf("#define\tP_STAT %d\n", &p->p_stat); 44 printf("#define\tP_WCHAN %d\n", &p->p_wchan); 45 printf("#define\tP_TSIZE %d\n", &p->p_tsize); 46 printf("#define\tP_SSIZE %d\n", &p->p_ssize); 47 printf("#define\tP_P0BR %d\n", &p->p_p0br); 48 printf("#define\tP_SZPT %d\n", &p->p_szpt); 49 printf("#define\tP_TEXTP %d\n", &p->p_textp); 50 printf("#define\tP_FLAG %d\n", &p->p_flag); 51 printf("#define\tP_CR3 %d\n", &p->p_cr3); 52 printf("#define\tSSLEEP %d\n", SSLEEP); 53 printf("#define\tSRUN %d\n", SRUN); 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\tP1PAGES %d\n", P1PAGES); 60 printf("#define\tNBPG %d\n", NBPG); 61 printf("#define\tPGSHIFT %d\n", PGSHIFT); 62 printf("#define\tUPAGES %d\n", UPAGES); 63 printf("#define\tCLSIZE %d\n", CLSIZE); 64 printf("#define\tMAXPHYS %d\n", MAXPHYS); 65 printf("#define\tSYSPTSIZE %d\n", SYSPTSIZE); 66 printf("#define\tUSRPTSIZE %d\n", USRPTSIZE); 67 printf("#define\tMSGBUFPTECNT %d\n", btoc(sizeof (struct msgbuf))); 68 printf("#define\tNMBCLUSTERS %d\n", NMBCLUSTERS); 69 printf("#define\tMCLBYTES %d\n", MCLBYTES); 70 printf("#define\tPCB_LINK %d\n", &pcb->pcbtss.tss_link); 71 printf("#define\tPCB_ESP0 %d\n", &pcb->pcbtss.tss_esp0); 72 printf("#define\tPCB_SS0 %d\n", &pcb->pcbtss.tss_ss0); 73 printf("#define\tPCB_ESP1 %d\n", &pcb->pcbtss.tss_esp1); 74 printf("#define\tPCB_SS1 %d\n", &pcb->pcbtss.tss_ss1); 75 printf("#define\tPCB_ESP2 %d\n", &pcb->pcbtss.tss_esp2); 76 printf("#define\tPCB_SS2 %d\n", &pcb->pcbtss.tss_ss2); 77 printf("#define\tPCB_CR3 %d\n", &pcb->pcbtss.tss_cr3); 78 printf("#define\tPCB_EIP %d\n", &pcb->pcbtss.tss_eip); 79 printf("#define\tPCB_EFLAGS %d\n", &pcb->pcbtss.tss_eflags); 80 printf("#define\tPCB_EAX %d\n", &pcb->pcbtss.tss_eax); 81 printf("#define\tPCB_ECX %d\n", &pcb->pcbtss.tss_ecx); 82 printf("#define\tPCB_EDX %d\n", &pcb->pcbtss.tss_edx); 83 printf("#define\tPCB_EBX %d\n", &pcb->pcbtss.tss_ebx); 84 printf("#define\tPCB_ESP %d\n", &pcb->pcbtss.tss_esp); 85 printf("#define\tPCB_EBP %d\n", &pcb->pcbtss.tss_ebp); 86 printf("#define\tPCB_ESI %d\n", &pcb->pcbtss.tss_esi); 87 printf("#define\tPCB_EDI %d\n", &pcb->pcbtss.tss_edi); 88 printf("#define\tPCB_ES %d\n", &pcb->pcbtss.tss_es); 89 printf("#define\tPCB_CS %d\n", &pcb->pcbtss.tss_cs); 90 printf("#define\tPCB_SS %d\n", &pcb->pcbtss.tss_ss); 91 printf("#define\tPCB_DS %d\n", &pcb->pcbtss.tss_ds); 92 printf("#define\tPCB_FS %d\n", &pcb->pcbtss.tss_fs); 93 printf("#define\tPCB_GS %d\n", &pcb->pcbtss.tss_gs); 94 printf("#define\tPCB_LDT %d\n", &pcb->pcbtss.tss_ldt); 95 printf("#define\tPCB_IOOPT %d\n", &pcb->pcbtss.tss_ioopt); 96 printf("#define\tPCB_FPSAV %d\n", &pcb->pcb_fpsav); 97 printf("#define\tPCB_SAVEFPU %d\n", &pcb->pcb_savefpu); 98 printf("#define\tPCB_P0BR %d\n", &pcb->pcb_p0br); 99 printf("#define\tPCB_P1BR %d\n", &pcb->pcb_p1br); 100 printf("#define\tPCB_P0LR %d\n", &pcb->pcb_p0lr); 101 printf("#define\tPCB_P1LR %d\n", &pcb->pcb_p1lr); 102 printf("#define\tPCB_SZPT %d\n", &pcb->pcb_szpt); 103 printf("#define\tPCB_CMAP2 %d\n", &pcb->pcb_cmap2); 104 printf("#define\tPCB_SSWAP %d\n", &pcb->pcb_sswap); 105 printf("#define\tPCB_SIGC %d\n", pcb->pcb_sigc); 106 107 printf("#endif\n"); 108 exit(0); 109 } 110