|
|
1.1 ! root 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: * ! 24: * Hardware specific performance counters ! 25: */ ! 26: #ifndef _HW_COUNTERS_H_ ! 27: #define _HW_COUNTERS_H_ ! 28: ! 29: #ifndef __ppc__ ! 30: #error This file is only useful on PowerPC. ! 31: #endif ! 32: ! 33: ! 34: typedef struct hw_counters { ! 35: ! 36: unsigned int hw_InVains; /* In vain */ ! 37: unsigned int hw_Resets; /* Reset */ ! 38: unsigned int hw_MachineChecks; /* Machine check */ ! 39: unsigned int hw_DSIs; /* DSIs */ ! 40: unsigned int hw_ISIs; /* ISIs */ ! 41: unsigned int hw_Externals; /* Externals */ ! 42: unsigned int hw_Alignments; /* Alignment */ ! 43: unsigned int hw_Programs; /* Program */ ! 44: unsigned int hw_FloatPointUnavailable; /* Floating point */ ! 45: unsigned int hw_Decrementers; /* Decrementer */ ! 46: unsigned int hw_IOErrors; /* I/O error */ ! 47: unsigned int hw_rsvd0; /* Reserved */ ! 48: unsigned int hw_SystemCalls; /* System call */ ! 49: unsigned int hw_Traces; /* Trace */ ! 50: unsigned int hw_FloatingPointAssists; /* Floating point assist */ ! 51: unsigned int hw_PerformanceMonitors; /* Performance monitor */ ! 52: unsigned int hw_Altivecs; /* VMX */ ! 53: unsigned int hw_rsvd1; /* Reserved */ ! 54: unsigned int hw_rsvd2; /* Reserved */ ! 55: unsigned int hw_rsvd3; /* Reserved */ ! 56: unsigned int hw_InstBreakpoints; /* Instruction breakpoint */ ! 57: unsigned int hw_SystemManagements; /* System management */ ! 58: unsigned int hw_rsvd4; /* Reserved */ ! 59: unsigned int hw_AltivecAssists; /* Altivec Assist */ ! 60: unsigned int hw_rsvd6; /* Reserved */ ! 61: unsigned int hw_rsvd7; /* Reserved */ ! 62: unsigned int hw_rsvd8; /* Reserved */ ! 63: unsigned int hw_rsvd9; /* Reserved */ ! 64: unsigned int hw_rsvd10; /* Reserved */ ! 65: unsigned int hw_rsvd11; /* Reserved */ ! 66: unsigned int hw_rsvd12; /* Reserved */ ! 67: unsigned int hw_rsvd13; /* Reserved */ ! 68: unsigned int hw_rsvd14; /* Reserved */ ! 69: unsigned int hw_Trace601; /* Trace */ ! 70: unsigned int hw_SIGPs; /* SIGP */ ! 71: unsigned int hw_Preemptions; /* Preemption */ ! 72: unsigned int hw_ContextSwitchs; /* Context switch */ ! 73: ! 74: unsigned int hw_spare[27]; /* Pad to 256 bytes */ ! 75: ! 76: } hw_counters; ! 77: ! 78: extern hw_counters hw_counts(NCPUS); ! 79: ! 80: #endif /* _HW_COUNTERS_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.