diff options
author | cl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk> | 2005-03-12 20:44:12 +0000 |
---|---|---|
committer | cl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk> | 2005-03-12 20:44:12 +0000 |
commit | 964a5ccfa91dec30aa01513482ae81992edddf16 (patch) | |
tree | ac5f9ae7ce5389f2ca58e0be50f56b3390a2ba77 /patches | |
parent | d60a056dd171d661ab2ef257483d3f06edda524e (diff) | |
parent | 601dcfbbeccda1317bf2139981fd60315baabc81 (diff) | |
download | xen-964a5ccfa91dec30aa01513482ae81992edddf16.tar.gz xen-964a5ccfa91dec30aa01513482ae81992edddf16.tar.bz2 xen-964a5ccfa91dec30aa01513482ae81992edddf16.zip |
bitkeeper revision 1.1236.25.8 (4233549cSYOSn-8TjPjFtQTvJB0ECA)
Update to Linux 2.6.11.
Signed-off-by: Christian Limpach <chris@xensource.com>
Diffstat (limited to 'patches')
-rw-r--r-- | patches/linux-2.6.11/agpgart.patch (renamed from patches/linux-2.6.10/agpgart.patch) | 199 |
1 files changed, 109 insertions, 90 deletions
diff --git a/patches/linux-2.6.10/agpgart.patch b/patches/linux-2.6.11/agpgart.patch index 3249eab312..4335ddb3cf 100644 --- a/patches/linux-2.6.10/agpgart.patch +++ b/patches/linux-2.6.11/agpgart.patch @@ -1,7 +1,7 @@ -diff -ur linux-2.6.9/drivers/char/agp/ali-agp.c linux-2.6.9-new/drivers/char/agp/ali-agp.c ---- linux-2.6.9/drivers/char/agp/ali-agp.c 2004-10-18 22:54:38.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/ali-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -150,7 +150,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/ali-agp.c linux-2.6.11/drivers/char/agp/ali-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/ali-agp.c 2005-03-02 07:38:13.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/ali-agp.c 2005-03-11 00:35:21.320192760 +0000 +@@ -150,7 +150,7 @@ static void *m1541_alloc_page(void) pci_read_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL, &temp); pci_write_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL, (((temp & ALI_CACHE_FLUSH_ADDR_MASK) | @@ -10,7 +10,7 @@ diff -ur linux-2.6.9/drivers/char/agp/ali-agp.c linux-2.6.9-new/drivers/char/agp return addr; } -@@ -174,7 +174,7 @@ +@@ -174,7 +174,7 @@ static void m1541_destroy_page(void * ad pci_read_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL, &temp); pci_write_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL, (((temp & ALI_CACHE_FLUSH_ADDR_MASK) | @@ -19,10 +19,10 @@ diff -ur linux-2.6.9/drivers/char/agp/ali-agp.c linux-2.6.9-new/drivers/char/agp agp_generic_destroy_page(addr); } -diff -ur linux-2.6.9/drivers/char/agp/amd-k7-agp.c linux-2.6.9-new/drivers/char/agp/amd-k7-agp.c ---- linux-2.6.9/drivers/char/agp/amd-k7-agp.c 2004-10-18 22:55:36.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/amd-k7-agp.c 2004-11-28 19:36:39.000000000 +0000 -@@ -43,7 +43,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/amd-k7-agp.c linux-2.6.11/drivers/char/agp/amd-k7-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/amd-k7-agp.c 2005-03-02 07:38:33.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/amd-k7-agp.c 2005-03-11 00:35:21.321192788 +0000 +@@ -43,7 +43,7 @@ static int amd_create_page_map(struct am SetPageReserved(virt_to_page(page_map->real)); global_cache_flush(); @@ -31,7 +31,7 @@ diff -ur linux-2.6.9/drivers/char/agp/amd-k7-agp.c linux-2.6.9-new/drivers/char/ PAGE_SIZE); if (page_map->remapped == NULL) { ClearPageReserved(virt_to_page(page_map->real)); -@@ -152,7 +152,7 @@ +@@ -154,7 +154,7 @@ static int amd_create_gatt_table(void) agp_bridge->gatt_table_real = (u32 *)page_dir.real; agp_bridge->gatt_table = (u32 __iomem *)page_dir.remapped; @@ -40,19 +40,19 @@ diff -ur linux-2.6.9/drivers/char/agp/amd-k7-agp.c linux-2.6.9-new/drivers/char/ /* Get the address for the gart region. * This is a bus address even on the alpha, b/c its -@@ -165,7 +165,7 @@ +@@ -167,7 +167,7 @@ static int amd_create_gatt_table(void) /* Calculate the agp offset */ for (i = 0; i < value->num_entries / 1024; i++, addr += 0x00400000) { - writel(virt_to_phys(amd_irongate_private.gatt_pages[i]->real) | 1, + writel(virt_to_bus(amd_irongate_private.gatt_pages[i]->real) | 1, page_dir.remapped+GET_PAGE_DIR_OFF(addr)); + readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */ } - -diff -ur linux-2.6.9/drivers/char/agp/amd64-agp.c linux-2.6.9-new/drivers/char/agp/amd64-agp.c ---- linux-2.6.9/drivers/char/agp/amd64-agp.c 2004-10-18 22:54:38.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/amd64-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -212,7 +212,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/amd64-agp.c linux-2.6.11/drivers/char/agp/amd64-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/amd64-agp.c 2005-03-02 07:38:13.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/amd64-agp.c 2005-03-11 00:35:21.322192816 +0000 +@@ -218,7 +218,7 @@ static struct aper_size_info_32 amd_8151 static int amd_8151_configure(void) { @@ -61,7 +61,7 @@ diff -ur linux-2.6.9/drivers/char/agp/amd64-agp.c linux-2.6.9-new/drivers/char/a /* Configure AGP regs in each x86-64 host bridge. */ for_each_nb() { -@@ -521,7 +521,7 @@ +@@ -590,7 +590,7 @@ static void __devexit agp_amd64_remove(s { struct agp_bridge_data *bridge = pci_get_drvdata(pdev); @@ -70,22 +70,22 @@ diff -ur linux-2.6.9/drivers/char/agp/amd64-agp.c linux-2.6.9-new/drivers/char/a amd64_aperture_sizes[bridge->aperture_size_idx].size); agp_remove_bridge(bridge); agp_put_bridge(bridge); -diff -ur linux-2.6.9/drivers/char/agp/ati-agp.c linux-2.6.9-new/drivers/char/agp/ati-agp.c ---- linux-2.6.9/drivers/char/agp/ati-agp.c 2004-10-18 22:54:40.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/ati-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -64,7 +64,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/ati-agp.c linux-2.6.11/drivers/char/agp/ati-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/ati-agp.c 2005-03-02 07:38:13.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/ati-agp.c 2005-03-11 00:41:25.848450763 +0000 +@@ -61,7 +61,7 @@ static int ati_create_page_map(ati_page_ - /* CACHE_FLUSH(); */ - global_cache_flush(); + SetPageReserved(virt_to_page(page_map->real)); + err = map_page_into_agp(virt_to_page(page_map->real)); - page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real), + page_map->remapped = ioremap_nocache(virt_to_bus(page_map->real), PAGE_SIZE); if (page_map->remapped == NULL || err) { ClearPageReserved(virt_to_page(page_map->real)); -diff -ur linux-2.6.9/drivers/char/agp/backend.c linux-2.6.9-new/drivers/char/agp/backend.c ---- linux-2.6.9/drivers/char/agp/backend.c 2004-10-18 22:54:39.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/backend.c 2004-11-28 19:32:03.000000000 +0000 -@@ -142,7 +142,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/backend.c linux-2.6.11/drivers/char/agp/backend.c +--- pristine-linux-2.6.11/drivers/char/agp/backend.c 2005-03-02 07:38:13.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/backend.c 2005-03-11 00:35:21.323192844 +0000 +@@ -142,7 +142,7 @@ static int agp_backend_initialize(struct return -ENOMEM; } @@ -94,7 +94,7 @@ diff -ur linux-2.6.9/drivers/char/agp/backend.c linux-2.6.9-new/drivers/char/agp bridge->scratch_page = bridge->driver->mask_memory(bridge->scratch_page_real, 0); } -@@ -186,7 +186,7 @@ +@@ -186,7 +186,7 @@ static int agp_backend_initialize(struct err_out: if (bridge->driver->needs_scratch_page) bridge->driver->agp_destroy_page( @@ -103,7 +103,7 @@ diff -ur linux-2.6.9/drivers/char/agp/backend.c linux-2.6.9-new/drivers/char/agp if (got_gatt) bridge->driver->free_gatt_table(); if (got_keylist) { -@@ -211,7 +211,7 @@ +@@ -211,7 +211,7 @@ static void agp_backend_cleanup(struct a if (bridge->driver->agp_destroy_page && bridge->driver->needs_scratch_page) bridge->driver->agp_destroy_page( @@ -111,11 +111,11 @@ diff -ur linux-2.6.9/drivers/char/agp/backend.c linux-2.6.9-new/drivers/char/agp + bus_to_virt(bridge->scratch_page_real)); } - static const drm_agp_t drm_agp = { -diff -ur linux-2.6.9/drivers/char/agp/efficeon-agp.c linux-2.6.9-new/drivers/char/agp/efficeon-agp.c ---- linux-2.6.9/drivers/char/agp/efficeon-agp.c 2004-10-18 22:53:06.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/efficeon-agp.c 2004-11-28 19:38:28.000000000 +0000 -@@ -219,7 +219,7 @@ + /* XXX Kludge alert: agpgart isn't ready for multiple bridges yet */ +diff -rup pristine-linux-2.6.11/drivers/char/agp/efficeon-agp.c linux-2.6.11/drivers/char/agp/efficeon-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/efficeon-agp.c 2005-03-02 07:37:30.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/efficeon-agp.c 2005-03-11 00:35:21.324192872 +0000 +@@ -219,7 +219,7 @@ static int efficeon_create_gatt_table(vo efficeon_private.l1_table[index] = page; @@ -124,10 +124,10 @@ diff -ur linux-2.6.9/drivers/char/agp/efficeon-agp.c linux-2.6.9-new/drivers/cha pci_write_config_dword(agp_bridge->dev, EFFICEON_ATTPAGE, value); -diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp/generic.c ---- linux-2.6.9/drivers/char/agp/generic.c 2004-10-18 22:53:50.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/generic.c 2004-11-28 19:32:03.000000000 +0000 -@@ -128,7 +128,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/generic.c linux-2.6.11/drivers/char/agp/generic.c +--- pristine-linux-2.6.11/drivers/char/agp/generic.c 2005-03-02 07:37:55.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/generic.c 2005-03-11 00:44:53.858248651 +0000 +@@ -151,7 +151,7 @@ void agp_free_memory(struct agp_memory * } if (curr->page_count != 0) { for (i = 0; i < curr->page_count; i++) { @@ -136,16 +136,16 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp } } agp_free_key(curr->key); -@@ -182,7 +182,7 @@ +@@ -204,7 +204,7 @@ struct agp_memory *agp_allocate_memory(s + agp_free_memory(new); return NULL; } - new->memory[i] = -- agp_bridge->driver->mask_memory(virt_to_phys(addr), type); -+ agp_bridge->driver->mask_memory(virt_to_bus(addr), type); +- new->memory[i] = virt_to_phys(addr); ++ new->memory[i] = virt_to_bus(addr); new->page_count++; } -@@ -637,6 +637,7 @@ +@@ -659,6 +659,7 @@ int agp_generic_create_gatt_table(void) int i; void *temp; struct page *page; @@ -153,7 +153,7 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp /* The generic routines can't handle 2 level gatt's */ if (agp_bridge->driver->size_type == LVL2_APER_SIZE) -@@ -675,8 +676,10 @@ +@@ -697,8 +698,10 @@ int agp_generic_create_gatt_table(void) break; } @@ -166,7 +166,7 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp if (table == NULL) { i++; -@@ -707,7 +710,9 @@ +@@ -729,7 +732,9 @@ int agp_generic_create_gatt_table(void) size = ((struct aper_size_info_fixed *) temp)->size; page_order = ((struct aper_size_info_fixed *) temp)->page_order; num_entries = ((struct aper_size_info_fixed *) temp)->num_entries; @@ -177,7 +177,7 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp } if (table == NULL) -@@ -722,7 +727,7 @@ +@@ -744,7 +749,7 @@ int agp_generic_create_gatt_table(void) agp_gatt_table = (void *)table; agp_bridge->driver->cache_flush(); @@ -186,7 +186,7 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp (PAGE_SIZE * (1 << page_order))); agp_bridge->driver->cache_flush(); -@@ -730,11 +735,12 @@ +@@ -752,11 +757,12 @@ int agp_generic_create_gatt_table(void) for (page = virt_to_page(table); page <= virt_to_page(table_end); page++) ClearPageReserved(page); @@ -200,8 +200,8 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp + agp_bridge->gatt_bus_addr = virt_to_bus(table); /* AK: bogus, should encode addresses > 4GB */ - for (i = 0; i < num_entries; i++) -@@ -786,7 +792,8 @@ + for (i = 0; i < num_entries; i++) { +@@ -810,7 +816,8 @@ int agp_generic_free_gatt_table(void) for (page = virt_to_page(table); page <= virt_to_page(table_end); page++) ClearPageReserved(page); @@ -211,31 +211,31 @@ diff -ur linux-2.6.9/drivers/char/agp/generic.c linux-2.6.9-new/drivers/char/agp agp_gatt_table = NULL; agp_bridge->gatt_table = NULL; -diff -ur linux-2.6.9/drivers/char/agp/hp-agp.c linux-2.6.9-new/drivers/char/agp/hp-agp.c ---- linux-2.6.9/drivers/char/agp/hp-agp.c 2004-10-18 22:54:55.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/hp-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -110,7 +110,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/hp-agp.c linux-2.6.11/drivers/char/agp/hp-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/hp-agp.c 2005-03-02 07:38:19.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/hp-agp.c 2005-03-11 00:47:41.424653508 +0000 +@@ -110,7 +110,7 @@ static int __init hp_zx1_ioc_shared(void hp->gart_size = HP_ZX1_GART_SIZE; hp->gatt_entries = hp->gart_size / hp->io_page_size; -- hp->io_pdir = phys_to_virt(INREG64(hp->ioc_regs, HP_ZX1_PDIR_BASE)); -+ hp->io_pdir = bus_to_virt(INREG64(hp->ioc_regs, HP_ZX1_PDIR_BASE)); +- hp->io_pdir = phys_to_virt(readq(hp->ioc_regs+HP_ZX1_PDIR_BASE)); ++ hp->io_pdir = bus_to_virt(readq(hp->ioc_regs+HP_ZX1_PDIR_BASE)); hp->gatt = &hp->io_pdir[HP_ZX1_IOVA_TO_PDIR(hp->gart_base)]; if (hp->gatt[0] != HP_ZX1_SBA_IOMMU_COOKIE) { -@@ -248,7 +248,7 @@ - agp_bridge->mode = INREG32(hp->lba_regs, hp->lba_cap_offset + PCI_AGP_STATUS); +@@ -248,7 +248,7 @@ hp_zx1_configure (void) + agp_bridge->mode = readl(hp->lba_regs+hp->lba_cap_offset+PCI_AGP_STATUS); if (hp->io_pdir_owner) { -- OUTREG64(hp->ioc_regs, HP_ZX1_PDIR_BASE, virt_to_phys(hp->io_pdir)); -+ OUTREG64(hp->ioc_regs, HP_ZX1_PDIR_BASE, virt_to_bus(hp->io_pdir)); - OUTREG64(hp->ioc_regs, HP_ZX1_TCNFG, hp->io_tlb_ps); - OUTREG64(hp->ioc_regs, HP_ZX1_IMASK, ~(HP_ZX1_IOVA_SIZE - 1)); - OUTREG64(hp->ioc_regs, HP_ZX1_IBASE, hp->iova_base | 0x1); -diff -ur linux-2.6.9/drivers/char/agp/i460-agp.c linux-2.6.9-new/drivers/char/agp/i460-agp.c ---- linux-2.6.9/drivers/char/agp/i460-agp.c 2004-10-18 22:54:32.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/i460-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -371,7 +371,7 @@ +- writel(virt_to_phys(hp->io_pdir), hp->ioc_regs+HP_ZX1_PDIR_BASE); ++ writel(virt_to_bus(hp->io_pdir), hp->ioc_regs+HP_ZX1_PDIR_BASE); + readl(hp->ioc_regs+HP_ZX1_PDIR_BASE); + writel(hp->io_tlb_ps, hp->ioc_regs+HP_ZX1_TCNFG); + readl(hp->ioc_regs+HP_ZX1_TCNFG); +diff -rup pristine-linux-2.6.11/drivers/char/agp/i460-agp.c linux-2.6.11/drivers/char/agp/i460-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/i460-agp.c 2005-03-02 07:38:10.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/i460-agp.c 2005-03-11 00:35:21.327192957 +0000 +@@ -371,7 +371,7 @@ static int i460_alloc_large_page (struct } memset(lp->alloced_map, 0, map_size); @@ -244,7 +244,7 @@ diff -ur linux-2.6.9/drivers/char/agp/i460-agp.c linux-2.6.9-new/drivers/char/ag lp->refcount = 0; atomic_add(I460_KPAGES_PER_IOPAGE, &agp_bridge->current_memory_agp); return 0; -@@ -382,7 +382,7 @@ +@@ -382,7 +382,7 @@ static void i460_free_large_page (struct kfree(lp->alloced_map); lp->alloced_map = NULL; @@ -253,10 +253,10 @@ diff -ur linux-2.6.9/drivers/char/agp/i460-agp.c linux-2.6.9-new/drivers/char/ag atomic_sub(I460_KPAGES_PER_IOPAGE, &agp_bridge->current_memory_agp); } -diff -ur linux-2.6.9/drivers/char/agp/intel-agp.c linux-2.6.9-new/drivers/char/agp/intel-agp.c ---- linux-2.6.9/drivers/char/agp/intel-agp.c 2004-10-18 22:54:08.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/intel-agp.c 2004-11-28 19:37:22.000000000 +0000 -@@ -285,7 +285,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/intel-agp.c linux-2.6.11/drivers/char/agp/intel-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/intel-agp.c 2005-03-02 07:38:09.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/intel-agp.c 2005-03-11 00:35:21.328192985 +0000 +@@ -285,7 +285,7 @@ static struct agp_memory *alloc_agpphysm if (new == NULL) return NULL; @@ -265,7 +265,7 @@ diff -ur linux-2.6.9/drivers/char/agp/intel-agp.c linux-2.6.9-new/drivers/char/a if (pg_count == 4) { /* kludge to get 4 physical pages for ARGB cursor */ new->memory[1] = new->memory[0] + PAGE_SIZE; -@@ -328,10 +328,10 @@ +@@ -328,10 +328,10 @@ static void intel_i810_free_by_type(stru agp_free_key(curr->key); if(curr->type == AGP_PHYS_MEMORY) { if (curr->page_count == 4) @@ -278,19 +278,19 @@ diff -ur linux-2.6.9/drivers/char/agp/intel-agp.c linux-2.6.9-new/drivers/char/a vfree(curr->memory); } kfree(curr); -diff -ur linux-2.6.9/drivers/char/agp/intel-mch-agp.c linux-2.6.9-new/drivers/char/agp/intel-mch-agp.c ---- linux-2.6.9/drivers/char/agp/intel-mch-agp.c 2004-10-18 22:53:13.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/intel-mch-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -51,7 +51,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/intel-mch-agp.c linux-2.6.11/drivers/char/agp/intel-mch-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/intel-mch-agp.c 2005-03-02 07:37:48.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/intel-mch-agp.c 2005-03-11 00:49:37.713063638 +0000 +@@ -51,7 +51,7 @@ static struct agp_memory *alloc_agpphysm if (new == NULL) return NULL; -- new->memory[0] = agp_bridge->driver->mask_memory(virt_to_phys(addr), type); -+ new->memory[0] = agp_bridge->driver->mask_memory(virt_to_bus(addr), type); +- new->memory[0] = virt_to_phys(addr); ++ new->memory[0] = virt_to_bus(addr); new->page_count = 1; new->num_scratch_pages = 1; new->type = AGP_PHYS_MEMORY; -@@ -63,7 +63,7 @@ +@@ -63,7 +63,7 @@ static void intel_i810_free_by_type(stru { agp_free_key(curr->key); if(curr->type == AGP_PHYS_MEMORY) { @@ -299,10 +299,10 @@ diff -ur linux-2.6.9/drivers/char/agp/intel-mch-agp.c linux-2.6.9-new/drivers/ch vfree(curr->memory); } kfree(curr); -diff -ur linux-2.6.9/drivers/char/agp/sworks-agp.c linux-2.6.9-new/drivers/char/agp/sworks-agp.c ---- linux-2.6.9/drivers/char/agp/sworks-agp.c 2004-10-18 22:53:50.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/sworks-agp.c 2004-11-28 19:38:02.000000000 +0000 -@@ -51,7 +51,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/sworks-agp.c linux-2.6.11/drivers/char/agp/sworks-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/sworks-agp.c 2005-03-02 07:38:37.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/sworks-agp.c 2005-03-11 00:35:21.330193041 +0000 +@@ -51,7 +51,7 @@ static int serverworks_create_page_map(s } SetPageReserved(virt_to_page(page_map->real)); global_cache_flush(); @@ -311,7 +311,7 @@ diff -ur linux-2.6.9/drivers/char/agp/sworks-agp.c linux-2.6.9-new/drivers/char/ PAGE_SIZE); if (page_map->remapped == NULL) { ClearPageReserved(virt_to_page(page_map->real)); -@@ -162,7 +162,7 @@ +@@ -162,7 +162,7 @@ static int serverworks_create_gatt_table /* Create a fake scratch directory */ for(i = 0; i < 1024; i++) { writel(agp_bridge->scratch_page, serverworks_private.scratch_dir.remapped+i); @@ -320,7 +320,7 @@ diff -ur linux-2.6.9/drivers/char/agp/sworks-agp.c linux-2.6.9-new/drivers/char/ } retval = serverworks_create_gatt_pages(value->num_entries / 1024); -@@ -174,7 +174,7 @@ +@@ -174,7 +174,7 @@ static int serverworks_create_gatt_table agp_bridge->gatt_table_real = (u32 *)page_dir.real; agp_bridge->gatt_table = (u32 __iomem *)page_dir.remapped; @@ -329,7 +329,7 @@ diff -ur linux-2.6.9/drivers/char/agp/sworks-agp.c linux-2.6.9-new/drivers/char/ /* Get the address for the gart region. * This is a bus address even on the alpha, b/c its -@@ -187,7 +187,7 @@ +@@ -187,7 +187,7 @@ static int serverworks_create_gatt_table /* Calculate the agp offset */ for(i = 0; i < value->num_entries / 1024; i++) @@ -338,10 +338,10 @@ diff -ur linux-2.6.9/drivers/char/agp/sworks-agp.c linux-2.6.9-new/drivers/char/ return 0; } -diff -ur linux-2.6.9/drivers/char/agp/uninorth-agp.c linux-2.6.9-new/drivers/char/agp/uninorth-agp.c ---- linux-2.6.9/drivers/char/agp/uninorth-agp.c 2004-10-18 22:54:29.000000000 +0100 -+++ linux-2.6.9-new/drivers/char/agp/uninorth-agp.c 2004-11-28 19:32:03.000000000 +0000 -@@ -200,7 +200,7 @@ +diff -rup pristine-linux-2.6.11/drivers/char/agp/uninorth-agp.c linux-2.6.11/drivers/char/agp/uninorth-agp.c +--- pristine-linux-2.6.11/drivers/char/agp/uninorth-agp.c 2005-03-02 07:38:09.000000000 +0000 ++++ linux-2.6.11/drivers/char/agp/uninorth-agp.c 2005-03-11 00:35:21.330193041 +0000 +@@ -200,7 +200,7 @@ static int uninorth_create_gatt_table(vo agp_bridge->gatt_table_real = (u32 *) table; agp_bridge->gatt_table = (u32 *)table; @@ -350,3 +350,22 @@ diff -ur linux-2.6.9/drivers/char/agp/uninorth-agp.c linux-2.6.9-new/drivers/cha for (i = 0; i < num_entries; i++) { agp_bridge->gatt_table[i] = +diff -rup pristine-linux-2.6.11/include/asm-i386/agp.h linux-2.6.11/include/asm-i386/agp.h +--- pristine-linux-2.6.11/include/asm-i386/agp.h 2005-03-02 07:37:31.000000000 +0000 ++++ linux-2.6.11/include/asm-i386/agp.h 2005-03-11 00:35:21.331193069 +0000 +@@ -3,6 +3,7 @@ + + #include <asm/pgtable.h> + #include <asm/cacheflush.h> ++#include <asm/system.h> + + /* + * Functions to keep the agpgart mappings coherent with the MMU. +@@ -19,6 +20,6 @@ int unmap_page_from_agp(struct page *pag + /* Could use CLFLUSH here if the cpu supports it. But then it would + need to be called for each cacheline of the whole page so it may not be + worth it. Would need a page for it. */ +-#define flush_agp_cache() asm volatile("wbinvd":::"memory") ++#define flush_agp_cache() wbinvd() + + #endif |