2017-11-07 14:58:47 +01:00
// SPDX-License-Identifier: GPL-2.0
2017-08-22 13:26:56 -04:00
/*
2015-07-16 12:40:48 -04:00
* Copyright ( C ) 2010 - 2015 UNISYS CORPORATION
2014-03-04 07:58:07 -06:00
* All rights reserved .
*/
2016-09-02 16:41:32 -04:00
# ifndef __VISORBUS_PRIVATE_H__
# define __VISORBUS_PRIVATE_H__
2014-03-04 07:58:07 -06:00
2014-05-06 09:58:23 -04:00
# include <linux/uuid.h>
2016-09-26 11:03:41 -04:00
# include <linux/utsname.h>
2017-12-07 12:11:07 -05:00
# include <linux/visorbus.h>
2014-05-06 09:58:23 -04:00
2014-03-04 07:58:07 -06:00
# include "controlvmchannel.h"
2016-09-02 16:41:39 -04:00
# include "vbuschannel.h"
2016-09-02 16:41:31 -04:00
2017-09-27 13:14:36 -04:00
struct visor_device * visorbus_get_device_by_id ( u32 bus_no , u32 dev_no ,
struct visor_device * from ) ;
2017-08-22 13:27:24 -04:00
int visorbus_create_instance ( struct visor_device * dev ) ;
2017-08-22 13:27:33 -04:00
void visorbus_remove_instance ( struct visor_device * bus_info ) ;
2017-08-22 13:27:34 -04:00
int create_visor_device ( struct visor_device * dev_info ) ;
2017-08-22 13:27:35 -04:00
void remove_visor_device ( struct visor_device * dev_info ) ;
2017-05-19 16:17:41 -04:00
int visorchipset_device_pause ( struct visor_device * dev_info ) ;
int visorchipset_device_resume ( struct visor_device * dev_info ) ;
2017-08-22 13:27:03 -04:00
void visorbus_response ( struct visor_device * p , int response , int controlvm_id ) ;
2017-08-22 13:27:04 -04:00
void visorbus_device_changestate_response ( struct visor_device * p , int response ,
struct visor_segment_state state ) ;
2015-05-05 18:37:02 -04:00
int visorbus_init ( void ) ;
2015-05-05 18:36:15 -04:00
void visorbus_exit ( void ) ;
2016-06-10 21:48:19 -04:00
2016-06-10 21:48:23 -04:00
/* visorchannel access functions */
2017-08-30 13:36:31 -04:00
struct visorchannel * visorchannel_create ( u64 physaddr , gfp_t gfp ,
2017-09-27 13:14:44 -04:00
const guid_t * guid , bool needs_lock ) ;
2016-06-10 21:48:19 -04:00
void visorchannel_destroy ( struct visorchannel * channel ) ;
int visorchannel_read ( struct visorchannel * channel , ulong offset ,
2016-11-21 12:15:43 -05:00
void * dest , ulong nbytes ) ;
2016-06-10 21:48:19 -04:00
int visorchannel_write ( struct visorchannel * channel , ulong offset ,
2016-11-21 12:15:43 -05:00
void * dest , ulong nbytes ) ;
2016-06-10 21:48:19 -04:00
u64 visorchannel_get_physaddr ( struct visorchannel * channel ) ;
ulong visorchannel_get_nbytes ( struct visorchannel * channel ) ;
char * visorchannel_id ( struct visorchannel * channel , char * s ) ;
char * visorchannel_zoneid ( struct visorchannel * channel , char * s ) ;
u64 visorchannel_get_clientpartition ( struct visorchannel * channel ) ;
int visorchannel_set_clientpartition ( struct visorchannel * channel ,
u64 partition_handle ) ;
2017-08-22 13:26:54 -04:00
char * visorchannel_guid_id ( const guid_t * guid , char * s ) ;
2017-03-17 11:27:11 -04:00
void * visorchannel_get_header ( struct visorchannel * channel ) ;
2014-03-04 07:58:07 -06:00
# endif