The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/osfmk/ppc/low_trace.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * The contents of this file constitute Original Code as defined in and
    7  * are subject to the Apple Public Source License Version 1.1 (the
    8  * "License").  You may not use this file except in compliance with the
    9  * License.  Please obtain a copy of the License at
   10  * http://www.apple.com/publicsource and read it before using this file.
   11  * 
   12  * This Original Code and all software distributed under the License are
   13  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   14  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   15  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   16  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
   17  * License for the specific language governing rights and limitations
   18  * under the License.
   19  * 
   20  * @APPLE_LICENSE_HEADER_END@
   21  */
   22 /*
   23  * @OSF_COPYRIGHT@
   24  */
   25 
   26 /*
   27  *
   28  *      These are the structures and constants used for the low-level trace
   29  */
   30 
   31 
   32 
   33 
   34 
   35 
   36 #ifndef _LOW_TRACE_H_
   37 #define _LOW_TRACE_H_
   38 
   39 #pragma pack(4)                                                 /* Make sure the structure stays as we defined it */
   40 typedef struct LowTraceRecord {
   41 
   42         unsigned short  LTR_cpu;                        /* 0000 - CPU address */
   43         unsigned short  LTR_excpt;                      /* 0002 - Exception code */
   44         unsigned int    LTR_timeHi;                     /* 0004 - High order time */
   45         unsigned int    LTR_timeLo;                     /* 0008 - Low order time */
   46         unsigned int    LTR_cr;                         /* 000C - CR */
   47         unsigned int    LTR_dsisr;                      /* 0010 - DSISR */
   48         unsigned int    LTR_rsvd0;                      /* 0014 - reserved */
   49         uint64_t                LTR_srr0;                       /* 0018 - SRR0 */
   50 
   51         uint64_t                LTR_srr1;                       /* 0020 - SRR1 */
   52         uint64_t                LTR_dar;                        /* 0028 - DAR */
   53         uint64_t                LTR_save;                       /* 0030 - savearea */
   54         uint64_t                LTR_lr;                         /* 0038 - LR */
   55 
   56         uint64_t                LTR_ctr;                        /* 0040 - CTR */
   57         uint64_t                LTR_r0;                         /* 0048 - R0 */
   58         uint64_t                LTR_r1;                         /* 0050 - R1 */
   59         uint64_t                LTR_r2;                         /* 0058 - R2 */
   60 
   61         uint64_t                LTR_r3;                         /* 0060 - R3 */
   62         uint64_t                LTR_r4;                         /* 0068 - R4 */
   63         uint64_t                LTR_r5;                         /* 0070 - R5 */
   64         uint64_t                LTR_r6;                         /* 0078 - R6 */
   65 
   66 } LowTraceRecord;               
   67 #pragma pack()
   68 
   69 #pragma pack(4)                                                 /* Make sure the structure stays as we defined it */
   70 typedef struct traceWork {
   71 
   72         unsigned int traceCurr;                         /* Address of next slot */
   73         unsigned int traceMask;                         /* Types to be traced */
   74         unsigned int traceStart;                        /* Start of trace table */
   75         unsigned int traceEnd;                          /* End of trace table */
   76         unsigned int traceMsnd;                         /* Saved trace mask */
   77         unsigned int traceSize;                         /* Size of trace table. Min 1 page */
   78         unsigned int traceGas[2];
   79 } traceWork;
   80 #pragma pack()
   81 
   82 extern traceWork trcWork;
   83 extern unsigned int lastTrace;                  /* Value of low-level exception trace controls */
   84 
   85 
   86 #endif /* ifndef _LOW_TRACE_H_ */

Cache object: 1d884b60bbcb8ef4104e77037effc466


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.