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 
normal memory.
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.
> thanks,

Xen-ia64-devel mailing list

Reply via email to