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

RE: [Xen-devel] allocating AGP aperture memory


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Langsdorf, Mark" <mark.langsdorf@xxxxxxx>
  • Date: Tue, 1 Nov 2005 17:12:31 -0600
  • Delivery-date: Tue, 01 Nov 2005 23:09:49 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcXUItEVdqWcbj10TmOmktd1+s3AmQADf3OQAAEy7AAAEAj1QABLsk9wABx3AcAADkYakACQuQIAAamiM2A=
  • Thread-topic: [Xen-devel] allocating AGP aperture memory

> > You're right, I don't really want to do that, but I got
> > inadvertantly sidetracked into thinking I needed AGP support 
> > working.  Fortunately, I don't.
> > 
> > However, if I don't have AGP support working, I need to
> > program the Northbridge registers with the physical address 
> > of the GATT (see init_k8_gatt() in 
> arch/xen/x86_64/kernel/pci-gart.c).
> > Just doing a __pa() obviously doesn't return meaningful data, 
> > which is to be expected.  How should dom0 go about getting it?
> 
> You need to allocate the gatt mapping table using alloc_gatt_pages
> (dma_alloc_coherent) rather than get_free_pages.
> 
> You then want to use virt_to_gart on the address returned.

Are you sure?  I've been trying this for days, and it
isn't working.

Here's the original code in question, from pci-gart.c

        gatt = (void *) __get_free_pages(GFP_KERNEL,
get_order(gatt_size));
        for_all_nb(dev) {
                u32 gatt_reg;
                gatt_reg = __pa(gatt) >> 12;
                gatt_reg <= 4;
                pci_write_config_dword(dev, 0x98, gatt_reg);
        }

I've changed it to:
        gatt = (void *) alloc_gatt_pages(get_order(gatt_size));
        for_all_nb(dev) {
                u32 gatt_reg;
                gatt_reg = phys_to_gart(virt_to_phys(gatt)) >> 12;
                gatt_reg <= 4;
                pci_write_config_dword(dev, 0x98, gatt_reg);
        }

I don't think the northbridge is looking for the gart
value of the gatt, even in a virtualized environment.

-Mark Langsdorf
AMD, Inc.


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


 


Rackspace

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