trans_common.h 1.0 KB

1234567891011121314151617181920212223242526272829303132
  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. /* TRUE if it is user context */
  15. #define P9_IS_USER_CONTEXT (!segment_eq(get_fs(), KERNEL_DS))
  16. /**
  17. * struct trans_rpage_info - To store mapped page information in PDU.
  18. * @rp_alloc:Set if this structure is allocd, not a reuse unused space in pdu.
  19. * @rp_nr_pages: Number of mapped pages
  20. * @rp_data: Array of page pointers
  21. */
  22. struct trans_rpage_info {
  23. u8 rp_alloc;
  24. int rp_nr_pages;
  25. struct page *rp_data[0];
  26. };
  27. void p9_release_req_pages(struct trans_rpage_info *);
  28. int p9_payload_gup(struct p9_req_t *, size_t *, int *, int, u8);
  29. int p9_nr_pages(struct p9_req_t *);