direct-io.hg

view xen/include/asm-x86/grant_table.h @ 14394:809f36b1b685

Add two arch hooks to gnttab_release_mappings().
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author kfraser@localhost.localdomain
date Thu Mar 15 10:43:13 2007 +0000 (2007-03-15)
parents 70f05d642a2e
children 1f7a6456c330
line source
1 /******************************************************************************
2 * include/asm-x86/grant_table.h
3 *
4 * Copyright (c) 2004-2005 K A Fraser
5 */
7 #ifndef __ASM_GRANT_TABLE_H__
8 #define __ASM_GRANT_TABLE_H__
10 #define INITIAL_NR_GRANT_FRAMES 4
12 /*
13 * Caller must own caller's BIGLOCK, is responsible for flushing the TLB, and
14 * must hold a reference to the page.
15 */
16 int create_grant_host_mapping(
17 uint64_t addr, unsigned long frame, unsigned int flags);
18 int destroy_grant_host_mapping(
19 uint64_t addr, unsigned long frame, unsigned int flags);
21 #define gnttab_create_shared_page(d, t, i) \
22 do { \
23 share_xen_page_with_guest( \
24 virt_to_page((char *)(t)->shared[i]), \
25 (d), XENSHARE_writable); \
26 } while ( 0 )
28 #define gnttab_shared_mfn(d, t, i) \
29 ((virt_to_maddr((t)->shared[i]) >> PAGE_SHIFT))
31 #define gnttab_shared_gmfn(d, t, i) \
32 (mfn_to_gmfn(d, gnttab_shared_mfn(d, t, i)))
34 #define gnttab_mark_dirty(d, f) mark_dirty((d), (f))
36 static inline void gnttab_clear_flag(unsigned long nr, uint16_t *addr)
37 {
38 clear_bit(nr, addr);
39 }
41 #define gnttab_release_put_page(page) \
42 do { \
43 /* Done implicitly when page tables are destroyed. */ \
44 } while (0)
46 #define gnttab_release_put_page_and_type(page) \
47 do { \
48 /* Done implicitly when page tables are destroyed. */ \
49 } while (0)
51 #endif /* __ASM_GRANT_TABLE_H__ */