[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] x86: define arch_vm_get_page_prot to set _PAGE_IOMAP on VM_IO vmas
On 10/22/2010 12:06 PM, Jeremy Fitzhardinge wrote: > > Well, if you want to map a normal memory page, you'd use, say, > pfn_pte(pfn, PAGE_KERNEL) to generate the pte. The pfn is a > domain-local pseudo-physical address. When it ends up in > xen_make_pte(), it will translate the the pfn into a machine-global mfn > to generate a pte_t which can be inserted into a pagetable. (And when > that pagetable starts being used as such, Xen will validate that the mfn > is actually one the domain is allowed to address.) > > However, if you're doing an ioremap(), then the mapped address is a > hardware one. In that case, we construct the pte with > pfn_pte(device_pfn, PAGE_KERNEL_IO), which sets the _PAGE_IOMAP flag in > the pte flags. When it gets to xen_make_pte(), it sees _PAGE_IOMAP and > constructs a pte_t containing the literal untranslated device_pfn > (really an mfn). (And again, Xen will check that the domain has access > to that mfn before allowing the mapping to be used.) > When you're doing an ioremap(), then the mapped address is *both* a PFN and an MFN, right? So why do your need a flag? That is the part I don't get... -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |