diff options
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/elf.h | 4 | ||||
-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/mmu.h | 6 | ||||
-rw-r--r-- | arch/powerpc/include/asm/of_platform.h | 10 | ||||
-rw-r--r-- | arch/powerpc/include/asm/pgtable-ppc32.h | 26 | ||||
-rw-r--r-- | arch/powerpc/include/asm/ppc-opcode.h | 11 | ||||
-rw-r--r-- | arch/powerpc/include/asm/ppc_asm.h | 5 | ||||
-rw-r--r-- | arch/powerpc/include/asm/system.h | 2 |
10 files changed, 38 insertions, 40 deletions
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index c69f2b5f0cc..cb448d68452 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/elf.h b/arch/powerpc/include/asm/elf.h index 1a856b15226..d6b4a12cdef 100644 --- a/arch/powerpc/include/asm/elf.h +++ b/arch/powerpc/include/asm/elf.h | |||
@@ -258,7 +258,9 @@ do { \ | |||
258 | # define elf_read_implies_exec(ex, exec_stk) (test_thread_flag(TIF_32BIT) ? \ | 258 | # define elf_read_implies_exec(ex, exec_stk) (test_thread_flag(TIF_32BIT) ? \ |
259 | (exec_stk != EXSTACK_DISABLE_X) : 0) | 259 | (exec_stk != EXSTACK_DISABLE_X) : 0) |
260 | #else | 260 | #else |
261 | # define SET_PERSONALITY(ex) set_personality(PER_LINUX) | 261 | # define SET_PERSONALITY(ex) \ |
262 | set_personality(PER_LINUX | (current->personality & (~PER_MASK))) | ||
263 | # define elf_read_implies_exec(ex, exec_stk) (exec_stk != EXSTACK_DISABLE_X) | ||
262 | #endif /* __powerpc64__ */ | 264 | #endif /* __powerpc64__ */ |
263 | 265 | ||
264 | extern int dcache_bsize; | 266 | extern int dcache_bsize; |
diff --git a/arch/powerpc/include/asm/fixmap.h b/arch/powerpc/include/asm/fixmap.h index d60fd18f428..f1f4e23a84e 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 c59ee7e4bed..1b9692c6089 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/mmu.h b/arch/powerpc/include/asm/mmu.h index 86d2366ab6a..cbf15438709 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h | |||
@@ -52,12 +52,6 @@ | |||
52 | */ | 52 | */ |
53 | #define MMU_FTR_NEED_DTLB_SW_LRU ASM_CONST(0x00200000) | 53 | #define MMU_FTR_NEED_DTLB_SW_LRU ASM_CONST(0x00200000) |
54 | 54 | ||
55 | /* This indicates that the processor uses the wrong opcode for tlbilx | ||
56 | * instructions. During the ISA 2.06 development the opcode for tlbilx | ||
57 | * changed and some early implementations used to old opcode | ||
58 | */ | ||
59 | #define MMU_FTR_TLBILX_EARLY_OPCODE ASM_CONST(0x00400000) | ||
60 | |||
61 | #ifndef __ASSEMBLY__ | 55 | #ifndef __ASSEMBLY__ |
62 | #include <asm/cputable.h> | 56 | #include <asm/cputable.h> |
63 | 57 | ||
diff --git a/arch/powerpc/include/asm/of_platform.h b/arch/powerpc/include/asm/of_platform.h index 53b46507ffd..d4aaa348944 100644 --- a/arch/powerpc/include/asm/of_platform.h +++ b/arch/powerpc/include/asm/of_platform.h | |||
@@ -11,16 +11,6 @@ | |||
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
14 | /* Platform drivers register/unregister */ | ||
15 | static inline int of_register_platform_driver(struct of_platform_driver *drv) | ||
16 | { | ||
17 | return of_register_driver(drv, &of_platform_bus_type); | ||
18 | } | ||
19 | static inline void of_unregister_platform_driver(struct of_platform_driver *drv) | ||
20 | { | ||
21 | of_unregister_driver(drv); | ||
22 | } | ||
23 | |||
24 | /* Platform devices and busses creation */ | 14 | /* Platform devices and busses creation */ |
25 | extern struct of_device *of_platform_device_create(struct device_node *np, | 15 | extern struct of_device *of_platform_device_create(struct device_node *np, |
26 | const char *bus_id, | 16 | const char *bus_id, |
diff --git a/arch/powerpc/include/asm/pgtable-ppc32.h b/arch/powerpc/include/asm/pgtable-ppc32.h index ba45c997830..c9ff9d75990 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/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h index ef4da37f3c1..640ccbbc097 100644 --- a/arch/powerpc/include/asm/ppc-opcode.h +++ b/arch/powerpc/include/asm/ppc-opcode.h | |||
@@ -44,7 +44,6 @@ | |||
44 | #define PPC_INST_STSWI 0x7c0005aa | 44 | #define PPC_INST_STSWI 0x7c0005aa |
45 | #define PPC_INST_STSWX 0x7c00052a | 45 | #define PPC_INST_STSWX 0x7c00052a |
46 | #define PPC_INST_TLBILX 0x7c000024 | 46 | #define PPC_INST_TLBILX 0x7c000024 |
47 | #define PPC_INST_TLBILX_EARLY 0x7c000626 | ||
48 | #define PPC_INST_WAIT 0x7c00007c | 47 | #define PPC_INST_WAIT 0x7c00007c |
49 | 48 | ||
50 | /* macros to insert fields into opcodes */ | 49 | /* macros to insert fields into opcodes */ |
@@ -64,18 +63,10 @@ | |||
64 | #define PPC_RFDI stringify_in_c(.long PPC_INST_RFDI) | 63 | #define PPC_RFDI stringify_in_c(.long PPC_INST_RFDI) |
65 | #define PPC_RFMCI stringify_in_c(.long PPC_INST_RFMCI) | 64 | #define PPC_RFMCI stringify_in_c(.long PPC_INST_RFMCI) |
66 | #define PPC_TLBILX(t, a, b) stringify_in_c(.long PPC_INST_TLBILX | \ | 65 | #define PPC_TLBILX(t, a, b) stringify_in_c(.long PPC_INST_TLBILX | \ |
67 | __PPC_T_TLB(t) | \ | 66 | __PPC_T_TLB(t) | __PPC_RA(a) | __PPC_RB(b)) |
68 | __PPC_RA(a) | __PPC_RB(b)) | ||
69 | #define PPC_TLBILX_ALL(a, b) PPC_TLBILX(0, a, b) | 67 | #define PPC_TLBILX_ALL(a, b) PPC_TLBILX(0, a, b) |
70 | #define PPC_TLBILX_PID(a, b) PPC_TLBILX(1, a, b) | 68 | #define PPC_TLBILX_PID(a, b) PPC_TLBILX(1, a, b) |
71 | #define PPC_TLBILX_VA(a, b) PPC_TLBILX(3, a, b) | 69 | #define PPC_TLBILX_VA(a, b) PPC_TLBILX(3, a, b) |
72 | |||
73 | #define PPC_TLBILX_EARLY(t, a, b) stringify_in_c(.long PPC_INST_TLBILX_EARLY | \ | ||
74 | __PPC_T_TLB(t) | \ | ||
75 | __PPC_RA(a) | __PPC_RB(b)) | ||
76 | #define PPC_TLBILX_ALL_EARLY(a, b) PPC_TLBILX_EARLY(0, a, b) | ||
77 | #define PPC_TLBILX_PID_EARLY(a, b) PPC_TLBILX_EARLY(1, a, b) | ||
78 | #define PPC_TLBILX_VA_EARLY(a, b) PPC_TLBILX_EARLY(3, a, b) | ||
79 | #define PPC_WAIT(w) stringify_in_c(.long PPC_INST_WAIT | \ | 70 | #define PPC_WAIT(w) stringify_in_c(.long PPC_INST_WAIT | \ |
80 | __PPC_WC(w)) | 71 | __PPC_WC(w)) |
81 | 72 | ||
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h index f59a66684ae..384d90c9c27 100644 --- a/arch/powerpc/include/asm/ppc_asm.h +++ b/arch/powerpc/include/asm/ppc_asm.h | |||
@@ -4,6 +4,7 @@ | |||
4 | #ifndef _ASM_POWERPC_PPC_ASM_H | 4 | #ifndef _ASM_POWERPC_PPC_ASM_H |
5 | #define _ASM_POWERPC_PPC_ASM_H | 5 | #define _ASM_POWERPC_PPC_ASM_H |
6 | 6 | ||
7 | #include <linux/init.h> | ||
7 | #include <linux/stringify.h> | 8 | #include <linux/stringify.h> |
8 | #include <asm/asm-compat.h> | 9 | #include <asm/asm-compat.h> |
9 | #include <asm/processor.h> | 10 | #include <asm/processor.h> |
@@ -189,7 +190,7 @@ name: \ | |||
189 | GLUE(.,name): | 190 | GLUE(.,name): |
190 | 191 | ||
191 | #define _INIT_GLOBAL(name) \ | 192 | #define _INIT_GLOBAL(name) \ |
192 | .section ".text.init.refok"; \ | 193 | __REF; \ |
193 | .align 2 ; \ | 194 | .align 2 ; \ |
194 | .globl name; \ | 195 | .globl name; \ |
195 | .globl GLUE(.,name); \ | 196 | .globl GLUE(.,name); \ |
@@ -229,7 +230,7 @@ name: \ | |||
229 | GLUE(.,name): | 230 | GLUE(.,name): |
230 | 231 | ||
231 | #define _INIT_STATIC(name) \ | 232 | #define _INIT_STATIC(name) \ |
232 | .section ".text.init.refok"; \ | 233 | __REF; \ |
233 | .align 2 ; \ | 234 | .align 2 ; \ |
234 | .section ".opd","aw"; \ | 235 | .section ".opd","aw"; \ |
235 | name: \ | 236 | name: \ |
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index f612798e1c9..2b2420a4988 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); |