diff options
author | Paul Mackerras <paulus@samba.org> | 2009-04-06 22:54:08 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2009-04-06 22:54:08 -0400 |
commit | ae6e59caefd8d4097ccb096c95df95ec7e52fe88 (patch) | |
tree | f72b77d41c9f5a3b18fb52e505d60dba2ad913a5 /arch/powerpc/include | |
parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) | |
parent | f379188958ae8af30105eb1f27d0e0abf6a51558 (diff) |
Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/mpic.h | 12 | ||||
-rw-r--r-- | arch/powerpc/include/asm/reg.h | 30 | ||||
-rw-r--r-- | arch/powerpc/include/asm/reg_booke.h | 30 | ||||
-rw-r--r-- | arch/powerpc/include/asm/sfp-machine.h | 6 |
4 files changed, 45 insertions, 33 deletions
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h index c2ccca53b991..a002682f3a6d 100644 --- a/arch/powerpc/include/asm/mpic.h +++ b/arch/powerpc/include/asm/mpic.h | |||
@@ -22,6 +22,14 @@ | |||
22 | #define MPIC_GREG_FEATURE_1 0x00010 | 22 | #define MPIC_GREG_FEATURE_1 0x00010 |
23 | #define MPIC_GREG_GLOBAL_CONF_0 0x00020 | 23 | #define MPIC_GREG_GLOBAL_CONF_0 0x00020 |
24 | #define MPIC_GREG_GCONF_RESET 0x80000000 | 24 | #define MPIC_GREG_GCONF_RESET 0x80000000 |
25 | /* On the FSL mpic implementations the Mode field is expand to be | ||
26 | * 2 bits wide: | ||
27 | * 0b00 = pass through (interrupts routed to IRQ0) | ||
28 | * 0b01 = Mixed mode | ||
29 | * 0b10 = reserved | ||
30 | * 0b11 = External proxy / coreint | ||
31 | */ | ||
32 | #define MPIC_GREG_GCONF_COREINT 0x60000000 | ||
25 | #define MPIC_GREG_GCONF_8259_PTHROU_DIS 0x20000000 | 33 | #define MPIC_GREG_GCONF_8259_PTHROU_DIS 0x20000000 |
26 | #define MPIC_GREG_GCONF_NO_BIAS 0x10000000 | 34 | #define MPIC_GREG_GCONF_NO_BIAS 0x10000000 |
27 | #define MPIC_GREG_GCONF_BASE_MASK 0x000fffff | 35 | #define MPIC_GREG_GCONF_BASE_MASK 0x000fffff |
@@ -357,6 +365,8 @@ struct mpic | |||
357 | #define MPIC_BROKEN_FRR_NIRQS 0x00000800 | 365 | #define MPIC_BROKEN_FRR_NIRQS 0x00000800 |
358 | /* Destination only supports a single CPU at a time */ | 366 | /* Destination only supports a single CPU at a time */ |
359 | #define MPIC_SINGLE_DEST_CPU 0x00001000 | 367 | #define MPIC_SINGLE_DEST_CPU 0x00001000 |
368 | /* Enable CoreInt delivery of interrupts */ | ||
369 | #define MPIC_ENABLE_COREINT 0x00002000 | ||
360 | 370 | ||
361 | /* MPIC HW modification ID */ | 371 | /* MPIC HW modification ID */ |
362 | #define MPIC_REGSET_MASK 0xf0000000 | 372 | #define MPIC_REGSET_MASK 0xf0000000 |
@@ -470,6 +480,8 @@ extern void mpic_end_irq(unsigned int irq); | |||
470 | extern unsigned int mpic_get_one_irq(struct mpic *mpic); | 480 | extern unsigned int mpic_get_one_irq(struct mpic *mpic); |
471 | /* This one gets from the primary mpic */ | 481 | /* This one gets from the primary mpic */ |
472 | extern unsigned int mpic_get_irq(void); | 482 | extern unsigned int mpic_get_irq(void); |
483 | /* This one gets from the primary mpic via CoreInt*/ | ||
484 | extern unsigned int mpic_get_coreint_irq(void); | ||
473 | /* Fetch Machine Check interrupt from primary mpic */ | 485 | /* Fetch Machine Check interrupt from primary mpic */ |
474 | extern unsigned int mpic_get_mcirq(void); | 486 | extern unsigned int mpic_get_mcirq(void); |
475 | 487 | ||
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index c9ff1ec97479..e8018d540e87 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
@@ -143,6 +143,36 @@ | |||
143 | #define FPSCR_NI 0x00000004 /* FPU non IEEE-Mode */ | 143 | #define FPSCR_NI 0x00000004 /* FPU non IEEE-Mode */ |
144 | #define FPSCR_RN 0x00000003 /* FPU rounding control */ | 144 | #define FPSCR_RN 0x00000003 /* FPU rounding control */ |
145 | 145 | ||
146 | /* Bit definitions for SPEFSCR. */ | ||
147 | #define SPEFSCR_SOVH 0x80000000 /* Summary integer overflow high */ | ||
148 | #define SPEFSCR_OVH 0x40000000 /* Integer overflow high */ | ||
149 | #define SPEFSCR_FGH 0x20000000 /* Embedded FP guard bit high */ | ||
150 | #define SPEFSCR_FXH 0x10000000 /* Embedded FP sticky bit high */ | ||
151 | #define SPEFSCR_FINVH 0x08000000 /* Embedded FP invalid operation high */ | ||
152 | #define SPEFSCR_FDBZH 0x04000000 /* Embedded FP div by zero high */ | ||
153 | #define SPEFSCR_FUNFH 0x02000000 /* Embedded FP underflow high */ | ||
154 | #define SPEFSCR_FOVFH 0x01000000 /* Embedded FP overflow high */ | ||
155 | #define SPEFSCR_FINXS 0x00200000 /* Embedded FP inexact sticky */ | ||
156 | #define SPEFSCR_FINVS 0x00100000 /* Embedded FP invalid op. sticky */ | ||
157 | #define SPEFSCR_FDBZS 0x00080000 /* Embedded FP div by zero sticky */ | ||
158 | #define SPEFSCR_FUNFS 0x00040000 /* Embedded FP underflow sticky */ | ||
159 | #define SPEFSCR_FOVFS 0x00020000 /* Embedded FP overflow sticky */ | ||
160 | #define SPEFSCR_MODE 0x00010000 /* Embedded FP mode */ | ||
161 | #define SPEFSCR_SOV 0x00008000 /* Integer summary overflow */ | ||
162 | #define SPEFSCR_OV 0x00004000 /* Integer overflow */ | ||
163 | #define SPEFSCR_FG 0x00002000 /* Embedded FP guard bit */ | ||
164 | #define SPEFSCR_FX 0x00001000 /* Embedded FP sticky bit */ | ||
165 | #define SPEFSCR_FINV 0x00000800 /* Embedded FP invalid operation */ | ||
166 | #define SPEFSCR_FDBZ 0x00000400 /* Embedded FP div by zero */ | ||
167 | #define SPEFSCR_FUNF 0x00000200 /* Embedded FP underflow */ | ||
168 | #define SPEFSCR_FOVF 0x00000100 /* Embedded FP overflow */ | ||
169 | #define SPEFSCR_FINXE 0x00000040 /* Embedded FP inexact enable */ | ||
170 | #define SPEFSCR_FINVE 0x00000020 /* Embedded FP invalid op. enable */ | ||
171 | #define SPEFSCR_FDBZE 0x00000010 /* Embedded FP div by zero enable */ | ||
172 | #define SPEFSCR_FUNFE 0x00000008 /* Embedded FP underflow enable */ | ||
173 | #define SPEFSCR_FOVFE 0x00000004 /* Embedded FP overflow enable */ | ||
174 | #define SPEFSCR_FRMC 0x00000003 /* Embedded FP rounding mode control */ | ||
175 | |||
146 | /* Special Purpose Registers (SPRNs)*/ | 176 | /* Special Purpose Registers (SPRNs)*/ |
147 | #define SPRN_CTR 0x009 /* Count Register */ | 177 | #define SPRN_CTR 0x009 /* Count Register */ |
148 | #define SPRN_DSCR 0x11 | 178 | #define SPRN_DSCR 0x11 |
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h index a56f4d61aa72..601ddbc46002 100644 --- a/arch/powerpc/include/asm/reg_booke.h +++ b/arch/powerpc/include/asm/reg_booke.h | |||
@@ -423,36 +423,6 @@ | |||
423 | #define SGR_NORMAL 0 /* Speculative fetching allowed. */ | 423 | #define SGR_NORMAL 0 /* Speculative fetching allowed. */ |
424 | #define SGR_GUARDED 1 /* Speculative fetching disallowed. */ | 424 | #define SGR_GUARDED 1 /* Speculative fetching disallowed. */ |
425 | 425 | ||
426 | /* Bit definitions for SPEFSCR. */ | ||
427 | #define SPEFSCR_SOVH 0x80000000 /* Summary integer overflow high */ | ||
428 | #define SPEFSCR_OVH 0x40000000 /* Integer overflow high */ | ||
429 | #define SPEFSCR_FGH 0x20000000 /* Embedded FP guard bit high */ | ||
430 | #define SPEFSCR_FXH 0x10000000 /* Embedded FP sticky bit high */ | ||
431 | #define SPEFSCR_FINVH 0x08000000 /* Embedded FP invalid operation high */ | ||
432 | #define SPEFSCR_FDBZH 0x04000000 /* Embedded FP div by zero high */ | ||
433 | #define SPEFSCR_FUNFH 0x02000000 /* Embedded FP underflow high */ | ||
434 | #define SPEFSCR_FOVFH 0x01000000 /* Embedded FP overflow high */ | ||
435 | #define SPEFSCR_FINXS 0x00200000 /* Embedded FP inexact sticky */ | ||
436 | #define SPEFSCR_FINVS 0x00100000 /* Embedded FP invalid op. sticky */ | ||
437 | #define SPEFSCR_FDBZS 0x00080000 /* Embedded FP div by zero sticky */ | ||
438 | #define SPEFSCR_FUNFS 0x00040000 /* Embedded FP underflow sticky */ | ||
439 | #define SPEFSCR_FOVFS 0x00020000 /* Embedded FP overflow sticky */ | ||
440 | #define SPEFSCR_MODE 0x00010000 /* Embedded FP mode */ | ||
441 | #define SPEFSCR_SOV 0x00008000 /* Integer summary overflow */ | ||
442 | #define SPEFSCR_OV 0x00004000 /* Integer overflow */ | ||
443 | #define SPEFSCR_FG 0x00002000 /* Embedded FP guard bit */ | ||
444 | #define SPEFSCR_FX 0x00001000 /* Embedded FP sticky bit */ | ||
445 | #define SPEFSCR_FINV 0x00000800 /* Embedded FP invalid operation */ | ||
446 | #define SPEFSCR_FDBZ 0x00000400 /* Embedded FP div by zero */ | ||
447 | #define SPEFSCR_FUNF 0x00000200 /* Embedded FP underflow */ | ||
448 | #define SPEFSCR_FOVF 0x00000100 /* Embedded FP overflow */ | ||
449 | #define SPEFSCR_FINXE 0x00000040 /* Embedded FP inexact enable */ | ||
450 | #define SPEFSCR_FINVE 0x00000020 /* Embedded FP invalid op. enable */ | ||
451 | #define SPEFSCR_FDBZE 0x00000010 /* Embedded FP div by zero enable */ | ||
452 | #define SPEFSCR_FUNFE 0x00000008 /* Embedded FP underflow enable */ | ||
453 | #define SPEFSCR_FOVFE 0x00000004 /* Embedded FP overflow enable */ | ||
454 | #define SPEFSCR_FRMC 0x00000003 /* Embedded FP rounding mode control */ | ||
455 | |||
456 | /* | 426 | /* |
457 | * The IBM-403 is an even more odd special case, as it is much | 427 | * The IBM-403 is an even more odd special case, as it is much |
458 | * older than the IBM-405 series. We put these down here incase someone | 428 | * older than the IBM-405 series. We put these down here incase someone |
diff --git a/arch/powerpc/include/asm/sfp-machine.h b/arch/powerpc/include/asm/sfp-machine.h index 3d9f831c3c55..3a7a67a0d006 100644 --- a/arch/powerpc/include/asm/sfp-machine.h +++ b/arch/powerpc/include/asm/sfp-machine.h | |||
@@ -29,9 +29,9 @@ | |||
29 | 29 | ||
30 | /* basic word size definitions */ | 30 | /* basic word size definitions */ |
31 | #define _FP_W_TYPE_SIZE 32 | 31 | #define _FP_W_TYPE_SIZE 32 |
32 | #define _FP_W_TYPE unsigned long | 32 | #define _FP_W_TYPE unsigned int |
33 | #define _FP_WS_TYPE signed long | 33 | #define _FP_WS_TYPE signed int |
34 | #define _FP_I_TYPE long | 34 | #define _FP_I_TYPE int |
35 | 35 | ||
36 | #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) | 36 | #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) |
37 | #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) | 37 | #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) |