1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2010 - 2015 UNISYS CORPORATION
4  * All rights reserved.
5  */
6 
7 #ifndef __VISORBUS_PRIVATE_H__
8 #define __VISORBUS_PRIVATE_H__
9 
10 #include <linux/uuid.h>
11 #include <linux/utsname.h>
12 #include <linux/visorbus.h>
13 
14 #include "controlvmchannel.h"
15 #include "vbuschannel.h"
16 
17 struct visor_device *visorbus_get_device_by_id(u32 bus_no, u32 dev_no,
18 					       struct visor_device *from);
19 int visorbus_create_instance(struct visor_device *dev);
20 void visorbus_remove_instance(struct visor_device *bus_info);
21 int create_visor_device(struct visor_device *dev_info);
22 void remove_visor_device(struct visor_device *dev_info);
23 int visorchipset_device_pause(struct visor_device *dev_info);
24 int visorchipset_device_resume(struct visor_device *dev_info);
25 void visorbus_response(struct visor_device *p, int response, int controlvm_id);
26 void visorbus_device_changestate_response(struct visor_device *p, int response,
27 					  struct visor_segment_state state);
28 int visorbus_init(void);
29 void visorbus_exit(void);
30 
31 /* visorchannel access functions */
32 struct visorchannel *visorchannel_create(u64 physaddr, gfp_t gfp,
33 					 const guid_t *guid, bool needs_lock);
34 void visorchannel_destroy(struct visorchannel *channel);
35 int visorchannel_read(struct visorchannel *channel, ulong offset,
36 		      void *dest, ulong nbytes);
37 int visorchannel_write(struct visorchannel *channel, ulong offset,
38 		       void *dest, ulong nbytes);
39 u64 visorchannel_get_physaddr(struct visorchannel *channel);
40 ulong visorchannel_get_nbytes(struct visorchannel *channel);
41 char *visorchannel_id(struct visorchannel *channel, char *s);
42 char *visorchannel_zoneid(struct visorchannel *channel, char *s);
43 u64 visorchannel_get_clientpartition(struct visorchannel *channel);
44 int visorchannel_set_clientpartition(struct visorchannel *channel,
45 				     u64 partition_handle);
46 char *visorchannel_guid_id(const guid_t *guid, char *s);
47 void *visorchannel_get_header(struct visorchannel *channel);
48 #endif
49