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/*
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Assembly language support for the iospc IO performance counter driver.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#include <sys/asm_linkage.h>
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#include <sys/hypervisor_api.h>
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#include "rfios_acc.h"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*LINTLIBRARY*/
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#if defined(lint)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*ARGSUSED*/
4df55fde49134f9735f84011f23a767c75e393c7Janie Luint
4df55fde49134f9735f84011f23a767c75e393c7Janie Lurfiospc_get_perfreg(cntr_handle_t handle, int regid, uint64_t *data)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu{ return (0); }
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/*ARGSUSED*/
4df55fde49134f9735f84011f23a767c75e393c7Janie Luint
4df55fde49134f9735f84011f23a767c75e393c7Janie Lurfiospc_set_perfreg(cntr_handle_t handle, int regid, uint64_t data)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu{ return (0); }
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#else /* lint */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu ENTRY(rfiospc_get_perfreg)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu mov RFIOS_GET_PERFREG, %o5
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu ta FAST_TRAP
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu brz,a %o0, 1f
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu stx %o1, [%o2]
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu1: retl
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu nop
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu SET_SIZE(rfiospc_get_perfreg)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu ENTRY(rfiospc_set_perfreg)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu mov RFIOS_SET_PERFREG, %o5
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu ta FAST_TRAP
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu retl
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu nop
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu SET_SIZE(rfiospc_set_perfreg)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#endif