[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH 0/3] AMD IOMMU: Share p2m table with iommu


At 01:51 +0100 on 21 May (1305942710), Kay, Allen M wrote:
> The common code that caused problem is the following.
> typedef enum {
> -    p2m_invalid = 0,            /* Nothing mapped here */
> -    p2m_ram_rw = 1,             /* Normal read/write guest RAM */
> +    p2m_ram_rw = 0,             /* Normal read/write guest RAM */
> +    p2m_invalid = 1,            /* Nothing mapped here */
> With the above change, guest with device direct assignment fails to
> boot.  QEMU VGA displays some weird color patterns. 

Unfortunately this change seems to be necessary for AMD IOMMU to share
pagetables with the p2m.  I'd rather we didn't have it, because it means
empty ptes look like RAM mappings of frame 0. :(  

Wei, is there any way we can reorganise the AMD IOMMU pagetables so we
can store the p2m type somewhere that's not required to be zero?  If
not, I'm inclined to revert the p2m-sharing for AMD IOMMUs, since at the
very least we'd like to be able to handle types other than ram_rw
(e.g. ram_ro).

In the meantime, Allen, does the attached patch make things any better
for you? 



Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

Attachment: x
Description: Text document

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.