Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/net/9p/trans_common.h
15109 views
1
/*
2
* Copyright IBM Corporation, 2010
3
* Author Venkateswararao Jujjuri <[email protected]>
4
*
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms of version 2.1 of the GNU Lesser General Public License
7
* as published by the Free Software Foundation.
8
*
9
* This program is distributed in the hope that it would be useful, but
10
* WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
*
13
*/
14
15
/* TRUE if it is user context */
16
#define P9_IS_USER_CONTEXT (!segment_eq(get_fs(), KERNEL_DS))
17
18
/**
19
* struct trans_rpage_info - To store mapped page information in PDU.
20
* @rp_alloc:Set if this structure is allocd, not a reuse unused space in pdu.
21
* @rp_nr_pages: Number of mapped pages
22
* @rp_data: Array of page pointers
23
*/
24
struct trans_rpage_info {
25
u8 rp_alloc;
26
int rp_nr_pages;
27
struct page *rp_data[0];
28
};
29
30
void p9_release_req_pages(struct trans_rpage_info *);
31
int p9_payload_gup(struct p9_req_t *, size_t *, int *, int, u8);
32
int p9_nr_pages(struct p9_req_t *);
33
34