WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] allocating AGP aperture memory

To: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] allocating AGP aperture memory
From: "Langsdorf, Mark" <mark.langsdorf@xxxxxxx>
Date: Thu, 20 Oct 2005 13:40:03 -0500
Delivery-date: Thu, 20 Oct 2005 18:37:09 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcXUItEVdqWcbj10TmOmktd1+s3AmQADf3OQAAEy7AAAEAj1QABLsk9w
Thread-topic: [Xen-devel] allocating AGP aperture memory
I'm still working on getting IOMMU support for Opterons 
under Xen.

> > > > AGP controller initialization, fails to reserve 
> > > > the GART address space because the necessary
> > > > pages are PageReserved in the mem_map.
> > > 
> > > Trying to looks a bus (machine) address up in
> > > dom0's mem_map (pseudo-physical) won't yield
> > > anything sensible.
> > 
> > So how do I do this?
> 
> Don't! Bus addresses should never be looked up in mem_map. 
> The mem_map array is indexed by pseudo-physical address, and 
> refers just to the DRAM the domain has.
> 
> If the existing driver is trying to lookup a io bus address 
> in mem_map, that's a bug and you'll need to fix it.

It's trying to make sure that the page range isn't being
used by something else, and for no reason that I can 
determine, it's failing.

e820_reserve_resources() is creating a "reserved" memory
gap from d000000 to ff700000 or so.  When I request the
e0000000 address to put the 256 MB GART there, I get
collision with something.

> > The aperture is an address space that is not supported by
> > DRAM.  Writes to the aperture get shifted to other physical 
> > addresses through the magic of the GART.  
> 
> Exactly -- the adress shouldn't be looked up in mem_map.
> 
> I suspect what the driver should be doing is just bumping 
> pci_mem_start to avoid the aperture clashing with other
> pci resources.

I've tried that, but it doesn't seem to help.

At some point I need to be able to remap the actual,
physical e0000000 address range into something locally
addressable.  ioremap_cache is failing, though that
might be because of the page reserve collision above.

-Mark Langsdorf
AMD, Inc.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel