lkml.org 
[lkml]   [2011]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 6/8] xen/debug: WARN_ON when 1-1 but no _PAGE_IOMAP flag set.
    On Thu, Jan 06, 2011 at 08:17:38PM +0000, Keir Fraser wrote:
    > On 06/01/2011 19:50, "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
    > wrote:
    >
    > >> Perhaps this ties in with the m2p overlay which Stefano+Jeremy have been
    > >> working on to deal with granted foreign pages? I/O pages are a bit like
    > >> foreign memory (if you squint enough)...
    > >
    > > In theory the m2p overlay could be used for this purpose but in practice
    > > the current m2p overlay API needs a struct page, also it might end up
    > > stressing the hashtable too much.
    > >
    > > Besides I think Konrad's solution might be simpler: if the m2p returns
    > > one of the two special values we just return mfn from pte_mfn_to_pfn.
    > >
    > > Keir, could you confirm that the m2p entries of DOM_IO pages are always
    > > 0xffffff or 0x55555?
    >
    > Always 0x55...55 (for m2p entries that exist), else page fault on access to
    > the non-existent m2p entry (m2p entries only guaranteed to exist for ram).
    > Perhaps the 0xff...ff values come from Linux's own fixup code handling a
    > faulting read access of the m2p array? If so you could return 0x55...55
    > instead and avoid checking for 0xff...ff. I really don't know how you could
    > get 0xff...ff for non-RAM pages from Xen itself.

    The non-RAM pages are assinged to a DOMID_IO (arch_init_memory), for example:

    298 /* First 1MB of RAM is historically marked as I/O. */
    299 for ( i = 0; i < 0x100; i++ )
    300 share_xen_page_with_guest(mfn_to_page(i), dom_io, XENSHARE_writable);

    and share_xen_page.. sets that page to INVALID_M2P_ENTRY.

    But I could also be reading the code wrongly?

    >
    > -- Keir
    >


    \
     
     \ /
      Last update: 2011-01-06 23:03    [W:5.041 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site