root/dev/sun/uperfio.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    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 */

/* [<][>][^][v][top][bottom][index][help] */