diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-03-22 13:23:46 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-03-22 13:23:46 -0400 |
commit | 74511020dde10252f8b8e648690d99dba721de14 (patch) | |
tree | 04fc22bc7dd5d5b8d9294b2e57985b093858bd84 /arch/m68k | |
parent | 69266866a5790080d7fe80094b28d670ff8aa765 (diff) | |
parent | 3cc4e53f86dab635166929bfa47cc68d59b28c26 (diff) |
Merge branch 'for-2.6.34' into for-2.6.35
Diffstat (limited to 'arch/m68k')
-rw-r--r-- | arch/m68k/atari/atakeyb.c | 2 | ||||
-rw-r--r-- | arch/m68k/include/asm/fbio.h | 2 | ||||
-rw-r--r-- | arch/m68k/include/asm/io_no.h | 2 | ||||
-rw-r--r-- | arch/m68k/include/asm/ptrace.h | 8 | ||||
-rw-r--r-- | arch/m68k/include/asm/unistd.h | 3 | ||||
-rw-r--r-- | arch/m68k/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/m68k/kernel/sys_m68k.c | 131 |
7 files changed, 8 insertions, 144 deletions
diff --git a/arch/m68k/atari/atakeyb.c b/arch/m68k/atari/atakeyb.c index 4add96d13b19..5890897d28bf 100644 --- a/arch/m68k/atari/atakeyb.c +++ b/arch/m68k/atari/atakeyb.c | |||
@@ -121,7 +121,7 @@ KEYBOARD_STATE kb_state; | |||
121 | * bytes have been lost and in which state of the packet structure we are now. | 121 | * bytes have been lost and in which state of the packet structure we are now. |
122 | * This usually causes keyboards bytes to be interpreted as mouse movements | 122 | * This usually causes keyboards bytes to be interpreted as mouse movements |
123 | * and vice versa, which is very annoying. It seems better to throw away some | 123 | * and vice versa, which is very annoying. It seems better to throw away some |
124 | * bytes (that are usually mouse bytes) than to misinterpret them. Therefor I | 124 | * bytes (that are usually mouse bytes) than to misinterpret them. Therefore I |
125 | * introduced the RESYNC state for IKBD data. In this state, the bytes up to | 125 | * introduced the RESYNC state for IKBD data. In this state, the bytes up to |
126 | * one that really looks like a key event (0x04..0xf2) or the start of a mouse | 126 | * one that really looks like a key event (0x04..0xf2) or the start of a mouse |
127 | * packet (0xf8..0xfb) are thrown away, but at most 2 bytes. This at least | 127 | * packet (0xf8..0xfb) are thrown away, but at most 2 bytes. This at least |
diff --git a/arch/m68k/include/asm/fbio.h b/arch/m68k/include/asm/fbio.h index b9215a0907d3..0a21da87f7d6 100644 --- a/arch/m68k/include/asm/fbio.h +++ b/arch/m68k/include/asm/fbio.h | |||
@@ -173,7 +173,7 @@ struct mdi_cfginfo { | |||
173 | int mdi_ncluts; /* Number of implemented CLUTs in this MDI */ | 173 | int mdi_ncluts; /* Number of implemented CLUTs in this MDI */ |
174 | int mdi_type; /* FBTYPE name */ | 174 | int mdi_type; /* FBTYPE name */ |
175 | int mdi_height; /* height */ | 175 | int mdi_height; /* height */ |
176 | int mdi_width; /* widht */ | 176 | int mdi_width; /* width */ |
177 | int mdi_size; /* available ram */ | 177 | int mdi_size; /* available ram */ |
178 | int mdi_mode; /* 8bpp, 16bpp or 32bpp */ | 178 | int mdi_mode; /* 8bpp, 16bpp or 32bpp */ |
179 | int mdi_pixfreq; /* pixel clock (from PROM) */ | 179 | int mdi_pixfreq; /* pixel clock (from PROM) */ |
diff --git a/arch/m68k/include/asm/io_no.h b/arch/m68k/include/asm/io_no.h index 359065d5a9f2..6e2413e518cb 100644 --- a/arch/m68k/include/asm/io_no.h +++ b/arch/m68k/include/asm/io_no.h | |||
@@ -16,7 +16,7 @@ | |||
16 | * memory location directly. | 16 | * memory location directly. |
17 | */ | 17 | */ |
18 | /* ++roman: The assignments to temp. vars avoid that gcc sometimes generates | 18 | /* ++roman: The assignments to temp. vars avoid that gcc sometimes generates |
19 | * two accesses to memory, which may be undesireable for some devices. | 19 | * two accesses to memory, which may be undesirable for some devices. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | /* | 22 | /* |
diff --git a/arch/m68k/include/asm/ptrace.h b/arch/m68k/include/asm/ptrace.h index 21605c736f69..6e6e3ac1d913 100644 --- a/arch/m68k/include/asm/ptrace.h +++ b/arch/m68k/include/asm/ptrace.h | |||
@@ -87,18 +87,10 @@ struct switch_stack { | |||
87 | #define profile_pc(regs) instruction_pointer(regs) | 87 | #define profile_pc(regs) instruction_pointer(regs) |
88 | extern void show_regs(struct pt_regs *); | 88 | extern void show_regs(struct pt_regs *); |
89 | 89 | ||
90 | /* | ||
91 | * These are defined as per linux/ptrace.h. | ||
92 | */ | ||
93 | struct task_struct; | ||
94 | |||
95 | #define arch_has_single_step() (1) | 90 | #define arch_has_single_step() (1) |
96 | extern void user_enable_single_step(struct task_struct *); | ||
97 | extern void user_disable_single_step(struct task_struct *); | ||
98 | 91 | ||
99 | #ifdef CONFIG_MMU | 92 | #ifdef CONFIG_MMU |
100 | #define arch_has_block_step() (1) | 93 | #define arch_has_block_step() (1) |
101 | extern void user_enable_block_step(struct task_struct *); | ||
102 | #endif | 94 | #endif |
103 | 95 | ||
104 | #endif /* __KERNEL__ */ | 96 | #endif /* __KERNEL__ */ |
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h index d72a71dabecb..60b15d0aa072 100644 --- a/arch/m68k/include/asm/unistd.h +++ b/arch/m68k/include/asm/unistd.h | |||
@@ -351,6 +351,7 @@ | |||
351 | #define __ARCH_WANT_STAT64 | 351 | #define __ARCH_WANT_STAT64 |
352 | #define __ARCH_WANT_SYS_ALARM | 352 | #define __ARCH_WANT_SYS_ALARM |
353 | #define __ARCH_WANT_SYS_GETHOSTNAME | 353 | #define __ARCH_WANT_SYS_GETHOSTNAME |
354 | #define __ARCH_WANT_SYS_IPC | ||
354 | #define __ARCH_WANT_SYS_PAUSE | 355 | #define __ARCH_WANT_SYS_PAUSE |
355 | #define __ARCH_WANT_SYS_SGETMASK | 356 | #define __ARCH_WANT_SYS_SGETMASK |
356 | #define __ARCH_WANT_SYS_SIGNAL | 357 | #define __ARCH_WANT_SYS_SIGNAL |
@@ -363,6 +364,8 @@ | |||
363 | #define __ARCH_WANT_SYS_LLSEEK | 364 | #define __ARCH_WANT_SYS_LLSEEK |
364 | #define __ARCH_WANT_SYS_NICE | 365 | #define __ARCH_WANT_SYS_NICE |
365 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT | 366 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT |
367 | #define __ARCH_WANT_SYS_OLD_MMAP | ||
368 | #define __ARCH_WANT_SYS_OLD_SELECT | ||
366 | #define __ARCH_WANT_SYS_OLDUMOUNT | 369 | #define __ARCH_WANT_SYS_OLDUMOUNT |
367 | #define __ARCH_WANT_SYS_SIGPENDING | 370 | #define __ARCH_WANT_SYS_SIGPENDING |
368 | #define __ARCH_WANT_SYS_SIGPROCMASK | 371 | #define __ARCH_WANT_SYS_SIGPROCMASK |
diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S index e136b8cbe9b9..2391bdff0996 100644 --- a/arch/m68k/kernel/entry.S +++ b/arch/m68k/kernel/entry.S | |||
@@ -510,7 +510,7 @@ sys_call_table: | |||
510 | .long sys_settimeofday | 510 | .long sys_settimeofday |
511 | .long sys_getgroups16 /* 80 */ | 511 | .long sys_getgroups16 /* 80 */ |
512 | .long sys_setgroups16 | 512 | .long sys_setgroups16 |
513 | .long old_select | 513 | .long sys_old_select |
514 | .long sys_symlink | 514 | .long sys_symlink |
515 | .long sys_lstat | 515 | .long sys_lstat |
516 | .long sys_readlink /* 85 */ | 516 | .long sys_readlink /* 85 */ |
@@ -518,7 +518,7 @@ sys_call_table: | |||
518 | .long sys_swapon | 518 | .long sys_swapon |
519 | .long sys_reboot | 519 | .long sys_reboot |
520 | .long sys_old_readdir | 520 | .long sys_old_readdir |
521 | .long old_mmap /* 90 */ | 521 | .long sys_old_mmap /* 90 */ |
522 | .long sys_munmap | 522 | .long sys_munmap |
523 | .long sys_truncate | 523 | .long sys_truncate |
524 | .long sys_ftruncate | 524 | .long sys_ftruncate |
diff --git a/arch/m68k/kernel/sys_m68k.c b/arch/m68k/kernel/sys_m68k.c index e3ad2d671973..77896692eb0a 100644 --- a/arch/m68k/kernel/sys_m68k.c +++ b/arch/m68k/kernel/sys_m68k.c | |||
@@ -46,137 +46,6 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, | |||
46 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); | 46 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); |
47 | } | 47 | } |
48 | 48 | ||
49 | /* | ||
50 | * Perform the select(nd, in, out, ex, tv) and mmap() system | ||
51 | * calls. Linux/m68k cloned Linux/i386, which didn't use to be able to | ||
52 | * handle more than 4 system call parameters, so these system calls | ||
53 | * used a memory block for parameter passing.. | ||
54 | */ | ||
55 | |||
56 | struct mmap_arg_struct { | ||
57 | unsigned long addr; | ||
58 | unsigned long len; | ||
59 | unsigned long prot; | ||
60 | unsigned long flags; | ||
61 | unsigned long fd; | ||
62 | unsigned long offset; | ||
63 | }; | ||
64 | |||
65 | asmlinkage int old_mmap(struct mmap_arg_struct __user *arg) | ||
66 | { | ||
67 | struct mmap_arg_struct a; | ||
68 | int error = -EFAULT; | ||
69 | |||
70 | if (copy_from_user(&a, arg, sizeof(a))) | ||
71 | goto out; | ||
72 | |||
73 | error = -EINVAL; | ||
74 | if (a.offset & ~PAGE_MASK) | ||
75 | goto out; | ||
76 | |||
77 | error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, | ||
78 | a.offset >> PAGE_SHIFT); | ||
79 | out: | ||
80 | return error; | ||
81 | } | ||
82 | |||
83 | struct sel_arg_struct { | ||
84 | unsigned long n; | ||
85 | fd_set __user *inp, *outp, *exp; | ||
86 | struct timeval __user *tvp; | ||
87 | }; | ||
88 | |||
89 | asmlinkage int old_select(struct sel_arg_struct __user *arg) | ||
90 | { | ||
91 | struct sel_arg_struct a; | ||
92 | |||
93 | if (copy_from_user(&a, arg, sizeof(a))) | ||
94 | return -EFAULT; | ||
95 | /* sys_select() does the appropriate kernel locking */ | ||
96 | return sys_select(a.n, a.inp, a.outp, a.exp, a.tvp); | ||
97 | } | ||
98 | |||
99 | /* | ||
100 | * sys_ipc() is the de-multiplexer for the SysV IPC calls.. | ||
101 | * | ||
102 | * This is really horribly ugly. | ||
103 | */ | ||
104 | asmlinkage int sys_ipc (uint call, int first, int second, | ||
105 | int third, void __user *ptr, long fifth) | ||
106 | { | ||
107 | int version, ret; | ||
108 | |||
109 | version = call >> 16; /* hack for backward compatibility */ | ||
110 | call &= 0xffff; | ||
111 | |||
112 | if (call <= SEMCTL) | ||
113 | switch (call) { | ||
114 | case SEMOP: | ||
115 | return sys_semop (first, ptr, second); | ||
116 | case SEMGET: | ||
117 | return sys_semget (first, second, third); | ||
118 | case SEMCTL: { | ||
119 | union semun fourth; | ||
120 | if (!ptr) | ||
121 | return -EINVAL; | ||
122 | if (get_user(fourth.__pad, (void __user *__user *) ptr)) | ||
123 | return -EFAULT; | ||
124 | return sys_semctl (first, second, third, fourth); | ||
125 | } | ||
126 | default: | ||
127 | return -ENOSYS; | ||
128 | } | ||
129 | if (call <= MSGCTL) | ||
130 | switch (call) { | ||
131 | case MSGSND: | ||
132 | return sys_msgsnd (first, ptr, second, third); | ||
133 | case MSGRCV: | ||
134 | switch (version) { | ||
135 | case 0: { | ||
136 | struct ipc_kludge tmp; | ||
137 | if (!ptr) | ||
138 | return -EINVAL; | ||
139 | if (copy_from_user (&tmp, ptr, sizeof (tmp))) | ||
140 | return -EFAULT; | ||
141 | return sys_msgrcv (first, tmp.msgp, second, | ||
142 | tmp.msgtyp, third); | ||
143 | } | ||
144 | default: | ||
145 | return sys_msgrcv (first, ptr, | ||
146 | second, fifth, third); | ||
147 | } | ||
148 | case MSGGET: | ||
149 | return sys_msgget ((key_t) first, second); | ||
150 | case MSGCTL: | ||
151 | return sys_msgctl (first, second, ptr); | ||
152 | default: | ||
153 | return -ENOSYS; | ||
154 | } | ||
155 | if (call <= SHMCTL) | ||
156 | switch (call) { | ||
157 | case SHMAT: | ||
158 | switch (version) { | ||
159 | default: { | ||
160 | ulong raddr; | ||
161 | ret = do_shmat (first, ptr, second, &raddr); | ||
162 | if (ret) | ||
163 | return ret; | ||
164 | return put_user (raddr, (ulong __user *) third); | ||
165 | } | ||
166 | } | ||
167 | case SHMDT: | ||
168 | return sys_shmdt (ptr); | ||
169 | case SHMGET: | ||
170 | return sys_shmget (first, second, third); | ||
171 | case SHMCTL: | ||
172 | return sys_shmctl (first, second, ptr); | ||
173 | default: | ||
174 | return -ENOSYS; | ||
175 | } | ||
176 | |||
177 | return -EINVAL; | ||
178 | } | ||
179 | |||
180 | /* Convert virtual (user) address VADDR to physical address PADDR */ | 49 | /* Convert virtual (user) address VADDR to physical address PADDR */ |
181 | #define virt_to_phys_040(vaddr) \ | 50 | #define virt_to_phys_040(vaddr) \ |
182 | ({ \ | 51 | ({ \ |