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