]> xenbits.xensource.com Git - xen.git/commitdiff
bitkeeper revision 1.1159.258.46 (4230ee09rYvY_HWitF9h5VHJ0NfurA)
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Fri, 11 Mar 2005 01:02:01 +0000 (01:02 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Fri, 11 Mar 2005 01:02:01 +0000 (01:02 +0000)
Update to Linux 2.6.11.
Signed-off-by: Christian Limpach <chris@xensource.com>
.rootkeys
patches/linux-2.6.10/agpgart.patch [deleted file]
patches/linux-2.6.10/drm.patch [deleted file]
patches/linux-2.6.10/nettel.patch [deleted file]
patches/linux-2.6.11/agpgart.patch [new file with mode: 0644]
patches/linux-2.6.11/nettel.patch [new file with mode: 0644]

index 442995412dce734e5e53de165a14011dc393a4ca..a495f8ea158386e16d0945336580ad992eea77f4 100644 (file)
--- a/.rootkeys
+++ b/.rootkeys
 422e4430vKaHLOOGS7X-SUUe3EBCgw netbsd-2.0-xen-sparse/sys/miscfs/kernfs/kernfs.h
 422e4430-gOD358H8nGGnNWes08Nng netbsd-2.0-xen-sparse/sys/miscfs/kernfs/kernfs_vnops.c
 413cb3b53nyOv1OIeDSsCXhBFDXvJA netbsd-2.0-xen-sparse/sys/nfs/files.nfs
-413aa1d0oNP8HXLvfPuMe6cSroUfSA patches/linux-2.6.10/agpgart.patch
-413aa1d0ewvSv-ohnNnQQNGsbPTTNA patches/linux-2.6.10/drm.patch
-418abc69J3F638vPO9MYoDGeYilxoQ patches/linux-2.6.10/nettel.patch
+413aa1d0oNP8HXLvfPuMe6cSroUfSA patches/linux-2.6.11/agpgart.patch
+418abc69J3F638vPO9MYoDGeYilxoQ patches/linux-2.6.11/nettel.patch
 3f776bd1Hy9rn69ntXBhPReUFw9IEA tools/Makefile
 40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Rules.mk
 4124b307nRyK3dhn1hAsvrY76NuV3g tools/check/Makefile
diff --git a/patches/linux-2.6.10/agpgart.patch b/patches/linux-2.6.10/agpgart.patch
deleted file mode 100644 (file)
index 249afd6..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-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 @@
-       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) |
--                        virt_to_phys(addr)) | ALI_CACHE_FLUSH_EN ));
-+                        virt_to_bus(addr)) | ALI_CACHE_FLUSH_EN ));
-       return addr;
- }
-@@ -174,7 +174,7 @@
-       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) |
--                        virt_to_phys(addr)) | ALI_CACHE_FLUSH_EN));
-+                        virt_to_bus(addr)) | ALI_CACHE_FLUSH_EN));
-       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 @@
-       SetPageReserved(virt_to_page(page_map->real));
-       global_cache_flush();
--      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) {
-               ClearPageReserved(virt_to_page(page_map->real));
-@@ -152,7 +152,7 @@
-       agp_bridge->gatt_table_real = (u32 *)page_dir.real;
-       agp_bridge->gatt_table = (u32 __iomem *)page_dir.remapped;
--      agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real);
-+      agp_bridge->gatt_bus_addr = virt_to_bus(page_dir.real);
-       /* Get the address for the gart region.
-        * This is a bus address even on the alpha, b/c its
-@@ -165,7 +165,7 @@
-       /* 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));
-       }
-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 @@
- static int amd_8151_configure(void)
- {
--      unsigned long gatt_bus = virt_to_phys(agp_bridge->gatt_table_real);
-+      unsigned long gatt_bus = virt_to_bus(agp_bridge->gatt_table_real);
-       /* Configure AGP regs in each x86-64 host bridge. */
-       for_each_nb() {
-@@ -521,7 +521,7 @@
- {
-       struct agp_bridge_data *bridge = pci_get_drvdata(pdev);
--      release_mem_region(virt_to_phys(bridge->gatt_table_real),
-+      release_mem_region(virt_to_bus(bridge->gatt_table_real),
-                          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 @@
-       /* CACHE_FLUSH(); */
-       global_cache_flush();
--      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 @@
-                       return -ENOMEM;
-               }
--              bridge->scratch_page_real = virt_to_phys(addr);
-+              bridge->scratch_page_real = virt_to_bus(addr);
-               bridge->scratch_page =
-                   bridge->driver->mask_memory(bridge->scratch_page_real, 0);
-       }
-@@ -186,7 +186,7 @@
- err_out:
-       if (bridge->driver->needs_scratch_page)
-               bridge->driver->agp_destroy_page(
--                              phys_to_virt(bridge->scratch_page_real));
-+                              bus_to_virt(bridge->scratch_page_real));
-       if (got_gatt)
-               bridge->driver->free_gatt_table();
-       if (got_keylist) {
-@@ -211,7 +211,7 @@
-       if (bridge->driver->agp_destroy_page &&
-           bridge->driver->needs_scratch_page)
-               bridge->driver->agp_destroy_page(
--                              phys_to_virt(bridge->scratch_page_real));
-+                              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 @@
-               efficeon_private.l1_table[index] = page;
--              value = __pa(page) | pati | present | index;
-+              value = virt_to_bus(page) | pati | present | index;
-               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 @@
-       }
-       if (curr->page_count != 0) {
-               for (i = 0; i < curr->page_count; i++) {
--                      agp_bridge->driver->agp_destroy_page(phys_to_virt(curr->memory[i]));
-+                      agp_bridge->driver->agp_destroy_page(bus_to_virt(curr->memory[i]));
-               }
-       }
-       agp_free_key(curr->key);
-@@ -182,7 +182,7 @@
-                       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->page_count++;
-       }
-@@ -637,6 +637,7 @@
-       int i;
-       void *temp;
-       struct page *page;
-+      dma_addr_t dma;
-       /* The generic routines can't handle 2 level gatt's */
-       if (agp_bridge->driver->size_type == LVL2_APER_SIZE)
-@@ -675,8 +676,10 @@
-                               break;
-                       }
--                      table = (char *) __get_free_pages(GFP_KERNEL,
--                                                        page_order);
-+                      table = dma_alloc_coherent(
-+                                      &agp_bridge->dev->dev,
-+                                      PAGE_SIZE << page_order, &dma,
-+                                      GFP_KERNEL);
-                       if (table == NULL) {
-                               i++;
-@@ -707,7 +710,9 @@
-               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;
--              table = (char *) __get_free_pages(GFP_KERNEL, page_order);
-+              table = dma_alloc_coherent(
-+                              &agp_bridge->dev->dev,
-+                              PAGE_SIZE << page_order, &dma, GFP_KERNEL);
-       }
-       if (table == NULL)
-@@ -722,7 +727,7 @@
-       agp_gatt_table = (void *)table;
-       agp_bridge->driver->cache_flush();
--      agp_bridge->gatt_table = ioremap_nocache(virt_to_phys(table),
-+      agp_bridge->gatt_table = ioremap_nocache(virt_to_bus(table),
-                                       (PAGE_SIZE * (1 << page_order)));
-       agp_bridge->driver->cache_flush();
-@@ -730,11 +735,12 @@
-               for (page = virt_to_page(table); page <= virt_to_page(table_end); page++)
-                       ClearPageReserved(page);
--              free_pages((unsigned long) table, page_order);
-+              dma_free_coherent(&agp_bridge->dev->dev, PAGE_SIZE<<page_order,
-+                                      table, dma);
-               return -ENOMEM;
-       }
--      agp_bridge->gatt_bus_addr = virt_to_phys(agp_bridge->gatt_table_real);
-+      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 (page = virt_to_page(table); page <= virt_to_page(table_end); page++)
-               ClearPageReserved(page);
--      free_pages((unsigned long) agp_bridge->gatt_table_real, page_order);
-+      dma_free_coherent(&agp_bridge->dev->dev, PAGE_SIZE<<page_order,
-+              agp_bridge->gatt_table_real, agp_bridge->gatt_bus_addr);
-       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 @@
-       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->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);
-       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 @@
-       }
-       memset(lp->alloced_map, 0, map_size);
--      lp->paddr = virt_to_phys(lpage);
-+      lp->paddr = virt_to_bus(lpage);
-       lp->refcount = 0;
-       atomic_add(I460_KPAGES_PER_IOPAGE, &agp_bridge->current_memory_agp);
-       return 0;
-@@ -382,7 +382,7 @@
-       kfree(lp->alloced_map);
-       lp->alloced_map = NULL;
--      free_pages((unsigned long) phys_to_virt(lp->paddr), I460_IO_PAGE_SHIFT - PAGE_SHIFT);
-+      free_pages((unsigned long) bus_to_virt(lp->paddr), I460_IO_PAGE_SHIFT - PAGE_SHIFT);
-       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 @@
-       if (new == NULL)
-               return NULL;
--      new->memory[0] = virt_to_phys(addr);
-+      new->memory[0] = virt_to_bus(addr);
-       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 @@
-       agp_free_key(curr->key);
-       if(curr->type == AGP_PHYS_MEMORY) {
-               if (curr->page_count == 4)
--                      i8xx_destroy_pages(phys_to_virt(curr->memory[0]));
-+                      i8xx_destroy_pages(bus_to_virt(curr->memory[0]));
-               else
-                       agp_bridge->driver->agp_destroy_page(
--                               phys_to_virt(curr->memory[0]));
-+                               bus_to_virt(curr->memory[0]));
-               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 @@
-       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->page_count = 1;
-       new->num_scratch_pages = 1;
-       new->type = AGP_PHYS_MEMORY;
-@@ -63,7 +63,7 @@
- {
-       agp_free_key(curr->key);
-       if(curr->type == AGP_PHYS_MEMORY) {
--              agp_bridge->driver->agp_destroy_page(phys_to_virt(curr->memory[0]));
-+              agp_bridge->driver->agp_destroy_page(bus_to_virt(curr->memory[0]));
-               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 @@
-       }
-       SetPageReserved(virt_to_page(page_map->real));
-       global_cache_flush();
--      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) {
-               ClearPageReserved(virt_to_page(page_map->real));
-@@ -162,7 +162,7 @@
-       /* Create a fake scratch directory */
-       for(i = 0; i < 1024; i++) {
-               writel(agp_bridge->scratch_page, serverworks_private.scratch_dir.remapped+i);
--              writel(virt_to_phys(serverworks_private.scratch_dir.real) | 1, page_dir.remapped+i);
-+              writel(virt_to_bus(serverworks_private.scratch_dir.real) | 1, page_dir.remapped+i);
-       }
-       retval = serverworks_create_gatt_pages(value->num_entries / 1024);
-@@ -174,7 +174,7 @@
-       agp_bridge->gatt_table_real = (u32 *)page_dir.real;
-       agp_bridge->gatt_table = (u32 __iomem *)page_dir.remapped;
--      agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real);
-+      agp_bridge->gatt_bus_addr = virt_to_bus(page_dir.real);
-       /* Get the address for the gart region.
-        * This is a bus address even on the alpha, b/c its
-@@ -187,7 +187,7 @@
-       /* Calculate the agp offset */  
-       for(i = 0; i < value->num_entries / 1024; i++)
--              writel(virt_to_phys(serverworks_private.gatt_pages[i]->real)|1, page_dir.remapped+i);
-+              writel(virt_to_bus(serverworks_private.gatt_pages[i]->real)|1, page_dir.remapped+i);
-       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 @@
-       agp_bridge->gatt_table_real = (u32 *) table;
-       agp_bridge->gatt_table = (u32 *)table;
--      agp_bridge->gatt_bus_addr = virt_to_phys(table);
-+      agp_bridge->gatt_bus_addr = virt_to_bus(table);
-       for (i = 0; i < num_entries; i++) {
-               agp_bridge->gatt_table[i] =
-diff -ur linux-2.6.9/include/asm-i386/agp.h linux-2.6.9-new/include/asm-i386/agp.h
---- linux-2.6.9/include/asm-i386/agp.h 2004-10-18 22:53:06.000000000 +0100
-+++ linux-2.6.9-new/include/asm-i386/agp.h     2004-11-28 19:32:03.000000000 +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 @@
- /* 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
diff --git a/patches/linux-2.6.10/drm.patch b/patches/linux-2.6.10/drm.patch
deleted file mode 100644 (file)
index f39d5cb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur linux-2.6.9/drivers/char/drm/ati_pcigart.h linux-2.6.9-new/drivers/char/drm/ati_pcigart.h
---- linux-2.6.9/drivers/char/drm/ati_pcigart.h 2004-10-18 22:55:07.000000000 +0100
-+++ linux-2.6.9-new/drivers/char/drm/ati_pcigart.h     2004-11-28 19:42:41.000000000 +0000
-@@ -158,7 +158,7 @@
-       ret = 1;
- #if defined(__i386__) || defined(__x86_64__)
--      asm volatile ( "wbinvd" ::: "memory" );
-+      wbinvd();
- #else
-       mb();
- #endif
diff --git a/patches/linux-2.6.10/nettel.patch b/patches/linux-2.6.10/nettel.patch
deleted file mode 100644 (file)
index e8dd94a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur linux-2.6.9/drivers/mtd/maps/nettel.c linux-2.6.9-new/drivers/mtd/maps/nettel.c
---- linux-2.6.9/drivers/mtd/maps/nettel.c      2004-10-18 22:53:44.000000000 +0100
-+++ linux-2.6.9-new/drivers/mtd/maps/nettel.c  2004-11-28 19:45:35.000000000 +0000
-@@ -270,7 +270,7 @@
-       maxsize = AMD_WINDOW_MAXSIZE;
-       *amdpar = SC520_PAR(SC520_PAR_BOOTCS, amdaddr, maxsize);
--      __asm__ ("wbinvd");
-+      wbinvd();
-       nettel_amd_map.phys = amdaddr;
-       nettel_amd_map.virt = (unsigned long)
-@@ -382,7 +382,7 @@
-        */
-       intel1addr = intel0addr + intel0size;
-       *intel1par = SC520_PAR(intel1cs, intel1addr, maxsize);
--      __asm__ ("wbinvd");
-+      wbinvd();
-       maxsize += intel0size;
-@@ -408,7 +408,7 @@
-       intel1size = intel_mtd->size - intel0size;
-       if (intel1size > 0) {
-               *intel1par = SC520_PAR(intel1cs, intel1addr, intel1size);
--              __asm__ ("wbinvd");
-+              wbinvd();
-       } else {
-               *intel1par = 0;
-       }
diff --git a/patches/linux-2.6.11/agpgart.patch b/patches/linux-2.6.11/agpgart.patch
new file mode 100644 (file)
index 0000000..4335ddb
--- /dev/null
@@ -0,0 +1,371 @@
+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) |
+-                        virt_to_phys(addr)) | ALI_CACHE_FLUSH_EN ));
++                        virt_to_bus(addr)) | ALI_CACHE_FLUSH_EN ));
+       return addr;
+ }
+@@ -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) |
+-                        virt_to_phys(addr)) | ALI_CACHE_FLUSH_EN));
++                        virt_to_bus(addr)) | ALI_CACHE_FLUSH_EN));
+       agp_generic_destroy_page(addr);
+ }
+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();
+-      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) {
+               ClearPageReserved(virt_to_page(page_map->real));
+@@ -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;
+-      agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real);
++      agp_bridge->gatt_bus_addr = virt_to_bus(page_dir.real);
+       /* Get the address for the gart region.
+        * This is a bus address even on the alpha, b/c its
+@@ -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 -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)
+ {
+-      unsigned long gatt_bus = virt_to_phys(agp_bridge->gatt_table_real);
++      unsigned long gatt_bus = virt_to_bus(agp_bridge->gatt_table_real);
+       /* Configure AGP regs in each x86-64 host bridge. */
+       for_each_nb() {
+@@ -590,7 +590,7 @@ static void __devexit agp_amd64_remove(s
+ {
+       struct agp_bridge_data *bridge = pci_get_drvdata(pdev);
+-      release_mem_region(virt_to_phys(bridge->gatt_table_real),
++      release_mem_region(virt_to_bus(bridge->gatt_table_real),
+                          amd64_aperture_sizes[bridge->aperture_size_idx].size);
+       agp_remove_bridge(bridge);
+       agp_put_bridge(bridge);
+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_
+       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 -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;
+               }
+-              bridge->scratch_page_real = virt_to_phys(addr);
++              bridge->scratch_page_real = virt_to_bus(addr);
+               bridge->scratch_page =
+                   bridge->driver->mask_memory(bridge->scratch_page_real, 0);
+       }
+@@ -186,7 +186,7 @@ static int agp_backend_initialize(struct
+ err_out:
+       if (bridge->driver->needs_scratch_page)
+               bridge->driver->agp_destroy_page(
+-                              phys_to_virt(bridge->scratch_page_real));
++                              bus_to_virt(bridge->scratch_page_real));
+       if (got_gatt)
+               bridge->driver->free_gatt_table();
+       if (got_keylist) {
+@@ -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(
+-                              phys_to_virt(bridge->scratch_page_real));
++                              bus_to_virt(bridge->scratch_page_real));
+ }
+ /* 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;
+-              value = __pa(page) | pati | present | index;
++              value = virt_to_bus(page) | pati | present | index;
+               pci_write_config_dword(agp_bridge->dev,
+                       EFFICEON_ATTPAGE, value);
+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++) {
+-                      agp_bridge->driver->agp_destroy_page(phys_to_virt(curr->memory[i]));
++                      agp_bridge->driver->agp_destroy_page(bus_to_virt(curr->memory[i]));
+               }
+       }
+       agp_free_key(curr->key);
+@@ -204,7 +204,7 @@ struct agp_memory *agp_allocate_memory(s
+                       agp_free_memory(new);
+                       return NULL;
+               }
+-              new->memory[i] = virt_to_phys(addr);
++              new->memory[i] = virt_to_bus(addr);
+               new->page_count++;
+       }
+@@ -659,6 +659,7 @@ int agp_generic_create_gatt_table(void)
+       int i;
+       void *temp;
+       struct page *page;
++      dma_addr_t dma;
+       /* The generic routines can't handle 2 level gatt's */
+       if (agp_bridge->driver->size_type == LVL2_APER_SIZE)
+@@ -697,8 +698,10 @@ int agp_generic_create_gatt_table(void)
+                               break;
+                       }
+-                      table = (char *) __get_free_pages(GFP_KERNEL,
+-                                                        page_order);
++                      table = dma_alloc_coherent(
++                                      &agp_bridge->dev->dev,
++                                      PAGE_SIZE << page_order, &dma,
++                                      GFP_KERNEL);
+                       if (table == NULL) {
+                               i++;
+@@ -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;
+-              table = (char *) __get_free_pages(GFP_KERNEL, page_order);
++              table = dma_alloc_coherent(
++                              &agp_bridge->dev->dev,
++                              PAGE_SIZE << page_order, &dma, GFP_KERNEL);
+       }
+       if (table == NULL)
+@@ -744,7 +749,7 @@ int agp_generic_create_gatt_table(void)
+       agp_gatt_table = (void *)table;
+       agp_bridge->driver->cache_flush();
+-      agp_bridge->gatt_table = ioremap_nocache(virt_to_phys(table),
++      agp_bridge->gatt_table = ioremap_nocache(virt_to_bus(table),
+                                       (PAGE_SIZE * (1 << page_order)));
+       agp_bridge->driver->cache_flush();
+@@ -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);
+-              free_pages((unsigned long) table, page_order);
++              dma_free_coherent(&agp_bridge->dev->dev, PAGE_SIZE<<page_order,
++                                      table, dma);
+               return -ENOMEM;
+       }
+-      agp_bridge->gatt_bus_addr = virt_to_phys(agp_bridge->gatt_table_real);
++      agp_bridge->gatt_bus_addr = virt_to_bus(table);
+       /* AK: bogus, should encode addresses > 4GB */
+       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);
+-      free_pages((unsigned long) agp_bridge->gatt_table_real, page_order);
++      dma_free_coherent(&agp_bridge->dev->dev, PAGE_SIZE<<page_order,
++              agp_bridge->gatt_table_real, agp_bridge->gatt_bus_addr);
+       agp_gatt_table = NULL;
+       agp_bridge->gatt_table = NULL;
+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(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 @@ hp_zx1_configure (void)
+       agp_bridge->mode = readl(hp->lba_regs+hp->lba_cap_offset+PCI_AGP_STATUS);
+       if (hp->io_pdir_owner) {
+-              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);
+-      lp->paddr = virt_to_phys(lpage);
++      lp->paddr = virt_to_bus(lpage);
+       lp->refcount = 0;
+       atomic_add(I460_KPAGES_PER_IOPAGE, &agp_bridge->current_memory_agp);
+       return 0;
+@@ -382,7 +382,7 @@ static void i460_free_large_page (struct
+       kfree(lp->alloced_map);
+       lp->alloced_map = NULL;
+-      free_pages((unsigned long) phys_to_virt(lp->paddr), I460_IO_PAGE_SHIFT - PAGE_SHIFT);
++      free_pages((unsigned long) bus_to_virt(lp->paddr), I460_IO_PAGE_SHIFT - PAGE_SHIFT);
+       atomic_sub(I460_KPAGES_PER_IOPAGE, &agp_bridge->current_memory_agp);
+ }
+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;
+-      new->memory[0] = virt_to_phys(addr);
++      new->memory[0] = virt_to_bus(addr);
+       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 @@ static void intel_i810_free_by_type(stru
+       agp_free_key(curr->key);
+       if(curr->type == AGP_PHYS_MEMORY) {
+               if (curr->page_count == 4)
+-                      i8xx_destroy_pages(phys_to_virt(curr->memory[0]));
++                      i8xx_destroy_pages(bus_to_virt(curr->memory[0]));
+               else
+                       agp_bridge->driver->agp_destroy_page(
+-                               phys_to_virt(curr->memory[0]));
++                               bus_to_virt(curr->memory[0]));
+               vfree(curr->memory);
+       }
+       kfree(curr);
+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] = 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 @@ static void intel_i810_free_by_type(stru
+ {
+       agp_free_key(curr->key);
+       if(curr->type == AGP_PHYS_MEMORY) {
+-              agp_bridge->driver->agp_destroy_page(phys_to_virt(curr->memory[0]));
++              agp_bridge->driver->agp_destroy_page(bus_to_virt(curr->memory[0]));
+               vfree(curr->memory);
+       }
+       kfree(curr);
+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();
+-      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) {
+               ClearPageReserved(virt_to_page(page_map->real));
+@@ -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);
+-              writel(virt_to_phys(serverworks_private.scratch_dir.real) | 1, page_dir.remapped+i);
++              writel(virt_to_bus(serverworks_private.scratch_dir.real) | 1, page_dir.remapped+i);
+       }
+       retval = serverworks_create_gatt_pages(value->num_entries / 1024);
+@@ -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;
+-      agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real);
++      agp_bridge->gatt_bus_addr = virt_to_bus(page_dir.real);
+       /* Get the address for the gart region.
+        * This is a bus address even on the alpha, b/c its
+@@ -187,7 +187,7 @@ static int serverworks_create_gatt_table
+       /* Calculate the agp offset */  
+       for(i = 0; i < value->num_entries / 1024; i++)
+-              writel(virt_to_phys(serverworks_private.gatt_pages[i]->real)|1, page_dir.remapped+i);
++              writel(virt_to_bus(serverworks_private.gatt_pages[i]->real)|1, page_dir.remapped+i);
+       return 0;
+ }
+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;
+-      agp_bridge->gatt_bus_addr = virt_to_phys(table);
++      agp_bridge->gatt_bus_addr = virt_to_bus(table);
+       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
diff --git a/patches/linux-2.6.11/nettel.patch b/patches/linux-2.6.11/nettel.patch
new file mode 100644 (file)
index 0000000..319023e
--- /dev/null
@@ -0,0 +1,30 @@
+diff -rup pristine-linux-2.6.11/drivers/mtd/maps/nettel.c linux-2.6.11/drivers/mtd/maps/nettel.c
+--- pristine-linux-2.6.11/drivers/mtd/maps/nettel.c    2005-03-02 07:37:50.000000000 +0000
++++ linux-2.6.11/drivers/mtd/maps/nettel.c     2005-03-11 00:52:55.635506733 +0000
+@@ -270,7 +270,7 @@ int __init nettel_init(void)
+       maxsize = AMD_WINDOW_MAXSIZE;
+       *amdpar = SC520_PAR(SC520_PAR_BOOTCS, amdaddr, maxsize);
+-      __asm__ ("wbinvd");
++      wbinvd();
+       nettel_amd_map.phys = amdaddr;
+       nettel_amd_map.virt = ioremap_nocache(amdaddr, maxsize);
+@@ -380,7 +380,7 @@ int __init nettel_init(void)
+        */
+       intel1addr = intel0addr + intel0size;
+       *intel1par = SC520_PAR(intel1cs, intel1addr, maxsize);
+-      __asm__ ("wbinvd");
++      wbinvd();
+       maxsize += intel0size;
+@@ -405,7 +405,7 @@ int __init nettel_init(void)
+       intel1size = intel_mtd->size - intel0size;
+       if (intel1size > 0) {
+               *intel1par = SC520_PAR(intel1cs, intel1addr, intel1size);
+-              __asm__ ("wbinvd");
++              wbinvd();
+       } else {
+               *intel1par = 0;
+       }