diff options
Diffstat (limited to 'arch/ppc')
46 files changed, 4808 insertions, 1839 deletions
diff --git a/arch/ppc/4xx_io/serial_sicc.c b/arch/ppc/4xx_io/serial_sicc.c index 84d96b857e..ebc4db8fcc 100644 --- a/arch/ppc/4xx_io/serial_sicc.c +++ b/arch/ppc/4xx_io/serial_sicc.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/mm.h> | 47 | #include <linux/mm.h> |
48 | #include <linux/slab.h> | 48 | #include <linux/slab.h> |
49 | #include <linux/init.h> | 49 | #include <linux/init.h> |
50 | #include <linux/capability.h> | ||
50 | #include <linux/circ_buf.h> | 51 | #include <linux/circ_buf.h> |
51 | #include <linux/serial.h> | 52 | #include <linux/serial.h> |
52 | #include <linux/console.h> | 53 | #include <linux/console.h> |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index cc3f64c084..d65810108b 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -8,9 +8,6 @@ config MMU | |||
8 | bool | 8 | bool |
9 | default y | 9 | default y |
10 | 10 | ||
11 | config UID16 | ||
12 | bool | ||
13 | |||
14 | config GENERIC_HARDIRQS | 11 | config GENERIC_HARDIRQS |
15 | bool | 12 | bool |
16 | default y | 13 | default y |
@@ -746,6 +743,10 @@ config MPC834x | |||
746 | bool | 743 | bool |
747 | default y if MPC834x_SYS | 744 | default y if MPC834x_SYS |
748 | 745 | ||
746 | config PPC_83xx | ||
747 | bool | ||
748 | default y if 83xx | ||
749 | |||
749 | config CPM1 | 750 | config CPM1 |
750 | bool | 751 | bool |
751 | depends on 8xx | 752 | depends on 8xx |
diff --git a/arch/ppc/Makefile b/arch/ppc/Makefile index e719a4933a..98e940beeb 100644 --- a/arch/ppc/Makefile +++ b/arch/ppc/Makefile | |||
@@ -128,10 +128,9 @@ TOUT := .tmp_gas_check | |||
128 | # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec | 128 | # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec |
129 | # instructions. | 129 | # instructions. |
130 | # gcc-3.4 and binutils-2.14 are a fatal combination. | 130 | # gcc-3.4 and binutils-2.14 are a fatal combination. |
131 | GCC_VERSION := $(call cc-version) | ||
132 | 131 | ||
133 | checkbin: | 132 | checkbin: |
134 | @if test "$(GCC_VERSION)" = "0304" ; then \ | 133 | @if test "$(call cc-version)" = "0304" ; then \ |
135 | if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ | 134 | if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ |
136 | echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \ | 135 | echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \ |
137 | echo 'correctly with gcc-3.4 and your version of binutils.'; \ | 136 | echo 'correctly with gcc-3.4 and your version of binutils.'; \ |
diff --git a/arch/ppc/amiga/amiints.c b/arch/ppc/amiga/amiints.c index 91195e2ce3..5f35cf3986 100644 --- a/arch/ppc/amiga/amiints.c +++ b/arch/ppc/amiga/amiints.c | |||
@@ -96,8 +96,8 @@ void amiga_init_IRQ(void) | |||
96 | gayle.inten = GAYLE_IRQ_IDE; | 96 | gayle.inten = GAYLE_IRQ_IDE; |
97 | 97 | ||
98 | /* turn off all interrupts... */ | 98 | /* turn off all interrupts... */ |
99 | custom.intena = 0x7fff; | 99 | amiga_custom.intena = 0x7fff; |
100 | custom.intreq = 0x7fff; | 100 | amiga_custom.intreq = 0x7fff; |
101 | 101 | ||
102 | #ifdef CONFIG_APUS | 102 | #ifdef CONFIG_APUS |
103 | /* Clear any inter-CPU interrupt requests. Circumvents bug in | 103 | /* Clear any inter-CPU interrupt requests. Circumvents bug in |
@@ -110,7 +110,7 @@ void amiga_init_IRQ(void) | |||
110 | APUS_WRITE(APUS_IPL_EMU, IPLEMU_SETRESET | IPLEMU_IPLMASK); | 110 | APUS_WRITE(APUS_IPL_EMU, IPLEMU_SETRESET | IPLEMU_IPLMASK); |
111 | #endif | 111 | #endif |
112 | /* ... and enable the master interrupt bit */ | 112 | /* ... and enable the master interrupt bit */ |
113 | custom.intena = IF_SETCLR | IF_INTEN; | 113 | amiga_custom.intena = IF_SETCLR | IF_INTEN; |
114 | 114 | ||
115 | cia_init_IRQ(&ciaa_base); | 115 | cia_init_IRQ(&ciaa_base); |
116 | cia_init_IRQ(&ciab_base); | 116 | cia_init_IRQ(&ciab_base); |
@@ -151,7 +151,7 @@ void amiga_enable_irq(unsigned int irq) | |||
151 | } | 151 | } |
152 | 152 | ||
153 | /* enable the interrupt */ | 153 | /* enable the interrupt */ |
154 | custom.intena = IF_SETCLR | ami_intena_vals[irq]; | 154 | amiga_custom.intena = IF_SETCLR | ami_intena_vals[irq]; |
155 | } | 155 | } |
156 | 156 | ||
157 | void amiga_disable_irq(unsigned int irq) | 157 | void amiga_disable_irq(unsigned int irq) |
@@ -177,7 +177,7 @@ void amiga_disable_irq(unsigned int irq) | |||
177 | } | 177 | } |
178 | 178 | ||
179 | /* disable the interrupt */ | 179 | /* disable the interrupt */ |
180 | custom.intena = ami_intena_vals[irq]; | 180 | amiga_custom.intena = ami_intena_vals[irq]; |
181 | } | 181 | } |
182 | 182 | ||
183 | inline void amiga_do_irq(int irq, struct pt_regs *fp) | 183 | inline void amiga_do_irq(int irq, struct pt_regs *fp) |
@@ -196,7 +196,7 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp) | |||
196 | 196 | ||
197 | kstat_cpu(0).irqs[irq]++; | 197 | kstat_cpu(0).irqs[irq]++; |
198 | 198 | ||
199 | custom.intreq = ami_intena_vals[irq]; | 199 | amiga_custom.intreq = ami_intena_vals[irq]; |
200 | 200 | ||
201 | for (action = desc->action; action; action = action->next) | 201 | for (action = desc->action; action; action = action->next) |
202 | action->handler(irq, action->dev_id, fp); | 202 | action->handler(irq, action->dev_id, fp); |
@@ -208,40 +208,40 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp) | |||
208 | 208 | ||
209 | static void ami_int1(int irq, void *dev_id, struct pt_regs *fp) | 209 | static void ami_int1(int irq, void *dev_id, struct pt_regs *fp) |
210 | { | 210 | { |
211 | unsigned short ints = custom.intreqr & custom.intenar; | 211 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
212 | 212 | ||
213 | /* if serial transmit buffer empty, interrupt */ | 213 | /* if serial transmit buffer empty, interrupt */ |
214 | if (ints & IF_TBE) { | 214 | if (ints & IF_TBE) { |
215 | custom.intreq = IF_TBE; | 215 | amiga_custom.intreq = IF_TBE; |
216 | amiga_do_irq(IRQ_AMIGA_TBE, fp); | 216 | amiga_do_irq(IRQ_AMIGA_TBE, fp); |
217 | } | 217 | } |
218 | 218 | ||
219 | /* if floppy disk transfer complete, interrupt */ | 219 | /* if floppy disk transfer complete, interrupt */ |
220 | if (ints & IF_DSKBLK) { | 220 | if (ints & IF_DSKBLK) { |
221 | custom.intreq = IF_DSKBLK; | 221 | amiga_custom.intreq = IF_DSKBLK; |
222 | amiga_do_irq(IRQ_AMIGA_DSKBLK, fp); | 222 | amiga_do_irq(IRQ_AMIGA_DSKBLK, fp); |
223 | } | 223 | } |
224 | 224 | ||
225 | /* if software interrupt set, interrupt */ | 225 | /* if software interrupt set, interrupt */ |
226 | if (ints & IF_SOFT) { | 226 | if (ints & IF_SOFT) { |
227 | custom.intreq = IF_SOFT; | 227 | amiga_custom.intreq = IF_SOFT; |
228 | amiga_do_irq(IRQ_AMIGA_SOFT, fp); | 228 | amiga_do_irq(IRQ_AMIGA_SOFT, fp); |
229 | } | 229 | } |
230 | } | 230 | } |
231 | 231 | ||
232 | static void ami_int3(int irq, void *dev_id, struct pt_regs *fp) | 232 | static void ami_int3(int irq, void *dev_id, struct pt_regs *fp) |
233 | { | 233 | { |
234 | unsigned short ints = custom.intreqr & custom.intenar; | 234 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
235 | 235 | ||
236 | /* if a blitter interrupt */ | 236 | /* if a blitter interrupt */ |
237 | if (ints & IF_BLIT) { | 237 | if (ints & IF_BLIT) { |
238 | custom.intreq = IF_BLIT; | 238 | amiga_custom.intreq = IF_BLIT; |
239 | amiga_do_irq(IRQ_AMIGA_BLIT, fp); | 239 | amiga_do_irq(IRQ_AMIGA_BLIT, fp); |
240 | } | 240 | } |
241 | 241 | ||
242 | /* if a copper interrupt */ | 242 | /* if a copper interrupt */ |
243 | if (ints & IF_COPER) { | 243 | if (ints & IF_COPER) { |
244 | custom.intreq = IF_COPER; | 244 | amiga_custom.intreq = IF_COPER; |
245 | amiga_do_irq(IRQ_AMIGA_COPPER, fp); | 245 | amiga_do_irq(IRQ_AMIGA_COPPER, fp); |
246 | } | 246 | } |
247 | 247 | ||
@@ -252,36 +252,36 @@ static void ami_int3(int irq, void *dev_id, struct pt_regs *fp) | |||
252 | 252 | ||
253 | static void ami_int4(int irq, void *dev_id, struct pt_regs *fp) | 253 | static void ami_int4(int irq, void *dev_id, struct pt_regs *fp) |
254 | { | 254 | { |
255 | unsigned short ints = custom.intreqr & custom.intenar; | 255 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
256 | 256 | ||
257 | /* if audio 0 interrupt */ | 257 | /* if audio 0 interrupt */ |
258 | if (ints & IF_AUD0) { | 258 | if (ints & IF_AUD0) { |
259 | custom.intreq = IF_AUD0; | 259 | amiga_custom.intreq = IF_AUD0; |
260 | amiga_do_irq(IRQ_AMIGA_AUD0, fp); | 260 | amiga_do_irq(IRQ_AMIGA_AUD0, fp); |
261 | } | 261 | } |
262 | 262 | ||
263 | /* if audio 1 interrupt */ | 263 | /* if audio 1 interrupt */ |
264 | if (ints & IF_AUD1) { | 264 | if (ints & IF_AUD1) { |
265 | custom.intreq = IF_AUD1; | 265 | amiga_custom.intreq = IF_AUD1; |
266 | amiga_do_irq(IRQ_AMIGA_AUD1, fp); | 266 | amiga_do_irq(IRQ_AMIGA_AUD1, fp); |
267 | } | 267 | } |
268 | 268 | ||
269 | /* if audio 2 interrupt */ | 269 | /* if audio 2 interrupt */ |
270 | if (ints & IF_AUD2) { | 270 | if (ints & IF_AUD2) { |
271 | custom.intreq = IF_AUD2; | 271 | amiga_custom.intreq = IF_AUD2; |
272 | amiga_do_irq(IRQ_AMIGA_AUD2, fp); | 272 | amiga_do_irq(IRQ_AMIGA_AUD2, fp); |
273 | } | 273 | } |
274 | 274 | ||
275 | /* if audio 3 interrupt */ | 275 | /* if audio 3 interrupt */ |
276 | if (ints & IF_AUD3) { | 276 | if (ints & IF_AUD3) { |
277 | custom.intreq = IF_AUD3; | 277 | amiga_custom.intreq = IF_AUD3; |
278 | amiga_do_irq(IRQ_AMIGA_AUD3, fp); | 278 | amiga_do_irq(IRQ_AMIGA_AUD3, fp); |
279 | } | 279 | } |
280 | } | 280 | } |
281 | 281 | ||
282 | static void ami_int5(int irq, void *dev_id, struct pt_regs *fp) | 282 | static void ami_int5(int irq, void *dev_id, struct pt_regs *fp) |
283 | { | 283 | { |
284 | unsigned short ints = custom.intreqr & custom.intenar; | 284 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
285 | 285 | ||
286 | /* if serial receive buffer full interrupt */ | 286 | /* if serial receive buffer full interrupt */ |
287 | if (ints & IF_RBF) { | 287 | if (ints & IF_RBF) { |
@@ -291,7 +291,7 @@ static void ami_int5(int irq, void *dev_id, struct pt_regs *fp) | |||
291 | 291 | ||
292 | /* if a disk sync interrupt */ | 292 | /* if a disk sync interrupt */ |
293 | if (ints & IF_DSKSYN) { | 293 | if (ints & IF_DSKSYN) { |
294 | custom.intreq = IF_DSKSYN; | 294 | amiga_custom.intreq = IF_DSKSYN; |
295 | amiga_do_irq(IRQ_AMIGA_DSKSYN, fp); | 295 | amiga_do_irq(IRQ_AMIGA_DSKSYN, fp); |
296 | } | 296 | } |
297 | } | 297 | } |
diff --git a/arch/ppc/amiga/cia.c b/arch/ppc/amiga/cia.c index ad961465b6..4431c58f61 100644 --- a/arch/ppc/amiga/cia.c +++ b/arch/ppc/amiga/cia.c | |||
@@ -66,7 +66,7 @@ static unsigned char cia_set_irq_private(struct ciabase *base, | |||
66 | else | 66 | else |
67 | base->icr_data &= ~mask; | 67 | base->icr_data &= ~mask; |
68 | if (base->icr_data & base->icr_mask) | 68 | if (base->icr_data & base->icr_mask) |
69 | custom.intreq = IF_SETCLR | base->int_mask; | 69 | amiga_custom.intreq = IF_SETCLR | base->int_mask; |
70 | return old & base->icr_mask; | 70 | return old & base->icr_mask; |
71 | } | 71 | } |
72 | 72 | ||
@@ -114,7 +114,7 @@ static unsigned char cia_able_irq_private(struct ciabase *base, | |||
114 | base->icr_mask &= CIA_ICR_ALL; | 114 | base->icr_mask &= CIA_ICR_ALL; |
115 | 115 | ||
116 | if (base->icr_data & base->icr_mask) | 116 | if (base->icr_data & base->icr_mask) |
117 | custom.intreq = IF_SETCLR | base->int_mask; | 117 | amiga_custom.intreq = IF_SETCLR | base->int_mask; |
118 | return old; | 118 | return old; |
119 | } | 119 | } |
120 | 120 | ||
@@ -145,7 +145,7 @@ static void cia_handler(int irq, void *dev_id, struct pt_regs *fp) | |||
145 | irq = base->cia_irq; | 145 | irq = base->cia_irq; |
146 | desc = irq_desc + irq; | 146 | desc = irq_desc + irq; |
147 | ints = cia_set_irq_private(base, CIA_ICR_ALL); | 147 | ints = cia_set_irq_private(base, CIA_ICR_ALL); |
148 | custom.intreq = base->int_mask; | 148 | amiga_custom.intreq = base->int_mask; |
149 | for (i = 0; i < CIA_IRQS; i++, irq++) { | 149 | for (i = 0; i < CIA_IRQS; i++, irq++) { |
150 | if (ints & 1) { | 150 | if (ints & 1) { |
151 | kstat_cpu(0).irqs[irq]++; | 151 | kstat_cpu(0).irqs[irq]++; |
@@ -174,5 +174,5 @@ void __init cia_init_IRQ(struct ciabase *base) | |||
174 | action->name = base->name; | 174 | action->name = base->name; |
175 | setup_irq(base->handler_irq, &amiga_sys_irqaction[base->handler_irq-IRQ_AMIGA_AUTO]); | 175 | setup_irq(base->handler_irq, &amiga_sys_irqaction[base->handler_irq-IRQ_AMIGA_AUTO]); |
176 | 176 | ||
177 | custom.intena = IF_SETCLR | base->int_mask; | 177 | amiga_custom.intena = IF_SETCLR | base->int_mask; |
178 | } | 178 | } |
diff --git a/arch/ppc/amiga/config.c b/arch/ppc/amiga/config.c index af881d7454..60e2da1c92 100644 --- a/arch/ppc/amiga/config.c +++ b/arch/ppc/amiga/config.c | |||
@@ -90,9 +90,6 @@ static void a3000_gettod (int *, int *, int *, int *, int *, int *); | |||
90 | static void a2000_gettod (int *, int *, int *, int *, int *, int *); | 90 | static void a2000_gettod (int *, int *, int *, int *, int *, int *); |
91 | static int amiga_hwclk (int, struct hwclk_time *); | 91 | static int amiga_hwclk (int, struct hwclk_time *); |
92 | static int amiga_set_clock_mmss (unsigned long); | 92 | static int amiga_set_clock_mmss (unsigned long); |
93 | #ifdef CONFIG_AMIGA_FLOPPY | ||
94 | extern void amiga_floppy_setup(char *, int *); | ||
95 | #endif | ||
96 | static void amiga_reset (void); | 93 | static void amiga_reset (void); |
97 | extern void amiga_init_sound(void); | 94 | extern void amiga_init_sound(void); |
98 | static void amiga_savekmsg_init(void); | 95 | static void amiga_savekmsg_init(void); |
@@ -281,7 +278,7 @@ static void __init amiga_identify(void) | |||
281 | case CS_OCS: | 278 | case CS_OCS: |
282 | case CS_ECS: | 279 | case CS_ECS: |
283 | case CS_AGA: | 280 | case CS_AGA: |
284 | switch (custom.deniseid & 0xf) { | 281 | switch (amiga_custom.deniseid & 0xf) { |
285 | case 0x0c: | 282 | case 0x0c: |
286 | AMIGAHW_SET(DENISE_HR); | 283 | AMIGAHW_SET(DENISE_HR); |
287 | break; | 284 | break; |
@@ -294,7 +291,7 @@ static void __init amiga_identify(void) | |||
294 | AMIGAHW_SET(DENISE); | 291 | AMIGAHW_SET(DENISE); |
295 | break; | 292 | break; |
296 | } | 293 | } |
297 | switch ((custom.vposr>>8) & 0x7f) { | 294 | switch ((amiga_custom.vposr>>8) & 0x7f) { |
298 | case 0x00: | 295 | case 0x00: |
299 | AMIGAHW_SET(AGNUS_PAL); | 296 | AMIGAHW_SET(AGNUS_PAL); |
300 | break; | 297 | break; |
@@ -419,9 +416,6 @@ void __init config_amiga(void) | |||
419 | 416 | ||
420 | mach_hwclk = amiga_hwclk; | 417 | mach_hwclk = amiga_hwclk; |
421 | mach_set_clock_mmss = amiga_set_clock_mmss; | 418 | mach_set_clock_mmss = amiga_set_clock_mmss; |
422 | #ifdef CONFIG_AMIGA_FLOPPY | ||
423 | mach_floppy_setup = amiga_floppy_setup; | ||
424 | #endif | ||
425 | mach_reset = amiga_reset; | 419 | mach_reset = amiga_reset; |
426 | #ifdef CONFIG_HEARTBEAT | 420 | #ifdef CONFIG_HEARTBEAT |
427 | mach_heartbeat = amiga_heartbeat; | 421 | mach_heartbeat = amiga_heartbeat; |
@@ -432,9 +426,9 @@ void __init config_amiga(void) | |||
432 | amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */ | 426 | amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */ |
433 | 427 | ||
434 | /* clear all DMA bits */ | 428 | /* clear all DMA bits */ |
435 | custom.dmacon = DMAF_ALL; | 429 | amiga_custom.dmacon = DMAF_ALL; |
436 | /* ensure that the DMA master bit is set */ | 430 | /* ensure that the DMA master bit is set */ |
437 | custom.dmacon = DMAF_SETCLR | DMAF_MASTER; | 431 | amiga_custom.dmacon = DMAF_SETCLR | DMAF_MASTER; |
438 | 432 | ||
439 | /* request all RAM */ | 433 | /* request all RAM */ |
440 | for (i = 0; i < m68k_num_memory; i++) { | 434 | for (i = 0; i < m68k_num_memory; i++) { |
@@ -753,9 +747,9 @@ static void amiga_savekmsg_init(void) | |||
753 | 747 | ||
754 | static void amiga_serial_putc(char c) | 748 | static void amiga_serial_putc(char c) |
755 | { | 749 | { |
756 | custom.serdat = (unsigned char)c | 0x100; | 750 | amiga_custom.serdat = (unsigned char)c | 0x100; |
757 | mb(); | 751 | mb(); |
758 | while (!(custom.serdatr & 0x2000)) | 752 | while (!(amiga_custom.serdatr & 0x2000)) |
759 | ; | 753 | ; |
760 | } | 754 | } |
761 | 755 | ||
@@ -785,11 +779,11 @@ int amiga_serial_console_wait_key(struct console *co) | |||
785 | { | 779 | { |
786 | int ch; | 780 | int ch; |
787 | 781 | ||
788 | while (!(custom.intreqr & IF_RBF)) | 782 | while (!(amiga_custom.intreqr & IF_RBF)) |
789 | barrier(); | 783 | barrier(); |
790 | ch = custom.serdatr & 0xff; | 784 | ch = amiga_custom.serdatr & 0xff; |
791 | /* clear the interrupt, so that another character can be read */ | 785 | /* clear the interrupt, so that another character can be read */ |
792 | custom.intreq = IF_RBF; | 786 | amiga_custom.intreq = IF_RBF; |
793 | return ch; | 787 | return ch; |
794 | } | 788 | } |
795 | 789 | ||
diff --git a/arch/ppc/boot/common/util.S b/arch/ppc/boot/common/util.S index c96c9f8052..368ec035e6 100644 --- a/arch/ppc/boot/common/util.S +++ b/arch/ppc/boot/common/util.S | |||
@@ -234,7 +234,8 @@ udelay: | |||
234 | * First, flush the data cache in case it was enabled and may be | 234 | * First, flush the data cache in case it was enabled and may be |
235 | * holding instructions for copy back. | 235 | * holding instructions for copy back. |
236 | */ | 236 | */ |
237 | _GLOBAL(flush_instruction_cache) | 237 | .globl flush_instruction_cache |
238 | flush_instruction_cache: | ||
238 | mflr r6 | 239 | mflr r6 |
239 | bl flush_data_cache | 240 | bl flush_data_cache |
240 | 241 | ||
@@ -279,7 +280,8 @@ _GLOBAL(flush_instruction_cache) | |||
279 | * Flush data cache | 280 | * Flush data cache |
280 | * Do this by just reading lots of stuff into the cache. | 281 | * Do this by just reading lots of stuff into the cache. |
281 | */ | 282 | */ |
282 | _GLOBAL(flush_data_cache) | 283 | .globl flush_data_cache |
284 | flush_data_cache: | ||
283 | lis r3,cache_flush_buffer@h | 285 | lis r3,cache_flush_buffer@h |
284 | ori r3,r3,cache_flush_buffer@l | 286 | ori r3,r3,cache_flush_buffer@l |
285 | li r4,NUM_CACHE_LINES | 287 | li r4,NUM_CACHE_LINES |
diff --git a/arch/ppc/boot/images/Makefile b/arch/ppc/boot/images/Makefile index 532e7ef1ed..58415d5718 100644 --- a/arch/ppc/boot/images/Makefile +++ b/arch/ppc/boot/images/Makefile | |||
@@ -26,7 +26,7 @@ quiet_cmd_uimage = UIMAGE $@ | |||
26 | targets += uImage | 26 | targets += uImage |
27 | $(obj)/uImage: $(obj)/vmlinux.gz | 27 | $(obj)/uImage: $(obj)/vmlinux.gz |
28 | $(Q)rm -f $@ | 28 | $(Q)rm -f $@ |
29 | $(call if_changed,uimage) | 29 | $(call cmd,uimage) |
30 | @echo -n ' Image: $@ ' | 30 | @echo -n ' Image: $@ ' |
31 | @if [ -f $@ ]; then echo 'is ready' ; else echo 'not made'; fi | 31 | @if [ -f $@ ]; then echo 'is ready' ; else echo 'not made'; fi |
32 | 32 | ||
diff --git a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile index f3e9c534aa..9533f8de23 100644 --- a/arch/ppc/boot/simple/Makefile +++ b/arch/ppc/boot/simple/Makefile | |||
@@ -190,6 +190,8 @@ boot-$(CONFIG_REDWOOD_5) += embed_config.o | |||
190 | boot-$(CONFIG_REDWOOD_6) += embed_config.o | 190 | boot-$(CONFIG_REDWOOD_6) += embed_config.o |
191 | boot-$(CONFIG_8xx) += embed_config.o | 191 | boot-$(CONFIG_8xx) += embed_config.o |
192 | boot-$(CONFIG_8260) += embed_config.o | 192 | boot-$(CONFIG_8260) += embed_config.o |
193 | boot-$(CONFIG_EP405) += embed_config.o | ||
194 | boot-$(CONFIG_XILINX_ML300) += embed_config.o | ||
193 | boot-$(CONFIG_BSEIP) += iic.o | 195 | boot-$(CONFIG_BSEIP) += iic.o |
194 | boot-$(CONFIG_MBX) += iic.o pci.o qspan_pci.o | 196 | boot-$(CONFIG_MBX) += iic.o pci.o qspan_pci.o |
195 | boot-$(CONFIG_MV64X60) += misc-mv64x60.o | 197 | boot-$(CONFIG_MV64X60) += misc-mv64x60.o |
diff --git a/arch/ppc/configs/TQM8540_defconfig b/arch/ppc/configs/TQM8540_defconfig new file mode 100644 index 0000000000..99bf3b7a27 --- /dev/null +++ b/arch/ppc/configs/TQM8540_defconfig | |||
@@ -0,0 +1,973 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.15-rc2 | ||
4 | # Fri Nov 25 17:26:50 2005 | ||
5 | # | ||
6 | CONFIG_MMU=y | ||
7 | CONFIG_GENERIC_HARDIRQS=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_PPC=y | ||
11 | CONFIG_PPC32=y | ||
12 | CONFIG_GENERIC_NVRAM=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | |||
16 | # | ||
17 | # Code maturity level options | ||
18 | # | ||
19 | CONFIG_EXPERIMENTAL=y | ||
20 | CONFIG_CLEAN_COMPILE=y | ||
21 | CONFIG_BROKEN_ON_SMP=y | ||
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
23 | |||
24 | # | ||
25 | # General setup | ||
26 | # | ||
27 | CONFIG_LOCALVERSION="" | ||
28 | CONFIG_LOCALVERSION_AUTO=y | ||
29 | CONFIG_SWAP=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | # CONFIG_POSIX_MQUEUE is not set | ||
32 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
33 | CONFIG_SYSCTL=y | ||
34 | # CONFIG_AUDIT is not set | ||
35 | # CONFIG_HOTPLUG is not set | ||
36 | CONFIG_KOBJECT_UEVENT=y | ||
37 | # CONFIG_IKCONFIG is not set | ||
38 | CONFIG_INITRAMFS_SOURCE="" | ||
39 | CONFIG_EMBEDDED=y | ||
40 | # CONFIG_KALLSYMS is not set | ||
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_BASE_FULL=y | ||
44 | CONFIG_FUTEX=y | ||
45 | # CONFIG_EPOLL is not set | ||
46 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
47 | CONFIG_SHMEM=y | ||
48 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
49 | CONFIG_CC_ALIGN_LABELS=0 | ||
50 | CONFIG_CC_ALIGN_LOOPS=0 | ||
51 | CONFIG_CC_ALIGN_JUMPS=0 | ||
52 | # CONFIG_TINY_SHMEM is not set | ||
53 | CONFIG_BASE_SMALL=0 | ||
54 | |||
55 | # | ||
56 | # Loadable module support | ||
57 | # | ||
58 | # CONFIG_MODULES is not set | ||
59 | |||
60 | # | ||
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
79 | # Processor | ||
80 | # | ||
81 | # CONFIG_6xx is not set | ||
82 | # CONFIG_40x is not set | ||
83 | # CONFIG_44x is not set | ||
84 | # CONFIG_POWER3 is not set | ||
85 | # CONFIG_POWER4 is not set | ||
86 | # CONFIG_8xx is not set | ||
87 | # CONFIG_E200 is not set | ||
88 | CONFIG_E500=y | ||
89 | CONFIG_BOOKE=y | ||
90 | CONFIG_FSL_BOOKE=y | ||
91 | # CONFIG_PHYS_64BIT is not set | ||
92 | CONFIG_SPE=y | ||
93 | CONFIG_MATH_EMULATION=y | ||
94 | # CONFIG_KEXEC is not set | ||
95 | # CONFIG_CPU_FREQ is not set | ||
96 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
97 | CONFIG_PPC_GEN550=y | ||
98 | CONFIG_85xx=y | ||
99 | CONFIG_PPC_INDIRECT_PCI_BE=y | ||
100 | |||
101 | # | ||
102 | # Freescale 85xx options | ||
103 | # | ||
104 | # CONFIG_MPC8540_ADS is not set | ||
105 | # CONFIG_MPC8548_CDS is not set | ||
106 | # CONFIG_MPC8555_CDS is not set | ||
107 | # CONFIG_MPC8560_ADS is not set | ||
108 | # CONFIG_SBC8560 is not set | ||
109 | # CONFIG_STX_GP3 is not set | ||
110 | CONFIG_TQM8540=y | ||
111 | # CONFIG_TQM8541 is not set | ||
112 | # CONFIG_TQM8555 is not set | ||
113 | # CONFIG_TQM8560 is not set | ||
114 | CONFIG_MPC8540=y | ||
115 | |||
116 | # | ||
117 | # Platform options | ||
118 | # | ||
119 | # CONFIG_HIGHMEM is not set | ||
120 | # CONFIG_HZ_100 is not set | ||
121 | CONFIG_HZ_250=y | ||
122 | # CONFIG_HZ_1000 is not set | ||
123 | CONFIG_HZ=250 | ||
124 | CONFIG_PREEMPT_NONE=y | ||
125 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
126 | # CONFIG_PREEMPT is not set | ||
127 | CONFIG_SELECT_MEMORY_MODEL=y | ||
128 | CONFIG_FLATMEM_MANUAL=y | ||
129 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
130 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
131 | CONFIG_FLATMEM=y | ||
132 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
133 | # CONFIG_SPARSEMEM_STATIC is not set | ||
134 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
135 | CONFIG_BINFMT_ELF=y | ||
136 | # CONFIG_BINFMT_MISC is not set | ||
137 | # CONFIG_CMDLINE_BOOL is not set | ||
138 | # CONFIG_PM is not set | ||
139 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
140 | CONFIG_SECCOMP=y | ||
141 | CONFIG_ISA_DMA_API=y | ||
142 | |||
143 | # | ||
144 | # Bus options | ||
145 | # | ||
146 | CONFIG_PPC_I8259=y | ||
147 | CONFIG_PPC_INDIRECT_PCI=y | ||
148 | CONFIG_PCI=y | ||
149 | CONFIG_PCI_DOMAINS=y | ||
150 | # CONFIG_PCI_LEGACY_PROC is not set | ||
151 | |||
152 | # | ||
153 | # PCCARD (PCMCIA/CardBus) support | ||
154 | # | ||
155 | # CONFIG_PCCARD is not set | ||
156 | # CONFIG_RAPIDIO is not set | ||
157 | |||
158 | # | ||
159 | # Advanced setup | ||
160 | # | ||
161 | # CONFIG_ADVANCED_OPTIONS is not set | ||
162 | |||
163 | # | ||
164 | # Default settings for advanced configuration options are used | ||
165 | # | ||
166 | CONFIG_HIGHMEM_START=0xfe000000 | ||
167 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
168 | CONFIG_KERNEL_START=0xc0000000 | ||
169 | CONFIG_TASK_SIZE=0x80000000 | ||
170 | CONFIG_BOOT_LOAD=0x00800000 | ||
171 | |||
172 | # | ||
173 | # Networking | ||
174 | # | ||
175 | CONFIG_NET=y | ||
176 | |||
177 | # | ||
178 | # Networking options | ||
179 | # | ||
180 | CONFIG_PACKET=y | ||
181 | # CONFIG_PACKET_MMAP is not set | ||
182 | CONFIG_UNIX=y | ||
183 | # CONFIG_NET_KEY is not set | ||
184 | CONFIG_INET=y | ||
185 | CONFIG_IP_MULTICAST=y | ||
186 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
187 | CONFIG_IP_FIB_HASH=y | ||
188 | CONFIG_IP_PNP=y | ||
189 | CONFIG_IP_PNP_DHCP=y | ||
190 | CONFIG_IP_PNP_BOOTP=y | ||
191 | # CONFIG_IP_PNP_RARP is not set | ||
192 | # CONFIG_NET_IPIP is not set | ||
193 | # CONFIG_NET_IPGRE is not set | ||
194 | # CONFIG_IP_MROUTE is not set | ||
195 | # CONFIG_ARPD is not set | ||
196 | CONFIG_SYN_COOKIES=y | ||
197 | # CONFIG_INET_AH is not set | ||
198 | # CONFIG_INET_ESP is not set | ||
199 | # CONFIG_INET_IPCOMP is not set | ||
200 | # CONFIG_INET_TUNNEL is not set | ||
201 | CONFIG_INET_DIAG=y | ||
202 | CONFIG_INET_TCP_DIAG=y | ||
203 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
204 | CONFIG_TCP_CONG_BIC=y | ||
205 | # CONFIG_IPV6 is not set | ||
206 | # CONFIG_NETFILTER is not set | ||
207 | |||
208 | # | ||
209 | # DCCP Configuration (EXPERIMENTAL) | ||
210 | # | ||
211 | # CONFIG_IP_DCCP is not set | ||
212 | |||
213 | # | ||
214 | # SCTP Configuration (EXPERIMENTAL) | ||
215 | # | ||
216 | # CONFIG_IP_SCTP is not set | ||
217 | # CONFIG_ATM is not set | ||
218 | # CONFIG_BRIDGE is not set | ||
219 | # CONFIG_VLAN_8021Q is not set | ||
220 | # CONFIG_DECNET is not set | ||
221 | # CONFIG_LLC2 is not set | ||
222 | # CONFIG_IPX is not set | ||
223 | # CONFIG_ATALK is not set | ||
224 | # CONFIG_X25 is not set | ||
225 | # CONFIG_LAPB is not set | ||
226 | # CONFIG_NET_DIVERT is not set | ||
227 | # CONFIG_ECONET is not set | ||
228 | # CONFIG_WAN_ROUTER is not set | ||
229 | |||
230 | # | ||
231 | # QoS and/or fair queueing | ||
232 | # | ||
233 | # CONFIG_NET_SCHED is not set | ||
234 | |||
235 | # | ||
236 | # Network testing | ||
237 | # | ||
238 | # CONFIG_NET_PKTGEN is not set | ||
239 | # CONFIG_HAMRADIO is not set | ||
240 | # CONFIG_IRDA is not set | ||
241 | # CONFIG_BT is not set | ||
242 | # CONFIG_IEEE80211 is not set | ||
243 | |||
244 | # | ||
245 | # Device Drivers | ||
246 | # | ||
247 | |||
248 | # | ||
249 | # Generic Driver Options | ||
250 | # | ||
251 | CONFIG_STANDALONE=y | ||
252 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
253 | # CONFIG_FW_LOADER is not set | ||
254 | |||
255 | # | ||
256 | # Connector - unified userspace <-> kernelspace linker | ||
257 | # | ||
258 | # CONFIG_CONNECTOR is not set | ||
259 | |||
260 | # | ||
261 | # Memory Technology Devices (MTD) | ||
262 | # | ||
263 | CONFIG_MTD=y | ||
264 | # CONFIG_MTD_DEBUG is not set | ||
265 | CONFIG_MTD_CONCAT=y | ||
266 | CONFIG_MTD_PARTITIONS=y | ||
267 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
268 | CONFIG_MTD_CMDLINE_PARTS=y | ||
269 | |||
270 | # | ||
271 | # User Modules And Translation Layers | ||
272 | # | ||
273 | CONFIG_MTD_CHAR=y | ||
274 | CONFIG_MTD_BLOCK=y | ||
275 | # CONFIG_FTL is not set | ||
276 | # CONFIG_NFTL is not set | ||
277 | # CONFIG_INFTL is not set | ||
278 | # CONFIG_RFD_FTL is not set | ||
279 | |||
280 | # | ||
281 | # RAM/ROM/Flash chip drivers | ||
282 | # | ||
283 | CONFIG_MTD_CFI=y | ||
284 | # CONFIG_MTD_JEDECPROBE is not set | ||
285 | CONFIG_MTD_GEN_PROBE=y | ||
286 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
287 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
288 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
289 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
290 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
291 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
292 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
293 | CONFIG_MTD_CFI_I1=y | ||
294 | CONFIG_MTD_CFI_I2=y | ||
295 | # CONFIG_MTD_CFI_I4 is not set | ||
296 | # CONFIG_MTD_CFI_I8 is not set | ||
297 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
298 | CONFIG_MTD_CFI_AMDSTD=y | ||
299 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
300 | # CONFIG_MTD_CFI_STAA is not set | ||
301 | CONFIG_MTD_CFI_UTIL=y | ||
302 | # CONFIG_MTD_RAM is not set | ||
303 | # CONFIG_MTD_ROM is not set | ||
304 | # CONFIG_MTD_ABSENT is not set | ||
305 | |||
306 | # | ||
307 | # Mapping drivers for chip access | ||
308 | # | ||
309 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
310 | # CONFIG_MTD_PHYSMAP is not set | ||
311 | CONFIG_MTD_TQM85xx=y | ||
312 | # CONFIG_MTD_PLATRAM is not set | ||
313 | |||
314 | # | ||
315 | # Self-contained MTD device drivers | ||
316 | # | ||
317 | # CONFIG_MTD_PMC551 is not set | ||
318 | # CONFIG_MTD_SLRAM is not set | ||
319 | # CONFIG_MTD_PHRAM is not set | ||
320 | # CONFIG_MTD_MTDRAM is not set | ||
321 | # CONFIG_MTD_BLKMTD is not set | ||
322 | # CONFIG_MTD_BLOCK2MTD is not set | ||
323 | |||
324 | # | ||
325 | # Disk-On-Chip Device Drivers | ||
326 | # | ||
327 | # CONFIG_MTD_DOC2000 is not set | ||
328 | # CONFIG_MTD_DOC2001 is not set | ||
329 | # CONFIG_MTD_DOC2001PLUS is not set | ||
330 | |||
331 | # | ||
332 | # NAND Flash Device Drivers | ||
333 | # | ||
334 | # CONFIG_MTD_NAND is not set | ||
335 | |||
336 | # | ||
337 | # OneNAND Flash Device Drivers | ||
338 | # | ||
339 | # CONFIG_MTD_ONENAND is not set | ||
340 | |||
341 | # | ||
342 | # Parallel port support | ||
343 | # | ||
344 | # CONFIG_PARPORT is not set | ||
345 | |||
346 | # | ||
347 | # Plug and Play support | ||
348 | # | ||
349 | |||
350 | # | ||
351 | # Block devices | ||
352 | # | ||
353 | # CONFIG_BLK_DEV_FD is not set | ||
354 | # CONFIG_BLK_CPQ_DA is not set | ||
355 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
356 | # CONFIG_BLK_DEV_DAC960 is not set | ||
357 | # CONFIG_BLK_DEV_UMEM is not set | ||
358 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
359 | CONFIG_BLK_DEV_LOOP=y | ||
360 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
361 | # CONFIG_BLK_DEV_NBD is not set | ||
362 | # CONFIG_BLK_DEV_SX8 is not set | ||
363 | CONFIG_BLK_DEV_RAM=y | ||
364 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
365 | CONFIG_BLK_DEV_RAM_SIZE=32768 | ||
366 | CONFIG_BLK_DEV_INITRD=y | ||
367 | # CONFIG_CDROM_PKTCDVD is not set | ||
368 | # CONFIG_ATA_OVER_ETH is not set | ||
369 | |||
370 | # | ||
371 | # ATA/ATAPI/MFM/RLL support | ||
372 | # | ||
373 | CONFIG_IDE=y | ||
374 | CONFIG_BLK_DEV_IDE=y | ||
375 | |||
376 | # | ||
377 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
378 | # | ||
379 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
380 | CONFIG_BLK_DEV_IDEDISK=y | ||
381 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
382 | # CONFIG_BLK_DEV_IDECD is not set | ||
383 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
384 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
385 | # CONFIG_IDE_TASK_IOCTL is not set | ||
386 | |||
387 | # | ||
388 | # IDE chipset support/bugfixes | ||
389 | # | ||
390 | CONFIG_IDE_GENERIC=y | ||
391 | CONFIG_BLK_DEV_IDEPCI=y | ||
392 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
393 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
394 | CONFIG_BLK_DEV_GENERIC=y | ||
395 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
396 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
397 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
398 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
399 | CONFIG_IDEDMA_PCI_AUTO=y | ||
400 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
401 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
402 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
403 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
404 | # CONFIG_BLK_DEV_CMD64X is not set | ||
405 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
406 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
407 | # CONFIG_BLK_DEV_CS5520 is not set | ||
408 | # CONFIG_BLK_DEV_CS5530 is not set | ||
409 | # CONFIG_BLK_DEV_HPT34X is not set | ||
410 | # CONFIG_BLK_DEV_HPT366 is not set | ||
411 | # CONFIG_BLK_DEV_SC1200 is not set | ||
412 | # CONFIG_BLK_DEV_PIIX is not set | ||
413 | # CONFIG_BLK_DEV_IT821X is not set | ||
414 | # CONFIG_BLK_DEV_NS87415 is not set | ||
415 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
416 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
417 | # CONFIG_BLK_DEV_SVWKS is not set | ||
418 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
419 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
420 | # CONFIG_BLK_DEV_TRM290 is not set | ||
421 | CONFIG_BLK_DEV_VIA82CXXX=y | ||
422 | # CONFIG_IDE_ARM is not set | ||
423 | CONFIG_BLK_DEV_IDEDMA=y | ||
424 | # CONFIG_IDEDMA_IVB is not set | ||
425 | CONFIG_IDEDMA_AUTO=y | ||
426 | # CONFIG_BLK_DEV_HD is not set | ||
427 | |||
428 | # | ||
429 | # SCSI device support | ||
430 | # | ||
431 | # CONFIG_RAID_ATTRS is not set | ||
432 | # CONFIG_SCSI is not set | ||
433 | |||
434 | # | ||
435 | # Multi-device support (RAID and LVM) | ||
436 | # | ||
437 | # CONFIG_MD is not set | ||
438 | |||
439 | # | ||
440 | # Fusion MPT device support | ||
441 | # | ||
442 | # CONFIG_FUSION is not set | ||
443 | |||
444 | # | ||
445 | # IEEE 1394 (FireWire) support | ||
446 | # | ||
447 | # CONFIG_IEEE1394 is not set | ||
448 | |||
449 | # | ||
450 | # I2O device support | ||
451 | # | ||
452 | # CONFIG_I2O is not set | ||
453 | |||
454 | # | ||
455 | # Macintosh device drivers | ||
456 | # | ||
457 | # CONFIG_WINDFARM is not set | ||
458 | |||
459 | # | ||
460 | # Network device support | ||
461 | # | ||
462 | CONFIG_NETDEVICES=y | ||
463 | # CONFIG_DUMMY is not set | ||
464 | # CONFIG_BONDING is not set | ||
465 | # CONFIG_EQUALIZER is not set | ||
466 | # CONFIG_TUN is not set | ||
467 | |||
468 | # | ||
469 | # ARCnet devices | ||
470 | # | ||
471 | # CONFIG_ARCNET is not set | ||
472 | |||
473 | # | ||
474 | # PHY device support | ||
475 | # | ||
476 | CONFIG_PHYLIB=y | ||
477 | |||
478 | # | ||
479 | # MII PHY device drivers | ||
480 | # | ||
481 | # CONFIG_MARVELL_PHY is not set | ||
482 | # CONFIG_DAVICOM_PHY is not set | ||
483 | # CONFIG_QSEMI_PHY is not set | ||
484 | # CONFIG_LXT_PHY is not set | ||
485 | # CONFIG_CICADA_PHY is not set | ||
486 | |||
487 | # | ||
488 | # Ethernet (10 or 100Mbit) | ||
489 | # | ||
490 | CONFIG_NET_ETHERNET=y | ||
491 | CONFIG_MII=y | ||
492 | # CONFIG_HAPPYMEAL is not set | ||
493 | # CONFIG_SUNGEM is not set | ||
494 | # CONFIG_CASSINI is not set | ||
495 | # CONFIG_NET_VENDOR_3COM is not set | ||
496 | |||
497 | # | ||
498 | # Tulip family network device support | ||
499 | # | ||
500 | # CONFIG_NET_TULIP is not set | ||
501 | # CONFIG_HP100 is not set | ||
502 | CONFIG_NET_PCI=y | ||
503 | # CONFIG_PCNET32 is not set | ||
504 | # CONFIG_AMD8111_ETH is not set | ||
505 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
506 | # CONFIG_B44 is not set | ||
507 | # CONFIG_FORCEDETH is not set | ||
508 | # CONFIG_DGRS is not set | ||
509 | # CONFIG_EEPRO100 is not set | ||
510 | CONFIG_E100=y | ||
511 | # CONFIG_FEALNX is not set | ||
512 | # CONFIG_NATSEMI is not set | ||
513 | # CONFIG_NE2K_PCI is not set | ||
514 | # CONFIG_8139CP is not set | ||
515 | # CONFIG_8139TOO is not set | ||
516 | # CONFIG_SIS900 is not set | ||
517 | # CONFIG_EPIC100 is not set | ||
518 | # CONFIG_SUNDANCE is not set | ||
519 | # CONFIG_TLAN is not set | ||
520 | # CONFIG_VIA_RHINE is not set | ||
521 | |||
522 | # | ||
523 | # Ethernet (1000 Mbit) | ||
524 | # | ||
525 | # CONFIG_ACENIC is not set | ||
526 | # CONFIG_DL2K is not set | ||
527 | # CONFIG_E1000 is not set | ||
528 | # CONFIG_NS83820 is not set | ||
529 | # CONFIG_HAMACHI is not set | ||
530 | # CONFIG_YELLOWFIN is not set | ||
531 | # CONFIG_R8169 is not set | ||
532 | # CONFIG_SIS190 is not set | ||
533 | # CONFIG_SKGE is not set | ||
534 | # CONFIG_SK98LIN is not set | ||
535 | # CONFIG_VIA_VELOCITY is not set | ||
536 | # CONFIG_TIGON3 is not set | ||
537 | # CONFIG_BNX2 is not set | ||
538 | CONFIG_GIANFAR=y | ||
539 | CONFIG_GFAR_NAPI=y | ||
540 | |||
541 | # | ||
542 | # Ethernet (10000 Mbit) | ||
543 | # | ||
544 | # CONFIG_CHELSIO_T1 is not set | ||
545 | # CONFIG_IXGB is not set | ||
546 | # CONFIG_S2IO is not set | ||
547 | |||
548 | # | ||
549 | # Token Ring devices | ||
550 | # | ||
551 | # CONFIG_TR is not set | ||
552 | |||
553 | # | ||
554 | # Wireless LAN (non-hamradio) | ||
555 | # | ||
556 | # CONFIG_NET_RADIO is not set | ||
557 | |||
558 | # | ||
559 | # Wan interfaces | ||
560 | # | ||
561 | # CONFIG_WAN is not set | ||
562 | # CONFIG_FDDI is not set | ||
563 | # CONFIG_HIPPI is not set | ||
564 | # CONFIG_PPP is not set | ||
565 | # CONFIG_SLIP is not set | ||
566 | # CONFIG_SHAPER is not set | ||
567 | # CONFIG_NETCONSOLE is not set | ||
568 | # CONFIG_NETPOLL is not set | ||
569 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
570 | |||
571 | # | ||
572 | # ISDN subsystem | ||
573 | # | ||
574 | # CONFIG_ISDN is not set | ||
575 | |||
576 | # | ||
577 | # Telephony Support | ||
578 | # | ||
579 | # CONFIG_PHONE is not set | ||
580 | |||
581 | # | ||
582 | # Input device support | ||
583 | # | ||
584 | CONFIG_INPUT=y | ||
585 | |||
586 | # | ||
587 | # Userland interfaces | ||
588 | # | ||
589 | # CONFIG_INPUT_MOUSEDEV is not set | ||
590 | # CONFIG_INPUT_JOYDEV is not set | ||
591 | # CONFIG_INPUT_TSDEV is not set | ||
592 | # CONFIG_INPUT_EVDEV is not set | ||
593 | # CONFIG_INPUT_EVBUG is not set | ||
594 | |||
595 | # | ||
596 | # Input Device Drivers | ||
597 | # | ||
598 | # CONFIG_INPUT_KEYBOARD is not set | ||
599 | # CONFIG_INPUT_MOUSE is not set | ||
600 | # CONFIG_INPUT_JOYSTICK is not set | ||
601 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
602 | # CONFIG_INPUT_MISC is not set | ||
603 | |||
604 | # | ||
605 | # Hardware I/O ports | ||
606 | # | ||
607 | # CONFIG_SERIO is not set | ||
608 | # CONFIG_GAMEPORT is not set | ||
609 | |||
610 | # | ||
611 | # Character devices | ||
612 | # | ||
613 | # CONFIG_VT is not set | ||
614 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
615 | |||
616 | # | ||
617 | # Serial drivers | ||
618 | # | ||
619 | CONFIG_SERIAL_8250=y | ||
620 | CONFIG_SERIAL_8250_CONSOLE=y | ||
621 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
622 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
623 | |||
624 | # | ||
625 | # Non-8250 serial port support | ||
626 | # | ||
627 | CONFIG_SERIAL_CORE=y | ||
628 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
629 | # CONFIG_SERIAL_JSM is not set | ||
630 | CONFIG_UNIX98_PTYS=y | ||
631 | CONFIG_LEGACY_PTYS=y | ||
632 | CONFIG_LEGACY_PTY_COUNT=256 | ||
633 | |||
634 | # | ||
635 | # IPMI | ||
636 | # | ||
637 | # CONFIG_IPMI_HANDLER is not set | ||
638 | |||
639 | # | ||
640 | # Watchdog Cards | ||
641 | # | ||
642 | # CONFIG_WATCHDOG is not set | ||
643 | # CONFIG_NVRAM is not set | ||
644 | CONFIG_GEN_RTC=y | ||
645 | # CONFIG_GEN_RTC_X is not set | ||
646 | # CONFIG_DTLK is not set | ||
647 | # CONFIG_R3964 is not set | ||
648 | # CONFIG_APPLICOM is not set | ||
649 | |||
650 | # | ||
651 | # Ftape, the floppy tape device driver | ||
652 | # | ||
653 | # CONFIG_AGP is not set | ||
654 | # CONFIG_DRM is not set | ||
655 | # CONFIG_RAW_DRIVER is not set | ||
656 | |||
657 | # | ||
658 | # TPM devices | ||
659 | # | ||
660 | # CONFIG_TCG_TPM is not set | ||
661 | # CONFIG_TELCLOCK is not set | ||
662 | |||
663 | # | ||
664 | # I2C support | ||
665 | # | ||
666 | CONFIG_I2C=y | ||
667 | CONFIG_I2C_CHARDEV=y | ||
668 | |||
669 | # | ||
670 | # I2C Algorithms | ||
671 | # | ||
672 | # CONFIG_I2C_ALGOBIT is not set | ||
673 | # CONFIG_I2C_ALGOPCF is not set | ||
674 | # CONFIG_I2C_ALGOPCA is not set | ||
675 | |||
676 | # | ||
677 | # I2C Hardware Bus support | ||
678 | # | ||
679 | # CONFIG_I2C_ALI1535 is not set | ||
680 | # CONFIG_I2C_ALI1563 is not set | ||
681 | # CONFIG_I2C_ALI15X3 is not set | ||
682 | # CONFIG_I2C_AMD756 is not set | ||
683 | # CONFIG_I2C_AMD8111 is not set | ||
684 | # CONFIG_I2C_I801 is not set | ||
685 | # CONFIG_I2C_I810 is not set | ||
686 | # CONFIG_I2C_PIIX4 is not set | ||
687 | CONFIG_I2C_MPC=y | ||
688 | # CONFIG_I2C_NFORCE2 is not set | ||
689 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
690 | # CONFIG_I2C_PROSAVAGE is not set | ||
691 | # CONFIG_I2C_SAVAGE4 is not set | ||
692 | # CONFIG_SCx200_ACB is not set | ||
693 | # CONFIG_I2C_SIS5595 is not set | ||
694 | # CONFIG_I2C_SIS630 is not set | ||
695 | # CONFIG_I2C_SIS96X is not set | ||
696 | # CONFIG_I2C_VIA is not set | ||
697 | # CONFIG_I2C_VIAPRO is not set | ||
698 | # CONFIG_I2C_VOODOO3 is not set | ||
699 | # CONFIG_I2C_PCA_ISA is not set | ||
700 | |||
701 | # | ||
702 | # Miscellaneous I2C Chip support | ||
703 | # | ||
704 | CONFIG_SENSORS_DS1337=y | ||
705 | # CONFIG_SENSORS_DS1374 is not set | ||
706 | # CONFIG_SENSORS_EEPROM is not set | ||
707 | # CONFIG_SENSORS_PCF8574 is not set | ||
708 | # CONFIG_SENSORS_PCA9539 is not set | ||
709 | # CONFIG_SENSORS_PCF8591 is not set | ||
710 | # CONFIG_SENSORS_RTC8564 is not set | ||
711 | # CONFIG_SENSORS_M41T00 is not set | ||
712 | # CONFIG_SENSORS_MAX6875 is not set | ||
713 | # CONFIG_RTC_X1205_I2C is not set | ||
714 | # CONFIG_I2C_DEBUG_CORE is not set | ||
715 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
716 | # CONFIG_I2C_DEBUG_BUS is not set | ||
717 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
718 | |||
719 | # | ||
720 | # Dallas's 1-wire bus | ||
721 | # | ||
722 | # CONFIG_W1 is not set | ||
723 | |||
724 | # | ||
725 | # Hardware Monitoring support | ||
726 | # | ||
727 | CONFIG_HWMON=y | ||
728 | # CONFIG_HWMON_VID is not set | ||
729 | # CONFIG_SENSORS_ADM1021 is not set | ||
730 | # CONFIG_SENSORS_ADM1025 is not set | ||
731 | # CONFIG_SENSORS_ADM1026 is not set | ||
732 | # CONFIG_SENSORS_ADM1031 is not set | ||
733 | # CONFIG_SENSORS_ADM9240 is not set | ||
734 | # CONFIG_SENSORS_ASB100 is not set | ||
735 | # CONFIG_SENSORS_ATXP1 is not set | ||
736 | # CONFIG_SENSORS_DS1621 is not set | ||
737 | # CONFIG_SENSORS_FSCHER is not set | ||
738 | # CONFIG_SENSORS_FSCPOS is not set | ||
739 | # CONFIG_SENSORS_GL518SM is not set | ||
740 | # CONFIG_SENSORS_GL520SM is not set | ||
741 | # CONFIG_SENSORS_IT87 is not set | ||
742 | # CONFIG_SENSORS_LM63 is not set | ||
743 | CONFIG_SENSORS_LM75=y | ||
744 | # CONFIG_SENSORS_LM77 is not set | ||
745 | # CONFIG_SENSORS_LM78 is not set | ||
746 | # CONFIG_SENSORS_LM80 is not set | ||
747 | # CONFIG_SENSORS_LM83 is not set | ||
748 | # CONFIG_SENSORS_LM85 is not set | ||
749 | # CONFIG_SENSORS_LM87 is not set | ||
750 | # CONFIG_SENSORS_LM90 is not set | ||
751 | # CONFIG_SENSORS_LM92 is not set | ||
752 | # CONFIG_SENSORS_MAX1619 is not set | ||
753 | # CONFIG_SENSORS_PC87360 is not set | ||
754 | # CONFIG_SENSORS_SIS5595 is not set | ||
755 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
756 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
757 | # CONFIG_SENSORS_VIA686A is not set | ||
758 | # CONFIG_SENSORS_W83781D is not set | ||
759 | # CONFIG_SENSORS_W83792D is not set | ||
760 | # CONFIG_SENSORS_W83L785TS is not set | ||
761 | # CONFIG_SENSORS_W83627HF is not set | ||
762 | # CONFIG_SENSORS_W83627EHF is not set | ||
763 | CONFIG_HWMON_DEBUG_CHIP=y | ||
764 | |||
765 | # | ||
766 | # Misc devices | ||
767 | # | ||
768 | |||
769 | # | ||
770 | # Multimedia Capabilities Port drivers | ||
771 | # | ||
772 | |||
773 | # | ||
774 | # Multimedia devices | ||
775 | # | ||
776 | # CONFIG_VIDEO_DEV is not set | ||
777 | |||
778 | # | ||
779 | # Digital Video Broadcasting Devices | ||
780 | # | ||
781 | # CONFIG_DVB is not set | ||
782 | |||
783 | # | ||
784 | # Graphics support | ||
785 | # | ||
786 | # CONFIG_FB is not set | ||
787 | |||
788 | # | ||
789 | # Sound | ||
790 | # | ||
791 | # CONFIG_SOUND is not set | ||
792 | |||
793 | # | ||
794 | # USB support | ||
795 | # | ||
796 | CONFIG_USB_ARCH_HAS_HCD=y | ||
797 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
798 | # CONFIG_USB is not set | ||
799 | |||
800 | # | ||
801 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
802 | # | ||
803 | |||
804 | # | ||
805 | # USB Gadget Support | ||
806 | # | ||
807 | # CONFIG_USB_GADGET is not set | ||
808 | |||
809 | # | ||
810 | # MMC/SD Card support | ||
811 | # | ||
812 | # CONFIG_MMC is not set | ||
813 | |||
814 | # | ||
815 | # InfiniBand support | ||
816 | # | ||
817 | # CONFIG_INFINIBAND is not set | ||
818 | |||
819 | # | ||
820 | # SN Devices | ||
821 | # | ||
822 | |||
823 | # | ||
824 | # File systems | ||
825 | # | ||
826 | CONFIG_EXT2_FS=y | ||
827 | # CONFIG_EXT2_FS_XATTR is not set | ||
828 | # CONFIG_EXT2_FS_XIP is not set | ||
829 | CONFIG_EXT3_FS=y | ||
830 | CONFIG_EXT3_FS_XATTR=y | ||
831 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
832 | # CONFIG_EXT3_FS_SECURITY is not set | ||
833 | CONFIG_JBD=y | ||
834 | # CONFIG_JBD_DEBUG is not set | ||
835 | CONFIG_FS_MBCACHE=y | ||
836 | # CONFIG_REISERFS_FS is not set | ||
837 | # CONFIG_JFS_FS is not set | ||
838 | # CONFIG_FS_POSIX_ACL is not set | ||
839 | # CONFIG_XFS_FS is not set | ||
840 | # CONFIG_MINIX_FS is not set | ||
841 | # CONFIG_ROMFS_FS is not set | ||
842 | CONFIG_INOTIFY=y | ||
843 | # CONFIG_QUOTA is not set | ||
844 | CONFIG_DNOTIFY=y | ||
845 | # CONFIG_AUTOFS_FS is not set | ||
846 | # CONFIG_AUTOFS4_FS is not set | ||
847 | # CONFIG_FUSE_FS is not set | ||
848 | |||
849 | # | ||
850 | # CD-ROM/DVD Filesystems | ||
851 | # | ||
852 | # CONFIG_ISO9660_FS is not set | ||
853 | # CONFIG_UDF_FS is not set | ||
854 | |||
855 | # | ||
856 | # DOS/FAT/NT Filesystems | ||
857 | # | ||
858 | # CONFIG_MSDOS_FS is not set | ||
859 | # CONFIG_VFAT_FS is not set | ||
860 | # CONFIG_NTFS_FS is not set | ||
861 | |||
862 | # | ||
863 | # Pseudo filesystems | ||
864 | # | ||
865 | CONFIG_PROC_FS=y | ||
866 | CONFIG_PROC_KCORE=y | ||
867 | CONFIG_SYSFS=y | ||
868 | CONFIG_TMPFS=y | ||
869 | # CONFIG_HUGETLB_PAGE is not set | ||
870 | CONFIG_RAMFS=y | ||
871 | # CONFIG_RELAYFS_FS is not set | ||
872 | |||
873 | # | ||
874 | # Miscellaneous filesystems | ||
875 | # | ||
876 | # CONFIG_ADFS_FS is not set | ||
877 | # CONFIG_AFFS_FS is not set | ||
878 | # CONFIG_HFS_FS is not set | ||
879 | # CONFIG_HFSPLUS_FS is not set | ||
880 | # CONFIG_BEFS_FS is not set | ||
881 | # CONFIG_BFS_FS is not set | ||
882 | # CONFIG_EFS_FS is not set | ||
883 | # CONFIG_JFFS_FS is not set | ||
884 | CONFIG_JFFS2_FS=y | ||
885 | CONFIG_JFFS2_FS_DEBUG=0 | ||
886 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
887 | # CONFIG_JFFS2_SUMMARY is not set | ||
888 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
889 | CONFIG_JFFS2_ZLIB=y | ||
890 | CONFIG_JFFS2_RTIME=y | ||
891 | # CONFIG_JFFS2_RUBIN is not set | ||
892 | CONFIG_CRAMFS=y | ||
893 | # CONFIG_VXFS_FS is not set | ||
894 | # CONFIG_HPFS_FS is not set | ||
895 | # CONFIG_QNX4FS_FS is not set | ||
896 | # CONFIG_SYSV_FS is not set | ||
897 | # CONFIG_UFS_FS is not set | ||
898 | |||
899 | # | ||
900 | # Network File Systems | ||
901 | # | ||
902 | CONFIG_NFS_FS=y | ||
903 | # CONFIG_NFS_V3 is not set | ||
904 | # CONFIG_NFS_V4 is not set | ||
905 | # CONFIG_NFS_DIRECTIO is not set | ||
906 | # CONFIG_NFSD is not set | ||
907 | CONFIG_ROOT_NFS=y | ||
908 | CONFIG_LOCKD=y | ||
909 | CONFIG_NFS_COMMON=y | ||
910 | CONFIG_SUNRPC=y | ||
911 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
912 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
913 | # CONFIG_SMB_FS is not set | ||
914 | # CONFIG_CIFS is not set | ||
915 | # CONFIG_NCP_FS is not set | ||
916 | # CONFIG_CODA_FS is not set | ||
917 | # CONFIG_AFS_FS is not set | ||
918 | # CONFIG_9P_FS is not set | ||
919 | |||
920 | # | ||
921 | # Partition Types | ||
922 | # | ||
923 | CONFIG_PARTITION_ADVANCED=y | ||
924 | # CONFIG_ACORN_PARTITION is not set | ||
925 | # CONFIG_OSF_PARTITION is not set | ||
926 | # CONFIG_AMIGA_PARTITION is not set | ||
927 | # CONFIG_ATARI_PARTITION is not set | ||
928 | # CONFIG_MAC_PARTITION is not set | ||
929 | # CONFIG_MSDOS_PARTITION is not set | ||
930 | # CONFIG_LDM_PARTITION is not set | ||
931 | # CONFIG_SGI_PARTITION is not set | ||
932 | # CONFIG_ULTRIX_PARTITION is not set | ||
933 | # CONFIG_SUN_PARTITION is not set | ||
934 | # CONFIG_EFI_PARTITION is not set | ||
935 | |||
936 | # | ||
937 | # Native Language Support | ||
938 | # | ||
939 | # CONFIG_NLS is not set | ||
940 | |||
941 | # | ||
942 | # Library routines | ||
943 | # | ||
944 | # CONFIG_CRC_CCITT is not set | ||
945 | # CONFIG_CRC16 is not set | ||
946 | CONFIG_CRC32=y | ||
947 | # CONFIG_LIBCRC32C is not set | ||
948 | CONFIG_ZLIB_INFLATE=y | ||
949 | CONFIG_ZLIB_DEFLATE=y | ||
950 | # CONFIG_PROFILING is not set | ||
951 | |||
952 | # | ||
953 | # Kernel hacking | ||
954 | # | ||
955 | # CONFIG_PRINTK_TIME is not set | ||
956 | # CONFIG_DEBUG_KERNEL is not set | ||
957 | CONFIG_LOG_BUF_SHIFT=14 | ||
958 | # CONFIG_SERIAL_TEXT_DEBUG is not set | ||
959 | |||
960 | # | ||
961 | # Security options | ||
962 | # | ||
963 | # CONFIG_KEYS is not set | ||
964 | # CONFIG_SECURITY is not set | ||
965 | |||
966 | # | ||
967 | # Cryptographic options | ||
968 | # | ||
969 | # CONFIG_CRYPTO is not set | ||
970 | |||
971 | # | ||
972 | # Hardware crypto devices | ||
973 | # | ||
diff --git a/arch/ppc/configs/TQM8541_defconfig b/arch/ppc/configs/TQM8541_defconfig new file mode 100644 index 0000000000..0ff56695d3 --- /dev/null +++ b/arch/ppc/configs/TQM8541_defconfig | |||
@@ -0,0 +1,986 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.15-rc2 | ||
4 | # Wed Nov 30 13:36:28 2005 | ||
5 | # | ||
6 | CONFIG_MMU=y | ||
7 | CONFIG_GENERIC_HARDIRQS=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_PPC=y | ||
11 | CONFIG_PPC32=y | ||
12 | CONFIG_GENERIC_NVRAM=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | |||
16 | # | ||
17 | # Code maturity level options | ||
18 | # | ||
19 | CONFIG_EXPERIMENTAL=y | ||
20 | CONFIG_CLEAN_COMPILE=y | ||
21 | CONFIG_BROKEN_ON_SMP=y | ||
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
23 | |||
24 | # | ||
25 | # General setup | ||
26 | # | ||
27 | CONFIG_LOCALVERSION="" | ||
28 | CONFIG_LOCALVERSION_AUTO=y | ||
29 | CONFIG_SWAP=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | # CONFIG_POSIX_MQUEUE is not set | ||
32 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
33 | CONFIG_SYSCTL=y | ||
34 | # CONFIG_AUDIT is not set | ||
35 | # CONFIG_HOTPLUG is not set | ||
36 | CONFIG_KOBJECT_UEVENT=y | ||
37 | # CONFIG_IKCONFIG is not set | ||
38 | CONFIG_INITRAMFS_SOURCE="" | ||
39 | CONFIG_EMBEDDED=y | ||
40 | # CONFIG_KALLSYMS is not set | ||
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_BASE_FULL=y | ||
44 | CONFIG_FUTEX=y | ||
45 | # CONFIG_EPOLL is not set | ||
46 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
47 | CONFIG_SHMEM=y | ||
48 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
49 | CONFIG_CC_ALIGN_LABELS=0 | ||
50 | CONFIG_CC_ALIGN_LOOPS=0 | ||
51 | CONFIG_CC_ALIGN_JUMPS=0 | ||
52 | # CONFIG_TINY_SHMEM is not set | ||
53 | CONFIG_BASE_SMALL=0 | ||
54 | |||
55 | # | ||
56 | # Loadable module support | ||
57 | # | ||
58 | # CONFIG_MODULES is not set | ||
59 | |||
60 | # | ||
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
79 | # Processor | ||
80 | # | ||
81 | # CONFIG_6xx is not set | ||
82 | # CONFIG_40x is not set | ||
83 | # CONFIG_44x is not set | ||
84 | # CONFIG_POWER3 is not set | ||
85 | # CONFIG_POWER4 is not set | ||
86 | # CONFIG_8xx is not set | ||
87 | # CONFIG_E200 is not set | ||
88 | CONFIG_E500=y | ||
89 | CONFIG_BOOKE=y | ||
90 | CONFIG_FSL_BOOKE=y | ||
91 | # CONFIG_PHYS_64BIT is not set | ||
92 | CONFIG_SPE=y | ||
93 | CONFIG_MATH_EMULATION=y | ||
94 | # CONFIG_KEXEC is not set | ||
95 | # CONFIG_CPU_FREQ is not set | ||
96 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
97 | CONFIG_PPC_GEN550=y | ||
98 | CONFIG_85xx=y | ||
99 | CONFIG_PPC_INDIRECT_PCI_BE=y | ||
100 | |||
101 | # | ||
102 | # Freescale 85xx options | ||
103 | # | ||
104 | # CONFIG_MPC8540_ADS is not set | ||
105 | # CONFIG_MPC8548_CDS is not set | ||
106 | # CONFIG_MPC8555_CDS is not set | ||
107 | # CONFIG_MPC8560_ADS is not set | ||
108 | # CONFIG_SBC8560 is not set | ||
109 | # CONFIG_STX_GP3 is not set | ||
110 | # CONFIG_TQM8540 is not set | ||
111 | CONFIG_TQM8541=y | ||
112 | # CONFIG_TQM8555 is not set | ||
113 | # CONFIG_TQM8560 is not set | ||
114 | CONFIG_MPC8555=y | ||
115 | |||
116 | # | ||
117 | # Platform options | ||
118 | # | ||
119 | CONFIG_CPM2=y | ||
120 | # CONFIG_PC_KEYBOARD is not set | ||
121 | # CONFIG_HIGHMEM is not set | ||
122 | # CONFIG_HZ_100 is not set | ||
123 | CONFIG_HZ_250=y | ||
124 | # CONFIG_HZ_1000 is not set | ||
125 | CONFIG_HZ=250 | ||
126 | CONFIG_PREEMPT_NONE=y | ||
127 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
128 | # CONFIG_PREEMPT is not set | ||
129 | CONFIG_SELECT_MEMORY_MODEL=y | ||
130 | CONFIG_FLATMEM_MANUAL=y | ||
131 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
132 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
133 | CONFIG_FLATMEM=y | ||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
135 | # CONFIG_SPARSEMEM_STATIC is not set | ||
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
137 | CONFIG_BINFMT_ELF=y | ||
138 | # CONFIG_BINFMT_MISC is not set | ||
139 | # CONFIG_CMDLINE_BOOL is not set | ||
140 | # CONFIG_PM is not set | ||
141 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
142 | CONFIG_SECCOMP=y | ||
143 | CONFIG_ISA_DMA_API=y | ||
144 | |||
145 | # | ||
146 | # Bus options | ||
147 | # | ||
148 | CONFIG_PPC_I8259=y | ||
149 | CONFIG_PPC_INDIRECT_PCI=y | ||
150 | CONFIG_PCI=y | ||
151 | CONFIG_PCI_DOMAINS=y | ||
152 | # CONFIG_PCI_LEGACY_PROC is not set | ||
153 | |||
154 | # | ||
155 | # PCCARD (PCMCIA/CardBus) support | ||
156 | # | ||
157 | # CONFIG_PCCARD is not set | ||
158 | |||
159 | # | ||
160 | # Advanced setup | ||
161 | # | ||
162 | # CONFIG_ADVANCED_OPTIONS is not set | ||
163 | |||
164 | # | ||
165 | # Default settings for advanced configuration options are used | ||
166 | # | ||
167 | CONFIG_HIGHMEM_START=0xfe000000 | ||
168 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
169 | CONFIG_KERNEL_START=0xc0000000 | ||
170 | CONFIG_TASK_SIZE=0x80000000 | ||
171 | CONFIG_BOOT_LOAD=0x00800000 | ||
172 | |||
173 | # | ||
174 | # Networking | ||
175 | # | ||
176 | CONFIG_NET=y | ||
177 | |||
178 | # | ||
179 | # Networking options | ||
180 | # | ||
181 | CONFIG_PACKET=y | ||
182 | # CONFIG_PACKET_MMAP is not set | ||
183 | CONFIG_UNIX=y | ||
184 | # CONFIG_NET_KEY is not set | ||
185 | CONFIG_INET=y | ||
186 | CONFIG_IP_MULTICAST=y | ||
187 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
188 | CONFIG_IP_FIB_HASH=y | ||
189 | CONFIG_IP_PNP=y | ||
190 | CONFIG_IP_PNP_DHCP=y | ||
191 | CONFIG_IP_PNP_BOOTP=y | ||
192 | # CONFIG_IP_PNP_RARP is not set | ||
193 | # CONFIG_NET_IPIP is not set | ||
194 | # CONFIG_NET_IPGRE is not set | ||
195 | # CONFIG_IP_MROUTE is not set | ||
196 | # CONFIG_ARPD is not set | ||
197 | CONFIG_SYN_COOKIES=y | ||
198 | # CONFIG_INET_AH is not set | ||
199 | # CONFIG_INET_ESP is not set | ||
200 | # CONFIG_INET_IPCOMP is not set | ||
201 | # CONFIG_INET_TUNNEL is not set | ||
202 | CONFIG_INET_DIAG=y | ||
203 | CONFIG_INET_TCP_DIAG=y | ||
204 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
205 | CONFIG_TCP_CONG_BIC=y | ||
206 | # CONFIG_IPV6 is not set | ||
207 | # CONFIG_NETFILTER is not set | ||
208 | |||
209 | # | ||
210 | # DCCP Configuration (EXPERIMENTAL) | ||
211 | # | ||
212 | # CONFIG_IP_DCCP is not set | ||
213 | |||
214 | # | ||
215 | # SCTP Configuration (EXPERIMENTAL) | ||
216 | # | ||
217 | # CONFIG_IP_SCTP is not set | ||
218 | # CONFIG_ATM is not set | ||
219 | # CONFIG_BRIDGE is not set | ||
220 | # CONFIG_VLAN_8021Q is not set | ||
221 | # CONFIG_DECNET is not set | ||
222 | # CONFIG_LLC2 is not set | ||
223 | # CONFIG_IPX is not set | ||
224 | # CONFIG_ATALK is not set | ||
225 | # CONFIG_X25 is not set | ||
226 | # CONFIG_LAPB is not set | ||
227 | # CONFIG_NET_DIVERT is not set | ||
228 | # CONFIG_ECONET is not set | ||
229 | # CONFIG_WAN_ROUTER is not set | ||
230 | |||
231 | # | ||
232 | # QoS and/or fair queueing | ||
233 | # | ||
234 | # CONFIG_NET_SCHED is not set | ||
235 | |||
236 | # | ||
237 | # Network testing | ||
238 | # | ||
239 | # CONFIG_NET_PKTGEN is not set | ||
240 | # CONFIG_HAMRADIO is not set | ||
241 | # CONFIG_IRDA is not set | ||
242 | # CONFIG_BT is not set | ||
243 | # CONFIG_IEEE80211 is not set | ||
244 | |||
245 | # | ||
246 | # Device Drivers | ||
247 | # | ||
248 | |||
249 | # | ||
250 | # Generic Driver Options | ||
251 | # | ||
252 | CONFIG_STANDALONE=y | ||
253 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
254 | # CONFIG_FW_LOADER is not set | ||
255 | |||
256 | # | ||
257 | # Connector - unified userspace <-> kernelspace linker | ||
258 | # | ||
259 | # CONFIG_CONNECTOR is not set | ||
260 | |||
261 | # | ||
262 | # Memory Technology Devices (MTD) | ||
263 | # | ||
264 | CONFIG_MTD=y | ||
265 | # CONFIG_MTD_DEBUG is not set | ||
266 | CONFIG_MTD_CONCAT=y | ||
267 | CONFIG_MTD_PARTITIONS=y | ||
268 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
269 | CONFIG_MTD_CMDLINE_PARTS=y | ||
270 | |||
271 | # | ||
272 | # User Modules And Translation Layers | ||
273 | # | ||
274 | CONFIG_MTD_CHAR=y | ||
275 | CONFIG_MTD_BLOCK=y | ||
276 | # CONFIG_FTL is not set | ||
277 | # CONFIG_NFTL is not set | ||
278 | # CONFIG_INFTL is not set | ||
279 | # CONFIG_RFD_FTL is not set | ||
280 | |||
281 | # | ||
282 | # RAM/ROM/Flash chip drivers | ||
283 | # | ||
284 | CONFIG_MTD_CFI=y | ||
285 | # CONFIG_MTD_JEDECPROBE is not set | ||
286 | CONFIG_MTD_GEN_PROBE=y | ||
287 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
288 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
289 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
290 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
291 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
292 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
293 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
294 | CONFIG_MTD_CFI_I1=y | ||
295 | CONFIG_MTD_CFI_I2=y | ||
296 | # CONFIG_MTD_CFI_I4 is not set | ||
297 | # CONFIG_MTD_CFI_I8 is not set | ||
298 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
299 | CONFIG_MTD_CFI_AMDSTD=y | ||
300 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
301 | # CONFIG_MTD_CFI_STAA is not set | ||
302 | CONFIG_MTD_CFI_UTIL=y | ||
303 | # CONFIG_MTD_RAM is not set | ||
304 | # CONFIG_MTD_ROM is not set | ||
305 | # CONFIG_MTD_ABSENT is not set | ||
306 | |||
307 | # | ||
308 | # Mapping drivers for chip access | ||
309 | # | ||
310 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
311 | # CONFIG_MTD_PHYSMAP is not set | ||
312 | CONFIG_MTD_TQM85xx=y | ||
313 | # CONFIG_MTD_PLATRAM is not set | ||
314 | |||
315 | # | ||
316 | # Self-contained MTD device drivers | ||
317 | # | ||
318 | # CONFIG_MTD_PMC551 is not set | ||
319 | # CONFIG_MTD_SLRAM is not set | ||
320 | # CONFIG_MTD_PHRAM is not set | ||
321 | # CONFIG_MTD_MTDRAM is not set | ||
322 | # CONFIG_MTD_BLKMTD is not set | ||
323 | # CONFIG_MTD_BLOCK2MTD is not set | ||
324 | |||
325 | # | ||
326 | # Disk-On-Chip Device Drivers | ||
327 | # | ||
328 | # CONFIG_MTD_DOC2000 is not set | ||
329 | # CONFIG_MTD_DOC2001 is not set | ||
330 | # CONFIG_MTD_DOC2001PLUS is not set | ||
331 | |||
332 | # | ||
333 | # NAND Flash Device Drivers | ||
334 | # | ||
335 | # CONFIG_MTD_NAND is not set | ||
336 | |||
337 | # | ||
338 | # OneNAND Flash Device Drivers | ||
339 | # | ||
340 | # CONFIG_MTD_ONENAND is not set | ||
341 | |||
342 | # | ||
343 | # Parallel port support | ||
344 | # | ||
345 | # CONFIG_PARPORT is not set | ||
346 | |||
347 | # | ||
348 | # Plug and Play support | ||
349 | # | ||
350 | |||
351 | # | ||
352 | # Block devices | ||
353 | # | ||
354 | # CONFIG_BLK_DEV_FD is not set | ||
355 | # CONFIG_BLK_CPQ_DA is not set | ||
356 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
357 | # CONFIG_BLK_DEV_DAC960 is not set | ||
358 | # CONFIG_BLK_DEV_UMEM is not set | ||
359 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
360 | CONFIG_BLK_DEV_LOOP=y | ||
361 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
362 | # CONFIG_BLK_DEV_NBD is not set | ||
363 | # CONFIG_BLK_DEV_SX8 is not set | ||
364 | CONFIG_BLK_DEV_RAM=y | ||
365 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
366 | CONFIG_BLK_DEV_RAM_SIZE=32768 | ||
367 | CONFIG_BLK_DEV_INITRD=y | ||
368 | # CONFIG_CDROM_PKTCDVD is not set | ||
369 | # CONFIG_ATA_OVER_ETH is not set | ||
370 | |||
371 | # | ||
372 | # ATA/ATAPI/MFM/RLL support | ||
373 | # | ||
374 | CONFIG_IDE=y | ||
375 | CONFIG_BLK_DEV_IDE=y | ||
376 | |||
377 | # | ||
378 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
379 | # | ||
380 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
381 | CONFIG_BLK_DEV_IDEDISK=y | ||
382 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
383 | # CONFIG_BLK_DEV_IDECD is not set | ||
384 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
385 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
386 | # CONFIG_IDE_TASK_IOCTL is not set | ||
387 | |||
388 | # | ||
389 | # IDE chipset support/bugfixes | ||
390 | # | ||
391 | CONFIG_IDE_GENERIC=y | ||
392 | CONFIG_BLK_DEV_IDEPCI=y | ||
393 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
394 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
395 | CONFIG_BLK_DEV_GENERIC=y | ||
396 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
397 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
398 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
399 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
400 | CONFIG_IDEDMA_PCI_AUTO=y | ||
401 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
402 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
403 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
404 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
405 | # CONFIG_BLK_DEV_CMD64X is not set | ||
406 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
407 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
408 | # CONFIG_BLK_DEV_CS5520 is not set | ||
409 | # CONFIG_BLK_DEV_CS5530 is not set | ||
410 | # CONFIG_BLK_DEV_HPT34X is not set | ||
411 | # CONFIG_BLK_DEV_HPT366 is not set | ||
412 | # CONFIG_BLK_DEV_SC1200 is not set | ||
413 | # CONFIG_BLK_DEV_PIIX is not set | ||
414 | # CONFIG_BLK_DEV_IT821X is not set | ||
415 | # CONFIG_BLK_DEV_NS87415 is not set | ||
416 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
417 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
418 | # CONFIG_BLK_DEV_SVWKS is not set | ||
419 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
420 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
421 | # CONFIG_BLK_DEV_TRM290 is not set | ||
422 | CONFIG_BLK_DEV_VIA82CXXX=y | ||
423 | # CONFIG_IDE_ARM is not set | ||
424 | CONFIG_BLK_DEV_IDEDMA=y | ||
425 | # CONFIG_IDEDMA_IVB is not set | ||
426 | CONFIG_IDEDMA_AUTO=y | ||
427 | # CONFIG_BLK_DEV_HD is not set | ||
428 | |||
429 | # | ||
430 | # SCSI device support | ||
431 | # | ||
432 | # CONFIG_RAID_ATTRS is not set | ||
433 | # CONFIG_SCSI is not set | ||
434 | |||
435 | # | ||
436 | # Multi-device support (RAID and LVM) | ||
437 | # | ||
438 | # CONFIG_MD is not set | ||
439 | |||
440 | # | ||
441 | # Fusion MPT device support | ||
442 | # | ||
443 | # CONFIG_FUSION is not set | ||
444 | |||
445 | # | ||
446 | # IEEE 1394 (FireWire) support | ||
447 | # | ||
448 | # CONFIG_IEEE1394 is not set | ||
449 | |||
450 | # | ||
451 | # I2O device support | ||
452 | # | ||
453 | # CONFIG_I2O is not set | ||
454 | |||
455 | # | ||
456 | # Macintosh device drivers | ||
457 | # | ||
458 | # CONFIG_WINDFARM is not set | ||
459 | |||
460 | # | ||
461 | # Network device support | ||
462 | # | ||
463 | CONFIG_NETDEVICES=y | ||
464 | # CONFIG_DUMMY is not set | ||
465 | # CONFIG_BONDING is not set | ||
466 | # CONFIG_EQUALIZER is not set | ||
467 | # CONFIG_TUN is not set | ||
468 | |||
469 | # | ||
470 | # ARCnet devices | ||
471 | # | ||
472 | # CONFIG_ARCNET is not set | ||
473 | |||
474 | # | ||
475 | # PHY device support | ||
476 | # | ||
477 | CONFIG_PHYLIB=y | ||
478 | |||
479 | # | ||
480 | # MII PHY device drivers | ||
481 | # | ||
482 | # CONFIG_MARVELL_PHY is not set | ||
483 | # CONFIG_DAVICOM_PHY is not set | ||
484 | # CONFIG_QSEMI_PHY is not set | ||
485 | # CONFIG_LXT_PHY is not set | ||
486 | # CONFIG_CICADA_PHY is not set | ||
487 | |||
488 | # | ||
489 | # Ethernet (10 or 100Mbit) | ||
490 | # | ||
491 | CONFIG_NET_ETHERNET=y | ||
492 | CONFIG_MII=y | ||
493 | # CONFIG_HAPPYMEAL is not set | ||
494 | # CONFIG_SUNGEM is not set | ||
495 | # CONFIG_CASSINI is not set | ||
496 | # CONFIG_NET_VENDOR_3COM is not set | ||
497 | |||
498 | # | ||
499 | # Tulip family network device support | ||
500 | # | ||
501 | # CONFIG_NET_TULIP is not set | ||
502 | # CONFIG_HP100 is not set | ||
503 | CONFIG_NET_PCI=y | ||
504 | # CONFIG_PCNET32 is not set | ||
505 | # CONFIG_AMD8111_ETH is not set | ||
506 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
507 | # CONFIG_B44 is not set | ||
508 | # CONFIG_FORCEDETH is not set | ||
509 | # CONFIG_DGRS is not set | ||
510 | # CONFIG_EEPRO100 is not set | ||
511 | CONFIG_E100=y | ||
512 | # CONFIG_FEALNX is not set | ||
513 | # CONFIG_NATSEMI is not set | ||
514 | # CONFIG_NE2K_PCI is not set | ||
515 | # CONFIG_8139CP is not set | ||
516 | # CONFIG_8139TOO is not set | ||
517 | # CONFIG_SIS900 is not set | ||
518 | # CONFIG_EPIC100 is not set | ||
519 | # CONFIG_SUNDANCE is not set | ||
520 | # CONFIG_TLAN is not set | ||
521 | # CONFIG_VIA_RHINE is not set | ||
522 | # CONFIG_FS_ENET is not set | ||
523 | |||
524 | # | ||
525 | # Ethernet (1000 Mbit) | ||
526 | # | ||
527 | # CONFIG_ACENIC is not set | ||
528 | # CONFIG_DL2K is not set | ||
529 | # CONFIG_E1000 is not set | ||
530 | # CONFIG_NS83820 is not set | ||
531 | # CONFIG_HAMACHI is not set | ||
532 | # CONFIG_YELLOWFIN is not set | ||
533 | # CONFIG_R8169 is not set | ||
534 | # CONFIG_SIS190 is not set | ||
535 | # CONFIG_SKGE is not set | ||
536 | # CONFIG_SK98LIN is not set | ||
537 | # CONFIG_VIA_VELOCITY is not set | ||
538 | # CONFIG_TIGON3 is not set | ||
539 | # CONFIG_BNX2 is not set | ||
540 | CONFIG_GIANFAR=y | ||
541 | CONFIG_GFAR_NAPI=y | ||
542 | |||
543 | # | ||
544 | # Ethernet (10000 Mbit) | ||
545 | # | ||
546 | # CONFIG_CHELSIO_T1 is not set | ||
547 | # CONFIG_IXGB is not set | ||
548 | # CONFIG_S2IO is not set | ||
549 | |||
550 | # | ||
551 | # Token Ring devices | ||
552 | # | ||
553 | # CONFIG_TR is not set | ||
554 | |||
555 | # | ||
556 | # Wireless LAN (non-hamradio) | ||
557 | # | ||
558 | # CONFIG_NET_RADIO is not set | ||
559 | |||
560 | # | ||
561 | # Wan interfaces | ||
562 | # | ||
563 | # CONFIG_WAN is not set | ||
564 | # CONFIG_FDDI is not set | ||
565 | # CONFIG_HIPPI is not set | ||
566 | # CONFIG_PPP is not set | ||
567 | # CONFIG_SLIP is not set | ||
568 | # CONFIG_SHAPER is not set | ||
569 | # CONFIG_NETCONSOLE is not set | ||
570 | # CONFIG_NETPOLL is not set | ||
571 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
572 | |||
573 | # | ||
574 | # ISDN subsystem | ||
575 | # | ||
576 | # CONFIG_ISDN is not set | ||
577 | |||
578 | # | ||
579 | # Telephony Support | ||
580 | # | ||
581 | # CONFIG_PHONE is not set | ||
582 | |||
583 | # | ||
584 | # Input device support | ||
585 | # | ||
586 | CONFIG_INPUT=y | ||
587 | |||
588 | # | ||
589 | # Userland interfaces | ||
590 | # | ||
591 | # CONFIG_INPUT_MOUSEDEV is not set | ||
592 | # CONFIG_INPUT_JOYDEV is not set | ||
593 | # CONFIG_INPUT_TSDEV is not set | ||
594 | # CONFIG_INPUT_EVDEV is not set | ||
595 | # CONFIG_INPUT_EVBUG is not set | ||
596 | |||
597 | # | ||
598 | # Input Device Drivers | ||
599 | # | ||
600 | # CONFIG_INPUT_KEYBOARD is not set | ||
601 | # CONFIG_INPUT_MOUSE is not set | ||
602 | # CONFIG_INPUT_JOYSTICK is not set | ||
603 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
604 | # CONFIG_INPUT_MISC is not set | ||
605 | |||
606 | # | ||
607 | # Hardware I/O ports | ||
608 | # | ||
609 | # CONFIG_SERIO is not set | ||
610 | # CONFIG_GAMEPORT is not set | ||
611 | |||
612 | # | ||
613 | # Character devices | ||
614 | # | ||
615 | # CONFIG_VT is not set | ||
616 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
617 | |||
618 | # | ||
619 | # Serial drivers | ||
620 | # | ||
621 | CONFIG_SERIAL_8250=y | ||
622 | CONFIG_SERIAL_8250_CONSOLE=y | ||
623 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
624 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
625 | |||
626 | # | ||
627 | # Non-8250 serial port support | ||
628 | # | ||
629 | CONFIG_SERIAL_CORE=y | ||
630 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
631 | # CONFIG_SERIAL_CPM is not set | ||
632 | # CONFIG_SERIAL_JSM is not set | ||
633 | CONFIG_UNIX98_PTYS=y | ||
634 | CONFIG_LEGACY_PTYS=y | ||
635 | CONFIG_LEGACY_PTY_COUNT=256 | ||
636 | |||
637 | # | ||
638 | # IPMI | ||
639 | # | ||
640 | # CONFIG_IPMI_HANDLER is not set | ||
641 | |||
642 | # | ||
643 | # Watchdog Cards | ||
644 | # | ||
645 | # CONFIG_WATCHDOG is not set | ||
646 | # CONFIG_NVRAM is not set | ||
647 | CONFIG_GEN_RTC=y | ||
648 | # CONFIG_GEN_RTC_X is not set | ||
649 | # CONFIG_DTLK is not set | ||
650 | # CONFIG_R3964 is not set | ||
651 | # CONFIG_APPLICOM is not set | ||
652 | |||
653 | # | ||
654 | # Ftape, the floppy tape device driver | ||
655 | # | ||
656 | # CONFIG_AGP is not set | ||
657 | # CONFIG_DRM is not set | ||
658 | # CONFIG_RAW_DRIVER is not set | ||
659 | |||
660 | # | ||
661 | # TPM devices | ||
662 | # | ||
663 | # CONFIG_TCG_TPM is not set | ||
664 | # CONFIG_TELCLOCK is not set | ||
665 | |||
666 | # | ||
667 | # I2C support | ||
668 | # | ||
669 | CONFIG_I2C=y | ||
670 | CONFIG_I2C_CHARDEV=y | ||
671 | |||
672 | # | ||
673 | # I2C Algorithms | ||
674 | # | ||
675 | # CONFIG_I2C_ALGOBIT is not set | ||
676 | # CONFIG_I2C_ALGOPCF is not set | ||
677 | # CONFIG_I2C_ALGOPCA is not set | ||
678 | |||
679 | # | ||
680 | # I2C Hardware Bus support | ||
681 | # | ||
682 | # CONFIG_I2C_ALI1535 is not set | ||
683 | # CONFIG_I2C_ALI1563 is not set | ||
684 | # CONFIG_I2C_ALI15X3 is not set | ||
685 | # CONFIG_I2C_AMD756 is not set | ||
686 | # CONFIG_I2C_AMD8111 is not set | ||
687 | # CONFIG_I2C_I801 is not set | ||
688 | # CONFIG_I2C_I810 is not set | ||
689 | # CONFIG_I2C_PIIX4 is not set | ||
690 | CONFIG_I2C_MPC=y | ||
691 | # CONFIG_I2C_MPC8260 is not set | ||
692 | # CONFIG_I2C_NFORCE2 is not set | ||
693 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
694 | # CONFIG_I2C_PROSAVAGE is not set | ||
695 | # CONFIG_I2C_SAVAGE4 is not set | ||
696 | # CONFIG_SCx200_ACB is not set | ||
697 | # CONFIG_I2C_SIS5595 is not set | ||
698 | # CONFIG_I2C_SIS630 is not set | ||
699 | # CONFIG_I2C_SIS96X is not set | ||
700 | # CONFIG_I2C_VIA is not set | ||
701 | # CONFIG_I2C_VIAPRO is not set | ||
702 | # CONFIG_I2C_VOODOO3 is not set | ||
703 | # CONFIG_I2C_PCA_ISA is not set | ||
704 | |||
705 | # | ||
706 | # Miscellaneous I2C Chip support | ||
707 | # | ||
708 | CONFIG_SENSORS_DS1337=y | ||
709 | # CONFIG_SENSORS_DS1374 is not set | ||
710 | # CONFIG_SENSORS_EEPROM is not set | ||
711 | # CONFIG_SENSORS_MAX6900 is not set | ||
712 | # CONFIG_SENSORS_PCF8574 is not set | ||
713 | # CONFIG_SENSORS_PCF8563 is not set | ||
714 | # CONFIG_SENSORS_PCA9539 is not set | ||
715 | # CONFIG_SENSORS_PCF8591 is not set | ||
716 | # CONFIG_SENSORS_RTC8564 is not set | ||
717 | # CONFIG_SENSORS_M41T00 is not set | ||
718 | # CONFIG_SENSORS_MAX6875 is not set | ||
719 | # CONFIG_RTC_X1205_I2C is not set | ||
720 | # CONFIG_I2C_DEBUG_CORE is not set | ||
721 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
722 | # CONFIG_I2C_DEBUG_BUS is not set | ||
723 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
724 | |||
725 | # | ||
726 | # Dallas's 1-wire bus | ||
727 | # | ||
728 | # CONFIG_W1 is not set | ||
729 | |||
730 | # | ||
731 | # Hardware Monitoring support | ||
732 | # | ||
733 | CONFIG_HWMON=y | ||
734 | # CONFIG_HWMON_VID is not set | ||
735 | # CONFIG_SENSORS_ADM1021 is not set | ||
736 | # CONFIG_SENSORS_ADM1025 is not set | ||
737 | # CONFIG_SENSORS_ADM1026 is not set | ||
738 | # CONFIG_SENSORS_ADM1031 is not set | ||
739 | # CONFIG_SENSORS_ADM9240 is not set | ||
740 | # CONFIG_SENSORS_ASB100 is not set | ||
741 | # CONFIG_SENSORS_ATXP1 is not set | ||
742 | # CONFIG_SENSORS_DS1621 is not set | ||
743 | # CONFIG_SENSORS_FSCHER is not set | ||
744 | # CONFIG_SENSORS_FSCPOS is not set | ||
745 | # CONFIG_SENSORS_GL518SM is not set | ||
746 | # CONFIG_SENSORS_GL520SM is not set | ||
747 | # CONFIG_SENSORS_IT87 is not set | ||
748 | # CONFIG_SENSORS_LM63 is not set | ||
749 | CONFIG_SENSORS_LM75=y | ||
750 | # CONFIG_SENSORS_LM77 is not set | ||
751 | # CONFIG_SENSORS_LM78 is not set | ||
752 | # CONFIG_SENSORS_LM80 is not set | ||
753 | # CONFIG_SENSORS_LM83 is not set | ||
754 | # CONFIG_SENSORS_LM85 is not set | ||
755 | # CONFIG_SENSORS_LM87 is not set | ||
756 | # CONFIG_SENSORS_LM90 is not set | ||
757 | # CONFIG_SENSORS_LM92 is not set | ||
758 | # CONFIG_SENSORS_MAX1619 is not set | ||
759 | # CONFIG_SENSORS_PC87360 is not set | ||
760 | # CONFIG_SENSORS_SIS5595 is not set | ||
761 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
762 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
763 | # CONFIG_SENSORS_VIA686A is not set | ||
764 | # CONFIG_SENSORS_W83781D is not set | ||
765 | # CONFIG_SENSORS_W83792D is not set | ||
766 | # CONFIG_SENSORS_W83L785TS is not set | ||
767 | # CONFIG_SENSORS_W83627HF is not set | ||
768 | # CONFIG_SENSORS_W83627EHF is not set | ||
769 | CONFIG_HWMON_DEBUG_CHIP=y | ||
770 | |||
771 | # | ||
772 | # Misc devices | ||
773 | # | ||
774 | |||
775 | # | ||
776 | # Multimedia Capabilities Port drivers | ||
777 | # | ||
778 | |||
779 | # | ||
780 | # Multimedia devices | ||
781 | # | ||
782 | # CONFIG_VIDEO_DEV is not set | ||
783 | |||
784 | # | ||
785 | # Digital Video Broadcasting Devices | ||
786 | # | ||
787 | # CONFIG_DVB is not set | ||
788 | |||
789 | # | ||
790 | # Graphics support | ||
791 | # | ||
792 | # CONFIG_FB is not set | ||
793 | |||
794 | # | ||
795 | # Sound | ||
796 | # | ||
797 | # CONFIG_SOUND is not set | ||
798 | |||
799 | # | ||
800 | # USB support | ||
801 | # | ||
802 | CONFIG_USB_ARCH_HAS_HCD=y | ||
803 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
804 | # CONFIG_USB is not set | ||
805 | |||
806 | # | ||
807 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
808 | # | ||
809 | |||
810 | # | ||
811 | # USB Gadget Support | ||
812 | # | ||
813 | # CONFIG_USB_GADGET is not set | ||
814 | |||
815 | # | ||
816 | # MMC/SD Card support | ||
817 | # | ||
818 | # CONFIG_MMC is not set | ||
819 | |||
820 | # | ||
821 | # InfiniBand support | ||
822 | # | ||
823 | # CONFIG_INFINIBAND is not set | ||
824 | |||
825 | # | ||
826 | # SN Devices | ||
827 | # | ||
828 | |||
829 | # | ||
830 | # File systems | ||
831 | # | ||
832 | CONFIG_EXT2_FS=y | ||
833 | # CONFIG_EXT2_FS_XATTR is not set | ||
834 | # CONFIG_EXT2_FS_XIP is not set | ||
835 | CONFIG_EXT3_FS=y | ||
836 | CONFIG_EXT3_FS_XATTR=y | ||
837 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
838 | # CONFIG_EXT3_FS_SECURITY is not set | ||
839 | CONFIG_JBD=y | ||
840 | # CONFIG_JBD_DEBUG is not set | ||
841 | CONFIG_FS_MBCACHE=y | ||
842 | # CONFIG_REISERFS_FS is not set | ||
843 | # CONFIG_JFS_FS is not set | ||
844 | # CONFIG_FS_POSIX_ACL is not set | ||
845 | # CONFIG_XFS_FS is not set | ||
846 | # CONFIG_MINIX_FS is not set | ||
847 | # CONFIG_ROMFS_FS is not set | ||
848 | CONFIG_INOTIFY=y | ||
849 | # CONFIG_QUOTA is not set | ||
850 | CONFIG_DNOTIFY=y | ||
851 | # CONFIG_AUTOFS_FS is not set | ||
852 | # CONFIG_AUTOFS4_FS is not set | ||
853 | # CONFIG_FUSE_FS is not set | ||
854 | |||
855 | # | ||
856 | # CD-ROM/DVD Filesystems | ||
857 | # | ||
858 | # CONFIG_ISO9660_FS is not set | ||
859 | # CONFIG_UDF_FS is not set | ||
860 | |||
861 | # | ||
862 | # DOS/FAT/NT Filesystems | ||
863 | # | ||
864 | # CONFIG_MSDOS_FS is not set | ||
865 | # CONFIG_VFAT_FS is not set | ||
866 | # CONFIG_NTFS_FS is not set | ||
867 | |||
868 | # | ||
869 | # Pseudo filesystems | ||
870 | # | ||
871 | CONFIG_PROC_FS=y | ||
872 | CONFIG_PROC_KCORE=y | ||
873 | CONFIG_SYSFS=y | ||
874 | CONFIG_TMPFS=y | ||
875 | # CONFIG_HUGETLB_PAGE is not set | ||
876 | CONFIG_RAMFS=y | ||
877 | # CONFIG_RELAYFS_FS is not set | ||
878 | |||
879 | # | ||
880 | # Miscellaneous filesystems | ||
881 | # | ||
882 | # CONFIG_ADFS_FS is not set | ||
883 | # CONFIG_AFFS_FS is not set | ||
884 | # CONFIG_HFS_FS is not set | ||
885 | # CONFIG_HFSPLUS_FS is not set | ||
886 | # CONFIG_BEFS_FS is not set | ||
887 | # CONFIG_BFS_FS is not set | ||
888 | # CONFIG_EFS_FS is not set | ||
889 | # CONFIG_JFFS_FS is not set | ||
890 | CONFIG_JFFS2_FS=y | ||
891 | CONFIG_JFFS2_FS_DEBUG=0 | ||
892 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
893 | # CONFIG_JFFS2_SUMMARY is not set | ||
894 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
895 | CONFIG_JFFS2_ZLIB=y | ||
896 | CONFIG_JFFS2_RTIME=y | ||
897 | # CONFIG_JFFS2_RUBIN is not set | ||
898 | CONFIG_CRAMFS=y | ||
899 | # CONFIG_VXFS_FS is not set | ||
900 | # CONFIG_HPFS_FS is not set | ||
901 | # CONFIG_QNX4FS_FS is not set | ||
902 | # CONFIG_SYSV_FS is not set | ||
903 | # CONFIG_UFS_FS is not set | ||
904 | |||
905 | # | ||
906 | # Network File Systems | ||
907 | # | ||
908 | CONFIG_NFS_FS=y | ||
909 | # CONFIG_NFS_V3 is not set | ||
910 | # CONFIG_NFS_V4 is not set | ||
911 | # CONFIG_NFS_DIRECTIO is not set | ||
912 | # CONFIG_NFSD is not set | ||
913 | CONFIG_ROOT_NFS=y | ||
914 | CONFIG_LOCKD=y | ||
915 | CONFIG_NFS_COMMON=y | ||
916 | CONFIG_SUNRPC=y | ||
917 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
918 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
919 | # CONFIG_SMB_FS is not set | ||
920 | # CONFIG_CIFS is not set | ||
921 | # CONFIG_NCP_FS is not set | ||
922 | # CONFIG_CODA_FS is not set | ||
923 | # CONFIG_AFS_FS is not set | ||
924 | # CONFIG_9P_FS is not set | ||
925 | |||
926 | # | ||
927 | # Partition Types | ||
928 | # | ||
929 | CONFIG_PARTITION_ADVANCED=y | ||
930 | # CONFIG_ACORN_PARTITION is not set | ||
931 | # CONFIG_OSF_PARTITION is not set | ||
932 | # CONFIG_AMIGA_PARTITION is not set | ||
933 | # CONFIG_ATARI_PARTITION is not set | ||
934 | # CONFIG_MAC_PARTITION is not set | ||
935 | # CONFIG_MSDOS_PARTITION is not set | ||
936 | # CONFIG_LDM_PARTITION is not set | ||
937 | # CONFIG_SGI_PARTITION is not set | ||
938 | # CONFIG_ULTRIX_PARTITION is not set | ||
939 | # CONFIG_SUN_PARTITION is not set | ||
940 | # CONFIG_EFI_PARTITION is not set | ||
941 | |||
942 | # | ||
943 | # Native Language Support | ||
944 | # | ||
945 | # CONFIG_NLS is not set | ||
946 | # CONFIG_SCC_ENET is not set | ||
947 | # CONFIG_FEC_ENET is not set | ||
948 | |||
949 | # | ||
950 | # CPM2 Options | ||
951 | # | ||
952 | |||
953 | # | ||
954 | # Library routines | ||
955 | # | ||
956 | # CONFIG_CRC_CCITT is not set | ||
957 | # CONFIG_CRC16 is not set | ||
958 | CONFIG_CRC32=y | ||
959 | # CONFIG_LIBCRC32C is not set | ||
960 | CONFIG_ZLIB_INFLATE=y | ||
961 | CONFIG_ZLIB_DEFLATE=y | ||
962 | # CONFIG_PROFILING is not set | ||
963 | |||
964 | # | ||
965 | # Kernel hacking | ||
966 | # | ||
967 | # CONFIG_PRINTK_TIME is not set | ||
968 | # CONFIG_DEBUG_KERNEL is not set | ||
969 | CONFIG_LOG_BUF_SHIFT=14 | ||
970 | # CONFIG_KGDB_CONSOLE is not set | ||
971 | # CONFIG_SERIAL_TEXT_DEBUG is not set | ||
972 | |||
973 | # | ||
974 | # Security options | ||
975 | # | ||
976 | # CONFIG_KEYS is not set | ||
977 | # CONFIG_SECURITY is not set | ||
978 | |||
979 | # | ||
980 | # Cryptographic options | ||
981 | # | ||
982 | # CONFIG_CRYPTO is not set | ||
983 | |||
984 | # | ||
985 | # Hardware crypto devices | ||
986 | # | ||
diff --git a/arch/ppc/configs/TQM8555_defconfig b/arch/ppc/configs/TQM8555_defconfig new file mode 100644 index 0000000000..730b3db2e4 --- /dev/null +++ b/arch/ppc/configs/TQM8555_defconfig | |||
@@ -0,0 +1,983 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.15-rc2 | ||
4 | # Thu Nov 24 17:10:52 2005 | ||
5 | # | ||
6 | CONFIG_MMU=y | ||
7 | CONFIG_GENERIC_HARDIRQS=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_PPC=y | ||
11 | CONFIG_PPC32=y | ||
12 | CONFIG_GENERIC_NVRAM=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | |||
16 | # | ||
17 | # Code maturity level options | ||
18 | # | ||
19 | CONFIG_EXPERIMENTAL=y | ||
20 | CONFIG_CLEAN_COMPILE=y | ||
21 | CONFIG_BROKEN_ON_SMP=y | ||
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
23 | |||
24 | # | ||
25 | # General setup | ||
26 | # | ||
27 | CONFIG_LOCALVERSION="" | ||
28 | CONFIG_LOCALVERSION_AUTO=y | ||
29 | CONFIG_SWAP=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | # CONFIG_POSIX_MQUEUE is not set | ||
32 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
33 | CONFIG_SYSCTL=y | ||
34 | # CONFIG_AUDIT is not set | ||
35 | # CONFIG_HOTPLUG is not set | ||
36 | CONFIG_KOBJECT_UEVENT=y | ||
37 | # CONFIG_IKCONFIG is not set | ||
38 | CONFIG_INITRAMFS_SOURCE="" | ||
39 | CONFIG_EMBEDDED=y | ||
40 | # CONFIG_KALLSYMS is not set | ||
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_BASE_FULL=y | ||
44 | CONFIG_FUTEX=y | ||
45 | # CONFIG_EPOLL is not set | ||
46 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
47 | CONFIG_SHMEM=y | ||
48 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
49 | CONFIG_CC_ALIGN_LABELS=0 | ||
50 | CONFIG_CC_ALIGN_LOOPS=0 | ||
51 | CONFIG_CC_ALIGN_JUMPS=0 | ||
52 | # CONFIG_TINY_SHMEM is not set | ||
53 | CONFIG_BASE_SMALL=0 | ||
54 | |||
55 | # | ||
56 | # Loadable module support | ||
57 | # | ||
58 | # CONFIG_MODULES is not set | ||
59 | |||
60 | # | ||
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
79 | # Processor | ||
80 | # | ||
81 | # CONFIG_6xx is not set | ||
82 | # CONFIG_40x is not set | ||
83 | # CONFIG_44x is not set | ||
84 | # CONFIG_POWER3 is not set | ||
85 | # CONFIG_POWER4 is not set | ||
86 | # CONFIG_8xx is not set | ||
87 | # CONFIG_E200 is not set | ||
88 | CONFIG_E500=y | ||
89 | CONFIG_BOOKE=y | ||
90 | CONFIG_FSL_BOOKE=y | ||
91 | # CONFIG_PHYS_64BIT is not set | ||
92 | CONFIG_SPE=y | ||
93 | CONFIG_MATH_EMULATION=y | ||
94 | # CONFIG_KEXEC is not set | ||
95 | # CONFIG_CPU_FREQ is not set | ||
96 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
97 | CONFIG_PPC_GEN550=y | ||
98 | CONFIG_85xx=y | ||
99 | CONFIG_PPC_INDIRECT_PCI_BE=y | ||
100 | |||
101 | # | ||
102 | # Freescale 85xx options | ||
103 | # | ||
104 | # CONFIG_MPC8540_ADS is not set | ||
105 | # CONFIG_MPC8548_CDS is not set | ||
106 | # CONFIG_MPC8555_CDS is not set | ||
107 | # CONFIG_MPC8560_ADS is not set | ||
108 | # CONFIG_SBC8560 is not set | ||
109 | # CONFIG_STX_GP3 is not set | ||
110 | # CONFIG_TQM8540 is not set | ||
111 | # CONFIG_TQM8541 is not set | ||
112 | CONFIG_TQM8555=y | ||
113 | # CONFIG_TQM8560 is not set | ||
114 | CONFIG_MPC8555=y | ||
115 | |||
116 | # | ||
117 | # Platform options | ||
118 | # | ||
119 | CONFIG_CPM2=y | ||
120 | # CONFIG_PC_KEYBOARD is not set | ||
121 | # CONFIG_HIGHMEM is not set | ||
122 | # CONFIG_HZ_100 is not set | ||
123 | CONFIG_HZ_250=y | ||
124 | # CONFIG_HZ_1000 is not set | ||
125 | CONFIG_HZ=250 | ||
126 | CONFIG_PREEMPT_NONE=y | ||
127 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
128 | # CONFIG_PREEMPT is not set | ||
129 | CONFIG_SELECT_MEMORY_MODEL=y | ||
130 | CONFIG_FLATMEM_MANUAL=y | ||
131 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
132 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
133 | CONFIG_FLATMEM=y | ||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
135 | # CONFIG_SPARSEMEM_STATIC is not set | ||
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
137 | CONFIG_BINFMT_ELF=y | ||
138 | # CONFIG_BINFMT_MISC is not set | ||
139 | # CONFIG_CMDLINE_BOOL is not set | ||
140 | # CONFIG_PM is not set | ||
141 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
142 | CONFIG_SECCOMP=y | ||
143 | CONFIG_ISA_DMA_API=y | ||
144 | |||
145 | # | ||
146 | # Bus options | ||
147 | # | ||
148 | CONFIG_PPC_I8259=y | ||
149 | CONFIG_PPC_INDIRECT_PCI=y | ||
150 | CONFIG_PCI=y | ||
151 | CONFIG_PCI_DOMAINS=y | ||
152 | # CONFIG_PCI_LEGACY_PROC is not set | ||
153 | |||
154 | # | ||
155 | # PCCARD (PCMCIA/CardBus) support | ||
156 | # | ||
157 | # CONFIG_PCCARD is not set | ||
158 | |||
159 | # | ||
160 | # Advanced setup | ||
161 | # | ||
162 | # CONFIG_ADVANCED_OPTIONS is not set | ||
163 | |||
164 | # | ||
165 | # Default settings for advanced configuration options are used | ||
166 | # | ||
167 | CONFIG_HIGHMEM_START=0xfe000000 | ||
168 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
169 | CONFIG_KERNEL_START=0xc0000000 | ||
170 | CONFIG_TASK_SIZE=0x80000000 | ||
171 | CONFIG_BOOT_LOAD=0x00800000 | ||
172 | |||
173 | # | ||
174 | # Networking | ||
175 | # | ||
176 | CONFIG_NET=y | ||
177 | |||
178 | # | ||
179 | # Networking options | ||
180 | # | ||
181 | CONFIG_PACKET=y | ||
182 | # CONFIG_PACKET_MMAP is not set | ||
183 | CONFIG_UNIX=y | ||
184 | # CONFIG_NET_KEY is not set | ||
185 | CONFIG_INET=y | ||
186 | CONFIG_IP_MULTICAST=y | ||
187 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
188 | CONFIG_IP_FIB_HASH=y | ||
189 | CONFIG_IP_PNP=y | ||
190 | CONFIG_IP_PNP_DHCP=y | ||
191 | CONFIG_IP_PNP_BOOTP=y | ||
192 | # CONFIG_IP_PNP_RARP is not set | ||
193 | # CONFIG_NET_IPIP is not set | ||
194 | # CONFIG_NET_IPGRE is not set | ||
195 | # CONFIG_IP_MROUTE is not set | ||
196 | # CONFIG_ARPD is not set | ||
197 | CONFIG_SYN_COOKIES=y | ||
198 | # CONFIG_INET_AH is not set | ||
199 | # CONFIG_INET_ESP is not set | ||
200 | # CONFIG_INET_IPCOMP is not set | ||
201 | # CONFIG_INET_TUNNEL is not set | ||
202 | CONFIG_INET_DIAG=y | ||
203 | CONFIG_INET_TCP_DIAG=y | ||
204 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
205 | CONFIG_TCP_CONG_BIC=y | ||
206 | # CONFIG_IPV6 is not set | ||
207 | # CONFIG_NETFILTER is not set | ||
208 | |||
209 | # | ||
210 | # DCCP Configuration (EXPERIMENTAL) | ||
211 | # | ||
212 | # CONFIG_IP_DCCP is not set | ||
213 | |||
214 | # | ||
215 | # SCTP Configuration (EXPERIMENTAL) | ||
216 | # | ||
217 | # CONFIG_IP_SCTP is not set | ||
218 | # CONFIG_ATM is not set | ||
219 | # CONFIG_BRIDGE is not set | ||
220 | # CONFIG_VLAN_8021Q is not set | ||
221 | # CONFIG_DECNET is not set | ||
222 | # CONFIG_LLC2 is not set | ||
223 | # CONFIG_IPX is not set | ||
224 | # CONFIG_ATALK is not set | ||
225 | # CONFIG_X25 is not set | ||
226 | # CONFIG_LAPB is not set | ||
227 | # CONFIG_NET_DIVERT is not set | ||
228 | # CONFIG_ECONET is not set | ||
229 | # CONFIG_WAN_ROUTER is not set | ||
230 | |||
231 | # | ||
232 | # QoS and/or fair queueing | ||
233 | # | ||
234 | # CONFIG_NET_SCHED is not set | ||
235 | |||
236 | # | ||
237 | # Network testing | ||
238 | # | ||
239 | # CONFIG_NET_PKTGEN is not set | ||
240 | # CONFIG_HAMRADIO is not set | ||
241 | # CONFIG_IRDA is not set | ||
242 | # CONFIG_BT is not set | ||
243 | # CONFIG_IEEE80211 is not set | ||
244 | |||
245 | # | ||
246 | # Device Drivers | ||
247 | # | ||
248 | |||
249 | # | ||
250 | # Generic Driver Options | ||
251 | # | ||
252 | CONFIG_STANDALONE=y | ||
253 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
254 | # CONFIG_FW_LOADER is not set | ||
255 | |||
256 | # | ||
257 | # Connector - unified userspace <-> kernelspace linker | ||
258 | # | ||
259 | # CONFIG_CONNECTOR is not set | ||
260 | |||
261 | # | ||
262 | # Memory Technology Devices (MTD) | ||
263 | # | ||
264 | CONFIG_MTD=y | ||
265 | # CONFIG_MTD_DEBUG is not set | ||
266 | CONFIG_MTD_CONCAT=y | ||
267 | CONFIG_MTD_PARTITIONS=y | ||
268 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
269 | CONFIG_MTD_CMDLINE_PARTS=y | ||
270 | |||
271 | # | ||
272 | # User Modules And Translation Layers | ||
273 | # | ||
274 | CONFIG_MTD_CHAR=y | ||
275 | CONFIG_MTD_BLOCK=y | ||
276 | # CONFIG_FTL is not set | ||
277 | # CONFIG_NFTL is not set | ||
278 | # CONFIG_INFTL is not set | ||
279 | # CONFIG_RFD_FTL is not set | ||
280 | |||
281 | # | ||
282 | # RAM/ROM/Flash chip drivers | ||
283 | # | ||
284 | CONFIG_MTD_CFI=y | ||
285 | # CONFIG_MTD_JEDECPROBE is not set | ||
286 | CONFIG_MTD_GEN_PROBE=y | ||
287 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
288 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
289 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
290 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
291 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
292 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
293 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
294 | CONFIG_MTD_CFI_I1=y | ||
295 | CONFIG_MTD_CFI_I2=y | ||
296 | # CONFIG_MTD_CFI_I4 is not set | ||
297 | # CONFIG_MTD_CFI_I8 is not set | ||
298 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
299 | CONFIG_MTD_CFI_AMDSTD=y | ||
300 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
301 | # CONFIG_MTD_CFI_STAA is not set | ||
302 | CONFIG_MTD_CFI_UTIL=y | ||
303 | # CONFIG_MTD_RAM is not set | ||
304 | # CONFIG_MTD_ROM is not set | ||
305 | # CONFIG_MTD_ABSENT is not set | ||
306 | |||
307 | # | ||
308 | # Mapping drivers for chip access | ||
309 | # | ||
310 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
311 | # CONFIG_MTD_PHYSMAP is not set | ||
312 | CONFIG_MTD_TQM85xx=y | ||
313 | # CONFIG_MTD_PLATRAM is not set | ||
314 | |||
315 | # | ||
316 | # Self-contained MTD device drivers | ||
317 | # | ||
318 | # CONFIG_MTD_PMC551 is not set | ||
319 | # CONFIG_MTD_SLRAM is not set | ||
320 | # CONFIG_MTD_PHRAM is not set | ||
321 | # CONFIG_MTD_MTDRAM is not set | ||
322 | # CONFIG_MTD_BLKMTD is not set | ||
323 | # CONFIG_MTD_BLOCK2MTD is not set | ||
324 | |||
325 | # | ||
326 | # Disk-On-Chip Device Drivers | ||
327 | # | ||
328 | # CONFIG_MTD_DOC2000 is not set | ||
329 | # CONFIG_MTD_DOC2001 is not set | ||
330 | # CONFIG_MTD_DOC2001PLUS is not set | ||
331 | |||
332 | # | ||
333 | # NAND Flash Device Drivers | ||
334 | # | ||
335 | # CONFIG_MTD_NAND is not set | ||
336 | |||
337 | # | ||
338 | # OneNAND Flash Device Drivers | ||
339 | # | ||
340 | # CONFIG_MTD_ONENAND is not set | ||
341 | |||
342 | # | ||
343 | # Parallel port support | ||
344 | # | ||
345 | # CONFIG_PARPORT is not set | ||
346 | |||
347 | # | ||
348 | # Plug and Play support | ||
349 | # | ||
350 | |||
351 | # | ||
352 | # Block devices | ||
353 | # | ||
354 | # CONFIG_BLK_DEV_FD is not set | ||
355 | # CONFIG_BLK_CPQ_DA is not set | ||
356 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
357 | # CONFIG_BLK_DEV_DAC960 is not set | ||
358 | # CONFIG_BLK_DEV_UMEM is not set | ||
359 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
360 | CONFIG_BLK_DEV_LOOP=y | ||
361 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
362 | # CONFIG_BLK_DEV_NBD is not set | ||
363 | # CONFIG_BLK_DEV_SX8 is not set | ||
364 | CONFIG_BLK_DEV_RAM=y | ||
365 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
366 | CONFIG_BLK_DEV_RAM_SIZE=32768 | ||
367 | CONFIG_BLK_DEV_INITRD=y | ||
368 | # CONFIG_CDROM_PKTCDVD is not set | ||
369 | # CONFIG_ATA_OVER_ETH is not set | ||
370 | |||
371 | # | ||
372 | # ATA/ATAPI/MFM/RLL support | ||
373 | # | ||
374 | CONFIG_IDE=y | ||
375 | CONFIG_BLK_DEV_IDE=y | ||
376 | |||
377 | # | ||
378 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
379 | # | ||
380 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
381 | CONFIG_BLK_DEV_IDEDISK=y | ||
382 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
383 | # CONFIG_BLK_DEV_IDECD is not set | ||
384 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
385 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
386 | # CONFIG_IDE_TASK_IOCTL is not set | ||
387 | |||
388 | # | ||
389 | # IDE chipset support/bugfixes | ||
390 | # | ||
391 | CONFIG_IDE_GENERIC=y | ||
392 | CONFIG_BLK_DEV_IDEPCI=y | ||
393 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
394 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
395 | CONFIG_BLK_DEV_GENERIC=y | ||
396 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
397 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
398 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
399 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
400 | CONFIG_IDEDMA_PCI_AUTO=y | ||
401 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
402 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
403 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
404 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
405 | # CONFIG_BLK_DEV_CMD64X is not set | ||
406 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
407 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
408 | # CONFIG_BLK_DEV_CS5520 is not set | ||
409 | # CONFIG_BLK_DEV_CS5530 is not set | ||
410 | # CONFIG_BLK_DEV_HPT34X is not set | ||
411 | # CONFIG_BLK_DEV_HPT366 is not set | ||
412 | # CONFIG_BLK_DEV_SC1200 is not set | ||
413 | # CONFIG_BLK_DEV_PIIX is not set | ||
414 | # CONFIG_BLK_DEV_IT821X is not set | ||
415 | # CONFIG_BLK_DEV_NS87415 is not set | ||
416 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
417 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
418 | # CONFIG_BLK_DEV_SVWKS is not set | ||
419 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
420 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
421 | # CONFIG_BLK_DEV_TRM290 is not set | ||
422 | CONFIG_BLK_DEV_VIA82CXXX=y | ||
423 | # CONFIG_IDE_ARM is not set | ||
424 | CONFIG_BLK_DEV_IDEDMA=y | ||
425 | # CONFIG_IDEDMA_IVB is not set | ||
426 | CONFIG_IDEDMA_AUTO=y | ||
427 | # CONFIG_BLK_DEV_HD is not set | ||
428 | |||
429 | # | ||
430 | # SCSI device support | ||
431 | # | ||
432 | # CONFIG_RAID_ATTRS is not set | ||
433 | # CONFIG_SCSI is not set | ||
434 | |||
435 | # | ||
436 | # Multi-device support (RAID and LVM) | ||
437 | # | ||
438 | # CONFIG_MD is not set | ||
439 | |||
440 | # | ||
441 | # Fusion MPT device support | ||
442 | # | ||
443 | # CONFIG_FUSION is not set | ||
444 | |||
445 | # | ||
446 | # IEEE 1394 (FireWire) support | ||
447 | # | ||
448 | # CONFIG_IEEE1394 is not set | ||
449 | |||
450 | # | ||
451 | # I2O device support | ||
452 | # | ||
453 | # CONFIG_I2O is not set | ||
454 | |||
455 | # | ||
456 | # Macintosh device drivers | ||
457 | # | ||
458 | # CONFIG_WINDFARM is not set | ||
459 | |||
460 | # | ||
461 | # Network device support | ||
462 | # | ||
463 | CONFIG_NETDEVICES=y | ||
464 | # CONFIG_DUMMY is not set | ||
465 | # CONFIG_BONDING is not set | ||
466 | # CONFIG_EQUALIZER is not set | ||
467 | # CONFIG_TUN is not set | ||
468 | |||
469 | # | ||
470 | # ARCnet devices | ||
471 | # | ||
472 | # CONFIG_ARCNET is not set | ||
473 | |||
474 | # | ||
475 | # PHY device support | ||
476 | # | ||
477 | CONFIG_PHYLIB=y | ||
478 | |||
479 | # | ||
480 | # MII PHY device drivers | ||
481 | # | ||
482 | # CONFIG_MARVELL_PHY is not set | ||
483 | # CONFIG_DAVICOM_PHY is not set | ||
484 | # CONFIG_QSEMI_PHY is not set | ||
485 | # CONFIG_LXT_PHY is not set | ||
486 | # CONFIG_CICADA_PHY is not set | ||
487 | |||
488 | # | ||
489 | # Ethernet (10 or 100Mbit) | ||
490 | # | ||
491 | CONFIG_NET_ETHERNET=y | ||
492 | CONFIG_MII=y | ||
493 | # CONFIG_HAPPYMEAL is not set | ||
494 | # CONFIG_SUNGEM is not set | ||
495 | # CONFIG_CASSINI is not set | ||
496 | # CONFIG_NET_VENDOR_3COM is not set | ||
497 | |||
498 | # | ||
499 | # Tulip family network device support | ||
500 | # | ||
501 | # CONFIG_NET_TULIP is not set | ||
502 | # CONFIG_HP100 is not set | ||
503 | CONFIG_NET_PCI=y | ||
504 | # CONFIG_PCNET32 is not set | ||
505 | # CONFIG_AMD8111_ETH is not set | ||
506 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
507 | # CONFIG_B44 is not set | ||
508 | # CONFIG_FORCEDETH is not set | ||
509 | # CONFIG_DGRS is not set | ||
510 | # CONFIG_EEPRO100 is not set | ||
511 | CONFIG_E100=y | ||
512 | # CONFIG_FEALNX is not set | ||
513 | # CONFIG_NATSEMI is not set | ||
514 | # CONFIG_NE2K_PCI is not set | ||
515 | # CONFIG_8139CP is not set | ||
516 | # CONFIG_8139TOO is not set | ||
517 | # CONFIG_SIS900 is not set | ||
518 | # CONFIG_EPIC100 is not set | ||
519 | # CONFIG_SUNDANCE is not set | ||
520 | # CONFIG_TLAN is not set | ||
521 | # CONFIG_VIA_RHINE is not set | ||
522 | # CONFIG_FS_ENET is not set | ||
523 | |||
524 | # | ||
525 | # Ethernet (1000 Mbit) | ||
526 | # | ||
527 | # CONFIG_ACENIC is not set | ||
528 | # CONFIG_DL2K is not set | ||
529 | # CONFIG_E1000 is not set | ||
530 | # CONFIG_NS83820 is not set | ||
531 | # CONFIG_HAMACHI is not set | ||
532 | # CONFIG_YELLOWFIN is not set | ||
533 | # CONFIG_R8169 is not set | ||
534 | # CONFIG_SIS190 is not set | ||
535 | # CONFIG_SKGE is not set | ||
536 | # CONFIG_SK98LIN is not set | ||
537 | # CONFIG_VIA_VELOCITY is not set | ||
538 | # CONFIG_TIGON3 is not set | ||
539 | # CONFIG_BNX2 is not set | ||
540 | CONFIG_GIANFAR=y | ||
541 | CONFIG_GFAR_NAPI=y | ||
542 | |||
543 | # | ||
544 | # Ethernet (10000 Mbit) | ||
545 | # | ||
546 | # CONFIG_CHELSIO_T1 is not set | ||
547 | # CONFIG_IXGB is not set | ||
548 | # CONFIG_S2IO is not set | ||
549 | |||
550 | # | ||
551 | # Token Ring devices | ||
552 | # | ||
553 | # CONFIG_TR is not set | ||
554 | |||
555 | # | ||
556 | # Wireless LAN (non-hamradio) | ||
557 | # | ||
558 | # CONFIG_NET_RADIO is not set | ||
559 | |||
560 | # | ||
561 | # Wan interfaces | ||
562 | # | ||
563 | # CONFIG_WAN is not set | ||
564 | # CONFIG_FDDI is not set | ||
565 | # CONFIG_HIPPI is not set | ||
566 | # CONFIG_PPP is not set | ||
567 | # CONFIG_SLIP is not set | ||
568 | # CONFIG_SHAPER is not set | ||
569 | # CONFIG_NETCONSOLE is not set | ||
570 | # CONFIG_NETPOLL is not set | ||
571 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
572 | |||
573 | # | ||
574 | # ISDN subsystem | ||
575 | # | ||
576 | # CONFIG_ISDN is not set | ||
577 | |||
578 | # | ||
579 | # Telephony Support | ||
580 | # | ||
581 | # CONFIG_PHONE is not set | ||
582 | |||
583 | # | ||
584 | # Input device support | ||
585 | # | ||
586 | CONFIG_INPUT=y | ||
587 | |||
588 | # | ||
589 | # Userland interfaces | ||
590 | # | ||
591 | # CONFIG_INPUT_MOUSEDEV is not set | ||
592 | # CONFIG_INPUT_JOYDEV is not set | ||
593 | # CONFIG_INPUT_TSDEV is not set | ||
594 | # CONFIG_INPUT_EVDEV is not set | ||
595 | # CONFIG_INPUT_EVBUG is not set | ||
596 | |||
597 | # | ||
598 | # Input Device Drivers | ||
599 | # | ||
600 | # CONFIG_INPUT_KEYBOARD is not set | ||
601 | # CONFIG_INPUT_MOUSE is not set | ||
602 | # CONFIG_INPUT_JOYSTICK is not set | ||
603 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
604 | # CONFIG_INPUT_MISC is not set | ||
605 | |||
606 | # | ||
607 | # Hardware I/O ports | ||
608 | # | ||
609 | # CONFIG_SERIO is not set | ||
610 | # CONFIG_GAMEPORT is not set | ||
611 | |||
612 | # | ||
613 | # Character devices | ||
614 | # | ||
615 | # CONFIG_VT is not set | ||
616 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
617 | |||
618 | # | ||
619 | # Serial drivers | ||
620 | # | ||
621 | CONFIG_SERIAL_8250=y | ||
622 | CONFIG_SERIAL_8250_CONSOLE=y | ||
623 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
624 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
625 | |||
626 | # | ||
627 | # Non-8250 serial port support | ||
628 | # | ||
629 | CONFIG_SERIAL_CORE=y | ||
630 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
631 | # CONFIG_SERIAL_CPM is not set | ||
632 | # CONFIG_SERIAL_JSM is not set | ||
633 | CONFIG_UNIX98_PTYS=y | ||
634 | CONFIG_LEGACY_PTYS=y | ||
635 | CONFIG_LEGACY_PTY_COUNT=256 | ||
636 | |||
637 | # | ||
638 | # IPMI | ||
639 | # | ||
640 | # CONFIG_IPMI_HANDLER is not set | ||
641 | |||
642 | # | ||
643 | # Watchdog Cards | ||
644 | # | ||
645 | # CONFIG_WATCHDOG is not set | ||
646 | # CONFIG_NVRAM is not set | ||
647 | CONFIG_GEN_RTC=y | ||
648 | # CONFIG_GEN_RTC_X is not set | ||
649 | # CONFIG_DTLK is not set | ||
650 | # CONFIG_R3964 is not set | ||
651 | # CONFIG_APPLICOM is not set | ||
652 | |||
653 | # | ||
654 | # Ftape, the floppy tape device driver | ||
655 | # | ||
656 | # CONFIG_AGP is not set | ||
657 | # CONFIG_DRM is not set | ||
658 | # CONFIG_RAW_DRIVER is not set | ||
659 | |||
660 | # | ||
661 | # TPM devices | ||
662 | # | ||
663 | # CONFIG_TCG_TPM is not set | ||
664 | # CONFIG_TELCLOCK is not set | ||
665 | |||
666 | # | ||
667 | # I2C support | ||
668 | # | ||
669 | CONFIG_I2C=y | ||
670 | CONFIG_I2C_CHARDEV=y | ||
671 | |||
672 | # | ||
673 | # I2C Algorithms | ||
674 | # | ||
675 | # CONFIG_I2C_ALGOBIT is not set | ||
676 | # CONFIG_I2C_ALGOPCF is not set | ||
677 | # CONFIG_I2C_ALGOPCA is not set | ||
678 | |||
679 | # | ||
680 | # I2C Hardware Bus support | ||
681 | # | ||
682 | # CONFIG_I2C_ALI1535 is not set | ||
683 | # CONFIG_I2C_ALI1563 is not set | ||
684 | # CONFIG_I2C_ALI15X3 is not set | ||
685 | # CONFIG_I2C_AMD756 is not set | ||
686 | # CONFIG_I2C_AMD8111 is not set | ||
687 | # CONFIG_I2C_I801 is not set | ||
688 | # CONFIG_I2C_I810 is not set | ||
689 | # CONFIG_I2C_PIIX4 is not set | ||
690 | CONFIG_I2C_MPC=y | ||
691 | # CONFIG_I2C_NFORCE2 is not set | ||
692 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
693 | # CONFIG_I2C_PROSAVAGE is not set | ||
694 | # CONFIG_I2C_SAVAGE4 is not set | ||
695 | # CONFIG_SCx200_ACB is not set | ||
696 | # CONFIG_I2C_SIS5595 is not set | ||
697 | # CONFIG_I2C_SIS630 is not set | ||
698 | # CONFIG_I2C_SIS96X is not set | ||
699 | # CONFIG_I2C_VIA is not set | ||
700 | # CONFIG_I2C_VIAPRO is not set | ||
701 | # CONFIG_I2C_VOODOO3 is not set | ||
702 | # CONFIG_I2C_PCA_ISA is not set | ||
703 | |||
704 | # | ||
705 | # Miscellaneous I2C Chip support | ||
706 | # | ||
707 | CONFIG_SENSORS_DS1337=y | ||
708 | # CONFIG_SENSORS_DS1374 is not set | ||
709 | # CONFIG_SENSORS_EEPROM is not set | ||
710 | # CONFIG_SENSORS_PCF8574 is not set | ||
711 | # CONFIG_SENSORS_PCA9539 is not set | ||
712 | # CONFIG_SENSORS_PCF8591 is not set | ||
713 | # CONFIG_SENSORS_RTC8564 is not set | ||
714 | # CONFIG_SENSORS_M41T00 is not set | ||
715 | # CONFIG_SENSORS_MAX6875 is not set | ||
716 | # CONFIG_RTC_X1205_I2C is not set | ||
717 | # CONFIG_I2C_DEBUG_CORE is not set | ||
718 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
719 | # CONFIG_I2C_DEBUG_BUS is not set | ||
720 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
721 | |||
722 | # | ||
723 | # Dallas's 1-wire bus | ||
724 | # | ||
725 | # CONFIG_W1 is not set | ||
726 | |||
727 | # | ||
728 | # Hardware Monitoring support | ||
729 | # | ||
730 | CONFIG_HWMON=y | ||
731 | # CONFIG_HWMON_VID is not set | ||
732 | # CONFIG_SENSORS_ADM1021 is not set | ||
733 | # CONFIG_SENSORS_ADM1025 is not set | ||
734 | # CONFIG_SENSORS_ADM1026 is not set | ||
735 | # CONFIG_SENSORS_ADM1031 is not set | ||
736 | # CONFIG_SENSORS_ADM9240 is not set | ||
737 | # CONFIG_SENSORS_ASB100 is not set | ||
738 | # CONFIG_SENSORS_ATXP1 is not set | ||
739 | # CONFIG_SENSORS_DS1621 is not set | ||
740 | # CONFIG_SENSORS_FSCHER is not set | ||
741 | # CONFIG_SENSORS_FSCPOS is not set | ||
742 | # CONFIG_SENSORS_GL518SM is not set | ||
743 | # CONFIG_SENSORS_GL520SM is not set | ||
744 | # CONFIG_SENSORS_IT87 is not set | ||
745 | # CONFIG_SENSORS_LM63 is not set | ||
746 | CONFIG_SENSORS_LM75=y | ||
747 | # CONFIG_SENSORS_LM77 is not set | ||
748 | # CONFIG_SENSORS_LM78 is not set | ||
749 | # CONFIG_SENSORS_LM80 is not set | ||
750 | # CONFIG_SENSORS_LM83 is not set | ||
751 | # CONFIG_SENSORS_LM85 is not set | ||
752 | # CONFIG_SENSORS_LM87 is not set | ||
753 | # CONFIG_SENSORS_LM90 is not set | ||
754 | # CONFIG_SENSORS_LM92 is not set | ||
755 | # CONFIG_SENSORS_MAX1619 is not set | ||
756 | # CONFIG_SENSORS_PC87360 is not set | ||
757 | # CONFIG_SENSORS_SIS5595 is not set | ||
758 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
759 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
760 | # CONFIG_SENSORS_VIA686A is not set | ||
761 | # CONFIG_SENSORS_W83781D is not set | ||
762 | # CONFIG_SENSORS_W83792D is not set | ||
763 | # CONFIG_SENSORS_W83L785TS is not set | ||
764 | # CONFIG_SENSORS_W83627HF is not set | ||
765 | # CONFIG_SENSORS_W83627EHF is not set | ||
766 | CONFIG_HWMON_DEBUG_CHIP=y | ||
767 | |||
768 | # | ||
769 | # Misc devices | ||
770 | # | ||
771 | |||
772 | # | ||
773 | # Multimedia Capabilities Port drivers | ||
774 | # | ||
775 | |||
776 | # | ||
777 | # Multimedia devices | ||
778 | # | ||
779 | # CONFIG_VIDEO_DEV is not set | ||
780 | |||
781 | # | ||
782 | # Digital Video Broadcasting Devices | ||
783 | # | ||
784 | # CONFIG_DVB is not set | ||
785 | |||
786 | # | ||
787 | # Graphics support | ||
788 | # | ||
789 | # CONFIG_FB is not set | ||
790 | |||
791 | # | ||
792 | # Sound | ||
793 | # | ||
794 | # CONFIG_SOUND is not set | ||
795 | |||
796 | # | ||
797 | # USB support | ||
798 | # | ||
799 | CONFIG_USB_ARCH_HAS_HCD=y | ||
800 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
801 | # CONFIG_USB is not set | ||
802 | |||
803 | # | ||
804 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
805 | # | ||
806 | |||
807 | # | ||
808 | # USB Gadget Support | ||
809 | # | ||
810 | # CONFIG_USB_GADGET is not set | ||
811 | |||
812 | # | ||
813 | # MMC/SD Card support | ||
814 | # | ||
815 | # CONFIG_MMC is not set | ||
816 | |||
817 | # | ||
818 | # InfiniBand support | ||
819 | # | ||
820 | # CONFIG_INFINIBAND is not set | ||
821 | |||
822 | # | ||
823 | # SN Devices | ||
824 | # | ||
825 | |||
826 | # | ||
827 | # File systems | ||
828 | # | ||
829 | CONFIG_EXT2_FS=y | ||
830 | # CONFIG_EXT2_FS_XATTR is not set | ||
831 | # CONFIG_EXT2_FS_XIP is not set | ||
832 | CONFIG_EXT3_FS=y | ||
833 | CONFIG_EXT3_FS_XATTR=y | ||
834 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
835 | # CONFIG_EXT3_FS_SECURITY is not set | ||
836 | CONFIG_JBD=y | ||
837 | # CONFIG_JBD_DEBUG is not set | ||
838 | CONFIG_FS_MBCACHE=y | ||
839 | # CONFIG_REISERFS_FS is not set | ||
840 | # CONFIG_JFS_FS is not set | ||
841 | # CONFIG_FS_POSIX_ACL is not set | ||
842 | # CONFIG_XFS_FS is not set | ||
843 | # CONFIG_MINIX_FS is not set | ||
844 | # CONFIG_ROMFS_FS is not set | ||
845 | CONFIG_INOTIFY=y | ||
846 | # CONFIG_QUOTA is not set | ||
847 | CONFIG_DNOTIFY=y | ||
848 | # CONFIG_AUTOFS_FS is not set | ||
849 | # CONFIG_AUTOFS4_FS is not set | ||
850 | # CONFIG_FUSE_FS is not set | ||
851 | |||
852 | # | ||
853 | # CD-ROM/DVD Filesystems | ||
854 | # | ||
855 | # CONFIG_ISO9660_FS is not set | ||
856 | # CONFIG_UDF_FS is not set | ||
857 | |||
858 | # | ||
859 | # DOS/FAT/NT Filesystems | ||
860 | # | ||
861 | # CONFIG_MSDOS_FS is not set | ||
862 | # CONFIG_VFAT_FS is not set | ||
863 | # CONFIG_NTFS_FS is not set | ||
864 | |||
865 | # | ||
866 | # Pseudo filesystems | ||
867 | # | ||
868 | CONFIG_PROC_FS=y | ||
869 | CONFIG_PROC_KCORE=y | ||
870 | CONFIG_SYSFS=y | ||
871 | CONFIG_TMPFS=y | ||
872 | # CONFIG_HUGETLB_PAGE is not set | ||
873 | CONFIG_RAMFS=y | ||
874 | # CONFIG_RELAYFS_FS is not set | ||
875 | |||
876 | # | ||
877 | # Miscellaneous filesystems | ||
878 | # | ||
879 | # CONFIG_ADFS_FS is not set | ||
880 | # CONFIG_AFFS_FS is not set | ||
881 | # CONFIG_HFS_FS is not set | ||
882 | # CONFIG_HFSPLUS_FS is not set | ||
883 | # CONFIG_BEFS_FS is not set | ||
884 | # CONFIG_BFS_FS is not set | ||
885 | # CONFIG_EFS_FS is not set | ||
886 | # CONFIG_JFFS_FS is not set | ||
887 | CONFIG_JFFS2_FS=y | ||
888 | CONFIG_JFFS2_FS_DEBUG=0 | ||
889 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
890 | # CONFIG_JFFS2_SUMMARY is not set | ||
891 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
892 | CONFIG_JFFS2_ZLIB=y | ||
893 | CONFIG_JFFS2_RTIME=y | ||
894 | # CONFIG_JFFS2_RUBIN is not set | ||
895 | CONFIG_CRAMFS=y | ||
896 | # CONFIG_VXFS_FS is not set | ||
897 | # CONFIG_HPFS_FS is not set | ||
898 | # CONFIG_QNX4FS_FS is not set | ||
899 | # CONFIG_SYSV_FS is not set | ||
900 | # CONFIG_UFS_FS is not set | ||
901 | |||
902 | # | ||
903 | # Network File Systems | ||
904 | # | ||
905 | CONFIG_NFS_FS=y | ||
906 | # CONFIG_NFS_V3 is not set | ||
907 | # CONFIG_NFS_V4 is not set | ||
908 | # CONFIG_NFS_DIRECTIO is not set | ||
909 | # CONFIG_NFSD is not set | ||
910 | CONFIG_ROOT_NFS=y | ||
911 | CONFIG_LOCKD=y | ||
912 | CONFIG_NFS_COMMON=y | ||
913 | CONFIG_SUNRPC=y | ||
914 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
915 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
916 | # CONFIG_SMB_FS is not set | ||
917 | # CONFIG_CIFS is not set | ||
918 | # CONFIG_NCP_FS is not set | ||
919 | # CONFIG_CODA_FS is not set | ||
920 | # CONFIG_AFS_FS is not set | ||
921 | # CONFIG_9P_FS is not set | ||
922 | |||
923 | # | ||
924 | # Partition Types | ||
925 | # | ||
926 | CONFIG_PARTITION_ADVANCED=y | ||
927 | # CONFIG_ACORN_PARTITION is not set | ||
928 | # CONFIG_OSF_PARTITION is not set | ||
929 | # CONFIG_AMIGA_PARTITION is not set | ||
930 | # CONFIG_ATARI_PARTITION is not set | ||
931 | # CONFIG_MAC_PARTITION is not set | ||
932 | # CONFIG_MSDOS_PARTITION is not set | ||
933 | # CONFIG_LDM_PARTITION is not set | ||
934 | # CONFIG_SGI_PARTITION is not set | ||
935 | # CONFIG_ULTRIX_PARTITION is not set | ||
936 | # CONFIG_SUN_PARTITION is not set | ||
937 | # CONFIG_EFI_PARTITION is not set | ||
938 | |||
939 | # | ||
940 | # Native Language Support | ||
941 | # | ||
942 | # CONFIG_NLS is not set | ||
943 | # CONFIG_SCC_ENET is not set | ||
944 | # CONFIG_FEC_ENET is not set | ||
945 | |||
946 | # | ||
947 | # CPM2 Options | ||
948 | # | ||
949 | |||
950 | # | ||
951 | # Library routines | ||
952 | # | ||
953 | # CONFIG_CRC_CCITT is not set | ||
954 | # CONFIG_CRC16 is not set | ||
955 | CONFIG_CRC32=y | ||
956 | # CONFIG_LIBCRC32C is not set | ||
957 | CONFIG_ZLIB_INFLATE=y | ||
958 | CONFIG_ZLIB_DEFLATE=y | ||
959 | # CONFIG_PROFILING is not set | ||
960 | |||
961 | # | ||
962 | # Kernel hacking | ||
963 | # | ||
964 | # CONFIG_PRINTK_TIME is not set | ||
965 | # CONFIG_DEBUG_KERNEL is not set | ||
966 | CONFIG_LOG_BUF_SHIFT=14 | ||
967 | # CONFIG_KGDB_CONSOLE is not set | ||
968 | # CONFIG_SERIAL_TEXT_DEBUG is not set | ||
969 | |||
970 | # | ||
971 | # Security options | ||
972 | # | ||
973 | # CONFIG_KEYS is not set | ||
974 | # CONFIG_SECURITY is not set | ||
975 | |||
976 | # | ||
977 | # Cryptographic options | ||
978 | # | ||
979 | # CONFIG_CRYPTO is not set | ||
980 | |||
981 | # | ||
982 | # Hardware crypto devices | ||
983 | # | ||
diff --git a/arch/ppc/configs/TQM8560_defconfig b/arch/ppc/configs/TQM8560_defconfig new file mode 100644 index 0000000000..1d90207282 --- /dev/null +++ b/arch/ppc/configs/TQM8560_defconfig | |||
@@ -0,0 +1,992 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.15-rc2 | ||
4 | # Wed Nov 30 16:47:53 2005 | ||
5 | # | ||
6 | CONFIG_MMU=y | ||
7 | CONFIG_GENERIC_HARDIRQS=y | ||
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
10 | CONFIG_PPC=y | ||
11 | CONFIG_PPC32=y | ||
12 | CONFIG_GENERIC_NVRAM=y | ||
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
15 | |||
16 | # | ||
17 | # Code maturity level options | ||
18 | # | ||
19 | CONFIG_EXPERIMENTAL=y | ||
20 | CONFIG_CLEAN_COMPILE=y | ||
21 | CONFIG_BROKEN_ON_SMP=y | ||
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
23 | |||
24 | # | ||
25 | # General setup | ||
26 | # | ||
27 | CONFIG_LOCALVERSION="" | ||
28 | CONFIG_LOCALVERSION_AUTO=y | ||
29 | CONFIG_SWAP=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | # CONFIG_POSIX_MQUEUE is not set | ||
32 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
33 | CONFIG_SYSCTL=y | ||
34 | # CONFIG_AUDIT is not set | ||
35 | # CONFIG_HOTPLUG is not set | ||
36 | CONFIG_KOBJECT_UEVENT=y | ||
37 | # CONFIG_IKCONFIG is not set | ||
38 | CONFIG_INITRAMFS_SOURCE="" | ||
39 | CONFIG_EMBEDDED=y | ||
40 | # CONFIG_KALLSYMS is not set | ||
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_BASE_FULL=y | ||
44 | CONFIG_FUTEX=y | ||
45 | # CONFIG_EPOLL is not set | ||
46 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
47 | CONFIG_SHMEM=y | ||
48 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
49 | CONFIG_CC_ALIGN_LABELS=0 | ||
50 | CONFIG_CC_ALIGN_LOOPS=0 | ||
51 | CONFIG_CC_ALIGN_JUMPS=0 | ||
52 | # CONFIG_TINY_SHMEM is not set | ||
53 | CONFIG_BASE_SMALL=0 | ||
54 | |||
55 | # | ||
56 | # Loadable module support | ||
57 | # | ||
58 | # CONFIG_MODULES is not set | ||
59 | |||
60 | # | ||
61 | # Block layer | ||
62 | # | ||
63 | # CONFIG_LBD is not set | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
79 | # Processor | ||
80 | # | ||
81 | # CONFIG_6xx is not set | ||
82 | # CONFIG_40x is not set | ||
83 | # CONFIG_44x is not set | ||
84 | # CONFIG_POWER3 is not set | ||
85 | # CONFIG_POWER4 is not set | ||
86 | # CONFIG_8xx is not set | ||
87 | # CONFIG_E200 is not set | ||
88 | CONFIG_E500=y | ||
89 | CONFIG_BOOKE=y | ||
90 | CONFIG_FSL_BOOKE=y | ||
91 | # CONFIG_PHYS_64BIT is not set | ||
92 | CONFIG_SPE=y | ||
93 | CONFIG_MATH_EMULATION=y | ||
94 | # CONFIG_KEXEC is not set | ||
95 | # CONFIG_CPU_FREQ is not set | ||
96 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
97 | CONFIG_85xx=y | ||
98 | CONFIG_PPC_INDIRECT_PCI_BE=y | ||
99 | |||
100 | # | ||
101 | # Freescale 85xx options | ||
102 | # | ||
103 | # CONFIG_MPC8540_ADS is not set | ||
104 | # CONFIG_MPC8548_CDS is not set | ||
105 | # CONFIG_MPC8555_CDS is not set | ||
106 | # CONFIG_MPC8560_ADS is not set | ||
107 | # CONFIG_SBC8560 is not set | ||
108 | # CONFIG_STX_GP3 is not set | ||
109 | # CONFIG_TQM8540 is not set | ||
110 | # CONFIG_TQM8541 is not set | ||
111 | # CONFIG_TQM8555 is not set | ||
112 | CONFIG_TQM8560=y | ||
113 | CONFIG_MPC8560=y | ||
114 | |||
115 | # | ||
116 | # Platform options | ||
117 | # | ||
118 | CONFIG_CPM2=y | ||
119 | # CONFIG_PC_KEYBOARD is not set | ||
120 | # CONFIG_HIGHMEM is not set | ||
121 | # CONFIG_HZ_100 is not set | ||
122 | CONFIG_HZ_250=y | ||
123 | # CONFIG_HZ_1000 is not set | ||
124 | CONFIG_HZ=250 | ||
125 | CONFIG_PREEMPT_NONE=y | ||
126 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
127 | # CONFIG_PREEMPT is not set | ||
128 | CONFIG_SELECT_MEMORY_MODEL=y | ||
129 | CONFIG_FLATMEM_MANUAL=y | ||
130 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
131 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
132 | CONFIG_FLATMEM=y | ||
133 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
134 | # CONFIG_SPARSEMEM_STATIC is not set | ||
135 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
136 | CONFIG_BINFMT_ELF=y | ||
137 | # CONFIG_BINFMT_MISC is not set | ||
138 | # CONFIG_CMDLINE_BOOL is not set | ||
139 | # CONFIG_PM is not set | ||
140 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
141 | CONFIG_SECCOMP=y | ||
142 | CONFIG_ISA_DMA_API=y | ||
143 | |||
144 | # | ||
145 | # Bus options | ||
146 | # | ||
147 | CONFIG_PPC_I8259=y | ||
148 | CONFIG_PPC_INDIRECT_PCI=y | ||
149 | CONFIG_PCI=y | ||
150 | CONFIG_PCI_DOMAINS=y | ||
151 | # CONFIG_PCI_LEGACY_PROC is not set | ||
152 | |||
153 | # | ||
154 | # PCCARD (PCMCIA/CardBus) support | ||
155 | # | ||
156 | # CONFIG_PCCARD is not set | ||
157 | # CONFIG_RAPIDIO is not set | ||
158 | |||
159 | # | ||
160 | # Advanced setup | ||
161 | # | ||
162 | # CONFIG_ADVANCED_OPTIONS is not set | ||
163 | |||
164 | # | ||
165 | # Default settings for advanced configuration options are used | ||
166 | # | ||
167 | CONFIG_HIGHMEM_START=0xfe000000 | ||
168 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
169 | CONFIG_KERNEL_START=0xc0000000 | ||
170 | CONFIG_TASK_SIZE=0x80000000 | ||
171 | CONFIG_BOOT_LOAD=0x00800000 | ||
172 | |||
173 | # | ||
174 | # Networking | ||
175 | # | ||
176 | CONFIG_NET=y | ||
177 | |||
178 | # | ||
179 | # Networking options | ||
180 | # | ||
181 | CONFIG_PACKET=y | ||
182 | # CONFIG_PACKET_MMAP is not set | ||
183 | CONFIG_UNIX=y | ||
184 | # CONFIG_NET_KEY is not set | ||
185 | CONFIG_INET=y | ||
186 | CONFIG_IP_MULTICAST=y | ||
187 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
188 | CONFIG_IP_FIB_HASH=y | ||
189 | CONFIG_IP_PNP=y | ||
190 | CONFIG_IP_PNP_DHCP=y | ||
191 | CONFIG_IP_PNP_BOOTP=y | ||
192 | # CONFIG_IP_PNP_RARP is not set | ||
193 | # CONFIG_NET_IPIP is not set | ||
194 | # CONFIG_NET_IPGRE is not set | ||
195 | # CONFIG_IP_MROUTE is not set | ||
196 | # CONFIG_ARPD is not set | ||
197 | CONFIG_SYN_COOKIES=y | ||
198 | # CONFIG_INET_AH is not set | ||
199 | # CONFIG_INET_ESP is not set | ||
200 | # CONFIG_INET_IPCOMP is not set | ||
201 | # CONFIG_INET_TUNNEL is not set | ||
202 | CONFIG_INET_DIAG=y | ||
203 | CONFIG_INET_TCP_DIAG=y | ||
204 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
205 | CONFIG_TCP_CONG_BIC=y | ||
206 | # CONFIG_IPV6 is not set | ||
207 | # CONFIG_NETFILTER is not set | ||
208 | |||
209 | # | ||
210 | # DCCP Configuration (EXPERIMENTAL) | ||
211 | # | ||
212 | # CONFIG_IP_DCCP is not set | ||
213 | |||
214 | # | ||
215 | # SCTP Configuration (EXPERIMENTAL) | ||
216 | # | ||
217 | # CONFIG_IP_SCTP is not set | ||
218 | # CONFIG_ATM is not set | ||
219 | # CONFIG_BRIDGE is not set | ||
220 | # CONFIG_VLAN_8021Q is not set | ||
221 | # CONFIG_DECNET is not set | ||
222 | # CONFIG_LLC2 is not set | ||
223 | # CONFIG_IPX is not set | ||
224 | # CONFIG_ATALK is not set | ||
225 | # CONFIG_X25 is not set | ||
226 | # CONFIG_LAPB is not set | ||
227 | # CONFIG_NET_DIVERT is not set | ||
228 | # CONFIG_ECONET is not set | ||
229 | # CONFIG_WAN_ROUTER is not set | ||
230 | |||
231 | # | ||
232 | # QoS and/or fair queueing | ||
233 | # | ||
234 | # CONFIG_NET_SCHED is not set | ||
235 | |||
236 | # | ||
237 | # Network testing | ||
238 | # | ||
239 | # CONFIG_NET_PKTGEN is not set | ||
240 | # CONFIG_HAMRADIO is not set | ||
241 | # CONFIG_IRDA is not set | ||
242 | # CONFIG_BT is not set | ||
243 | # CONFIG_IEEE80211 is not set | ||
244 | |||
245 | # | ||
246 | # Device Drivers | ||
247 | # | ||
248 | |||
249 | # | ||
250 | # Generic Driver Options | ||
251 | # | ||
252 | CONFIG_STANDALONE=y | ||
253 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
254 | # CONFIG_FW_LOADER is not set | ||
255 | |||
256 | # | ||
257 | # Connector - unified userspace <-> kernelspace linker | ||
258 | # | ||
259 | # CONFIG_CONNECTOR is not set | ||
260 | |||
261 | # | ||
262 | # Memory Technology Devices (MTD) | ||
263 | # | ||
264 | CONFIG_MTD=y | ||
265 | # CONFIG_MTD_DEBUG is not set | ||
266 | CONFIG_MTD_CONCAT=y | ||
267 | CONFIG_MTD_PARTITIONS=y | ||
268 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
269 | CONFIG_MTD_CMDLINE_PARTS=y | ||
270 | |||
271 | # | ||
272 | # User Modules And Translation Layers | ||
273 | # | ||
274 | CONFIG_MTD_CHAR=y | ||
275 | CONFIG_MTD_BLOCK=y | ||
276 | # CONFIG_FTL is not set | ||
277 | # CONFIG_NFTL is not set | ||
278 | # CONFIG_INFTL is not set | ||
279 | # CONFIG_RFD_FTL is not set | ||
280 | |||
281 | # | ||
282 | # RAM/ROM/Flash chip drivers | ||
283 | # | ||
284 | CONFIG_MTD_CFI=y | ||
285 | # CONFIG_MTD_JEDECPROBE is not set | ||
286 | CONFIG_MTD_GEN_PROBE=y | ||
287 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
288 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
289 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
290 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
291 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
292 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
293 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
294 | CONFIG_MTD_CFI_I1=y | ||
295 | CONFIG_MTD_CFI_I2=y | ||
296 | # CONFIG_MTD_CFI_I4 is not set | ||
297 | # CONFIG_MTD_CFI_I8 is not set | ||
298 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
299 | CONFIG_MTD_CFI_AMDSTD=y | ||
300 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
301 | # CONFIG_MTD_CFI_STAA is not set | ||
302 | CONFIG_MTD_CFI_UTIL=y | ||
303 | # CONFIG_MTD_RAM is not set | ||
304 | # CONFIG_MTD_ROM is not set | ||
305 | # CONFIG_MTD_ABSENT is not set | ||
306 | |||
307 | # | ||
308 | # Mapping drivers for chip access | ||
309 | # | ||
310 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
311 | # CONFIG_MTD_PHYSMAP is not set | ||
312 | CONFIG_MTD_TQM85xx=y | ||
313 | # CONFIG_MTD_PLATRAM is not set | ||
314 | |||
315 | # | ||
316 | # Self-contained MTD device drivers | ||
317 | # | ||
318 | # CONFIG_MTD_PMC551 is not set | ||
319 | # CONFIG_MTD_SLRAM is not set | ||
320 | # CONFIG_MTD_PHRAM is not set | ||
321 | # CONFIG_MTD_MTDRAM is not set | ||
322 | # CONFIG_MTD_BLKMTD is not set | ||
323 | # CONFIG_MTD_BLOCK2MTD is not set | ||
324 | |||
325 | # | ||
326 | # Disk-On-Chip Device Drivers | ||
327 | # | ||
328 | # CONFIG_MTD_DOC2000 is not set | ||
329 | # CONFIG_MTD_DOC2001 is not set | ||
330 | # CONFIG_MTD_DOC2001PLUS is not set | ||
331 | |||
332 | # | ||
333 | # NAND Flash Device Drivers | ||
334 | # | ||
335 | # CONFIG_MTD_NAND is not set | ||
336 | |||
337 | # | ||
338 | # OneNAND Flash Device Drivers | ||
339 | # | ||
340 | # CONFIG_MTD_ONENAND is not set | ||
341 | |||
342 | # | ||
343 | # Parallel port support | ||
344 | # | ||
345 | # CONFIG_PARPORT is not set | ||
346 | |||
347 | # | ||
348 | # Plug and Play support | ||
349 | # | ||
350 | |||
351 | # | ||
352 | # Block devices | ||
353 | # | ||
354 | # CONFIG_BLK_DEV_FD is not set | ||
355 | # CONFIG_BLK_CPQ_DA is not set | ||
356 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
357 | # CONFIG_BLK_DEV_DAC960 is not set | ||
358 | # CONFIG_BLK_DEV_UMEM is not set | ||
359 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
360 | CONFIG_BLK_DEV_LOOP=y | ||
361 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
362 | # CONFIG_BLK_DEV_NBD is not set | ||
363 | # CONFIG_BLK_DEV_SX8 is not set | ||
364 | CONFIG_BLK_DEV_RAM=y | ||
365 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
366 | CONFIG_BLK_DEV_RAM_SIZE=32768 | ||
367 | CONFIG_BLK_DEV_INITRD=y | ||
368 | # CONFIG_CDROM_PKTCDVD is not set | ||
369 | # CONFIG_ATA_OVER_ETH is not set | ||
370 | |||
371 | # | ||
372 | # ATA/ATAPI/MFM/RLL support | ||
373 | # | ||
374 | CONFIG_IDE=y | ||
375 | CONFIG_BLK_DEV_IDE=y | ||
376 | |||
377 | # | ||
378 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
379 | # | ||
380 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
381 | CONFIG_BLK_DEV_IDEDISK=y | ||
382 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
383 | # CONFIG_BLK_DEV_IDECD is not set | ||
384 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
385 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
386 | # CONFIG_IDE_TASK_IOCTL is not set | ||
387 | |||
388 | # | ||
389 | # IDE chipset support/bugfixes | ||
390 | # | ||
391 | CONFIG_IDE_GENERIC=y | ||
392 | CONFIG_BLK_DEV_IDEPCI=y | ||
393 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
394 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
395 | CONFIG_BLK_DEV_GENERIC=y | ||
396 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
397 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
398 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
399 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
400 | CONFIG_IDEDMA_PCI_AUTO=y | ||
401 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
402 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
403 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
404 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
405 | # CONFIG_BLK_DEV_CMD64X is not set | ||
406 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
407 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
408 | # CONFIG_BLK_DEV_CS5520 is not set | ||
409 | # CONFIG_BLK_DEV_CS5530 is not set | ||
410 | # CONFIG_BLK_DEV_HPT34X is not set | ||
411 | # CONFIG_BLK_DEV_HPT366 is not set | ||
412 | # CONFIG_BLK_DEV_SC1200 is not set | ||
413 | # CONFIG_BLK_DEV_PIIX is not set | ||
414 | # CONFIG_BLK_DEV_IT821X is not set | ||
415 | # CONFIG_BLK_DEV_NS87415 is not set | ||
416 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
417 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
418 | # CONFIG_BLK_DEV_SVWKS is not set | ||
419 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
420 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
421 | # CONFIG_BLK_DEV_TRM290 is not set | ||
422 | CONFIG_BLK_DEV_VIA82CXXX=y | ||
423 | # CONFIG_IDE_ARM is not set | ||
424 | CONFIG_BLK_DEV_IDEDMA=y | ||
425 | # CONFIG_IDEDMA_IVB is not set | ||
426 | CONFIG_IDEDMA_AUTO=y | ||
427 | # CONFIG_BLK_DEV_HD is not set | ||
428 | |||
429 | # | ||
430 | # SCSI device support | ||
431 | # | ||
432 | # CONFIG_RAID_ATTRS is not set | ||
433 | # CONFIG_SCSI is not set | ||
434 | |||
435 | # | ||
436 | # Multi-device support (RAID and LVM) | ||
437 | # | ||
438 | # CONFIG_MD is not set | ||
439 | |||
440 | # | ||
441 | # Fusion MPT device support | ||
442 | # | ||
443 | # CONFIG_FUSION is not set | ||
444 | |||
445 | # | ||
446 | # IEEE 1394 (FireWire) support | ||
447 | # | ||
448 | # CONFIG_IEEE1394 is not set | ||
449 | |||
450 | # | ||
451 | # I2O device support | ||
452 | # | ||
453 | # CONFIG_I2O is not set | ||
454 | |||
455 | # | ||
456 | # Macintosh device drivers | ||
457 | # | ||
458 | # CONFIG_WINDFARM is not set | ||
459 | |||
460 | # | ||
461 | # Network device support | ||
462 | # | ||
463 | CONFIG_NETDEVICES=y | ||
464 | # CONFIG_DUMMY is not set | ||
465 | # CONFIG_BONDING is not set | ||
466 | # CONFIG_EQUALIZER is not set | ||
467 | # CONFIG_TUN is not set | ||
468 | |||
469 | # | ||
470 | # ARCnet devices | ||
471 | # | ||
472 | # CONFIG_ARCNET is not set | ||
473 | |||
474 | # | ||
475 | # PHY device support | ||
476 | # | ||
477 | CONFIG_PHYLIB=y | ||
478 | |||
479 | # | ||
480 | # MII PHY device drivers | ||
481 | # | ||
482 | # CONFIG_MARVELL_PHY is not set | ||
483 | # CONFIG_DAVICOM_PHY is not set | ||
484 | # CONFIG_QSEMI_PHY is not set | ||
485 | # CONFIG_LXT_PHY is not set | ||
486 | # CONFIG_CICADA_PHY is not set | ||
487 | |||
488 | # | ||
489 | # Ethernet (10 or 100Mbit) | ||
490 | # | ||
491 | CONFIG_NET_ETHERNET=y | ||
492 | CONFIG_MII=y | ||
493 | # CONFIG_HAPPYMEAL is not set | ||
494 | # CONFIG_SUNGEM is not set | ||
495 | # CONFIG_CASSINI is not set | ||
496 | # CONFIG_NET_VENDOR_3COM is not set | ||
497 | |||
498 | # | ||
499 | # Tulip family network device support | ||
500 | # | ||
501 | # CONFIG_NET_TULIP is not set | ||
502 | # CONFIG_HP100 is not set | ||
503 | CONFIG_NET_PCI=y | ||
504 | # CONFIG_PCNET32 is not set | ||
505 | # CONFIG_AMD8111_ETH is not set | ||
506 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
507 | # CONFIG_B44 is not set | ||
508 | # CONFIG_FORCEDETH is not set | ||
509 | # CONFIG_DGRS is not set | ||
510 | # CONFIG_EEPRO100 is not set | ||
511 | CONFIG_E100=y | ||
512 | # CONFIG_FEALNX is not set | ||
513 | # CONFIG_NATSEMI is not set | ||
514 | # CONFIG_NE2K_PCI is not set | ||
515 | # CONFIG_8139CP is not set | ||
516 | # CONFIG_8139TOO is not set | ||
517 | # CONFIG_SIS900 is not set | ||
518 | # CONFIG_EPIC100 is not set | ||
519 | # CONFIG_SUNDANCE is not set | ||
520 | # CONFIG_TLAN is not set | ||
521 | # CONFIG_VIA_RHINE is not set | ||
522 | # CONFIG_FS_ENET is not set | ||
523 | |||
524 | # | ||
525 | # Ethernet (1000 Mbit) | ||
526 | # | ||
527 | # CONFIG_ACENIC is not set | ||
528 | # CONFIG_DL2K is not set | ||
529 | # CONFIG_E1000 is not set | ||
530 | # CONFIG_NS83820 is not set | ||
531 | # CONFIG_HAMACHI is not set | ||
532 | # CONFIG_YELLOWFIN is not set | ||
533 | # CONFIG_R8169 is not set | ||
534 | # CONFIG_SIS190 is not set | ||
535 | # CONFIG_SKGE is not set | ||
536 | # CONFIG_SK98LIN is not set | ||
537 | # CONFIG_VIA_VELOCITY is not set | ||
538 | # CONFIG_TIGON3 is not set | ||
539 | # CONFIG_BNX2 is not set | ||
540 | CONFIG_GIANFAR=y | ||
541 | CONFIG_GFAR_NAPI=y | ||
542 | |||
543 | # | ||
544 | # Ethernet (10000 Mbit) | ||
545 | # | ||
546 | # CONFIG_CHELSIO_T1 is not set | ||
547 | # CONFIG_IXGB is not set | ||
548 | # CONFIG_S2IO is not set | ||
549 | |||
550 | # | ||
551 | # Token Ring devices | ||
552 | # | ||
553 | # CONFIG_TR is not set | ||
554 | |||
555 | # | ||
556 | # Wireless LAN (non-hamradio) | ||
557 | # | ||
558 | # CONFIG_NET_RADIO is not set | ||
559 | |||
560 | # | ||
561 | # Wan interfaces | ||
562 | # | ||
563 | # CONFIG_WAN is not set | ||
564 | # CONFIG_FDDI is not set | ||
565 | # CONFIG_HIPPI is not set | ||
566 | # CONFIG_PPP is not set | ||
567 | # CONFIG_SLIP is not set | ||
568 | # CONFIG_SHAPER is not set | ||
569 | # CONFIG_NETCONSOLE is not set | ||
570 | # CONFIG_NETPOLL is not set | ||
571 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
572 | |||
573 | # | ||
574 | # ISDN subsystem | ||
575 | # | ||
576 | # CONFIG_ISDN is not set | ||
577 | |||
578 | # | ||
579 | # Telephony Support | ||
580 | # | ||
581 | # CONFIG_PHONE is not set | ||
582 | |||
583 | # | ||
584 | # Input device support | ||
585 | # | ||
586 | CONFIG_INPUT=y | ||
587 | |||
588 | # | ||
589 | # Userland interfaces | ||
590 | # | ||
591 | # CONFIG_INPUT_MOUSEDEV is not set | ||
592 | # CONFIG_INPUT_JOYDEV is not set | ||
593 | # CONFIG_INPUT_TSDEV is not set | ||
594 | # CONFIG_INPUT_EVDEV is not set | ||
595 | # CONFIG_INPUT_EVBUG is not set | ||
596 | |||
597 | # | ||
598 | # Input Device Drivers | ||
599 | # | ||
600 | # CONFIG_INPUT_KEYBOARD is not set | ||
601 | # CONFIG_INPUT_MOUSE is not set | ||
602 | # CONFIG_INPUT_JOYSTICK is not set | ||
603 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
604 | # CONFIG_INPUT_MISC is not set | ||
605 | |||
606 | # | ||
607 | # Hardware I/O ports | ||
608 | # | ||
609 | # CONFIG_SERIO is not set | ||
610 | # CONFIG_GAMEPORT is not set | ||
611 | |||
612 | # | ||
613 | # Character devices | ||
614 | # | ||
615 | # CONFIG_VT is not set | ||
616 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
617 | |||
618 | # | ||
619 | # Serial drivers | ||
620 | # | ||
621 | CONFIG_SERIAL_8250=y | ||
622 | CONFIG_SERIAL_8250_CONSOLE=y | ||
623 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
624 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
625 | |||
626 | # | ||
627 | # Non-8250 serial port support | ||
628 | # | ||
629 | CONFIG_SERIAL_CORE=y | ||
630 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
631 | CONFIG_SERIAL_CPM=y | ||
632 | CONFIG_SERIAL_CPM_CONSOLE=y | ||
633 | CONFIG_SERIAL_CPM_SCC1=y | ||
634 | # CONFIG_SERIAL_CPM_SCC2 is not set | ||
635 | # CONFIG_SERIAL_CPM_SCC3 is not set | ||
636 | # CONFIG_SERIAL_CPM_SCC4 is not set | ||
637 | # CONFIG_SERIAL_CPM_SMC1 is not set | ||
638 | # CONFIG_SERIAL_CPM_SMC2 is not set | ||
639 | # CONFIG_SERIAL_JSM is not set | ||
640 | CONFIG_UNIX98_PTYS=y | ||
641 | CONFIG_LEGACY_PTYS=y | ||
642 | CONFIG_LEGACY_PTY_COUNT=256 | ||
643 | |||
644 | # | ||
645 | # IPMI | ||
646 | # | ||
647 | # CONFIG_IPMI_HANDLER is not set | ||
648 | |||
649 | # | ||
650 | # Watchdog Cards | ||
651 | # | ||
652 | # CONFIG_WATCHDOG is not set | ||
653 | # CONFIG_NVRAM is not set | ||
654 | CONFIG_GEN_RTC=y | ||
655 | # CONFIG_GEN_RTC_X is not set | ||
656 | # CONFIG_DTLK is not set | ||
657 | # CONFIG_R3964 is not set | ||
658 | # CONFIG_APPLICOM is not set | ||
659 | |||
660 | # | ||
661 | # Ftape, the floppy tape device driver | ||
662 | # | ||
663 | # CONFIG_AGP is not set | ||
664 | # CONFIG_DRM is not set | ||
665 | # CONFIG_RAW_DRIVER is not set | ||
666 | |||
667 | # | ||
668 | # TPM devices | ||
669 | # | ||
670 | # CONFIG_TCG_TPM is not set | ||
671 | # CONFIG_TELCLOCK is not set | ||
672 | |||
673 | # | ||
674 | # I2C support | ||
675 | # | ||
676 | CONFIG_I2C=y | ||
677 | CONFIG_I2C_CHARDEV=y | ||
678 | |||
679 | # | ||
680 | # I2C Algorithms | ||
681 | # | ||
682 | # CONFIG_I2C_ALGOBIT is not set | ||
683 | # CONFIG_I2C_ALGOPCF is not set | ||
684 | # CONFIG_I2C_ALGOPCA is not set | ||
685 | |||
686 | # | ||
687 | # I2C Hardware Bus support | ||
688 | # | ||
689 | # CONFIG_I2C_ALI1535 is not set | ||
690 | # CONFIG_I2C_ALI1563 is not set | ||
691 | # CONFIG_I2C_ALI15X3 is not set | ||
692 | # CONFIG_I2C_AMD756 is not set | ||
693 | # CONFIG_I2C_AMD8111 is not set | ||
694 | # CONFIG_I2C_I801 is not set | ||
695 | # CONFIG_I2C_I810 is not set | ||
696 | # CONFIG_I2C_PIIX4 is not set | ||
697 | CONFIG_I2C_MPC=y | ||
698 | # CONFIG_I2C_MPC8260 is not set | ||
699 | # CONFIG_I2C_NFORCE2 is not set | ||
700 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
701 | # CONFIG_I2C_PROSAVAGE is not set | ||
702 | # CONFIG_I2C_SAVAGE4 is not set | ||
703 | # CONFIG_SCx200_ACB is not set | ||
704 | # CONFIG_I2C_SIS5595 is not set | ||
705 | # CONFIG_I2C_SIS630 is not set | ||
706 | # CONFIG_I2C_SIS96X is not set | ||
707 | # CONFIG_I2C_VIA is not set | ||
708 | # CONFIG_I2C_VIAPRO is not set | ||
709 | # CONFIG_I2C_VOODOO3 is not set | ||
710 | # CONFIG_I2C_PCA_ISA is not set | ||
711 | |||
712 | # | ||
713 | # Miscellaneous I2C Chip support | ||
714 | # | ||
715 | CONFIG_SENSORS_DS1337=y | ||
716 | # CONFIG_SENSORS_DS1374 is not set | ||
717 | # CONFIG_SENSORS_EEPROM is not set | ||
718 | # CONFIG_SENSORS_MAX6900 is not set | ||
719 | # CONFIG_SENSORS_PCF8574 is not set | ||
720 | # CONFIG_SENSORS_PCF8563 is not set | ||
721 | # CONFIG_SENSORS_PCA9539 is not set | ||
722 | # CONFIG_SENSORS_PCF8591 is not set | ||
723 | # CONFIG_SENSORS_RTC8564 is not set | ||
724 | # CONFIG_SENSORS_M41T00 is not set | ||
725 | # CONFIG_SENSORS_MAX6875 is not set | ||
726 | # CONFIG_RTC_X1205_I2C is not set | ||
727 | # CONFIG_I2C_DEBUG_CORE is not set | ||
728 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
729 | # CONFIG_I2C_DEBUG_BUS is not set | ||
730 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
731 | |||
732 | # | ||
733 | # Dallas's 1-wire bus | ||
734 | # | ||
735 | # CONFIG_W1 is not set | ||
736 | |||
737 | # | ||
738 | # Hardware Monitoring support | ||
739 | # | ||
740 | CONFIG_HWMON=y | ||
741 | # CONFIG_HWMON_VID is not set | ||
742 | # CONFIG_SENSORS_ADM1021 is not set | ||
743 | # CONFIG_SENSORS_ADM1025 is not set | ||
744 | # CONFIG_SENSORS_ADM1026 is not set | ||
745 | # CONFIG_SENSORS_ADM1031 is not set | ||
746 | # CONFIG_SENSORS_ADM9240 is not set | ||
747 | # CONFIG_SENSORS_ASB100 is not set | ||
748 | # CONFIG_SENSORS_ATXP1 is not set | ||
749 | # CONFIG_SENSORS_DS1621 is not set | ||
750 | # CONFIG_SENSORS_FSCHER is not set | ||
751 | # CONFIG_SENSORS_FSCPOS is not set | ||
752 | # CONFIG_SENSORS_GL518SM is not set | ||
753 | # CONFIG_SENSORS_GL520SM is not set | ||
754 | # CONFIG_SENSORS_IT87 is not set | ||
755 | # CONFIG_SENSORS_LM63 is not set | ||
756 | CONFIG_SENSORS_LM75=y | ||
757 | # CONFIG_SENSORS_LM77 is not set | ||
758 | # CONFIG_SENSORS_LM78 is not set | ||
759 | # CONFIG_SENSORS_LM80 is not set | ||
760 | # CONFIG_SENSORS_LM83 is not set | ||
761 | # CONFIG_SENSORS_LM85 is not set | ||
762 | # CONFIG_SENSORS_LM87 is not set | ||
763 | # CONFIG_SENSORS_LM90 is not set | ||
764 | # CONFIG_SENSORS_LM92 is not set | ||
765 | # CONFIG_SENSORS_MAX1619 is not set | ||
766 | # CONFIG_SENSORS_PC87360 is not set | ||
767 | # CONFIG_SENSORS_SIS5595 is not set | ||
768 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
769 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
770 | # CONFIG_SENSORS_VIA686A is not set | ||
771 | # CONFIG_SENSORS_W83781D is not set | ||
772 | # CONFIG_SENSORS_W83792D is not set | ||
773 | # CONFIG_SENSORS_W83L785TS is not set | ||
774 | # CONFIG_SENSORS_W83627HF is not set | ||
775 | # CONFIG_SENSORS_W83627EHF is not set | ||
776 | CONFIG_HWMON_DEBUG_CHIP=y | ||
777 | |||
778 | # | ||
779 | # Misc devices | ||
780 | # | ||
781 | |||
782 | # | ||
783 | # Multimedia Capabilities Port drivers | ||
784 | # | ||
785 | |||
786 | # | ||
787 | # Multimedia devices | ||
788 | # | ||
789 | # CONFIG_VIDEO_DEV is not set | ||
790 | |||
791 | # | ||
792 | # Digital Video Broadcasting Devices | ||
793 | # | ||
794 | # CONFIG_DVB is not set | ||
795 | |||
796 | # | ||
797 | # Graphics support | ||
798 | # | ||
799 | # CONFIG_FB is not set | ||
800 | |||
801 | # | ||
802 | # Sound | ||
803 | # | ||
804 | # CONFIG_SOUND is not set | ||
805 | |||
806 | # | ||
807 | # USB support | ||
808 | # | ||
809 | CONFIG_USB_ARCH_HAS_HCD=y | ||
810 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
811 | # CONFIG_USB is not set | ||
812 | |||
813 | # | ||
814 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
815 | # | ||
816 | |||
817 | # | ||
818 | # USB Gadget Support | ||
819 | # | ||
820 | # CONFIG_USB_GADGET is not set | ||
821 | |||
822 | # | ||
823 | # MMC/SD Card support | ||
824 | # | ||
825 | # CONFIG_MMC is not set | ||
826 | |||
827 | # | ||
828 | # InfiniBand support | ||
829 | # | ||
830 | # CONFIG_INFINIBAND is not set | ||
831 | |||
832 | # | ||
833 | # SN Devices | ||
834 | # | ||
835 | |||
836 | # | ||
837 | # File systems | ||
838 | # | ||
839 | CONFIG_EXT2_FS=y | ||
840 | # CONFIG_EXT2_FS_XATTR is not set | ||
841 | # CONFIG_EXT2_FS_XIP is not set | ||
842 | CONFIG_EXT3_FS=y | ||
843 | CONFIG_EXT3_FS_XATTR=y | ||
844 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
845 | # CONFIG_EXT3_FS_SECURITY is not set | ||
846 | CONFIG_JBD=y | ||
847 | # CONFIG_JBD_DEBUG is not set | ||
848 | CONFIG_FS_MBCACHE=y | ||
849 | # CONFIG_REISERFS_FS is not set | ||
850 | # CONFIG_JFS_FS is not set | ||
851 | # CONFIG_FS_POSIX_ACL is not set | ||
852 | # CONFIG_XFS_FS is not set | ||
853 | # CONFIG_MINIX_FS is not set | ||
854 | # CONFIG_ROMFS_FS is not set | ||
855 | CONFIG_INOTIFY=y | ||
856 | # CONFIG_QUOTA is not set | ||
857 | CONFIG_DNOTIFY=y | ||
858 | # CONFIG_AUTOFS_FS is not set | ||
859 | # CONFIG_AUTOFS4_FS is not set | ||
860 | # CONFIG_FUSE_FS is not set | ||
861 | |||
862 | # | ||
863 | # CD-ROM/DVD Filesystems | ||
864 | # | ||
865 | # CONFIG_ISO9660_FS is not set | ||
866 | # CONFIG_UDF_FS is not set | ||
867 | |||
868 | # | ||
869 | # DOS/FAT/NT Filesystems | ||
870 | # | ||
871 | # CONFIG_MSDOS_FS is not set | ||
872 | # CONFIG_VFAT_FS is not set | ||
873 | # CONFIG_NTFS_FS is not set | ||
874 | |||
875 | # | ||
876 | # Pseudo filesystems | ||
877 | # | ||
878 | CONFIG_PROC_FS=y | ||
879 | CONFIG_PROC_KCORE=y | ||
880 | CONFIG_SYSFS=y | ||
881 | CONFIG_TMPFS=y | ||
882 | # CONFIG_HUGETLB_PAGE is not set | ||
883 | CONFIG_RAMFS=y | ||
884 | # CONFIG_RELAYFS_FS is not set | ||
885 | |||
886 | # | ||
887 | # Miscellaneous filesystems | ||
888 | # | ||
889 | # CONFIG_ADFS_FS is not set | ||
890 | # CONFIG_AFFS_FS is not set | ||
891 | # CONFIG_HFS_FS is not set | ||
892 | # CONFIG_HFSPLUS_FS is not set | ||
893 | # CONFIG_BEFS_FS is not set | ||
894 | # CONFIG_BFS_FS is not set | ||
895 | # CONFIG_EFS_FS is not set | ||
896 | # CONFIG_JFFS_FS is not set | ||
897 | CONFIG_JFFS2_FS=y | ||
898 | CONFIG_JFFS2_FS_DEBUG=0 | ||
899 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
900 | # CONFIG_JFFS2_SUMMARY is not set | ||
901 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
902 | CONFIG_JFFS2_ZLIB=y | ||
903 | CONFIG_JFFS2_RTIME=y | ||
904 | # CONFIG_JFFS2_RUBIN is not set | ||
905 | CONFIG_CRAMFS=y | ||
906 | # CONFIG_VXFS_FS is not set | ||
907 | # CONFIG_HPFS_FS is not set | ||
908 | # CONFIG_QNX4FS_FS is not set | ||
909 | # CONFIG_SYSV_FS is not set | ||
910 | # CONFIG_UFS_FS is not set | ||
911 | |||
912 | # | ||
913 | # Network File Systems | ||
914 | # | ||
915 | CONFIG_NFS_FS=y | ||
916 | # CONFIG_NFS_V3 is not set | ||
917 | # CONFIG_NFS_V4 is not set | ||
918 | # CONFIG_NFS_DIRECTIO is not set | ||
919 | # CONFIG_NFSD is not set | ||
920 | CONFIG_ROOT_NFS=y | ||
921 | CONFIG_LOCKD=y | ||
922 | CONFIG_NFS_COMMON=y | ||
923 | CONFIG_SUNRPC=y | ||
924 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
925 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
926 | # CONFIG_SMB_FS is not set | ||
927 | # CONFIG_CIFS is not set | ||
928 | # CONFIG_NCP_FS is not set | ||
929 | # CONFIG_CODA_FS is not set | ||
930 | # CONFIG_AFS_FS is not set | ||
931 | # CONFIG_9P_FS is not set | ||
932 | |||
933 | # | ||
934 | # Partition Types | ||
935 | # | ||
936 | CONFIG_PARTITION_ADVANCED=y | ||
937 | # CONFIG_ACORN_PARTITION is not set | ||
938 | # CONFIG_OSF_PARTITION is not set | ||
939 | # CONFIG_AMIGA_PARTITION is not set | ||
940 | # CONFIG_ATARI_PARTITION is not set | ||
941 | # CONFIG_MAC_PARTITION is not set | ||
942 | # CONFIG_MSDOS_PARTITION is not set | ||
943 | # CONFIG_LDM_PARTITION is not set | ||
944 | # CONFIG_SGI_PARTITION is not set | ||
945 | # CONFIG_ULTRIX_PARTITION is not set | ||
946 | # CONFIG_SUN_PARTITION is not set | ||
947 | # CONFIG_EFI_PARTITION is not set | ||
948 | |||
949 | # | ||
950 | # Native Language Support | ||
951 | # | ||
952 | # CONFIG_NLS is not set | ||
953 | # CONFIG_SCC_ENET is not set | ||
954 | # CONFIG_FEC_ENET is not set | ||
955 | |||
956 | # | ||
957 | # CPM2 Options | ||
958 | # | ||
959 | |||
960 | # | ||
961 | # Library routines | ||
962 | # | ||
963 | # CONFIG_CRC_CCITT is not set | ||
964 | # CONFIG_CRC16 is not set | ||
965 | CONFIG_CRC32=y | ||
966 | # CONFIG_LIBCRC32C is not set | ||
967 | CONFIG_ZLIB_INFLATE=y | ||
968 | CONFIG_ZLIB_DEFLATE=y | ||
969 | # CONFIG_PROFILING is not set | ||
970 | |||
971 | # | ||
972 | # Kernel hacking | ||
973 | # | ||
974 | # CONFIG_PRINTK_TIME is not set | ||
975 | # CONFIG_DEBUG_KERNEL is not set | ||
976 | CONFIG_LOG_BUF_SHIFT=14 | ||
977 | # CONFIG_KGDB_CONSOLE is not set | ||
978 | |||
979 | # | ||
980 | # Security options | ||
981 | # | ||
982 | # CONFIG_KEYS is not set | ||
983 | # CONFIG_SECURITY is not set | ||
984 | |||
985 | # | ||
986 | # Cryptographic options | ||
987 | # | ||
988 | # CONFIG_CRYPTO is not set | ||
989 | |||
990 | # | ||
991 | # Hardware crypto devices | ||
992 | # | ||
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile index 0bb23fce42..ca02013008 100644 --- a/arch/ppc/kernel/Makefile +++ b/arch/ppc/kernel/Makefile | |||
@@ -13,7 +13,6 @@ extra-$(CONFIG_POWER4) += idle_power4.o | |||
13 | extra-y += vmlinux.lds | 13 | extra-y += vmlinux.lds |
14 | 14 | ||
15 | obj-y := entry.o traps.o idle.o time.o misc.o \ | 15 | obj-y := entry.o traps.o idle.o time.o misc.o \ |
16 | process.o \ | ||
17 | setup.o \ | 16 | setup.o \ |
18 | ppc_htab.o | 17 | ppc_htab.o |
19 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o | 18 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o |
@@ -49,5 +48,4 @@ obj-$(CONFIG_TAU) += temp.o | |||
49 | ifndef CONFIG_E200 | 48 | ifndef CONFIG_E200 |
50 | obj-$(CONFIG_FSL_BOOKE) += perfmon_fsl_booke.o | 49 | obj-$(CONFIG_FSL_BOOKE) += perfmon_fsl_booke.o |
51 | endif | 50 | endif |
52 | obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o | ||
53 | endif | 51 | endif |
diff --git a/arch/ppc/kernel/asm-offsets.c b/arch/ppc/kernel/asm-offsets.c index fe0e767fb9..7964bf660e 100644 --- a/arch/ppc/kernel/asm-offsets.c +++ b/arch/ppc/kernel/asm-offsets.c | |||
@@ -131,7 +131,7 @@ main(void) | |||
131 | DEFINE(CPU_SPEC_FEATURES, offsetof(struct cpu_spec, cpu_features)); | 131 | DEFINE(CPU_SPEC_FEATURES, offsetof(struct cpu_spec, cpu_features)); |
132 | DEFINE(CPU_SPEC_SETUP, offsetof(struct cpu_spec, cpu_setup)); | 132 | DEFINE(CPU_SPEC_SETUP, offsetof(struct cpu_spec, cpu_setup)); |
133 | 133 | ||
134 | DEFINE(TI_SC_NOERR, offsetof(struct thread_info, syscall_noerror)); | 134 | DEFINE(TI_SIGFRAME, offsetof(struct thread_info, nvgprs_frame)); |
135 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); | 135 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); |
136 | DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); | 136 | DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); |
137 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | 137 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); |
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S index f044edbb45..a48b950722 100644 --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S | |||
@@ -200,8 +200,6 @@ _GLOBAL(DoSyscall) | |||
200 | bl do_show_syscall | 200 | bl do_show_syscall |
201 | #endif /* SHOW_SYSCALLS */ | 201 | #endif /* SHOW_SYSCALLS */ |
202 | rlwinm r10,r1,0,0,18 /* current_thread_info() */ | 202 | rlwinm r10,r1,0,0,18 /* current_thread_info() */ |
203 | li r11,0 | ||
204 | stb r11,TI_SC_NOERR(r10) | ||
205 | lwz r11,TI_FLAGS(r10) | 203 | lwz r11,TI_FLAGS(r10) |
206 | andi. r11,r11,_TIF_SYSCALL_T_OR_A | 204 | andi. r11,r11,_TIF_SYSCALL_T_OR_A |
207 | bne- syscall_dotrace | 205 | bne- syscall_dotrace |
@@ -222,25 +220,21 @@ ret_from_syscall: | |||
222 | bl do_show_syscall_exit | 220 | bl do_show_syscall_exit |
223 | #endif | 221 | #endif |
224 | mr r6,r3 | 222 | mr r6,r3 |
225 | li r11,-_LAST_ERRNO | ||
226 | cmplw 0,r3,r11 | ||
227 | rlwinm r12,r1,0,0,18 /* current_thread_info() */ | 223 | rlwinm r12,r1,0,0,18 /* current_thread_info() */ |
228 | blt+ 30f | ||
229 | lbz r11,TI_SC_NOERR(r12) | ||
230 | cmpwi r11,0 | ||
231 | bne 30f | ||
232 | neg r3,r3 | ||
233 | lwz r10,_CCR(r1) /* Set SO bit in CR */ | ||
234 | oris r10,r10,0x1000 | ||
235 | stw r10,_CCR(r1) | ||
236 | |||
237 | /* disable interrupts so current_thread_info()->flags can't change */ | 224 | /* disable interrupts so current_thread_info()->flags can't change */ |
238 | 30: LOAD_MSR_KERNEL(r10,MSR_KERNEL) /* doesn't include MSR_EE */ | 225 | LOAD_MSR_KERNEL(r10,MSR_KERNEL) /* doesn't include MSR_EE */ |
239 | SYNC | 226 | SYNC |
240 | MTMSRD(r10) | 227 | MTMSRD(r10) |
241 | lwz r9,TI_FLAGS(r12) | 228 | lwz r9,TI_FLAGS(r12) |
242 | andi. r0,r9,(_TIF_SYSCALL_T_OR_A|_TIF_SIGPENDING|_TIF_NEED_RESCHED) | 229 | li r8,-_LAST_ERRNO |
230 | andi. r0,r9,(_TIF_SYSCALL_T_OR_A|_TIF_SIGPENDING|_TIF_NEED_RESCHED|_TIF_RESTOREALL) | ||
243 | bne- syscall_exit_work | 231 | bne- syscall_exit_work |
232 | cmplw 0,r3,r8 | ||
233 | blt+ syscall_exit_cont | ||
234 | lwz r11,_CCR(r1) /* Load CR */ | ||
235 | neg r3,r3 | ||
236 | oris r11,r11,0x1000 /* Set SO bit in CR */ | ||
237 | stw r11,_CCR(r1) | ||
244 | syscall_exit_cont: | 238 | syscall_exit_cont: |
245 | #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) | 239 | #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) |
246 | /* If the process has its own DBCR0 value, load it up. The single | 240 | /* If the process has its own DBCR0 value, load it up. The single |
@@ -292,46 +286,113 @@ syscall_dotrace: | |||
292 | b syscall_dotrace_cont | 286 | b syscall_dotrace_cont |
293 | 287 | ||
294 | syscall_exit_work: | 288 | syscall_exit_work: |
295 | stw r6,RESULT(r1) /* Save result */ | 289 | andi. r0,r9,_TIF_RESTOREALL |
290 | bne- 2f | ||
291 | cmplw 0,r3,r8 | ||
292 | blt+ 1f | ||
293 | andi. r0,r9,_TIF_NOERROR | ||
294 | bne- 1f | ||
295 | lwz r11,_CCR(r1) /* Load CR */ | ||
296 | neg r3,r3 | ||
297 | oris r11,r11,0x1000 /* Set SO bit in CR */ | ||
298 | stw r11,_CCR(r1) | ||
299 | |||
300 | 1: stw r6,RESULT(r1) /* Save result */ | ||
296 | stw r3,GPR3(r1) /* Update return value */ | 301 | stw r3,GPR3(r1) /* Update return value */ |
297 | andi. r0,r9,_TIF_SYSCALL_T_OR_A | 302 | 2: andi. r0,r9,(_TIF_PERSYSCALL_MASK) |
298 | beq 5f | 303 | beq 4f |
299 | ori r10,r10,MSR_EE | 304 | |
300 | SYNC | 305 | /* Clear per-syscall TIF flags if any are set, but _leave_ |
301 | MTMSRD(r10) /* re-enable interrupts */ | 306 | _TIF_SAVE_NVGPRS set in r9 since we haven't dealt with that |
307 | yet. */ | ||
308 | |||
309 | li r11,_TIF_PERSYSCALL_MASK | ||
310 | addi r12,r12,TI_FLAGS | ||
311 | 3: lwarx r8,0,r12 | ||
312 | andc r8,r8,r11 | ||
313 | #ifdef CONFIG_IBM405_ERR77 | ||
314 | dcbt 0,r12 | ||
315 | #endif | ||
316 | stwcx. r8,0,r12 | ||
317 | bne- 3b | ||
318 | subi r12,r12,TI_FLAGS | ||
319 | |||
320 | 4: /* Anything which requires enabling interrupts? */ | ||
321 | andi. r0,r9,(_TIF_SYSCALL_T_OR_A|_TIF_SINGLESTEP|_TIF_SAVE_NVGPRS) | ||
322 | beq 7f | ||
323 | |||
324 | /* Save NVGPRS if they're not saved already */ | ||
302 | lwz r4,TRAP(r1) | 325 | lwz r4,TRAP(r1) |
303 | andi. r4,r4,1 | 326 | andi. r4,r4,1 |
304 | beq 4f | 327 | beq 5f |
305 | SAVE_NVGPRS(r1) | 328 | SAVE_NVGPRS(r1) |
306 | li r4,0xc00 | 329 | li r4,0xc00 |
307 | stw r4,TRAP(r1) | 330 | stw r4,TRAP(r1) |
308 | 4: | 331 | |
332 | /* Re-enable interrupts */ | ||
333 | 5: ori r10,r10,MSR_EE | ||
334 | SYNC | ||
335 | MTMSRD(r10) | ||
336 | |||
337 | andi. r0,r9,_TIF_SAVE_NVGPRS | ||
338 | bne save_user_nvgprs | ||
339 | |||
340 | save_user_nvgprs_cont: | ||
341 | andi. r0,r9,(_TIF_SYSCALL_T_OR_A|_TIF_SINGLESTEP) | ||
342 | beq 7f | ||
343 | |||
309 | addi r3,r1,STACK_FRAME_OVERHEAD | 344 | addi r3,r1,STACK_FRAME_OVERHEAD |
310 | bl do_syscall_trace_leave | 345 | bl do_syscall_trace_leave |
311 | REST_NVGPRS(r1) | 346 | REST_NVGPRS(r1) |
312 | 2: | 347 | |
313 | lwz r3,GPR3(r1) | 348 | 6: lwz r3,GPR3(r1) |
314 | LOAD_MSR_KERNEL(r10,MSR_KERNEL) /* doesn't include MSR_EE */ | 349 | LOAD_MSR_KERNEL(r10,MSR_KERNEL) /* doesn't include MSR_EE */ |
315 | SYNC | 350 | SYNC |
316 | MTMSRD(r10) /* disable interrupts again */ | 351 | MTMSRD(r10) /* disable interrupts again */ |
317 | rlwinm r12,r1,0,0,18 /* current_thread_info() */ | 352 | rlwinm r12,r1,0,0,18 /* current_thread_info() */ |
318 | lwz r9,TI_FLAGS(r12) | 353 | lwz r9,TI_FLAGS(r12) |
319 | 5: | 354 | 7: |
320 | andi. r0,r9,_TIF_NEED_RESCHED | 355 | andi. r0,r9,_TIF_NEED_RESCHED |
321 | bne 1f | 356 | bne 8f |
322 | lwz r5,_MSR(r1) | 357 | lwz r5,_MSR(r1) |
323 | andi. r5,r5,MSR_PR | 358 | andi. r5,r5,MSR_PR |
324 | beq syscall_exit_cont | 359 | beq ret_from_except |
325 | andi. r0,r9,_TIF_SIGPENDING | 360 | andi. r0,r9,_TIF_SIGPENDING |
326 | beq syscall_exit_cont | 361 | beq ret_from_except |
327 | b do_user_signal | 362 | b do_user_signal |
328 | 1: | 363 | 8: |
329 | ori r10,r10,MSR_EE | 364 | ori r10,r10,MSR_EE |
330 | SYNC | 365 | SYNC |
331 | MTMSRD(r10) /* re-enable interrupts */ | 366 | MTMSRD(r10) /* re-enable interrupts */ |
332 | bl schedule | 367 | bl schedule |
333 | b 2b | 368 | b 6b |
369 | |||
370 | save_user_nvgprs: | ||
371 | lwz r8,TI_SIGFRAME(r12) | ||
372 | |||
373 | .macro savewords start, end | ||
374 | 1: stw \start,4*(\start)(r8) | ||
375 | .section __ex_table,"a" | ||
376 | .align 2 | ||
377 | .long 1b,save_user_nvgprs_fault | ||
378 | .previous | ||
379 | .if \end - \start | ||
380 | savewords "(\start+1)",\end | ||
381 | .endif | ||
382 | .endm | ||
383 | savewords 14,31 | ||
384 | b save_user_nvgprs_cont | ||
385 | |||
386 | |||
387 | save_user_nvgprs_fault: | ||
388 | li r3,11 /* SIGSEGV */ | ||
389 | lwz r4,TI_TASK(r12) | ||
390 | bl force_sigsegv | ||
334 | 391 | ||
392 | rlwinm r12,r1,0,0,18 /* current_thread_info() */ | ||
393 | lwz r9,TI_FLAGS(r12) | ||
394 | b save_user_nvgprs_cont | ||
395 | |||
335 | #ifdef SHOW_SYSCALLS | 396 | #ifdef SHOW_SYSCALLS |
336 | do_show_syscall: | 397 | do_show_syscall: |
337 | #ifdef SHOW_SYSCALLS_TASK | 398 | #ifdef SHOW_SYSCALLS_TASK |
@@ -401,28 +462,10 @@ show_syscalls_task: | |||
401 | #endif /* SHOW_SYSCALLS */ | 462 | #endif /* SHOW_SYSCALLS */ |
402 | 463 | ||
403 | /* | 464 | /* |
404 | * The sigsuspend and rt_sigsuspend system calls can call do_signal | 465 | * The fork/clone functions need to copy the full register set into |
405 | * and thus put the process into the stopped state where we might | 466 | * the child process. Therefore we need to save all the nonvolatile |
406 | * want to examine its user state with ptrace. Therefore we need | 467 | * registers (r13 - r31) before calling the C code. |
407 | * to save all the nonvolatile registers (r13 - r31) before calling | ||
408 | * the C code. | ||
409 | */ | 468 | */ |
410 | .globl ppc_sigsuspend | ||
411 | ppc_sigsuspend: | ||
412 | SAVE_NVGPRS(r1) | ||
413 | lwz r0,TRAP(r1) | ||
414 | rlwinm r0,r0,0,0,30 /* clear LSB to indicate full */ | ||
415 | stw r0,TRAP(r1) /* register set saved */ | ||
416 | b sys_sigsuspend | ||
417 | |||
418 | .globl ppc_rt_sigsuspend | ||
419 | ppc_rt_sigsuspend: | ||
420 | SAVE_NVGPRS(r1) | ||
421 | lwz r0,TRAP(r1) | ||
422 | rlwinm r0,r0,0,0,30 | ||
423 | stw r0,TRAP(r1) | ||
424 | b sys_rt_sigsuspend | ||
425 | |||
426 | .globl ppc_fork | 469 | .globl ppc_fork |
427 | ppc_fork: | 470 | ppc_fork: |
428 | SAVE_NVGPRS(r1) | 471 | SAVE_NVGPRS(r1) |
@@ -447,14 +490,6 @@ ppc_clone: | |||
447 | stw r0,TRAP(r1) /* register set saved */ | 490 | stw r0,TRAP(r1) /* register set saved */ |
448 | b sys_clone | 491 | b sys_clone |
449 | 492 | ||
450 | .globl ppc_swapcontext | ||
451 | ppc_swapcontext: | ||
452 | SAVE_NVGPRS(r1) | ||
453 | lwz r0,TRAP(r1) | ||
454 | rlwinm r0,r0,0,0,30 /* clear LSB to indicate full */ | ||
455 | stw r0,TRAP(r1) /* register set saved */ | ||
456 | b sys_swapcontext | ||
457 | |||
458 | /* | 493 | /* |
459 | * Top-level page fault handling. | 494 | * Top-level page fault handling. |
460 | * This is in assembler because if do_page_fault tells us that | 495 | * This is in assembler because if do_page_fault tells us that |
@@ -626,16 +661,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_601) | |||
626 | .long ret_from_except | 661 | .long ret_from_except |
627 | #endif | 662 | #endif |
628 | 663 | ||
629 | .globl sigreturn_exit | ||
630 | sigreturn_exit: | ||
631 | subi r1,r3,STACK_FRAME_OVERHEAD | ||
632 | rlwinm r12,r1,0,0,18 /* current_thread_info() */ | ||
633 | lwz r9,TI_FLAGS(r12) | ||
634 | andi. r0,r9,_TIF_SYSCALL_T_OR_A | ||
635 | beq+ ret_from_except_full | ||
636 | bl do_syscall_trace_leave | ||
637 | /* fall through */ | ||
638 | |||
639 | .globl ret_from_except_full | 664 | .globl ret_from_except_full |
640 | ret_from_except_full: | 665 | ret_from_except_full: |
641 | REST_NVGPRS(r1) | 666 | REST_NVGPRS(r1) |
@@ -658,7 +683,7 @@ user_exc_return: /* r10 contains MSR_KERNEL here */ | |||
658 | /* Check current_thread_info()->flags */ | 683 | /* Check current_thread_info()->flags */ |
659 | rlwinm r9,r1,0,0,18 | 684 | rlwinm r9,r1,0,0,18 |
660 | lwz r9,TI_FLAGS(r9) | 685 | lwz r9,TI_FLAGS(r9) |
661 | andi. r0,r9,(_TIF_SIGPENDING|_TIF_NEED_RESCHED) | 686 | andi. r0,r9,(_TIF_SIGPENDING|_TIF_NEED_RESCHED|_TIF_RESTOREALL) |
662 | bne do_work | 687 | bne do_work |
663 | 688 | ||
664 | restore_user: | 689 | restore_user: |
diff --git a/arch/ppc/kernel/idle.c b/arch/ppc/kernel/idle.c index 821a75e456..1be3ca5bae 100644 --- a/arch/ppc/kernel/idle.c +++ b/arch/ppc/kernel/idle.c | |||
@@ -37,7 +37,6 @@ | |||
37 | void default_idle(void) | 37 | void default_idle(void) |
38 | { | 38 | { |
39 | void (*powersave)(void); | 39 | void (*powersave)(void); |
40 | int cpu = smp_processor_id(); | ||
41 | 40 | ||
42 | powersave = ppc_md.power_save; | 41 | powersave = ppc_md.power_save; |
43 | 42 | ||
@@ -47,7 +46,8 @@ void default_idle(void) | |||
47 | #ifdef CONFIG_SMP | 46 | #ifdef CONFIG_SMP |
48 | else { | 47 | else { |
49 | set_thread_flag(TIF_POLLING_NRFLAG); | 48 | set_thread_flag(TIF_POLLING_NRFLAG); |
50 | while (!need_resched() && !cpu_is_offline(cpu)) | 49 | while (!need_resched() && |
50 | !cpu_is_offline(smp_processor_id())) | ||
51 | barrier(); | 51 | barrier(); |
52 | clear_thread_flag(TIF_POLLING_NRFLAG); | 52 | clear_thread_flag(TIF_POLLING_NRFLAG); |
53 | } | 53 | } |
diff --git a/arch/ppc/kernel/machine_kexec.c b/arch/ppc/kernel/machine_kexec.c index a882b0dbe8..84d65a8719 100644 --- a/arch/ppc/kernel/machine_kexec.c +++ b/arch/ppc/kernel/machine_kexec.c | |||
@@ -28,12 +28,6 @@ typedef NORET_TYPE void (*relocate_new_kernel_t)( | |||
28 | const extern unsigned char relocate_new_kernel[]; | 28 | const extern unsigned char relocate_new_kernel[]; |
29 | const extern unsigned int relocate_new_kernel_size; | 29 | const extern unsigned int relocate_new_kernel_size; |
30 | 30 | ||
31 | /* | ||
32 | * Provide a dummy crash_notes definition while crash dump arrives to ppc. | ||
33 | * This prevents breakage of crash_notes attribute in kernel/ksysfs.c. | ||
34 | */ | ||
35 | note_buf_t crash_notes[NR_CPUS]; | ||
36 | |||
37 | void machine_shutdown(void) | 31 | void machine_shutdown(void) |
38 | { | 32 | { |
39 | if (ppc_md.machine_shutdown) | 33 | if (ppc_md.machine_shutdown) |
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S index 5e61124581..fb5658bba2 100644 --- a/arch/ppc/kernel/misc.S +++ b/arch/ppc/kernel/misc.S | |||
@@ -1197,7 +1197,7 @@ _GLOBAL(sys_call_table) | |||
1197 | .long sys_ssetmask | 1197 | .long sys_ssetmask |
1198 | .long sys_setreuid /* 70 */ | 1198 | .long sys_setreuid /* 70 */ |
1199 | .long sys_setregid | 1199 | .long sys_setregid |
1200 | .long ppc_sigsuspend | 1200 | .long sys_sigsuspend |
1201 | .long sys_sigpending | 1201 | .long sys_sigpending |
1202 | .long sys_sethostname | 1202 | .long sys_sethostname |
1203 | .long sys_setrlimit /* 75 */ | 1203 | .long sys_setrlimit /* 75 */ |
@@ -1303,7 +1303,7 @@ _GLOBAL(sys_call_table) | |||
1303 | .long sys_rt_sigpending /* 175 */ | 1303 | .long sys_rt_sigpending /* 175 */ |
1304 | .long sys_rt_sigtimedwait | 1304 | .long sys_rt_sigtimedwait |
1305 | .long sys_rt_sigqueueinfo | 1305 | .long sys_rt_sigqueueinfo |
1306 | .long ppc_rt_sigsuspend | 1306 | .long sys_rt_sigsuspend |
1307 | .long sys_pread64 | 1307 | .long sys_pread64 |
1308 | .long sys_pwrite64 /* 180 */ | 1308 | .long sys_pwrite64 /* 180 */ |
1309 | .long sys_chown | 1309 | .long sys_chown |
@@ -1374,7 +1374,7 @@ _GLOBAL(sys_call_table) | |||
1374 | .long sys_clock_gettime | 1374 | .long sys_clock_gettime |
1375 | .long sys_clock_getres | 1375 | .long sys_clock_getres |
1376 | .long sys_clock_nanosleep | 1376 | .long sys_clock_nanosleep |
1377 | .long ppc_swapcontext | 1377 | .long sys_swapcontext |
1378 | .long sys_tgkill /* 250 */ | 1378 | .long sys_tgkill /* 250 */ |
1379 | .long sys_utimes | 1379 | .long sys_utimes |
1380 | .long sys_statfs64 | 1380 | .long sys_statfs64 |
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c index f7fae5f153..704c846b2b 100644 --- a/arch/ppc/kernel/pci.c +++ b/arch/ppc/kernel/pci.c | |||
@@ -503,7 +503,7 @@ pcibios_allocate_resources(int pass) | |||
503 | u16 command; | 503 | u16 command; |
504 | struct resource *r; | 504 | struct resource *r; |
505 | 505 | ||
506 | while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { | 506 | for_each_pci_dev(dev) { |
507 | pci_read_config_word(dev, PCI_COMMAND, &command); | 507 | pci_read_config_word(dev, PCI_COMMAND, &command); |
508 | for (idx = 0; idx < 6; idx++) { | 508 | for (idx = 0; idx < 6; idx++) { |
509 | r = &dev->resource[idx]; | 509 | r = &dev->resource[idx]; |
@@ -540,7 +540,7 @@ pcibios_assign_resources(void) | |||
540 | int idx; | 540 | int idx; |
541 | struct resource *r; | 541 | struct resource *r; |
542 | 542 | ||
543 | while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { | 543 | for_each_pci_dev(dev) { |
544 | int class = dev->class >> 8; | 544 | int class = dev->class >> 8; |
545 | 545 | ||
546 | /* Don't touch classless devices and host bridges */ | 546 | /* Don't touch classless devices and host bridges */ |
@@ -815,8 +815,7 @@ EXPORT_SYMBOL(pci_device_to_OF_node); | |||
815 | * to set pci_assign_all_buses to 1 and still use RTAS for PCI | 815 | * to set pci_assign_all_buses to 1 and still use RTAS for PCI |
816 | * config cycles. | 816 | * config cycles. |
817 | */ | 817 | */ |
818 | struct pci_controller* | 818 | struct pci_controller* pci_find_hose_for_OF_device(struct device_node* node) |
819 | pci_find_hose_for_OF_device(struct device_node* node) | ||
820 | { | 819 | { |
821 | if (!have_of) | 820 | if (!have_of) |
822 | return NULL; | 821 | return NULL; |
@@ -868,14 +867,15 @@ pci_device_from_OF_node(struct device_node* node, u8* bus, u8* devfn) | |||
868 | */ | 867 | */ |
869 | if (!pci_to_OF_bus_map) | 868 | if (!pci_to_OF_bus_map) |
870 | return 0; | 869 | return 0; |
871 | while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { | 870 | |
872 | if (pci_to_OF_bus_map[dev->bus->number] != *bus) | 871 | for_each_pci_dev(dev) |
873 | continue; | 872 | if (pci_to_OF_bus_map[dev->bus->number] == *bus && |
874 | if (dev->devfn != *devfn) | 873 | dev->devfn == *devfn) { |
875 | continue; | 874 | *bus = dev->bus->number; |
876 | *bus = dev->bus->number; | 875 | pci_dev_put(dev); |
877 | return 0; | 876 | return 0; |
878 | } | 877 | } |
878 | |||
879 | return -ENODEV; | 879 | return -ENODEV; |
880 | } | 880 | } |
881 | EXPORT_SYMBOL(pci_device_from_OF_node); | 881 | EXPORT_SYMBOL(pci_device_from_OF_node); |
@@ -942,7 +942,7 @@ pci_process_bridge_OF_ranges(struct pci_controller *hose, | |||
942 | while (ranges && (rlen -= np * sizeof(unsigned int)) >= 0) { | 942 | while (ranges && (rlen -= np * sizeof(unsigned int)) >= 0) { |
943 | res = NULL; | 943 | res = NULL; |
944 | size = ranges[na+4]; | 944 | size = ranges[na+4]; |
945 | switch (ranges[0] >> 24) { | 945 | switch ((ranges[0] >> 24) & 0x3) { |
946 | case 1: /* I/O space */ | 946 | case 1: /* I/O space */ |
947 | if (ranges[2] != 0) | 947 | if (ranges[2] != 0) |
948 | break; | 948 | break; |
@@ -956,6 +956,8 @@ pci_process_bridge_OF_ranges(struct pci_controller *hose, | |||
956 | res = &hose->io_resource; | 956 | res = &hose->io_resource; |
957 | res->flags = IORESOURCE_IO; | 957 | res->flags = IORESOURCE_IO; |
958 | res->start = ranges[2]; | 958 | res->start = ranges[2]; |
959 | DBG("PCI: IO 0x%lx -> 0x%lx\n", | ||
960 | res->start, res->start + size - 1); | ||
959 | break; | 961 | break; |
960 | case 2: /* memory space */ | 962 | case 2: /* memory space */ |
961 | memno = 0; | 963 | memno = 0; |
@@ -973,7 +975,11 @@ pci_process_bridge_OF_ranges(struct pci_controller *hose, | |||
973 | if (memno < 3) { | 975 | if (memno < 3) { |
974 | res = &hose->mem_resources[memno]; | 976 | res = &hose->mem_resources[memno]; |
975 | res->flags = IORESOURCE_MEM; | 977 | res->flags = IORESOURCE_MEM; |
978 | if(ranges[0] & 0x40000000) | ||
979 | res->flags |= IORESOURCE_PREFETCH; | ||
976 | res->start = ranges[na+2]; | 980 | res->start = ranges[na+2]; |
981 | DBG("PCI: MEM[%d] 0x%lx -> 0x%lx\n", memno, | ||
982 | res->start, res->start + size - 1); | ||
977 | } | 983 | } |
978 | break; | 984 | break; |
979 | } | 985 | } |
@@ -1806,6 +1812,23 @@ void pci_iounmap(struct pci_dev *dev, void __iomem *addr) | |||
1806 | EXPORT_SYMBOL(pci_iomap); | 1812 | EXPORT_SYMBOL(pci_iomap); |
1807 | EXPORT_SYMBOL(pci_iounmap); | 1813 | EXPORT_SYMBOL(pci_iounmap); |
1808 | 1814 | ||
1815 | unsigned long pci_address_to_pio(phys_addr_t address) | ||
1816 | { | ||
1817 | struct pci_controller* hose = hose_head; | ||
1818 | |||
1819 | for (; hose; hose = hose->next) { | ||
1820 | unsigned int size = hose->io_resource.end - | ||
1821 | hose->io_resource.start + 1; | ||
1822 | if (address >= hose->io_base_phys && | ||
1823 | address < (hose->io_base_phys + size)) { | ||
1824 | unsigned long base = | ||
1825 | (unsigned long)hose->io_base_virt - _IO_BASE; | ||
1826 | return base + (address - hose->io_base_phys); | ||
1827 | } | ||
1828 | } | ||
1829 | return (unsigned int)-1; | ||
1830 | } | ||
1831 | EXPORT_SYMBOL(pci_address_to_pio); | ||
1809 | 1832 | ||
1810 | /* | 1833 | /* |
1811 | * Null PCI config access functions, for the case when we can't | 1834 | * Null PCI config access functions, for the case when we can't |
diff --git a/arch/ppc/kernel/ppc_htab.c b/arch/ppc/kernel/ppc_htab.c index ca81002599..2f5c765027 100644 --- a/arch/ppc/kernel/ppc_htab.c +++ b/arch/ppc/kernel/ppc_htab.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/proc_fs.h> | 16 | #include <linux/proc_fs.h> |
17 | #include <linux/stat.h> | 17 | #include <linux/stat.h> |
18 | #include <linux/sysctl.h> | 18 | #include <linux/sysctl.h> |
19 | #include <linux/capability.h> | ||
19 | #include <linux/ctype.h> | 20 | #include <linux/ctype.h> |
20 | #include <linux/threads.h> | 21 | #include <linux/threads.h> |
21 | #include <linux/smp_lock.h> | 22 | #include <linux/smp_lock.h> |
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index bb6a5c6a64..95075f99a6 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c | |||
@@ -82,10 +82,6 @@ EXPORT_SYMBOL(ppc_n_lost_interrupts); | |||
82 | EXPORT_SYMBOL(ISA_DMA_THRESHOLD); | 82 | EXPORT_SYMBOL(ISA_DMA_THRESHOLD); |
83 | EXPORT_SYMBOL(DMA_MODE_READ); | 83 | EXPORT_SYMBOL(DMA_MODE_READ); |
84 | EXPORT_SYMBOL(DMA_MODE_WRITE); | 84 | EXPORT_SYMBOL(DMA_MODE_WRITE); |
85 | #if defined(CONFIG_PPC_PREP) | ||
86 | EXPORT_SYMBOL(_prep_type); | ||
87 | EXPORT_SYMBOL(ucSystemType); | ||
88 | #endif | ||
89 | 85 | ||
90 | #if !defined(__INLINE_BITOPS) | 86 | #if !defined(__INLINE_BITOPS) |
91 | EXPORT_SYMBOL(set_bit); | 87 | EXPORT_SYMBOL(set_bit); |
@@ -311,7 +307,6 @@ EXPORT_SYMBOL(__res); | |||
311 | 307 | ||
312 | EXPORT_SYMBOL(next_mmu_context); | 308 | EXPORT_SYMBOL(next_mmu_context); |
313 | EXPORT_SYMBOL(set_context); | 309 | EXPORT_SYMBOL(set_context); |
314 | EXPORT_SYMBOL_GPL(__handle_mm_fault); /* For MOL */ | ||
315 | EXPORT_SYMBOL(disarm_decr); | 310 | EXPORT_SYMBOL(disarm_decr); |
316 | #ifdef CONFIG_PPC_STD_MMU | 311 | #ifdef CONFIG_PPC_STD_MMU |
317 | extern long mol_trampoline; | 312 | extern long mol_trampoline; |
diff --git a/arch/ppc/kernel/process.c b/arch/ppc/kernel/process.c deleted file mode 100644 index 25cbdc8d29..0000000000 --- a/arch/ppc/kernel/process.c +++ /dev/null | |||
@@ -1,851 +0,0 @@ | |||
1 | /* | ||
2 | * arch/ppc/kernel/process.c | ||
3 | * | ||
4 | * Derived from "arch/i386/kernel/process.c" | ||
5 | * Copyright (C) 1995 Linus Torvalds | ||
6 | * | ||
7 | * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and | ||
8 | * Paul Mackerras (paulus@cs.anu.edu.au) | ||
9 | * | ||
10 | * PowerPC version | ||
11 | * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or | ||
14 | * modify it under the terms of the GNU General Public License | ||
15 | * as published by the Free Software Foundation; either version | ||
16 | * 2 of the License, or (at your option) any later version. | ||
17 | * | ||
18 | */ | ||
19 | |||
20 | #include <linux/config.h> | ||
21 | #include <linux/errno.h> | ||
22 | #include <linux/sched.h> | ||
23 | #include <linux/kernel.h> | ||
24 | #include <linux/mm.h> | ||
25 | #include <linux/smp.h> | ||
26 | #include <linux/smp_lock.h> | ||
27 | #include <linux/stddef.h> | ||
28 | #include <linux/unistd.h> | ||
29 | #include <linux/ptrace.h> | ||
30 | #include <linux/slab.h> | ||
31 | #include <linux/user.h> | ||
32 | #include <linux/elf.h> | ||
33 | #include <linux/init.h> | ||
34 | #include <linux/prctl.h> | ||
35 | #include <linux/init_task.h> | ||
36 | #include <linux/module.h> | ||
37 | #include <linux/kallsyms.h> | ||
38 | #include <linux/mqueue.h> | ||
39 | #include <linux/hardirq.h> | ||
40 | |||
41 | #include <asm/pgtable.h> | ||
42 | #include <asm/uaccess.h> | ||
43 | #include <asm/system.h> | ||
44 | #include <asm/io.h> | ||
45 | #include <asm/processor.h> | ||
46 | #include <asm/mmu.h> | ||
47 | #include <asm/prom.h> | ||
48 | |||
49 | extern unsigned long _get_SP(void); | ||
50 | |||
51 | struct task_struct *last_task_used_math = NULL; | ||
52 | struct task_struct *last_task_used_altivec = NULL; | ||
53 | struct task_struct *last_task_used_spe = NULL; | ||
54 | |||
55 | static struct fs_struct init_fs = INIT_FS; | ||
56 | static struct files_struct init_files = INIT_FILES; | ||
57 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | ||
58 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | ||
59 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
60 | EXPORT_SYMBOL(init_mm); | ||
61 | |||
62 | /* this is 8kB-aligned so we can get to the thread_info struct | ||
63 | at the base of it from the stack pointer with 1 integer instruction. */ | ||
64 | union thread_union init_thread_union | ||
65 | __attribute__((__section__(".data.init_task"))) = | ||
66 | { INIT_THREAD_INFO(init_task) }; | ||
67 | |||
68 | /* initial task structure */ | ||
69 | struct task_struct init_task = INIT_TASK(init_task); | ||
70 | EXPORT_SYMBOL(init_task); | ||
71 | |||
72 | /* only used to get secondary processor up */ | ||
73 | struct task_struct *current_set[NR_CPUS] = {&init_task, }; | ||
74 | |||
75 | #undef SHOW_TASK_SWITCHES | ||
76 | #undef CHECK_STACK | ||
77 | |||
78 | #if defined(CHECK_STACK) | ||
79 | unsigned long | ||
80 | kernel_stack_top(struct task_struct *tsk) | ||
81 | { | ||
82 | return ((unsigned long)tsk) + sizeof(union task_union); | ||
83 | } | ||
84 | |||
85 | unsigned long | ||
86 | task_top(struct task_struct *tsk) | ||
87 | { | ||
88 | return ((unsigned long)tsk) + sizeof(struct thread_info); | ||
89 | } | ||
90 | |||
91 | /* check to make sure the kernel stack is healthy */ | ||
92 | int check_stack(struct task_struct *tsk) | ||
93 | { | ||
94 | unsigned long stack_top = kernel_stack_top(tsk); | ||
95 | unsigned long tsk_top = task_top(tsk); | ||
96 | int ret = 0; | ||
97 | |||
98 | #if 0 | ||
99 | /* check thread magic */ | ||
100 | if ( tsk->thread.magic != THREAD_MAGIC ) | ||
101 | { | ||
102 | ret |= 1; | ||
103 | printk("thread.magic bad: %08x\n", tsk->thread.magic); | ||
104 | } | ||
105 | #endif | ||
106 | |||
107 | if ( !tsk ) | ||
108 | printk("check_stack(): tsk bad tsk %p\n",tsk); | ||
109 | |||
110 | /* check if stored ksp is bad */ | ||
111 | if ( (tsk->thread.ksp > stack_top) || (tsk->thread.ksp < tsk_top) ) | ||
112 | { | ||
113 | printk("stack out of bounds: %s/%d\n" | ||
114 | " tsk_top %08lx ksp %08lx stack_top %08lx\n", | ||
115 | tsk->comm,tsk->pid, | ||
116 | tsk_top, tsk->thread.ksp, stack_top); | ||
117 | ret |= 2; | ||
118 | } | ||
119 | |||
120 | /* check if stack ptr RIGHT NOW is bad */ | ||
121 | if ( (tsk == current) && ((_get_SP() > stack_top ) || (_get_SP() < tsk_top)) ) | ||
122 | { | ||
123 | printk("current stack ptr out of bounds: %s/%d\n" | ||
124 | " tsk_top %08lx sp %08lx stack_top %08lx\n", | ||
125 | current->comm,current->pid, | ||
126 | tsk_top, _get_SP(), stack_top); | ||
127 | ret |= 4; | ||
128 | } | ||
129 | |||
130 | #if 0 | ||
131 | /* check amount of free stack */ | ||
132 | for ( i = (unsigned long *)task_top(tsk) ; i < kernel_stack_top(tsk) ; i++ ) | ||
133 | { | ||
134 | if ( !i ) | ||
135 | printk("check_stack(): i = %p\n", i); | ||
136 | if ( *i != 0 ) | ||
137 | { | ||
138 | /* only notify if it's less than 900 bytes */ | ||
139 | if ( (i - (unsigned long *)task_top(tsk)) < 900 ) | ||
140 | printk("%d bytes free on stack\n", | ||
141 | i - task_top(tsk)); | ||
142 | break; | ||
143 | } | ||
144 | } | ||
145 | #endif | ||
146 | |||
147 | if (ret) | ||
148 | { | ||
149 | panic("bad kernel stack"); | ||
150 | } | ||
151 | return(ret); | ||
152 | } | ||
153 | #endif /* defined(CHECK_STACK) */ | ||
154 | |||
155 | /* | ||
156 | * Make sure the floating-point register state in the | ||
157 | * the thread_struct is up to date for task tsk. | ||
158 | */ | ||
159 | void flush_fp_to_thread(struct task_struct *tsk) | ||
160 | { | ||
161 | if (tsk->thread.regs) { | ||
162 | /* | ||
163 | * We need to disable preemption here because if we didn't, | ||
164 | * another process could get scheduled after the regs->msr | ||
165 | * test but before we have finished saving the FP registers | ||
166 | * to the thread_struct. That process could take over the | ||
167 | * FPU, and then when we get scheduled again we would store | ||
168 | * bogus values for the remaining FP registers. | ||
169 | */ | ||
170 | preempt_disable(); | ||
171 | if (tsk->thread.regs->msr & MSR_FP) { | ||
172 | #ifdef CONFIG_SMP | ||
173 | /* | ||
174 | * This should only ever be called for current or | ||
175 | * for a stopped child process. Since we save away | ||
176 | * the FP register state on context switch on SMP, | ||
177 | * there is something wrong if a stopped child appears | ||
178 | * to still have its FP state in the CPU registers. | ||
179 | */ | ||
180 | BUG_ON(tsk != current); | ||
181 | #endif | ||
182 | giveup_fpu(current); | ||
183 | } | ||
184 | preempt_enable(); | ||
185 | } | ||
186 | } | ||
187 | |||
188 | void enable_kernel_fp(void) | ||
189 | { | ||
190 | WARN_ON(preemptible()); | ||
191 | |||
192 | #ifdef CONFIG_SMP | ||
193 | if (current->thread.regs && (current->thread.regs->msr & MSR_FP)) | ||
194 | giveup_fpu(current); | ||
195 | else | ||
196 | giveup_fpu(NULL); /* just enables FP for kernel */ | ||
197 | #else | ||
198 | giveup_fpu(last_task_used_math); | ||
199 | #endif /* CONFIG_SMP */ | ||
200 | } | ||
201 | EXPORT_SYMBOL(enable_kernel_fp); | ||
202 | |||
203 | int dump_task_fpu(struct task_struct *tsk, elf_fpregset_t *fpregs) | ||
204 | { | ||
205 | preempt_disable(); | ||
206 | if (tsk->thread.regs && (tsk->thread.regs->msr & MSR_FP)) | ||
207 | giveup_fpu(tsk); | ||
208 | preempt_enable(); | ||
209 | memcpy(fpregs, &tsk->thread.fpr[0], sizeof(*fpregs)); | ||
210 | return 1; | ||
211 | } | ||
212 | |||
213 | #ifdef CONFIG_ALTIVEC | ||
214 | void enable_kernel_altivec(void) | ||
215 | { | ||
216 | WARN_ON(preemptible()); | ||
217 | |||
218 | #ifdef CONFIG_SMP | ||
219 | if (current->thread.regs && (current->thread.regs->msr & MSR_VEC)) | ||
220 | giveup_altivec(current); | ||
221 | else | ||
222 | giveup_altivec(NULL); /* just enable AltiVec for kernel - force */ | ||
223 | #else | ||
224 | giveup_altivec(last_task_used_altivec); | ||
225 | #endif /* __SMP __ */ | ||
226 | } | ||
227 | EXPORT_SYMBOL(enable_kernel_altivec); | ||
228 | |||
229 | /* | ||
230 | * Make sure the VMX/Altivec register state in the | ||
231 | * the thread_struct is up to date for task tsk. | ||
232 | */ | ||
233 | void flush_altivec_to_thread(struct task_struct *tsk) | ||
234 | { | ||
235 | if (tsk->thread.regs) { | ||
236 | preempt_disable(); | ||
237 | if (tsk->thread.regs->msr & MSR_VEC) { | ||
238 | #ifdef CONFIG_SMP | ||
239 | BUG_ON(tsk != current); | ||
240 | #endif | ||
241 | giveup_altivec(current); | ||
242 | } | ||
243 | preempt_enable(); | ||
244 | } | ||
245 | } | ||
246 | |||
247 | int dump_altivec(struct pt_regs *regs, elf_vrregset_t *vrregs) | ||
248 | { | ||
249 | if (regs->msr & MSR_VEC) | ||
250 | giveup_altivec(current); | ||
251 | memcpy(vrregs, ¤t->thread.vr[0], sizeof(*vrregs)); | ||
252 | return 1; | ||
253 | } | ||
254 | #endif /* CONFIG_ALTIVEC */ | ||
255 | |||
256 | #ifdef CONFIG_SPE | ||
257 | void | ||
258 | enable_kernel_spe(void) | ||
259 | { | ||
260 | WARN_ON(preemptible()); | ||
261 | |||
262 | #ifdef CONFIG_SMP | ||
263 | if (current->thread.regs && (current->thread.regs->msr & MSR_SPE)) | ||
264 | giveup_spe(current); | ||
265 | else | ||
266 | giveup_spe(NULL); /* just enable SPE for kernel - force */ | ||
267 | #else | ||
268 | giveup_spe(last_task_used_spe); | ||
269 | #endif /* __SMP __ */ | ||
270 | } | ||
271 | EXPORT_SYMBOL(enable_kernel_spe); | ||
272 | |||
273 | void flush_spe_to_thread(struct task_struct *tsk) | ||
274 | { | ||
275 | if (tsk->thread.regs) { | ||
276 | preempt_disable(); | ||
277 | if (tsk->thread.regs->msr & MSR_SPE) { | ||
278 | #ifdef CONFIG_SMP | ||
279 | BUG_ON(tsk != current); | ||
280 | #endif | ||
281 | giveup_spe(current); | ||
282 | } | ||
283 | preempt_enable(); | ||
284 | } | ||
285 | } | ||
286 | |||
287 | int dump_spe(struct pt_regs *regs, elf_vrregset_t *evrregs) | ||
288 | { | ||
289 | if (regs->msr & MSR_SPE) | ||
290 | giveup_spe(current); | ||
291 | /* We copy u32 evr[32] + u64 acc + u32 spefscr -> 35 */ | ||
292 | memcpy(evrregs, ¤t->thread.evr[0], sizeof(u32) * 35); | ||
293 | return 1; | ||
294 | } | ||
295 | #endif /* CONFIG_SPE */ | ||
296 | |||
297 | struct task_struct *__switch_to(struct task_struct *prev, | ||
298 | struct task_struct *new) | ||
299 | { | ||
300 | struct thread_struct *new_thread, *old_thread; | ||
301 | unsigned long s; | ||
302 | struct task_struct *last; | ||
303 | |||
304 | local_irq_save(s); | ||
305 | #ifdef CHECK_STACK | ||
306 | check_stack(prev); | ||
307 | check_stack(new); | ||
308 | #endif | ||
309 | |||
310 | #ifdef CONFIG_SMP | ||
311 | /* avoid complexity of lazy save/restore of fpu | ||
312 | * by just saving it every time we switch out if | ||
313 | * this task used the fpu during the last quantum. | ||
314 | * | ||
315 | * If it tries to use the fpu again, it'll trap and | ||
316 | * reload its fp regs. So we don't have to do a restore | ||
317 | * every switch, just a save. | ||
318 | * -- Cort | ||
319 | */ | ||
320 | if (prev->thread.regs && (prev->thread.regs->msr & MSR_FP)) | ||
321 | giveup_fpu(prev); | ||
322 | #ifdef CONFIG_ALTIVEC | ||
323 | /* | ||
324 | * If the previous thread used altivec in the last quantum | ||
325 | * (thus changing altivec regs) then save them. | ||
326 | * We used to check the VRSAVE register but not all apps | ||
327 | * set it, so we don't rely on it now (and in fact we need | ||
328 | * to save & restore VSCR even if VRSAVE == 0). -- paulus | ||
329 | * | ||
330 | * On SMP we always save/restore altivec regs just to avoid the | ||
331 | * complexity of changing processors. | ||
332 | * -- Cort | ||
333 | */ | ||
334 | if ((prev->thread.regs && (prev->thread.regs->msr & MSR_VEC))) | ||
335 | giveup_altivec(prev); | ||
336 | #endif /* CONFIG_ALTIVEC */ | ||
337 | #ifdef CONFIG_SPE | ||
338 | /* | ||
339 | * If the previous thread used spe in the last quantum | ||
340 | * (thus changing spe regs) then save them. | ||
341 | * | ||
342 | * On SMP we always save/restore spe regs just to avoid the | ||
343 | * complexity of changing processors. | ||
344 | */ | ||
345 | if ((prev->thread.regs && (prev->thread.regs->msr & MSR_SPE))) | ||
346 | giveup_spe(prev); | ||
347 | #endif /* CONFIG_SPE */ | ||
348 | #endif /* CONFIG_SMP */ | ||
349 | |||
350 | #ifdef CONFIG_ALTIVEC | ||
351 | /* Avoid the trap. On smp this this never happens since | ||
352 | * we don't set last_task_used_altivec -- Cort | ||
353 | */ | ||
354 | if (new->thread.regs && last_task_used_altivec == new) | ||
355 | new->thread.regs->msr |= MSR_VEC; | ||
356 | #endif | ||
357 | #ifdef CONFIG_SPE | ||
358 | /* Avoid the trap. On smp this this never happens since | ||
359 | * we don't set last_task_used_spe | ||
360 | */ | ||
361 | if (new->thread.regs && last_task_used_spe == new) | ||
362 | new->thread.regs->msr |= MSR_SPE; | ||
363 | #endif /* CONFIG_SPE */ | ||
364 | new_thread = &new->thread; | ||
365 | old_thread = ¤t->thread; | ||
366 | last = _switch(old_thread, new_thread); | ||
367 | local_irq_restore(s); | ||
368 | return last; | ||
369 | } | ||
370 | |||
371 | void show_regs(struct pt_regs * regs) | ||
372 | { | ||
373 | int i, trap; | ||
374 | |||
375 | printk("NIP: %08lX LR: %08lX SP: %08lX REGS: %p TRAP: %04lx %s\n", | ||
376 | regs->nip, regs->link, regs->gpr[1], regs, regs->trap, | ||
377 | print_tainted()); | ||
378 | printk("MSR: %08lx EE: %01x PR: %01x FP: %01x ME: %01x IR/DR: %01x%01x\n", | ||
379 | regs->msr, regs->msr&MSR_EE ? 1 : 0, regs->msr&MSR_PR ? 1 : 0, | ||
380 | regs->msr & MSR_FP ? 1 : 0,regs->msr&MSR_ME ? 1 : 0, | ||
381 | regs->msr&MSR_IR ? 1 : 0, | ||
382 | regs->msr&MSR_DR ? 1 : 0); | ||
383 | trap = TRAP(regs); | ||
384 | if (trap == 0x300 || trap == 0x600) | ||
385 | printk("DAR: %08lX, DSISR: %08lX\n", regs->dar, regs->dsisr); | ||
386 | printk("TASK = %p[%d] '%s' THREAD: %p\n", | ||
387 | current, current->pid, current->comm, current->thread_info); | ||
388 | printk("Last syscall: %ld ", current->thread.last_syscall); | ||
389 | |||
390 | #ifdef CONFIG_SMP | ||
391 | printk(" CPU: %d", smp_processor_id()); | ||
392 | #endif /* CONFIG_SMP */ | ||
393 | |||
394 | for (i = 0; i < 32; i++) { | ||
395 | long r; | ||
396 | if ((i % 8) == 0) | ||
397 | printk("\n" KERN_INFO "GPR%02d: ", i); | ||
398 | if (__get_user(r, ®s->gpr[i])) | ||
399 | break; | ||
400 | printk("%08lX ", r); | ||
401 | if (i == 12 && !FULL_REGS(regs)) | ||
402 | break; | ||
403 | } | ||
404 | printk("\n"); | ||
405 | #ifdef CONFIG_KALLSYMS | ||
406 | /* | ||
407 | * Lookup NIP late so we have the best change of getting the | ||
408 | * above info out without failing | ||
409 | */ | ||
410 | printk("NIP [%08lx] ", regs->nip); | ||
411 | print_symbol("%s\n", regs->nip); | ||
412 | printk("LR [%08lx] ", regs->link); | ||
413 | print_symbol("%s\n", regs->link); | ||
414 | #endif | ||
415 | show_stack(current, (unsigned long *) regs->gpr[1]); | ||
416 | } | ||
417 | |||
418 | void exit_thread(void) | ||
419 | { | ||
420 | preempt_disable(); | ||
421 | if (last_task_used_math == current) | ||
422 | last_task_used_math = NULL; | ||
423 | if (last_task_used_altivec == current) | ||
424 | last_task_used_altivec = NULL; | ||
425 | #ifdef CONFIG_SPE | ||
426 | if (last_task_used_spe == current) | ||
427 | last_task_used_spe = NULL; | ||
428 | #endif | ||
429 | preempt_enable(); | ||
430 | } | ||
431 | |||
432 | void flush_thread(void) | ||
433 | { | ||
434 | preempt_disable(); | ||
435 | if (last_task_used_math == current) | ||
436 | last_task_used_math = NULL; | ||
437 | if (last_task_used_altivec == current) | ||
438 | last_task_used_altivec = NULL; | ||
439 | #ifdef CONFIG_SPE | ||
440 | if (last_task_used_spe == current) | ||
441 | last_task_used_spe = NULL; | ||
442 | #endif | ||
443 | preempt_enable(); | ||
444 | } | ||
445 | |||
446 | void | ||
447 | release_thread(struct task_struct *t) | ||
448 | { | ||
449 | } | ||
450 | |||
451 | /* | ||
452 | * This gets called before we allocate a new thread and copy | ||
453 | * the current task into it. | ||
454 | */ | ||
455 | void prepare_to_copy(struct task_struct *tsk) | ||
456 | { | ||
457 | struct pt_regs *regs = tsk->thread.regs; | ||
458 | |||
459 | if (regs == NULL) | ||
460 | return; | ||
461 | preempt_disable(); | ||
462 | if (regs->msr & MSR_FP) | ||
463 | giveup_fpu(current); | ||
464 | #ifdef CONFIG_ALTIVEC | ||
465 | if (regs->msr & MSR_VEC) | ||
466 | giveup_altivec(current); | ||
467 | #endif /* CONFIG_ALTIVEC */ | ||
468 | #ifdef CONFIG_SPE | ||
469 | if (regs->msr & MSR_SPE) | ||
470 | giveup_spe(current); | ||
471 | #endif /* CONFIG_SPE */ | ||
472 | preempt_enable(); | ||
473 | } | ||
474 | |||
475 | /* | ||
476 | * Copy a thread.. | ||
477 | */ | ||
478 | int | ||
479 | copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | ||
480 | unsigned long unused, | ||
481 | struct task_struct *p, struct pt_regs *regs) | ||
482 | { | ||
483 | struct pt_regs *childregs, *kregs; | ||
484 | extern void ret_from_fork(void); | ||
485 | unsigned long sp = (unsigned long)p->thread_info + THREAD_SIZE; | ||
486 | unsigned long childframe; | ||
487 | |||
488 | CHECK_FULL_REGS(regs); | ||
489 | /* Copy registers */ | ||
490 | sp -= sizeof(struct pt_regs); | ||
491 | childregs = (struct pt_regs *) sp; | ||
492 | *childregs = *regs; | ||
493 | if ((childregs->msr & MSR_PR) == 0) { | ||
494 | /* for kernel thread, set `current' and stackptr in new task */ | ||
495 | childregs->gpr[1] = sp + sizeof(struct pt_regs); | ||
496 | childregs->gpr[2] = (unsigned long) p; | ||
497 | p->thread.regs = NULL; /* no user register state */ | ||
498 | } else { | ||
499 | childregs->gpr[1] = usp; | ||
500 | p->thread.regs = childregs; | ||
501 | if (clone_flags & CLONE_SETTLS) | ||
502 | childregs->gpr[2] = childregs->gpr[6]; | ||
503 | } | ||
504 | childregs->gpr[3] = 0; /* Result from fork() */ | ||
505 | sp -= STACK_FRAME_OVERHEAD; | ||
506 | childframe = sp; | ||
507 | |||
508 | /* | ||
509 | * The way this works is that at some point in the future | ||
510 | * some task will call _switch to switch to the new task. | ||
511 | * That will pop off the stack frame created below and start | ||
512 | * the new task running at ret_from_fork. The new task will | ||
513 | * do some house keeping and then return from the fork or clone | ||
514 | * system call, using the stack frame created above. | ||
515 | */ | ||
516 | sp -= sizeof(struct pt_regs); | ||
517 | kregs = (struct pt_regs *) sp; | ||
518 | sp -= STACK_FRAME_OVERHEAD; | ||
519 | p->thread.ksp = sp; | ||
520 | kregs->nip = (unsigned long)ret_from_fork; | ||
521 | |||
522 | p->thread.last_syscall = -1; | ||
523 | |||
524 | return 0; | ||
525 | } | ||
526 | |||
527 | /* | ||
528 | * Set up a thread for executing a new program | ||
529 | */ | ||
530 | void start_thread(struct pt_regs *regs, unsigned long nip, unsigned long sp) | ||
531 | { | ||
532 | set_fs(USER_DS); | ||
533 | memset(regs->gpr, 0, sizeof(regs->gpr)); | ||
534 | regs->ctr = 0; | ||
535 | regs->link = 0; | ||
536 | regs->xer = 0; | ||
537 | regs->ccr = 0; | ||
538 | regs->mq = 0; | ||
539 | regs->nip = nip; | ||
540 | regs->gpr[1] = sp; | ||
541 | regs->msr = MSR_USER; | ||
542 | preempt_disable(); | ||
543 | if (last_task_used_math == current) | ||
544 | last_task_used_math = NULL; | ||
545 | if (last_task_used_altivec == current) | ||
546 | last_task_used_altivec = NULL; | ||
547 | #ifdef CONFIG_SPE | ||
548 | if (last_task_used_spe == current) | ||
549 | last_task_used_spe = NULL; | ||
550 | #endif | ||
551 | preempt_enable(); | ||
552 | memset(current->thread.fpr, 0, sizeof(current->thread.fpr)); | ||
553 | current->thread.fpscr.val = 0; | ||
554 | #ifdef CONFIG_ALTIVEC | ||
555 | memset(current->thread.vr, 0, sizeof(current->thread.vr)); | ||
556 | memset(¤t->thread.vscr, 0, sizeof(current->thread.vscr)); | ||
557 | current->thread.vrsave = 0; | ||
558 | current->thread.used_vr = 0; | ||
559 | #endif /* CONFIG_ALTIVEC */ | ||
560 | #ifdef CONFIG_SPE | ||
561 | memset(current->thread.evr, 0, sizeof(current->thread.evr)); | ||
562 | current->thread.acc = 0; | ||
563 | current->thread.spefscr = 0; | ||
564 | current->thread.used_spe = 0; | ||
565 | #endif /* CONFIG_SPE */ | ||
566 | } | ||
567 | |||
568 | #define PR_FP_ALL_EXCEPT (PR_FP_EXC_DIV | PR_FP_EXC_OVF | PR_FP_EXC_UND \ | ||
569 | | PR_FP_EXC_RES | PR_FP_EXC_INV) | ||
570 | |||
571 | int set_fpexc_mode(struct task_struct *tsk, unsigned int val) | ||
572 | { | ||
573 | struct pt_regs *regs = tsk->thread.regs; | ||
574 | |||
575 | /* This is a bit hairy. If we are an SPE enabled processor | ||
576 | * (have embedded fp) we store the IEEE exception enable flags in | ||
577 | * fpexc_mode. fpexc_mode is also used for setting FP exception | ||
578 | * mode (asyn, precise, disabled) for 'Classic' FP. */ | ||
579 | if (val & PR_FP_EXC_SW_ENABLE) { | ||
580 | #ifdef CONFIG_SPE | ||
581 | tsk->thread.fpexc_mode = val & | ||
582 | (PR_FP_EXC_SW_ENABLE | PR_FP_ALL_EXCEPT); | ||
583 | #else | ||
584 | return -EINVAL; | ||
585 | #endif | ||
586 | } else { | ||
587 | /* on a CONFIG_SPE this does not hurt us. The bits that | ||
588 | * __pack_fe01 use do not overlap with bits used for | ||
589 | * PR_FP_EXC_SW_ENABLE. Additionally, the MSR[FE0,FE1] bits | ||
590 | * on CONFIG_SPE implementations are reserved so writing to | ||
591 | * them does not change anything */ | ||
592 | if (val > PR_FP_EXC_PRECISE) | ||
593 | return -EINVAL; | ||
594 | tsk->thread.fpexc_mode = __pack_fe01(val); | ||
595 | if (regs != NULL && (regs->msr & MSR_FP) != 0) | ||
596 | regs->msr = (regs->msr & ~(MSR_FE0|MSR_FE1)) | ||
597 | | tsk->thread.fpexc_mode; | ||
598 | } | ||
599 | return 0; | ||
600 | } | ||
601 | |||
602 | int get_fpexc_mode(struct task_struct *tsk, unsigned long adr) | ||
603 | { | ||
604 | unsigned int val; | ||
605 | |||
606 | if (tsk->thread.fpexc_mode & PR_FP_EXC_SW_ENABLE) | ||
607 | #ifdef CONFIG_SPE | ||
608 | val = tsk->thread.fpexc_mode; | ||
609 | #else | ||
610 | return -EINVAL; | ||
611 | #endif | ||
612 | else | ||
613 | val = __unpack_fe01(tsk->thread.fpexc_mode); | ||
614 | return put_user(val, (unsigned int __user *) adr); | ||
615 | } | ||
616 | |||
617 | int sys_clone(unsigned long clone_flags, unsigned long usp, | ||
618 | int __user *parent_tidp, void __user *child_threadptr, | ||
619 | int __user *child_tidp, int p6, | ||
620 | struct pt_regs *regs) | ||
621 | { | ||
622 | CHECK_FULL_REGS(regs); | ||
623 | if (usp == 0) | ||
624 | usp = regs->gpr[1]; /* stack pointer for child */ | ||
625 | return do_fork(clone_flags, usp, regs, 0, parent_tidp, child_tidp); | ||
626 | } | ||
627 | |||
628 | int sys_fork(unsigned long p1, unsigned long p2, unsigned long p3, | ||
629 | unsigned long p4, unsigned long p5, unsigned long p6, | ||
630 | struct pt_regs *regs) | ||
631 | { | ||
632 | CHECK_FULL_REGS(regs); | ||
633 | return do_fork(SIGCHLD, regs->gpr[1], regs, 0, NULL, NULL); | ||
634 | } | ||
635 | |||
636 | int sys_vfork(unsigned long p1, unsigned long p2, unsigned long p3, | ||
637 | unsigned long p4, unsigned long p5, unsigned long p6, | ||
638 | struct pt_regs *regs) | ||
639 | { | ||
640 | CHECK_FULL_REGS(regs); | ||
641 | return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->gpr[1], | ||
642 | regs, 0, NULL, NULL); | ||
643 | } | ||
644 | |||
645 | int sys_execve(unsigned long a0, unsigned long a1, unsigned long a2, | ||
646 | unsigned long a3, unsigned long a4, unsigned long a5, | ||
647 | struct pt_regs *regs) | ||
648 | { | ||
649 | int error; | ||
650 | char * filename; | ||
651 | |||
652 | filename = getname((char __user *) a0); | ||
653 | error = PTR_ERR(filename); | ||
654 | if (IS_ERR(filename)) | ||
655 | goto out; | ||
656 | preempt_disable(); | ||
657 | if (regs->msr & MSR_FP) | ||
658 | giveup_fpu(current); | ||
659 | #ifdef CONFIG_ALTIVEC | ||
660 | if (regs->msr & MSR_VEC) | ||
661 | giveup_altivec(current); | ||
662 | #endif /* CONFIG_ALTIVEC */ | ||
663 | #ifdef CONFIG_SPE | ||
664 | if (regs->msr & MSR_SPE) | ||
665 | giveup_spe(current); | ||
666 | #endif /* CONFIG_SPE */ | ||
667 | preempt_enable(); | ||
668 | error = do_execve(filename, (char __user *__user *) a1, | ||
669 | (char __user *__user *) a2, regs); | ||
670 | if (error == 0) { | ||
671 | task_lock(current); | ||
672 | current->ptrace &= ~PT_DTRACE; | ||
673 | task_unlock(current); | ||
674 | } | ||
675 | putname(filename); | ||
676 | out: | ||
677 | return error; | ||
678 | } | ||
679 | |||
680 | void dump_stack(void) | ||
681 | { | ||
682 | show_stack(current, NULL); | ||
683 | } | ||
684 | |||
685 | EXPORT_SYMBOL(dump_stack); | ||
686 | |||
687 | void show_stack(struct task_struct *tsk, unsigned long *stack) | ||
688 | { | ||
689 | unsigned long sp, stack_top, prev_sp, ret; | ||
690 | int count = 0; | ||
691 | unsigned long next_exc = 0; | ||
692 | struct pt_regs *regs; | ||
693 | extern char ret_from_except, ret_from_except_full, ret_from_syscall; | ||
694 | |||
695 | sp = (unsigned long) stack; | ||
696 | if (tsk == NULL) | ||
697 | tsk = current; | ||
698 | if (sp == 0) { | ||
699 | if (tsk == current) | ||
700 | asm("mr %0,1" : "=r" (sp)); | ||
701 | else | ||
702 | sp = tsk->thread.ksp; | ||
703 | } | ||
704 | |||
705 | prev_sp = (unsigned long) (tsk->thread_info + 1); | ||
706 | stack_top = (unsigned long) tsk->thread_info + THREAD_SIZE; | ||
707 | while (count < 16 && sp > prev_sp && sp < stack_top && (sp & 3) == 0) { | ||
708 | if (count == 0) { | ||
709 | printk("Call trace:"); | ||
710 | #ifdef CONFIG_KALLSYMS | ||
711 | printk("\n"); | ||
712 | #endif | ||
713 | } else { | ||
714 | if (next_exc) { | ||
715 | ret = next_exc; | ||
716 | next_exc = 0; | ||
717 | } else | ||
718 | ret = *(unsigned long *)(sp + 4); | ||
719 | printk(" [%08lx] ", ret); | ||
720 | #ifdef CONFIG_KALLSYMS | ||
721 | print_symbol("%s", ret); | ||
722 | printk("\n"); | ||
723 | #endif | ||
724 | if (ret == (unsigned long) &ret_from_except | ||
725 | || ret == (unsigned long) &ret_from_except_full | ||
726 | || ret == (unsigned long) &ret_from_syscall) { | ||
727 | /* sp + 16 points to an exception frame */ | ||
728 | regs = (struct pt_regs *) (sp + 16); | ||
729 | if (sp + 16 + sizeof(*regs) <= stack_top) | ||
730 | next_exc = regs->nip; | ||
731 | } | ||
732 | } | ||
733 | ++count; | ||
734 | sp = *(unsigned long *)sp; | ||
735 | } | ||
736 | #ifndef CONFIG_KALLSYMS | ||
737 | if (count > 0) | ||
738 | printk("\n"); | ||
739 | #endif | ||
740 | } | ||
741 | |||
742 | #if 0 | ||
743 | /* | ||
744 | * Low level print for debugging - Cort | ||
745 | */ | ||
746 | int __init ll_printk(const char *fmt, ...) | ||
747 | { | ||
748 | va_list args; | ||
749 | char buf[256]; | ||
750 | int i; | ||
751 | |||
752 | va_start(args, fmt); | ||
753 | i=vsprintf(buf,fmt,args); | ||
754 | ll_puts(buf); | ||
755 | va_end(args); | ||
756 | return i; | ||
757 | } | ||
758 | |||
759 | int lines = 24, cols = 80; | ||
760 | int orig_x = 0, orig_y = 0; | ||
761 | |||
762 | void puthex(unsigned long val) | ||
763 | { | ||
764 | unsigned char buf[10]; | ||
765 | int i; | ||
766 | for (i = 7; i >= 0; i--) | ||
767 | { | ||
768 | buf[i] = "0123456789ABCDEF"[val & 0x0F]; | ||
769 | val >>= 4; | ||
770 | } | ||
771 | buf[8] = '\0'; | ||
772 | prom_print(buf); | ||
773 | } | ||
774 | |||
775 | void __init ll_puts(const char *s) | ||
776 | { | ||
777 | int x,y; | ||
778 | char *vidmem = (char *)/*(_ISA_MEM_BASE + 0xB8000) */0xD00B8000; | ||
779 | char c; | ||
780 | extern int mem_init_done; | ||
781 | |||
782 | if ( mem_init_done ) /* assume this means we can printk */ | ||
783 | { | ||
784 | printk(s); | ||
785 | return; | ||
786 | } | ||
787 | |||
788 | #if 0 | ||
789 | if ( have_of ) | ||
790 | { | ||
791 | prom_print(s); | ||
792 | return; | ||
793 | } | ||
794 | #endif | ||
795 | |||
796 | /* | ||
797 | * can't ll_puts on chrp without openfirmware yet. | ||
798 | * vidmem just needs to be setup for it. | ||
799 | * -- Cort | ||
800 | */ | ||
801 | if ( _machine != _MACH_prep ) | ||
802 | return; | ||
803 | x = orig_x; | ||
804 | y = orig_y; | ||
805 | |||
806 | while ( ( c = *s++ ) != '\0' ) { | ||
807 | if ( c == '\n' ) { | ||
808 | x = 0; | ||
809 | if ( ++y >= lines ) { | ||
810 | /*scroll();*/ | ||
811 | /*y--;*/ | ||
812 | y = 0; | ||
813 | } | ||
814 | } else { | ||
815 | vidmem [ ( x + cols * y ) * 2 ] = c; | ||
816 | if ( ++x >= cols ) { | ||
817 | x = 0; | ||
818 | if ( ++y >= lines ) { | ||
819 | /*scroll();*/ | ||
820 | /*y--;*/ | ||
821 | y = 0; | ||
822 | } | ||
823 | } | ||
824 | } | ||
825 | } | ||
826 | |||
827 | orig_x = x; | ||
828 | orig_y = y; | ||
829 | } | ||
830 | #endif | ||
831 | |||
832 | unsigned long get_wchan(struct task_struct *p) | ||
833 | { | ||
834 | unsigned long ip, sp; | ||
835 | unsigned long stack_page = (unsigned long) p->thread_info; | ||
836 | int count = 0; | ||
837 | if (!p || p == current || p->state == TASK_RUNNING) | ||
838 | return 0; | ||
839 | sp = p->thread.ksp; | ||
840 | do { | ||
841 | sp = *(unsigned long *)sp; | ||
842 | if (sp < stack_page || sp >= stack_page + 8188) | ||
843 | return 0; | ||
844 | if (count > 0) { | ||
845 | ip = *(unsigned long *)(sp + 4); | ||
846 | if (!in_sched_functions(ip)) | ||
847 | return ip; | ||
848 | } | ||
849 | } while (count++ < 16); | ||
850 | return 0; | ||
851 | } | ||
diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c index 0eb0b7085e..e707c6f6e6 100644 --- a/arch/ppc/kernel/setup.c +++ b/arch/ppc/kernel/setup.c | |||
@@ -744,6 +744,9 @@ void __init setup_arch(char **cmdline_p) | |||
744 | /* so udelay does something sensible, assume <= 1000 bogomips */ | 744 | /* so udelay does something sensible, assume <= 1000 bogomips */ |
745 | loops_per_jiffy = 500000000 / HZ; | 745 | loops_per_jiffy = 500000000 / HZ; |
746 | 746 | ||
747 | if (ppc_md.init_early) | ||
748 | ppc_md.init_early(); | ||
749 | |||
747 | #ifdef CONFIG_PPC_MULTIPLATFORM | 750 | #ifdef CONFIG_PPC_MULTIPLATFORM |
748 | /* This could be called "early setup arch", it must be done | 751 | /* This could be called "early setup arch", it must be done |
749 | * now because xmon need it | 752 | * now because xmon need it |
diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c index becbfa3975..e55cdda614 100644 --- a/arch/ppc/kernel/smp.c +++ b/arch/ppc/kernel/smp.c | |||
@@ -318,7 +318,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
318 | p = fork_idle(cpu); | 318 | p = fork_idle(cpu); |
319 | if (IS_ERR(p)) | 319 | if (IS_ERR(p)) |
320 | panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); | 320 | panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); |
321 | p->thread_info->cpu = cpu; | 321 | task_thread_info(p)->cpu = cpu; |
322 | idle_tasks[cpu] = p; | 322 | idle_tasks[cpu] = p; |
323 | } | 323 | } |
324 | } | 324 | } |
@@ -369,7 +369,7 @@ int __cpu_up(unsigned int cpu) | |||
369 | char buf[32]; | 369 | char buf[32]; |
370 | int c; | 370 | int c; |
371 | 371 | ||
372 | secondary_ti = idle_tasks[cpu]->thread_info; | 372 | secondary_ti = task_thread_info(idle_tasks[cpu]); |
373 | mb(); | 373 | mb(); |
374 | 374 | ||
375 | /* | 375 | /* |
diff --git a/arch/ppc/platforms/4xx/ibm440gx.c b/arch/ppc/platforms/4xx/ibm440gx.c index 956f45e4ef..d24c09ee7b 100644 --- a/arch/ppc/platforms/4xx/ibm440gx.c +++ b/arch/ppc/platforms/4xx/ibm440gx.c | |||
@@ -58,7 +58,6 @@ static struct ocp_func_emac_data ibm440gx_emac2_def = { | |||
58 | .wol_irq = 65, /* WOL interrupt number */ | 58 | .wol_irq = 65, /* WOL interrupt number */ |
59 | .mdio_idx = -1, /* No shared MDIO */ | 59 | .mdio_idx = -1, /* No shared MDIO */ |
60 | .tah_idx = 0, /* TAH device index */ | 60 | .tah_idx = 0, /* TAH device index */ |
61 | .jumbo = 1, /* Jumbo frames supported */ | ||
62 | }; | 61 | }; |
63 | 62 | ||
64 | static struct ocp_func_emac_data ibm440gx_emac3_def = { | 63 | static struct ocp_func_emac_data ibm440gx_emac3_def = { |
@@ -72,7 +71,6 @@ static struct ocp_func_emac_data ibm440gx_emac3_def = { | |||
72 | .wol_irq = 67, /* WOL interrupt number */ | 71 | .wol_irq = 67, /* WOL interrupt number */ |
73 | .mdio_idx = -1, /* No shared MDIO */ | 72 | .mdio_idx = -1, /* No shared MDIO */ |
74 | .tah_idx = 1, /* TAH device index */ | 73 | .tah_idx = 1, /* TAH device index */ |
75 | .jumbo = 1, /* Jumbo frames supported */ | ||
76 | }; | 74 | }; |
77 | OCP_SYSFS_EMAC_DATA() | 75 | OCP_SYSFS_EMAC_DATA() |
78 | 76 | ||
diff --git a/arch/ppc/platforms/4xx/ibm440sp.c b/arch/ppc/platforms/4xx/ibm440sp.c index feb17e41ef..71a0117d35 100644 --- a/arch/ppc/platforms/4xx/ibm440sp.c +++ b/arch/ppc/platforms/4xx/ibm440sp.c | |||
@@ -31,7 +31,6 @@ static struct ocp_func_emac_data ibm440sp_emac0_def = { | |||
31 | .wol_irq = 61, /* WOL interrupt number */ | 31 | .wol_irq = 61, /* WOL interrupt number */ |
32 | .mdio_idx = -1, /* No shared MDIO */ | 32 | .mdio_idx = -1, /* No shared MDIO */ |
33 | .tah_idx = -1, /* No TAH */ | 33 | .tah_idx = -1, /* No TAH */ |
34 | .jumbo = 1, /* Jumbo frames supported */ | ||
35 | }; | 34 | }; |
36 | OCP_SYSFS_EMAC_DATA() | 35 | OCP_SYSFS_EMAC_DATA() |
37 | 36 | ||
diff --git a/arch/ppc/platforms/85xx/Kconfig b/arch/ppc/platforms/85xx/Kconfig index c5bc2821d9..7ddd331a71 100644 --- a/arch/ppc/platforms/85xx/Kconfig +++ b/arch/ppc/platforms/85xx/Kconfig | |||
@@ -39,7 +39,7 @@ config MPC8560_ADS | |||
39 | config SBC8560 | 39 | config SBC8560 |
40 | bool "WindRiver PowerQUICC III SBC8560" | 40 | bool "WindRiver PowerQUICC III SBC8560" |
41 | help | 41 | help |
42 | This option enables support for the WindRiver PowerQUICC III | 42 | This option enables support for the WindRiver PowerQUICC III |
43 | SBC8560 board. | 43 | SBC8560 board. |
44 | 44 | ||
45 | config STX_GP3 | 45 | config STX_GP3 |
@@ -48,6 +48,26 @@ config STX_GP3 | |||
48 | This option enables support for the Silicon Turnkey Express GP3 | 48 | This option enables support for the Silicon Turnkey Express GP3 |
49 | board. | 49 | board. |
50 | 50 | ||
51 | config TQM8540 | ||
52 | bool "TQ Components TQM8540" | ||
53 | help | ||
54 | This option enablese support for the TQ Components TQM8540 board. | ||
55 | |||
56 | config TQM8541 | ||
57 | bool "TQ Components TQM8541" | ||
58 | help | ||
59 | This option enablese support for the TQ Components TQM8541 board. | ||
60 | |||
61 | config TQM8555 | ||
62 | bool "TQ Components TQM8555" | ||
63 | help | ||
64 | This option enablese support for the TQ Components TQM8555 board. | ||
65 | |||
66 | config TQM8560 | ||
67 | bool "TQ Components TQM8560" | ||
68 | help | ||
69 | This option enablese support for the TQ Components TQM8560 board. | ||
70 | |||
51 | endchoice | 71 | endchoice |
52 | 72 | ||
53 | # It's often necessary to know the specific 85xx processor type. | 73 | # It's often necessary to know the specific 85xx processor type. |
@@ -55,7 +75,7 @@ endchoice | |||
55 | # don't need to ask more redundant questions. | 75 | # don't need to ask more redundant questions. |
56 | config MPC8540 | 76 | config MPC8540 |
57 | bool | 77 | bool |
58 | depends on MPC8540_ADS | 78 | depends on MPC8540_ADS || TQM8540 |
59 | default y | 79 | default y |
60 | 80 | ||
61 | config MPC8548 | 81 | config MPC8548 |
@@ -65,12 +85,12 @@ config MPC8548 | |||
65 | 85 | ||
66 | config MPC8555 | 86 | config MPC8555 |
67 | bool | 87 | bool |
68 | depends on MPC8555_CDS | 88 | depends on MPC8555_CDS || TQM8541 || TQM8555 |
69 | default y | 89 | default y |
70 | 90 | ||
71 | config MPC8560 | 91 | config MPC8560 |
72 | bool | 92 | bool |
73 | depends on SBC8560 || MPC8560_ADS || STX_GP3 | 93 | depends on SBC8560 || MPC8560_ADS || STX_GP3 || TQM8560 |
74 | default y | 94 | default y |
75 | 95 | ||
76 | config 85xx_PCI2 | 96 | config 85xx_PCI2 |
diff --git a/arch/ppc/platforms/85xx/Makefile b/arch/ppc/platforms/85xx/Makefile index efdf813108..6c4753c144 100644 --- a/arch/ppc/platforms/85xx/Makefile +++ b/arch/ppc/platforms/85xx/Makefile | |||
@@ -7,3 +7,7 @@ obj-$(CONFIG_MPC8555_CDS) += mpc85xx_cds_common.o | |||
7 | obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads_common.o mpc8560_ads.o | 7 | obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads_common.o mpc8560_ads.o |
8 | obj-$(CONFIG_SBC8560) += sbc85xx.o sbc8560.o | 8 | obj-$(CONFIG_SBC8560) += sbc85xx.o sbc8560.o |
9 | obj-$(CONFIG_STX_GP3) += stx_gp3.o | 9 | obj-$(CONFIG_STX_GP3) += stx_gp3.o |
10 | obj-$(CONFIG_TQM8540) += tqm85xx.o | ||
11 | obj-$(CONFIG_TQM8541) += tqm85xx.o | ||
12 | obj-$(CONFIG_TQM8555) += tqm85xx.o | ||
13 | obj-$(CONFIG_TQM8560) += tqm85xx.o | ||
diff --git a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c index 5e8cc5ec6a..2959e3c408 100644 --- a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c +++ b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c | |||
@@ -351,10 +351,10 @@ mpc85xx_cds_fixup_via(struct pci_controller *hose) | |||
351 | void __init | 351 | void __init |
352 | mpc85xx_cds_pcibios_fixup(void) | 352 | mpc85xx_cds_pcibios_fixup(void) |
353 | { | 353 | { |
354 | struct pci_dev *dev = NULL; | 354 | struct pci_dev *dev; |
355 | u_char c; | 355 | u_char c; |
356 | 356 | ||
357 | if ((dev = pci_find_device(PCI_VENDOR_ID_VIA, | 357 | if ((dev = pci_get_device(PCI_VENDOR_ID_VIA, |
358 | PCI_DEVICE_ID_VIA_82C586_1, NULL))) { | 358 | PCI_DEVICE_ID_VIA_82C586_1, NULL))) { |
359 | /* | 359 | /* |
360 | * U-Boot does not set the enable bits | 360 | * U-Boot does not set the enable bits |
@@ -371,21 +371,24 @@ mpc85xx_cds_pcibios_fixup(void) | |||
371 | */ | 371 | */ |
372 | dev->irq = 14; | 372 | dev->irq = 14; |
373 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); | 373 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); |
374 | pci_dev_put(dev); | ||
374 | } | 375 | } |
375 | 376 | ||
376 | /* | 377 | /* |
377 | * Force legacy USB interrupt routing | 378 | * Force legacy USB interrupt routing |
378 | */ | 379 | */ |
379 | if ((dev = pci_find_device(PCI_VENDOR_ID_VIA, | 380 | if ((dev = pci_get_device(PCI_VENDOR_ID_VIA, |
380 | PCI_DEVICE_ID_VIA_82C586_2, NULL))) { | 381 | PCI_DEVICE_ID_VIA_82C586_2, NULL))) { |
381 | dev->irq = 10; | 382 | dev->irq = 10; |
382 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 10); | 383 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 10); |
384 | pci_dev_put(dev); | ||
383 | } | 385 | } |
384 | 386 | ||
385 | if ((dev = pci_find_device(PCI_VENDOR_ID_VIA, | 387 | if ((dev = pci_get_device(PCI_VENDOR_ID_VIA, |
386 | PCI_DEVICE_ID_VIA_82C586_2, dev))) { | 388 | PCI_DEVICE_ID_VIA_82C586_2, dev))) { |
387 | dev->irq = 11; | 389 | dev->irq = 11; |
388 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 11); | 390 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 11); |
391 | pci_dev_put(dev); | ||
389 | } | 392 | } |
390 | } | 393 | } |
391 | #endif /* CONFIG_PCI */ | 394 | #endif /* CONFIG_PCI */ |
diff --git a/arch/ppc/platforms/85xx/tqm85xx.c b/arch/ppc/platforms/85xx/tqm85xx.c new file mode 100644 index 0000000000..c6dfd8f0f9 --- /dev/null +++ b/arch/ppc/platforms/85xx/tqm85xx.c | |||
@@ -0,0 +1,419 @@ | |||
1 | /* | ||
2 | * arch/ppc/platforms/85xx/tqm85xx.c | ||
3 | * | ||
4 | * TQM85xx (40/41/55/60) board specific routines | ||
5 | * | ||
6 | * Copyright (c) 2005 DENX Software Engineering | ||
7 | * Stefan Roese <sr@denx.de> | ||
8 | * | ||
9 | * Based on original work by | ||
10 | * Kumar Gala <galak@kernel.crashing.org> | ||
11 | * Copyright 2004 Freescale Semiconductor Inc. | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify it | ||
14 | * under the terms of the GNU General Public License as published by the | ||
15 | * Free Software Foundation; either version 2 of the License, or (at your | ||
16 | * option) any later version. | ||
17 | */ | ||
18 | |||
19 | #include <linux/config.h> | ||
20 | #include <linux/stddef.h> | ||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/errno.h> | ||
24 | #include <linux/reboot.h> | ||
25 | #include <linux/pci.h> | ||
26 | #include <linux/kdev_t.h> | ||
27 | #include <linux/major.h> | ||
28 | #include <linux/console.h> | ||
29 | #include <linux/delay.h> | ||
30 | #include <linux/seq_file.h> | ||
31 | #include <linux/root_dev.h> | ||
32 | #include <linux/serial.h> | ||
33 | #include <linux/tty.h> /* for linux/serial_core.h */ | ||
34 | #include <linux/serial_core.h> | ||
35 | #include <linux/initrd.h> | ||
36 | #include <linux/module.h> | ||
37 | #include <linux/fsl_devices.h> | ||
38 | |||
39 | #include <asm/system.h> | ||
40 | #include <asm/pgtable.h> | ||
41 | #include <asm/page.h> | ||
42 | #include <asm/atomic.h> | ||
43 | #include <asm/time.h> | ||
44 | #include <asm/io.h> | ||
45 | #include <asm/machdep.h> | ||
46 | #include <asm/open_pic.h> | ||
47 | #include <asm/bootinfo.h> | ||
48 | #include <asm/pci-bridge.h> | ||
49 | #include <asm/mpc85xx.h> | ||
50 | #include <asm/irq.h> | ||
51 | #include <asm/immap_85xx.h> | ||
52 | #include <asm/kgdb.h> | ||
53 | #include <asm/ppc_sys.h> | ||
54 | #include <asm/cpm2.h> | ||
55 | #include <mm/mmu_decl.h> | ||
56 | |||
57 | #include <syslib/ppc85xx_setup.h> | ||
58 | #include <syslib/cpm2_pic.h> | ||
59 | #include <syslib/ppc85xx_common.h> | ||
60 | #include <syslib/ppc85xx_rio.h> | ||
61 | |||
62 | #ifndef CONFIG_PCI | ||
63 | unsigned long isa_io_base = 0; | ||
64 | unsigned long isa_mem_base = 0; | ||
65 | #endif | ||
66 | |||
67 | |||
68 | extern unsigned long total_memory; /* in mm/init */ | ||
69 | |||
70 | unsigned char __res[sizeof (bd_t)]; | ||
71 | |||
72 | /* Internal interrupts are all Level Sensitive, and Positive Polarity */ | ||
73 | static u_char tqm85xx_openpic_initsenses[] __initdata = { | ||
74 | MPC85XX_INTERNAL_IRQ_SENSES, | ||
75 | 0x0, /* External 0: */ | ||
76 | 0x0, /* External 1: */ | ||
77 | #if defined(CONFIG_PCI) | ||
78 | (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 2: PCI INTA */ | ||
79 | (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 3: PCI INTB */ | ||
80 | #else | ||
81 | 0x0, /* External 2: */ | ||
82 | 0x0, /* External 3: */ | ||
83 | #endif | ||
84 | 0x0, /* External 4: */ | ||
85 | 0x0, /* External 5: */ | ||
86 | 0x0, /* External 6: */ | ||
87 | 0x0, /* External 7: */ | ||
88 | (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 8: PHY */ | ||
89 | 0x0, /* External 9: */ | ||
90 | 0x0, /* External 10: */ | ||
91 | 0x0, /* External 11: */ | ||
92 | }; | ||
93 | |||
94 | static const char *GFAR_PHY_0 = "phy0:2"; | ||
95 | static const char *GFAR_PHY_1 = "phy0:1"; | ||
96 | #ifdef CONFIG_MPC8540 | ||
97 | static const char *GFAR_PHY_3 = "phy0:3"; | ||
98 | #endif | ||
99 | |||
100 | /* ************************************************************************ | ||
101 | * | ||
102 | * Setup the architecture | ||
103 | * | ||
104 | */ | ||
105 | static void __init | ||
106 | tqm85xx_setup_arch(void) | ||
107 | { | ||
108 | bd_t *binfo = (bd_t *) __res; | ||
109 | unsigned int freq; | ||
110 | struct gianfar_platform_data *pdata; | ||
111 | struct gianfar_mdio_data *mdata; | ||
112 | |||
113 | #ifdef CONFIG_MPC8560 | ||
114 | cpm2_reset(); | ||
115 | #endif | ||
116 | |||
117 | /* get the core frequency */ | ||
118 | freq = binfo->bi_intfreq; | ||
119 | |||
120 | if (ppc_md.progress) | ||
121 | ppc_md.progress("tqm85xx_setup_arch()", 0); | ||
122 | |||
123 | /* Set loops_per_jiffy to a half-way reasonable value, | ||
124 | for use until calibrate_delay gets called. */ | ||
125 | loops_per_jiffy = freq / HZ; | ||
126 | |||
127 | #ifdef CONFIG_PCI | ||
128 | /* setup PCI host bridges */ | ||
129 | mpc85xx_setup_hose(); | ||
130 | #endif | ||
131 | |||
132 | #ifndef CONFIG_MPC8560 | ||
133 | #if defined(CONFIG_SERIAL_8250) | ||
134 | mpc85xx_early_serial_map(); | ||
135 | #endif | ||
136 | |||
137 | #ifdef CONFIG_SERIAL_TEXT_DEBUG | ||
138 | /* Invalidate the entry we stole earlier the serial ports | ||
139 | * should be properly mapped */ | ||
140 | invalidate_tlbcam_entry(num_tlbcam_entries - 1); | ||
141 | #endif | ||
142 | #endif /* CONFIG_MPC8560 */ | ||
143 | |||
144 | /* setup the board related info for the MDIO bus */ | ||
145 | mdata = (struct gianfar_mdio_data *) ppc_sys_get_pdata(MPC85xx_MDIO); | ||
146 | |||
147 | mdata->irq[0] = MPC85xx_IRQ_EXT8; | ||
148 | mdata->irq[1] = MPC85xx_IRQ_EXT8; | ||
149 | mdata->irq[2] = -1; | ||
150 | mdata->irq[3] = MPC85xx_IRQ_EXT8; | ||
151 | mdata->irq[31] = -1; | ||
152 | mdata->paddr += binfo->bi_immr_base; | ||
153 | |||
154 | /* setup the board related information for the enet controllers */ | ||
155 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1); | ||
156 | if (pdata) { | ||
157 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; | ||
158 | pdata->bus_id = GFAR_PHY_0; | ||
159 | memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6); | ||
160 | } | ||
161 | |||
162 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2); | ||
163 | if (pdata) { | ||
164 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; | ||
165 | pdata->bus_id = GFAR_PHY_1; | ||
166 | memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6); | ||
167 | } | ||
168 | |||
169 | #ifdef CONFIG_MPC8540 | ||
170 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_FEC); | ||
171 | if (pdata) { | ||
172 | pdata->board_flags = 0; | ||
173 | pdata->bus_id = GFAR_PHY_3; | ||
174 | memcpy(pdata->mac_addr, binfo->bi_enet2addr, 6); | ||
175 | } | ||
176 | #endif | ||
177 | |||
178 | #ifdef CONFIG_BLK_DEV_INITRD | ||
179 | if (initrd_start) | ||
180 | ROOT_DEV = Root_RAM0; | ||
181 | else | ||
182 | #endif | ||
183 | #ifdef CONFIG_ROOT_NFS | ||
184 | ROOT_DEV = Root_NFS; | ||
185 | #else | ||
186 | ROOT_DEV = Root_HDA1; | ||
187 | #endif | ||
188 | } | ||
189 | |||
190 | #ifdef CONFIG_MPC8560 | ||
191 | static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) | ||
192 | { | ||
193 | while ((irq = cpm2_get_irq(regs)) >= 0) | ||
194 | __do_IRQ(irq, regs); | ||
195 | return IRQ_HANDLED; | ||
196 | } | ||
197 | |||
198 | static struct irqaction cpm2_irqaction = { | ||
199 | .handler = cpm2_cascade, | ||
200 | .flags = SA_INTERRUPT, | ||
201 | .mask = CPU_MASK_NONE, | ||
202 | .name = "cpm2_cascade", | ||
203 | }; | ||
204 | #endif /* CONFIG_MPC8560 */ | ||
205 | |||
206 | void __init | ||
207 | tqm85xx_init_IRQ(void) | ||
208 | { | ||
209 | bd_t *binfo = (bd_t *) __res; | ||
210 | |||
211 | /* Determine the Physical Address of the OpenPIC regs */ | ||
212 | phys_addr_t OpenPIC_PAddr = | ||
213 | binfo->bi_immr_base + MPC85xx_OPENPIC_OFFSET; | ||
214 | OpenPIC_Addr = ioremap(OpenPIC_PAddr, MPC85xx_OPENPIC_SIZE); | ||
215 | OpenPIC_InitSenses = tqm85xx_openpic_initsenses; | ||
216 | OpenPIC_NumInitSenses = sizeof (tqm85xx_openpic_initsenses); | ||
217 | |||
218 | /* Skip reserved space and internal sources */ | ||
219 | openpic_set_sources(0, 32, OpenPIC_Addr + 0x10200); | ||
220 | |||
221 | /* Map PIC IRQs 0-11 */ | ||
222 | openpic_set_sources(48, 12, OpenPIC_Addr + 0x10000); | ||
223 | |||
224 | /* we let openpic interrupts starting from an offset, to | ||
225 | * leave space for cascading interrupts underneath. | ||
226 | */ | ||
227 | openpic_init(MPC85xx_OPENPIC_IRQ_OFFSET); | ||
228 | |||
229 | #ifdef CONFIG_MPC8560 | ||
230 | /* Setup CPM2 PIC */ | ||
231 | cpm2_init_IRQ(); | ||
232 | |||
233 | setup_irq(MPC85xx_IRQ_CPM, &cpm2_irqaction); | ||
234 | #endif /* CONFIG_MPC8560 */ | ||
235 | |||
236 | return; | ||
237 | } | ||
238 | |||
239 | int tqm85xx_show_cpuinfo(struct seq_file *m) | ||
240 | { | ||
241 | uint pvid, svid, phid1; | ||
242 | uint memsize = total_memory; | ||
243 | bd_t *binfo = (bd_t *) __res; | ||
244 | unsigned int freq; | ||
245 | |||
246 | /* get the core frequency */ | ||
247 | freq = binfo->bi_intfreq; | ||
248 | |||
249 | pvid = mfspr(SPRN_PVR); | ||
250 | svid = mfspr(SPRN_SVR); | ||
251 | |||
252 | seq_printf(m, "Vendor\t\t: TQ Components\n"); | ||
253 | seq_printf(m, "Machine\t\t: TQM%s\n", cur_ppc_sys_spec->ppc_sys_name); | ||
254 | seq_printf(m, "clock\t\t: %dMHz\n", freq / 1000000); | ||
255 | seq_printf(m, "PVR\t\t: 0x%x\n", pvid); | ||
256 | seq_printf(m, "SVR\t\t: 0x%x\n", svid); | ||
257 | |||
258 | /* Display cpu Pll setting */ | ||
259 | phid1 = mfspr(SPRN_HID1); | ||
260 | seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f)); | ||
261 | |||
262 | /* Display the amount of memory */ | ||
263 | seq_printf(m, "Memory\t\t: %d MB\n", memsize / (1024 * 1024)); | ||
264 | |||
265 | return 0; | ||
266 | } | ||
267 | |||
268 | #if defined(CONFIG_I2C) && defined(CONFIG_SENSORS_DS1337) | ||
269 | extern ulong ds1337_get_rtc_time(void); | ||
270 | extern int ds1337_set_rtc_time(unsigned long nowtime); | ||
271 | |||
272 | static int __init | ||
273 | tqm85xx_rtc_hookup(void) | ||
274 | { | ||
275 | struct timespec tv; | ||
276 | |||
277 | ppc_md.set_rtc_time = ds1337_set_rtc_time; | ||
278 | ppc_md.get_rtc_time = ds1337_get_rtc_time; | ||
279 | |||
280 | tv.tv_nsec = 0; | ||
281 | tv.tv_sec = (ppc_md.get_rtc_time)(); | ||
282 | do_settimeofday(&tv); | ||
283 | |||
284 | return 0; | ||
285 | } | ||
286 | late_initcall(tqm85xx_rtc_hookup); | ||
287 | #endif | ||
288 | |||
289 | #ifdef CONFIG_PCI | ||
290 | /* | ||
291 | * interrupt routing | ||
292 | */ | ||
293 | int mpc85xx_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) | ||
294 | { | ||
295 | static char pci_irq_table[][4] = | ||
296 | /* | ||
297 | * PCI IDSEL/INTPIN->INTLINE | ||
298 | * A B C D | ||
299 | */ | ||
300 | { | ||
301 | {PIRQA, PIRQB, 0, 0}, | ||
302 | }; | ||
303 | |||
304 | const long min_idsel = 0x1c, max_idsel = 0x1c, irqs_per_slot = 4; | ||
305 | return PCI_IRQ_TABLE_LOOKUP; | ||
306 | } | ||
307 | |||
308 | int mpc85xx_exclude_device(u_char bus, u_char devfn) | ||
309 | { | ||
310 | if (bus == 0 && PCI_SLOT(devfn) == 0) | ||
311 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
312 | else | ||
313 | return PCIBIOS_SUCCESSFUL; | ||
314 | } | ||
315 | |||
316 | #endif /* CONFIG_PCI */ | ||
317 | |||
318 | #ifdef CONFIG_RAPIDIO | ||
319 | void platform_rio_init(void) | ||
320 | { | ||
321 | /* 512MB RIO LAW at 0xc0000000 */ | ||
322 | mpc85xx_rio_setup(0xc0000000, 0x20000000); | ||
323 | } | ||
324 | #endif /* CONFIG_RAPIDIO */ | ||
325 | |||
326 | /* ************************************************************************ */ | ||
327 | void __init | ||
328 | platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
329 | unsigned long r6, unsigned long r7) | ||
330 | { | ||
331 | /* parse_bootinfo must always be called first */ | ||
332 | parse_bootinfo(find_bootinfo()); | ||
333 | |||
334 | /* | ||
335 | * If we were passed in a board information, copy it into the | ||
336 | * residual data area. | ||
337 | */ | ||
338 | if (r3) { | ||
339 | memcpy((void *) __res, (void *) (r3 + KERNELBASE), | ||
340 | sizeof (bd_t)); | ||
341 | } | ||
342 | |||
343 | #if defined(CONFIG_SERIAL_TEXT_DEBUG) && !defined(CONFIG_MPC8560) | ||
344 | { | ||
345 | bd_t *binfo = (bd_t *) __res; | ||
346 | struct uart_port p; | ||
347 | |||
348 | /* Use the last TLB entry to map CCSRBAR to allow access to DUART regs */ | ||
349 | settlbcam(num_tlbcam_entries - 1, binfo->bi_immr_base, | ||
350 | binfo->bi_immr_base, MPC85xx_CCSRBAR_SIZE, _PAGE_IO, 0); | ||
351 | |||
352 | memset(&p, 0, sizeof (p)); | ||
353 | p.iotype = SERIAL_IO_MEM; | ||
354 | p.membase = (void *) binfo->bi_immr_base + MPC85xx_UART0_OFFSET; | ||
355 | p.uartclk = binfo->bi_busfreq; | ||
356 | |||
357 | gen550_init(0, &p); | ||
358 | |||
359 | memset(&p, 0, sizeof (p)); | ||
360 | p.iotype = SERIAL_IO_MEM; | ||
361 | p.membase = (void *) binfo->bi_immr_base + MPC85xx_UART1_OFFSET; | ||
362 | p.uartclk = binfo->bi_busfreq; | ||
363 | |||
364 | gen550_init(1, &p); | ||
365 | } | ||
366 | #endif | ||
367 | |||
368 | #if defined(CONFIG_BLK_DEV_INITRD) | ||
369 | /* | ||
370 | * If the init RAM disk has been configured in, and there's a valid | ||
371 | * starting address for it, set it up. | ||
372 | */ | ||
373 | if (r4) { | ||
374 | initrd_start = r4 + KERNELBASE; | ||
375 | initrd_end = r5 + KERNELBASE; | ||
376 | } | ||
377 | #endif /* CONFIG_BLK_DEV_INITRD */ | ||
378 | |||
379 | /* Copy the kernel command line arguments to a safe place. */ | ||
380 | |||
381 | if (r6) { | ||
382 | *(char *) (r7 + KERNELBASE) = 0; | ||
383 | strcpy(cmd_line, (char *) (r6 + KERNELBASE)); | ||
384 | } | ||
385 | |||
386 | identify_ppc_sys_by_id(mfspr(SPRN_SVR)); | ||
387 | |||
388 | /* setup the PowerPC module struct */ | ||
389 | ppc_md.setup_arch = tqm85xx_setup_arch; | ||
390 | ppc_md.show_cpuinfo = tqm85xx_show_cpuinfo; | ||
391 | |||
392 | ppc_md.init_IRQ = tqm85xx_init_IRQ; | ||
393 | ppc_md.get_irq = openpic_get_irq; | ||
394 | |||
395 | ppc_md.restart = mpc85xx_restart; | ||
396 | ppc_md.power_off = mpc85xx_power_off; | ||
397 | ppc_md.halt = mpc85xx_halt; | ||
398 | |||
399 | ppc_md.find_end_of_memory = mpc85xx_find_end_of_memory; | ||
400 | |||
401 | ppc_md.time_init = NULL; | ||
402 | ppc_md.set_rtc_time = NULL; | ||
403 | ppc_md.get_rtc_time = NULL; | ||
404 | ppc_md.calibrate_decr = mpc85xx_calibrate_decr; | ||
405 | |||
406 | #ifndef CONFIG_MPC8560 | ||
407 | #if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG) | ||
408 | ppc_md.progress = gen550_progress; | ||
409 | #endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */ | ||
410 | #if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB) | ||
411 | ppc_md.early_serial_map = mpc85xx_early_serial_map; | ||
412 | #endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */ | ||
413 | #endif /* CONFIG_MPC8560 */ | ||
414 | |||
415 | if (ppc_md.progress) | ||
416 | ppc_md.progress("tqm85xx_init(): exit", 0); | ||
417 | |||
418 | return; | ||
419 | } | ||
diff --git a/arch/ppc/platforms/85xx/tqm85xx.h b/arch/ppc/platforms/85xx/tqm85xx.h new file mode 100644 index 0000000000..3775eb363f --- /dev/null +++ b/arch/ppc/platforms/85xx/tqm85xx.h | |||
@@ -0,0 +1,56 @@ | |||
1 | /* | ||
2 | * arch/ppc/platforms/85xx/tqm85xx.h | ||
3 | * | ||
4 | * TQM85xx (40/41/55/60) board definitions | ||
5 | * | ||
6 | * Copyright (c) 2005 DENX Software Engineering | ||
7 | * Stefan Roese <sr@denx.de> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | * | ||
14 | */ | ||
15 | |||
16 | #ifndef __MACH_TQM85XX_H | ||
17 | #define __MACH_TQM85XX_H | ||
18 | |||
19 | #include <linux/config.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <asm/ppcboot.h> | ||
22 | |||
23 | #define BOARD_CCSRBAR ((uint)0xe0000000) | ||
24 | #define CCSRBAR_SIZE ((uint)1024*1024) | ||
25 | |||
26 | #define CPM_MAP_ADDR (CCSRBAR + MPC85xx_CPM_OFFSET) | ||
27 | |||
28 | #define PCI_CFG_ADDR_OFFSET (0x8000) | ||
29 | #define PCI_CFG_DATA_OFFSET (0x8004) | ||
30 | |||
31 | /* PCI interrupt controller */ | ||
32 | #define PIRQA MPC85xx_IRQ_EXT2 | ||
33 | #define PIRQB MPC85xx_IRQ_EXT3 | ||
34 | |||
35 | #define MPC85XX_PCI1_LOWER_IO 0x00000000 | ||
36 | #define MPC85XX_PCI1_UPPER_IO 0x00ffffff | ||
37 | |||
38 | #define MPC85XX_PCI1_LOWER_MEM 0x80000000 | ||
39 | #define MPC85XX_PCI1_UPPER_MEM 0x9fffffff | ||
40 | |||
41 | #define MPC85XX_PCI1_IO_BASE 0xe2000000 | ||
42 | #define MPC85XX_PCI1_MEM_OFFSET 0x00000000 | ||
43 | |||
44 | #define MPC85XX_PCI1_IO_SIZE 0x01000000 | ||
45 | |||
46 | #define BASE_BAUD 115200 | ||
47 | |||
48 | extern void mpc85xx_setup_hose(void) __init; | ||
49 | extern void mpc85xx_restart(char *cmd); | ||
50 | extern void mpc85xx_power_off(void); | ||
51 | extern void mpc85xx_halt(void); | ||
52 | extern void mpc85xx_init_IRQ(void) __init; | ||
53 | extern unsigned long mpc85xx_find_end_of_memory(void) __init; | ||
54 | extern void mpc85xx_calibrate_decr(void) __init; | ||
55 | |||
56 | #endif /* __MACH_TQM85XX_H */ | ||
diff --git a/arch/ppc/platforms/apus_setup.c b/arch/ppc/platforms/apus_setup.c index 2f74fde98e..c42c50073d 100644 --- a/arch/ppc/platforms/apus_setup.c +++ b/arch/ppc/platforms/apus_setup.c | |||
@@ -55,9 +55,6 @@ int (*mach_hwclk) (int, struct hwclk_time*) = NULL; | |||
55 | int (*mach_set_clock_mmss) (unsigned long) = NULL; | 55 | int (*mach_set_clock_mmss) (unsigned long) = NULL; |
56 | void (*mach_reset)( void ); | 56 | void (*mach_reset)( void ); |
57 | long mach_max_dma_address = 0x00ffffff; /* default set to the lower 16MB */ | 57 | long mach_max_dma_address = 0x00ffffff; /* default set to the lower 16MB */ |
58 | #if defined(CONFIG_AMIGA_FLOPPY) | ||
59 | void (*mach_floppy_setup) (char *, int *) __initdata = NULL; | ||
60 | #endif | ||
61 | #ifdef CONFIG_HEARTBEAT | 58 | #ifdef CONFIG_HEARTBEAT |
62 | void (*mach_heartbeat) (int) = NULL; | 59 | void (*mach_heartbeat) (int) = NULL; |
63 | extern void apus_heartbeat (void); | 60 | extern void apus_heartbeat (void); |
@@ -76,7 +73,6 @@ struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */ | |||
76 | 73 | ||
77 | struct mem_info ramdisk; | 74 | struct mem_info ramdisk; |
78 | 75 | ||
79 | extern void amiga_floppy_setup(char *, int *); | ||
80 | extern void config_amiga(void); | 76 | extern void config_amiga(void); |
81 | 77 | ||
82 | static int __60nsram = 0; | 78 | static int __60nsram = 0; |
@@ -305,16 +301,6 @@ void kbd_reset_setup(char *str, int *ints) | |||
305 | { | 301 | { |
306 | } | 302 | } |
307 | 303 | ||
308 | /*********************************************************** FLOPPY */ | ||
309 | #if defined(CONFIG_AMIGA_FLOPPY) | ||
310 | __init | ||
311 | void floppy_setup(char *str, int *ints) | ||
312 | { | ||
313 | if (mach_floppy_setup) | ||
314 | mach_floppy_setup (str, ints); | ||
315 | } | ||
316 | #endif | ||
317 | |||
318 | /*********************************************************** MEMORY */ | 304 | /*********************************************************** MEMORY */ |
319 | #define KMAP_MAX 32 | 305 | #define KMAP_MAX 32 |
320 | unsigned long kmap_chunks[KMAP_MAX*3]; | 306 | unsigned long kmap_chunks[KMAP_MAX*3]; |
@@ -574,9 +560,9 @@ static __inline__ void ser_RTSon(void) | |||
574 | 560 | ||
575 | int __debug_ser_out( unsigned char c ) | 561 | int __debug_ser_out( unsigned char c ) |
576 | { | 562 | { |
577 | custom.serdat = c | 0x100; | 563 | amiga_custom.serdat = c | 0x100; |
578 | mb(); | 564 | mb(); |
579 | while (!(custom.serdatr & 0x2000)) | 565 | while (!(amiga_custom.serdatr & 0x2000)) |
580 | barrier(); | 566 | barrier(); |
581 | return 1; | 567 | return 1; |
582 | } | 568 | } |
@@ -586,11 +572,11 @@ unsigned char __debug_ser_in( void ) | |||
586 | unsigned char c; | 572 | unsigned char c; |
587 | 573 | ||
588 | /* XXX: is that ok?? derived from amiga_ser.c... */ | 574 | /* XXX: is that ok?? derived from amiga_ser.c... */ |
589 | while( !(custom.intreqr & IF_RBF) ) | 575 | while( !(amiga_custom.intreqr & IF_RBF) ) |
590 | barrier(); | 576 | barrier(); |
591 | c = custom.serdatr; | 577 | c = amiga_custom.serdatr; |
592 | /* clear the interrupt, so that another character can be read */ | 578 | /* clear the interrupt, so that another character can be read */ |
593 | custom.intreq = IF_RBF; | 579 | amiga_custom.intreq = IF_RBF; |
594 | return c; | 580 | return c; |
595 | } | 581 | } |
596 | 582 | ||
@@ -601,10 +587,10 @@ int __debug_serinit( void ) | |||
601 | local_irq_save(flags); | 587 | local_irq_save(flags); |
602 | 588 | ||
603 | /* turn off Rx and Tx interrupts */ | 589 | /* turn off Rx and Tx interrupts */ |
604 | custom.intena = IF_RBF | IF_TBE; | 590 | amiga_custom.intena = IF_RBF | IF_TBE; |
605 | 591 | ||
606 | /* clear any pending interrupt */ | 592 | /* clear any pending interrupt */ |
607 | custom.intreq = IF_RBF | IF_TBE; | 593 | amiga_custom.intreq = IF_RBF | IF_TBE; |
608 | 594 | ||
609 | local_irq_restore(flags); | 595 | local_irq_restore(flags); |
610 | 596 | ||
@@ -617,7 +603,7 @@ int __debug_serinit( void ) | |||
617 | 603 | ||
618 | #ifdef CONFIG_KGDB | 604 | #ifdef CONFIG_KGDB |
619 | /* turn Rx interrupts on for GDB */ | 605 | /* turn Rx interrupts on for GDB */ |
620 | custom.intena = IF_SETCLR | IF_RBF; | 606 | amiga_custom.intena = IF_SETCLR | IF_RBF; |
621 | ser_RTSon(); | 607 | ser_RTSon(); |
622 | #endif | 608 | #endif |
623 | 609 | ||
diff --git a/arch/ppc/platforms/chrp_setup.c b/arch/ppc/platforms/chrp_setup.c index f1b70ab3c6..056ac2a7b5 100644 --- a/arch/ppc/platforms/chrp_setup.c +++ b/arch/ppc/platforms/chrp_setup.c | |||
@@ -404,7 +404,6 @@ static struct irqaction xmon_irqaction = { | |||
404 | void __init chrp_init_IRQ(void) | 404 | void __init chrp_init_IRQ(void) |
405 | { | 405 | { |
406 | struct device_node *np; | 406 | struct device_node *np; |
407 | int i; | ||
408 | unsigned long chrp_int_ack = 0; | 407 | unsigned long chrp_int_ack = 0; |
409 | unsigned char init_senses[NR_IRQS - NUM_8259_INTERRUPTS]; | 408 | unsigned char init_senses[NR_IRQS - NUM_8259_INTERRUPTS]; |
410 | #if defined(CONFIG_VT) && defined(CONFIG_INPUT_ADBHID) && defined(XMON) | 409 | #if defined(CONFIG_VT) && defined(CONFIG_INPUT_ADBHID) && defined(XMON) |
diff --git a/arch/ppc/platforms/lite5200.c b/arch/ppc/platforms/lite5200.c index d44cc99117..7ed52dc340 100644 --- a/arch/ppc/platforms/lite5200.c +++ b/arch/ppc/platforms/lite5200.c | |||
@@ -196,8 +196,10 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | |||
196 | mpc52xx_set_bat(); | 196 | mpc52xx_set_bat(); |
197 | 197 | ||
198 | /* No ISA bus by default */ | 198 | /* No ISA bus by default */ |
199 | #ifdef CONFIG_PCI | ||
199 | isa_io_base = 0; | 200 | isa_io_base = 0; |
200 | isa_mem_base = 0; | 201 | isa_mem_base = 0; |
202 | #endif | ||
201 | 203 | ||
202 | /* Powersave */ | 204 | /* Powersave */ |
203 | /* This is provided as an example on how to do it. But you | 205 | /* This is provided as an example on how to do it. But you |
diff --git a/arch/ppc/platforms/mpc5200.c b/arch/ppc/platforms/mpc5200.c deleted file mode 100644 index a58db438c1..0000000000 --- a/arch/ppc/platforms/mpc5200.c +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | /* | ||
2 | * arch/ppc/platforms/mpc5200.c | ||
3 | * | ||
4 | * OCP Definitions for the boards based on MPC5200 processor. Contains | ||
5 | * definitions for every common peripherals. (Mostly all but PSCs) | ||
6 | * | ||
7 | * Maintainer : Sylvain Munaut <tnt@246tNt.com> | ||
8 | * | ||
9 | * Copyright 2004 Sylvain Munaut <tnt@246tNt.com> | ||
10 | * | ||
11 | * This file is licensed under the terms of the GNU General Public License | ||
12 | * version 2. This program is licensed "as is" without any warranty of any | ||
13 | * kind, whether express or implied. | ||
14 | */ | ||
15 | |||
16 | #include <asm/ocp.h> | ||
17 | #include <asm/mpc52xx.h> | ||
18 | |||
19 | |||
20 | static struct ocp_fs_i2c_data mpc5200_i2c_def = { | ||
21 | .flags = FS_I2C_CLOCK_5200, | ||
22 | }; | ||
23 | |||
24 | |||
25 | /* Here is the core_ocp struct. | ||
26 | * With all the devices common to all board. Even if port multiplexing is | ||
27 | * not setup for them (if the user don't want them, just don't select the | ||
28 | * config option). The potentially conflicting devices (like PSCs) goes in | ||
29 | * board specific file. | ||
30 | */ | ||
31 | struct ocp_def core_ocp[] = { | ||
32 | { | ||
33 | .vendor = OCP_VENDOR_FREESCALE, | ||
34 | .function = OCP_FUNC_IIC, | ||
35 | .index = 0, | ||
36 | .paddr = MPC52xx_I2C1, | ||
37 | .irq = OCP_IRQ_NA, /* MPC52xx_IRQ_I2C1 - Buggy */ | ||
38 | .pm = OCP_CPM_NA, | ||
39 | .additions = &mpc5200_i2c_def, | ||
40 | }, | ||
41 | { | ||
42 | .vendor = OCP_VENDOR_FREESCALE, | ||
43 | .function = OCP_FUNC_IIC, | ||
44 | .index = 1, | ||
45 | .paddr = MPC52xx_I2C2, | ||
46 | .irq = OCP_IRQ_NA, /* MPC52xx_IRQ_I2C2 - Buggy */ | ||
47 | .pm = OCP_CPM_NA, | ||
48 | .additions = &mpc5200_i2c_def, | ||
49 | }, | ||
50 | { /* Terminating entry */ | ||
51 | .vendor = OCP_VENDOR_INVALID | ||
52 | } | ||
53 | }; | ||
diff --git a/arch/ppc/platforms/prep_setup.c b/arch/ppc/platforms/prep_setup.c index 4415748071..d065358020 100644 --- a/arch/ppc/platforms/prep_setup.c +++ b/arch/ppc/platforms/prep_setup.c | |||
@@ -72,7 +72,6 @@ | |||
72 | 72 | ||
73 | TODC_ALLOC(); | 73 | TODC_ALLOC(); |
74 | 74 | ||
75 | unsigned char ucSystemType; | ||
76 | unsigned char ucBoardRev; | 75 | unsigned char ucBoardRev; |
77 | unsigned char ucBoardRevMaj, ucBoardRevMin; | 76 | unsigned char ucBoardRevMaj, ucBoardRevMin; |
78 | 77 | ||
@@ -954,7 +953,6 @@ prep_calibrate_decr(void) | |||
954 | static void __init | 953 | static void __init |
955 | prep_init_IRQ(void) | 954 | prep_init_IRQ(void) |
956 | { | 955 | { |
957 | int i; | ||
958 | unsigned int pci_viddid, pci_did; | 956 | unsigned int pci_viddid, pci_did; |
959 | 957 | ||
960 | if (OpenPIC_Addr != NULL) { | 958 | if (OpenPIC_Addr != NULL) { |
diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile index 5b7f2b80e5..84ef03018d 100644 --- a/arch/ppc/syslib/Makefile +++ b/arch/ppc/syslib/Makefile | |||
@@ -96,7 +96,7 @@ ifeq ($(CONFIG_85xx),y) | |||
96 | obj-$(CONFIG_PCI) += pci_auto.o | 96 | obj-$(CONFIG_PCI) += pci_auto.o |
97 | endif | 97 | endif |
98 | obj-$(CONFIG_RAPIDIO) += ppc85xx_rio.o | 98 | obj-$(CONFIG_RAPIDIO) += ppc85xx_rio.o |
99 | obj-$(CONFIG_83xx) += ipic.o ppc83xx_setup.o ppc_sys.o \ | 99 | obj-$(CONFIG_83xx) += ppc83xx_setup.o ppc_sys.o \ |
100 | mpc83xx_sys.o mpc83xx_devices.o | 100 | mpc83xx_sys.o mpc83xx_devices.o |
101 | ifeq ($(CONFIG_83xx),y) | 101 | ifeq ($(CONFIG_83xx),y) |
102 | obj-$(CONFIG_PCI) += pci_auto.o | 102 | obj-$(CONFIG_PCI) += pci_auto.o |
diff --git a/arch/ppc/syslib/ipic.c b/arch/ppc/syslib/ipic.c deleted file mode 100644 index 8f01e0f1d8..0000000000 --- a/arch/ppc/syslib/ipic.c +++ /dev/null | |||
@@ -1,646 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-ppc/ipic.c | ||
3 | * | ||
4 | * IPIC routines implementations. | ||
5 | * | ||
6 | * Copyright 2005 Freescale Semiconductor, Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | */ | ||
13 | #include <linux/kernel.h> | ||
14 | #include <linux/init.h> | ||
15 | #include <linux/errno.h> | ||
16 | #include <linux/reboot.h> | ||
17 | #include <linux/slab.h> | ||
18 | #include <linux/stddef.h> | ||
19 | #include <linux/sched.h> | ||
20 | #include <linux/signal.h> | ||
21 | #include <linux/sysdev.h> | ||
22 | #include <asm/irq.h> | ||
23 | #include <asm/io.h> | ||
24 | #include <asm/ipic.h> | ||
25 | #include <asm/mpc83xx.h> | ||
26 | |||
27 | #include "ipic.h" | ||
28 | |||
29 | static struct ipic p_ipic; | ||
30 | static struct ipic * primary_ipic; | ||
31 | |||
32 | static struct ipic_info ipic_info[] = { | ||
33 | [9] = { | ||
34 | .pend = IPIC_SIPNR_H, | ||
35 | .mask = IPIC_SIMSR_H, | ||
36 | .prio = IPIC_SIPRR_D, | ||
37 | .force = IPIC_SIFCR_H, | ||
38 | .bit = 24, | ||
39 | .prio_mask = 0, | ||
40 | }, | ||
41 | [10] = { | ||
42 | .pend = IPIC_SIPNR_H, | ||
43 | .mask = IPIC_SIMSR_H, | ||
44 | .prio = IPIC_SIPRR_D, | ||
45 | .force = IPIC_SIFCR_H, | ||
46 | .bit = 25, | ||
47 | .prio_mask = 1, | ||
48 | }, | ||
49 | [11] = { | ||
50 | .pend = IPIC_SIPNR_H, | ||
51 | .mask = IPIC_SIMSR_H, | ||
52 | .prio = IPIC_SIPRR_D, | ||
53 | .force = IPIC_SIFCR_H, | ||
54 | .bit = 26, | ||
55 | .prio_mask = 2, | ||
56 | }, | ||
57 | [14] = { | ||
58 | .pend = IPIC_SIPNR_H, | ||
59 | .mask = IPIC_SIMSR_H, | ||
60 | .prio = IPIC_SIPRR_D, | ||
61 | .force = IPIC_SIFCR_H, | ||
62 | .bit = 29, | ||
63 | .prio_mask = 5, | ||
64 | }, | ||
65 | [15] = { | ||
66 | .pend = IPIC_SIPNR_H, | ||
67 | .mask = IPIC_SIMSR_H, | ||
68 | .prio = IPIC_SIPRR_D, | ||
69 | .force = IPIC_SIFCR_H, | ||
70 | .bit = 30, | ||
71 | .prio_mask = 6, | ||
72 | }, | ||
73 | [16] = { | ||
74 | .pend = IPIC_SIPNR_H, | ||
75 | .mask = IPIC_SIMSR_H, | ||
76 | .prio = IPIC_SIPRR_D, | ||
77 | .force = IPIC_SIFCR_H, | ||
78 | .bit = 31, | ||
79 | .prio_mask = 7, | ||
80 | }, | ||
81 | [17] = { | ||
82 | .pend = IPIC_SEPNR, | ||
83 | .mask = IPIC_SEMSR, | ||
84 | .prio = IPIC_SMPRR_A, | ||
85 | .force = IPIC_SEFCR, | ||
86 | .bit = 1, | ||
87 | .prio_mask = 5, | ||
88 | }, | ||
89 | [18] = { | ||
90 | .pend = IPIC_SEPNR, | ||
91 | .mask = IPIC_SEMSR, | ||
92 | .prio = IPIC_SMPRR_A, | ||
93 | .force = IPIC_SEFCR, | ||
94 | .bit = 2, | ||
95 | .prio_mask = 6, | ||
96 | }, | ||
97 | [19] = { | ||
98 | .pend = IPIC_SEPNR, | ||
99 | .mask = IPIC_SEMSR, | ||
100 | .prio = IPIC_SMPRR_A, | ||
101 | .force = IPIC_SEFCR, | ||
102 | .bit = 3, | ||
103 | .prio_mask = 7, | ||
104 | }, | ||
105 | [20] = { | ||
106 | .pend = IPIC_SEPNR, | ||
107 | .mask = IPIC_SEMSR, | ||
108 | .prio = IPIC_SMPRR_B, | ||
109 | .force = IPIC_SEFCR, | ||
110 | .bit = 4, | ||
111 | .prio_mask = 4, | ||
112 | }, | ||
113 | [21] = { | ||
114 | .pend = IPIC_SEPNR, | ||
115 | .mask = IPIC_SEMSR, | ||
116 | .prio = IPIC_SMPRR_B, | ||
117 | .force = IPIC_SEFCR, | ||
118 | .bit = 5, | ||
119 | .prio_mask = 5, | ||
120 | }, | ||
121 | [22] = { | ||
122 | .pend = IPIC_SEPNR, | ||
123 | .mask = IPIC_SEMSR, | ||
124 | .prio = IPIC_SMPRR_B, | ||
125 | .force = IPIC_SEFCR, | ||
126 | .bit = 6, | ||
127 | .prio_mask = 6, | ||
128 | }, | ||
129 | [23] = { | ||
130 | .pend = IPIC_SEPNR, | ||
131 | .mask = IPIC_SEMSR, | ||
132 | .prio = IPIC_SMPRR_B, | ||
133 | .force = IPIC_SEFCR, | ||
134 | .bit = 7, | ||
135 | .prio_mask = 7, | ||
136 | }, | ||
137 | [32] = { | ||
138 | .pend = IPIC_SIPNR_H, | ||
139 | .mask = IPIC_SIMSR_H, | ||
140 | .prio = IPIC_SIPRR_A, | ||
141 | .force = IPIC_SIFCR_H, | ||
142 | .bit = 0, | ||
143 | .prio_mask = 0, | ||
144 | }, | ||
145 | [33] = { | ||
146 | .pend = IPIC_SIPNR_H, | ||
147 | .mask = IPIC_SIMSR_H, | ||
148 | .prio = IPIC_SIPRR_A, | ||
149 | .force = IPIC_SIFCR_H, | ||
150 | .bit = 1, | ||
151 | .prio_mask = 1, | ||
152 | }, | ||
153 | [34] = { | ||
154 | .pend = IPIC_SIPNR_H, | ||
155 | .mask = IPIC_SIMSR_H, | ||
156 | .prio = IPIC_SIPRR_A, | ||
157 | .force = IPIC_SIFCR_H, | ||
158 | .bit = 2, | ||
159 | .prio_mask = 2, | ||
160 | }, | ||
161 | [35] = { | ||
162 | .pend = IPIC_SIPNR_H, | ||
163 | .mask = IPIC_SIMSR_H, | ||
164 | .prio = IPIC_SIPRR_A, | ||
165 | .force = IPIC_SIFCR_H, | ||
166 | .bit = 3, | ||
167 | .prio_mask = 3, | ||
168 | }, | ||
169 | [36] = { | ||
170 | .pend = IPIC_SIPNR_H, | ||
171 | .mask = IPIC_SIMSR_H, | ||
172 | .prio = IPIC_SIPRR_A, | ||
173 | .force = IPIC_SIFCR_H, | ||
174 | .bit = 4, | ||
175 | .prio_mask = 4, | ||
176 | }, | ||
177 | [37] = { | ||
178 | .pend = IPIC_SIPNR_H, | ||
179 | .mask = IPIC_SIMSR_H, | ||
180 | .prio = IPIC_SIPRR_A, | ||
181 | .force = IPIC_SIFCR_H, | ||
182 | .bit = 5, | ||
183 | .prio_mask = 5, | ||
184 | }, | ||
185 | [38] = { | ||
186 | .pend = IPIC_SIPNR_H, | ||
187 | .mask = IPIC_SIMSR_H, | ||
188 | .prio = IPIC_SIPRR_A, | ||
189 | .force = IPIC_SIFCR_H, | ||
190 | .bit = 6, | ||
191 | .prio_mask = 6, | ||
192 | }, | ||
193 | [39] = { | ||
194 | .pend = IPIC_SIPNR_H, | ||
195 | .mask = IPIC_SIMSR_H, | ||
196 | .prio = IPIC_SIPRR_A, | ||
197 | .force = IPIC_SIFCR_H, | ||
198 | .bit = 7, | ||
199 | .prio_mask = 7, | ||
200 | }, | ||
201 | [48] = { | ||
202 | .pend = IPIC_SEPNR, | ||
203 | .mask = IPIC_SEMSR, | ||
204 | .prio = IPIC_SMPRR_A, | ||
205 | .force = IPIC_SEFCR, | ||
206 | .bit = 0, | ||
207 | .prio_mask = 4, | ||
208 | }, | ||
209 | [64] = { | ||
210 | .pend = IPIC_SIPNR_H, | ||
211 | .mask = IPIC_SIMSR_L, | ||
212 | .prio = IPIC_SMPRR_A, | ||
213 | .force = IPIC_SIFCR_L, | ||
214 | .bit = 0, | ||
215 | .prio_mask = 0, | ||
216 | }, | ||
217 | [65] = { | ||
218 | .pend = IPIC_SIPNR_H, | ||
219 | .mask = IPIC_SIMSR_L, | ||
220 | .prio = IPIC_SMPRR_A, | ||
221 | .force = IPIC_SIFCR_L, | ||
222 | .bit = 1, | ||
223 | .prio_mask = 1, | ||
224 | }, | ||
225 | [66] = { | ||
226 | .pend = IPIC_SIPNR_H, | ||
227 | .mask = IPIC_SIMSR_L, | ||
228 | .prio = IPIC_SMPRR_A, | ||
229 | .force = IPIC_SIFCR_L, | ||
230 | .bit = 2, | ||
231 | .prio_mask = 2, | ||
232 | }, | ||
233 | [67] = { | ||
234 | .pend = IPIC_SIPNR_H, | ||
235 | .mask = IPIC_SIMSR_L, | ||
236 | .prio = IPIC_SMPRR_A, | ||
237 | .force = IPIC_SIFCR_L, | ||
238 | .bit = 3, | ||
239 | .prio_mask = 3, | ||
240 | }, | ||
241 | [68] = { | ||
242 | .pend = IPIC_SIPNR_H, | ||
243 | .mask = IPIC_SIMSR_L, | ||
244 | .prio = IPIC_SMPRR_B, | ||
245 | .force = IPIC_SIFCR_L, | ||
246 | .bit = 4, | ||
247 | .prio_mask = 0, | ||
248 | }, | ||
249 | [69] = { | ||
250 | .pend = IPIC_SIPNR_H, | ||
251 | .mask = IPIC_SIMSR_L, | ||
252 | .prio = IPIC_SMPRR_B, | ||
253 | .force = IPIC_SIFCR_L, | ||
254 | .bit = 5, | ||
255 | .prio_mask = 1, | ||
256 | }, | ||
257 | [70] = { | ||
258 | .pend = IPIC_SIPNR_H, | ||
259 | .mask = IPIC_SIMSR_L, | ||
260 | .prio = IPIC_SMPRR_B, | ||
261 | .force = IPIC_SIFCR_L, | ||
262 | .bit = 6, | ||
263 | .prio_mask = 2, | ||
264 | }, | ||
265 | [71] = { | ||
266 | .pend = IPIC_SIPNR_H, | ||
267 | .mask = IPIC_SIMSR_L, | ||
268 | .prio = IPIC_SMPRR_B, | ||
269 | .force = IPIC_SIFCR_L, | ||
270 | .bit = 7, | ||
271 | .prio_mask = 3, | ||
272 | }, | ||
273 | [72] = { | ||
274 | .pend = IPIC_SIPNR_H, | ||
275 | .mask = IPIC_SIMSR_L, | ||
276 | .prio = 0, | ||
277 | .force = IPIC_SIFCR_L, | ||
278 | .bit = 8, | ||
279 | }, | ||
280 | [73] = { | ||
281 | .pend = IPIC_SIPNR_H, | ||
282 | .mask = IPIC_SIMSR_L, | ||
283 | .prio = 0, | ||
284 | .force = IPIC_SIFCR_L, | ||
285 | .bit = 9, | ||
286 | }, | ||
287 | [74] = { | ||
288 | .pend = IPIC_SIPNR_H, | ||
289 | .mask = IPIC_SIMSR_L, | ||
290 | .prio = 0, | ||
291 | .force = IPIC_SIFCR_L, | ||
292 | .bit = 10, | ||
293 | }, | ||
294 | [75] = { | ||
295 | .pend = IPIC_SIPNR_H, | ||
296 | .mask = IPIC_SIMSR_L, | ||
297 | .prio = 0, | ||
298 | .force = IPIC_SIFCR_L, | ||
299 | .bit = 11, | ||
300 | }, | ||
301 | [76] = { | ||
302 | .pend = IPIC_SIPNR_H, | ||
303 | .mask = IPIC_SIMSR_L, | ||
304 | .prio = 0, | ||
305 | .force = IPIC_SIFCR_L, | ||
306 | .bit = 12, | ||
307 | }, | ||
308 | [77] = { | ||
309 | .pend = IPIC_SIPNR_H, | ||
310 | .mask = IPIC_SIMSR_L, | ||
311 | .prio = 0, | ||
312 | .force = IPIC_SIFCR_L, | ||
313 | .bit = 13, | ||
314 | }, | ||
315 | [78] = { | ||
316 | .pend = IPIC_SIPNR_H, | ||
317 | .mask = IPIC_SIMSR_L, | ||
318 | .prio = 0, | ||
319 | .force = IPIC_SIFCR_L, | ||
320 | .bit = 14, | ||
321 | }, | ||
322 | [79] = { | ||
323 | .pend = IPIC_SIPNR_H, | ||
324 | .mask = IPIC_SIMSR_L, | ||
325 | .prio = 0, | ||
326 | .force = IPIC_SIFCR_L, | ||
327 | .bit = 15, | ||
328 | }, | ||
329 | [80] = { | ||
330 | .pend = IPIC_SIPNR_H, | ||
331 | .mask = IPIC_SIMSR_L, | ||
332 | .prio = 0, | ||
333 | .force = IPIC_SIFCR_L, | ||
334 | .bit = 16, | ||
335 | }, | ||
336 | [84] = { | ||
337 | .pend = IPIC_SIPNR_H, | ||
338 | .mask = IPIC_SIMSR_L, | ||
339 | .prio = 0, | ||
340 | .force = IPIC_SIFCR_L, | ||
341 | .bit = 20, | ||
342 | }, | ||
343 | [85] = { | ||
344 | .pend = IPIC_SIPNR_H, | ||
345 | .mask = IPIC_SIMSR_L, | ||
346 | .prio = 0, | ||
347 | .force = IPIC_SIFCR_L, | ||
348 | .bit = 21, | ||
349 | }, | ||
350 | [90] = { | ||
351 | .pend = IPIC_SIPNR_H, | ||
352 | .mask = IPIC_SIMSR_L, | ||
353 | .prio = 0, | ||
354 | .force = IPIC_SIFCR_L, | ||
355 | .bit = 26, | ||
356 | }, | ||
357 | [91] = { | ||
358 | .pend = IPIC_SIPNR_H, | ||
359 | .mask = IPIC_SIMSR_L, | ||
360 | .prio = 0, | ||
361 | .force = IPIC_SIFCR_L, | ||
362 | .bit = 27, | ||
363 | }, | ||
364 | }; | ||
365 | |||
366 | static inline u32 ipic_read(volatile u32 __iomem *base, unsigned int reg) | ||
367 | { | ||
368 | return in_be32(base + (reg >> 2)); | ||
369 | } | ||
370 | |||
371 | static inline void ipic_write(volatile u32 __iomem *base, unsigned int reg, u32 value) | ||
372 | { | ||
373 | out_be32(base + (reg >> 2), value); | ||
374 | } | ||
375 | |||
376 | static inline struct ipic * ipic_from_irq(unsigned int irq) | ||
377 | { | ||
378 | return primary_ipic; | ||
379 | } | ||
380 | |||
381 | static void ipic_enable_irq(unsigned int irq) | ||
382 | { | ||
383 | struct ipic *ipic = ipic_from_irq(irq); | ||
384 | unsigned int src = irq - ipic->irq_offset; | ||
385 | u32 temp; | ||
386 | |||
387 | temp = ipic_read(ipic->regs, ipic_info[src].mask); | ||
388 | temp |= (1 << (31 - ipic_info[src].bit)); | ||
389 | ipic_write(ipic->regs, ipic_info[src].mask, temp); | ||
390 | } | ||
391 | |||
392 | static void ipic_disable_irq(unsigned int irq) | ||
393 | { | ||
394 | struct ipic *ipic = ipic_from_irq(irq); | ||
395 | unsigned int src = irq - ipic->irq_offset; | ||
396 | u32 temp; | ||
397 | |||
398 | temp = ipic_read(ipic->regs, ipic_info[src].mask); | ||
399 | temp &= ~(1 << (31 - ipic_info[src].bit)); | ||
400 | ipic_write(ipic->regs, ipic_info[src].mask, temp); | ||
401 | } | ||
402 | |||
403 | static void ipic_disable_irq_and_ack(unsigned int irq) | ||
404 | { | ||
405 | struct ipic *ipic = ipic_from_irq(irq); | ||
406 | unsigned int src = irq - ipic->irq_offset; | ||
407 | u32 temp; | ||
408 | |||
409 | ipic_disable_irq(irq); | ||
410 | |||
411 | temp = ipic_read(ipic->regs, ipic_info[src].pend); | ||
412 | temp |= (1 << (31 - ipic_info[src].bit)); | ||
413 | ipic_write(ipic->regs, ipic_info[src].pend, temp); | ||
414 | } | ||
415 | |||
416 | static void ipic_end_irq(unsigned int irq) | ||
417 | { | ||
418 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
419 | ipic_enable_irq(irq); | ||
420 | } | ||
421 | |||
422 | struct hw_interrupt_type ipic = { | ||
423 | .typename = " IPIC ", | ||
424 | .enable = ipic_enable_irq, | ||
425 | .disable = ipic_disable_irq, | ||
426 | .ack = ipic_disable_irq_and_ack, | ||
427 | .end = ipic_end_irq, | ||
428 | }; | ||
429 | |||
430 | void __init ipic_init(phys_addr_t phys_addr, | ||
431 | unsigned int flags, | ||
432 | unsigned int irq_offset, | ||
433 | unsigned char *senses, | ||
434 | unsigned int senses_count) | ||
435 | { | ||
436 | u32 i, temp = 0; | ||
437 | |||
438 | primary_ipic = &p_ipic; | ||
439 | primary_ipic->regs = ioremap(phys_addr, MPC83xx_IPIC_SIZE); | ||
440 | |||
441 | primary_ipic->irq_offset = irq_offset; | ||
442 | |||
443 | ipic_write(primary_ipic->regs, IPIC_SICNR, 0x0); | ||
444 | |||
445 | /* default priority scheme is grouped. If spread mode is required | ||
446 | * configure SICFR accordingly */ | ||
447 | if (flags & IPIC_SPREADMODE_GRP_A) | ||
448 | temp |= SICFR_IPSA; | ||
449 | if (flags & IPIC_SPREADMODE_GRP_D) | ||
450 | temp |= SICFR_IPSD; | ||
451 | if (flags & IPIC_SPREADMODE_MIX_A) | ||
452 | temp |= SICFR_MPSA; | ||
453 | if (flags & IPIC_SPREADMODE_MIX_B) | ||
454 | temp |= SICFR_MPSB; | ||
455 | |||
456 | ipic_write(primary_ipic->regs, IPIC_SICNR, temp); | ||
457 | |||
458 | /* handle MCP route */ | ||
459 | temp = 0; | ||
460 | if (flags & IPIC_DISABLE_MCP_OUT) | ||
461 | temp = SERCR_MCPR; | ||
462 | ipic_write(primary_ipic->regs, IPIC_SERCR, temp); | ||
463 | |||
464 | /* handle routing of IRQ0 to MCP */ | ||
465 | temp = ipic_read(primary_ipic->regs, IPIC_SEMSR); | ||
466 | |||
467 | if (flags & IPIC_IRQ0_MCP) | ||
468 | temp |= SEMSR_SIRQ0; | ||
469 | else | ||
470 | temp &= ~SEMSR_SIRQ0; | ||
471 | |||
472 | ipic_write(primary_ipic->regs, IPIC_SEMSR, temp); | ||
473 | |||
474 | for (i = 0 ; i < NR_IPIC_INTS ; i++) { | ||
475 | irq_desc[i+irq_offset].handler = &ipic; | ||
476 | irq_desc[i+irq_offset].status = IRQ_LEVEL; | ||
477 | } | ||
478 | |||
479 | temp = 0; | ||
480 | for (i = 0 ; i < senses_count ; i++) { | ||
481 | if ((senses[i] & IRQ_SENSE_MASK) == IRQ_SENSE_EDGE) { | ||
482 | temp |= 1 << (15 - i); | ||
483 | if (i != 0) | ||
484 | irq_desc[i + irq_offset + MPC83xx_IRQ_EXT1 - 1].status = 0; | ||
485 | else | ||
486 | irq_desc[irq_offset + MPC83xx_IRQ_EXT0].status = 0; | ||
487 | } | ||
488 | } | ||
489 | ipic_write(primary_ipic->regs, IPIC_SECNR, temp); | ||
490 | |||
491 | printk ("IPIC (%d IRQ sources, %d External IRQs) at %p\n", NR_IPIC_INTS, | ||
492 | senses_count, primary_ipic->regs); | ||
493 | } | ||
494 | |||
495 | int ipic_set_priority(unsigned int irq, unsigned int priority) | ||
496 | { | ||
497 | struct ipic *ipic = ipic_from_irq(irq); | ||
498 | unsigned int src = irq - ipic->irq_offset; | ||
499 | u32 temp; | ||
500 | |||
501 | if (priority > 7) | ||
502 | return -EINVAL; | ||
503 | if (src > 127) | ||
504 | return -EINVAL; | ||
505 | if (ipic_info[src].prio == 0) | ||
506 | return -EINVAL; | ||
507 | |||
508 | temp = ipic_read(ipic->regs, ipic_info[src].prio); | ||
509 | |||
510 | if (priority < 4) { | ||
511 | temp &= ~(0x7 << (20 + (3 - priority) * 3)); | ||
512 | temp |= ipic_info[src].prio_mask << (20 + (3 - priority) * 3); | ||
513 | } else { | ||
514 | temp &= ~(0x7 << (4 + (7 - priority) * 3)); | ||
515 | temp |= ipic_info[src].prio_mask << (4 + (7 - priority) * 3); | ||
516 | } | ||
517 | |||
518 | ipic_write(ipic->regs, ipic_info[src].prio, temp); | ||
519 | |||
520 | return 0; | ||
521 | } | ||
522 | |||
523 | void ipic_set_highest_priority(unsigned int irq) | ||
524 | { | ||
525 | struct ipic *ipic = ipic_from_irq(irq); | ||
526 | unsigned int src = irq - ipic->irq_offset; | ||
527 | u32 temp; | ||
528 | |||
529 | temp = ipic_read(ipic->regs, IPIC_SICFR); | ||
530 | |||
531 | /* clear and set HPI */ | ||
532 | temp &= 0x7f000000; | ||
533 | temp |= (src & 0x7f) << 24; | ||
534 | |||
535 | ipic_write(ipic->regs, IPIC_SICFR, temp); | ||
536 | } | ||
537 | |||
538 | void ipic_set_default_priority(void) | ||
539 | { | ||
540 | ipic_set_priority(MPC83xx_IRQ_TSEC1_TX, 0); | ||
541 | ipic_set_priority(MPC83xx_IRQ_TSEC1_RX, 1); | ||
542 | ipic_set_priority(MPC83xx_IRQ_TSEC1_ERROR, 2); | ||
543 | ipic_set_priority(MPC83xx_IRQ_TSEC2_TX, 3); | ||
544 | ipic_set_priority(MPC83xx_IRQ_TSEC2_RX, 4); | ||
545 | ipic_set_priority(MPC83xx_IRQ_TSEC2_ERROR, 5); | ||
546 | ipic_set_priority(MPC83xx_IRQ_USB2_DR, 6); | ||
547 | ipic_set_priority(MPC83xx_IRQ_USB2_MPH, 7); | ||
548 | |||
549 | ipic_set_priority(MPC83xx_IRQ_UART1, 0); | ||
550 | ipic_set_priority(MPC83xx_IRQ_UART2, 1); | ||
551 | ipic_set_priority(MPC83xx_IRQ_SEC2, 2); | ||
552 | ipic_set_priority(MPC83xx_IRQ_IIC1, 5); | ||
553 | ipic_set_priority(MPC83xx_IRQ_IIC2, 6); | ||
554 | ipic_set_priority(MPC83xx_IRQ_SPI, 7); | ||
555 | ipic_set_priority(MPC83xx_IRQ_RTC_SEC, 0); | ||
556 | ipic_set_priority(MPC83xx_IRQ_PIT, 1); | ||
557 | ipic_set_priority(MPC83xx_IRQ_PCI1, 2); | ||
558 | ipic_set_priority(MPC83xx_IRQ_PCI2, 3); | ||
559 | ipic_set_priority(MPC83xx_IRQ_EXT0, 4); | ||
560 | ipic_set_priority(MPC83xx_IRQ_EXT1, 5); | ||
561 | ipic_set_priority(MPC83xx_IRQ_EXT2, 6); | ||
562 | ipic_set_priority(MPC83xx_IRQ_EXT3, 7); | ||
563 | ipic_set_priority(MPC83xx_IRQ_RTC_ALR, 0); | ||
564 | ipic_set_priority(MPC83xx_IRQ_MU, 1); | ||
565 | ipic_set_priority(MPC83xx_IRQ_SBA, 2); | ||
566 | ipic_set_priority(MPC83xx_IRQ_DMA, 3); | ||
567 | ipic_set_priority(MPC83xx_IRQ_EXT4, 4); | ||
568 | ipic_set_priority(MPC83xx_IRQ_EXT5, 5); | ||
569 | ipic_set_priority(MPC83xx_IRQ_EXT6, 6); | ||
570 | ipic_set_priority(MPC83xx_IRQ_EXT7, 7); | ||
571 | } | ||
572 | |||
573 | void ipic_enable_mcp(enum ipic_mcp_irq mcp_irq) | ||
574 | { | ||
575 | struct ipic *ipic = primary_ipic; | ||
576 | u32 temp; | ||
577 | |||
578 | temp = ipic_read(ipic->regs, IPIC_SERMR); | ||
579 | temp |= (1 << (31 - mcp_irq)); | ||
580 | ipic_write(ipic->regs, IPIC_SERMR, temp); | ||
581 | } | ||
582 | |||
583 | void ipic_disable_mcp(enum ipic_mcp_irq mcp_irq) | ||
584 | { | ||
585 | struct ipic *ipic = primary_ipic; | ||
586 | u32 temp; | ||
587 | |||
588 | temp = ipic_read(ipic->regs, IPIC_SERMR); | ||
589 | temp &= (1 << (31 - mcp_irq)); | ||
590 | ipic_write(ipic->regs, IPIC_SERMR, temp); | ||
591 | } | ||
592 | |||
593 | u32 ipic_get_mcp_status(void) | ||
594 | { | ||
595 | return ipic_read(primary_ipic->regs, IPIC_SERMR); | ||
596 | } | ||
597 | |||
598 | void ipic_clear_mcp_status(u32 mask) | ||
599 | { | ||
600 | ipic_write(primary_ipic->regs, IPIC_SERMR, mask); | ||
601 | } | ||
602 | |||
603 | /* Return an interrupt vector or -1 if no interrupt is pending. */ | ||
604 | int ipic_get_irq(struct pt_regs *regs) | ||
605 | { | ||
606 | int irq; | ||
607 | |||
608 | irq = ipic_read(primary_ipic->regs, IPIC_SIVCR) & 0x7f; | ||
609 | |||
610 | if (irq == 0) /* 0 --> no irq is pending */ | ||
611 | irq = -1; | ||
612 | |||
613 | return irq; | ||
614 | } | ||
615 | |||
616 | static struct sysdev_class ipic_sysclass = { | ||
617 | set_kset_name("ipic"), | ||
618 | }; | ||
619 | |||
620 | static struct sys_device device_ipic = { | ||
621 | .id = 0, | ||
622 | .cls = &ipic_sysclass, | ||
623 | }; | ||
624 | |||
625 | static int __init init_ipic_sysfs(void) | ||
626 | { | ||
627 | int rc; | ||
628 | |||
629 | if (!primary_ipic->regs) | ||
630 | return -ENODEV; | ||
631 | printk(KERN_DEBUG "Registering ipic with sysfs...\n"); | ||
632 | |||
633 | rc = sysdev_class_register(&ipic_sysclass); | ||
634 | if (rc) { | ||
635 | printk(KERN_ERR "Failed registering ipic sys class\n"); | ||
636 | return -ENODEV; | ||
637 | } | ||
638 | rc = sysdev_register(&device_ipic); | ||
639 | if (rc) { | ||
640 | printk(KERN_ERR "Failed registering ipic sys device\n"); | ||
641 | return -ENODEV; | ||
642 | } | ||
643 | return 0; | ||
644 | } | ||
645 | |||
646 | subsys_initcall(init_ipic_sysfs); | ||
diff --git a/arch/ppc/syslib/ipic.h b/arch/ppc/syslib/ipic.h deleted file mode 100644 index a7ce7da878..0000000000 --- a/arch/ppc/syslib/ipic.h +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | /* | ||
2 | * arch/ppc/kernel/ipic.h | ||
3 | * | ||
4 | * IPIC private definitions and structure. | ||
5 | * | ||
6 | * Maintainer: Kumar Gala <galak@kernel.crashing.org> | ||
7 | * | ||
8 | * Copyright 2005 Freescale Semiconductor, Inc | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | */ | ||
15 | #ifndef __IPIC_H__ | ||
16 | #define __IPIC_H__ | ||
17 | |||
18 | #include <asm/ipic.h> | ||
19 | |||
20 | #define MPC83xx_IPIC_SIZE (0x00100) | ||
21 | |||
22 | /* System Global Interrupt Configuration Register */ | ||
23 | #define SICFR_IPSA 0x00010000 | ||
24 | #define SICFR_IPSD 0x00080000 | ||
25 | #define SICFR_MPSA 0x00200000 | ||
26 | #define SICFR_MPSB 0x00400000 | ||
27 | |||
28 | /* System External Interrupt Mask Register */ | ||
29 | #define SEMSR_SIRQ0 0x00008000 | ||
30 | |||
31 | /* System Error Control Register */ | ||
32 | #define SERCR_MCPR 0x00000001 | ||
33 | |||
34 | struct ipic { | ||
35 | volatile u32 __iomem *regs; | ||
36 | unsigned int irq_offset; | ||
37 | }; | ||
38 | |||
39 | struct ipic_info { | ||
40 | u8 pend; /* pending register offset from base */ | ||
41 | u8 mask; /* mask register offset from base */ | ||
42 | u8 prio; /* priority register offset from base */ | ||
43 | u8 force; /* force register offset from base */ | ||
44 | u8 bit; /* register bit position (as per doc) | ||
45 | bit mask = 1 << (31 - bit) */ | ||
46 | u8 prio_mask; /* priority mask value */ | ||
47 | }; | ||
48 | |||
49 | #endif /* __IPIC_H__ */ | ||
diff --git a/arch/ppc/syslib/m8xx_setup.c b/arch/ppc/syslib/m8xx_setup.c index 1cc3abe6fa..688616de3c 100644 --- a/arch/ppc/syslib/m8xx_setup.c +++ b/arch/ppc/syslib/m8xx_setup.c | |||
@@ -135,6 +135,16 @@ static struct irqaction tbint_irqaction = { | |||
135 | .name = "tbint", | 135 | .name = "tbint", |
136 | }; | 136 | }; |
137 | 137 | ||
138 | /* per-board overridable init_internal_rtc() function. */ | ||
139 | void __init __attribute__ ((weak)) | ||
140 | init_internal_rtc(void) | ||
141 | { | ||
142 | /* Disable the RTC one second and alarm interrupts. */ | ||
143 | out_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc, in_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc) & ~(RTCSC_SIE | RTCSC_ALE)); | ||
144 | /* Enable the RTC */ | ||
145 | out_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc, in_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc) | (RTCSC_RTF | RTCSC_RTE)); | ||
146 | } | ||
147 | |||
138 | /* The decrementer counts at the system (internal) clock frequency divided by | 148 | /* The decrementer counts at the system (internal) clock frequency divided by |
139 | * sixteen, or external oscillator divided by four. We force the processor | 149 | * sixteen, or external oscillator divided by four. We force the processor |
140 | * to use system clock divided by sixteen. | 150 | * to use system clock divided by sixteen. |
@@ -183,10 +193,7 @@ void __init m8xx_calibrate_decr(void) | |||
183 | out_be32(&((immap_t *)IMAP_ADDR)->im_sitk.sitk_rtcsck, KAPWR_KEY); | 193 | out_be32(&((immap_t *)IMAP_ADDR)->im_sitk.sitk_rtcsck, KAPWR_KEY); |
184 | out_be32(&((immap_t *)IMAP_ADDR)->im_sitk.sitk_tbk, KAPWR_KEY); | 194 | out_be32(&((immap_t *)IMAP_ADDR)->im_sitk.sitk_tbk, KAPWR_KEY); |
185 | 195 | ||
186 | /* Disable the RTC one second and alarm interrupts. */ | 196 | init_internal_rtc(); |
187 | out_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc, in_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc) & ~(RTCSC_SIE | RTCSC_ALE)); | ||
188 | /* Enable the RTC */ | ||
189 | out_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc, in_be16(&((immap_t *)IMAP_ADDR)->im_sit.sit_rtcsc) | (RTCSC_RTF | RTCSC_RTE)); | ||
190 | 197 | ||
191 | /* Enabling the decrementer also enables the timebase interrupts | 198 | /* Enabling the decrementer also enables the timebase interrupts |
192 | * (or from the other point of view, to get decrementer interrupts | 199 | * (or from the other point of view, to get decrementer interrupts |
diff --git a/arch/ppc/syslib/m8xx_wdt.c b/arch/ppc/syslib/m8xx_wdt.c index a21632d37e..df6c9557b8 100644 --- a/arch/ppc/syslib/m8xx_wdt.c +++ b/arch/ppc/syslib/m8xx_wdt.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <syslib/m8xx_wdt.h> | 19 | #include <syslib/m8xx_wdt.h> |
20 | 20 | ||
21 | static int wdt_timeout; | 21 | static int wdt_timeout; |
22 | int m8xx_has_internal_rtc = 0; | ||
22 | 23 | ||
23 | static irqreturn_t m8xx_wdt_interrupt(int, void *, struct pt_regs *); | 24 | static irqreturn_t m8xx_wdt_interrupt(int, void *, struct pt_regs *); |
24 | static struct irqaction m8xx_wdt_irqaction = { | 25 | static struct irqaction m8xx_wdt_irqaction = { |
@@ -45,35 +46,15 @@ static irqreturn_t m8xx_wdt_interrupt(int irq, void *dev, struct pt_regs *regs) | |||
45 | return IRQ_HANDLED; | 46 | return IRQ_HANDLED; |
46 | } | 47 | } |
47 | 48 | ||
48 | void __init m8xx_wdt_handler_install(bd_t * binfo) | 49 | #define SYPCR_SWP 0x1 |
50 | #define SYPCR_SWE 0x4 | ||
51 | |||
52 | |||
53 | void __init m8xx_wdt_install_irq(volatile immap_t *imap, bd_t *binfo) | ||
49 | { | 54 | { |
50 | volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR; | ||
51 | u32 pitc; | 55 | u32 pitc; |
52 | u32 sypcr; | ||
53 | u32 pitrtclk; | 56 | u32 pitrtclk; |
54 | 57 | ||
55 | sypcr = in_be32(&imap->im_siu_conf.sc_sypcr); | ||
56 | |||
57 | if (!(sypcr & 0x04)) { | ||
58 | printk(KERN_NOTICE "m8xx_wdt: wdt disabled (SYPCR: 0x%08X)\n", | ||
59 | sypcr); | ||
60 | return; | ||
61 | } | ||
62 | |||
63 | m8xx_wdt_reset(); | ||
64 | |||
65 | printk(KERN_NOTICE | ||
66 | "m8xx_wdt: active wdt found (SWTC: 0x%04X, SWP: 0x%01X)\n", | ||
67 | (sypcr >> 16), sypcr & 0x01); | ||
68 | |||
69 | wdt_timeout = (sypcr >> 16) & 0xFFFF; | ||
70 | |||
71 | if (!wdt_timeout) | ||
72 | wdt_timeout = 0xFFFF; | ||
73 | |||
74 | if (sypcr & 0x01) | ||
75 | wdt_timeout *= 2048; | ||
76 | |||
77 | /* | 58 | /* |
78 | * Fire trigger if half of the wdt ticked down | 59 | * Fire trigger if half of the wdt ticked down |
79 | */ | 60 | */ |
@@ -98,6 +79,67 @@ void __init m8xx_wdt_handler_install(bd_t * binfo) | |||
98 | printk(KERN_NOTICE | 79 | printk(KERN_NOTICE |
99 | "m8xx_wdt: keep-alive trigger installed (PITC: 0x%04X)\n", pitc); | 80 | "m8xx_wdt: keep-alive trigger installed (PITC: 0x%04X)\n", pitc); |
100 | 81 | ||
82 | } | ||
83 | |||
84 | static void m8xx_wdt_timer_func(unsigned long data); | ||
85 | |||
86 | static struct timer_list m8xx_wdt_timer = | ||
87 | TIMER_INITIALIZER(m8xx_wdt_timer_func, 0, 0); | ||
88 | |||
89 | void m8xx_wdt_stop_timer(void) | ||
90 | { | ||
91 | del_timer(&m8xx_wdt_timer); | ||
92 | } | ||
93 | |||
94 | void m8xx_wdt_install_timer(void) | ||
95 | { | ||
96 | m8xx_wdt_timer.expires = jiffies + (HZ/2); | ||
97 | add_timer(&m8xx_wdt_timer); | ||
98 | } | ||
99 | |||
100 | static void m8xx_wdt_timer_func(unsigned long data) | ||
101 | { | ||
102 | m8xx_wdt_reset(); | ||
103 | m8xx_wdt_install_timer(); | ||
104 | } | ||
105 | |||
106 | void __init m8xx_wdt_handler_install(bd_t * binfo) | ||
107 | { | ||
108 | volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR; | ||
109 | u32 sypcr; | ||
110 | |||
111 | sypcr = in_be32(&imap->im_siu_conf.sc_sypcr); | ||
112 | |||
113 | if (!(sypcr & SYPCR_SWE)) { | ||
114 | printk(KERN_NOTICE "m8xx_wdt: wdt disabled (SYPCR: 0x%08X)\n", | ||
115 | sypcr); | ||
116 | return; | ||
117 | } | ||
118 | |||
119 | m8xx_wdt_reset(); | ||
120 | |||
121 | printk(KERN_NOTICE | ||
122 | "m8xx_wdt: active wdt found (SWTC: 0x%04X, SWP: 0x%01X)\n", | ||
123 | (sypcr >> 16), sypcr & SYPCR_SWP); | ||
124 | |||
125 | wdt_timeout = (sypcr >> 16) & 0xFFFF; | ||
126 | |||
127 | if (!wdt_timeout) | ||
128 | wdt_timeout = 0xFFFF; | ||
129 | |||
130 | if (sypcr & SYPCR_SWP) | ||
131 | wdt_timeout *= 2048; | ||
132 | |||
133 | m8xx_has_internal_rtc = in_be16(&imap->im_sit.sit_rtcsc) & RTCSC_RTE; | ||
134 | |||
135 | /* if the internal RTC is off use a kernel timer */ | ||
136 | if (!m8xx_has_internal_rtc) { | ||
137 | if (wdt_timeout < (binfo->bi_intfreq/HZ)) | ||
138 | printk(KERN_ERR "m8xx_wdt: timeout too short for ktimer!\n"); | ||
139 | m8xx_wdt_install_timer(); | ||
140 | } else | ||
141 | m8xx_wdt_install_irq(imap, binfo); | ||
142 | |||
101 | wdt_timeout /= binfo->bi_intfreq; | 143 | wdt_timeout /= binfo->bi_intfreq; |
102 | } | 144 | } |
103 | 145 | ||
diff --git a/arch/ppc/syslib/m8xx_wdt.h b/arch/ppc/syslib/m8xx_wdt.h index 0d81a9f815..e75835f001 100644 --- a/arch/ppc/syslib/m8xx_wdt.h +++ b/arch/ppc/syslib/m8xx_wdt.h | |||
@@ -9,8 +9,12 @@ | |||
9 | #ifndef _PPC_SYSLIB_M8XX_WDT_H | 9 | #ifndef _PPC_SYSLIB_M8XX_WDT_H |
10 | #define _PPC_SYSLIB_M8XX_WDT_H | 10 | #define _PPC_SYSLIB_M8XX_WDT_H |
11 | 11 | ||
12 | extern int m8xx_has_internal_rtc; | ||
13 | |||
12 | extern void m8xx_wdt_handler_install(bd_t * binfo); | 14 | extern void m8xx_wdt_handler_install(bd_t * binfo); |
13 | extern int m8xx_wdt_get_timeout(void); | 15 | extern int m8xx_wdt_get_timeout(void); |
14 | extern void m8xx_wdt_reset(void); | 16 | extern void m8xx_wdt_reset(void); |
17 | extern void m8xx_wdt_install_timer(void); | ||
18 | extern void m8xx_wdt_stop_timer(void); | ||
15 | 19 | ||
16 | #endif /* _PPC_SYSLIB_M8XX_WDT_H */ | 20 | #endif /* _PPC_SYSLIB_M8XX_WDT_H */ |
diff --git a/arch/ppc/syslib/mpc52xx_pci.c b/arch/ppc/syslib/mpc52xx_pci.c index 4ac19080eb..313c96ec7e 100644 --- a/arch/ppc/syslib/mpc52xx_pci.c +++ b/arch/ppc/syslib/mpc52xx_pci.c | |||
@@ -24,6 +24,12 @@ | |||
24 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
25 | 25 | ||
26 | 26 | ||
27 | /* This macro is defined to activate the workaround for the bug | ||
28 | 435 of the MPC5200 (L25R). With it activated, we don't do any | ||
29 | 32 bits configuration access during type-1 cycles */ | ||
30 | #define MPC5200_BUG_435_WORKAROUND | ||
31 | |||
32 | |||
27 | static int | 33 | static int |
28 | mpc52xx_pci_read_config(struct pci_bus *bus, unsigned int devfn, | 34 | mpc52xx_pci_read_config(struct pci_bus *bus, unsigned int devfn, |
29 | int offset, int len, u32 *val) | 35 | int offset, int len, u32 *val) |
@@ -40,17 +46,39 @@ mpc52xx_pci_read_config(struct pci_bus *bus, unsigned int devfn, | |||
40 | ((bus->number - hose->bus_offset) << 16) | | 46 | ((bus->number - hose->bus_offset) << 16) | |
41 | (devfn << 8) | | 47 | (devfn << 8) | |
42 | (offset & 0xfc)); | 48 | (offset & 0xfc)); |
49 | mb(); | ||
50 | |||
51 | #ifdef MPC5200_BUG_435_WORKAROUND | ||
52 | if (bus->number != hose->bus_offset) { | ||
53 | switch (len) { | ||
54 | case 1: | ||
55 | value = in_8(((u8 __iomem *)hose->cfg_data) + (offset & 3)); | ||
56 | break; | ||
57 | case 2: | ||
58 | value = in_le16(((u16 __iomem *)hose->cfg_data) + ((offset>>1) & 1)); | ||
59 | break; | ||
60 | |||
61 | default: | ||
62 | value = in_le16((u16 __iomem *)hose->cfg_data) | | ||
63 | (in_le16(((u16 __iomem *)hose->cfg_data) + 1) << 16); | ||
64 | break; | ||
65 | } | ||
66 | } | ||
67 | else | ||
68 | #endif | ||
69 | { | ||
70 | value = in_le32(hose->cfg_data); | ||
43 | 71 | ||
44 | value = in_le32(hose->cfg_data); | 72 | if (len != 4) { |
45 | 73 | value >>= ((offset & 0x3) << 3); | |
46 | if (len != 4) { | 74 | value &= 0xffffffff >> (32 - (len << 3)); |
47 | value >>= ((offset & 0x3) << 3); | 75 | } |
48 | value &= 0xffffffff >> (32 - (len << 3)); | ||
49 | } | 76 | } |
50 | 77 | ||
51 | *val = value; | 78 | *val = value; |
52 | 79 | ||
53 | out_be32(hose->cfg_addr, 0); | 80 | out_be32(hose->cfg_addr, 0); |
81 | mb(); | ||
54 | 82 | ||
55 | return PCIBIOS_SUCCESSFUL; | 83 | return PCIBIOS_SUCCESSFUL; |
56 | } | 84 | } |
@@ -71,21 +99,48 @@ mpc52xx_pci_write_config(struct pci_bus *bus, unsigned int devfn, | |||
71 | ((bus->number - hose->bus_offset) << 16) | | 99 | ((bus->number - hose->bus_offset) << 16) | |
72 | (devfn << 8) | | 100 | (devfn << 8) | |
73 | (offset & 0xfc)); | 101 | (offset & 0xfc)); |
102 | mb(); | ||
103 | |||
104 | #ifdef MPC5200_BUG_435_WORKAROUND | ||
105 | if (bus->number != hose->bus_offset) { | ||
106 | switch (len) { | ||
107 | case 1: | ||
108 | out_8(((u8 __iomem *)hose->cfg_data) + | ||
109 | (offset & 3), val); | ||
110 | break; | ||
111 | case 2: | ||
112 | out_le16(((u16 __iomem *)hose->cfg_data) + | ||
113 | ((offset>>1) & 1), val); | ||
114 | break; | ||
115 | |||
116 | default: | ||
117 | out_le16((u16 __iomem *)hose->cfg_data, | ||
118 | (u16)val); | ||
119 | out_le16(((u16 __iomem *)hose->cfg_data) + 1, | ||
120 | (u16)(val>>16)); | ||
121 | break; | ||
122 | } | ||
123 | } | ||
124 | else | ||
125 | #endif | ||
126 | { | ||
127 | if (len != 4) { | ||
128 | value = in_le32(hose->cfg_data); | ||
74 | 129 | ||
75 | if (len != 4) { | 130 | offset = (offset & 0x3) << 3; |
76 | value = in_le32(hose->cfg_data); | 131 | mask = (0xffffffff >> (32 - (len << 3))); |
132 | mask <<= offset; | ||
77 | 133 | ||
78 | offset = (offset & 0x3) << 3; | 134 | value &= ~mask; |
79 | mask = (0xffffffff >> (32 - (len << 3))); | 135 | val = value | ((val << offset) & mask); |
80 | mask <<= offset; | 136 | } |
81 | 137 | ||
82 | value &= ~mask; | 138 | out_le32(hose->cfg_data, val); |
83 | val = value | ((val << offset) & mask); | ||
84 | } | 139 | } |
85 | 140 | mb(); | |
86 | out_le32(hose->cfg_data, val); | ||
87 | 141 | ||
88 | out_be32(hose->cfg_addr, 0); | 142 | out_be32(hose->cfg_addr, 0); |
143 | mb(); | ||
89 | 144 | ||
90 | return PCIBIOS_SUCCESSFUL; | 145 | return PCIBIOS_SUCCESSFUL; |
91 | } | 146 | } |
@@ -99,9 +154,12 @@ static struct pci_ops mpc52xx_pci_ops = { | |||
99 | static void __init | 154 | static void __init |
100 | mpc52xx_pci_setup(struct mpc52xx_pci __iomem *pci_regs) | 155 | mpc52xx_pci_setup(struct mpc52xx_pci __iomem *pci_regs) |
101 | { | 156 | { |
157 | u32 tmp; | ||
102 | 158 | ||
103 | /* Setup control regs */ | 159 | /* Setup control regs */ |
104 | /* Nothing to do afaik */ | 160 | tmp = in_be32(&pci_regs->scr); |
161 | tmp |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY; | ||
162 | out_be32(&pci_regs->scr, tmp); | ||
105 | 163 | ||
106 | /* Setup windows */ | 164 | /* Setup windows */ |
107 | out_be32(&pci_regs->iw0btar, MPC52xx_PCI_IWBTAR_TRANSLATION( | 165 | out_be32(&pci_regs->iw0btar, MPC52xx_PCI_IWBTAR_TRANSLATION( |
@@ -142,16 +200,15 @@ mpc52xx_pci_setup(struct mpc52xx_pci __iomem *pci_regs) | |||
142 | /* Not necessary and can be a bad thing if for example the bootloader | 200 | /* Not necessary and can be a bad thing if for example the bootloader |
143 | is displaying a splash screen or ... Just left here for | 201 | is displaying a splash screen or ... Just left here for |
144 | documentation purpose if anyone need it */ | 202 | documentation purpose if anyone need it */ |
145 | #if 0 | ||
146 | u32 tmp; | ||
147 | tmp = in_be32(&pci_regs->gscr); | 203 | tmp = in_be32(&pci_regs->gscr); |
204 | #if 0 | ||
148 | out_be32(&pci_regs->gscr, tmp | MPC52xx_PCI_GSCR_PR); | 205 | out_be32(&pci_regs->gscr, tmp | MPC52xx_PCI_GSCR_PR); |
149 | udelay(50); | 206 | udelay(50); |
150 | out_be32(&pci_regs->gscr, tmp); | ||
151 | #endif | 207 | #endif |
208 | out_be32(&pci_regs->gscr, tmp & ~MPC52xx_PCI_GSCR_PR); | ||
152 | } | 209 | } |
153 | 210 | ||
154 | static void __init | 211 | static void |
155 | mpc52xx_pci_fixup_resources(struct pci_dev *dev) | 212 | mpc52xx_pci_fixup_resources(struct pci_dev *dev) |
156 | { | 213 | { |
157 | int i; | 214 | int i; |
diff --git a/arch/ppc/syslib/mpc52xx_setup.c b/arch/ppc/syslib/mpc52xx_setup.c index bb2374585a..a4a4b02227 100644 --- a/arch/ppc/syslib/mpc52xx_setup.c +++ b/arch/ppc/syslib/mpc52xx_setup.c | |||
@@ -84,9 +84,11 @@ mpc52xx_set_bat(void) | |||
84 | void __init | 84 | void __init |
85 | mpc52xx_map_io(void) | 85 | mpc52xx_map_io(void) |
86 | { | 86 | { |
87 | /* Here we only map the MBAR */ | 87 | /* Here we map the MBAR and the whole upper zone. MBAR is only |
88 | 64k but we can't map only 64k with BATs. Map the whole | ||
89 | 0xf0000000 range is ok and helps eventual lpb devices placed there */ | ||
88 | io_block_mapping( | 90 | io_block_mapping( |
89 | MPC52xx_MBAR_VIRT, MPC52xx_MBAR, MPC52xx_MBAR_SIZE, _PAGE_IO); | 91 | MPC52xx_MBAR_VIRT, MPC52xx_MBAR, 0x10000000, _PAGE_IO); |
90 | } | 92 | } |
91 | 93 | ||
92 | 94 | ||
diff --git a/arch/ppc/xmon/xmon.c b/arch/ppc/xmon/xmon.c index 2b483b4f16..9075a7538e 100644 --- a/arch/ppc/xmon/xmon.c +++ b/arch/ppc/xmon/xmon.c | |||
@@ -99,7 +99,7 @@ static void remove_bpts(void); | |||
99 | static void insert_bpts(void); | 99 | static void insert_bpts(void); |
100 | static struct bpt *at_breakpoint(unsigned pc); | 100 | static struct bpt *at_breakpoint(unsigned pc); |
101 | static void bpt_cmds(void); | 101 | static void bpt_cmds(void); |
102 | static void cacheflush(void); | 102 | void cacheflush(void); |
103 | #ifdef CONFIG_SMP | 103 | #ifdef CONFIG_SMP |
104 | static void cpu_cmd(void); | 104 | static void cpu_cmd(void); |
105 | #endif /* CONFIG_SMP */ | 105 | #endif /* CONFIG_SMP */ |