1 #ifndef _BLKBACK_PAGEMAP_H_
2 #define _BLKBACK_PAGEMAP_H_
5 #include <xen/interface/xen.h>
6 #include <xen/interface/grant_table.h>
8 typedef unsigned int busid_t;
10 struct blkback_pagemap {
16 #if defined(CONFIG_XEN_BLKBACK_PAGEMAP) || defined(CONFIG_XEN_BLKBACK_PAGEMAP_MODULE)
18 int blkback_pagemap_init(int);
19 void blkback_pagemap_set(int, struct page *, domid_t, busid_t, grant_ref_t);
20 void blkback_pagemap_clear(struct page *);
21 struct blkback_pagemap blkback_pagemap_read(struct page *);
23 #else /* CONFIG_XEN_BLKBACK_PAGEMAP */
25 static inline int blkback_pagemap_init(int pages) { return 0; }
26 static inline void blkback_pagemap_set(int idx, struct page *page, domid_t dom,
27 busid_t bus, grant_ref_t gnt) {}
28 static inline void blkback_pagemap_clear(struct page *page) {}
29 static inline struct blkback_pagemap blkback_pagemap_read(struct page *page)
32 return (struct blkback_pagemap){-1, -1, -1};
35 #endif /* CONFIG_XEN_BLKBACK_PAGEMAP */