diff options
| author | Joerg Roedel <joerg.roedel@amd.com> | 2009-06-09 04:50:57 -0400 |
|---|---|---|
| committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-06-09 04:50:57 -0400 |
| commit | d2dd01de9924ae24afeba5aa5bc2e08287701df6 (patch) | |
| tree | 3021bf496579a48984666355b59df5e44b42dd32 /arch/powerpc/include/asm | |
| parent | 367d04c4ec02dad34d80452e32e3370db7fb6fee (diff) | |
| parent | 62a6f465f6572e1f28765c583c12753bb3e23715 (diff) | |
Merge commit 'tip/core/iommu' into amd-iommu/fixes
Diffstat (limited to 'arch/powerpc/include/asm')
| -rw-r--r-- | arch/powerpc/include/asm/dma-mapping.h | 6 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fixmap.h | 4 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/iseries/iommu.h | 4 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/pgtable-ppc32.h | 26 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/system.h | 2 |
5 files changed, 31 insertions, 11 deletions
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index c69f2b5f0cc4..cb448d68452c 100644 --- a/arch/powerpc/include/asm/dma-mapping.h +++ b/arch/powerpc/include/asm/dma-mapping.h | |||
| @@ -26,7 +26,9 @@ | |||
| 26 | * allocate the space "normally" and use the cache management functions | 26 | * allocate the space "normally" and use the cache management functions |
| 27 | * to ensure it is consistent. | 27 | * to ensure it is consistent. |
| 28 | */ | 28 | */ |
| 29 | extern void *__dma_alloc_coherent(size_t size, dma_addr_t *handle, gfp_t gfp); | 29 | struct device; |
| 30 | extern void *__dma_alloc_coherent(struct device *dev, size_t size, | ||
| 31 | dma_addr_t *handle, gfp_t gfp); | ||
| 30 | extern void __dma_free_coherent(size_t size, void *vaddr); | 32 | extern void __dma_free_coherent(size_t size, void *vaddr); |
| 31 | extern void __dma_sync(void *vaddr, size_t size, int direction); | 33 | extern void __dma_sync(void *vaddr, size_t size, int direction); |
| 32 | extern void __dma_sync_page(struct page *page, unsigned long offset, | 34 | extern void __dma_sync_page(struct page *page, unsigned long offset, |
| @@ -37,7 +39,7 @@ extern void __dma_sync_page(struct page *page, unsigned long offset, | |||
| 37 | * Cache coherent cores. | 39 | * Cache coherent cores. |
| 38 | */ | 40 | */ |
| 39 | 41 | ||
| 40 | #define __dma_alloc_coherent(gfp, size, handle) NULL | 42 | #define __dma_alloc_coherent(dev, gfp, size, handle) NULL |
| 41 | #define __dma_free_coherent(size, addr) ((void)0) | 43 | #define __dma_free_coherent(size, addr) ((void)0) |
| 42 | #define __dma_sync(addr, size, rw) ((void)0) | 44 | #define __dma_sync(addr, size, rw) ((void)0) |
| 43 | #define __dma_sync_page(pg, off, sz, rw) ((void)0) | 45 | #define __dma_sync_page(pg, off, sz, rw) ((void)0) |
diff --git a/arch/powerpc/include/asm/fixmap.h b/arch/powerpc/include/asm/fixmap.h index d60fd18f428c..f1f4e23a84e9 100644 --- a/arch/powerpc/include/asm/fixmap.h +++ b/arch/powerpc/include/asm/fixmap.h | |||
| @@ -14,8 +14,6 @@ | |||
| 14 | #ifndef _ASM_FIXMAP_H | 14 | #ifndef _ASM_FIXMAP_H |
| 15 | #define _ASM_FIXMAP_H | 15 | #define _ASM_FIXMAP_H |
| 16 | 16 | ||
| 17 | extern unsigned long FIXADDR_TOP; | ||
| 18 | |||
| 19 | #ifndef __ASSEMBLY__ | 17 | #ifndef __ASSEMBLY__ |
| 20 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
| 21 | #include <asm/page.h> | 19 | #include <asm/page.h> |
| @@ -24,6 +22,8 @@ extern unsigned long FIXADDR_TOP; | |||
| 24 | #include <asm/kmap_types.h> | 22 | #include <asm/kmap_types.h> |
| 25 | #endif | 23 | #endif |
| 26 | 24 | ||
| 25 | #define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE)) | ||
| 26 | |||
| 27 | /* | 27 | /* |
| 28 | * Here we define all the compile-time 'special' virtual | 28 | * Here we define all the compile-time 'special' virtual |
| 29 | * addresses. The point is to have a constant address at | 29 | * addresses. The point is to have a constant address at |
diff --git a/arch/powerpc/include/asm/iseries/iommu.h b/arch/powerpc/include/asm/iseries/iommu.h index c59ee7e4bed1..1b9692c60899 100644 --- a/arch/powerpc/include/asm/iseries/iommu.h +++ b/arch/powerpc/include/asm/iseries/iommu.h | |||
| @@ -26,10 +26,6 @@ struct vio_dev; | |||
| 26 | struct device_node; | 26 | struct device_node; |
| 27 | struct iommu_table; | 27 | struct iommu_table; |
| 28 | 28 | ||
| 29 | /* Creates table for an individual device node */ | ||
| 30 | extern void iommu_devnode_init_iSeries(struct pci_dev *pdev, | ||
| 31 | struct device_node *dn); | ||
| 32 | |||
| 33 | /* Get table parameters from HV */ | 29 | /* Get table parameters from HV */ |
| 34 | extern void iommu_table_getparms_iSeries(unsigned long busno, | 30 | extern void iommu_table_getparms_iSeries(unsigned long busno, |
| 35 | unsigned char slotno, unsigned char virtbus, | 31 | unsigned char slotno, unsigned char virtbus, |
diff --git a/arch/powerpc/include/asm/pgtable-ppc32.h b/arch/powerpc/include/asm/pgtable-ppc32.h index ba45c997830f..c9ff9d75990e 100644 --- a/arch/powerpc/include/asm/pgtable-ppc32.h +++ b/arch/powerpc/include/asm/pgtable-ppc32.h | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | extern unsigned long va_to_phys(unsigned long address); | 11 | extern unsigned long va_to_phys(unsigned long address); |
| 12 | extern pte_t *va_to_pte(unsigned long address); | 12 | extern pte_t *va_to_pte(unsigned long address); |
| 13 | extern unsigned long ioremap_bot, ioremap_base; | 13 | extern unsigned long ioremap_bot; |
| 14 | 14 | ||
| 15 | #ifdef CONFIG_44x | 15 | #ifdef CONFIG_44x |
| 16 | extern int icache_44x_need_flush; | 16 | extern int icache_44x_need_flush; |
| @@ -56,8 +56,30 @@ extern int icache_44x_need_flush; | |||
| 56 | printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, pgd_val(e)) | 56 | printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, pgd_val(e)) |
| 57 | 57 | ||
| 58 | /* | 58 | /* |
| 59 | * This is the bottom of the PKMAP area with HIGHMEM or an arbitrary | ||
| 60 | * value (for now) on others, from where we can start layout kernel | ||
| 61 | * virtual space that goes below PKMAP and FIXMAP | ||
| 62 | */ | ||
| 63 | #ifdef CONFIG_HIGHMEM | ||
| 64 | #define KVIRT_TOP PKMAP_BASE | ||
| 65 | #else | ||
| 66 | #define KVIRT_TOP (0xfe000000UL) /* for now, could be FIXMAP_BASE ? */ | ||
| 67 | #endif | ||
| 68 | |||
| 69 | /* | ||
| 70 | * ioremap_bot starts at that address. Early ioremaps move down from there, | ||
| 71 | * until mem_init() at which point this becomes the top of the vmalloc | ||
| 72 | * and ioremap space | ||
| 73 | */ | ||
| 74 | #ifdef CONFIG_NOT_COHERENT_CACHE | ||
| 75 | #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) | ||
| 76 | #else | ||
| 77 | #define IOREMAP_TOP KVIRT_TOP | ||
| 78 | #endif | ||
| 79 | |||
| 80 | /* | ||
| 59 | * Just any arbitrary offset to the start of the vmalloc VM area: the | 81 | * Just any arbitrary offset to the start of the vmalloc VM area: the |
| 60 | * current 64MB value just means that there will be a 64MB "hole" after the | 82 | * current 16MB value just means that there will be a 64MB "hole" after the |
| 61 | * physical memory until the kernel virtual memory starts. That means that | 83 | * physical memory until the kernel virtual memory starts. That means that |
| 62 | * any out-of-bounds memory accesses will hopefully be caught. | 84 | * any out-of-bounds memory accesses will hopefully be caught. |
| 63 | * The vmalloc() routines leaves a hole of 4kB between each vmalloced | 85 | * The vmalloc() routines leaves a hole of 4kB between each vmalloced |
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index f612798e1c93..2b2420a49884 100644 --- a/arch/powerpc/include/asm/system.h +++ b/arch/powerpc/include/asm/system.h | |||
| @@ -212,7 +212,7 @@ extern struct task_struct *_switch(struct thread_struct *prev, | |||
| 212 | extern unsigned int rtas_data; | 212 | extern unsigned int rtas_data; |
| 213 | extern int mem_init_done; /* set on boot once kmalloc can be called */ | 213 | extern int mem_init_done; /* set on boot once kmalloc can be called */ |
| 214 | extern int init_bootmem_done; /* set on !NUMA once bootmem is available */ | 214 | extern int init_bootmem_done; /* set on !NUMA once bootmem is available */ |
| 215 | extern unsigned long memory_limit; | 215 | extern phys_addr_t memory_limit; |
| 216 | extern unsigned long klimit; | 216 | extern unsigned long klimit; |
| 217 | 217 | ||
| 218 | extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); | 218 | extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); |
