I tried to use alloc_pages() in DomU to allocate 16 pages and use direct_remap_area_pages() in Dom0 to map that memory region into Dom0, the code is as following: DomU: svd_ring = (svdif_ring_t *) alloc_pages(GFP_KERNEL, 4); then send (virt_to_machine(svd_ring) >> PAGE_SHIFT) to Dom0 Dom0: error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr), mapcmd.shmem_addr<<PAGE_SHIFT, PAGE_SIZE*16, prot, 1); Here, mapcmd.shmem_addr=(virt_to_machine(svd_ring) >> PAGE_SHIFT); it seems to remap successfully, but when I tried to access vma->addr in Dom0, DomU crashed. I don''t know why. :( Can someone give me some advice? I also noticed that HYPERVISOR_multicall(__HYPERVISOR_update_va_mapping_otherdomain) seems to be able to remap memory. But I haven''t figure out how to use that hypervisor call. So what is the right way to map memory pages from DomU to Dom0? Thanks in advance! -x ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel