diff options
Diffstat (limited to 'include/asm-mips')
-rw-r--r-- | include/asm-mips/asmmacro.h | 4 | ||||
-rw-r--r-- | include/asm-mips/cpu-features.h | 20 | ||||
-rw-r--r-- | include/asm-mips/fixmap.h | 4 | ||||
-rw-r--r-- | include/asm-mips/hazards.h | 4 | ||||
-rw-r--r-- | include/asm-mips/irq.h | 4 | ||||
-rw-r--r-- | include/asm-mips/mach-au1x00/au1xxx_psc.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mipsregs.h | 3 | ||||
-rw-r--r-- | include/asm-mips/sn/ioc3.h | 2 | ||||
-rw-r--r-- | include/asm-mips/sn/klconfig.h | 10 | ||||
-rw-r--r-- | include/asm-mips/stackframe.h | 16 | ||||
-rw-r--r-- | include/asm-mips/unistd.h | 15 |
11 files changed, 47 insertions, 37 deletions
diff --git a/include/asm-mips/asmmacro.h b/include/asm-mips/asmmacro.h index 2c42f6b00a49..92e62ef711ed 100644 --- a/include/asm-mips/asmmacro.h +++ b/include/asm-mips/asmmacro.h | |||
@@ -26,14 +26,14 @@ | |||
26 | ori \reg, \reg, TCSTATUS_IXMT | 26 | ori \reg, \reg, TCSTATUS_IXMT |
27 | xori \reg, \reg, TCSTATUS_IXMT | 27 | xori \reg, \reg, TCSTATUS_IXMT |
28 | mtc0 \reg, CP0_TCSTATUS | 28 | mtc0 \reg, CP0_TCSTATUS |
29 | ehb | 29 | _ehb |
30 | .endm | 30 | .endm |
31 | 31 | ||
32 | .macro local_irq_disable reg=t0 | 32 | .macro local_irq_disable reg=t0 |
33 | mfc0 \reg, CP0_TCSTATUS | 33 | mfc0 \reg, CP0_TCSTATUS |
34 | ori \reg, \reg, TCSTATUS_IXMT | 34 | ori \reg, \reg, TCSTATUS_IXMT |
35 | mtc0 \reg, CP0_TCSTATUS | 35 | mtc0 \reg, CP0_TCSTATUS |
36 | ehb | 36 | _ehb |
37 | .endm | 37 | .endm |
38 | #else | 38 | #else |
39 | .macro local_irq_enable reg=t0 | 39 | .macro local_irq_enable reg=t0 |
diff --git a/include/asm-mips/cpu-features.h b/include/asm-mips/cpu-features.h index 881ce1f9803d..44285a9d5520 100644 --- a/include/asm-mips/cpu-features.h +++ b/include/asm-mips/cpu-features.h | |||
@@ -187,19 +187,15 @@ | |||
187 | # endif | 187 | # endif |
188 | #endif | 188 | #endif |
189 | 189 | ||
190 | #ifdef CONFIG_CPU_MIPSR2 | 190 | #if defined(CONFIG_CPU_MIPSR2_IRQ_VI) && !defined(cpu_has_vint) |
191 | # if defined(CONFIG_CPU_MIPSR2_IRQ_VI) && !defined(cpu_has_vint) | 191 | # define cpu_has_vint (cpu_data[0].options & MIPS_CPU_VINT) |
192 | # define cpu_has_vint (cpu_data[0].options & MIPS_CPU_VINT) | 192 | #elif !defined(cpu_has_vint) |
193 | # else | ||
194 | # define cpu_has_vint 0 | ||
195 | # endif | ||
196 | # if defined(CONFIG_CPU_MIPSR2_IRQ_EI) && !defined(cpu_has_veic) | ||
197 | # define cpu_has_veic (cpu_data[0].options & MIPS_CPU_VEIC) | ||
198 | # else | ||
199 | # define cpu_has_veic 0 | ||
200 | # endif | ||
201 | #else | ||
202 | # define cpu_has_vint 0 | 193 | # define cpu_has_vint 0 |
194 | #endif | ||
195 | |||
196 | #if defined(CONFIG_CPU_MIPSR2_IRQ_EI) && !defined(cpu_has_veic) | ||
197 | # define cpu_has_veic (cpu_data[0].options & MIPS_CPU_VEIC) | ||
198 | #elif !defined(cpu_has_veic) | ||
203 | # define cpu_has_veic 0 | 199 | # define cpu_has_veic 0 |
204 | #endif | 200 | #endif |
205 | 201 | ||
diff --git a/include/asm-mips/fixmap.h b/include/asm-mips/fixmap.h index 1cadefbbc037..6959bdb59310 100644 --- a/include/asm-mips/fixmap.h +++ b/include/asm-mips/fixmap.h | |||
@@ -69,7 +69,11 @@ extern void __set_fixmap (enum fixed_addresses idx, | |||
69 | * the start of the fixmap, and leave one page empty | 69 | * the start of the fixmap, and leave one page empty |
70 | * at the top of mem.. | 70 | * at the top of mem.. |
71 | */ | 71 | */ |
72 | #if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX) | ||
73 | #define FIXADDR_TOP (0xff000000UL - 0x2000) | ||
74 | #else | ||
72 | #define FIXADDR_TOP (0xffffe000UL) | 75 | #define FIXADDR_TOP (0xffffe000UL) |
76 | #endif | ||
73 | #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT) | 77 | #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT) |
74 | #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) | 78 | #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) |
75 | 79 | ||
diff --git a/include/asm-mips/hazards.h b/include/asm-mips/hazards.h index 66943c451c1d..25f5e8a4177d 100644 --- a/include/asm-mips/hazards.h +++ b/include/asm-mips/hazards.h | |||
@@ -69,10 +69,10 @@ | |||
69 | * Use a macro for ehb unless explicit support for MIPSR2 is enabled | 69 | * Use a macro for ehb unless explicit support for MIPSR2 is enabled |
70 | */ | 70 | */ |
71 | 71 | ||
72 | #define irq_enable_hazard | 72 | #define irq_enable_hazard \ |
73 | _ehb | 73 | _ehb |
74 | 74 | ||
75 | #define irq_disable_hazard | 75 | #define irq_disable_hazard \ |
76 | _ehb | 76 | _ehb |
77 | 77 | ||
78 | #elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_RM9000) | 78 | #elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_RM9000) |
diff --git a/include/asm-mips/irq.h b/include/asm-mips/irq.h index d35c61776a02..896550bad322 100644 --- a/include/asm-mips/irq.h +++ b/include/asm-mips/irq.h | |||
@@ -76,4 +76,8 @@ extern int setup_irq_smtc(unsigned int irq, struct irqaction * new, | |||
76 | unsigned long hwmask); | 76 | unsigned long hwmask); |
77 | #endif /* CONFIG_MIPS_MT_SMTC */ | 77 | #endif /* CONFIG_MIPS_MT_SMTC */ |
78 | 78 | ||
79 | #ifdef CONFIG_SMP | ||
80 | #define ARCH_HAS_IRQ_PER_CPU | ||
81 | #endif | ||
82 | |||
79 | #endif /* _ASM_IRQ_H */ | 83 | #endif /* _ASM_IRQ_H */ |
diff --git a/include/asm-mips/mach-au1x00/au1xxx_psc.h b/include/asm-mips/mach-au1x00/au1xxx_psc.h index d7cbacdd21fe..1bd4e27caf6b 100644 --- a/include/asm-mips/mach-au1x00/au1xxx_psc.h +++ b/include/asm-mips/mach-au1x00/au1xxx_psc.h | |||
@@ -512,7 +512,7 @@ typedef struct psc_smb { | |||
512 | 512 | ||
513 | /* Transmit register control. | 513 | /* Transmit register control. |
514 | */ | 514 | */ |
515 | #define PSC_SMBTXRX_RSR (1 << 30) | 515 | #define PSC_SMBTXRX_RSR (1 << 28) |
516 | #define PSC_SMBTXRX_STP (1 << 29) | 516 | #define PSC_SMBTXRX_STP (1 << 29) |
517 | #define PSC_SMBTXRX_DATAMASK (0xff) | 517 | #define PSC_SMBTXRX_DATAMASK (0xff) |
518 | 518 | ||
diff --git a/include/asm-mips/mipsregs.h b/include/asm-mips/mipsregs.h index 673977901ed3..9192d76c133d 100644 --- a/include/asm-mips/mipsregs.h +++ b/include/asm-mips/mipsregs.h | |||
@@ -1459,7 +1459,8 @@ static inline void __emt(unsigned int previous) | |||
1459 | static inline void __ehb(void) | 1459 | static inline void __ehb(void) |
1460 | { | 1460 | { |
1461 | __asm__ __volatile__( | 1461 | __asm__ __volatile__( |
1462 | " ehb \n"); | 1462 | " .set mips32r2 \n" |
1463 | " ehb \n" " .set mips0 \n"); | ||
1463 | } | 1464 | } |
1464 | 1465 | ||
1465 | /* | 1466 | /* |
diff --git a/include/asm-mips/sn/ioc3.h b/include/asm-mips/sn/ioc3.h index f7d530f306f2..099677774d71 100644 --- a/include/asm-mips/sn/ioc3.h +++ b/include/asm-mips/sn/ioc3.h | |||
@@ -5,6 +5,8 @@ | |||
5 | #ifndef _IOC3_H | 5 | #ifndef _IOC3_H |
6 | #define _IOC3_H | 6 | #define _IOC3_H |
7 | 7 | ||
8 | #include <linux/types.h> | ||
9 | |||
8 | /* SUPERIO uart register map */ | 10 | /* SUPERIO uart register map */ |
9 | typedef volatile struct ioc3_uartregs { | 11 | typedef volatile struct ioc3_uartregs { |
10 | union { | 12 | union { |
diff --git a/include/asm-mips/sn/klconfig.h b/include/asm-mips/sn/klconfig.h index 52238e65af8e..b63cd0655b3d 100644 --- a/include/asm-mips/sn/klconfig.h +++ b/include/asm-mips/sn/klconfig.h | |||
@@ -602,7 +602,7 @@ typedef struct klcpu_s { /* CPU */ | |||
602 | 602 | ||
603 | typedef struct klhub_s { /* HUB */ | 603 | typedef struct klhub_s { /* HUB */ |
604 | klinfo_t hub_info; | 604 | klinfo_t hub_info; |
605 | uint hub_flags; /* PCFG_HUB_xxx flags */ | 605 | unsigned int hub_flags; /* PCFG_HUB_xxx flags */ |
606 | klport_t hub_port; /* hub is connected to this */ | 606 | klport_t hub_port; /* hub is connected to this */ |
607 | nic_t hub_box_nic; /* nic of containing box */ | 607 | nic_t hub_box_nic; /* nic of containing box */ |
608 | klconf_off_t hub_mfg_nic; /* MFG NIC string */ | 608 | klconf_off_t hub_mfg_nic; /* MFG NIC string */ |
@@ -611,7 +611,7 @@ typedef struct klhub_s { /* HUB */ | |||
611 | 611 | ||
612 | typedef struct klhub_uart_s { /* HUB */ | 612 | typedef struct klhub_uart_s { /* HUB */ |
613 | klinfo_t hubuart_info; | 613 | klinfo_t hubuart_info; |
614 | uint hubuart_flags; /* PCFG_HUB_xxx flags */ | 614 | unsigned int hubuart_flags; /* PCFG_HUB_xxx flags */ |
615 | nic_t hubuart_box_nic; /* nic of containing box */ | 615 | nic_t hubuart_box_nic; /* nic of containing box */ |
616 | } klhub_uart_t ; | 616 | } klhub_uart_t ; |
617 | 617 | ||
@@ -710,7 +710,7 @@ typedef struct klvmed_s { /* VME DEVICE - VME BOARD */ | |||
710 | /* XXX - Don't we need the number of ports here?!? */ | 710 | /* XXX - Don't we need the number of ports here?!? */ |
711 | typedef struct klrou_s { /* ROUTER */ | 711 | typedef struct klrou_s { /* ROUTER */ |
712 | klinfo_t rou_info ; | 712 | klinfo_t rou_info ; |
713 | uint rou_flags ; /* PCFG_ROUTER_xxx flags */ | 713 | unsigned int rou_flags ; /* PCFG_ROUTER_xxx flags */ |
714 | nic_t rou_box_nic ; /* nic of the containing module */ | 714 | nic_t rou_box_nic ; /* nic of the containing module */ |
715 | klport_t rou_port[MAX_ROUTER_PORTS + 1] ; /* array index 1 to 6 */ | 715 | klport_t rou_port[MAX_ROUTER_PORTS + 1] ; /* array index 1 to 6 */ |
716 | klconf_off_t rou_mfg_nic ; /* MFG NIC string */ | 716 | klconf_off_t rou_mfg_nic ; /* MFG NIC string */ |
@@ -733,8 +733,8 @@ typedef struct klgfx_s { /* GRAPHICS Device */ | |||
733 | klinfo_t gfx_info; | 733 | klinfo_t gfx_info; |
734 | klconf_off_t old_gndevs; /* for compatibility with older proms */ | 734 | klconf_off_t old_gndevs; /* for compatibility with older proms */ |
735 | klconf_off_t old_gdoff0; /* for compatibility with older proms */ | 735 | klconf_off_t old_gdoff0; /* for compatibility with older proms */ |
736 | uint cookie; /* for compatibility with older proms */ | 736 | unsigned int cookie; /* for compatibility with older proms */ |
737 | uint moduleslot; | 737 | unsigned int moduleslot; |
738 | struct klgfx_s *gfx_next_pipe; | 738 | struct klgfx_s *gfx_next_pipe; |
739 | graphics_t gfx_specific; | 739 | graphics_t gfx_specific; |
740 | klconf_off_t pad0; /* for compatibility with older proms */ | 740 | klconf_off_t pad0; /* for compatibility with older proms */ |
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h index 513aa5133830..158a4cd12e46 100644 --- a/include/asm-mips/stackframe.h +++ b/include/asm-mips/stackframe.h | |||
@@ -304,7 +304,7 @@ | |||
304 | mfc0 v0, CP0_TCSTATUS | 304 | mfc0 v0, CP0_TCSTATUS |
305 | ori v0, TCSTATUS_IXMT | 305 | ori v0, TCSTATUS_IXMT |
306 | mtc0 v0, CP0_TCSTATUS | 306 | mtc0 v0, CP0_TCSTATUS |
307 | ehb | 307 | _ehb |
308 | DMT 5 # dmt a1 | 308 | DMT 5 # dmt a1 |
309 | jal mips_ihb | 309 | jal mips_ihb |
310 | #endif /* CONFIG_MIPS_MT_SMTC */ | 310 | #endif /* CONFIG_MIPS_MT_SMTC */ |
@@ -325,14 +325,14 @@ | |||
325 | * restore TCStatus.IXMT. | 325 | * restore TCStatus.IXMT. |
326 | */ | 326 | */ |
327 | LONG_L v1, PT_TCSTATUS(sp) | 327 | LONG_L v1, PT_TCSTATUS(sp) |
328 | ehb | 328 | _ehb |
329 | mfc0 v0, CP0_TCSTATUS | 329 | mfc0 v0, CP0_TCSTATUS |
330 | andi v1, TCSTATUS_IXMT | 330 | andi v1, TCSTATUS_IXMT |
331 | /* We know that TCStatua.IXMT should be set from above */ | 331 | /* We know that TCStatua.IXMT should be set from above */ |
332 | xori v0, v0, TCSTATUS_IXMT | 332 | xori v0, v0, TCSTATUS_IXMT |
333 | or v0, v0, v1 | 333 | or v0, v0, v1 |
334 | mtc0 v0, CP0_TCSTATUS | 334 | mtc0 v0, CP0_TCSTATUS |
335 | ehb | 335 | _ehb |
336 | andi a1, a1, VPECONTROL_TE | 336 | andi a1, a1, VPECONTROL_TE |
337 | beqz a1, 1f | 337 | beqz a1, 1f |
338 | emt | 338 | emt |
@@ -411,7 +411,7 @@ | |||
411 | /* Clear TKSU, leave IXMT */ | 411 | /* Clear TKSU, leave IXMT */ |
412 | xori t0, 0x00001800 | 412 | xori t0, 0x00001800 |
413 | mtc0 t0, CP0_TCSTATUS | 413 | mtc0 t0, CP0_TCSTATUS |
414 | ehb | 414 | _ehb |
415 | /* We need to leave the global IE bit set, but clear EXL...*/ | 415 | /* We need to leave the global IE bit set, but clear EXL...*/ |
416 | mfc0 t0, CP0_STATUS | 416 | mfc0 t0, CP0_STATUS |
417 | ori t0, ST0_EXL | ST0_ERL | 417 | ori t0, ST0_EXL | ST0_ERL |
@@ -438,7 +438,7 @@ | |||
438 | * and enable interrupts only for the | 438 | * and enable interrupts only for the |
439 | * current TC, using the TCStatus register. | 439 | * current TC, using the TCStatus register. |
440 | */ | 440 | */ |
441 | ehb | 441 | _ehb |
442 | mfc0 t0,CP0_TCSTATUS | 442 | mfc0 t0,CP0_TCSTATUS |
443 | /* Fortunately CU 0 is in the same place in both registers */ | 443 | /* Fortunately CU 0 is in the same place in both registers */ |
444 | /* Set TCU0, TKSU (for later inversion) and IXMT */ | 444 | /* Set TCU0, TKSU (for later inversion) and IXMT */ |
@@ -447,7 +447,7 @@ | |||
447 | /* Clear TKSU *and* IXMT */ | 447 | /* Clear TKSU *and* IXMT */ |
448 | xori t0, 0x00001c00 | 448 | xori t0, 0x00001c00 |
449 | mtc0 t0, CP0_TCSTATUS | 449 | mtc0 t0, CP0_TCSTATUS |
450 | ehb | 450 | _ehb |
451 | /* We need to leave the global IE bit set, but clear EXL...*/ | 451 | /* We need to leave the global IE bit set, but clear EXL...*/ |
452 | mfc0 t0, CP0_STATUS | 452 | mfc0 t0, CP0_STATUS |
453 | ori t0, ST0_EXL | 453 | ori t0, ST0_EXL |
@@ -479,7 +479,7 @@ | |||
479 | andi v1, v0, TCSTATUS_IXMT | 479 | andi v1, v0, TCSTATUS_IXMT |
480 | ori v0, TCSTATUS_IXMT | 480 | ori v0, TCSTATUS_IXMT |
481 | mtc0 v0, CP0_TCSTATUS | 481 | mtc0 v0, CP0_TCSTATUS |
482 | ehb | 482 | _ehb |
483 | DMT 2 # dmt v0 | 483 | DMT 2 # dmt v0 |
484 | /* | 484 | /* |
485 | * We don't know a priori if ra is "live" | 485 | * We don't know a priori if ra is "live" |
@@ -495,7 +495,7 @@ | |||
495 | xori t0, 0x1e | 495 | xori t0, 0x1e |
496 | mtc0 t0, CP0_STATUS | 496 | mtc0 t0, CP0_STATUS |
497 | #ifdef CONFIG_MIPS_MT_SMTC | 497 | #ifdef CONFIG_MIPS_MT_SMTC |
498 | ehb | 498 | _ehb |
499 | andi v0, v0, VPECONTROL_TE | 499 | andi v0, v0, VPECONTROL_TE |
500 | beqz v0, 2f | 500 | beqz v0, 2f |
501 | nop /* delay slot */ | 501 | nop /* delay slot */ |
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h index 8bb0bb9b2e68..809f9f55bacb 100644 --- a/include/asm-mips/unistd.h +++ b/include/asm-mips/unistd.h | |||
@@ -326,16 +326,17 @@ | |||
326 | #define __NR_unshare (__NR_Linux + 303) | 326 | #define __NR_unshare (__NR_Linux + 303) |
327 | #define __NR_splice (__NR_Linux + 304) | 327 | #define __NR_splice (__NR_Linux + 304) |
328 | #define __NR_sync_file_range (__NR_Linux + 305) | 328 | #define __NR_sync_file_range (__NR_Linux + 305) |
329 | #define __NR_tee (__NR_Linux + 306) | ||
329 | 330 | ||
330 | /* | 331 | /* |
331 | * Offset of the last Linux o32 flavoured syscall | 332 | * Offset of the last Linux o32 flavoured syscall |
332 | */ | 333 | */ |
333 | #define __NR_Linux_syscalls 305 | 334 | #define __NR_Linux_syscalls 306 |
334 | 335 | ||
335 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ | 336 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ |
336 | 337 | ||
337 | #define __NR_O32_Linux 4000 | 338 | #define __NR_O32_Linux 4000 |
338 | #define __NR_O32_Linux_syscalls 305 | 339 | #define __NR_O32_Linux_syscalls 306 |
339 | 340 | ||
340 | #if _MIPS_SIM == _MIPS_SIM_ABI64 | 341 | #if _MIPS_SIM == _MIPS_SIM_ABI64 |
341 | 342 | ||
@@ -608,16 +609,17 @@ | |||
608 | #define __NR_unshare (__NR_Linux + 262) | 609 | #define __NR_unshare (__NR_Linux + 262) |
609 | #define __NR_splice (__NR_Linux + 263) | 610 | #define __NR_splice (__NR_Linux + 263) |
610 | #define __NR_sync_file_range (__NR_Linux + 264) | 611 | #define __NR_sync_file_range (__NR_Linux + 264) |
612 | #define __NR_tee (__NR_Linux + 265) | ||
611 | 613 | ||
612 | /* | 614 | /* |
613 | * Offset of the last Linux 64-bit flavoured syscall | 615 | * Offset of the last Linux 64-bit flavoured syscall |
614 | */ | 616 | */ |
615 | #define __NR_Linux_syscalls 264 | 617 | #define __NR_Linux_syscalls 265 |
616 | 618 | ||
617 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ | 619 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ |
618 | 620 | ||
619 | #define __NR_64_Linux 5000 | 621 | #define __NR_64_Linux 5000 |
620 | #define __NR_64_Linux_syscalls 264 | 622 | #define __NR_64_Linux_syscalls 265 |
621 | 623 | ||
622 | #if _MIPS_SIM == _MIPS_SIM_NABI32 | 624 | #if _MIPS_SIM == _MIPS_SIM_NABI32 |
623 | 625 | ||
@@ -894,16 +896,17 @@ | |||
894 | #define __NR_unshare (__NR_Linux + 266) | 896 | #define __NR_unshare (__NR_Linux + 266) |
895 | #define __NR_splice (__NR_Linux + 267) | 897 | #define __NR_splice (__NR_Linux + 267) |
896 | #define __NR_sync_file_range (__NR_Linux + 268) | 898 | #define __NR_sync_file_range (__NR_Linux + 268) |
899 | #define __NR_tee (__NR_Linux + 269) | ||
897 | 900 | ||
898 | /* | 901 | /* |
899 | * Offset of the last N32 flavoured syscall | 902 | * Offset of the last N32 flavoured syscall |
900 | */ | 903 | */ |
901 | #define __NR_Linux_syscalls 268 | 904 | #define __NR_Linux_syscalls 269 |
902 | 905 | ||
903 | #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ | 906 | #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ |
904 | 907 | ||
905 | #define __NR_N32_Linux 6000 | 908 | #define __NR_N32_Linux 6000 |
906 | #define __NR_N32_Linux_syscalls 268 | 909 | #define __NR_N32_Linux_syscalls 269 |
907 | 910 | ||
908 | #ifdef __KERNEL__ | 911 | #ifdef __KERNEL__ |
909 | 912 | ||