ia64/xen-unstable

view xen/include/asm-x86/grant_table.h @ 15310:3d5f39c610ad

[XEN] Make common log-dirty paging code and add HAP log-dirty support.
Signed-off-by: Wei Huang <wei.huang2@amd.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Mon Jun 11 14:35:52 2007 +0100 (2007-06-11)
parents 1f7a6456c330
children 2e5d922b7ee3
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 replace_grant_host_mapping(
19 uint64_t addr, unsigned long frame, uint64_t new_addr, 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) paging_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 static inline int replace_grant_supported(void)
52 {
53 return 1;
54 }
56 #endif /* __ASM_GRANT_TABLE_H__ */