[BACK]Return to uperfio.h CVS log [TXT][DIR] Up to [local] / sys / dev / sun

Annotation of sys/dev/sun/uperfio.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: uperfio.h,v 1.4 2005/06/03 10:53:58 miod Exp $        */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 2002 Jason L. Wright (jason@thought.net)
        !             5:  * All rights reserved.
        !             6:  *
        !             7:  * Redistribution and use in source and binary forms, with or without
        !             8:  * modification, are permitted provided that the following conditions
        !             9:  * are met:
        !            10:  * 1. Redistributions of source code must retain the above copyright
        !            11:  *    notice, this list of conditions and the following disclaimer.
        !            12:  * 2. Redistributions in binary form must reproduce the above copyright
        !            13:  *    notice, this list of conditions and the following disclaimer in the
        !            14:  *    documentation and/or other materials provided with the distribution.
        !            15:  *
        !            16:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
        !            17:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        !            18:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        !            19:  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
        !            20:  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
        !            21:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        !            22:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            23:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
        !            24:  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
        !            25:  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        !            26:  * POSSIBILITY OF SUCH DAMAGE.
        !            27:  *
        !            28:  * Effort sponsored in part by the Defense Advanced Research Projects
        !            29:  * Agency (DARPA) and Air Force Research Laboratory, Air Force
        !            30:  * Materiel Command, USAF, under agreement number F30602-01-2-0537.
        !            31:  *
        !            32:  */
        !            33:
        !            34: #define        UPERF_CNT0              1
        !            35: #define        UPERF_CNT1              2
        !            36:
        !            37: #define        UPERFSRC_SYSCK          1       /* system clock count */
        !            38: #define        UPERFSRC_PRALL          2       /* # of p-requests, all srcs */
        !            39: #define        UPERFSRC_PRP0           3       /* # of p-requests, processor 0 */
        !            40: #define        UPERFSRC_PRU2S          4       /* # of p-requests, U2S */
        !            41: #define        UPERFSRC_UPA128         5       /* # cycles UPA 128bit bus busy */
        !            42: #define        UPERFSRC_UPA64          6       /* # cycles UPA 64bit bus busy */
        !            43: #define        UPERFSRC_PIOS           7       /* # cycles stalled during PIO */
        !            44: #define        UPERFSRC_MEMRI          8       /* # memory requests issued */
        !            45: #define        UPERFSRC_MCBUSY         9       /* # cycles mem ctrlr busy */
        !            46: #define        UPERFSRC_PXSH           10      /* # cyc stalled for pending xact scoreboard hit */
        !            47: #define        UPERFSRC_P0CWMR         11      /* # coherent wr miss req, Proc0 */
        !            48: #define        UPERFSRC_P1CWMR         12      /* # coherent wr miss req, Proc1 */
        !            49: #define        UPERFSRC_CIT            13      /* # coherent intervention xacts */
        !            50: #define        UPERFSRC_U2SDAT         14      /* # data xacts from U2S */
        !            51: #define        UPERFSRC_CRXI           15      /* # coherent read xacts issued */
        !            52: #define        UPERFSRC_RDP0           16      /* read requests from Proc0 */
        !            53: #define        UPERFSRC_P0CRMR         17      /* # coherent rd miss req, Proc0 */
        !            54: #define        UPERFSRC_P0PIO          18      /* PIO accesses from Proc 0 */
        !            55: #define        UPERFSRC_MEMRC          19      /* # memory requests completed */
        !            56: #define        UPERFSRC_P1RR           20      /* Proc 1 read requests */
        !            57: #define        UPERFSRC_CRMP1          21      /* Proc 1 coherent read misses */
        !            58: #define        UPERFSRC_PIOP1          22      /* Proc 1 PIO accesses */
        !            59: #define        UPERFSRC_CWXI           23      /* coherent write xacts issued */
        !            60: #define        UPERFSRC_RP0            24      /* read requests from Proc 0 */
        !            61: #define        UPERFSRC_SDVRA          25      /* streaming dvma rds, bus A */
        !            62: #define        UPERFSRC_SDVWA          26      /* streaming dvma wrs, bus A */
        !            63: #define        UPERFSRC_CDVRA          27      /* consistent dvma rds, bus A */
        !            64: #define        UPERFSRC_CDVWA          28      /* consistent dvma wrs, bus A */
        !            65: #define        UPERFSRC_SBMA           29      /* streaming buffer misses, A */
        !            66: #define        UPERFSRC_DVA            30      /* cycles A granted to dvma */
        !            67: #define        UPERFSRC_DVWA           31      /* words xfered on bus A */
        !            68: #define        UPERFSRC_PIOA           32      /* pio cycles on bus A */
        !            69: #define        UPERFSRC_SDVRB          33      /* streaming dvma rds, bus A */
        !            70: #define        UPERFSRC_SDVWB          34      /* streaming dvma wrs, bus A */
        !            71: #define        UPERFSRC_CDVRB          35      /* consistent dvma rds, bus A */
        !            72: #define        UPERFSRC_CDVWB          36      /* consistent dvma wrs, bus A */
        !            73: #define        UPERFSRC_SBMB           37      /* streaming buffer misses, A */
        !            74: #define        UPERFSRC_DVB            38      /* cycles A granted to dvma */
        !            75: #define        UPERFSRC_DVWB           39      /* words xfered on bus A */
        !            76: #define        UPERFSRC_PIOB           40      /* pio cycles on bus A */
        !            77: #define        UPERFSRC_TLBMISS        41      /* tlb misses */
        !            78: #define        UPERFSRC_NINTRS         42      /* number of interrupts */
        !            79: #define        UPERFSRC_INACK          43      /* interrupt nacks on UPA */
        !            80: #define        UPERFSRC_PIOR           44      /* PIO read xfers */
        !            81: #define        UPERFSRC_PIOW           45      /* PIO write xfers */
        !            82: #define        UPERFSRC_MERGE          46      /* merge buffer xacts */
        !            83: #define        UPERFSRC_TBLA           47      /* dma retries for tblwalk, A */
        !            84: #define        UPERFSRC_STCA           48      /* dma retries for tblwalk, A */
        !            85: #define        UPERFSRC_TBLB           49      /* dma retries for tblwalk, B */
        !            86: #define        UPERFSRC_STCB           50      /* dma retries for tblwalk, B */
        !            87:
        !            88: struct uperf_io {
        !            89:        int cnt_flags;
        !            90:        int cnt_src0;
        !            91:        int cnt_src1;
        !            92:        u_int32_t cnt_val0;
        !            93:        u_int32_t cnt_val1;
        !            94: };
        !            95:
        !            96: #define        UPIO_GCNTSRC    _IOWR('U', 0, struct uperf_io)  /* get cntr src */
        !            97: #define        UPIO_SCNTSRC    _IOWR('U', 1, struct uperf_io)  /* set cntr src */
        !            98: #define        UPIO_CLRCNT     _IOWR('U', 2, struct uperf_io)  /* clear cntrs */
        !            99: #define        UPIO_GETCNT     _IOWR('U', 3, struct uperf_io)  /* get cntrs */

CVSweb