4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * CDDL HEADER START
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu *
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * The contents of this file are subject to the terms of the
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Common Development and Distribution License (the "License").
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * You may not use this file except in compliance with the License.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu *
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * or http://www.opensolaris.org/os/licensing.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * See the License for the specific language governing permissions
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * and limitations under the License.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu *
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * When distributing Covered Code, include this CDDL HEADER in each
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * If applicable, add the following below this CDDL HEADER, with the
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * fields enclosed by brackets "[]" replaced with your own identifying
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * information: Portions Copyright [yyyy] [name of copyright owner]
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu *
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * CDDL HEADER END
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Use is subject to license terms.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#ifndef _RFIOS_ACC_H
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define _RFIOS_ACC_H
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Hypervisor and function definitions needed to access the device.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Defined by FWARC 2008/613.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#ifdef __cplusplus
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern "C" {
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#endif
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#ifndef _ASM
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#include <sys/types.h>
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#include <sys/hypervisor_api.h>
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lutypedef uint64_t cntr_handle_t;
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfiospc_get_perfreg(cntr_handle_t handle, int regid, uint64_t *data);
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfiospc_set_perfreg(cntr_handle_t handle, int regid, uint64_t data);
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#endif /* _ASM */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * RF IOS API hypervisor group number.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RF_PERF_COUNTER_GROUP_ID 0x020a
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * RF IOS performance counter fasttraps.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_GET_PERFREG 0x165
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_SET_PERFREG 0x166
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Performance counter register definitions.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEX_SEL 0
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEX_CNT0 1
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEX_CNT1 2
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_ATU_SEL 3
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_ATU_CNT0 4
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_ATU_CNT1 5
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_IMU_SEL 6
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_IMU_CNT0 7
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_IMU_CNT1 8
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_NPU_SEL 9
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_NPU_CNT0 10
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_NPU_CNT1 11
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEU0_SEL 12
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEU0_CNT0 13
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEU0_CNT1 14
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEU1_SEL 15
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEU1_CNT0 16
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define HVIO_RFIOS_PERFREG_PEU1_CNT1 17
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#ifdef __cplusplus
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu}
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#endif
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#endif /* _RFIOS_ACC_H */