[BACK]Return to prefix.h CVS log [TXT][DIR] Up to [local] / sys / lib / libkern / arch / hppa

Annotation of sys/lib/libkern/arch/hppa/prefix.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: prefix.h,v 1.2 2001/03/29 04:08:21 mickey Exp $       */
        !             2:
        !             3: /*
        !             4:  *  (c) Copyright 1985 HEWLETT-PACKARD COMPANY
        !             5:  *
        !             6:  *  To anyone who acknowledges that this file is provided "AS IS"
        !             7:  *  without any express or implied warranty:
        !             8:  *      permission to use, copy, modify, and distribute this file
        !             9:  *  for any purpose is hereby granted without fee, provided that
        !            10:  *  the above copyright notice and this notice appears in all
        !            11:  *  copies, and that the name of Hewlett-Packard Company not be
        !            12:  *  used in advertising or publicity pertaining to distribution
        !            13:  *  of the software without specific, written prior permission.
        !            14:  *  Hewlett-Packard Company makes no representations about the
        !            15:  *  suitability of this software for any purpose.
        !            16:  */
        !            17:
        !            18: /*
        !            19:  * STANDARD INCLUDE FILE FOR MILLICODE
        !            20:  * Every source file must include this file.
        !            21:  *
        !            22:  * Hardware General Registers
        !            23:  *
        !            24:  * Frame Offsets (millicode convention!)
        !            25:  * Used when calling other millicode routines.
        !            26:  * Stack unwinding is dependent upon these definitions.
        !            27:  * r31_slot    .equ    -20
        !            28:  * sr0_slot    .equ    -16
        !            29:  */
        !            30:
        !            31: #include <machine/asm.h>
        !            32:
        !            33: #define DEFINE(name, value)name:       .EQU    value
        !            34: #ifdef milliext
        !            35: #ifdef PIC
        !            36: #define MILLI_BE(lbl) \
        !            37:   BL    .+8,r1\
        !            38:   ! ADDIL L%lbl-labl/**/lbl,r1\
        !            39:   ! .LABEL labl/**/lbl\
        !            40:   ! BE    R%lbl-labl/**/lbl(sr7,r1)
        !            41:
        !            42: #define MILLI_BEN(lbl) \
        !            43:   BL    .+8,r1\
        !            44:   ! ADDIL L%lbl-labl/**/lbl,r1\
        !            45:   ! .LABEL labl/**/lbl\
        !            46:   ! BE,N  R%lbl-labl/**/lbl(sr7,r1)
        !            47:
        !            48: #define MILLI_BLE(lbl) \
        !            49:   BL    .+8,r1\
        !            50:   ! ADDIL L%lbl-labl/**/lbl,r1\
        !            51:   ! .LABEL labl/**/lbl \
        !            52:   ! BLE   R%lbl-labl/**/lbl(sr7,r1)
        !            53:
        !            54: #define MILLI_BLEN(lbl) \
        !            55:   BL    .+8,r1\
        !            56:   ! ADDIL L%lbl-labl/**/lbl,r1\
        !            57:   ! .LABEL labl/**/lbl\
        !            58:   ! BLE,N R%lbl-labl/**/lbl(sr7,r1)
        !            59: #else
        !            60: #define MILLI_BE(lbl)   BE    lbl(sr7,r0)
        !            61: #define MILLI_BEN(lbl)  BE,n  lbl(sr7,r0)
        !            62: #define MILLI_BLE(lbl) BLE   lbl(sr7,r0)
        !            63: #define MILLI_BLEN(lbl)        BLE,n lbl(sr7,r0)
        !            64: #endif
        !            65:
        !            66: #define MILLIRETN      BE,n  0(sr0,r31)
        !            67: #define MILLIRET       BE    0(sr0,r31)
        !            68: #define MILLI_RETN     BE,n  0(sr0,r31)
        !            69: #define MILLI_RET      BE    0(sr0,r31)
        !            70:
        !            71: #else
        !            72: #define MILLI_BE(lbl)  B     lbl
        !            73: #define MILLI_BEN(lbl)  B,n   lbl
        !            74: #define MILLI_BLE(lbl) BL    lbl,r31
        !            75: #define MILLI_BLEN(lbl)        BL,n  lbl,r31
        !            76: #define MILLIRETN      BV,n  0(r31)
        !            77: #define MILLIRET       BV    0(r31)
        !            78: #define MILLI_RETN     BV,n  0(r31)
        !            79: #define MILLI_RET      BV    0(r31)
        !            80: #endif
        !            81: ; VERSION is used wherever ".version" can appear in a routine
        !            82: ;#define VERSION .version
        !            83: #define VERSION ;

CVSweb