678453a8ed49104d8adad58f3ba591bdc39883e8speer/*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * CDDL HEADER START
678453a8ed49104d8adad58f3ba591bdc39883e8speer *
678453a8ed49104d8adad58f3ba591bdc39883e8speer * The contents of this file are subject to the terms of the
678453a8ed49104d8adad58f3ba591bdc39883e8speer * Common Development and Distribution License (the "License").
678453a8ed49104d8adad58f3ba591bdc39883e8speer * You may not use this file except in compliance with the License.
678453a8ed49104d8adad58f3ba591bdc39883e8speer *
678453a8ed49104d8adad58f3ba591bdc39883e8speer * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
678453a8ed49104d8adad58f3ba591bdc39883e8speer * or http://www.opensolaris.org/os/licensing.
678453a8ed49104d8adad58f3ba591bdc39883e8speer * See the License for the specific language governing permissions
678453a8ed49104d8adad58f3ba591bdc39883e8speer * and limitations under the License.
678453a8ed49104d8adad58f3ba591bdc39883e8speer *
678453a8ed49104d8adad58f3ba591bdc39883e8speer * When distributing Covered Code, include this CDDL HEADER in each
678453a8ed49104d8adad58f3ba591bdc39883e8speer * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
678453a8ed49104d8adad58f3ba591bdc39883e8speer * If applicable, add the following below this CDDL HEADER, with the
678453a8ed49104d8adad58f3ba591bdc39883e8speer * fields enclosed by brackets "[]" replaced with your own identifying
678453a8ed49104d8adad58f3ba591bdc39883e8speer * information: Portions Copyright [yyyy] [name of copyright owner]
678453a8ed49104d8adad58f3ba591bdc39883e8speer *
678453a8ed49104d8adad58f3ba591bdc39883e8speer * CDDL HEADER END
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
678453a8ed49104d8adad58f3ba591bdc39883e8speer * Use is subject to license terms.
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer#pragma ident "%Z%%M% %I% %E% SMI"
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * Hypervisor calls called by niu leaf driver.
678453a8ed49104d8adad58f3ba591bdc39883e8speer*/
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer#include <sys/asm_linkage.h>
678453a8ed49104d8adad58f3ba591bdc39883e8speer#include <sys/hypervisor_api.h>
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * NIU HV API v1.1 definitions
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer#define N2NIU_VR_GETINFO 0x148
678453a8ed49104d8adad58f3ba591bdc39883e8speer#define N2NIU_VR_GET_RX_MAP 0x14d
678453a8ed49104d8adad58f3ba591bdc39883e8speer#define N2NIU_VR_GET_TX_MAP 0x14e
678453a8ed49104d8adad58f3ba591bdc39883e8speer#define N2NIU_VRRX_SET_INO 0x150
678453a8ed49104d8adad58f3ba591bdc39883e8speer#define N2NIU_VRTX_SET_INO 0x151
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer#if defined(lint) || defined(__lint)
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*ARGSUSED*/
678453a8ed49104d8adad58f3ba591bdc39883e8speeruint64_t
678453a8ed49104d8adad58f3ba591bdc39883e8speervdds_hv_niu_vr_getinfo(uint32_t cookie, uint64_t *real_start, uint64_t *size)
678453a8ed49104d8adad58f3ba591bdc39883e8speer{ return (0); }
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*ARGSUSED*/
678453a8ed49104d8adad58f3ba591bdc39883e8speeruint64_t
678453a8ed49104d8adad58f3ba591bdc39883e8speervdds_hv_niu_vr_get_rxmap(uint32_t cookie, uint64_t *dma_map)
678453a8ed49104d8adad58f3ba591bdc39883e8speer{ return (0); }
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*ARGSUSED*/
678453a8ed49104d8adad58f3ba591bdc39883e8speeruint64_t
678453a8ed49104d8adad58f3ba591bdc39883e8speervdds_hv_niu_vr_get_txmap(uint32_t cookie, uint64_t *dma_map)
678453a8ed49104d8adad58f3ba591bdc39883e8speer{ return (0); }
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*ARGSUSED*/
678453a8ed49104d8adad58f3ba591bdc39883e8speeruint64_t
678453a8ed49104d8adad58f3ba591bdc39883e8speervdds_hv_niu_vrtx_set_ino(uint32_t cookie, uint64_t vch_idx, uint32_t ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer{ return (0); }
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer/*ARGSUSED*/
678453a8ed49104d8adad58f3ba591bdc39883e8speeruint64_t
678453a8ed49104d8adad58f3ba591bdc39883e8speervdds_hv_niu_vrrx_set_ino(uint32_t cookie, uint64_t vch_idx, uint32_t ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer{ return (0); }
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer#else /* lint || __lint */
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer /*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * vdds_hv_niu_vr_getinfo(uint32_t cookie, uint64_t &real_start,
678453a8ed49104d8adad58f3ba591bdc39883e8speer * uint64_t &size)
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer ENTRY(vdds_hv_niu_vr_getinfo)
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov %o1, %g1
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov %o2, %g2
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov N2NIU_VR_GETINFO, %o5
678453a8ed49104d8adad58f3ba591bdc39883e8speer ta FAST_TRAP
678453a8ed49104d8adad58f3ba591bdc39883e8speer stx %o1, [%g1]
678453a8ed49104d8adad58f3ba591bdc39883e8speer retl
678453a8ed49104d8adad58f3ba591bdc39883e8speer stx %o2, [%g2]
678453a8ed49104d8adad58f3ba591bdc39883e8speer SET_SIZE(vdds_hv_niu_vr_getinfo)
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer /*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * vdds_hv_niu_vr_get_rxmap(uint32_t cookie, uint64_t *dma_map)
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer ENTRY(vdds_hv_niu_vr_get_rxmap)
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov %o1, %g1
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov N2NIU_VR_GET_RX_MAP, %o5
678453a8ed49104d8adad58f3ba591bdc39883e8speer ta FAST_TRAP
678453a8ed49104d8adad58f3ba591bdc39883e8speer retl
678453a8ed49104d8adad58f3ba591bdc39883e8speer stx %o1, [%g1]
678453a8ed49104d8adad58f3ba591bdc39883e8speer SET_SIZE(vdds_hv_niu_vr_get_rxmap)
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer /*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * vdds_hv_niu_vr_get_txmap(uint32_t cookie, uint64_t *dma_map)
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer ENTRY(vdds_hv_niu_vr_get_txmap)
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov %o1, %g1
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov N2NIU_VR_GET_TX_MAP, %o5
678453a8ed49104d8adad58f3ba591bdc39883e8speer ta FAST_TRAP
678453a8ed49104d8adad58f3ba591bdc39883e8speer retl
678453a8ed49104d8adad58f3ba591bdc39883e8speer stx %o1, [%g1]
678453a8ed49104d8adad58f3ba591bdc39883e8speer SET_SIZE(vdds_hv_niu_vr_get_txmap)
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer /*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * vdds_hv_niu_vrrx_set_ino(uint32_t cookie, uint64_t vch_idx, uint32_t ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer ENTRY(vdds_hv_niu_vrrx_set_ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov N2NIU_VRRX_SET_INO, %o5
678453a8ed49104d8adad58f3ba591bdc39883e8speer ta FAST_TRAP
678453a8ed49104d8adad58f3ba591bdc39883e8speer retl
678453a8ed49104d8adad58f3ba591bdc39883e8speer nop
678453a8ed49104d8adad58f3ba591bdc39883e8speer SET_SIZE(vdds_hv_niu_vrrx_set_ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer /*
678453a8ed49104d8adad58f3ba591bdc39883e8speer * vdds_hv_niu_vrtx_set_ino(uint32_t cookie, uint64_t vch_idx, uint32_t ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer */
678453a8ed49104d8adad58f3ba591bdc39883e8speer ENTRY(vdds_hv_niu_vrtx_set_ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer mov N2NIU_VRTX_SET_INO, %o5
678453a8ed49104d8adad58f3ba591bdc39883e8speer ta FAST_TRAP
678453a8ed49104d8adad58f3ba591bdc39883e8speer retl
678453a8ed49104d8adad58f3ba591bdc39883e8speer nop
678453a8ed49104d8adad58f3ba591bdc39883e8speer SET_SIZE(vdds_hv_niu_vrtx_set_ino)
678453a8ed49104d8adad58f3ba591bdc39883e8speer
678453a8ed49104d8adad58f3ba591bdc39883e8speer#endif /* lint || __lint */