pmc_events.h (197412) | pmc_events.h (200928) |
---|---|
1/*- 2 * Copyright (c) 2005 Joseph Koshy 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2005 Joseph Koshy 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/dev/hwpmc/pmc_events.h 197412 2009-09-22 17:45:28Z rpaulo $ | 26 * $FreeBSD: head/sys/dev/hwpmc/pmc_events.h 200928 2009-12-23 23:16:54Z rpaulo $ |
27 */ 28 29#ifndef _DEV_HWPMC_PMC_EVENTS_H_ 30#define _DEV_HWPMC_PMC_EVENTS_H_ 31 32/* 33 * Note: Documentation on adding events can be found both in 34 * the source tree at src/share/doc/papers/hwpmc/hwpmc.ms --- 1941 unchanged lines hidden (view full) --- 1976#define __PMC_EV_TSC() \ 1977 __PMC_EV(TSC, TSC) 1978 1979#define PMC_EV_TSC_FIRST PMC_EV_TSC_TSC 1980#define PMC_EV_TSC_LAST PMC_EV_TSC_TSC 1981 1982 1983/* | 27 */ 28 29#ifndef _DEV_HWPMC_PMC_EVENTS_H_ 30#define _DEV_HWPMC_PMC_EVENTS_H_ 31 32/* 33 * Note: Documentation on adding events can be found both in 34 * the source tree at src/share/doc/papers/hwpmc/hwpmc.ms --- 1941 unchanged lines hidden (view full) --- 1976#define __PMC_EV_TSC() \ 1977 __PMC_EV(TSC, TSC) 1978 1979#define PMC_EV_TSC_FIRST PMC_EV_TSC_TSC 1980#define PMC_EV_TSC_LAST PMC_EV_TSC_TSC 1981 1982 1983/* |
1984 * Intel XScale events from "Intel XScale Core Developer's Manual", 1985 * January 2004, #27347302 | 1984 * Intel XScale events from: 1985 * 1986 * Intel XScale Core Developer's Manual 1987 * January, 2004, #27347302 1988 * 1989 * 3rd Generation Intel XScale Microarchitecture 1990 * Developer's Manual 1991 * May 2007, #31628302 1992 * 1993 * First 14 events are for 1st and 2nd Generation Intel XScale cores. The 1994 * remaining are available only on 3rd Generation Intel XScale cores. |
1986 */ | 1995 */ |
1987#define __PMC_EV_XSCALE() \ 1988 __PMC_EV(XSCALE, IC_FETCH) \ 1989 __PMC_EV(XSCALE, IC_MISS) \ 1990 __PMC_EV(XSCALE, DATA_DEPENDENCY_STALL) \ 1991 __PMC_EV(XSCALE, ITLB_MISS) \ 1992 __PMC_EV(XSCALE, DTLB_MISS) \ 1993 __PMC_EV(XSCALE, BRANCH_EXECUTED) \ 1994 __PMC_EV(XSCALE, BRANCH_MISPRED) \ 1995 __PMC_EV(XSCALE, INSTR_EXECUTED) \ 1996 __PMC_EV(XSCALE, DC_FULL_CYCLE) \ 1997 __PMC_EV(XSCALE, DC_FULL_CONTIG) \ 1998 __PMC_EV(XSCALE, DC_ACCESS) \ 1999 __PMC_EV(XSCALE, DC_MISS) \ 2000 __PMC_EV(XSCALE, DC_WRITEBACK) \ 2001 __PMC_EV(XSCALE, PC_CHANGE) | 1996#define __PMC_EV_XSCALE() \ 1997 __PMC_EV(XSCALE, IC_FETCH) \ 1998 __PMC_EV(XSCALE, IC_MISS) \ 1999 __PMC_EV(XSCALE, DATA_DEPENDENCY_STALLED) \ 2000 __PMC_EV(XSCALE, ITLB_MISS) \ 2001 __PMC_EV(XSCALE, DTLB_MISS) \ 2002 __PMC_EV(XSCALE, BRANCH_RETIRED) \ 2003 __PMC_EV(XSCALE, BRANCH_MISPRED) \ 2004 __PMC_EV(XSCALE, INSTR_RETIRED) \ 2005 __PMC_EV(XSCALE, DC_FULL_CYCLE) \ 2006 __PMC_EV(XSCALE, DC_FULL_CONTIG) \ 2007 __PMC_EV(XSCALE, DC_ACCESS) \ 2008 __PMC_EV(XSCALE, DC_MISS) \ 2009 __PMC_EV(XSCALE, DC_WRITEBACK) \ 2010 __PMC_EV(XSCALE, PC_CHANGE) \ 2011 __PMC_EV(XSCALE, BRANCH_RETIRED_ALL) \ 2012 __PMC_EV(XSCALE, INSTR_CYCLE) \ 2013 __PMC_EV(XSCALE, CP_STALL) \ 2014 __PMC_EV(XSCALE, PC_CHANGE_ALL) \ 2015 __PMC_EV(XSCALE, PIPELINE_FLUSH) \ 2016 __PMC_EV(XSCALE, BACKEND_STALL) \ 2017 __PMC_EV(XSCALE, MULTIPLIER_USE) \ 2018 __PMC_EV(XSCALE, MULTIPLIER_STALLED) \ 2019 __PMC_EV(XSCALE, DATA_CACHE_STALLED) \ 2020 __PMC_EV(XSCALE, L2_CACHE_REQ) \ 2021 __PMC_EV(XSCALE, L2_CACHE_MISS) \ 2022 __PMC_EV(XSCALE, ADDRESS_BUS_TRANS) \ 2023 __PMC_EV(XSCALE, SELF_ADDRESS_BUS_TRANS) \ 2024 __PMC_EV(XSCALE, DATA_BUS_TRANS) |
2002 2003#define PMC_EV_XSCALE_FIRST PMC_EV_XSCALE_IC_FETCH | 2025 2026#define PMC_EV_XSCALE_FIRST PMC_EV_XSCALE_IC_FETCH |
2004#define PMC_EV_XSCALE_LAST PMC_EV_XSCALE_PC_CHANGE | 2027#define PMC_EV_XSCALE_LAST PMC_EV_XSCALE_DATA_BUS_TRANS |
2005 2006/* 2007 * All known PMC events. 2008 * 2009 * PMC event numbers are allocated sparsely to allow new PMC events to 2010 * be added to a PMC class without breaking ABI compatibility. The 2011 * current allocation scheme is: 2012 * --- 36 unchanged lines hidden --- | 2028 2029/* 2030 * All known PMC events. 2031 * 2032 * PMC event numbers are allocated sparsely to allow new PMC events to 2033 * be added to a PMC class without breaking ABI compatibility. The 2034 * current allocation scheme is: 2035 * --- 36 unchanged lines hidden --- |