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

RE: [Xen-devel] allocating AGP aperture memory

  • To: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • 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
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • 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



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