[BACK]Return to genassym.cf CVS log [TXT][DIR] Up to [local] / sys / arch / sparc64 / sparc64

Annotation of sys/arch/sparc64/sparc64/genassym.cf, Revision 1.1.1.1

1.1       nbrk        1: #      $OpenBSD: genassym.cf,v 1.16 2007/05/28 23:10:10 beck Exp $
                      2: #      $NetBSD: genassym.cf,v 1.23 2001/08/08 00:09:30 eeh Exp $
                      3:
                      4: #
                      5: # Copyright (c) 1997 The NetBSD Foundation, Inc.
                      6: # All rights reserved.
                      7: #
                      8: # This code is derived from software contributed to The NetBSD Foundation
                      9: # by Christos Zoulas.
                     10: #
                     11: # Redistribution and use in source and binary forms, with or without
                     12: # modification, are permitted provided that the following conditions
                     13: # are met:
                     14: # 1. Redistributions of source code must retain the above copyright
                     15: #    notice, this list of conditions and the following disclaimer.
                     16: # 2. Redistributions in binary form must reproduce the above copyright
                     17: #    notice, this list of conditions and the following disclaimer in the
                     18: #    documentation and/or other materials provided with the distribution.
                     19: # 3. All advertising materials mentioning features or use of this software
                     20: #    must display the following acknowledgement:
                     21: #        This product includes software developed by the NetBSD
                     22: #        Foundation, Inc. and its contributors.
                     23: # 4. Neither the name of The NetBSD Foundation nor the names of its
                     24: #    contributors may be used to endorse or promote products derived
                     25: #    from this software without specific prior written permission.
                     26: #
                     27: # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     28: # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     29: # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     30: # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     31: # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     32: # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     33: # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     34: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     35: # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     36: # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     37: # POSSIBILITY OF SUCH DAMAGE.
                     38: #
                     39: # Copyright (c) 1992, 1993
                     40: #      The Regents of the University of California.  All rights reserved.
                     41: #
                     42: # This software was developed by the Computer Systems Engineering group
                     43: # at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
                     44: # contributed to Berkeley.
                     45: #
                     46: # All advertising materials mentioning features or use of this software
                     47: # must display the following acknowledgement:
                     48: #      This product includes software developed by the University of
                     49: #      California, Lawrence Berkeley Laboratory.
                     50: #
                     51: # Redistribution and use in source and binary forms, with or without
                     52: # modification, are permitted provided that the following conditions
                     53: # are met:
                     54: # 1. Redistributions of source code must retain the above copyright
                     55: #    notice, this list of conditions and the following disclaimer.
                     56: # 2. Redistributions in binary form must reproduce the above copyright
                     57: #    notice, this list of conditions and the following disclaimer in the
                     58: #    documentation and/or other materials provided with the distribution.
                     59: # 3. Neither the name of the University nor the names of its contributors
                     60: #    may be used to endorse or promote products derived from this software
                     61: #    without specific prior written permission.
                     62: #
                     63: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     64: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     65: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     66: # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     67: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     68: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     69: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     70: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     71: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     72: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     73: # SUCH DAMAGE.
                     74: #
                     75: #      @(#)genassym.c  8.1 (Berkeley) 6/11/93
                     76: #
                     77:
                     78: include <sys/param.h>
                     79: include <sys/buf.h>
                     80: include <sys/proc.h>
                     81: include <sys/mbuf.h>
                     82: include <sys/msgbuf.h>
                     83: include <sys/syscall.h>
                     84: include <sys/user.h>
                     85: include <sys/device.h>
                     86: include <sys/disklabel.h>
                     87: include <sys/disk.h>
                     88:
                     89: include <uvm/uvm.h>
                     90:
                     91: ifdef DDB
                     92: include <machine/db_machdep.h>
                     93: endif
                     94: include <machine/pmap.h>
                     95: include <machine/cpu.h>
                     96:
                     97: include <machine/bsd_openprom.h>
                     98: include <machine/reg.h>
                     99:
                    100: #include <sparc64/sparc64/cpuvar.h>
                    101:
                    102: ifdef notyet
                    103: include <sparc64/dev/zsreg.h>
                    104: include <sparc64/dev/zsvar.h>
                    105: endif
                    106:
                    107: ifdef notyet
                    108: include <dev/ic/am7930reg.h>
                    109: include <dev/ic/am7930var.h>
                    110: endif
                    111:
                    112: # proc fields and values
                    113: struct proc
                    114: member p_addr
                    115: member p_stat
                    116: member p_wchan
                    117: member p_vmspace
                    118: member p_pid
                    119: member P_FPSTATE       p_md.md_fpstate
                    120:
                    121: export SRUN
                    122: export SONPROC
                    123:
                    124: # user structure fields
                    125: define USIZ            sizeof(struct user)
                    126:
                    127: # VM structure fields
                    128: define VM_PMAP         offsetof(struct vmspace, vm_map.pmap)
                    129:
                    130: # UVM structure fields
                    131: define UVM_PAGE_IDLE_ZERO      offsetof(struct uvm, page_idle_zero)
                    132:
                    133: # pmap structure fields
                    134: struct pmap
                    135: member pm_ctx
                    136: member pm_segs
                    137: member PM_PHYS         pm_physaddr
                    138:
                    139: # interrupt/fault metering
                    140: struct uvmexp          V_
                    141: member swtch
                    142: member INTR            intrs
                    143: member faults
                    144:
                    145: # CPU info structure
                    146: struct cpu_info
                    147: member ci_curproc
                    148: member ci_cpcb
                    149: member ci_next
                    150: member ci_fpproc
                    151: member ci_number
                    152: member ci_upaid
                    153: member ci_want_resched
                    154: member ci_spinup
                    155: member ci_initstack
                    156: member ci_paddr
                    157:
                    158: # FPU state
                    159: struct fpstate64
                    160: member fs_regs
                    161: member fs_fsr
                    162: member fs_gsr
                    163: member fs_qsize
                    164: member fs_queue
                    165: define FS_SIZE         sizeof(struct fpstate64)
                    166: export FSR_QNE
                    167: export FPRS_FEF
                    168: export FPRS_DU
                    169: export FPRS_DL
                    170:
                    171: # system calls
                    172: export SYS_sigreturn
                    173: export SYS_execve
                    174: export SYS_exit
                    175:
                    176: # errno
                    177: export EFAULT
                    178: export ENAMETOOLONG
                    179:
                    180: # PCB fields
                    181: struct pcb
                    182: member pcb_nsaved
                    183: member pcb_onfault
                    184: member pcb_pstate
                    185: member pcb_cwp
                    186: member pcb_pil
                    187: member pcb_rw
                    188: member pcb_sp
                    189: member pcb_wcookie
                    190: member pcb_pc
                    191: member PCB_LASTCALL    lastcall
                    192: define PCB_SIZE        sizeof(struct pcb)
                    193:
                    194: # trapframe64 fields
                    195: struct trapframe64
                    196: member tf_tstate
                    197: member tf_pc
                    198: member tf_npc
                    199: member tf_fault
                    200: member tf_kstack
                    201: member tf_y
                    202: member tf_pil
                    203: member tf_oldpil
                    204: member tf_tt
                    205: member tf_global
                    206: member tf_out
                    207: member tf_local
                    208: member tf_in
                    209: # shortened versions
                    210: member TF_G            tf_global
                    211: member TF_O            tf_out
                    212: member TF_L            tf_local
                    213: member TF_I            tf_in
                    214: define TF_SIZE         sizeof(struct trapframe64)
                    215:
                    216: ifdef notyet
                    217: # clockframe fields
                    218: struct clockframe      CF_
                    219: member tstate
                    220: member pc
                    221: member npc
                    222: member pil
                    223: member oldpil
                    224: member fp
                    225: endif
                    226:
                    227: # interrupt handler fields
                    228: struct intrhand
                    229: member ih_fun
                    230: member ih_arg
                    231: member ih_number
                    232: member ih_pil
                    233: member ih_busy
                    234: member IH_PEND         ih_pending
                    235: member ih_next
                    236: member ih_map
                    237: member ih_clr
                    238: member IH_COUNT        ih_count.ec_count
                    239:
                    240: # mbuf fields of import
                    241: struct mbuf
                    242: member m_next
                    243: member m_data
                    244: member m_len
                    245:
                    246: ifdef notyet
                    247: # db_regs structure so we can save all registers
                    248: struct db_regs
                    249: member dbr_traps
                    250: member dbr_y
                    251: member dbr_tl
                    252: member dbr_canrestore
                    253: member dbr_cansave
                    254: member dbr_cleanwin
                    255: member dbr_cwp
                    256: member dbr_wstate
                    257: member dbr_g
                    258: member dbr_ag
                    259: member dbr_ig
                    260: member dbr_mg
                    261: member dbr_out
                    262: member dbr_local
                    263: member dbr_in
                    264: endif
                    265:
                    266: export TLB_ACCESS
                    267: export TLB_MODIFY
                    268: export TLB_REAL_W
                    269: export TLB_TSB_LOCK
                    270: export TLB_EXEC
                    271: export TLB_EXEC_ONLY
                    272: export TLB_L
                    273: export TLB_CACHE_MASK
                    274: export TLB_CP
                    275: export TLB_CV
                    276: export TLB_E
                    277: export TLB_P
                    278: export TLB_W
                    279: export TLB_G

CVSweb