Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/platforms/pseries/papr-hvpipe.h
29274 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
#ifndef _PAPR_HVPIPE_H
3
#define _PAPR_HVPIPE_H
4
5
#define HVPIPE_HMC_ID_MASK 0x02000000 /*02-HMC,00-reserved and HMC ID */
6
#define HVPIPE_MAX_WRITE_BUFFER_SIZE 4048
7
/*
8
* hvpipe specific RTAS return values
9
*/
10
#define RTAS_HVPIPE_CLOSED -4
11
12
#define HVPIPE_HDR_LEN sizeof(struct papr_hvpipe_hdr)
13
14
enum hvpipe_migrate_action {
15
HVPIPE_SUSPEND,
16
HVPIPE_RESUME,
17
};
18
19
struct hvpipe_source_info {
20
struct list_head list; /* list of sources */
21
u32 srcID;
22
u32 hvpipe_status;
23
wait_queue_head_t recv_wqh; /* wake up poll() waitq */
24
struct task_struct *tsk;
25
};
26
27
/*
28
* Source ID Format 0xCCRRQQQQ
29
* CC = indicating value is source type (ex: 0x02 for HMC)
30
* RR = 0x00 (reserved)
31
* QQQQ = 0x0000 – 0xFFFF indicating the source index indetifier
32
*/
33
struct hvpipe_event_buf {
34
__be32 srcID; /* Source ID */
35
u8 event_type; /* 0x01 for hvpipe message available */
36
/* from specified src ID */
37
/* 0x02 for loss of pipe connection */
38
/* with specified src ID */
39
};
40
41
void hvpipe_migration_handler(int action);
42
#endif /* _PAPR_HVPIPE_H */
43
44