1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2010 - 2015 UNISYS CORPORATION
7 #ifndef __VISORBUS_PRIVATE_H__
8 #define __VISORBUS_PRIVATE_H__
10 #include <linux/uuid.h>
11 #include <linux/utsname.h>
12 #include <linux/visorbus.h>
14 #include "controlvmchannel.h"
15 #include "vbuschannel.h"
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);
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
);