Contents of /trunk/linux-libc-headers/patches/linux-2.6.20.1-mips_headers-1.patch
Parent Directory | Revision Log
Revision 642 -
(show annotations)
(download)
Tue Dec 18 00:23:39 2007 UTC (16 years, 9 months ago) by niro
File size: 13724 byte(s)
Tue Dec 18 00:23:39 2007 UTC (16 years, 9 months ago) by niro
File size: 13724 byte(s)
-synced with upstream
1 | diff -Naur linux-2.6.20.1/include/asm-mips/compat-signal.h linux-mips-2.6.20.1/include/asm-mips/compat-signal.h |
2 | --- linux-2.6.20.1/include/asm-mips/compat-signal.h 1969-12-31 16:00:00.000000000 -0800 |
3 | +++ linux-mips-2.6.20.1/include/asm-mips/compat-signal.h 2007-02-20 16:47:41.000000000 -0800 |
4 | @@ -0,0 +1,54 @@ |
5 | +#ifndef __ASM_COMPAT_SIGNAL_H |
6 | +#define __ASM_COMPAT_SIGNAL_H |
7 | + |
8 | +#include <linux/bug.h> |
9 | +#include <linux/compat.h> |
10 | +#include <linux/compiler.h> |
11 | + |
12 | +#include <asm/uaccess.h> |
13 | + |
14 | +static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d, |
15 | + const sigset_t *s) |
16 | +{ |
17 | + int err; |
18 | + |
19 | + BUG_ON(sizeof(*d) != sizeof(*s)); |
20 | + BUG_ON(_NSIG_WORDS != 2); |
21 | + |
22 | + err = __put_user(s->sig[0], &d->sig[0]); |
23 | + err |= __put_user(s->sig[0] >> 32, &d->sig[1]); |
24 | + err |= __put_user(s->sig[1], &d->sig[2]); |
25 | + err |= __put_user(s->sig[1] >> 32, &d->sig[3]); |
26 | + |
27 | + return err; |
28 | +} |
29 | + |
30 | +static inline int __copy_conv_sigset_from_user(sigset_t *d, |
31 | + const compat_sigset_t __user *s) |
32 | +{ |
33 | + int err; |
34 | + union sigset_u { |
35 | + sigset_t s; |
36 | + compat_sigset_t c; |
37 | + } *u = (union sigset_u *) d; |
38 | + |
39 | + BUG_ON(sizeof(*d) != sizeof(*s)); |
40 | + BUG_ON(_NSIG_WORDS != 2); |
41 | + |
42 | +#ifdef CONFIG_CPU_BIG_ENDIAN |
43 | + err = __get_user(u->c.sig[1], &s->sig[0]); |
44 | + err |= __get_user(u->c.sig[0], &s->sig[1]); |
45 | + err |= __get_user(u->c.sig[3], &s->sig[2]); |
46 | + err |= __get_user(u->c.sig[2], &s->sig[3]); |
47 | +#endif |
48 | +#ifdef CONFIG_CPU_LITTLE_ENDIAN |
49 | + err = __get_user(u->c.sig[0], &s->sig[0]); |
50 | + err |= __get_user(u->c.sig[1], &s->sig[1]); |
51 | + err |= __get_user(u->c.sig[2], &s->sig[2]); |
52 | + err |= __get_user(u->c.sig[3], &s->sig[3]); |
53 | +#endif |
54 | + |
55 | + return err; |
56 | +} |
57 | + |
58 | +#endif /* __ASM_COMPAT_SIGNAL_H */ |
59 | diff -Naur linux-2.6.20.1/include/asm-mips/dma-mapping.h linux-mips-2.6.20.1/include/asm-mips/dma-mapping.h |
60 | --- linux-2.6.20.1/include/asm-mips/dma-mapping.h 2007-02-19 22:34:32.000000000 -0800 |
61 | +++ linux-mips-2.6.20.1/include/asm-mips/dma-mapping.h 2007-02-20 16:47:41.000000000 -0800 |
62 | @@ -68,6 +68,7 @@ |
63 | extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size, |
64 | enum dma_data_direction direction); |
65 | |
66 | +#if 0 |
67 | #define ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY |
68 | |
69 | extern int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, |
70 | @@ -75,5 +76,6 @@ |
71 | extern void dma_release_declared_memory(struct device *dev); |
72 | extern void * dma_mark_declared_memory_occupied(struct device *dev, |
73 | dma_addr_t device_addr, size_t size); |
74 | +#endif |
75 | |
76 | #endif /* _ASM_DMA_MAPPING_H */ |
77 | diff -Naur linux-2.6.20.1/include/asm-mips/io.h linux-mips-2.6.20.1/include/asm-mips/io.h |
78 | --- linux-2.6.20.1/include/asm-mips/io.h 2007-02-19 22:34:32.000000000 -0800 |
79 | +++ linux-mips-2.6.20.1/include/asm-mips/io.h 2007-02-20 16:47:41.000000000 -0800 |
80 | @@ -20,6 +20,7 @@ |
81 | #include <asm/byteorder.h> |
82 | #include <asm/cpu.h> |
83 | #include <asm/cpu-features.h> |
84 | +#include <asm-generic/iomap.h> |
85 | #include <asm/page.h> |
86 | #include <asm/pgtable-bits.h> |
87 | #include <asm/processor.h> |
88 | @@ -518,34 +519,6 @@ |
89 | } |
90 | |
91 | /* |
92 | - * Memory Mapped I/O |
93 | - */ |
94 | -#define ioread8(addr) readb(addr) |
95 | -#define ioread16(addr) readw(addr) |
96 | -#define ioread32(addr) readl(addr) |
97 | - |
98 | -#define iowrite8(b,addr) writeb(b,addr) |
99 | -#define iowrite16(w,addr) writew(w,addr) |
100 | -#define iowrite32(l,addr) writel(l,addr) |
101 | - |
102 | -#define ioread8_rep(a,b,c) readsb(a,b,c) |
103 | -#define ioread16_rep(a,b,c) readsw(a,b,c) |
104 | -#define ioread32_rep(a,b,c) readsl(a,b,c) |
105 | - |
106 | -#define iowrite8_rep(a,b,c) writesb(a,b,c) |
107 | -#define iowrite16_rep(a,b,c) writesw(a,b,c) |
108 | -#define iowrite32_rep(a,b,c) writesl(a,b,c) |
109 | - |
110 | -/* Create a virtual mapping cookie for an IO port range */ |
111 | -extern void __iomem *ioport_map(unsigned long port, unsigned int nr); |
112 | -extern void ioport_unmap(void __iomem *); |
113 | - |
114 | -/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */ |
115 | -struct pci_dev; |
116 | -extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max); |
117 | -extern void pci_iounmap(struct pci_dev *dev, void __iomem *); |
118 | - |
119 | -/* |
120 | * ISA space is 'always mapped' on currently supported MIPS systems, no need |
121 | * to explicitly ioremap() it. The fact that the ISA IO space is mapped |
122 | * to PAGE_OFFSET is pure coincidence - it does not mean ISA values |
123 | diff -Naur linux-2.6.20.1/include/asm-mips/mach-au1x00/au1000.h linux-mips-2.6.20.1/include/asm-mips/mach-au1x00/au1000.h |
124 | --- linux-2.6.20.1/include/asm-mips/mach-au1x00/au1000.h 2007-02-19 22:34:32.000000000 -0800 |
125 | +++ linux-mips-2.6.20.1/include/asm-mips/mach-au1x00/au1000.h 2007-02-20 16:47:41.000000000 -0800 |
126 | @@ -39,6 +39,7 @@ |
127 | #ifndef _LANGUAGE_ASSEMBLY |
128 | |
129 | #include <linux/delay.h> |
130 | +#include <linux/types.h> |
131 | #include <asm/io.h> |
132 | |
133 | /* cpu pipeline flush */ |
134 | diff -Naur linux-2.6.20.1/include/asm-mips/mach-au1x00/au1xxx_ide.h linux-mips-2.6.20.1/include/asm-mips/mach-au1x00/au1xxx_ide.h |
135 | --- linux-2.6.20.1/include/asm-mips/mach-au1x00/au1xxx_ide.h 2007-02-19 22:34:32.000000000 -0800 |
136 | +++ linux-mips-2.6.20.1/include/asm-mips/mach-au1x00/au1xxx_ide.h 2007-02-20 16:47:41.000000000 -0800 |
137 | @@ -83,6 +83,7 @@ |
138 | } _auide_hwif; |
139 | |
140 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA |
141 | + |
142 | /* HD white list */ |
143 | static const struct drive_list_entry dma_white_list [] = { |
144 | /* |
145 | diff -Naur linux-2.6.20.1/include/asm-mips/mach-generic/ide.h linux-mips-2.6.20.1/include/asm-mips/mach-generic/ide.h |
146 | --- linux-2.6.20.1/include/asm-mips/mach-generic/ide.h 2007-02-19 22:34:32.000000000 -0800 |
147 | +++ linux-mips-2.6.20.1/include/asm-mips/mach-generic/ide.h 2007-02-20 16:47:41.000000000 -0800 |
148 | @@ -29,17 +29,12 @@ |
149 | |
150 | #define IDE_ARCH_OBSOLETE_DEFAULTS |
151 | |
152 | +extern int mips_system_has_legacy_ide; |
153 | + |
154 | static __inline__ int ide_probe_legacy(void) |
155 | { |
156 | #ifdef CONFIG_PCI |
157 | - struct pci_dev *dev; |
158 | - if ((dev = pci_get_class(PCI_CLASS_BRIDGE_EISA << 8, NULL)) != NULL || |
159 | - (dev = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL)) != NULL) { |
160 | - pci_dev_put(dev); |
161 | - |
162 | - return 1; |
163 | - } |
164 | - return 0; |
165 | + return mips_system_has_legacy_ide; |
166 | #elif defined(CONFIG_EISA) || defined(CONFIG_ISA) |
167 | return 1; |
168 | #else |
169 | diff -Naur linux-2.6.20.1/include/asm-mips/mips_mt.h linux-mips-2.6.20.1/include/asm-mips/mips_mt.h |
170 | --- linux-2.6.20.1/include/asm-mips/mips_mt.h 2007-02-19 22:34:32.000000000 -0800 |
171 | +++ linux-mips-2.6.20.1/include/asm-mips/mips_mt.h 2007-02-20 16:47:41.000000000 -0800 |
172 | @@ -12,4 +12,7 @@ |
173 | extern void mips_mt_regdump(unsigned long previous_mvpcontrol_value); |
174 | extern void mips_mt_set_cpuoptions(void); |
175 | |
176 | +struct class; |
177 | +extern struct class *mt_class; |
178 | + |
179 | #endif /* __ASM_MIPS_MT_H */ |
180 | diff -Naur linux-2.6.20.1/include/asm-mips/pci.h linux-mips-2.6.20.1/include/asm-mips/pci.h |
181 | --- linux-2.6.20.1/include/asm-mips/pci.h 2007-02-19 22:34:32.000000000 -0800 |
182 | +++ linux-mips-2.6.20.1/include/asm-mips/pci.h 2007-02-20 16:47:41.000000000 -0800 |
183 | @@ -32,6 +32,7 @@ |
184 | unsigned long mem_offset; |
185 | struct resource *io_resource; |
186 | unsigned long io_offset; |
187 | + unsigned long io_map_base; |
188 | |
189 | unsigned int index; |
190 | /* For compatibility with current (as of July 2003) pciutils |
191 | diff -Naur linux-2.6.20.1/include/asm-mips/sigcontext.h linux-mips-2.6.20.1/include/asm-mips/sigcontext.h |
192 | --- linux-2.6.20.1/include/asm-mips/sigcontext.h 2007-02-19 22:34:32.000000000 -0800 |
193 | +++ linux-mips-2.6.20.1/include/asm-mips/sigcontext.h 2007-02-20 16:47:41.000000000 -0800 |
194 | @@ -42,6 +42,7 @@ |
195 | |
196 | #if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 |
197 | |
198 | +#include <linux/posix_types.h> |
199 | /* |
200 | * Keep this struct definition in sync with the sigcontext fragment |
201 | * in arch/mips/tools/offset.c |
202 | @@ -53,27 +54,25 @@ |
203 | * entries, add sc_dsp and sc_reserved for padding. No prisoners. |
204 | */ |
205 | struct sigcontext { |
206 | - unsigned long sc_regs[32]; |
207 | - unsigned long sc_fpregs[32]; |
208 | - unsigned long sc_mdhi; |
209 | - unsigned long sc_hi1; |
210 | - unsigned long sc_hi2; |
211 | - unsigned long sc_hi3; |
212 | - unsigned long sc_mdlo; |
213 | - unsigned long sc_lo1; |
214 | - unsigned long sc_lo2; |
215 | - unsigned long sc_lo3; |
216 | - unsigned long sc_pc; |
217 | - unsigned int sc_fpc_csr; |
218 | - unsigned int sc_used_math; |
219 | - unsigned int sc_dsp; |
220 | - unsigned int sc_reserved; |
221 | + __u64 sc_regs[32]; |
222 | + __u64 sc_fpregs[32]; |
223 | + __u64 sc_mdhi; |
224 | + __u64 sc_hi1; |
225 | + __u64 sc_hi2; |
226 | + __u64 sc_hi3; |
227 | + __u64 sc_mdlo; |
228 | + __u64 sc_lo1; |
229 | + __u64 sc_lo2; |
230 | + __u64 sc_lo3; |
231 | + __u64 sc_pc; |
232 | + __u32 sc_fpc_csr; |
233 | + __u32 sc_used_math; |
234 | + __u32 sc_dsp; |
235 | + __u32 sc_reserved; |
236 | }; |
237 | |
238 | #ifdef __KERNEL__ |
239 | |
240 | -#include <linux/posix_types.h> |
241 | - |
242 | struct sigcontext32 { |
243 | __u32 sc_regmask; /* Unused */ |
244 | __u32 sc_status; |
245 | diff -Naur linux-2.6.20.1/include/asm-mips/uaccess.h linux-mips-2.6.20.1/include/asm-mips/uaccess.h |
246 | --- linux-2.6.20.1/include/asm-mips/uaccess.h 2007-02-19 22:34:32.000000000 -0800 |
247 | +++ linux-mips-2.6.20.1/include/asm-mips/uaccess.h 2007-02-20 16:47:41.000000000 -0800 |
248 | @@ -265,12 +265,14 @@ |
249 | */ |
250 | #define __get_user_asm_ll32(val, addr) \ |
251 | { \ |
252 | - unsigned long long __gu_tmp; \ |
253 | + union { \ |
254 | + unsigned long long l; \ |
255 | + __typeof__(*(addr)) t; \ |
256 | + } __gu_tmp; \ |
257 | \ |
258 | __asm__ __volatile__( \ |
259 | "1: lw %1, (%3) \n" \ |
260 | "2: lw %D1, 4(%3) \n" \ |
261 | - " move %0, $0 \n" \ |
262 | "3: .section .fixup,\"ax\" \n" \ |
263 | "4: li %0, %4 \n" \ |
264 | " move %1, $0 \n" \ |
265 | @@ -281,9 +283,10 @@ |
266 | " " __UA_ADDR " 1b, 4b \n" \ |
267 | " " __UA_ADDR " 2b, 4b \n" \ |
268 | " .previous \n" \ |
269 | - : "=r" (__gu_err), "=&r" (__gu_tmp) \ |
270 | + : "=r" (__gu_err), "=&r" (__gu_tmp.l) \ |
271 | : "0" (0), "r" (addr), "i" (-EFAULT)); \ |
272 | - (val) = (__typeof__(*(addr))) __gu_tmp; \ |
273 | + \ |
274 | + (val) = __gu_tmp.t; \ |
275 | } |
276 | |
277 | /* |
278 | @@ -432,8 +435,32 @@ |
279 | __cu_len; \ |
280 | }) |
281 | |
282 | -#define __copy_to_user_inatomic __copy_to_user |
283 | -#define __copy_from_user_inatomic __copy_from_user |
284 | +#define __copy_to_user_inatomic(to,from,n) \ |
285 | +({ \ |
286 | + void __user *__cu_to; \ |
287 | + const void *__cu_from; \ |
288 | + long __cu_len; \ |
289 | + \ |
290 | + __cu_to = (to); \ |
291 | + __cu_from = (from); \ |
292 | + __cu_len = (n); \ |
293 | + __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, __cu_len); \ |
294 | + __cu_len; \ |
295 | +}) |
296 | + |
297 | +#define __copy_from_user_inatomic(to,from,n) \ |
298 | +({ \ |
299 | + void *__cu_to; \ |
300 | + const void __user *__cu_from; \ |
301 | + long __cu_len; \ |
302 | + \ |
303 | + __cu_to = (to); \ |
304 | + __cu_from = (from); \ |
305 | + __cu_len = (n); \ |
306 | + __cu_len = __invoke_copy_from_user_inatomic(__cu_to, __cu_from, \ |
307 | + __cu_len); \ |
308 | + __cu_len; \ |
309 | +}) |
310 | |
311 | /* |
312 | * copy_to_user: - Copy a block of data into user space. |
313 | @@ -487,8 +514,32 @@ |
314 | __cu_len_r; \ |
315 | }) |
316 | |
317 | +#define __invoke_copy_from_user_inatomic(to,from,n) \ |
318 | +({ \ |
319 | + register void *__cu_to_r __asm__ ("$4"); \ |
320 | + register const void __user *__cu_from_r __asm__ ("$5"); \ |
321 | + register long __cu_len_r __asm__ ("$6"); \ |
322 | + \ |
323 | + __cu_to_r = (to); \ |
324 | + __cu_from_r = (from); \ |
325 | + __cu_len_r = (n); \ |
326 | + __asm__ __volatile__( \ |
327 | + ".set\tnoreorder\n\t" \ |
328 | + __MODULE_JAL(__copy_user_inatomic) \ |
329 | + ".set\tnoat\n\t" \ |
330 | + __UA_ADDU "\t$1, %1, %2\n\t" \ |
331 | + ".set\tat\n\t" \ |
332 | + ".set\treorder" \ |
333 | + : "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \ |
334 | + : \ |
335 | + : "$8", "$9", "$10", "$11", "$12", "$15", "$24", "$31", \ |
336 | + "memory"); \ |
337 | + __cu_len_r; \ |
338 | +}) |
339 | + |
340 | /* |
341 | - * __copy_from_user: - Copy a block of data from user space, with less checking. * @to: Destination address, in kernel space. |
342 | + * __copy_from_user: - Copy a block of data from user space, with less checking. |
343 | + * @to: Destination address, in kernel space. |
344 | * @from: Source address, in user space. |
345 | * @n: Number of bytes to copy. |
346 | * |
347 | diff -Naur linux-2.6.20.1/include/linux/pci_ids.h linux-mips-2.6.20.1/include/linux/pci_ids.h |
348 | --- linux-2.6.20.1/include/linux/pci_ids.h 2007-02-19 22:34:32.000000000 -0800 |
349 | +++ linux-mips-2.6.20.1/include/linux/pci_ids.h 2007-02-20 16:47:41.000000000 -0800 |
350 | @@ -1614,6 +1614,9 @@ |
351 | #define PCI_VENDOR_ID_SATSAGEM 0x1267 |
352 | #define PCI_DEVICE_ID_SATSAGEM_NICCY 0x1016 |
353 | |
354 | +#define PCI_VENDOR_ID_SILICON_MOTION 0x126f |
355 | +#define PCI_DEVICE_ID_SM501_VOYAGER_GX_REV_AA 0x0501 |
356 | +#define PCI_DEVICE_ID_SM501_VOYAGER_GX_REV_B 0x0510 |
357 | |
358 | #define PCI_VENDOR_ID_ENSONIQ 0x1274 |
359 | #define PCI_DEVICE_ID_ENSONIQ_CT5880 0x5880 |
360 | diff -Naur linux-2.6.20.1/include/linux/serial.h linux-mips-2.6.20.1/include/linux/serial.h |
361 | --- linux-2.6.20.1/include/linux/serial.h 2007-02-19 22:34:32.000000000 -0800 |
362 | +++ linux-mips-2.6.20.1/include/linux/serial.h 2007-02-20 16:47:41.000000000 -0800 |
363 | @@ -76,7 +76,8 @@ |
364 | #define PORT_16654 11 |
365 | #define PORT_16850 12 |
366 | #define PORT_RSA 13 /* RSA-DV II/S card */ |
367 | -#define PORT_MAX 13 |
368 | +#define PORT_SB1250 14 |
369 | +#define PORT_MAX 14 |
370 | |
371 | #define SERIAL_IO_PORT 0 |
372 | #define SERIAL_IO_HUB6 1 |
373 | diff -Naur linux-2.6.20.1/include/linux/serial_ip3106.h linux-mips-2.6.20.1/include/linux/serial_ip3106.h |
374 | --- linux-2.6.20.1/include/linux/serial_ip3106.h 2007-02-19 22:34:32.000000000 -0800 |
375 | +++ linux-mips-2.6.20.1/include/linux/serial_ip3106.h 2007-02-20 16:47:41.000000000 -0800 |
376 | @@ -78,4 +78,16 @@ |
377 | #define IP3106_UART_FIFO_RXFIFO 0x00001F00 |
378 | #define IP3106_UART_FIFO_RBRTHR 0x000000FF |
379 | |
380 | +#define ip3106_lcr(base,port) *(volatile u32 *)(base+(port*0x1000) + 0x000) |
381 | +#define ip3106_mcr(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x004) |
382 | +#define ip3106_baud(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x008) |
383 | +#define ip3106_cfg(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x00C) |
384 | +#define ip3106_fifo(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x028) |
385 | +#define ip3106_istat(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFE0) |
386 | +#define ip3106_ien(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFE4) |
387 | +#define ip3106_iclr(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFE8) |
388 | +#define ip3106_iset(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFEC) |
389 | +#define ip3106_pd(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFF4) |
390 | +#define ip3106_mid(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFFC) |
391 | + |
392 | #endif |