Re: [Xen-devel] Re: [PATCH 1 of 7] x86: add _PAGE_IOMAP pte flag for IO mappings

Jeremy Fitzhardinge
2008-09-09T15:48:18Z

Keir Fraser wrote:
> That's basically what our _PAGE_IO flag (in our old Linux patchset) means.
> We use it to cause pte_pfn() to return an invalid pfn and hence avoid
> reference counting that way. Since kernel mappings are never reference
> counted (I think?) perhaps we could use _PAGE_SPECIAL even if it is
> restricted to use on user mappings.

Well, _PAGE_IOMAP's most important semantic from Xen's perspective is
that the frame number is considered to already be an MFN and so isn't
converted. It may be that _PAGE_SPECIAL is also useful for its "no
refcount" properties, but we could set both in that case.

At present we can't set _PAGE_SPECIAL on kernel mappings because we
assume its usermode only, and its shared with _PAGE_CPA_TEST which is
kernel-only. Most _PAGE_IOMAP mappings are in kernel space, but I
wouldn't discount user mappings if we end up allowing direct access to
passthrough devices.

J