diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /arch/xtensa | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'arch/xtensa')
-rw-r--r-- | arch/xtensa/include/asm/asm-offsets.h | 1 | ||||
-rw-r--r-- | arch/xtensa/include/asm/cacheflush.h | 1 | ||||
-rw-r--r-- | arch/xtensa/include/asm/elf.h | 1 | ||||
-rw-r--r-- | arch/xtensa/include/asm/pci.h | 8 | ||||
-rw-r--r-- | arch/xtensa/include/asm/pgtable.h | 2 | ||||
-rw-r--r-- | arch/xtensa/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/xtensa/include/asm/socket.h | 2 | ||||
-rw-r--r-- | arch/xtensa/include/asm/syscall.h | 3 | ||||
-rw-r--r-- | arch/xtensa/include/asm/unistd.h | 8 | ||||
-rw-r--r-- | arch/xtensa/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/xtensa/kernel/irq.c | 4 | ||||
-rw-r--r-- | arch/xtensa/kernel/pci-dma.c | 1 | ||||
-rw-r--r-- | arch/xtensa/kernel/pci.c | 15 | ||||
-rw-r--r-- | arch/xtensa/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/xtensa/kernel/ptrace.c | 56 | ||||
-rw-r--r-- | arch/xtensa/kernel/syscall.c | 43 | ||||
-rw-r--r-- | arch/xtensa/mm/cache.c | 4 | ||||
-rw-r--r-- | arch/xtensa/mm/init.c | 2 | ||||
-rw-r--r-- | arch/xtensa/platforms/iss/console.c | 3 | ||||
-rw-r--r-- | arch/xtensa/platforms/iss/network.c | 2 |
20 files changed, 40 insertions, 123 deletions
diff --git a/arch/xtensa/include/asm/asm-offsets.h b/arch/xtensa/include/asm/asm-offsets.h new file mode 100644 index 000000000000..d370ee36a182 --- /dev/null +++ b/arch/xtensa/include/asm/asm-offsets.h | |||
@@ -0,0 +1 @@ | |||
#include <generated/asm-offsets.h> | |||
diff --git a/arch/xtensa/include/asm/cacheflush.h b/arch/xtensa/include/asm/cacheflush.h index b7b8fbe47c77..a508f2f73bd7 100644 --- a/arch/xtensa/include/asm/cacheflush.h +++ b/arch/xtensa/include/asm/cacheflush.h | |||
@@ -101,6 +101,7 @@ static inline void __invalidate_icache_page_alias(unsigned long virt, | |||
101 | #define flush_cache_vmap(start,end) flush_cache_all() | 101 | #define flush_cache_vmap(start,end) flush_cache_all() |
102 | #define flush_cache_vunmap(start,end) flush_cache_all() | 102 | #define flush_cache_vunmap(start,end) flush_cache_all() |
103 | 103 | ||
104 | #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 | ||
104 | extern void flush_dcache_page(struct page*); | 105 | extern void flush_dcache_page(struct page*); |
105 | extern void flush_cache_range(struct vm_area_struct*, ulong, ulong); | 106 | extern void flush_cache_range(struct vm_area_struct*, ulong, ulong); |
106 | extern void flush_cache_page(struct vm_area_struct*, unsigned long, unsigned long); | 107 | extern void flush_cache_page(struct vm_area_struct*, unsigned long, unsigned long); |
diff --git a/arch/xtensa/include/asm/elf.h b/arch/xtensa/include/asm/elf.h index c3f53e755ca5..5eb6d695e987 100644 --- a/arch/xtensa/include/asm/elf.h +++ b/arch/xtensa/include/asm/elf.h | |||
@@ -123,7 +123,6 @@ extern void xtensa_elf_core_copy_regs (xtensa_gregset_t *, struct pt_regs *); | |||
123 | #define ELF_CLASS ELFCLASS32 | 123 | #define ELF_CLASS ELFCLASS32 |
124 | #define ELF_ARCH EM_XTENSA | 124 | #define ELF_ARCH EM_XTENSA |
125 | 125 | ||
126 | #define USE_ELF_CORE_DUMP | ||
127 | #define ELF_EXEC_PAGESIZE PAGE_SIZE | 126 | #define ELF_EXEC_PAGESIZE PAGE_SIZE |
128 | 127 | ||
129 | /* | 128 | /* |
diff --git a/arch/xtensa/include/asm/pci.h b/arch/xtensa/include/asm/pci.h index 66410acf18b4..4609b0f15f1f 100644 --- a/arch/xtensa/include/asm/pci.h +++ b/arch/xtensa/include/asm/pci.h | |||
@@ -56,14 +56,6 @@ struct pci_dev; | |||
56 | 56 | ||
57 | #define PCI_DMA_BUS_IS_PHYS (1) | 57 | #define PCI_DMA_BUS_IS_PHYS (1) |
58 | 58 | ||
59 | /* pci_unmap_{page,single} is a no-op, so */ | ||
60 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) | ||
61 | #define DECLARE_PCI_UNMAP_LEN(LEN_NAME) | ||
62 | #define pci_unmap_addr(PTR, ADDR_NAME) (0) | ||
63 | #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0) | ||
64 | #define pci_ubnmap_len(PTR, LEN_NAME) (0) | ||
65 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) | ||
66 | |||
67 | /* Map a range of PCI memory or I/O space for a device into user space */ | 59 | /* Map a range of PCI memory or I/O space for a device into user space */ |
68 | int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, | 60 | int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, |
69 | enum pci_mmap_state mmap_state, int write_combine); | 61 | enum pci_mmap_state mmap_state, int write_combine); |
diff --git a/arch/xtensa/include/asm/pgtable.h b/arch/xtensa/include/asm/pgtable.h index a138770c358e..76bf35554117 100644 --- a/arch/xtensa/include/asm/pgtable.h +++ b/arch/xtensa/include/asm/pgtable.h | |||
@@ -394,7 +394,7 @@ ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | |||
394 | #define kern_addr_valid(addr) (1) | 394 | #define kern_addr_valid(addr) (1) |
395 | 395 | ||
396 | extern void update_mmu_cache(struct vm_area_struct * vma, | 396 | extern void update_mmu_cache(struct vm_area_struct * vma, |
397 | unsigned long address, pte_t pte); | 397 | unsigned long address, pte_t *ptep); |
398 | 398 | ||
399 | /* | 399 | /* |
400 | * remap a physical page `pfn' of size `size' with page protection `prot' | 400 | * remap a physical page `pfn' of size `size' with page protection `prot' |
diff --git a/arch/xtensa/include/asm/ptrace.h b/arch/xtensa/include/asm/ptrace.h index 905e1e619654..3c549f798727 100644 --- a/arch/xtensa/include/asm/ptrace.h +++ b/arch/xtensa/include/asm/ptrace.h | |||
@@ -113,6 +113,7 @@ struct pt_regs { | |||
113 | 113 | ||
114 | #include <variant/core.h> | 114 | #include <variant/core.h> |
115 | 115 | ||
116 | # define arch_has_single_step() (1) | ||
116 | # define task_pt_regs(tsk) ((struct pt_regs*) \ | 117 | # define task_pt_regs(tsk) ((struct pt_regs*) \ |
117 | (task_stack_page(tsk) + KERNEL_STACK_SIZE - (XCHAL_NUM_AREGS-16)*4) - 1) | 118 | (task_stack_page(tsk) + KERNEL_STACK_SIZE - (XCHAL_NUM_AREGS-16)*4) - 1) |
118 | # define user_mode(regs) (((regs)->ps & 0x00000020)!=0) | 119 | # define user_mode(regs) (((regs)->ps & 0x00000020)!=0) |
diff --git a/arch/xtensa/include/asm/socket.h b/arch/xtensa/include/asm/socket.h index beb3a6bdb61d..cbdf2ffaacff 100644 --- a/arch/xtensa/include/asm/socket.h +++ b/arch/xtensa/include/asm/socket.h | |||
@@ -71,4 +71,6 @@ | |||
71 | #define SO_PROTOCOL 38 | 71 | #define SO_PROTOCOL 38 |
72 | #define SO_DOMAIN 39 | 72 | #define SO_DOMAIN 39 |
73 | 73 | ||
74 | #define SO_RXQ_OVFL 40 | ||
75 | |||
74 | #endif /* _XTENSA_SOCKET_H */ | 76 | #endif /* _XTENSA_SOCKET_H */ |
diff --git a/arch/xtensa/include/asm/syscall.h b/arch/xtensa/include/asm/syscall.h index 05cebf8f62b1..efcf33b92e4c 100644 --- a/arch/xtensa/include/asm/syscall.h +++ b/arch/xtensa/include/asm/syscall.h | |||
@@ -12,9 +12,6 @@ struct pt_regs; | |||
12 | struct sigaction; | 12 | struct sigaction; |
13 | asmlinkage long xtensa_execve(char*, char**, char**, struct pt_regs*); | 13 | asmlinkage long xtensa_execve(char*, char**, char**, struct pt_regs*); |
14 | asmlinkage long xtensa_clone(unsigned long, unsigned long, struct pt_regs*); | 14 | asmlinkage long xtensa_clone(unsigned long, unsigned long, struct pt_regs*); |
15 | asmlinkage long xtensa_pipe(int __user *); | ||
16 | asmlinkage long xtensa_mmap2(unsigned long, unsigned long, unsigned long, | ||
17 | unsigned long, unsigned long, unsigned long); | ||
18 | asmlinkage long xtensa_ptrace(long, long, long, long); | 15 | asmlinkage long xtensa_ptrace(long, long, long, long); |
19 | asmlinkage long xtensa_sigreturn(struct pt_regs*); | 16 | asmlinkage long xtensa_sigreturn(struct pt_regs*); |
20 | asmlinkage long xtensa_rt_sigreturn(struct pt_regs*); | 17 | asmlinkage long xtensa_rt_sigreturn(struct pt_regs*); |
diff --git a/arch/xtensa/include/asm/unistd.h b/arch/xtensa/include/asm/unistd.h index c092c8fbb2cf..528042c2951e 100644 --- a/arch/xtensa/include/asm/unistd.h +++ b/arch/xtensa/include/asm/unistd.h | |||
@@ -94,7 +94,7 @@ __SYSCALL( 35, sys_readlink, 3) | |||
94 | #define __NR_mknod 36 | 94 | #define __NR_mknod 36 |
95 | __SYSCALL( 36, sys_mknod, 3) | 95 | __SYSCALL( 36, sys_mknod, 3) |
96 | #define __NR_pipe 37 | 96 | #define __NR_pipe 37 |
97 | __SYSCALL( 37, xtensa_pipe, 1) | 97 | __SYSCALL( 37, sys_pipe, 1) |
98 | #define __NR_unlink 38 | 98 | #define __NR_unlink 38 |
99 | __SYSCALL( 38, sys_unlink, 1) | 99 | __SYSCALL( 38, sys_unlink, 1) |
100 | #define __NR_rmdir 39 | 100 | #define __NR_rmdir 39 |
@@ -189,7 +189,7 @@ __SYSCALL( 79, sys_fremovexattr, 2) | |||
189 | /* File Map / Shared Memory Operations */ | 189 | /* File Map / Shared Memory Operations */ |
190 | 190 | ||
191 | #define __NR_mmap2 80 | 191 | #define __NR_mmap2 80 |
192 | __SYSCALL( 80, xtensa_mmap2, 6) | 192 | __SYSCALL( 80, sys_mmap_pgoff, 6) |
193 | #define __NR_munmap 81 | 193 | #define __NR_munmap 81 |
194 | __SYSCALL( 81, sys_munmap, 2) | 194 | __SYSCALL( 81, sys_munmap, 2) |
195 | #define __NR_mprotect 82 | 195 | #define __NR_mprotect 82 |
@@ -681,8 +681,10 @@ __SYSCALL(304, sys_signalfd, 3) | |||
681 | __SYSCALL(305, sys_ni_syscall, 0) | 681 | __SYSCALL(305, sys_ni_syscall, 0) |
682 | #define __NR_eventfd 306 | 682 | #define __NR_eventfd 306 |
683 | __SYSCALL(306, sys_eventfd, 1) | 683 | __SYSCALL(306, sys_eventfd, 1) |
684 | #define __NR_recvmmsg 307 | ||
685 | __SYSCALL(307, sys_recvmmsg, 5) | ||
684 | 686 | ||
685 | #define __NR_syscall_count 307 | 687 | #define __NR_syscall_count 308 |
686 | 688 | ||
687 | /* | 689 | /* |
688 | * sysxtensa syscall handler | 690 | * sysxtensa syscall handler |
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index 80d24c485fd3..77fc9f6dc016 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S | |||
@@ -104,7 +104,7 @@ | |||
104 | * excsave has been restored, and | 104 | * excsave has been restored, and |
105 | * stack pointer (a1) has been set. | 105 | * stack pointer (a1) has been set. |
106 | * | 106 | * |
107 | * Note: _user_exception might be at an odd adress. Don't use call0..call12 | 107 | * Note: _user_exception might be at an odd address. Don't use call0..call12 |
108 | */ | 108 | */ |
109 | 109 | ||
110 | ENTRY(user_exception) | 110 | ENTRY(user_exception) |
@@ -244,7 +244,7 @@ _user_exception: | |||
244 | * excsave has been restored, and | 244 | * excsave has been restored, and |
245 | * stack pointer (a1) has been set. | 245 | * stack pointer (a1) has been set. |
246 | * | 246 | * |
247 | * Note: _kernel_exception might be at an odd adress. Don't use call0..call12 | 247 | * Note: _kernel_exception might be at an odd address. Don't use call0..call12 |
248 | */ | 248 | */ |
249 | 249 | ||
250 | ENTRY(kernel_exception) | 250 | ENTRY(kernel_exception) |
diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c index a1badb32fcda..8cd38484e130 100644 --- a/arch/xtensa/kernel/irq.c +++ b/arch/xtensa/kernel/irq.c | |||
@@ -90,7 +90,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
90 | } | 90 | } |
91 | 91 | ||
92 | if (i < NR_IRQS) { | 92 | if (i < NR_IRQS) { |
93 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 93 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
94 | action = irq_desc[i].action; | 94 | action = irq_desc[i].action; |
95 | if (!action) | 95 | if (!action) |
96 | goto skip; | 96 | goto skip; |
@@ -109,7 +109,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
109 | 109 | ||
110 | seq_putc(p, '\n'); | 110 | seq_putc(p, '\n'); |
111 | skip: | 111 | skip: |
112 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 112 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
113 | } else if (i == NR_IRQS) { | 113 | } else if (i == NR_IRQS) { |
114 | seq_printf(p, "NMI: "); | 114 | seq_printf(p, "NMI: "); |
115 | for_each_online_cpu(j) | 115 | for_each_online_cpu(j) |
diff --git a/arch/xtensa/kernel/pci-dma.c b/arch/xtensa/kernel/pci-dma.c index f5319d78c876..2783fda76ddc 100644 --- a/arch/xtensa/kernel/pci-dma.c +++ b/arch/xtensa/kernel/pci-dma.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/string.h> | 21 | #include <linux/string.h> |
22 | #include <linux/pci.h> | 22 | #include <linux/pci.h> |
23 | #include <linux/gfp.h> | ||
23 | #include <asm/io.h> | 24 | #include <asm/io.h> |
24 | #include <asm/cacheflush.h> | 25 | #include <asm/cacheflush.h> |
25 | 26 | ||
diff --git a/arch/xtensa/kernel/pci.c b/arch/xtensa/kernel/pci.c index b7c073484e01..cd1026931203 100644 --- a/arch/xtensa/kernel/pci.c +++ b/arch/xtensa/kernel/pci.c | |||
@@ -69,26 +69,25 @@ static int pci_bus_count; | |||
69 | * but we want to try to avoid allocating at 0x2900-0x2bff | 69 | * but we want to try to avoid allocating at 0x2900-0x2bff |
70 | * which might have be mirrored at 0x0100-0x03ff.. | 70 | * which might have be mirrored at 0x0100-0x03ff.. |
71 | */ | 71 | */ |
72 | void | 72 | resource_size_t |
73 | pcibios_align_resource(void *data, struct resource *res, resource_size_t size, | 73 | pcibios_align_resource(void *data, const struct resource *res, |
74 | resource_size_t align) | 74 | resource_size_t size, resource_size_t align) |
75 | { | 75 | { |
76 | struct pci_dev *dev = data; | 76 | struct pci_dev *dev = data; |
77 | resource_size_t start = res->start; | ||
77 | 78 | ||
78 | if (res->flags & IORESOURCE_IO) { | 79 | if (res->flags & IORESOURCE_IO) { |
79 | resource_size_t start = res->start; | ||
80 | |||
81 | if (size > 0x100) { | 80 | if (size > 0x100) { |
82 | printk(KERN_ERR "PCI: I/O Region %s/%d too large" | 81 | printk(KERN_ERR "PCI: I/O Region %s/%d too large" |
83 | " (%ld bytes)\n", pci_name(dev), | 82 | " (%ld bytes)\n", pci_name(dev), |
84 | dev->resource - res, size); | 83 | dev->resource - res, size); |
85 | } | 84 | } |
86 | 85 | ||
87 | if (start & 0x300) { | 86 | if (start & 0x300) |
88 | start = (start + 0x3ff) & ~0x3ff; | 87 | start = (start + 0x3ff) & ~0x3ff; |
89 | res->start = start; | ||
90 | } | ||
91 | } | 88 | } |
89 | |||
90 | return start; | ||
92 | } | 91 | } |
93 | 92 | ||
94 | int | 93 | int |
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c index e1a04a346e75..f167e0f5e05e 100644 --- a/arch/xtensa/kernel/process.c +++ b/arch/xtensa/kernel/process.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/stddef.h> | 23 | #include <linux/stddef.h> |
24 | #include <linux/unistd.h> | 24 | #include <linux/unistd.h> |
25 | #include <linux/ptrace.h> | 25 | #include <linux/ptrace.h> |
26 | #include <linux/slab.h> | ||
27 | #include <linux/elf.h> | 26 | #include <linux/elf.h> |
28 | #include <linux/init.h> | 27 | #include <linux/init.h> |
29 | #include <linux/prctl.h> | 28 | #include <linux/prctl.h> |
@@ -31,6 +30,7 @@ | |||
31 | #include <linux/module.h> | 30 | #include <linux/module.h> |
32 | #include <linux/mqueue.h> | 31 | #include <linux/mqueue.h> |
33 | #include <linux/fs.h> | 32 | #include <linux/fs.h> |
33 | #include <linux/slab.h> | ||
34 | 34 | ||
35 | #include <asm/pgtable.h> | 35 | #include <asm/pgtable.h> |
36 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
diff --git a/arch/xtensa/kernel/ptrace.c b/arch/xtensa/kernel/ptrace.c index 9486882ef0af..9d4e1ceb3f09 100644 --- a/arch/xtensa/kernel/ptrace.c +++ b/arch/xtensa/kernel/ptrace.c | |||
@@ -30,6 +30,17 @@ | |||
30 | #include <asm/elf.h> | 30 | #include <asm/elf.h> |
31 | #include <asm/coprocessor.h> | 31 | #include <asm/coprocessor.h> |
32 | 32 | ||
33 | |||
34 | void user_enable_single_step(struct task_struct *child) | ||
35 | { | ||
36 | child->ptrace |= PT_SINGLESTEP; | ||
37 | } | ||
38 | |||
39 | void user_disable_single_step(struct task_struct *child) | ||
40 | { | ||
41 | child->ptrace &= ~PT_SINGLESTEP; | ||
42 | } | ||
43 | |||
33 | /* | 44 | /* |
34 | * Called by kernel/ptrace.c when detaching to disable single stepping. | 45 | * Called by kernel/ptrace.c when detaching to disable single stepping. |
35 | */ | 46 | */ |
@@ -268,51 +279,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
268 | ret = ptrace_pokeusr(child, addr, data); | 279 | ret = ptrace_pokeusr(child, addr, data); |
269 | break; | 280 | break; |
270 | 281 | ||
271 | /* continue and stop at next (return from) syscall */ | ||
272 | |||
273 | case PTRACE_SYSCALL: | ||
274 | case PTRACE_CONT: /* restart after signal. */ | ||
275 | { | ||
276 | ret = -EIO; | ||
277 | if (!valid_signal(data)) | ||
278 | break; | ||
279 | if (request == PTRACE_SYSCALL) | ||
280 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
281 | else | ||
282 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
283 | child->exit_code = data; | ||
284 | /* Make sure the single step bit is not set. */ | ||
285 | child->ptrace &= ~PT_SINGLESTEP; | ||
286 | wake_up_process(child); | ||
287 | ret = 0; | ||
288 | break; | ||
289 | } | ||
290 | |||
291 | /* | ||
292 | * make the child exit. Best I can do is send it a sigkill. | ||
293 | * perhaps it should be put in the status that it wants to | ||
294 | * exit. | ||
295 | */ | ||
296 | case PTRACE_KILL: | ||
297 | ret = 0; | ||
298 | if (child->exit_state == EXIT_ZOMBIE) /* already dead */ | ||
299 | break; | ||
300 | child->exit_code = SIGKILL; | ||
301 | child->ptrace &= ~PT_SINGLESTEP; | ||
302 | wake_up_process(child); | ||
303 | break; | ||
304 | |||
305 | case PTRACE_SINGLESTEP: | ||
306 | ret = -EIO; | ||
307 | if (!valid_signal(data)) | ||
308 | break; | ||
309 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
310 | child->ptrace |= PT_SINGLESTEP; | ||
311 | child->exit_code = data; | ||
312 | wake_up_process(child); | ||
313 | ret = 0; | ||
314 | break; | ||
315 | |||
316 | case PTRACE_GETREGS: | 282 | case PTRACE_GETREGS: |
317 | ret = ptrace_getregs(child, (void __user *) data); | 283 | ret = ptrace_getregs(child, (void __user *) data); |
318 | break; | 284 | break; |
diff --git a/arch/xtensa/kernel/syscall.c b/arch/xtensa/kernel/syscall.c index ac15ecbdf919..816e6d0d686c 100644 --- a/arch/xtensa/kernel/syscall.c +++ b/arch/xtensa/kernel/syscall.c | |||
@@ -39,49 +39,6 @@ syscall_t sys_call_table[__NR_syscall_count] /* FIXME __cacheline_aligned */= { | |||
39 | #include <asm/unistd.h> | 39 | #include <asm/unistd.h> |
40 | }; | 40 | }; |
41 | 41 | ||
42 | /* | ||
43 | * xtensa_pipe() is the normal C calling standard for creating a pipe. It's not | ||
44 | * the way unix traditional does this, though. | ||
45 | */ | ||
46 | |||
47 | asmlinkage long xtensa_pipe(int __user *userfds) | ||
48 | { | ||
49 | int fd[2]; | ||
50 | int error; | ||
51 | |||
52 | error = do_pipe_flags(fd, 0); | ||
53 | if (!error) { | ||
54 | if (copy_to_user(userfds, fd, 2 * sizeof(int))) | ||
55 | error = -EFAULT; | ||
56 | } | ||
57 | return error; | ||
58 | } | ||
59 | |||
60 | |||
61 | asmlinkage long xtensa_mmap2(unsigned long addr, unsigned long len, | ||
62 | unsigned long prot, unsigned long flags, | ||
63 | unsigned long fd, unsigned long pgoff) | ||
64 | { | ||
65 | int error = -EBADF; | ||
66 | struct file * file = NULL; | ||
67 | |||
68 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | ||
69 | if (!(flags & MAP_ANONYMOUS)) { | ||
70 | file = fget(fd); | ||
71 | if (!file) | ||
72 | goto out; | ||
73 | } | ||
74 | |||
75 | down_write(¤t->mm->mmap_sem); | ||
76 | error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); | ||
77 | up_write(¤t->mm->mmap_sem); | ||
78 | |||
79 | if (file) | ||
80 | fput(file); | ||
81 | out: | ||
82 | return error; | ||
83 | } | ||
84 | |||
85 | asmlinkage long xtensa_shmat(int shmid, char __user *shmaddr, int shmflg) | 42 | asmlinkage long xtensa_shmat(int shmid, char __user *shmaddr, int shmflg) |
86 | { | 43 | { |
87 | unsigned long ret; | 44 | unsigned long ret; |
diff --git a/arch/xtensa/mm/cache.c b/arch/xtensa/mm/cache.c index 3ba990c67676..85df4655d326 100644 --- a/arch/xtensa/mm/cache.c +++ b/arch/xtensa/mm/cache.c | |||
@@ -147,9 +147,9 @@ void flush_cache_page(struct vm_area_struct* vma, unsigned long address, | |||
147 | #endif | 147 | #endif |
148 | 148 | ||
149 | void | 149 | void |
150 | update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t pte) | 150 | update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t *ptep) |
151 | { | 151 | { |
152 | unsigned long pfn = pte_pfn(pte); | 152 | unsigned long pfn = pte_pfn(*ptep); |
153 | struct page *page; | 153 | struct page *page; |
154 | 154 | ||
155 | if (!pfn_valid(pfn)) | 155 | if (!pfn_valid(pfn)) |
diff --git a/arch/xtensa/mm/init.c b/arch/xtensa/mm/init.c index cdbc27ca9665..ba150e5de2eb 100644 --- a/arch/xtensa/mm/init.c +++ b/arch/xtensa/mm/init.c | |||
@@ -18,11 +18,11 @@ | |||
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
20 | #include <linux/bootmem.h> | 20 | #include <linux/bootmem.h> |
21 | #include <linux/gfp.h> | ||
21 | #include <linux/swap.h> | 22 | #include <linux/swap.h> |
22 | #include <linux/mman.h> | 23 | #include <linux/mman.h> |
23 | #include <linux/nodemask.h> | 24 | #include <linux/nodemask.h> |
24 | #include <linux/mm.h> | 25 | #include <linux/mm.h> |
25 | #include <linux/slab.h> | ||
26 | 26 | ||
27 | #include <asm/bootparam.h> | 27 | #include <asm/bootparam.h> |
28 | #include <asm/page.h> | 28 | #include <asm/page.h> |
diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c index 4c559cf7da2d..2c723e8b30da 100644 --- a/arch/xtensa/platforms/iss/console.c +++ b/arch/xtensa/platforms/iss/console.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/console.h> | 15 | #include <linux/console.h> |
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/slab.h> | ||
18 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
19 | #include <linux/major.h> | 18 | #include <linux/major.h> |
20 | #include <linux/param.h> | 19 | #include <linux/param.h> |
@@ -196,7 +195,7 @@ static const struct file_operations rs_proc_fops = { | |||
196 | .release = single_release, | 195 | .release = single_release, |
197 | }; | 196 | }; |
198 | 197 | ||
199 | static struct tty_operations serial_ops = { | 198 | static const struct tty_operations serial_ops = { |
200 | .open = rs_open, | 199 | .open = rs_open, |
201 | .close = rs_close, | 200 | .close = rs_close, |
202 | .write = rs_write, | 201 | .write = rs_write, |
diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c index 2f0b86b37cf9..87e218f98ef4 100644 --- a/arch/xtensa/platforms/iss/network.c +++ b/arch/xtensa/platforms/iss/network.c | |||
@@ -560,7 +560,7 @@ static void iss_net_set_multicast_list(struct net_device *dev) | |||
560 | #if 0 | 560 | #if 0 |
561 | if (dev->flags & IFF_PROMISC) | 561 | if (dev->flags & IFF_PROMISC) |
562 | return; | 562 | return; |
563 | else if (dev->mc_count) | 563 | else if (!netdev_mc_empty(dev)) |
564 | dev->flags |= IFF_ALLMULTI; | 564 | dev->flags |= IFF_ALLMULTI; |
565 | else | 565 | else |
566 | dev->flags &= ~IFF_ALLMULTI; | 566 | dev->flags &= ~IFF_ALLMULTI; |