Venkateswararao Jujjuri (JV) | 022cae36 | 2011-01-28 14:11:13 -0800 | [diff] [blame] | 1 | /* |
| 2 | * Copyright IBM Corporation, 2010 |
| 3 | * Author Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> |
| 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 | |
Venkateswararao Jujjuri (JV) | 4038866 | 2011-01-28 15:22:36 -0800 | [diff] [blame] | 15 | /* TRUE if it is user context */ |
| 16 | #define P9_IS_USER_CONTEXT (!segment_eq(get_fs(), KERNEL_DS)) |
| 17 | |
Venkateswararao Jujjuri (JV) | 022cae36 | 2011-01-28 14:11:13 -0800 | [diff] [blame] | 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 *); |