px_hcall.s revision 44bb982b3dceb1fe23d61ef29b896b40508e2a5a
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Hypervisor calls called by px nexus driver.
*/
#include <sys/asm_linkage.h>
#include <sys/hypervisor_api.h>
#include <px_ioapi.h>
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*ARGSUSED*/
{ return (0); }
/*
* First arg to both of these functions is a dummy, to accomodate how
* hv_hpriv() works.
*/
/*ARGSUSED*/
int
{ return (0); }
#else /* lint || __lint */
/*
* arg0 - devhandle
* arg1 - pci_device
* arg2 - pci_config_offset
* arg3 - pci_config_size
*
* ret0 - status
* ret1 - error_flag
* ret2 - pci_cfg_data
*/
1: retl
/*
* arg0 - devhandle
* arg1 - pci_device
* arg2 - pci_config_offset
* arg3 - pci_config_size
* arg4 - pci_cfg_data
*
* ret0 - status
* ret1 - error_flag
*/
/*
* arg0 - devhandle
* arg1 - tsbid
* arg2 - pages
* arg3 - io_attributes
* arg4 - io_page_list_p
*
* ret1 - pages_mapped
*/
1:
/*
* arg0 - devhandle
* arg1 - tsbid
* arg2 - pages
*
* ret1 - pages_demapped
*/
1: retl
/*
* arg0 - devhandle
* arg1 - tsbid
*
*
* ret0 - status
* ret1 - io_attributes
* ret2 - r_addr
*/
1:
/*
* arg0 - devhandle
* arg1 - r_addr
* arg2 - io_attributes
*
*
* ret0 - status
* ret1 - io_addr
*/
1: retl
/*
* arg0 - devhandle
* arg1 - r_addr
* arg2 - size
*
* ret1 - error_flag
* ret2 - data
*/
1:
/*
* arg0 - devhandle
* arg1 - r_addr
* arg2 - sizes
* arg3 - data
* arg4 - r_addr2
*
* ret1 - error_flag
*/
1:
/*
* arg0 - devhandle
* arg1 - r_addr
* arg2 - num_bytes
* arg3 - io_sync_direction
*
* ret0 - status
* ret1 - bytes_synched
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msiq_id
* arg2 - r_addr
* arg3 - nentries
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msiq_id
*
* ret0 - status
* ret1 - r_addr
* ret1 - nentries
*/
brnz 1f
1: retl
/*
* arg0 - devhandle
* arg1 - msiq_id
*
* ret0 - status
* ret1 - msiq_valid_state
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msiq_id
* arg2 - msiq_valid_state
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msiq_id
*
* ret0 - status
* ret1 - msiq_state
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msiq_id
* arg2 - msiq_state
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msiq_id
*
* ret0 - status
* ret1 - msiq_head
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msiq_id
* arg2 - msiq_head
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msiq_id
*
* ret0 - status
* ret1 - msiq_tail
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msi_num
*
* ret0 - status
* ret1 - msiq_id
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msi_num
* arg2 - msiq_id
* arg2 - msitype
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msi_num
*
* ret0 - status
* ret1 - msi_valid_state
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msi_num
* arg2 - msi_valid_state
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msi_num
*
* ret0 - status
* ret1 - msi_state
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msi_num
* arg2 - msi_state
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msg_type
*
* ret0 - status
* ret1 - msiq_id
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msg_type
* arg2 - msiq_id
*
* ret0 - status
*/
/*
* arg0 - devhandle
* arg1 - msg_type
*
* ret0 - status
* ret1 - msg_valid_state
*/
1: retl
/*
* arg0 - devhandle
* arg1 - msg_type
* arg2 - msg_valid_state
*
* ret0 - status
*/
!
! After SHIFT_REGS:
!
!
!
!
.align 0x40
#endif /* lint || __lint */