Isaku Yamahata wrote:
> On Fri, Oct 17, 2008 at 05:36:58PM +0800, Xu, Anthony wrote:
> It's correct that xen VMM doesn't fully understand io area.
> However the VMM know all about RAM.
Thanks for your explanation, see my comment.
> So far !mfn_valid() has sufficed for the current implementation
> in order to detect IO area.
> However you are going to into the case which needs more precise
> detection. But what we want is the way to detect whether
> the page is NOT conventional memory. Not io area.
> There are three (or four) cases
> - !mfn_valid() case
> This means that there isn't a corresponding struct page_info.
> So we just skip reference counting over this type.
Mfn_valid maybe not precise.
One page can accommodate several page_info.
page_infos in the same page have different status, some page_infos refer to
Other page_infos are supposed not to exist, due to they are in the same page,
probe in function ia64_frametable_probe succeeds.
Is it possible?
> - mfn_valid() case
> - no ram
> I suppose this is the case you want to address.
> In this case, the corresponding struct page_info can
> be owned by DOMID_IO.
> This case needs to be addressed.
Does mfn_vaild return true for MMIO now?
If it return faule for MMIO,
We can use mfn_valid for VTD, means DOMID_IO is not used so far.
> - RAM
> - conventional memory (EFI_MEMORY_CONVENTIONAL)
> This case was already handled by the current implementation.
> - other type RAM
> I'm not sure whether this case matters.
> If it matters, we can handle this case as same as no ram case.
Xen-ia64-devel mailing list