search for: mmuext_clear_pag

Displaying 4 results from an estimated 4 matches for "mmuext_clear_pag".

Did you mean: mmuext_clear_page
2008 Jul 24
2
[RFC] i386 highmem assist hypercalls
..._time); +} +#else +#define fixmap_domain_page(mfn) mfn_to_virt(mfn) +#define fixunmap_domain_page(ptr) ((void)(ptr)) +#endif + int do_mmuext_op( XEN_GUEST_HANDLE(mmuext_op_t) uops, unsigned int count, @@ -2482,6 +2505,66 @@ int do_mmuext_op( break; } + case MMUEXT_CLEAR_PAGE: + { + unsigned char *ptr; + + okay = get_page_and_type_from_pagenr(mfn, PGT_writable_page, + FOREIGNDOM); + if ( unlikely(!okay) ) + { + MEM_LOG("Error while clearing mfn %lx&quo...
2008 Oct 17
6
[PATCH, RFC] i386: highmem access assistance hypercalls
..._time); +} +#else +#define fixmap_domain_page(mfn) mfn_to_virt(mfn) +#define fixunmap_domain_page(ptr) ((void)(ptr)) +#endif + int do_mmuext_op( XEN_GUEST_HANDLE(mmuext_op_t) uops, unsigned int count, @@ -2701,6 +2724,66 @@ int do_mmuext_op( break; } + case MMUEXT_CLEAR_PAGE: + { + unsigned char *ptr; + + okay = !get_page_and_type_from_pagenr(mfn, PGT_writable_page, + FOREIGNDOM, 0); + if ( unlikely(!okay) ) + { + MEM_LOG("Error while clearing mfn %l...
2008 Oct 27
0
[PATCH 4/4] linux/i386: utilize hypervisor highmem handling helpers
...:59.000000000 +0100 @@ -151,9 +151,56 @@ struct page *kmap_atomic_to_page(void *p return pte_page(*pte); } +void clear_highpage(struct page *page) +{ + void *kaddr; + + if (likely(xen_feature(XENFEAT_highmem_assist)) + && PageHighMem(page)) { + struct mmuext_op meo; + + meo.cmd = MMUEXT_CLEAR_PAGE; + meo.arg1.mfn = pfn_to_mfn(page_to_pfn(page)); + if (HYPERVISOR_mmuext_op(&meo, 1, NULL, DOMID_SELF) == 0) + return; + } + + kaddr = kmap_atomic(page, KM_USER0); + clear_page(kaddr); + kunmap_atomic(kaddr, KM_USER0); +} + +void copy_highpage(struct page *to, struct page *from) +{ + void...
2012 Sep 04
2
[PATCH] valgrind: Support for ioctls used by Xen toolstack processes.
...+ (Addr)&op->cmd, sizeof(op->cmd)); + switch(op->cmd) { + case MMUEXT_PIN_L1_TABLE: + case MMUEXT_PIN_L2_TABLE: + case MMUEXT_PIN_L3_TABLE: + case MMUEXT_PIN_L4_TABLE: + case MMUEXT_UNPIN_TABLE: + case MMUEXT_NEW_BASEPTR: + case MMUEXT_CLEAR_PAGE: + case MMUEXT_COPY_PAGE: + case MMUEXT_MARK_SUPER: + case MMUEXT_UNMARK_SUPER: + PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP arg1.mfn", + (Addr)&op->arg1.mfn, + sizeof(op->arg1.mfn)); + break; + + case MMUE...