Blame src/libpfm4/lib/pfmlib_cell_priv.h

Packit 577717
/*
Packit 577717
 * Copyright (c) 2007 TOSHIBA CORPORATION based on code from
Packit 577717
 * Copyright (c) 2001-2006 Hewlett-Packard Development Company, L.P.
Packit 577717
 * Contributed by Stephane Eranian <eranian@hpl.hp.com>
Packit 577717
 *
Packit 577717
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit 577717
 * of this software and associated documentation files (the "Software"), to deal
Packit 577717
 * in the Software without restriction, including without limitation the rights
Packit 577717
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
Packit 577717
 * of the Software, and to permit persons to whom the Software is furnished to do so,
Packit 577717
 * subject to the following conditions:
Packit 577717
 *
Packit 577717
 * The above copyright notice and this permission notice shall be included in all
Packit 577717
 * copies or substantial portions of the Software.
Packit 577717
 *
Packit 577717
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
Packit 577717
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Packit 577717
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit 577717
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Packit 577717
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Packit 577717
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit 577717
 */
Packit 577717
#ifndef __PFMLIB_CELL_PRIV_H__
Packit 577717
#define __PFMLIB_CELL_PRIV_H__
Packit 577717
Packit 577717
#define PFM_CELL_PME_FREQ_PPU_MFC	0
Packit 577717
#define PFM_CELL_PME_FREQ_SPU		1
Packit 577717
#define PFM_CELL_PME_FREQ_HALF		2
Packit 577717
Packit 577717
typedef struct {
Packit 577717
	char			*pme_name;	/* event name */
Packit 577717
	char			*pme_desc;	/* event description */
Packit 577717
	unsigned long long	pme_code;	/* event code */
Packit 577717
	unsigned int		pme_type;	/* count type */
Packit 577717
	unsigned int		pme_freq;	/* debug_bus_control's frequency value */
Packit 577717
	unsigned int		pme_enable_word;
Packit 577717
} pme_cell_entry_t;
Packit 577717
Packit 577717
/* PMC register */
Packit 577717
#define REG_PM0_CONTROL		0x0000
Packit 577717
#define REG_PM1_CONTROL		0x0001
Packit 577717
#define REG_PM2_CONTROL		0x0002
Packit 577717
#define REG_PM3_CONTROL		0x0003
Packit 577717
#define REG_PM4_CONTROL		0x0004
Packit 577717
#define REG_PM5_CONTROL		0x0005
Packit 577717
#define REG_PM6_CONTROL		0x0006
Packit 577717
#define REG_PM7_CONTROL		0x0007
Packit 577717
Packit 577717
#define REG_PM0_EVENT		0x0008
Packit 577717
#define REG_PM1_EVENT		0x0009
Packit 577717
#define REG_PM2_EVENT		0x000A
Packit 577717
#define REG_PM3_EVENT		0x000B
Packit 577717
#define REG_PM4_EVENT		0x000C
Packit 577717
#define REG_PM5_EVENT		0x000D
Packit 577717
#define REG_PM6_EVENT		0x000E
Packit 577717
#define REG_PM7_EVENT		0x000F
Packit 577717
Packit 577717
#define REG_GROUP_CONTROL	0x0010
Packit 577717
#define REG_DEBUG_BUS_CONTROL	0x0011
Packit 577717
#define REG_TRACE_ADDRESS	0x0012
Packit 577717
#define REG_EXT_TRACE_TIMER	0x0013
Packit 577717
#define REG_PM_STATUS		0x0014
Packit 577717
#define REG_PM_CONTROL		0x0015
Packit 577717
#define REG_PM_INTERVAL		0x0016
Packit 577717
#define REG_PM_START_STOP	0x0017
Packit 577717
Packit 577717
#define NONE_SIGNAL		0x0000
Packit 577717
#define SIGNAL_SPU		41
Packit 577717
#define SIGNAL_SPU_TRIGGER	42
Packit 577717
#define SIGNAL_SPU_EVENT	43
Packit 577717
Packit 577717
#define COUNT_TYPE_BOTH_TYPE		1
Packit 577717
#define COUNT_TYPE_CUMULATIVE_LEN	2
Packit 577717
#define COUNT_TYPE_OCCURRENCE		3
Packit 577717
#define COUNT_TYPE_MULTI_CYCLE		4
Packit 577717
#define COUNT_TYPE_SINGLE_CYCLE		5
Packit 577717
Packit 577717
#define WORD_0_ONLY	1	/* 0001 */
Packit 577717
#define WORD_2_ONLY	4	/* 0100 */
Packit 577717
#define WORD_0_AND_1	3	/* 0011 */
Packit 577717
#define WORD_0_AND_2	5	/* 0101 */
Packit 577717
#define WORD_NONE	0
Packit 577717
Packit 577717
#endif /* __PFMLIB_CELL_PRIV_H__ */