[BACK]Return to asm.h CVS log [TXT][DIR] Up to [local] / sys / arch / hppa / include

Annotation of sys/arch/hppa/include/asm.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: asm.h,v 1.15 2005/01/23 16:28:29 mickey Exp $ */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 1990,1991,1994 The University of Utah and
        !             5:  * the Computer Systems Laboratory (CSL).  All rights reserved.
        !             6:  *
        !             7:  * Permission to use, copy, modify and distribute this software is hereby
        !             8:  * granted provided that (1) source code retains these copyright, permission,
        !             9:  * and disclaimer notices, and (2) redistributions including binaries
        !            10:  * reproduce the notices in supporting documentation, and (3) all advertising
        !            11:  * materials mentioning features or use of this software display the following
        !            12:  * acknowledgement: ``This product includes software developed by the
        !            13:  * Computer Systems Laboratory at the University of Utah.''
        !            14:  *
        !            15:  * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
        !            16:  * IS" CONDITION.  THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
        !            17:  * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
        !            18:  *
        !            19:  * CSL requests users of this software to return to csl-dist@cs.utah.edu any
        !            20:  * improvements that they make and grant CSL redistribution rights.
        !            21:  *
        !            22:  *     Utah $Hdr: asm.h 1.8 94/12/14$
        !            23:  */
        !            24:
        !            25: #ifndef _MACHINE_ASM_H_
        !            26: #define _MACHINE_ASM_H_
        !            27:
        !            28: /*
        !            29:  *     hppa assembler definitions
        !            30:  */
        !            31:
        !            32: /*
        !            33:  * Hardware General Registers
        !            34:  */
        !            35: r0     .reg    %r0
        !            36: r1     .reg    %r1
        !            37: r2     .reg    %r2
        !            38: r3     .reg    %r3
        !            39: r4     .reg    %r4
        !            40: r5     .reg    %r5
        !            41: r6     .reg    %r6
        !            42: r7     .reg    %r7
        !            43: r8     .reg    %r8
        !            44: r9     .reg    %r9
        !            45: r10    .reg    %r10
        !            46: r11    .reg    %r11
        !            47: r12    .reg    %r12
        !            48: r13    .reg    %r13
        !            49: r14    .reg    %r14
        !            50: r15    .reg    %r15
        !            51: r16    .reg    %r16
        !            52: r17    .reg    %r17
        !            53: r18    .reg    %r18
        !            54: r19    .reg    %r19
        !            55: r20    .reg    %r20
        !            56: r21    .reg    %r21
        !            57: r22    .reg    %r22
        !            58: r23    .reg    %r23
        !            59: r24    .reg    %r24
        !            60: r25    .reg    %r25
        !            61: r26    .reg    %r26
        !            62: r27    .reg    %r27
        !            63: r28    .reg    %r28
        !            64: r29    .reg    %r29
        !            65: r30    .reg    %r30
        !            66: r31    .reg    %r31
        !            67:
        !            68: /*
        !            69:  * Hardware Space Registers
        !            70:  */
        !            71: sr0    .reg    %sr0
        !            72: sr1    .reg    %sr1
        !            73: sr2    .reg    %sr2
        !            74: sr3    .reg    %sr3
        !            75: sr4    .reg    %sr4
        !            76: sr5    .reg    %sr5
        !            77: sr6    .reg    %sr6
        !            78: sr7    .reg    %sr7
        !            79:
        !            80: /*
        !            81:  * Hardware Floating Point Registers
        !            82:  */
        !            83: fr0    .reg    %fr0
        !            84: fr1    .reg    %fr1
        !            85: fr2    .reg    %fr2
        !            86: fr3    .reg    %fr3
        !            87: fr4    .reg    %fr4
        !            88: fr5    .reg    %fr5
        !            89: fr6    .reg    %fr6
        !            90: fr7    .reg    %fr7
        !            91: fr8    .reg    %fr8
        !            92: fr9    .reg    %fr9
        !            93: fr10   .reg    %fr10
        !            94: fr11   .reg    %fr11
        !            95: fr12   .reg    %fr12
        !            96: fr13   .reg    %fr13
        !            97: fr14   .reg    %fr14
        !            98: fr15   .reg    %fr15
        !            99: fr16   .reg    %fr16
        !           100: fr17   .reg    %fr17
        !           101: fr18   .reg    %fr18
        !           102: fr19   .reg    %fr19
        !           103: fr20   .reg    %fr20
        !           104: fr21   .reg    %fr21
        !           105: fr22   .reg    %fr22
        !           106: fr23   .reg    %fr23
        !           107: fr24   .reg    %fr24
        !           108: fr25   .reg    %fr25
        !           109: fr26   .reg    %fr26
        !           110: fr27   .reg    %fr27
        !           111: fr28   .reg    %fr28
        !           112: fr29   .reg    %fr29
        !           113: fr30   .reg    %fr30
        !           114: fr31   .reg    %fr31
        !           115:
        !           116: /*
        !           117:  * Hardware Control Registers
        !           118:  */
        !           119: cr0    .reg    %cr0
        !           120: cr8    .reg    %cr8
        !           121: cr9    .reg    %cr9
        !           122: cr10   .reg    %cr10
        !           123: cr11   .reg    %cr11
        !           124: cr12   .reg    %cr12
        !           125: cr13   .reg    %cr13
        !           126: cr14   .reg    %cr14
        !           127: cr15   .reg    %cr15
        !           128: cr16   .reg    %cr16
        !           129: cr17   .reg    %cr17
        !           130: cr18   .reg    %cr18
        !           131: cr19   .reg    %cr19
        !           132: cr20   .reg    %cr20
        !           133: cr21   .reg    %cr21
        !           134: cr22   .reg    %cr22
        !           135: cr23   .reg    %cr23
        !           136: cr24   .reg    %cr24
        !           137: cr25   .reg    %cr25
        !           138: cr26   .reg    %cr26
        !           139: cr27   .reg    %cr27
        !           140: cr28   .reg    %cr28
        !           141: cr29   .reg    %cr29
        !           142: cr30   .reg    %cr30
        !           143: cr31   .reg    %cr31
        !           144:
        !           145: rctr   .reg    %cr0
        !           146: pidr1  .reg    %cr8
        !           147: pidr2  .reg    %cr9
        !           148: ccr    .reg    %cr10
        !           149: sar    .reg    %cr11
        !           150: pidr3  .reg    %cr12
        !           151: pidr4  .reg    %cr13
        !           152: iva    .reg    %cr14
        !           153: eiem   .reg    %cr15
        !           154: itmr   .reg    %cr16
        !           155: pcsq   .reg    %cr17
        !           156: pcoq   .reg    %cr18
        !           157: iir    .reg    %cr19
        !           158: isr    .reg    %cr20
        !           159: ior    .reg    %cr21
        !           160: ipsw   .reg    %cr22
        !           161: eirr   .reg    %cr23
        !           162: tr0    .reg    %cr24
        !           163: vtop   .reg    %cr25
        !           164: tr1    .reg    %cr25
        !           165: tr2    .reg    %cr26
        !           166: tr3    .reg    %cr27
        !           167: tr4    .reg    %cr28
        !           168: tr5    .reg    %cr29
        !           169: tr6    .reg    %cr30
        !           170: tr7    .reg    %cr31
        !           171:
        !           172: /*
        !           173:  * Calling Convention
        !           174:  */
        !           175: rp     .reg    %r2
        !           176: arg3   .reg    %r23
        !           177: arg2   .reg    %r24
        !           178: arg1   .reg    %r25
        !           179: arg0   .reg    %r26
        !           180: dp     .reg    %r27
        !           181: ret0   .reg    %r28
        !           182: ret1   .reg    %r29
        !           183: sl     .reg    %r29
        !           184: sp     .reg    %r30
        !           185:
        !           186: /*
        !           187:  * Temporary registers
        !           188:  */
        !           189: t1     .reg    %r22
        !           190: t2     .reg    %r21
        !           191: t3     .reg    %r20
        !           192: t4     .reg    %r19
        !           193:
        !           194: /*
        !           195:  * Temporary space registers
        !           196:  */
        !           197: ts1    .reg    %sr2
        !           198:
        !           199: /*
        !           200:  * Space Registers - SW Conventions
        !           201:  */
        !           202: sret   .reg    %sr1    ; return value
        !           203: sarg   .reg    %sr1    ; argument
        !           204:
        !           205: /*
        !           206:  * Floating Point Registers - SW Conventions
        !           207:  */
        !           208: farg0  .reg    %fr5
        !           209: farg1  .reg    %fr6
        !           210: farg2  .reg    %fr7
        !           211: farg3  .reg    %fr8
        !           212: fret   .reg    %fr4
        !           213:
        !           214: /*
        !           215:  * Temporary floating point registers
        !           216:  */
        !           217: tf1    .reg    %fr11
        !           218: tf2    .reg    %fr10
        !           219: tf3    .reg    %fr9
        !           220: tf4    .reg    %fr8
        !           221:
        !           222: #ifdef __STDC__
        !           223: #define        __CONCAT(a,b)   a ## b
        !           224: #else
        !           225: #define        __CONCAT(a,b)   a/**/b
        !           226: #endif
        !           227:
        !           228: #ifdef PROF
        !           229: #define        _PROF_PROLOGUE !\
        !           230:        stw rp, HPPA_FRAME_CRP(sr0,sp)  !\
        !           231:        ldil L%_mcount,r1               !\
        !           232:        ble R%_mcount(sr0,r1)           !\
        !           233:        ldo HPPA_FRAME_SIZE(sp),sp      !\
        !           234:        ldw HPPA_FRAME_CRP(sr0,sp),rp
        !           235: #else
        !           236: #define        _PROF_PROLOGUE
        !           237: #endif
        !           238:
        !           239: #define        LEAF_ENTRY(x) ! .text ! .align  4       !\
        !           240:        .export x, entry ! .label x ! .proc     !\
        !           241:        .callinfo frame=0,no_calls,save_rp      !\
        !           242:        .entry ! _PROF_PROLOGUE
        !           243:
        !           244: #define        ENTRY(x,n) ! .text ! .align 4                   !\
        !           245:        .export x, entry ! .label x ! .proc             !\
        !           246:        .callinfo frame=n,calls, save_rp, save_sp       !\
        !           247:        .entry ! _PROF_PROLOGUE
        !           248:
        !           249: #define ALTENTRY(x) ! .export x, entry ! .label  x
        !           250: #define EXIT(x) ! .exit ! .procend ! .size   x, .-x
        !           251:
        !           252: #define        BSS(n,s)        ! .data ! .label n ! .comm s
        !           253:
        !           254: #endif /* _MACHINE_ASM_H_ */

CVSweb