- Timestamp:
- Oct 22, 2006, 9:10:03 AM (18 years ago)
- Branches:
- clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- 7c0b4b3
- Parents:
- 7e619b1
- Location:
- patches
- Files:
-
- 1 added
- 1 deleted
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
patches/linux-2.6.18.1-mips-1.patch
r7e619b1 r60d7c102 1 1 Submitted By: Jim Gifford (patches at jg555 dot com) 2 Date: 2006- 09-233 Initial Package Version: 2.6.18 2 Date: 2006-10-22 3 Initial Package Version: 2.6.18.1 4 4 Origin: Linux-MIPS 5 5 Upstream Status: http://www.linux-mips.org/pub/linux/mips/kernel/v2.6/ 6 6 7 diff -Naur linux-2.6.18/arch/mips/au1000/db1x00/Makefile linux-2.6.18.mips/arch/mips/au1000/db1x00/Makefile 8 --- linux-2.6.18/arch/mips/au1000/db1x00/Makefile 2006-09-19 20:42:06.000000000 -0700 9 +++ linux-2.6.18.mips/arch/mips/au1000/db1x00/Makefile 2006-09-20 06:55:21.000000000 -0700 7 diff -Naur linux-2.6.18.1/arch/mips/Kconfig linux-mips-2.6.18.1/arch/mips/Kconfig 8 --- linux-2.6.18.1/arch/mips/Kconfig 2006-10-13 20:34:03.000000000 -0700 9 +++ linux-mips-2.6.18.1/arch/mips/Kconfig 2006-10-17 06:23:28.000000000 -0700 10 @@ -126,7 +126,6 @@ 11 select IRQ_CPU 12 select IRQ_CPU_RM7K 13 select IRQ_CPU_RM9K 14 - select SERIAL_RM9000 15 select SYS_HAS_CPU_RM9000 16 select SYS_SUPPORTS_32BIT_KERNEL 17 select SYS_SUPPORTS_64BIT_KERNEL 18 @@ -480,7 +479,6 @@ 19 select SYS_SUPPORTS_32BIT_KERNEL 20 select SYS_SUPPORTS_64BIT_KERNEL 21 select SYS_SUPPORTS_BIG_ENDIAN 22 - select ARCH_SPARSEMEM_ENABLE 23 help 24 The Ocelot is a MIPS-based Single Board Computer (SBC) made by 25 Momentum Computer <http://www.momenco.com/>. 26 @@ -524,8 +522,6 @@ 27 config MACH_VR41XX 28 bool "NEC VR41XX-based machines" 29 select SYS_HAS_CPU_VR41XX 30 - select SYS_SUPPORTS_32BIT_KERNEL 31 - select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 32 33 config PMC_YOSEMITE 34 bool "PMC-Sierra Yosemite eval board" 35 @@ -614,6 +610,7 @@ 36 select SYS_SUPPORTS_64BIT_KERNEL 37 select SYS_SUPPORTS_BIG_ENDIAN 38 select SYS_SUPPORTS_NUMA 39 + select SYS_SUPPORTS_SMP 40 help 41 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 42 workstations. To compile a Linux kernel that runs on these, say Y 43 @@ -1200,7 +1197,7 @@ 44 select CPU_SUPPORTS_32BIT_KERNEL 45 select CPU_SUPPORTS_64BIT_KERNEL 46 help 47 - The options selects support for the NEC VR4100 series of processors. 48 + The options selects support for the NEC VR41xx series of processors. 49 Only choose this option if you have one of these processors as a 50 kernel built with this option will not run on any other type of 51 processor or vice versa. 52 @@ -1527,6 +1524,7 @@ 53 select CPU_MIPSR2_SRS 54 select MIPS_MT 55 select SMP 56 + select SYS_SUPPORTS_SMP 57 help 58 This is a kernel model which is known a SMTC or lately has been 59 marketesed into SMVP. 60 @@ -1538,6 +1536,7 @@ 61 select CPU_MIPSR2_SRS 62 select MIPS_MT 63 select SMP 64 + select SYS_SUPPORTS_SMP 65 help 66 This is a kernel model which is also known a VSMP or lately 67 has been marketesed into SMVP. 68 @@ -1649,9 +1648,7 @@ 69 default y 70 71 config IRQ_PER_CPU 72 - depends on SMP 73 bool 74 - default y 75 76 # 77 # - Highmem only makes sense for the 32-bit kernel. 78 @@ -1691,9 +1688,6 @@ 79 80 config ARCH_SPARSEMEM_ENABLE 81 bool 82 - 83 -config ARCH_SPARSEMEM_ENABLE 84 - bool 85 select SPARSEMEM_STATIC 86 87 config NUMA 88 @@ -1719,6 +1713,7 @@ 89 config SMP 90 bool "Multi-Processing support" 91 depends on SYS_SUPPORTS_SMP 92 + select IRQ_PER_CPU 93 help 94 This enables support for systems with more than one CPU. If you have 95 a system with only one CPU, like most personal computers, say N. If 96 diff -Naur linux-2.6.18.1/arch/mips/Makefile linux-mips-2.6.18.1/arch/mips/Makefile 97 --- linux-2.6.18.1/arch/mips/Makefile 2006-10-13 20:34:03.000000000 -0700 98 +++ linux-mips-2.6.18.1/arch/mips/Makefile 2006-10-17 06:23:28.000000000 -0700 99 @@ -63,7 +63,9 @@ 100 ifdef CONFIG_BUILD_ELF64 101 cflags-y += $(call cc-option,-mno-explicit-relocs) 102 else 103 -cflags-y += $(call cc-option,-msym32) 104 +# -msym32 can not be used for modules since they are loaded into XKSEG 105 +CFLAGS_MODULE += $(call cc-option,-mno-explicit-relocs) 106 +CFLAGS_KERNEL += $(call cc-option,-msym32) 107 endif 108 endif 109 110 @@ -91,8 +93,17 @@ 111 # carefully avoid to add it redundantly because gcc 3.3/3.4 complains 112 # when fed the toolchain default! 113 # 114 -cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB -D__MIPSEB__) 115 -cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL -D__MIPSEL__) 116 +# Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of 117 +# 2006-10-10 don't properly change the the predefined symbols if -EB / -EL 118 +# are used, so we kludge that here. A bug has been filed at 119 +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413. 120 +# 121 +undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ 122 +undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ 123 +predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__ 124 +predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__ 125 +cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be)) 126 +cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le)) 127 128 cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \ 129 -fno-omit-frame-pointer 130 @@ -330,6 +341,7 @@ 131 # MIPS SEAD board 132 # 133 core-$(CONFIG_MIPS_SEAD) += arch/mips/mips-boards/sead/ 134 +cflags-$(CONFIG_MIPS_SEAD) += -Iinclude/asm-mips/mach-mips 135 load-$(CONFIG_MIPS_SEAD) += 0xffffffff80100000 136 137 # 138 diff -Naur linux-2.6.18.1/arch/mips/au1000/db1x00/Makefile linux-mips-2.6.18.1/arch/mips/au1000/db1x00/Makefile 139 --- linux-2.6.18.1/arch/mips/au1000/db1x00/Makefile 2006-10-13 20:34:03.000000000 -0700 140 +++ linux-mips-2.6.18.1/arch/mips/au1000/db1x00/Makefile 2006-10-17 06:23:28.000000000 -0700 10 141 @@ -6,4 +6,3 @@ 11 142 # Makefile for the Alchemy Semiconductor Db1x00 board. … … 13 144 lib-y := init.o board_setup.o irqmap.o 14 145 -obj-$(CONFIG_WM97XX_COMODULE) += mirage_ts.o 15 diff -Naur linux-2.6.18 /arch/mips/au1000/db1x00/mirage_ts.c linux-2.6.18.mips/arch/mips/au1000/db1x00/mirage_ts.c16 --- linux-2.6.18 /arch/mips/au1000/db1x00/mirage_ts.c 2006-09-19 20:42:06.000000000 -070017 +++ linux- 2.6.18.mips/arch/mips/au1000/db1x00/mirage_ts.c 1969-12-31 16:00:00.000000000 -0800146 diff -Naur linux-2.6.18.1/arch/mips/au1000/db1x00/mirage_ts.c linux-mips-2.6.18.1/arch/mips/au1000/db1x00/mirage_ts.c 147 --- linux-2.6.18.1/arch/mips/au1000/db1x00/mirage_ts.c 2006-10-13 20:34:03.000000000 -0700 148 +++ linux-mips-2.6.18.1/arch/mips/au1000/db1x00/mirage_ts.c 1969-12-31 16:00:00.000000000 -0800 18 149 @@ -1,260 +0,0 @@ 19 150 -/* … … 277 408 -module_exit(ts_mirage_exit); 278 409 - 279 diff -Naur linux-2.6.18/arch/mips/configs/e55_defconfig linux-2.6.18.mips/arch/mips/configs/e55_defconfig 280 --- linux-2.6.18/arch/mips/configs/e55_defconfig 2006-09-19 20:42:06.000000000 -0700 281 +++ linux-2.6.18.mips/arch/mips/configs/e55_defconfig 2006-09-20 06:55:21.000000000 -0700 410 diff -Naur linux-2.6.18.1/arch/mips/cobalt/setup.c linux-mips-2.6.18.1/arch/mips/cobalt/setup.c 411 --- linux-2.6.18.1/arch/mips/cobalt/setup.c 2006-10-13 20:34:03.000000000 -0700 412 +++ linux-mips-2.6.18.1/arch/mips/cobalt/setup.c 2006-10-17 06:23:28.000000000 -0700 413 @@ -51,8 +51,8 @@ 414 415 void __init plat_timer_setup(struct irqaction *irq) 416 { 417 - /* Load timer value for 1KHz (TCLK is 50MHz) */ 418 - GALILEO_OUTL(50*1000*1000 / 1000, GT_TC0_OFS); 419 + /* Load timer value for HZ (TCLK is 50MHz) */ 420 + GALILEO_OUTL(50*1000*1000 / HZ, GT_TC0_OFS); 421 422 /* Enable timer */ 423 GALILEO_OUTL(GALILEO_ENTC0 | GALILEO_SELTC0, GT_TC_CONTROL_OFS); 424 diff -Naur linux-2.6.18.1/arch/mips/configs/e55_defconfig linux-mips-2.6.18.1/arch/mips/configs/e55_defconfig 425 --- linux-2.6.18.1/arch/mips/configs/e55_defconfig 2006-10-13 20:34:03.000000000 -0700 426 +++ linux-mips-2.6.18.1/arch/mips/configs/e55_defconfig 2006-10-17 06:23:28.000000000 -0700 282 427 @@ -1,7 +1,7 @@ 283 428 # … … 331 476 # 332 477 # Security options 333 diff -Naur linux-2.6.18 /arch/mips/configs/mpc30x_defconfig linux-2.6.18.mips/arch/mips/configs/mpc30x_defconfig334 --- linux-2.6.18 /arch/mips/configs/mpc30x_defconfig 2006-09-19 20:42:06.000000000 -0700335 +++ linux- 2.6.18.mips/arch/mips/configs/mpc30x_defconfig 2006-09-20 06:55:21.000000000 -0700478 diff -Naur linux-2.6.18.1/arch/mips/configs/mpc30x_defconfig linux-mips-2.6.18.1/arch/mips/configs/mpc30x_defconfig 479 --- linux-2.6.18.1/arch/mips/configs/mpc30x_defconfig 2006-10-13 20:34:03.000000000 -0700 480 +++ linux-mips-2.6.18.1/arch/mips/configs/mpc30x_defconfig 2006-10-17 06:23:28.000000000 -0700 336 481 @@ -1,7 +1,7 @@ 337 482 # … … 394 539 # 395 540 # Security options 396 diff -Naur linux-2.6.18 /arch/mips/configs/workpad_defconfig linux-2.6.18.mips/arch/mips/configs/workpad_defconfig397 --- linux-2.6.18 /arch/mips/configs/workpad_defconfig 2006-09-19 20:42:06.000000000 -0700398 +++ linux- 2.6.18.mips/arch/mips/configs/workpad_defconfig 2006-09-20 06:55:21.000000000 -0700541 diff -Naur linux-2.6.18.1/arch/mips/configs/workpad_defconfig linux-mips-2.6.18.1/arch/mips/configs/workpad_defconfig 542 --- linux-2.6.18.1/arch/mips/configs/workpad_defconfig 2006-10-13 20:34:03.000000000 -0700 543 +++ linux-mips-2.6.18.1/arch/mips/configs/workpad_defconfig 2006-10-17 06:23:28.000000000 -0700 399 544 @@ -1,7 +1,7 @@ 400 545 # … … 448 593 # 449 594 # Security options 450 diff -Naur linux-2.6.18/arch/mips/Kconfig linux-2.6.18.mips/arch/mips/Kconfig 451 --- linux-2.6.18/arch/mips/Kconfig 2006-09-19 20:42:06.000000000 -0700 452 +++ linux-2.6.18.mips/arch/mips/Kconfig 2006-09-20 06:55:21.000000000 -0700 453 @@ -126,7 +126,6 @@ 454 select IRQ_CPU 455 select IRQ_CPU_RM7K 456 select IRQ_CPU_RM9K 457 - select SERIAL_RM9000 458 select SYS_HAS_CPU_RM9000 459 select SYS_SUPPORTS_32BIT_KERNEL 460 select SYS_SUPPORTS_64BIT_KERNEL 461 @@ -480,7 +479,6 @@ 462 select SYS_SUPPORTS_32BIT_KERNEL 463 select SYS_SUPPORTS_64BIT_KERNEL 464 select SYS_SUPPORTS_BIG_ENDIAN 465 - select ARCH_SPARSEMEM_ENABLE 466 help 467 The Ocelot is a MIPS-based Single Board Computer (SBC) made by 468 Momentum Computer <http://www.momenco.com/>. 469 @@ -524,8 +522,6 @@ 470 config MACH_VR41XX 471 bool "NEC VR41XX-based machines" 472 select SYS_HAS_CPU_VR41XX 473 - select SYS_SUPPORTS_32BIT_KERNEL 474 - select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 475 476 config PMC_YOSEMITE 477 bool "PMC-Sierra Yosemite eval board" 478 @@ -614,6 +610,7 @@ 479 select SYS_SUPPORTS_64BIT_KERNEL 480 select SYS_SUPPORTS_BIG_ENDIAN 481 select SYS_SUPPORTS_NUMA 482 + select SYS_SUPPORTS_SMP 483 help 484 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 485 workstations. To compile a Linux kernel that runs on these, say Y 486 @@ -1200,7 +1197,7 @@ 487 select CPU_SUPPORTS_32BIT_KERNEL 488 select CPU_SUPPORTS_64BIT_KERNEL 489 help 490 - The options selects support for the NEC VR4100 series of processors. 491 + The options selects support for the NEC VR41xx series of processors. 492 Only choose this option if you have one of these processors as a 493 kernel built with this option will not run on any other type of 494 processor or vice versa. 495 @@ -1527,6 +1524,7 @@ 496 select CPU_MIPSR2_SRS 497 select MIPS_MT 498 select SMP 499 + select SYS_SUPPORTS_SMP 500 help 501 This is a kernel model which is known a SMTC or lately has been 502 marketesed into SMVP. 503 @@ -1538,6 +1536,7 @@ 504 select CPU_MIPSR2_SRS 505 select MIPS_MT 506 select SMP 507 + select SYS_SUPPORTS_SMP 508 help 509 This is a kernel model which is also known a VSMP or lately 510 has been marketesed into SMVP. 511 @@ -1649,9 +1648,7 @@ 512 default y 513 514 config IRQ_PER_CPU 515 - depends on SMP 516 bool 517 - default y 518 519 # 520 # - Highmem only makes sense for the 32-bit kernel. 521 @@ -1691,9 +1688,6 @@ 522 523 config ARCH_SPARSEMEM_ENABLE 524 bool 525 - 526 -config ARCH_SPARSEMEM_ENABLE 527 - bool 528 select SPARSEMEM_STATIC 529 530 config NUMA 531 @@ -1719,6 +1713,7 @@ 532 config SMP 533 bool "Multi-Processing support" 534 depends on SYS_SUPPORTS_SMP 535 + select IRQ_PER_CPU 536 help 537 This enables support for systems with more than one CPU. If you have 538 a system with only one CPU, like most personal computers, say N. If 539 diff -Naur linux-2.6.18/arch/mips/kernel/cpu-probe.c linux-2.6.18.mips/arch/mips/kernel/cpu-probe.c 540 --- linux-2.6.18/arch/mips/kernel/cpu-probe.c 2006-09-19 20:42:06.000000000 -0700 541 +++ linux-2.6.18.mips/arch/mips/kernel/cpu-probe.c 2006-09-20 06:55:21.000000000 -0700 595 diff -Naur linux-2.6.18.1/arch/mips/kernel/cpu-probe.c linux-mips-2.6.18.1/arch/mips/kernel/cpu-probe.c 596 --- linux-2.6.18.1/arch/mips/kernel/cpu-probe.c 2006-10-13 20:34:03.000000000 -0700 597 +++ linux-mips-2.6.18.1/arch/mips/kernel/cpu-probe.c 2006-10-17 06:23:28.000000000 -0700 542 598 @@ -38,15 +38,40 @@ 543 599 … … 650 706 printk(" unavailable.\n"); 651 707 break; 652 diff -Naur linux-2.6.18 /arch/mips/kernel/irixsig.c linux-2.6.18.mips/arch/mips/kernel/irixsig.c653 --- linux-2.6.18 /arch/mips/kernel/irixsig.c 2006-09-19 20:42:06.000000000 -0700654 +++ linux- 2.6.18.mips/arch/mips/kernel/irixsig.c 2006-09-20 06:55:21.000000000 -0700708 diff -Naur linux-2.6.18.1/arch/mips/kernel/irixsig.c linux-mips-2.6.18.1/arch/mips/kernel/irixsig.c 709 --- linux-2.6.18.1/arch/mips/kernel/irixsig.c 2006-10-13 20:34:03.000000000 -0700 710 +++ linux-mips-2.6.18.1/arch/mips/kernel/irixsig.c 2006-10-17 06:23:28.000000000 -0700 655 711 @@ -17,6 +17,7 @@ 656 712 … … 769 825 770 826 /* hate hate hate... */ 771 diff -Naur linux-2.6.18/arch/mips/kernel/linux32.c linux-2.6.18.mips/arch/mips/kernel/linux32.c 772 --- linux-2.6.18/arch/mips/kernel/linux32.c 2006-09-19 20:42:06.000000000 -0700 773 +++ linux-2.6.18.mips/arch/mips/kernel/linux32.c 2006-09-20 06:55:21.000000000 -0700 774 @@ -1296,9 +1296,3 @@ 827 diff -Naur linux-2.6.18.1/arch/mips/kernel/linux32.c linux-mips-2.6.18.1/arch/mips/kernel/linux32.c 828 --- linux-2.6.18.1/arch/mips/kernel/linux32.c 2006-10-13 20:34:03.000000000 -0700 829 +++ linux-mips-2.6.18.1/arch/mips/kernel/linux32.c 2006-10-17 06:23:28.000000000 -0700 830 @@ -1053,7 +1053,9 @@ 831 asmlinkage int sys32_personality(unsigned long personality) 832 { 833 int ret; 834 - if (current->personality == PER_LINUX32 && personality == PER_LINUX) 835 + personality &= 0xffffffff; 836 + if (personality(current->personality) == PER_LINUX32 && 837 + personality == PER_LINUX) 838 personality = PER_LINUX32; 839 ret = sys_personality(personality); 840 if (ret == PER_LINUX32) 841 @@ -1296,9 +1298,3 @@ 775 842 return do_fork(clone_flags, newsp, ®s, 0, 776 843 parent_tidptr, child_tidptr); … … 782 849 - sys_set_thread_area(AA(addr)); 783 850 -} 784 diff -Naur linux-2.6.18 /arch/mips/kernel/mips-mt.c linux-2.6.18.mips/arch/mips/kernel/mips-mt.c785 --- linux-2.6.18 /arch/mips/kernel/mips-mt.c 2006-09-19 20:42:06.000000000 -0700786 +++ linux- 2.6.18.mips/arch/mips/kernel/mips-mt.c 2006-09-20 06:55:21.000000000 -0700851 diff -Naur linux-2.6.18.1/arch/mips/kernel/mips-mt.c linux-mips-2.6.18.1/arch/mips/kernel/mips-mt.c 852 --- linux-2.6.18.1/arch/mips/kernel/mips-mt.c 2006-10-13 20:34:03.000000000 -0700 853 +++ linux-mips-2.6.18.1/arch/mips/kernel/mips-mt.c 2006-10-17 06:23:28.000000000 -0700 787 854 @@ -96,6 +96,10 @@ 788 855 goto out_unlock; … … 808 875 cpus_and(mask, p->thread.user_cpus_allowed, cpu_possible_map); 809 876 810 diff -Naur linux-2.6.18/arch/mips/kernel/process.c linux-2.6.18.mips/arch/mips/kernel/process.c 811 --- linux-2.6.18/arch/mips/kernel/process.c 2006-09-19 20:42:06.000000000 -0700 812 +++ linux-2.6.18.mips/arch/mips/kernel/process.c 2006-09-20 06:55:21.000000000 -0700 877 diff -Naur linux-2.6.18.1/arch/mips/kernel/proc.c linux-mips-2.6.18.1/arch/mips/kernel/proc.c 878 --- linux-2.6.18.1/arch/mips/kernel/proc.c 2006-10-13 20:34:03.000000000 -0700 879 +++ linux-mips-2.6.18.1/arch/mips/kernel/proc.c 2006-10-17 06:23:28.000000000 -0700 880 @@ -89,9 +89,9 @@ 881 882 static int show_cpuinfo(struct seq_file *m, void *v) 883 { 884 - unsigned int version = current_cpu_data.processor_id; 885 - unsigned int fp_vers = current_cpu_data.fpu_id; 886 unsigned long n = (unsigned long) v - 1; 887 + unsigned int version = cpu_data[n].processor_id; 888 + unsigned int fp_vers = cpu_data[n].fpu_id; 889 char fmt [64]; 890 891 #ifdef CONFIG_SMP 892 @@ -107,9 +107,9 @@ 893 894 seq_printf(m, "processor\t\t: %ld\n", n); 895 sprintf(fmt, "cpu model\t\t: %%s V%%d.%%d%s\n", 896 - cpu_has_fpu ? " FPU V%d.%d" : ""); 897 - seq_printf(m, fmt, cpu_name[current_cpu_data.cputype <= CPU_LAST ? 898 - current_cpu_data.cputype : CPU_UNKNOWN], 899 + cpu_data[n].options & MIPS_CPU_FPU ? " FPU V%d.%d" : ""); 900 + seq_printf(m, fmt, cpu_name[cpu_data[n].cputype <= CPU_LAST ? 901 + cpu_data[n].cputype : CPU_UNKNOWN], 902 (version >> 4) & 0x0f, version & 0x0f, 903 (fp_vers >> 4) & 0x0f, fp_vers & 0x0f); 904 seq_printf(m, "BogoMIPS\t\t: %lu.%02lu\n", 905 @@ -118,7 +118,7 @@ 906 seq_printf(m, "wait instruction\t: %s\n", cpu_wait ? "yes" : "no"); 907 seq_printf(m, "microsecond timers\t: %s\n", 908 cpu_has_counter ? "yes" : "no"); 909 - seq_printf(m, "tlb_entries\t\t: %d\n", current_cpu_data.tlbsize); 910 + seq_printf(m, "tlb_entries\t\t: %d\n", cpu_data[n].tlbsize); 911 seq_printf(m, "extra interrupt vector\t: %s\n", 912 cpu_has_divec ? "yes" : "no"); 913 seq_printf(m, "hardware watchpoint\t: %s\n", 914 diff -Naur linux-2.6.18.1/arch/mips/kernel/process.c linux-mips-2.6.18.1/arch/mips/kernel/process.c 915 --- linux-2.6.18.1/arch/mips/kernel/process.c 2006-10-13 20:34:03.000000000 -0700 916 +++ linux-mips-2.6.18.1/arch/mips/kernel/process.c 2006-10-17 06:23:28.000000000 -0700 917 @@ -114,7 +114,7 @@ 918 status |= KU_USER; 919 regs->cp0_status = status; 920 clear_used_math(); 921 - lose_fpu(); 922 + clear_fpu_owner(); 923 if (cpu_has_dsp) 924 __init_dsp(); 925 regs->cp0_epc = pc; 813 926 @@ -281,62 +281,63 @@ 814 927 } *schedule_frame, mfinfo[64]; … … 863 976 864 977 - if (info->func_size && i >= info->func_size / 4) 865 - break; 978 + for (i = 0; i < max_insns; i++, ip++) { 979 + 980 + if (is_jal_jalr_jr_ins(ip)) 981 break; 866 982 - if ( 867 983 -#ifdef CONFIG_32BIT … … 877 993 - continue; 878 994 - info->frame_size = - ip->i_format.simmediate; 879 - } 880 + for (i = 0; i < max_insns; i++, ip++) { 881 995 + if (!info->frame_size) { 996 + if (is_sp_move_ins(ip)) 997 + info->frame_size = - ip->i_format.simmediate; 998 + continue; 999 } 1000 - 882 1001 - if ( 883 1002 -#ifdef CONFIG_32BIT … … 892 1011 - if (info->pc_offset != -1) 893 1012 - continue; 894 + if (is_jal_jalr_jr_ins(ip))895 + break;896 + if (!info->frame_size) {897 + if (is_sp_move_ins(ip))898 + info->frame_size = - ip->i_format.simmediate;899 + continue;900 + }901 1013 + if (info->pc_offset == -1 && is_ra_save_ins(ip)) { 902 1014 info->pc_offset = … … 997 1109 +} 998 1110 +#endif 999 diff -Naur linux-2.6.18 /arch/mips/kernel/ptrace.c linux-2.6.18.mips/arch/mips/kernel/ptrace.c1000 --- linux-2.6.18 /arch/mips/kernel/ptrace.c 2006-09-19 20:42:06.000000000 -07001001 +++ linux- 2.6.18.mips/arch/mips/kernel/ptrace.c 2006-09-20 06:55:21.000000000 -07001111 diff -Naur linux-2.6.18.1/arch/mips/kernel/ptrace.c linux-mips-2.6.18.1/arch/mips/kernel/ptrace.c 1112 --- linux-2.6.18.1/arch/mips/kernel/ptrace.c 2006-10-13 20:34:03.000000000 -0700 1113 +++ linux-mips-2.6.18.1/arch/mips/kernel/ptrace.c 2006-10-17 06:23:28.000000000 -0700 1002 1114 @@ -20,12 +20,12 @@ 1003 1115 #include <linux/mm.h> … … 1015 1127 #include <asm/byteorder.h> 1016 1128 #include <asm/cpu.h> 1017 @@ -471,12 +471,16 @@ 1129 @@ -106,6 +106,7 @@ 1130 int ptrace_getfpregs (struct task_struct *child, __u32 __user *data) 1131 { 1132 int i; 1133 + unsigned int tmp; 1134 1135 if (!access_ok(VERIFY_WRITE, data, 33 * 8)) 1136 return -EIO; 1137 @@ -121,10 +122,10 @@ 1138 1139 __put_user (child->thread.fpu.fcr31, data + 64); 1140 1141 + preempt_disable(); 1142 if (cpu_has_fpu) { 1143 - unsigned int flags, tmp; 1144 + unsigned int flags; 1145 1146 - preempt_disable(); 1147 if (cpu_has_mipsmt) { 1148 unsigned int vpflags = dvpe(); 1149 flags = read_c0_status(); 1150 @@ -138,11 +139,11 @@ 1151 __asm__ __volatile__("cfc1\t%0,$0" : "=r" (tmp)); 1152 write_c0_status(flags); 1153 } 1154 - preempt_enable(); 1155 - __put_user (tmp, data + 65); 1156 } else { 1157 - __put_user ((__u32) 0, data + 65); 1158 + tmp = 0; 1159 } 1160 + preempt_enable(); 1161 + __put_user (tmp, data + 65); 1162 1163 return 0; 1164 } 1165 @@ -245,16 +246,17 @@ 1166 unsigned int mtflags; 1167 #endif /* CONFIG_MIPS_MT_SMTC */ 1168 1169 - if (!cpu_has_fpu) 1170 + preempt_disable(); 1171 + if (!cpu_has_fpu) { 1172 + preempt_enable(); 1173 break; 1174 + } 1175 1176 #ifdef CONFIG_MIPS_MT_SMTC 1177 /* Read-modify-write of Status must be atomic */ 1178 local_irq_save(irqflags); 1179 mtflags = dmt(); 1180 #endif /* CONFIG_MIPS_MT_SMTC */ 1181 - 1182 - preempt_disable(); 1183 if (cpu_has_mipsmt) { 1184 unsigned int vpflags = dvpe(); 1185 flags = read_c0_status(); 1186 @@ -471,12 +473,16 @@ 1018 1187 */ 1019 1188 asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) … … 1032 1201 goto out; 1033 1202 1034 @@ -494,9 + 498,14 @@1203 @@ -494,9 +500,14 @@ 1035 1204 send_sig(current->exit_code, current, 1); 1036 1205 current->exit_code = 0; … … 1051 1220 + regs->regs[6], regs->regs[7]); 1052 1221 } 1053 diff -Naur linux-2.6.18/arch/mips/kernel/scall32-o32.S linux-2.6.18.mips/arch/mips/kernel/scall32-o32.S 1054 --- linux-2.6.18/arch/mips/kernel/scall32-o32.S 2006-09-19 20:42:06.000000000 -0700 1055 +++ linux-2.6.18.mips/arch/mips/kernel/scall32-o32.S 2006-09-20 06:55:21.000000000 -0700 1222 diff -Naur linux-2.6.18.1/arch/mips/kernel/ptrace32.c linux-mips-2.6.18.1/arch/mips/kernel/ptrace32.c 1223 --- linux-2.6.18.1/arch/mips/kernel/ptrace32.c 2006-10-13 20:34:03.000000000 -0700 1224 +++ linux-mips-2.6.18.1/arch/mips/kernel/ptrace32.c 2006-10-17 06:23:28.000000000 -0700 1225 @@ -175,7 +175,9 @@ 1226 unsigned int mtflags; 1227 #endif /* CONFIG_MIPS_MT_SMTC */ 1228 1229 + preempt_disable(); 1230 if (!cpu_has_fpu) { 1231 + preempt_enable(); 1232 tmp = 0; 1233 break; 1234 } 1235 @@ -186,7 +188,6 @@ 1236 mtflags = dmt(); 1237 #endif /* CONFIG_MIPS_MT_SMTC */ 1238 1239 - preempt_disable(); 1240 if (cpu_has_mipsmt) { 1241 unsigned int vpflags = dvpe(); 1242 flags = read_c0_status(); 1243 diff -Naur linux-2.6.18.1/arch/mips/kernel/scall32-o32.S linux-mips-2.6.18.1/arch/mips/kernel/scall32-o32.S 1244 --- linux-2.6.18.1/arch/mips/kernel/scall32-o32.S 2006-10-13 20:34:03.000000000 -0700 1245 +++ linux-mips-2.6.18.1/arch/mips/kernel/scall32-o32.S 2006-10-17 06:23:28.000000000 -0700 1056 1246 @@ -662,6 +662,8 @@ 1057 1247 sys sys_tee 4 … … 1063 1253 1064 1254 /* We pre-compute the number of _instruction_ bytes needed to 1065 diff -Naur linux-2.6.18 /arch/mips/kernel/scall64-64.S linux-2.6.18.mips/arch/mips/kernel/scall64-64.S1066 --- linux-2.6.18 /arch/mips/kernel/scall64-64.S 2006-09-19 20:42:06.000000000 -07001067 +++ linux- 2.6.18.mips/arch/mips/kernel/scall64-64.S 2006-09-20 06:55:21.000000000 -07001255 diff -Naur linux-2.6.18.1/arch/mips/kernel/scall64-64.S linux-mips-2.6.18.1/arch/mips/kernel/scall64-64.S 1256 --- linux-2.6.18.1/arch/mips/kernel/scall64-64.S 2006-10-13 20:34:03.000000000 -0700 1257 +++ linux-mips-2.6.18.1/arch/mips/kernel/scall64-64.S 2006-10-17 06:23:28.000000000 -0700 1068 1258 @@ -466,3 +466,5 @@ 1069 1259 PTR sys_tee /* 5265 */ … … 1072 1262 + PTR sys_set_robust_list 1073 1263 + PTR sys_get_robust_list 1074 diff -Naur linux-2.6.18 /arch/mips/kernel/scall64-n32.S linux-2.6.18.mips/arch/mips/kernel/scall64-n32.S1075 --- linux-2.6.18 /arch/mips/kernel/scall64-n32.S 2006-09-19 20:42:06.000000000 -07001076 +++ linux- 2.6.18.mips/arch/mips/kernel/scall64-n32.S 2006-09-20 06:55:21.000000000 -07001264 diff -Naur linux-2.6.18.1/arch/mips/kernel/scall64-n32.S linux-mips-2.6.18.1/arch/mips/kernel/scall64-n32.S 1265 --- linux-2.6.18.1/arch/mips/kernel/scall64-n32.S 2006-10-13 20:34:03.000000000 -0700 1266 +++ linux-mips-2.6.18.1/arch/mips/kernel/scall64-n32.S 2006-10-17 06:23:28.000000000 -0700 1077 1267 @@ -247,7 +247,7 @@ 1078 1268 PTR sys_capset … … 1084 1274 PTR sys32_sigaltstack 1085 1275 PTR compat_sys_utime /* 6130 */ 1276 @@ -280,7 +280,7 @@ 1277 PTR sys_sync 1278 PTR sys_acct 1279 PTR sys32_settimeofday 1280 - PTR sys_mount /* 6160 */ 1281 + PTR compat_sys_mount /* 6160 */ 1282 PTR sys_umount 1283 PTR sys_swapon 1284 PTR sys_swapoff 1086 1285 @@ -390,5 +390,7 @@ 1087 1286 PTR sys_splice … … 1093 1292 + PTR compat_sys_set_robust_list 1094 1293 + PTR compat_sys_get_robust_list 1095 diff -Naur linux-2.6.18/arch/mips/kernel/scall64-o32.S linux-2.6.18.mips/arch/mips/kernel/scall64-o32.S 1096 --- linux-2.6.18/arch/mips/kernel/scall64-o32.S 2006-09-19 20:42:06.000000000 -0700 1097 +++ linux-2.6.18.mips/arch/mips/kernel/scall64-o32.S 2006-09-20 06:55:21.000000000 -0700 1294 diff -Naur linux-2.6.18.1/arch/mips/kernel/scall64-o32.S linux-mips-2.6.18.1/arch/mips/kernel/scall64-o32.S 1295 --- linux-2.6.18.1/arch/mips/kernel/scall64-o32.S 2006-10-13 20:34:03.000000000 -0700 1296 +++ linux-mips-2.6.18.1/arch/mips/kernel/scall64-o32.S 2006-10-17 06:23:28.000000000 -0700 1297 @@ -226,7 +226,7 @@ 1298 PTR sys_ni_syscall /* was sys_stat */ 1299 PTR sys_lseek 1300 PTR sys_getpid /* 4020 */ 1301 - PTR sys_mount 1302 + PTR compat_sys_mount 1303 PTR sys_oldumount 1304 PTR sys_setuid 1305 PTR sys_getuid 1306 @@ -498,7 +498,7 @@ 1307 PTR sys_mknodat /* 4290 */ 1308 PTR sys_fchownat 1309 PTR compat_sys_futimesat 1310 - PTR compat_sys_newfstatat 1311 + PTR sys_newfstatat 1312 PTR sys_unlinkat 1313 PTR sys_renameat /* 4295 */ 1314 PTR sys_linkat 1098 1315 @@ -514,4 +514,6 @@ 1099 1316 PTR sys_tee … … 1103 1320 + PTR compat_sys_get_robust_list /* 4310 */ 1104 1321 .size sys_call_table,.-sys_call_table 1105 diff -Naur linux-2.6.18/arch/mips/kernel/signal32.c linux-2.6.18.mips/arch/mips/kernel/signal32.c 1106 --- linux-2.6.18/arch/mips/kernel/signal32.c 2006-09-19 20:42:06.000000000 -0700 1107 +++ linux-2.6.18.mips/arch/mips/kernel/signal32.c 2006-09-20 06:55:21.000000000 -0700 1322 diff -Naur linux-2.6.18.1/arch/mips/kernel/signal.c linux-mips-2.6.18.1/arch/mips/kernel/signal.c 1323 --- linux-2.6.18.1/arch/mips/kernel/signal.c 2006-10-13 20:34:03.000000000 -0700 1324 +++ linux-mips-2.6.18.1/arch/mips/kernel/signal.c 2006-10-17 06:23:28.000000000 -0700 1325 @@ -424,15 +424,11 @@ 1326 if (!user_mode(regs)) 1327 return; 1328 1329 - if (try_to_freeze()) 1330 - goto no_signal; 1331 - 1332 if (test_thread_flag(TIF_RESTORE_SIGMASK)) 1333 oldset = ¤t->saved_sigmask; 1334 else 1335 oldset = ¤t->blocked; 1336 1337 - 1338 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 1339 if (signr > 0) { 1340 /* Whee! Actually deliver the signal. */ 1341 @@ -446,9 +442,10 @@ 1342 if (test_thread_flag(TIF_RESTORE_SIGMASK)) 1343 clear_thread_flag(TIF_RESTORE_SIGMASK); 1344 } 1345 + 1346 + return; 1347 } 1348 1349 -no_signal: 1350 /* 1351 * Who's code doesn't conform to the restartable syscall convention 1352 * dies here!!! The li instruction, a single machine instruction, 1353 @@ -466,6 +463,7 @@ 1354 regs->regs[7] = regs->regs[26]; 1355 regs->cp0_epc -= 4; 1356 } 1357 + regs->regs[0] = 0; /* Don't deal with this again. */ 1358 } 1359 1360 /* 1361 diff -Naur linux-2.6.18.1/arch/mips/kernel/signal32.c linux-mips-2.6.18.1/arch/mips/kernel/signal32.c 1362 --- linux-2.6.18.1/arch/mips/kernel/signal32.c 2006-10-13 20:34:03.000000000 -0700 1363 +++ linux-mips-2.6.18.1/arch/mips/kernel/signal32.c 2006-10-17 06:23:28.000000000 -0700 1108 1364 @@ -815,9 +815,6 @@ 1109 1365 if (!user_mode(regs)) … … 1136 1392 1137 1393 /* 1138 diff -Naur linux-2.6.18/arch/mips/kernel/signal.c linux-2.6.18.mips/arch/mips/kernel/signal.c 1139 --- linux-2.6.18/arch/mips/kernel/signal.c 2006-09-19 20:42:06.000000000 -0700 1140 +++ linux-2.6.18.mips/arch/mips/kernel/signal.c 2006-09-20 06:55:21.000000000 -0700 1141 @@ -424,15 +424,11 @@ 1142 if (!user_mode(regs)) 1143 return; 1144 1145 - if (try_to_freeze()) 1146 - goto no_signal; 1147 - 1148 if (test_thread_flag(TIF_RESTORE_SIGMASK)) 1149 oldset = ¤t->saved_sigmask; 1150 else 1151 oldset = ¤t->blocked; 1152 1153 - 1154 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 1155 if (signr > 0) { 1156 /* Whee! Actually deliver the signal. */ 1157 @@ -446,9 +442,10 @@ 1158 if (test_thread_flag(TIF_RESTORE_SIGMASK)) 1159 clear_thread_flag(TIF_RESTORE_SIGMASK); 1160 } 1161 + 1162 + return; 1163 } 1164 1165 -no_signal: 1166 /* 1167 * Who's code doesn't conform to the restartable syscall convention 1168 * dies here!!! The li instruction, a single machine instruction, 1169 @@ -466,6 +463,7 @@ 1170 regs->regs[7] = regs->regs[26]; 1171 regs->cp0_epc -= 4; 1172 } 1173 + regs->regs[0] = 0; /* Don't deal with this again. */ 1174 } 1175 1176 /* 1177 diff -Naur linux-2.6.18/arch/mips/kernel/smp.c linux-2.6.18.mips/arch/mips/kernel/smp.c 1178 --- linux-2.6.18/arch/mips/kernel/smp.c 2006-09-19 20:42:06.000000000 -0700 1179 +++ linux-2.6.18.mips/arch/mips/kernel/smp.c 2006-09-20 06:55:21.000000000 -0700 1394 diff -Naur linux-2.6.18.1/arch/mips/kernel/smp-mt.c linux-mips-2.6.18.1/arch/mips/kernel/smp-mt.c 1395 --- linux-2.6.18.1/arch/mips/kernel/smp-mt.c 2006-10-13 20:34:03.000000000 -0700 1396 +++ linux-mips-2.6.18.1/arch/mips/kernel/smp-mt.c 2006-10-17 06:23:28.000000000 -0700 1397 @@ -203,7 +203,7 @@ 1398 write_vpe_c0_config( read_c0_config()); 1399 1400 /* make sure there are no software interrupts pending */ 1401 - write_vpe_c0_cause(read_vpe_c0_cause() & ~(C_SW1|C_SW0)); 1402 + write_vpe_c0_cause(0); 1403 1404 /* Propagate Config7 */ 1405 write_vpe_c0_config7(read_c0_config7()); 1406 diff -Naur linux-2.6.18.1/arch/mips/kernel/smp.c linux-mips-2.6.18.1/arch/mips/kernel/smp.c 1407 --- linux-2.6.18.1/arch/mips/kernel/smp.c 2006-10-13 20:34:03.000000000 -0700 1408 +++ linux-mips-2.6.18.1/arch/mips/kernel/smp.c 2006-10-17 06:23:28.000000000 -0700 1180 1409 @@ -467,14 +467,18 @@ 1181 1410 … … 1202 1431 1203 1432 return 0; 1204 diff -Naur linux-2.6.18/arch/mips/kernel/smp-mt.c linux-2.6.18.mips/arch/mips/kernel/smp-mt.c 1205 --- linux-2.6.18/arch/mips/kernel/smp-mt.c 2006-09-19 20:42:06.000000000 -0700 1206 +++ linux-2.6.18.mips/arch/mips/kernel/smp-mt.c 2006-09-20 06:55:21.000000000 -0700 1207 @@ -203,7 +203,7 @@ 1208 write_vpe_c0_config( read_c0_config()); 1209 1210 /* make sure there are no software interrupts pending */ 1211 - write_vpe_c0_cause(read_vpe_c0_cause() & ~(C_SW1|C_SW0)); 1212 + write_vpe_c0_cause(0); 1213 1214 /* Propagate Config7 */ 1215 write_vpe_c0_config7(read_c0_config7()); 1216 diff -Naur linux-2.6.18/arch/mips/kernel/smtc-asm.S linux-2.6.18.mips/arch/mips/kernel/smtc-asm.S 1217 --- linux-2.6.18/arch/mips/kernel/smtc-asm.S 2006-09-19 20:42:06.000000000 -0700 1218 +++ linux-2.6.18.mips/arch/mips/kernel/smtc-asm.S 2006-09-20 06:55:21.000000000 -0700 1433 diff -Naur linux-2.6.18.1/arch/mips/kernel/smtc-asm.S linux-mips-2.6.18.1/arch/mips/kernel/smtc-asm.S 1434 --- linux-2.6.18.1/arch/mips/kernel/smtc-asm.S 2006-10-13 20:34:03.000000000 -0700 1435 +++ linux-mips-2.6.18.1/arch/mips/kernel/smtc-asm.S 2006-10-17 06:23:28.000000000 -0700 1219 1436 @@ -8,7 +8,7 @@ 1220 1437 #include <asm/regdef.h> … … 1226 1443 /* 1227 1444 * "Software Interrupt" linkage. 1228 diff -Naur linux-2.6.18 /arch/mips/kernel/syscall.c linux-2.6.18.mips/arch/mips/kernel/syscall.c1229 --- linux-2.6.18 /arch/mips/kernel/syscall.c 2006-09-19 20:42:06.000000000 -07001230 +++ linux- 2.6.18.mips/arch/mips/kernel/syscall.c 2006-09-20 06:55:21.000000000 -07001445 diff -Naur linux-2.6.18.1/arch/mips/kernel/syscall.c linux-mips-2.6.18.1/arch/mips/kernel/syscall.c 1446 --- linux-2.6.18.1/arch/mips/kernel/syscall.c 2006-10-13 20:34:03.000000000 -0700 1447 +++ linux-mips-2.6.18.1/arch/mips/kernel/syscall.c 2006-10-17 06:23:28.000000000 -0700 1231 1448 @@ -263,7 +263,7 @@ 1232 1449 return error; … … 1247 1464 1248 1465 asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3) 1249 diff -Naur linux-2.6.18 /arch/mips/kernel/traps.c linux-2.6.18.mips/arch/mips/kernel/traps.c1250 --- linux-2.6.18 /arch/mips/kernel/traps.c 2006-09-19 20:42:06.000000000 -07001251 +++ linux- 2.6.18.mips/arch/mips/kernel/traps.c 2006-09-20 06:55:21.000000000 -07001466 diff -Naur linux-2.6.18.1/arch/mips/kernel/traps.c linux-mips-2.6.18.1/arch/mips/kernel/traps.c 1467 --- linux-2.6.18.1/arch/mips/kernel/traps.c 2006-10-13 20:34:03.000000000 -0700 1468 +++ linux-mips-2.6.18.1/arch/mips/kernel/traps.c 2006-10-17 06:23:28.000000000 -0700 1252 1469 @@ -20,6 +20,7 @@ 1253 1470 #include <linux/spinlock.h> … … 1258 1475 #include <asm/bootinfo.h> 1259 1476 #include <asm/branch.h> 1477 @@ -64,7 +65,7 @@ 1478 extern asmlinkage void handle_reserved(void); 1479 1480 extern int fpu_emulator_cop1Handler(struct pt_regs *xcp, 1481 - struct mips_fpu_struct *ctx); 1482 + struct mips_fpu_struct *ctx, int has_fpu); 1483 1484 void (*board_be_init)(void); 1485 int (*board_be_handler)(struct pt_regs *regs, int is_fixup); 1260 1486 @@ -72,28 +73,68 @@ 1261 1487 void (*board_ejtag_handler_setup)(void); … … 1454 1680 } 1455 1681 1456 diff -Naur linux-2.6.18/arch/mips/kernel/vpe.c linux-2.6.18.mips/arch/mips/kernel/vpe.c 1457 --- linux-2.6.18/arch/mips/kernel/vpe.c 2006-09-19 20:42:06.000000000 -0700 1458 +++ linux-2.6.18.mips/arch/mips/kernel/vpe.c 2006-09-20 06:55:21.000000000 -0700 1682 @@ -601,7 +673,7 @@ 1683 preempt_enable(); 1684 1685 /* Run the emulator */ 1686 - sig = fpu_emulator_cop1Handler (regs, ¤t->thread.fpu); 1687 + sig = fpu_emulator_cop1Handler (regs, ¤t->thread.fpu, 1); 1688 1689 preempt_disable(); 1690 1691 @@ -751,11 +823,13 @@ 1692 set_used_math(); 1693 } 1694 1695 - preempt_enable(); 1696 - 1697 - if (!cpu_has_fpu) { 1698 - int sig = fpu_emulator_cop1Handler(regs, 1699 - ¤t->thread.fpu); 1700 + if (cpu_has_fpu) { 1701 + preempt_enable(); 1702 + } else { 1703 + int sig; 1704 + preempt_enable(); 1705 + sig = fpu_emulator_cop1Handler(regs, 1706 + ¤t->thread.fpu, 0); 1707 if (sig) 1708 force_sig(sig, current); 1709 #ifdef CONFIG_MIPS_MT_FPAFF 1710 diff -Naur linux-2.6.18.1/arch/mips/kernel/vpe.c linux-mips-2.6.18.1/arch/mips/kernel/vpe.c 1711 --- linux-2.6.18.1/arch/mips/kernel/vpe.c 2006-10-13 20:34:03.000000000 -0700 1712 +++ linux-mips-2.6.18.1/arch/mips/kernel/vpe.c 2006-10-17 06:23:28.000000000 -0700 1459 1713 @@ -768,10 +768,16 @@ 1460 1714 */ … … 1474 1728 write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA); 1475 1729 1476 diff -Naur linux-2.6.18/arch/mips/lib/iomap.c linux-2.6.18.mips/arch/mips/lib/iomap.c 1477 --- linux-2.6.18/arch/mips/lib/iomap.c 2006-09-19 20:42:06.000000000 -0700 1478 +++ linux-2.6.18.mips/arch/mips/lib/iomap.c 1969-12-31 16:00:00.000000000 -0800 1730 diff -Naur linux-2.6.18.1/arch/mips/lib/Makefile linux-mips-2.6.18.1/arch/mips/lib/Makefile 1731 --- linux-2.6.18.1/arch/mips/lib/Makefile 2006-10-13 20:34:03.000000000 -0700 1732 +++ linux-mips-2.6.18.1/arch/mips/lib/Makefile 2006-10-17 06:23:28.000000000 -0700 1733 @@ -5,8 +5,6 @@ 1734 lib-y += csum_partial_copy.o memcpy.o promlib.o strlen_user.o strncpy_user.o \ 1735 strnlen_user.o uncached.o 1736 1737 -obj-y += iomap.o 1738 - 1739 # libgcc-style stuff needed in the kernel 1740 lib-y += ashldi3.o ashrdi3.o lshrdi3.o 1741 1742 diff -Naur linux-2.6.18.1/arch/mips/lib/iomap.c linux-mips-2.6.18.1/arch/mips/lib/iomap.c 1743 --- linux-2.6.18.1/arch/mips/lib/iomap.c 2006-10-13 20:34:03.000000000 -0700 1744 +++ linux-mips-2.6.18.1/arch/mips/lib/iomap.c 1969-12-31 16:00:00.000000000 -0800 1479 1745 @@ -1,78 +0,0 @@ 1480 1746 -/* … … 1556 1822 -EXPORT_SYMBOL(pci_iomap); 1557 1823 -EXPORT_SYMBOL(pci_iounmap); 1558 diff -Naur linux-2.6.18/arch/mips/lib/Makefile linux-2.6.18.mips/arch/mips/lib/Makefile 1559 --- linux-2.6.18/arch/mips/lib/Makefile 2006-09-19 20:42:06.000000000 -0700 1560 +++ linux-2.6.18.mips/arch/mips/lib/Makefile 2006-09-20 06:55:21.000000000 -0700 1561 @@ -5,8 +5,6 @@ 1562 lib-y += csum_partial_copy.o memcpy.o promlib.o strlen_user.o strncpy_user.o \ 1563 strnlen_user.o uncached.o 1564 1565 -obj-y += iomap.o 1566 - 1567 # libgcc-style stuff needed in the kernel 1568 lib-y += ashldi3.o ashrdi3.o lshrdi3.o 1569 1570 diff -Naur linux-2.6.18/arch/mips/lib-32/dump_tlb.c linux-2.6.18.mips/arch/mips/lib-32/dump_tlb.c 1571 --- linux-2.6.18/arch/mips/lib-32/dump_tlb.c 2006-09-19 20:42:06.000000000 -0700 1572 +++ linux-2.6.18.mips/arch/mips/lib-32/dump_tlb.c 2006-09-20 06:55:21.000000000 -0700 1824 diff -Naur linux-2.6.18.1/arch/mips/lib-32/dump_tlb.c linux-mips-2.6.18.1/arch/mips/lib-32/dump_tlb.c 1825 --- linux-2.6.18.1/arch/mips/lib-32/dump_tlb.c 2006-10-13 20:34:03.000000000 -0700 1826 +++ linux-mips-2.6.18.1/arch/mips/lib-32/dump_tlb.c 2006-10-17 06:23:28.000000000 -0700 1573 1827 @@ -40,8 +40,6 @@ 1574 1828 return "256Mb"; … … 1580 1834 1581 1835 #define BARRIER() \ 1582 diff -Naur linux-2.6.18 /arch/mips/lib-64/dump_tlb.c linux-2.6.18.mips/arch/mips/lib-64/dump_tlb.c1583 --- linux-2.6.18 /arch/mips/lib-64/dump_tlb.c 2006-09-19 20:42:06.000000000 -07001584 +++ linux- 2.6.18.mips/arch/mips/lib-64/dump_tlb.c 2006-09-20 06:55:21.000000000 -07001836 diff -Naur linux-2.6.18.1/arch/mips/lib-64/dump_tlb.c linux-mips-2.6.18.1/arch/mips/lib-64/dump_tlb.c 1837 --- linux-2.6.18.1/arch/mips/lib-64/dump_tlb.c 2006-10-13 20:34:03.000000000 -0700 1838 +++ linux-mips-2.6.18.1/arch/mips/lib-64/dump_tlb.c 2006-10-17 06:23:28.000000000 -0700 1585 1839 @@ -31,8 +31,6 @@ 1586 1840 case PM_256M: return "256Mb"; … … 1592 1846 1593 1847 #define BARRIER() \ 1594 diff -Naur linux-2.6.18/arch/mips/Makefile linux-2.6.18.mips/arch/mips/Makefile 1595 --- linux-2.6.18/arch/mips/Makefile 2006-09-19 20:42:06.000000000 -0700 1596 +++ linux-2.6.18.mips/arch/mips/Makefile 2006-09-20 06:55:21.000000000 -0700 1597 @@ -330,6 +330,7 @@ 1598 # MIPS SEAD board 1599 # 1600 core-$(CONFIG_MIPS_SEAD) += arch/mips/mips-boards/sead/ 1601 +cflags-$(CONFIG_MIPS_SEAD) += -Iinclude/asm-mips/mach-mips 1602 load-$(CONFIG_MIPS_SEAD) += 0xffffffff80100000 1603 1604 # 1605 diff -Naur linux-2.6.18/arch/mips/mips-boards/atlas/atlas_int.c linux-2.6.18.mips/arch/mips/mips-boards/atlas/atlas_int.c 1606 --- linux-2.6.18/arch/mips/mips-boards/atlas/atlas_int.c 2006-09-19 20:42:06.000000000 -0700 1607 +++ linux-2.6.18.mips/arch/mips/mips-boards/atlas/atlas_int.c 2006-09-20 06:55:21.000000000 -0700 1848 diff -Naur linux-2.6.18.1/arch/mips/math-emu/cp1emu.c linux-mips-2.6.18.1/arch/mips/math-emu/cp1emu.c 1849 --- linux-2.6.18.1/arch/mips/math-emu/cp1emu.c 2006-10-13 20:34:03.000000000 -0700 1850 +++ linux-mips-2.6.18.1/arch/mips/math-emu/cp1emu.c 2006-10-17 06:23:28.000000000 -0700 1851 @@ -38,8 +38,6 @@ 1852 1853 #include <asm/inst.h> 1854 #include <asm/bootinfo.h> 1855 -#include <asm/cpu.h> 1856 -#include <asm/cpu-features.h> 1857 #include <asm/processor.h> 1858 #include <asm/ptrace.h> 1859 #include <asm/signal.h> 1860 @@ -1233,7 +1231,8 @@ 1861 return 0; 1862 } 1863 1864 -int fpu_emulator_cop1Handler(struct pt_regs *xcp, struct mips_fpu_struct *ctx) 1865 +int fpu_emulator_cop1Handler(struct pt_regs *xcp, struct mips_fpu_struct *ctx, 1866 + int has_fpu) 1867 { 1868 unsigned long oldepc, prevepc; 1869 mips_instruction insn; 1870 @@ -1263,7 +1262,7 @@ 1871 ieee754_csr.rm = mips_rm[ieee754_csr.rm]; 1872 } 1873 1874 - if (cpu_has_fpu) 1875 + if (has_fpu) 1876 break; 1877 if (sig) 1878 break; 1879 diff -Naur linux-2.6.18.1/arch/mips/mips-boards/atlas/atlas_int.c linux-mips-2.6.18.1/arch/mips/mips-boards/atlas/atlas_int.c 1880 --- linux-2.6.18.1/arch/mips/mips-boards/atlas/atlas_int.c 2006-10-13 20:34:03.000000000 -0700 1881 +++ linux-mips-2.6.18.1/arch/mips/mips-boards/atlas/atlas_int.c 2006-10-17 06:23:28.000000000 -0700 1608 1882 @@ -1,6 +1,8 @@ 1609 1883 /* … … 1792 2066 + setup_irq(MIPSCPU_INT_BASE + MIPSCPU_INT_ATLAS, &atlasirq); 1793 2067 +} 1794 diff -Naur linux-2.6.18 /arch/mips/mips-boards/atlas/atlas_setup.c linux-2.6.18.mips/arch/mips/mips-boards/atlas/atlas_setup.c1795 --- linux-2.6.18 /arch/mips/mips-boards/atlas/atlas_setup.c 2006-09-19 20:42:06.000000000 -07001796 +++ linux- 2.6.18.mips/arch/mips/mips-boards/atlas/atlas_setup.c 2006-09-20 06:55:21.000000000 -07002068 diff -Naur linux-2.6.18.1/arch/mips/mips-boards/atlas/atlas_setup.c linux-mips-2.6.18.1/arch/mips/mips-boards/atlas/atlas_setup.c 2069 --- linux-2.6.18.1/arch/mips/mips-boards/atlas/atlas_setup.c 2006-10-13 20:34:03.000000000 -0700 2070 +++ linux-mips-2.6.18.1/arch/mips/mips-boards/atlas/atlas_setup.c 2006-10-17 06:23:28.000000000 -0700 1797 2071 @@ -77,7 +77,7 @@ 1798 2072 #else … … 1804 2078 s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ; 1805 2079 s.iotype = UPIO_PORT; 1806 diff -Naur linux-2.6.18 /arch/mips/mips-boards/generic/time.c linux-2.6.18.mips/arch/mips/mips-boards/generic/time.c1807 --- linux-2.6.18 /arch/mips/mips-boards/generic/time.c 2006-09-19 20:42:06.000000000 -07001808 +++ linux- 2.6.18.mips/arch/mips/mips-boards/generic/time.c 2006-09-20 06:55:21.000000000 -07002080 diff -Naur linux-2.6.18.1/arch/mips/mips-boards/generic/time.c linux-mips-2.6.18.1/arch/mips/mips-boards/generic/time.c 2081 --- linux-2.6.18.1/arch/mips/mips-boards/generic/time.c 2006-10-13 20:34:03.000000000 -0700 2082 +++ linux-mips-2.6.18.1/arch/mips/mips-boards/generic/time.c 2006-10-17 06:23:28.000000000 -0700 1809 2083 @@ -41,8 +41,13 @@ 1810 2084 … … 1909 2183 } 1910 2184 1911 diff -Naur linux-2.6.18 /arch/mips/mips-boards/malta/malta_int.c linux-2.6.18.mips/arch/mips/mips-boards/malta/malta_int.c1912 --- linux-2.6.18 /arch/mips/mips-boards/malta/malta_int.c 2006-09-19 20:42:06.000000000 -07001913 +++ linux- 2.6.18.mips/arch/mips/mips-boards/malta/malta_int.c 2006-09-20 06:55:21.000000000 -07002185 diff -Naur linux-2.6.18.1/arch/mips/mips-boards/malta/malta_int.c linux-mips-2.6.18.1/arch/mips/mips-boards/malta/malta_int.c 2186 --- linux-2.6.18.1/arch/mips/mips-boards/malta/malta_int.c 2006-10-13 20:34:03.000000000 -0700 2187 +++ linux-mips-2.6.18.1/arch/mips/mips-boards/malta/malta_int.c 2006-10-17 06:23:28.000000000 -0700 1914 2188 @@ -208,23 +208,23 @@ 1915 2189 unsigned int a0 = 7; … … 1942 2216 return a0; 1943 2217 #endif 1944 diff -Naur linux-2.6.18/arch/mips/mm/cache.c linux-2.6.18.mips/arch/mips/mm/cache.c 1945 --- linux-2.6.18/arch/mips/mm/cache.c 2006-09-19 20:42:06.000000000 -0700 1946 +++ linux-2.6.18.mips/arch/mips/mm/cache.c 2006-09-20 06:55:21.000000000 -0700 1947 @@ -25,7 +25,7 @@ 1948 void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, 1949 unsigned long pfn); 1950 void (*flush_icache_range)(unsigned long start, unsigned long end); 1951 -void (*flush_icache_page)(struct vm_area_struct *vma, struct page *page); 1952 +void (*__flush_icache_page)(struct vm_area_struct *vma, struct page *page); 1953 1954 /* MIPS specific cache operations */ 1955 void (*flush_cache_sigtramp)(unsigned long addr); 1956 @@ -70,6 +70,8 @@ 1957 struct address_space *mapping = page_mapping(page); 1958 unsigned long addr; 1959 1960 + if (PageHighMem(page)) 1961 + return; 1962 if (mapping && !mapping_mapped(mapping)) { 1963 SetPageDcacheDirty(page); 1964 return; 1965 @@ -91,16 +93,16 @@ 1966 { 1967 struct page *page; 1968 unsigned long pfn, addr; 1969 + int exec = (vma->vm_flags & VM_EXEC) && !cpu_has_ic_fills_f_dc; 1970 1971 pfn = pte_pfn(pte); 1972 - if (pfn_valid(pfn) && (page = pfn_to_page(pfn), page_mapping(page)) && 1973 - Page_dcache_dirty(page)) { 1974 - if (pages_do_alias((unsigned long)page_address(page), 1975 - address & PAGE_MASK)) { 1976 - addr = (unsigned long) page_address(page); 1977 + if (unlikely(!pfn_valid(pfn))) 1978 + return; 1979 + page = pfn_to_page(pfn); 1980 + if (page_mapping(page) && Page_dcache_dirty(page)) { 1981 + addr = (unsigned long) page_address(page); 1982 + if (exec || pages_do_alias(addr, address & PAGE_MASK)) 1983 flush_data_cache_page(addr); 1984 - } 1985 - 1986 ClearPageDcacheDirty(page); 1987 } 1988 } 1989 diff -Naur linux-2.6.18/arch/mips/mm/c-r3k.c linux-2.6.18.mips/arch/mips/mm/c-r3k.c 1990 --- linux-2.6.18/arch/mips/mm/c-r3k.c 2006-09-19 20:42:06.000000000 -0700 1991 +++ linux-2.6.18.mips/arch/mips/mm/c-r3k.c 2006-09-20 06:55:21.000000000 -0700 2218 diff -Naur linux-2.6.18.1/arch/mips/mm/c-r3k.c linux-mips-2.6.18.1/arch/mips/mm/c-r3k.c 2219 --- linux-2.6.18.1/arch/mips/mm/c-r3k.c 2006-10-13 20:34:03.000000000 -0700 2220 +++ linux-mips-2.6.18.1/arch/mips/mm/c-r3k.c 2006-10-17 06:23:28.000000000 -0700 1992 2221 @@ -335,7 +335,7 @@ 1993 2222 flush_cache_mm = r3k_flush_cache_mm; … … 1999 2228 2000 2229 flush_cache_sigtramp = r3k_flush_cache_sigtramp; 2001 diff -Naur linux-2.6.18 /arch/mips/mm/c-r4k.c linux-2.6.18.mips/arch/mips/mm/c-r4k.c2002 --- linux-2.6.18 /arch/mips/mm/c-r4k.c 2006-09-19 20:42:06.000000000 -07002003 +++ linux- 2.6.18.mips/arch/mips/mm/c-r4k.c 2006-09-20 06:55:21.000000000 -07002230 diff -Naur linux-2.6.18.1/arch/mips/mm/c-r4k.c linux-mips-2.6.18.1/arch/mips/mm/c-r4k.c 2231 --- linux-2.6.18.1/arch/mips/mm/c-r4k.c 2006-10-13 20:34:03.000000000 -0700 2232 +++ linux-mips-2.6.18.1/arch/mips/mm/c-r4k.c 2006-10-17 06:23:28.000000000 -0700 2004 2233 @@ -475,7 +475,7 @@ 2005 2234 } … … 2038 2267 2039 2268 flush_cache_sigtramp = r4k_flush_cache_sigtramp; 2040 diff -Naur linux-2.6.18 /arch/mips/mm/c-sb1.c linux-2.6.18.mips/arch/mips/mm/c-sb1.c2041 --- linux-2.6.18 /arch/mips/mm/c-sb1.c 2006-09-19 20:42:06.000000000 -07002042 +++ linux- 2.6.18.mips/arch/mips/mm/c-sb1.c 2006-09-20 06:55:21.000000000 -07002269 diff -Naur linux-2.6.18.1/arch/mips/mm/c-sb1.c linux-mips-2.6.18.1/arch/mips/mm/c-sb1.c 2270 --- linux-2.6.18.1/arch/mips/mm/c-sb1.c 2006-10-13 20:34:03.000000000 -0700 2271 +++ linux-mips-2.6.18.1/arch/mips/mm/c-sb1.c 2006-10-17 06:23:28.000000000 -0700 2043 2272 @@ -155,6 +155,26 @@ 2044 2273 } … … 2134 2363 2135 2364 /* This implies an Icache flush too, so can't be nop'ed */ 2136 diff -Naur linux-2.6.18 /arch/mips/mm/c-tx39.c linux-2.6.18.mips/arch/mips/mm/c-tx39.c2137 --- linux-2.6.18 /arch/mips/mm/c-tx39.c 2006-09-19 20:42:06.000000000 -07002138 +++ linux- 2.6.18.mips/arch/mips/mm/c-tx39.c 2006-09-20 06:55:21.000000000 -07002365 diff -Naur linux-2.6.18.1/arch/mips/mm/c-tx39.c linux-mips-2.6.18.1/arch/mips/mm/c-tx39.c 2366 --- linux-2.6.18.1/arch/mips/mm/c-tx39.c 2006-10-13 20:34:03.000000000 -0700 2367 +++ linux-mips-2.6.18.1/arch/mips/mm/c-tx39.c 2006-10-17 06:23:28.000000000 -0700 2139 2368 @@ -382,7 +382,7 @@ 2140 2369 flush_cache_mm = (void *) tx39h_flush_icache_all; … … 2155 2384 2156 2385 flush_cache_sigtramp = tx39_flush_cache_sigtramp; 2157 diff -Naur linux-2.6.18/arch/mips/mm/fault.c linux-2.6.18.mips/arch/mips/mm/fault.c 2158 --- linux-2.6.18/arch/mips/mm/fault.c 2006-09-19 20:42:06.000000000 -0700 2159 +++ linux-2.6.18.mips/arch/mips/mm/fault.c 2006-09-20 06:55:21.000000000 -0700 2386 diff -Naur linux-2.6.18.1/arch/mips/mm/cache.c linux-mips-2.6.18.1/arch/mips/mm/cache.c 2387 --- linux-2.6.18.1/arch/mips/mm/cache.c 2006-10-13 20:34:03.000000000 -0700 2388 +++ linux-mips-2.6.18.1/arch/mips/mm/cache.c 2006-10-17 06:23:28.000000000 -0700 2389 @@ -25,7 +25,7 @@ 2390 void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, 2391 unsigned long pfn); 2392 void (*flush_icache_range)(unsigned long start, unsigned long end); 2393 -void (*flush_icache_page)(struct vm_area_struct *vma, struct page *page); 2394 +void (*__flush_icache_page)(struct vm_area_struct *vma, struct page *page); 2395 2396 /* MIPS specific cache operations */ 2397 void (*flush_cache_sigtramp)(unsigned long addr); 2398 @@ -70,6 +70,8 @@ 2399 struct address_space *mapping = page_mapping(page); 2400 unsigned long addr; 2401 2402 + if (PageHighMem(page)) 2403 + return; 2404 if (mapping && !mapping_mapped(mapping)) { 2405 SetPageDcacheDirty(page); 2406 return; 2407 @@ -91,16 +93,16 @@ 2408 { 2409 struct page *page; 2410 unsigned long pfn, addr; 2411 + int exec = (vma->vm_flags & VM_EXEC) && !cpu_has_ic_fills_f_dc; 2412 2413 pfn = pte_pfn(pte); 2414 - if (pfn_valid(pfn) && (page = pfn_to_page(pfn), page_mapping(page)) && 2415 - Page_dcache_dirty(page)) { 2416 - if (pages_do_alias((unsigned long)page_address(page), 2417 - address & PAGE_MASK)) { 2418 - addr = (unsigned long) page_address(page); 2419 + if (unlikely(!pfn_valid(pfn))) 2420 + return; 2421 + page = pfn_to_page(pfn); 2422 + if (page_mapping(page) && Page_dcache_dirty(page)) { 2423 + addr = (unsigned long) page_address(page); 2424 + if (exec || pages_do_alias(addr, address & PAGE_MASK)) 2425 flush_data_cache_page(addr); 2426 - } 2427 - 2428 ClearPageDcacheDirty(page); 2429 } 2430 } 2431 diff -Naur linux-2.6.18.1/arch/mips/mm/fault.c linux-mips-2.6.18.1/arch/mips/mm/fault.c 2432 --- linux-2.6.18.1/arch/mips/mm/fault.c 2006-10-13 20:34:03.000000000 -0700 2433 +++ linux-mips-2.6.18.1/arch/mips/mm/fault.c 2006-10-17 06:23:28.000000000 -0700 2160 2434 @@ -89,7 +89,7 @@ 2161 2435 if (!(vma->vm_flags & VM_WRITE)) … … 2167 2441 } 2168 2442 2169 diff -Naur linux-2.6.18 /arch/mips/mm/init.c linux-2.6.18.mips/arch/mips/mm/init.c2170 --- linux-2.6.18 /arch/mips/mm/init.c 2006-09-19 20:42:06.000000000 -07002171 +++ linux- 2.6.18.mips/arch/mips/mm/init.c 2006-09-20 06:55:21.000000000 -07002443 diff -Naur linux-2.6.18.1/arch/mips/mm/init.c linux-mips-2.6.18.1/arch/mips/mm/init.c 2444 --- linux-2.6.18.1/arch/mips/mm/init.c 2006-10-13 20:34:03.000000000 -0700 2445 +++ linux-mips-2.6.18.1/arch/mips/mm/init.c 2006-10-17 06:23:28.000000000 -0700 2172 2446 @@ -30,11 +30,39 @@ 2173 2447 #include <asm/cachectl.h> … … 2440 2714 max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT; 2441 2715 low = max_low_pfn; 2442 diff -Naur linux-2.6.18 /arch/mips/mm/pgtable-32.c linux-2.6.18.mips/arch/mips/mm/pgtable-32.c2443 --- linux-2.6.18 /arch/mips/mm/pgtable-32.c 2006-09-19 20:42:06.000000000 -07002444 +++ linux- 2.6.18.mips/arch/mips/mm/pgtable-32.c 2006-09-20 06:55:21.000000000 -07002716 diff -Naur linux-2.6.18.1/arch/mips/mm/pgtable-32.c linux-mips-2.6.18.1/arch/mips/mm/pgtable-32.c 2717 --- linux-2.6.18.1/arch/mips/mm/pgtable-32.c 2006-10-13 20:34:03.000000000 -0700 2718 +++ linux-mips-2.6.18.1/arch/mips/mm/pgtable-32.c 2006-10-17 06:23:28.000000000 -0700 2445 2719 @@ -31,9 +31,10 @@ 2446 2720 … … 2472 2746 * Permanent kmaps: 2473 2747 */ 2474 diff -Naur linux-2.6.18 /arch/mips/mm/pgtable-64.c linux-2.6.18.mips/arch/mips/mm/pgtable-64.c2475 --- linux-2.6.18 /arch/mips/mm/pgtable-64.c 2006-09-19 20:42:06.000000000 -07002476 +++ linux- 2.6.18.mips/arch/mips/mm/pgtable-64.c 2006-09-20 06:55:21.000000000 -07002748 diff -Naur linux-2.6.18.1/arch/mips/mm/pgtable-64.c linux-mips-2.6.18.1/arch/mips/mm/pgtable-64.c 2749 --- linux-2.6.18.1/arch/mips/mm/pgtable-64.c 2006-10-13 20:34:03.000000000 -0700 2750 +++ linux-mips-2.6.18.1/arch/mips/mm/pgtable-64.c 2006-10-17 06:23:28.000000000 -0700 2477 2751 @@ -8,6 +8,7 @@ 2478 2752 */ … … 2501 2775 + fixrange_init(vaddr, 0, pgd_base); 2502 2776 } 2503 diff -Naur linux-2.6.18/arch/mips/pci/fixup-atlas.c linux-2.6.18.mips/arch/mips/pci/fixup-atlas.c 2504 --- linux-2.6.18/arch/mips/pci/fixup-atlas.c 2006-09-19 20:42:06.000000000 -0700 2505 +++ linux-2.6.18.mips/arch/mips/pci/fixup-atlas.c 2006-09-20 06:55:21.000000000 -0700 2777 diff -Naur linux-2.6.18.1/arch/mips/pci/Makefile linux-mips-2.6.18.1/arch/mips/pci/Makefile 2778 --- linux-2.6.18.1/arch/mips/pci/Makefile 2006-10-13 20:34:03.000000000 -0700 2779 +++ linux-mips-2.6.18.1/arch/mips/pci/Makefile 2006-10-17 06:23:28.000000000 -0700 2780 @@ -28,7 +28,7 @@ 2781 obj-$(CONFIG_LASAT) += pci-lasat.o 2782 obj-$(CONFIG_MIPS_ATLAS) += fixup-atlas.o 2783 obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o 2784 -obj-$(CONFIG_MIPS_EV96100) += fixup-ev64120.o 2785 +obj-$(CONFIG_MIPS_EV64120) += fixup-ev64120.o 2786 obj-$(CONFIG_MIPS_EV96100) += fixup-ev96100.o pci-ev96100.o 2787 obj-$(CONFIG_MIPS_ITE8172) += fixup-ite8172g.o 2788 obj-$(CONFIG_MIPS_IVR) += fixup-ivr.o 2789 diff -Naur linux-2.6.18.1/arch/mips/pci/fixup-atlas.c linux-mips-2.6.18.1/arch/mips/pci/fixup-atlas.c 2790 --- linux-2.6.18.1/arch/mips/pci/fixup-atlas.c 2006-10-13 20:34:03.000000000 -0700 2791 +++ linux-mips-2.6.18.1/arch/mips/pci/fixup-atlas.c 2006-10-17 06:23:28.000000000 -0700 2506 2792 @@ -21,16 +21,16 @@ 2507 2793 … … 2531 2817 static char irq_tab[][5] __initdata = { 2532 2818 /* INTA INTB INTC INTD */ 2533 diff -Naur linux-2.6.18 /arch/mips/pci/fixup-tb0219.c linux-2.6.18.mips/arch/mips/pci/fixup-tb0219.c2534 --- linux-2.6.18 /arch/mips/pci/fixup-tb0219.c 2006-09-19 20:42:06.000000000 -07002535 +++ linux- 2.6.18.mips/arch/mips/pci/fixup-tb0219.c 2006-09-20 06:55:21.000000000 -07002819 diff -Naur linux-2.6.18.1/arch/mips/pci/fixup-tb0219.c linux-mips-2.6.18.1/arch/mips/pci/fixup-tb0219.c 2820 --- linux-2.6.18.1/arch/mips/pci/fixup-tb0219.c 2006-10-13 20:34:03.000000000 -0700 2821 +++ linux-mips-2.6.18.1/arch/mips/pci/fixup-tb0219.c 2006-10-17 06:23:28.000000000 -0700 2536 2822 @@ -2,7 +2,7 @@ 2537 2823 * fixup-tb0219.c, The TANBAC TB0219 specific PCI fixups. … … 2543 2829 * This program is free software; you can redistribute it and/or modify 2544 2830 * it under the terms of the GNU General Public License as published by 2545 diff -Naur linux-2.6.18/arch/mips/pci/Makefile linux-2.6.18.mips/arch/mips/pci/Makefile 2546 --- linux-2.6.18/arch/mips/pci/Makefile 2006-09-19 20:42:06.000000000 -0700 2547 +++ linux-2.6.18.mips/arch/mips/pci/Makefile 2006-09-20 06:55:21.000000000 -0700 2548 @@ -28,7 +28,7 @@ 2549 obj-$(CONFIG_LASAT) += pci-lasat.o 2550 obj-$(CONFIG_MIPS_ATLAS) += fixup-atlas.o 2551 obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o 2552 -obj-$(CONFIG_MIPS_EV96100) += fixup-ev64120.o 2553 +obj-$(CONFIG_MIPS_EV64120) += fixup-ev64120.o 2554 obj-$(CONFIG_MIPS_EV96100) += fixup-ev96100.o pci-ev96100.o 2555 obj-$(CONFIG_MIPS_ITE8172) += fixup-ite8172g.o 2556 obj-$(CONFIG_MIPS_IVR) += fixup-ivr.o 2557 diff -Naur linux-2.6.18/arch/mips/pci/ops-au1000.c linux-2.6.18.mips/arch/mips/pci/ops-au1000.c 2558 --- linux-2.6.18/arch/mips/pci/ops-au1000.c 2006-09-19 20:42:06.000000000 -0700 2559 +++ linux-2.6.18.mips/arch/mips/pci/ops-au1000.c 2006-09-20 06:55:21.000000000 -0700 2831 diff -Naur linux-2.6.18.1/arch/mips/pci/ops-au1000.c linux-mips-2.6.18.1/arch/mips/pci/ops-au1000.c 2832 --- linux-2.6.18.1/arch/mips/pci/ops-au1000.c 2006-10-13 20:34:03.000000000 -0700 2833 +++ linux-mips-2.6.18.1/arch/mips/pci/ops-au1000.c 2006-10-17 06:23:28.000000000 -0700 2560 2834 @@ -110,7 +110,7 @@ 2561 2835 if (first_cfg) { … … 2567 2841 panic (KERN_ERR "PCI unable to get vm area\n"); 2568 2842 pci_cfg_wired_entry = read_c0_wired(); 2569 diff -Naur linux-2.6.18 /arch/mips/qemu/Makefile linux-2.6.18.mips/arch/mips/qemu/Makefile2570 --- linux-2.6.18 /arch/mips/qemu/Makefile 2006-09-19 20:42:06.000000000 -07002571 +++ linux- 2.6.18.mips/arch/mips/qemu/Makefile 2006-09-20 06:55:21.000000000 -07002843 diff -Naur linux-2.6.18.1/arch/mips/qemu/Makefile linux-mips-2.6.18.1/arch/mips/qemu/Makefile 2844 --- linux-2.6.18.1/arch/mips/qemu/Makefile 2006-10-13 20:34:03.000000000 -0700 2845 +++ linux-mips-2.6.18.1/arch/mips/qemu/Makefile 2006-10-17 06:23:28.000000000 -0700 2572 2846 @@ -4,4 +4,5 @@ 2573 2847 … … 2576 2850 +obj-$(CONFIG_VT) += q-vga.o 2577 2851 obj-$(CONFIG_SMP) += q-smp.o 2578 diff -Naur linux-2.6.18 /arch/mips/qemu/q-setup.c linux-2.6.18.mips/arch/mips/qemu/q-setup.c2579 --- linux-2.6.18 /arch/mips/qemu/q-setup.c 2006-09-19 20:42:06.000000000 -07002580 +++ linux- 2.6.18.mips/arch/mips/qemu/q-setup.c 2006-09-20 06:55:21.000000000 -07002852 diff -Naur linux-2.6.18.1/arch/mips/qemu/q-setup.c linux-mips-2.6.18.1/arch/mips/qemu/q-setup.c 2853 --- linux-2.6.18.1/arch/mips/qemu/q-setup.c 2006-10-13 20:34:03.000000000 -0700 2854 +++ linux-mips-2.6.18.1/arch/mips/qemu/q-setup.c 2006-10-17 06:23:28.000000000 -0700 2581 2855 @@ -2,6 +2,7 @@ 2582 2856 #include <asm/io.h> … … 2597 2871 qemu_reboot_setup(); 2598 2872 } 2599 diff -Naur linux-2.6.18 /arch/mips/qemu/q-vga.c linux-2.6.18.mips/arch/mips/qemu/q-vga.c2600 --- linux-2.6.18 /arch/mips/qemu/q-vga.c 1969-12-31 16:00:00.000000000 -08002601 +++ linux- 2.6.18.mips/arch/mips/qemu/q-vga.c 2006-09-20 06:55:21.000000000 -07002873 diff -Naur linux-2.6.18.1/arch/mips/qemu/q-vga.c linux-mips-2.6.18.1/arch/mips/qemu/q-vga.c 2874 --- linux-2.6.18.1/arch/mips/qemu/q-vga.c 1969-12-31 16:00:00.000000000 -0800 2875 +++ linux-mips-2.6.18.1/arch/mips/qemu/q-vga.c 2006-10-17 06:23:28.000000000 -0700 2602 2876 @@ -0,0 +1,189 @@ 2603 2877 +/* … … 2790 3064 +#endif 2791 3065 +} 2792 diff -Naur linux-2.6.18 /arch/mips/sibyte/bcm1480/irq.c linux-2.6.18.mips/arch/mips/sibyte/bcm1480/irq.c2793 --- linux-2.6.18 /arch/mips/sibyte/bcm1480/irq.c 2006-09-19 20:42:06.000000000 -07002794 +++ linux- 2.6.18.mips/arch/mips/sibyte/bcm1480/irq.c 2006-09-20 06:55:21.000000000 -07003066 diff -Naur linux-2.6.18.1/arch/mips/sibyte/bcm1480/irq.c linux-mips-2.6.18.1/arch/mips/sibyte/bcm1480/irq.c 3067 --- linux-2.6.18.1/arch/mips/sibyte/bcm1480/irq.c 2006-10-13 20:34:03.000000000 -0700 3068 +++ linux-mips-2.6.18.1/arch/mips/sibyte/bcm1480/irq.c 2006-10-17 06:23:28.000000000 -0700 2795 3069 @@ -469,21 +469,6 @@ 2796 3070 … … 2815 3089 extern void bcm1480_mailbox_interrupt(struct pt_regs *regs); 2816 3090 extern void bcm1480_kgdb_interrupt(struct pt_regs *regs); 3091 @@ -497,7 +482,7 @@ 3092 write_c0_compare(read_c0_count()); 3093 #endif 3094 3095 - pending = read_c0_cause(); 3096 + pending = read_c0_cause() & read_c0_status(); 3097 3098 #ifdef CONFIG_SIBYTE_BCM1480_PROF 3099 if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ 2817 3100 @@ -536,9 +521,9 @@ 2818 3101 … … 2827 3110 } 2828 3111 } 2829 diff -Naur linux-2.6.18/arch/mips/sibyte/sb1250/irq.c linux-2.6.18.mips/arch/mips/sibyte/sb1250/irq.c 2830 --- linux-2.6.18/arch/mips/sibyte/sb1250/irq.c 2006-09-19 20:42:06.000000000 -0700 2831 +++ linux-2.6.18.mips/arch/mips/sibyte/sb1250/irq.c 2006-09-20 06:55:21.000000000 -0700 3112 diff -Naur linux-2.6.18.1/arch/mips/sibyte/bcm1480/smp.c linux-mips-2.6.18.1/arch/mips/sibyte/bcm1480/smp.c 3113 --- linux-2.6.18.1/arch/mips/sibyte/bcm1480/smp.c 2006-10-13 20:34:03.000000000 -0700 3114 +++ linux-mips-2.6.18.1/arch/mips/sibyte/bcm1480/smp.c 2006-10-17 06:23:28.000000000 -0700 3115 @@ -34,21 +34,21 @@ 3116 * independent of board/firmware 3117 */ 3118 3119 -static void *mailbox_0_set_regs[] = { 3120 +static volatile void *mailbox_0_set_regs[] = { 3121 IOADDR(A_BCM1480_IMR_CPU0_BASE + R_BCM1480_IMR_MAILBOX_0_SET_CPU), 3122 IOADDR(A_BCM1480_IMR_CPU1_BASE + R_BCM1480_IMR_MAILBOX_0_SET_CPU), 3123 IOADDR(A_BCM1480_IMR_CPU2_BASE + R_BCM1480_IMR_MAILBOX_0_SET_CPU), 3124 IOADDR(A_BCM1480_IMR_CPU3_BASE + R_BCM1480_IMR_MAILBOX_0_SET_CPU), 3125 }; 3126 3127 -static void *mailbox_0_clear_regs[] = { 3128 +static volatile void *mailbox_0_clear_regs[] = { 3129 IOADDR(A_BCM1480_IMR_CPU0_BASE + R_BCM1480_IMR_MAILBOX_0_CLR_CPU), 3130 IOADDR(A_BCM1480_IMR_CPU1_BASE + R_BCM1480_IMR_MAILBOX_0_CLR_CPU), 3131 IOADDR(A_BCM1480_IMR_CPU2_BASE + R_BCM1480_IMR_MAILBOX_0_CLR_CPU), 3132 IOADDR(A_BCM1480_IMR_CPU3_BASE + R_BCM1480_IMR_MAILBOX_0_CLR_CPU), 3133 }; 3134 3135 -static void *mailbox_0_regs[] = { 3136 +static volatile void *mailbox_0_regs[] = { 3137 IOADDR(A_BCM1480_IMR_CPU0_BASE + R_BCM1480_IMR_MAILBOX_0_CPU), 3138 IOADDR(A_BCM1480_IMR_CPU1_BASE + R_BCM1480_IMR_MAILBOX_0_CPU), 3139 IOADDR(A_BCM1480_IMR_CPU2_BASE + R_BCM1480_IMR_MAILBOX_0_CPU), 3140 diff -Naur linux-2.6.18.1/arch/mips/sibyte/sb1250/irq.c linux-mips-2.6.18.1/arch/mips/sibyte/sb1250/irq.c 3141 --- linux-2.6.18.1/arch/mips/sibyte/sb1250/irq.c 2006-10-13 20:34:03.000000000 -0700 3142 +++ linux-mips-2.6.18.1/arch/mips/sibyte/sb1250/irq.c 2006-10-17 06:23:28.000000000 -0700 2832 3143 @@ -419,21 +419,6 @@ 2833 3144 … … 2852 3163 extern void sb1250_mailbox_interrupt(struct pt_regs *regs); 2853 3164 extern void sb1250_kgdb_interrupt(struct pt_regs *regs); 2854 @@ -490,6 +475,6 @@ 3165 @@ -457,7 +442,7 @@ 3166 * blasting the high 32 bits. 3167 */ 3168 3169 - pending = read_c0_cause(); 3170 + pending = read_c0_cause() & read_c0_status(); 3171 3172 #ifdef CONFIG_SIBYTE_SB1250_PROF 3173 if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ 3174 @@ -490,6 +475,9 @@ 2855 3175 mask = __raw_readq(IOADDR(A_IMR_REGISTER(smp_processor_id(), 2856 3176 R_IMR_INTERRUPT_STATUS_BASE))); 2857 3177 if (mask) 2858 3178 - do_IRQ(63 - dclz(mask), regs); 3179 - } 2859 3180 + do_IRQ(fls64(mask) - 1, regs); 2860 } 3181 + else 3182 + spurious_interrupt(regs); 3183 + } else 3184 + spurious_interrupt(regs); 2861 3185 } 2862 diff -Naur linux-2.6.18/drivers/char/au1000_gpio.c linux-2.6.18.mips/drivers/char/au1000_gpio.c 2863 --- linux-2.6.18/drivers/char/au1000_gpio.c 1969-12-31 16:00:00.000000000 -0800 2864 +++ linux-2.6.18.mips/drivers/char/au1000_gpio.c 2006-09-20 06:55:21.000000000 -0700 3186 diff -Naur linux-2.6.18.1/arch/mips/tx4927/common/tx4927_setup.c linux-mips-2.6.18.1/arch/mips/tx4927/common/tx4927_setup.c 3187 --- linux-2.6.18.1/arch/mips/tx4927/common/tx4927_setup.c 2006-10-13 20:34:03.000000000 -0700 3188 +++ linux-mips-2.6.18.1/arch/mips/tx4927/common/tx4927_setup.c 2006-10-17 06:23:28.000000000 -0700 3189 @@ -53,19 +53,9 @@ 3190 void dump_cp0(char *key); 3191 3192 3193 -void (*__wbflush) (void); 3194 - 3195 -static void tx4927_write_buffer_flush(void) 3196 -{ 3197 - __asm__ __volatile__ 3198 - ("sync\n\t" "nop\n\t" "loop: bc0f loop\n\t" "nop\n\t"); 3199 -} 3200 - 3201 - 3202 void __init plat_mem_setup(void) 3203 { 3204 board_time_init = tx4927_time_init; 3205 - __wbflush = tx4927_write_buffer_flush; 3206 3207 #ifdef CONFIG_TOSHIBA_RBTX4927 3208 { 3209 diff -Naur linux-2.6.18.1/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c linux-mips-2.6.18.1/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c 3210 --- linux-2.6.18.1/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c 2006-10-13 20:34:03.000000000 -0700 3211 +++ linux-mips-2.6.18.1/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c 2006-10-17 06:23:28.000000000 -0700 3212 @@ -130,6 +130,7 @@ 3213 #include <asm/ptrace.h> 3214 #include <asm/reboot.h> 3215 #include <asm/time.h> 3216 +#include <asm/wbflush.h> 3217 #include <linux/bootmem.h> 3218 #include <linux/blkdev.h> 3219 #ifdef CONFIG_RTC_DS1742 3220 diff -Naur linux-2.6.18.1/arch/mips/tx4938/common/irq.c linux-mips-2.6.18.1/arch/mips/tx4938/common/irq.c 3221 --- linux-2.6.18.1/arch/mips/tx4938/common/irq.c 2006-10-13 20:34:03.000000000 -0700 3222 +++ linux-mips-2.6.18.1/arch/mips/tx4938/common/irq.c 2006-10-17 06:23:28.000000000 -0700 3223 @@ -30,6 +30,7 @@ 3224 #include <asm/irq.h> 3225 #include <asm/mipsregs.h> 3226 #include <asm/system.h> 3227 +#include <asm/wbflush.h> 3228 #include <asm/tx4938/rbtx4938.h> 3229 3230 /**********************************************************************************/ 3231 diff -Naur linux-2.6.18.1/arch/mips/tx4938/common/setup.c linux-mips-2.6.18.1/arch/mips/tx4938/common/setup.c 3232 --- linux-2.6.18.1/arch/mips/tx4938/common/setup.c 2006-10-13 20:34:03.000000000 -0700 3233 +++ linux-mips-2.6.18.1/arch/mips/tx4938/common/setup.c 2006-10-17 06:23:28.000000000 -0700 3234 @@ -41,29 +41,10 @@ 3235 void __init tx4938_time_init(void); 3236 void dump_cp0(char *key); 3237 3238 -void (*__wbflush) (void); 3239 - 3240 -static void 3241 -tx4938_write_buffer_flush(void) 3242 -{ 3243 - mmiowb(); 3244 - 3245 - __asm__ __volatile__( 3246 - ".set push\n\t" 3247 - ".set noreorder\n\t" 3248 - "lw $0,%0\n\t" 3249 - "nop\n\t" 3250 - ".set pop" 3251 - : /* no output */ 3252 - : "m" (*(int *)KSEG1) 3253 - : "memory"); 3254 -} 3255 - 3256 void __init 3257 plat_mem_setup(void) 3258 { 3259 board_time_init = tx4938_time_init; 3260 - __wbflush = tx4938_write_buffer_flush; 3261 toshiba_rbtx4938_setup(); 3262 } 3263 3264 diff -Naur linux-2.6.18.1/arch/mips/tx4938/toshiba_rbtx4938/irq.c linux-mips-2.6.18.1/arch/mips/tx4938/toshiba_rbtx4938/irq.c 3265 --- linux-2.6.18.1/arch/mips/tx4938/toshiba_rbtx4938/irq.c 2006-10-13 20:34:03.000000000 -0700 3266 +++ linux-mips-2.6.18.1/arch/mips/tx4938/toshiba_rbtx4938/irq.c 2006-10-17 06:23:28.000000000 -0700 3267 @@ -84,6 +84,7 @@ 3268 #include <asm/ptrace.h> 3269 #include <asm/reboot.h> 3270 #include <asm/time.h> 3271 +#include <asm/wbflush.h> 3272 #include <linux/bootmem.h> 3273 #include <asm/tx4938/rbtx4938.h> 3274 3275 diff -Naur linux-2.6.18.1/drivers/char/Kconfig linux-mips-2.6.18.1/drivers/char/Kconfig 3276 --- linux-2.6.18.1/drivers/char/Kconfig 2006-10-13 20:34:03.000000000 -0700 3277 +++ linux-mips-2.6.18.1/drivers/char/Kconfig 2006-10-17 06:23:28.000000000 -0700 3278 @@ -357,23 +357,68 @@ 3279 To compile this driver as a module, choose M here: the 3280 module will be called istallion. 3281 3282 -config AU1000_UART 3283 - bool "Enable Au1000 UART Support" 3284 - depends on SERIAL_NONSTANDARD && MIPS 3285 - help 3286 - If you have an Alchemy AU1000 processor (MIPS based) and you want 3287 - to use serial ports, say Y. Otherwise, say N. 3288 - 3289 -config AU1000_SERIAL_CONSOLE 3290 - bool "Enable Au1000 serial console" 3291 - depends on AU1000_UART 3292 +config AU1X00_GPIO 3293 + tristate "Alchemy Au1000 GPIO device support" 3294 + depends on MIPS && SOC_AU1X00 3295 + 3296 +config TS_AU1X00_ADS7846 3297 + tristate "Au1000/ADS7846 touchscreen support" 3298 + depends on MIPS && SOC_AU1X00 3299 + 3300 +config AU1X00_USB_TTY 3301 + tristate "Au1000 USB TTY Device support" 3302 + depends on MIPS && MIPS_AU1000 && AU1000_USB_DEVICE=y && AU1000_USB_DEVICE 3303 + 3304 +config AU1X00_USB_RAW 3305 + tristate "Au1000 USB Raw Device support" 3306 + depends on MIPS && MIPS_AU1000 && AU1000_USB_DEVICE=y && AU1000_USB_TTY!=y && AU1X00_USB_DEVICE 3307 + 3308 +config SIBYTE_SB1250_DUART 3309 + bool "Support for BCM1xxx onchip DUART" 3310 + depends on MIPS && SIBYTE_SB1xxx_SOC=y 3311 + 3312 +config SIBYTE_SB1250_DUART_CONSOLE 3313 + bool "Console on BCM1xxx DUART" 3314 + depends on SIBYTE_SB1250_DUART 3315 + 3316 +config SERIAL_DEC 3317 + bool "DECstation serial support" 3318 + depends on MACH_DECSTATION 3319 + default y 3320 help 3321 - If you have an Alchemy AU1000 processor (MIPS based) and you want 3322 - to use a console on a serial port, say Y. Otherwise, say N. 3323 + This selects whether you want to be asked about drivers for 3324 + DECstation serial ports. 3325 + 3326 + Note that the answer to this question won't directly affect the 3327 + kernel: saying N will just cause the configurator to skip all 3328 + the questions about DECstation serial ports. 3329 + 3330 + If unsure, say Y. 3331 + 3332 +config SERIAL_DEC_CONSOLE 3333 + bool "Support for console on a DECstation serial port" 3334 + depends on SERIAL_DEC 3335 + default y 3336 + help 3337 + If you say Y here, it will be possible to use a serial port as the 3338 + system console (the system console is the device which receives all 3339 + kernel messages and warnings and which allows logins in single user 3340 + mode). Note that the firmware uses ttyS0 as the serial console on 3341 + the Maxine and ttyS2 on the others. 3342 + 3343 + If unsure, say Y. 3344 + 3345 +config ZS 3346 + bool "Z85C30 Serial Support" 3347 + depends on SERIAL_DEC 3348 + default y 3349 + help 3350 + Documentation on the Zilog 85C350 serial communications controller 3351 + is downloadable at <http://www.zilog.com/pdfs/serial/z85c30.pdf>. 3352 3353 config QTRONIX_KEYBOARD 3354 bool "Enable Qtronix 990P Keyboard Support" 3355 - depends on IT8712 3356 + depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) 3357 help 3358 Images of Qtronix keyboards are at 3359 <http://www.qtronix.com/keyboard.html>. 3360 @@ -385,7 +430,7 @@ 3361 3362 config IT8172_SCR0 3363 bool "Enable Smart Card Reader 0 Support " 3364 - depends on IT8712 3365 + depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) 3366 help 3367 Say Y here to support smart-card reader 0 (SCR0) on the Integrated 3368 Technology Express, Inc. ITE8172 SBC. Vendor page at 3369 @@ -394,13 +439,17 @@ 3370 3371 config IT8172_SCR1 3372 bool "Enable Smart Card Reader 1 Support " 3373 - depends on IT8712 3374 + depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) 3375 help 3376 Say Y here to support smart-card reader 1 (SCR1) on the Integrated 3377 Technology Express, Inc. ITE8172 SBC. Vendor page at 3378 <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the 3379 board at <http://www.mvista.com/partners/semiconductor/ite.html>. 3380 3381 +config ITE_GPIO 3382 + tristate "ITE GPIO" 3383 + depends on MIPS && MIPS_ITE8172 3384 + 3385 config A2232 3386 tristate "Commodore A2232 serial support (EXPERIMENTAL)" 3387 depends on EXPERIMENTAL && ZORRO && BROKEN_ON_SMP 3388 diff -Naur linux-2.6.18.1/drivers/char/Makefile linux-mips-2.6.18.1/drivers/char/Makefile 3389 --- linux-2.6.18.1/drivers/char/Makefile 2006-10-13 20:34:03.000000000 -0700 3390 +++ linux-mips-2.6.18.1/drivers/char/Makefile 2006-10-17 06:23:28.000000000 -0700 3391 @@ -31,6 +31,7 @@ 3392 obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o 3393 obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o 3394 obj-$(CONFIG_MOXA_SMARTIO) += mxser.o 3395 +obj-$(CONFIG_SIBYTE_SB1250_DUART) += sb1250_duart.o 3396 obj-$(CONFIG_COMPUTONE) += ip2/ 3397 obj-$(CONFIG_RISCOM8) += riscom8.o 3398 obj-$(CONFIG_ISI) += isicom.o 3399 @@ -51,6 +52,7 @@ 3400 obj-$(CONFIG_VIOTAPE) += viotape.o 3401 obj-$(CONFIG_HVCS) += hvcs.o 3402 obj-$(CONFIG_SGI_MBCS) += mbcs.o 3403 +obj-$(CONFIG_SERIAL_DEC) += decserial.o 3404 3405 obj-$(CONFIG_PRINTER) += lp.o 3406 obj-$(CONFIG_TIPAR) += tipar.o 3407 @@ -78,6 +80,10 @@ 3408 obj-$(CONFIG_HW_RANDOM) += hw_random/ 3409 obj-$(CONFIG_FTAPE) += ftape/ 3410 obj-$(CONFIG_COBALT_LCD) += lcd.o 3411 +obj-$(CONFIG_ITE_GPIO) += ite_gpio.o 3412 +obj-$(CONFIG_AU1000_GPIO) += au1000_gpio.o 3413 +obj-$(CONFIG_AU1000_USB_TTY) += au1000_usbtty.o 3414 +obj-$(CONFIG_AU1000_USB_RAW) += au1000_usbraw.o 3415 obj-$(CONFIG_PPDEV) += ppdev.o 3416 obj-$(CONFIG_NWBUTTON) += nwbutton.o 3417 obj-$(CONFIG_NWFLASH) += nwflash.o 3418 diff -Naur linux-2.6.18.1/drivers/char/au1000_gpio.c linux-mips-2.6.18.1/drivers/char/au1000_gpio.c 3419 --- linux-2.6.18.1/drivers/char/au1000_gpio.c 1969-12-31 16:00:00.000000000 -0800 3420 +++ linux-mips-2.6.18.1/drivers/char/au1000_gpio.c 2006-10-17 06:23:28.000000000 -0700 2865 3421 @@ -0,0 +1,266 @@ 2866 3422 +/* … … 3130 3686 +module_init(au1000gpio_init); 3131 3687 +module_exit(au1000gpio_exit); 3132 diff -Naur linux-2.6.18 /drivers/char/au1000_ts.c linux-2.6.18.mips/drivers/char/au1000_ts.c3133 --- linux-2.6.18 /drivers/char/au1000_ts.c 1969-12-31 16:00:00.000000000 -08003134 +++ linux- 2.6.18.mips/drivers/char/au1000_ts.c 2006-09-20 06:55:21.000000000 -07003688 diff -Naur linux-2.6.18.1/drivers/char/au1000_ts.c linux-mips-2.6.18.1/drivers/char/au1000_ts.c 3689 --- linux-2.6.18.1/drivers/char/au1000_ts.c 1969-12-31 16:00:00.000000000 -0800 3690 +++ linux-mips-2.6.18.1/drivers/char/au1000_ts.c 2006-10-17 06:23:28.000000000 -0700 3135 3691 @@ -0,0 +1,677 @@ 3136 3692 +/* … … 3811 4367 +module_init(au1000ts_init_module); 3812 4368 +module_exit(au1000ts_cleanup_module); 3813 diff -Naur linux-2.6.18 /drivers/char/au1000_usbraw.c linux-2.6.18.mips/drivers/char/au1000_usbraw.c3814 --- linux-2.6.18 /drivers/char/au1000_usbraw.c 1969-12-31 16:00:00.000000000 -08003815 +++ linux- 2.6.18.mips/drivers/char/au1000_usbraw.c 2006-09-20 06:55:21.000000000 -07004369 diff -Naur linux-2.6.18.1/drivers/char/au1000_usbraw.c linux-mips-2.6.18.1/drivers/char/au1000_usbraw.c 4370 --- linux-2.6.18.1/drivers/char/au1000_usbraw.c 1969-12-31 16:00:00.000000000 -0800 4371 +++ linux-mips-2.6.18.1/drivers/char/au1000_usbraw.c 2006-10-17 06:23:28.000000000 -0700 3816 4372 @@ -0,0 +1,573 @@ 3817 4373 +/* … … 4388 4944 +module_init(usbfn_raw_init); 4389 4945 +module_exit(usbfn_raw_exit); 4390 diff -Naur linux-2.6.18 /drivers/char/au1000_usbtty.c linux-2.6.18.mips/drivers/char/au1000_usbtty.c4391 --- linux-2.6.18 /drivers/char/au1000_usbtty.c 1969-12-31 16:00:00.000000000 -08004392 +++ linux- 2.6.18.mips/drivers/char/au1000_usbtty.c 2006-09-20 06:55:21.000000000 -07004946 diff -Naur linux-2.6.18.1/drivers/char/au1000_usbtty.c linux-mips-2.6.18.1/drivers/char/au1000_usbtty.c 4947 --- linux-2.6.18.1/drivers/char/au1000_usbtty.c 1969-12-31 16:00:00.000000000 -0800 4948 +++ linux-mips-2.6.18.1/drivers/char/au1000_usbtty.c 2006-10-17 06:23:28.000000000 -0700 4393 4949 @@ -0,0 +1,761 @@ 4394 4950 +/* … … 5153 5709 +module_init(usbfn_tty_init); 5154 5710 +module_exit(usbfn_tty_exit); 5155 diff -Naur linux-2.6.18 /drivers/char/decserial.c linux-2.6.18.mips/drivers/char/decserial.c5156 --- linux-2.6.18 /drivers/char/decserial.c 2006-09-19 20:42:06.000000000 -07005157 +++ linux- 2.6.18.mips/drivers/char/decserial.c 2006-09-20 06:55:21.000000000 -07005711 diff -Naur linux-2.6.18.1/drivers/char/decserial.c linux-mips-2.6.18.1/drivers/char/decserial.c 5712 --- linux-2.6.18.1/drivers/char/decserial.c 2006-10-13 20:34:03.000000000 -0700 5713 +++ linux-mips-2.6.18.1/drivers/char/decserial.c 2006-10-17 06:23:28.000000000 -0700 5158 5714 @@ -14,86 +14,84 @@ 5159 5715 * device. Added support for PROM console in drivers/char/tty_io.c … … 5289 5845 5290 5846 #endif 5291 diff -Naur linux-2.6.18/drivers/char/Kconfig linux-2.6.18.mips/drivers/char/Kconfig 5292 --- linux-2.6.18/drivers/char/Kconfig 2006-09-19 20:42:06.000000000 -0700 5293 +++ linux-2.6.18.mips/drivers/char/Kconfig 2006-09-20 06:55:21.000000000 -0700 5294 @@ -357,23 +357,68 @@ 5295 To compile this driver as a module, choose M here: the 5296 module will be called istallion. 5297 5298 -config AU1000_UART 5299 - bool "Enable Au1000 UART Support" 5300 - depends on SERIAL_NONSTANDARD && MIPS 5301 - help 5302 - If you have an Alchemy AU1000 processor (MIPS based) and you want 5303 - to use serial ports, say Y. Otherwise, say N. 5304 - 5305 -config AU1000_SERIAL_CONSOLE 5306 - bool "Enable Au1000 serial console" 5307 - depends on AU1000_UART 5308 +config AU1X00_GPIO 5309 + tristate "Alchemy Au1000 GPIO device support" 5310 + depends on MIPS && SOC_AU1X00 5311 + 5312 +config TS_AU1X00_ADS7846 5313 + tristate "Au1000/ADS7846 touchscreen support" 5314 + depends on MIPS && SOC_AU1X00 5315 + 5316 +config AU1X00_USB_TTY 5317 + tristate "Au1000 USB TTY Device support" 5318 + depends on MIPS && MIPS_AU1000 && AU1000_USB_DEVICE=y && AU1000_USB_DEVICE 5319 + 5320 +config AU1X00_USB_RAW 5321 + tristate "Au1000 USB Raw Device support" 5322 + depends on MIPS && MIPS_AU1000 && AU1000_USB_DEVICE=y && AU1000_USB_TTY!=y && AU1X00_USB_DEVICE 5323 + 5324 +config SIBYTE_SB1250_DUART 5325 + bool "Support for BCM1xxx onchip DUART" 5326 + depends on MIPS && SIBYTE_SB1xxx_SOC=y 5327 + 5328 +config SIBYTE_SB1250_DUART_CONSOLE 5329 + bool "Console on BCM1xxx DUART" 5330 + depends on SIBYTE_SB1250_DUART 5331 + 5332 +config SERIAL_DEC 5333 + bool "DECstation serial support" 5334 + depends on MACH_DECSTATION 5335 + default y 5336 help 5337 - If you have an Alchemy AU1000 processor (MIPS based) and you want 5338 - to use a console on a serial port, say Y. Otherwise, say N. 5339 + This selects whether you want to be asked about drivers for 5340 + DECstation serial ports. 5341 + 5342 + Note that the answer to this question won't directly affect the 5343 + kernel: saying N will just cause the configurator to skip all 5344 + the questions about DECstation serial ports. 5345 + 5346 + If unsure, say Y. 5347 + 5348 +config SERIAL_DEC_CONSOLE 5349 + bool "Support for console on a DECstation serial port" 5350 + depends on SERIAL_DEC 5351 + default y 5352 + help 5353 + If you say Y here, it will be possible to use a serial port as the 5354 + system console (the system console is the device which receives all 5355 + kernel messages and warnings and which allows logins in single user 5356 + mode). Note that the firmware uses ttyS0 as the serial console on 5357 + the Maxine and ttyS2 on the others. 5358 + 5359 + If unsure, say Y. 5360 + 5361 +config ZS 5362 + bool "Z85C30 Serial Support" 5363 + depends on SERIAL_DEC 5364 + default y 5365 + help 5366 + Documentation on the Zilog 85C350 serial communications controller 5367 + is downloadable at <http://www.zilog.com/pdfs/serial/z85c30.pdf>. 5368 5369 config QTRONIX_KEYBOARD 5370 bool "Enable Qtronix 990P Keyboard Support" 5371 - depends on IT8712 5372 + depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) 5373 help 5374 Images of Qtronix keyboards are at 5375 <http://www.qtronix.com/keyboard.html>. 5376 @@ -385,7 +430,7 @@ 5377 5378 config IT8172_SCR0 5379 bool "Enable Smart Card Reader 0 Support " 5380 - depends on IT8712 5381 + depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) 5382 help 5383 Say Y here to support smart-card reader 0 (SCR0) on the Integrated 5384 Technology Express, Inc. ITE8172 SBC. Vendor page at 5385 @@ -394,13 +439,17 @@ 5386 5387 config IT8172_SCR1 5388 bool "Enable Smart Card Reader 1 Support " 5389 - depends on IT8712 5390 + depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) 5391 help 5392 Say Y here to support smart-card reader 1 (SCR1) on the Integrated 5393 Technology Express, Inc. ITE8172 SBC. Vendor page at 5394 <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the 5395 board at <http://www.mvista.com/partners/semiconductor/ite.html>. 5396 5397 +config ITE_GPIO 5398 + tristate "ITE GPIO" 5399 + depends on MIPS && MIPS_ITE8172 5400 + 5401 config A2232 5402 tristate "Commodore A2232 serial support (EXPERIMENTAL)" 5403 depends on EXPERIMENTAL && ZORRO && BROKEN_ON_SMP 5404 diff -Naur linux-2.6.18/drivers/char/Makefile linux-2.6.18.mips/drivers/char/Makefile 5405 --- linux-2.6.18/drivers/char/Makefile 2006-09-19 20:42:06.000000000 -0700 5406 +++ linux-2.6.18.mips/drivers/char/Makefile 2006-09-20 06:55:21.000000000 -0700 5407 @@ -31,6 +31,7 @@ 5408 obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o 5409 obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o 5410 obj-$(CONFIG_MOXA_SMARTIO) += mxser.o 5411 +obj-$(CONFIG_SIBYTE_SB1250_DUART) += sb1250_duart.o 5412 obj-$(CONFIG_COMPUTONE) += ip2/ 5413 obj-$(CONFIG_RISCOM8) += riscom8.o 5414 obj-$(CONFIG_ISI) += isicom.o 5415 @@ -51,6 +52,7 @@ 5416 obj-$(CONFIG_VIOTAPE) += viotape.o 5417 obj-$(CONFIG_HVCS) += hvcs.o 5418 obj-$(CONFIG_SGI_MBCS) += mbcs.o 5419 +obj-$(CONFIG_SERIAL_DEC) += decserial.o 5420 5421 obj-$(CONFIG_PRINTER) += lp.o 5422 obj-$(CONFIG_TIPAR) += tipar.o 5423 @@ -78,6 +80,10 @@ 5424 obj-$(CONFIG_HW_RANDOM) += hw_random/ 5425 obj-$(CONFIG_FTAPE) += ftape/ 5426 obj-$(CONFIG_COBALT_LCD) += lcd.o 5427 +obj-$(CONFIG_ITE_GPIO) += ite_gpio.o 5428 +obj-$(CONFIG_AU1000_GPIO) += au1000_gpio.o 5429 +obj-$(CONFIG_AU1000_USB_TTY) += au1000_usbtty.o 5430 +obj-$(CONFIG_AU1000_USB_RAW) += au1000_usbraw.o 5431 obj-$(CONFIG_PPDEV) += ppdev.o 5432 obj-$(CONFIG_NWBUTTON) += nwbutton.o 5433 obj-$(CONFIG_NWFLASH) += nwflash.o 5434 diff -Naur linux-2.6.18/drivers/char/qtronix.c linux-2.6.18.mips/drivers/char/qtronix.c 5435 --- linux-2.6.18/drivers/char/qtronix.c 2006-09-19 20:42:06.000000000 -0700 5436 +++ linux-2.6.18.mips/drivers/char/qtronix.c 2006-09-20 06:55:21.000000000 -0700 5847 diff -Naur linux-2.6.18.1/drivers/char/qtronix.c linux-mips-2.6.18.1/drivers/char/qtronix.c 5848 --- linux-2.6.18.1/drivers/char/qtronix.c 2006-10-13 20:34:03.000000000 -0700 5849 +++ linux-mips-2.6.18.1/drivers/char/qtronix.c 2006-10-17 06:23:28.000000000 -0700 5437 5850 @@ -534,8 +534,7 @@ 5438 5851 i--; … … 5445 5858 } 5446 5859 if (signal_pending(current)) 5447 diff -Naur linux-2.6.18 /drivers/char/rtc.c linux-2.6.18.mips/drivers/char/rtc.c5448 --- linux-2.6.18 /drivers/char/rtc.c 2006-09-19 20:42:06.000000000 -07005449 +++ linux- 2.6.18.mips/drivers/char/rtc.c 2006-09-20 06:55:21.000000000 -07005860 diff -Naur linux-2.6.18.1/drivers/char/rtc.c linux-mips-2.6.18.1/drivers/char/rtc.c 5861 --- linux-2.6.18.1/drivers/char/rtc.c 2006-10-13 20:34:03.000000000 -0700 5862 +++ linux-mips-2.6.18.1/drivers/char/rtc.c 2006-10-17 06:23:28.000000000 -0700 5450 5863 @@ -35,16 +35,16 @@ 5451 5864 * 1.09a Pete Zaitcev: Sun SPARC … … 5468 5881 * 1.12a Maciej W. Rozycki: Handle memory-mapped chips properly. 5469 5882 * 1.12ac Alan Cox: Allow read access to the day of week register 5470 diff -Naur linux-2.6.18 /drivers/char/sb1250_duart.c linux-2.6.18.mips/drivers/char/sb1250_duart.c5471 --- linux-2.6.18 /drivers/char/sb1250_duart.c 1969-12-31 16:00:00.000000000 -08005472 +++ linux- 2.6.18.mips/drivers/char/sb1250_duart.c 2006-09-20 06:55:21.000000000 -07005883 diff -Naur linux-2.6.18.1/drivers/char/sb1250_duart.c linux-mips-2.6.18.1/drivers/char/sb1250_duart.c 5884 --- linux-2.6.18.1/drivers/char/sb1250_duart.c 1969-12-31 16:00:00.000000000 -0800 5885 +++ linux-mips-2.6.18.1/drivers/char/sb1250_duart.c 2006-10-17 06:23:28.000000000 -0700 5473 5886 @@ -0,0 +1,910 @@ 5474 5887 +/* … … 6382 6795 + 6383 6796 +#endif /* CONFIG_SIBYTE_SB1250_DUART_CONSOLE */ 6384 diff -Naur linux-2.6.18 /drivers/ide/mips/Makefile linux-2.6.18.mips/drivers/ide/mips/Makefile6385 --- linux-2.6.18 /drivers/ide/mips/Makefile 2006-09-19 20:42:06.000000000 -07006386 +++ linux- 2.6.18.mips/drivers/ide/mips/Makefile 2006-09-20 06:55:21.000000000 -07006797 diff -Naur linux-2.6.18.1/drivers/ide/mips/Makefile linux-mips-2.6.18.1/drivers/ide/mips/Makefile 6798 --- linux-2.6.18.1/drivers/ide/mips/Makefile 2006-10-13 20:34:03.000000000 -0700 6799 +++ linux-mips-2.6.18.1/drivers/ide/mips/Makefile 2006-10-17 06:23:28.000000000 -0700 6387 6800 @@ -1,4 +1,4 @@ 6388 6801 obj-$(CONFIG_BLK_DEV_IDE_SWARM) += swarm.o … … 6391 6804 -EXTRA_CFLAGS := -Idrivers/ide 6392 6805 +CFLAGS_au1xxx-ide.o := -Idrivers/ide 6393 diff -Naur linux-2.6.18 /drivers/mtd/devices/docprobe.c linux-2.6.18.mips/drivers/mtd/devices/docprobe.c6394 --- linux-2.6.18 /drivers/mtd/devices/docprobe.c 2006-09-19 20:42:06.000000000 -07006395 +++ linux- 2.6.18.mips/drivers/mtd/devices/docprobe.c 2006-09-20 06:55:21.000000000 -07006806 diff -Naur linux-2.6.18.1/drivers/mtd/devices/docprobe.c linux-mips-2.6.18.1/drivers/mtd/devices/docprobe.c 6807 --- linux-2.6.18.1/drivers/mtd/devices/docprobe.c 2006-10-13 20:34:03.000000000 -0700 6808 +++ linux-mips-2.6.18.1/drivers/mtd/devices/docprobe.c 2006-10-17 06:23:28.000000000 -0700 6396 6809 @@ -83,10 +83,10 @@ 6397 6810 0xe4000000, … … 6408 6821 #endif 6409 6822 0xffffffff }; 6410 diff -Naur linux-2.6.18 /drivers/mtd/maps/Kconfig linux-2.6.18.mips/drivers/mtd/maps/Kconfig6411 --- linux-2.6.18 /drivers/mtd/maps/Kconfig 2006-09-19 20:42:06.000000000 -07006412 +++ linux- 2.6.18.mips/drivers/mtd/maps/Kconfig 2006-09-20 06:55:21.000000000 -07006823 diff -Naur linux-2.6.18.1/drivers/mtd/maps/Kconfig linux-mips-2.6.18.1/drivers/mtd/maps/Kconfig 6824 --- linux-2.6.18.1/drivers/mtd/maps/Kconfig 2006-10-13 20:34:03.000000000 -0700 6825 +++ linux-mips-2.6.18.1/drivers/mtd/maps/Kconfig 2006-10-17 06:23:28.000000000 -0700 6413 6826 @@ -299,6 +299,18 @@ 6414 6827 Mapping for the Flaga digital module. If you don't have one, ignore … … 6430 6843 tristate "CFI Flash device mapped on IBM 405LP Beech" 6431 6844 depends on MTD_CFI && BEECH 6432 diff -Naur linux-2.6.18 /drivers/mtd/maps/lasat.c linux-2.6.18.mips/drivers/mtd/maps/lasat.c6433 --- linux-2.6.18 /drivers/mtd/maps/lasat.c 2006-09-19 20:42:06.000000000 -07006434 +++ linux- 2.6.18.mips/drivers/mtd/maps/lasat.c 2006-09-20 06:55:21.000000000 -07006845 diff -Naur linux-2.6.18.1/drivers/mtd/maps/lasat.c linux-mips-2.6.18.1/drivers/mtd/maps/lasat.c 6846 --- linux-2.6.18.1/drivers/mtd/maps/lasat.c 2006-10-13 20:34:03.000000000 -0700 6847 +++ linux-mips-2.6.18.1/drivers/mtd/maps/lasat.c 2006-10-17 06:23:28.000000000 -0700 6435 6848 @@ -7,7 +7,7 @@ 6436 6849 * modify it under the terms of the GNU General Public License version … … 6451 6864 lasat_map.size = lasat_board_info.li_flash_size; 6452 6865 6453 diff -Naur linux-2.6.18/drivers/net/big_sur_ge.c linux-2.6.18.mips/drivers/net/big_sur_ge.c 6454 --- linux-2.6.18/drivers/net/big_sur_ge.c 1969-12-31 16:00:00.000000000 -0800 6455 +++ linux-2.6.18.mips/drivers/net/big_sur_ge.c 2006-09-20 06:55:21.000000000 -0700 6866 diff -Naur linux-2.6.18.1/drivers/net/Kconfig linux-mips-2.6.18.1/drivers/net/Kconfig 6867 --- linux-2.6.18.1/drivers/net/Kconfig 2006-10-13 20:34:03.000000000 -0700 6868 +++ linux-mips-2.6.18.1/drivers/net/Kconfig 2006-10-17 06:23:28.000000000 -0700 6869 @@ -438,6 +438,14 @@ 6870 This is the driver for the onboard card of MIPS Magnum 4000, 6871 Acer PICA, Olivetti M700-10 and a few other identical OEM systems. 6872 6873 +config GALILEO_64240_ETH 6874 + tristate "Galileo GT64240 Ethernet support" 6875 + depends on NET_ETHERNET && MOMENCO_OCELOT_G 6876 + select MII 6877 + help 6878 + This is the driver for the ethernet interfaces integrated into 6879 + the Galileo (now Marvell) GT64240 chipset. 6880 + 6881 config MIPS_GT96100ETH 6882 bool "MIPS GT96100 Ethernet support" 6883 depends on NET_ETHERNET && MIPS_GT96100 6884 @@ -453,10 +461,6 @@ 6885 If you have an Alchemy Semi AU1X00 based system 6886 say Y. Otherwise, say N. 6887 6888 -config NET_SB1250_MAC 6889 - tristate "SB1250 Ethernet support" 6890 - depends on NET_ETHERNET && SIBYTE_SB1xxx_SOC 6891 - 6892 config SGI_IOC3_ETH 6893 bool "SGI IOC3 Ethernet" 6894 depends on NET_ETHERNET && PCI && SGI_IP27 6895 @@ -467,25 +471,13 @@ 6896 the Ethernet-HOWTO, available from 6897 <http://www.tldp.org/docs.html#howto>. 6898 6899 -config SGI_IOC3_ETH_HW_RX_CSUM 6900 - bool "Receive hardware checksums" 6901 - depends on SGI_IOC3_ETH && INET 6902 - default y 6903 - help 6904 - The SGI IOC3 network adapter supports TCP and UDP checksums in 6905 - hardware to offload processing of these checksums from the CPU. At 6906 - the moment only acceleration of IPv4 is supported. This option 6907 - enables offloading for checksums on receive. If unsure, say Y. 6908 - 6909 -config SGI_IOC3_ETH_HW_TX_CSUM 6910 - bool "Transmit hardware checksums" 6911 - depends on SGI_IOC3_ETH && INET 6912 - default y 6913 +config MIPS_SIM_NET 6914 + tristate "MIPS simulator Network device (EXPERIMENTAL)" 6915 + depends on NETDEVICES && MIPS_SIM && EXPERIMENTAL 6916 help 6917 - The SGI IOC3 network adapter supports TCP and UDP checksums in 6918 - hardware to offload processing of these checksums from the CPU. At 6919 - the moment only acceleration of IPv4 is supported. This option 6920 - enables offloading for checksums on transmit. If unsure, say Y. 6921 + The MIPSNET device is a simple Ethernet network device which is 6922 + emulated by the MIPS Simulator. 6923 + If you are not using a MIPSsim or are unsure, say N. 6924 6925 config MIPS_SIM_NET 6926 tristate "MIPS simulator Network device (EXPERIMENTAL)" 6927 @@ -2035,6 +2027,10 @@ 6928 6929 If in doubt, say N. 6930 6931 +config NET_SB1250_MAC 6932 + tristate "SB1250 Ethernet support" 6933 + depends on SIBYTE_SB1xxx_SOC 6934 + 6935 config R8169_VLAN 6936 bool "VLAN support" 6937 depends on R8169 && VLAN_8021Q 6938 @@ -2266,8 +2262,8 @@ 6939 select MII 6940 help 6941 This driver supports the gigabit Ethernet on the Marvell MV643XX 6942 - chipset which is used in the Momenco Ocelot C and Jaguar ATX and 6943 - Pegasos II, amongst other PPC and MIPS boards. 6944 + chipset which is used in the Momenco Ocelot C Ocelot, Jaguar ATX 6945 + and Pegasos II, amongst other PPC and MIPS boards. 6946 6947 config MV643XX_ETH_0 6948 bool "MV-643XX Port 0" 6949 @@ -2290,6 +2286,20 @@ 6950 This enables support for Port 2 of the Marvell MV643XX Gigabit 6951 Ethernet. 6952 6953 +config BIG_SUR_FE 6954 + bool "PMC-Sierra TITAN Fast Ethernet Support" 6955 + depends on NET_ETHERNET && PMC_BIG_SUR 6956 + help 6957 + This enables support for the the integrated ethernet of 6958 + PMC-Sierra's Big Sur SoC. 6959 + 6960 +config TITAN_GE 6961 + bool "PMC-Sierra TITAN Gigabit Ethernet Support" 6962 + depends on PMC_YOSEMITE 6963 + help 6964 + This enables support for the the integrated ethernet of 6965 + PMC-Sierra's Titan SoC. 6966 + 6967 endmenu 6968 6969 # 6970 diff -Naur linux-2.6.18.1/drivers/net/Makefile linux-mips-2.6.18.1/drivers/net/Makefile 6971 --- linux-2.6.18.1/drivers/net/Makefile 2006-10-13 20:34:03.000000000 -0700 6972 +++ linux-mips-2.6.18.1/drivers/net/Makefile 2006-10-17 06:23:28.000000000 -0700 6973 @@ -114,6 +114,11 @@ 6974 6975 obj-$(CONFIG_MV643XX_ETH) += mv643xx_eth.o 6976 6977 +obj-$(CONFIG_GALILEO_64240_ETH) += gt64240eth.o 6978 +obj-$(CONFIG_MV64340_ETH) += mv64340_eth.o 6979 +obj-$(CONFIG_BIG_SUR_FE) += big_sur_ge.o 6980 +obj-$(CONFIG_TITAN_GE) += titan_mdio.o titan_ge.o 6981 + 6982 obj-$(CONFIG_PPP) += ppp_generic.o slhc.o 6983 obj-$(CONFIG_PPP_ASYNC) += ppp_async.o 6984 obj-$(CONFIG_PPP_SYNC_TTY) += ppp_synctty.o 6985 diff -Naur linux-2.6.18.1/drivers/net/big_sur_ge.c linux-mips-2.6.18.1/drivers/net/big_sur_ge.c 6986 --- linux-2.6.18.1/drivers/net/big_sur_ge.c 1969-12-31 16:00:00.000000000 -0800 6987 +++ linux-mips-2.6.18.1/drivers/net/big_sur_ge.c 2006-10-17 06:23:28.000000000 -0700 6456 6988 @@ -0,0 +1,2005 @@ 6457 6989 +/* … … 8460 8992 +MODULE_DESCRIPTION("PMC-Sierra Big Sur Ethernet MAC Driver"); 8461 8993 +MODULE_LICENSE("GPL"); 8462 diff -Naur linux-2.6.18 /drivers/net/big_sur_ge.h linux-2.6.18.mips/drivers/net/big_sur_ge.h8463 --- linux-2.6.18 /drivers/net/big_sur_ge.h 1969-12-31 16:00:00.000000000 -08008464 +++ linux- 2.6.18.mips/drivers/net/big_sur_ge.h 2006-09-20 06:55:21.000000000 -07008994 diff -Naur linux-2.6.18.1/drivers/net/big_sur_ge.h linux-mips-2.6.18.1/drivers/net/big_sur_ge.h 8995 --- linux-2.6.18.1/drivers/net/big_sur_ge.h 1969-12-31 16:00:00.000000000 -0800 8996 +++ linux-mips-2.6.18.1/drivers/net/big_sur_ge.h 2006-10-17 06:23:28.000000000 -0700 8465 8997 @@ -0,0 +1,713 @@ 8466 8998 +/* … … 9177 9709 + 9178 9710 +#endif 9179 diff -Naur linux-2.6.18 /drivers/net/gt64240eth.c linux-2.6.18.mips/drivers/net/gt64240eth.c9180 --- linux-2.6.18 /drivers/net/gt64240eth.c 1969-12-31 16:00:00.000000000 -08009181 +++ linux- 2.6.18.mips/drivers/net/gt64240eth.c 2006-09-20 06:55:21.000000000 -07009711 diff -Naur linux-2.6.18.1/drivers/net/gt64240eth.c linux-mips-2.6.18.1/drivers/net/gt64240eth.c 9712 --- linux-2.6.18.1/drivers/net/gt64240eth.c 1969-12-31 16:00:00.000000000 -0800 9713 +++ linux-mips-2.6.18.1/drivers/net/gt64240eth.c 2006-10-17 06:23:28.000000000 -0700 9182 9714 @@ -0,0 +1,1672 @@ 9183 9715 +/* … … 10853 11385 + return &gp->stats; 10854 11386 +} 10855 diff -Naur linux-2.6.18 /drivers/net/gt64240eth.h linux-2.6.18.mips/drivers/net/gt64240eth.h10856 --- linux-2.6.18 /drivers/net/gt64240eth.h 2006-09-19 20:42:06.000000000 -070010857 +++ linux- 2.6.18.mips/drivers/net/gt64240eth.h 2006-09-20 06:55:21.000000000 -070011387 diff -Naur linux-2.6.18.1/drivers/net/gt64240eth.h linux-mips-2.6.18.1/drivers/net/gt64240eth.h 11388 --- linux-2.6.18.1/drivers/net/gt64240eth.h 2006-10-13 20:34:03.000000000 -0700 11389 +++ linux-mips-2.6.18.1/drivers/net/gt64240eth.h 2006-10-17 06:23:28.000000000 -0700 10858 11390 @@ -9,6 +9,7 @@ 10859 11391 * Copyright 2000 MontaVista Software Inc. … … 10896 11428 /* Bit definitions of the SMI Reg */ 10897 11429 enum { 10898 diff -Naur linux-2.6.18 /drivers/net/ioc3-eth.c linux-2.6.18.mips/drivers/net/ioc3-eth.c10899 --- linux-2.6.18 /drivers/net/ioc3-eth.c 2006-09-19 20:42:06.000000000 -070010900 +++ linux- 2.6.18.mips/drivers/net/ioc3-eth.c 2006-09-20 06:55:21.000000000 -070011430 diff -Naur linux-2.6.18.1/drivers/net/ioc3-eth.c linux-mips-2.6.18.1/drivers/net/ioc3-eth.c 11431 --- linux-2.6.18.1/drivers/net/ioc3-eth.c 2006-10-13 20:34:03.000000000 -0700 11432 +++ linux-mips-2.6.18.1/drivers/net/ioc3-eth.c 2006-10-17 06:23:28.000000000 -0700 10901 11433 @@ -5,7 +5,7 @@ 10902 11434 * … … 11025 11557 11026 11558 static int ioc3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) 11027 diff -Naur linux-2.6.18/drivers/net/Kconfig linux-2.6.18.mips/drivers/net/Kconfig 11028 --- linux-2.6.18/drivers/net/Kconfig 2006-09-19 20:42:06.000000000 -0700 11029 +++ linux-2.6.18.mips/drivers/net/Kconfig 2006-09-20 06:55:21.000000000 -0700 11030 @@ -438,6 +438,14 @@ 11031 This is the driver for the onboard card of MIPS Magnum 4000, 11032 Acer PICA, Olivetti M700-10 and a few other identical OEM systems. 11033 11034 +config GALILEO_64240_ETH 11035 + tristate "Galileo GT64240 Ethernet support" 11036 + depends on NET_ETHERNET && MOMENCO_OCELOT_G 11037 + select MII 11038 + help 11039 + This is the driver for the ethernet interfaces integrated into 11040 + the Galileo (now Marvell) GT64240 chipset. 11041 + 11042 config MIPS_GT96100ETH 11043 bool "MIPS GT96100 Ethernet support" 11044 depends on NET_ETHERNET && MIPS_GT96100 11045 @@ -453,10 +461,6 @@ 11046 If you have an Alchemy Semi AU1X00 based system 11047 say Y. Otherwise, say N. 11048 11049 -config NET_SB1250_MAC 11050 - tristate "SB1250 Ethernet support" 11051 - depends on NET_ETHERNET && SIBYTE_SB1xxx_SOC 11052 - 11053 config SGI_IOC3_ETH 11054 bool "SGI IOC3 Ethernet" 11055 depends on NET_ETHERNET && PCI && SGI_IP27 11056 @@ -467,25 +471,13 @@ 11057 the Ethernet-HOWTO, available from 11058 <http://www.tldp.org/docs.html#howto>. 11059 11060 -config SGI_IOC3_ETH_HW_RX_CSUM 11061 - bool "Receive hardware checksums" 11062 - depends on SGI_IOC3_ETH && INET 11063 - default y 11064 - help 11065 - The SGI IOC3 network adapter supports TCP and UDP checksums in 11066 - hardware to offload processing of these checksums from the CPU. At 11067 - the moment only acceleration of IPv4 is supported. This option 11068 - enables offloading for checksums on receive. If unsure, say Y. 11069 - 11070 -config SGI_IOC3_ETH_HW_TX_CSUM 11071 - bool "Transmit hardware checksums" 11072 - depends on SGI_IOC3_ETH && INET 11073 - default y 11074 +config MIPS_SIM_NET 11075 + tristate "MIPS simulator Network device (EXPERIMENTAL)" 11076 + depends on NETDEVICES && MIPS_SIM && EXPERIMENTAL 11077 help 11078 - The SGI IOC3 network adapter supports TCP and UDP checksums in 11079 - hardware to offload processing of these checksums from the CPU. At 11080 - the moment only acceleration of IPv4 is supported. This option 11081 - enables offloading for checksums on transmit. If unsure, say Y. 11082 + The MIPSNET device is a simple Ethernet network device which is 11083 + emulated by the MIPS Simulator. 11084 + If you are not using a MIPSsim or are unsure, say N. 11085 11086 config MIPS_SIM_NET 11087 tristate "MIPS simulator Network device (EXPERIMENTAL)" 11088 @@ -2035,6 +2027,10 @@ 11089 11090 If in doubt, say N. 11091 11092 +config NET_SB1250_MAC 11093 + tristate "SB1250 Ethernet support" 11094 + depends on SIBYTE_SB1xxx_SOC 11095 + 11096 config R8169_VLAN 11097 bool "VLAN support" 11098 depends on R8169 && VLAN_8021Q 11099 @@ -2266,8 +2262,8 @@ 11100 select MII 11101 help 11102 This driver supports the gigabit Ethernet on the Marvell MV643XX 11103 - chipset which is used in the Momenco Ocelot C and Jaguar ATX and 11104 - Pegasos II, amongst other PPC and MIPS boards. 11105 + chipset which is used in the Momenco Ocelot C Ocelot, Jaguar ATX 11106 + and Pegasos II, amongst other PPC and MIPS boards. 11107 11108 config MV643XX_ETH_0 11109 bool "MV-643XX Port 0" 11110 @@ -2290,6 +2286,20 @@ 11111 This enables support for Port 2 of the Marvell MV643XX Gigabit 11112 Ethernet. 11113 11114 +config BIG_SUR_FE 11115 + bool "PMC-Sierra TITAN Fast Ethernet Support" 11116 + depends on NET_ETHERNET && PMC_BIG_SUR 11117 + help 11118 + This enables support for the the integrated ethernet of 11119 + PMC-Sierra's Big Sur SoC. 11120 + 11121 +config TITAN_GE 11122 + bool "PMC-Sierra TITAN Gigabit Ethernet Support" 11123 + depends on PMC_YOSEMITE 11124 + help 11125 + This enables support for the the integrated ethernet of 11126 + PMC-Sierra's Titan SoC. 11127 + 11128 endmenu 11129 11130 # 11131 diff -Naur linux-2.6.18/drivers/net/Makefile linux-2.6.18.mips/drivers/net/Makefile 11132 --- linux-2.6.18/drivers/net/Makefile 2006-09-19 20:42:06.000000000 -0700 11133 +++ linux-2.6.18.mips/drivers/net/Makefile 2006-09-20 06:55:21.000000000 -0700 11134 @@ -114,6 +114,11 @@ 11135 11136 obj-$(CONFIG_MV643XX_ETH) += mv643xx_eth.o 11137 11138 +obj-$(CONFIG_GALILEO_64240_ETH) += gt64240eth.o 11139 +obj-$(CONFIG_MV64340_ETH) += mv64340_eth.o 11140 +obj-$(CONFIG_BIG_SUR_FE) += big_sur_ge.o 11141 +obj-$(CONFIG_TITAN_GE) += titan_mdio.o titan_ge.o 11142 + 11143 obj-$(CONFIG_PPP) += ppp_generic.o slhc.o 11144 obj-$(CONFIG_PPP_ASYNC) += ppp_async.o 11145 obj-$(CONFIG_PPP_SYNC_TTY) += ppp_synctty.o 11146 diff -Naur linux-2.6.18/drivers/net/titan_ge.c linux-2.6.18.mips/drivers/net/titan_ge.c 11147 --- linux-2.6.18/drivers/net/titan_ge.c 1969-12-31 16:00:00.000000000 -0800 11148 +++ linux-2.6.18.mips/drivers/net/titan_ge.c 2006-09-20 06:55:21.000000000 -0700 11559 diff -Naur linux-2.6.18.1/drivers/net/titan_ge.c linux-mips-2.6.18.1/drivers/net/titan_ge.c 11560 --- linux-2.6.18.1/drivers/net/titan_ge.c 1969-12-31 16:00:00.000000000 -0800 11561 +++ linux-mips-2.6.18.1/drivers/net/titan_ge.c 2006-10-17 06:23:28.000000000 -0700 11149 11562 @@ -0,0 +1,2071 @@ 11150 11563 +/* … … 13219 13632 +module_init(titan_ge_init_module); 13220 13633 +module_exit(titan_ge_cleanup_module); 13221 diff -Naur linux-2.6.18 /drivers/net/titan_ge.h linux-2.6.18.mips/drivers/net/titan_ge.h13222 --- linux-2.6.18 /drivers/net/titan_ge.h 1969-12-31 16:00:00.000000000 -080013223 +++ linux- 2.6.18.mips/drivers/net/titan_ge.h 2006-09-20 06:55:21.000000000 -070013634 diff -Naur linux-2.6.18.1/drivers/net/titan_ge.h linux-mips-2.6.18.1/drivers/net/titan_ge.h 13635 --- linux-2.6.18.1/drivers/net/titan_ge.h 1969-12-31 16:00:00.000000000 -0800 13636 +++ linux-mips-2.6.18.1/drivers/net/titan_ge.h 2006-10-17 06:23:28.000000000 -0700 13224 13637 @@ -0,0 +1,417 @@ 13225 13638 +#ifndef _TITAN_GE_H_ … … 13640 14053 +#endif /* _TITAN_GE_H_ */ 13641 14054 + 13642 diff -Naur linux-2.6.18 /drivers/net/titan_mdio.c linux-2.6.18.mips/drivers/net/titan_mdio.c13643 --- linux-2.6.18 /drivers/net/titan_mdio.c 1969-12-31 16:00:00.000000000 -080013644 +++ linux- 2.6.18.mips/drivers/net/titan_mdio.c 2006-09-20 06:55:21.000000000 -070014055 diff -Naur linux-2.6.18.1/drivers/net/titan_mdio.c linux-mips-2.6.18.1/drivers/net/titan_mdio.c 14056 --- linux-2.6.18.1/drivers/net/titan_mdio.c 1969-12-31 16:00:00.000000000 -0800 14057 +++ linux-mips-2.6.18.1/drivers/net/titan_mdio.c 2006-10-17 06:23:28.000000000 -0700 13645 14058 @@ -0,0 +1,217 @@ 13646 14059 +/* … … 13861 14274 +} 13862 14275 + 13863 diff -Naur linux-2.6.18 /drivers/net/titan_mdio.h linux-2.6.18.mips/drivers/net/titan_mdio.h13864 --- linux-2.6.18 /drivers/net/titan_mdio.h 1969-12-31 16:00:00.000000000 -080013865 +++ linux- 2.6.18.mips/drivers/net/titan_mdio.h 2006-09-20 06:55:21.000000000 -070014276 diff -Naur linux-2.6.18.1/drivers/net/titan_mdio.h linux-mips-2.6.18.1/drivers/net/titan_mdio.h 14277 --- linux-2.6.18.1/drivers/net/titan_mdio.h 1969-12-31 16:00:00.000000000 -0800 14278 +++ linux-mips-2.6.18.1/drivers/net/titan_mdio.h 2006-10-17 06:23:28.000000000 -0700 13866 14279 @@ -0,0 +1,56 @@ 13867 14280 +/* … … 13921 14334 + 13922 14335 +#endif /* _TITAN_MDIO_H */ 13923 diff -Naur linux-2.6.18/drivers/scsi/dec_esp.c linux-2.6.18.mips/drivers/scsi/dec_esp.c 13924 --- linux-2.6.18/drivers/scsi/dec_esp.c 2006-09-19 20:42:06.000000000 -0700 13925 +++ linux-2.6.18.mips/drivers/scsi/dec_esp.c 2006-09-20 06:55:21.000000000 -0700 14336 diff -Naur linux-2.6.18.1/drivers/scsi/NCR53C9x.h linux-mips-2.6.18.1/drivers/scsi/NCR53C9x.h 14337 --- linux-2.6.18.1/drivers/scsi/NCR53C9x.h 2006-10-13 20:34:03.000000000 -0700 14338 +++ linux-mips-2.6.18.1/drivers/scsi/NCR53C9x.h 2006-10-17 06:23:28.000000000 -0700 14339 @@ -144,12 +144,7 @@ 14340 14341 #ifndef MULTIPLE_PAD_SIZES 14342 14343 -#ifdef CONFIG_CPU_HAS_WB 14344 -#include <asm/wbflush.h> 14345 -#define esp_write(__reg, __val) do{(__reg) = (__val); wbflush();} while(0) 14346 -#else 14347 -#define esp_write(__reg, __val) ((__reg) = (__val)) 14348 -#endif 14349 +#define esp_write(__reg, __val) do{(__reg) = (__val); iob();} while(0) 14350 #define esp_read(__reg) (__reg) 14351 14352 struct ESP_regs { 14353 diff -Naur linux-2.6.18.1/drivers/scsi/dec_esp.c linux-mips-2.6.18.1/drivers/scsi/dec_esp.c 14354 --- linux-2.6.18.1/drivers/scsi/dec_esp.c 2006-10-13 20:34:03.000000000 -0700 14355 +++ linux-mips-2.6.18.1/drivers/scsi/dec_esp.c 2006-10-17 06:23:28.000000000 -0700 13926 14356 @@ -55,7 +55,7 @@ 13927 14357 … … 13942 14372 esp->dregs = 0; 13943 14373 esp->eregs = (void *)CKSEG1ADDR(mem_start + 13944 diff -Naur linux-2.6.18/drivers/scsi/NCR53C9x.h linux-2.6.18.mips/drivers/scsi/NCR53C9x.h 13945 --- linux-2.6.18/drivers/scsi/NCR53C9x.h 2006-09-19 20:42:06.000000000 -0700 13946 +++ linux-2.6.18.mips/drivers/scsi/NCR53C9x.h 2006-09-20 06:55:21.000000000 -0700 13947 @@ -144,12 +144,7 @@ 13948 13949 #ifndef MULTIPLE_PAD_SIZES 13950 13951 -#ifdef CONFIG_CPU_HAS_WB 13952 -#include <asm/wbflush.h> 13953 -#define esp_write(__reg, __val) do{(__reg) = (__val); wbflush();} while(0) 13954 -#else 13955 -#define esp_write(__reg, __val) ((__reg) = (__val)) 13956 -#endif 13957 +#define esp_write(__reg, __val) do{(__reg) = (__val); iob();} while(0) 13958 #define esp_read(__reg) (__reg) 13959 13960 struct ESP_regs { 13961 diff -Naur linux-2.6.18/drivers/scsi/sgiwd93.c linux-2.6.18.mips/drivers/scsi/sgiwd93.c 13962 --- linux-2.6.18/drivers/scsi/sgiwd93.c 2006-09-19 20:42:06.000000000 -0700 13963 +++ linux-2.6.18.mips/drivers/scsi/sgiwd93.c 2006-09-20 06:55:21.000000000 -0700 14374 diff -Naur linux-2.6.18.1/drivers/scsi/sgiwd93.c linux-mips-2.6.18.1/drivers/scsi/sgiwd93.c 14375 --- linux-2.6.18.1/drivers/scsi/sgiwd93.c 2006-10-13 20:34:03.000000000 -0700 14376 +++ linux-mips-2.6.18.1/drivers/scsi/sgiwd93.c 2006-10-17 06:23:28.000000000 -0700 13964 14377 @@ -14,6 +14,7 @@ 13965 14378 #include <linux/interrupt.h> … … 13978 14391 static inline void init_hpc_chain(struct hpc_data *hd) 13979 14392 { 13980 diff -Naur linux-2.6.18/drivers/serial/ip22zilog.c linux-2.6.18.mips/drivers/serial/ip22zilog.c 13981 --- linux-2.6.18/drivers/serial/ip22zilog.c 2006-09-19 20:42:06.000000000 -0700 13982 +++ linux-2.6.18.mips/drivers/serial/ip22zilog.c 2006-09-20 06:55:21.000000000 -0700 14393 diff -Naur linux-2.6.18.1/drivers/serial/Kconfig linux-mips-2.6.18.1/drivers/serial/Kconfig 14394 --- linux-2.6.18.1/drivers/serial/Kconfig 2006-10-13 20:34:03.000000000 -0700 14395 +++ linux-mips-2.6.18.1/drivers/serial/Kconfig 2006-10-17 06:23:28.000000000 -0700 14396 @@ -651,6 +651,25 @@ 14397 depends on SERIAL_SH_SCI=y 14398 select SERIAL_CORE_CONSOLE 14399 14400 +config SERIAL_IP3106 14401 + bool "Enable IP3106 UART Support (Philips PNX 8xx0 SoCs)" 14402 + depends on MIPS && (SOC_PNX8550 || SOC_PNX8330) 14403 + select SERIAL_CORE 14404 + help 14405 + If you have a Philips SoC with an IP 3106 UART in it, such as 14406 + the PNX8550 or PNX8330 (MIPS based) and you want to use 14407 + serial ports, say Y. Otherwise, say N. 14408 + 14409 +config SERIAL_IP3106_CONSOLE 14410 + bool "Enable PNX8XX0 serial console" 14411 + depends on SERIAL_IP3106 14412 + select SERIAL_CORE_CONSOLE 14413 + help 14414 + If you have a Philips SoC with an IP 3106 UART in it, such as 14415 + the PNX8550 or PNX8330 (MIPS based) and you want to use 14416 + a serial console, say Y. 14417 + Otherwise, say N. 14418 + 14419 config SERIAL_CORE 14420 tristate 14421 14422 diff -Naur linux-2.6.18.1/drivers/serial/Makefile linux-mips-2.6.18.1/drivers/serial/Makefile 14423 --- linux-2.6.18.1/drivers/serial/Makefile 2006-10-13 20:34:03.000000000 -0700 14424 +++ linux-mips-2.6.18.1/drivers/serial/Makefile 2006-10-17 06:23:28.000000000 -0700 14425 @@ -39,6 +39,7 @@ 14426 obj-$(CONFIG_V850E_UART) += v850e_uart.o 14427 obj-$(CONFIG_SERIAL_PMACZILOG) += pmac_zilog.o 14428 obj-$(CONFIG_SERIAL_LH7A40X) += serial_lh7a40x.o 14429 +obj-$(CONFIG_SERIAL_IP3106) += ip3106_uart.o 14430 obj-$(CONFIG_SERIAL_DZ) += dz.o 14431 obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o 14432 obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o 14433 diff -Naur linux-2.6.18.1/drivers/serial/ip22zilog.c linux-mips-2.6.18.1/drivers/serial/ip22zilog.c 14434 --- linux-2.6.18.1/drivers/serial/ip22zilog.c 2006-10-13 20:34:03.000000000 -0700 14435 +++ linux-mips-2.6.18.1/drivers/serial/ip22zilog.c 2006-10-17 06:23:28.000000000 -0700 13983 14436 @@ -865,6 +865,7 @@ 13984 14437 up->cflag = termios->c_cflag; … … 13998 14451 13999 14452 static int __init ip22zilog_console_setup(struct console *con, char *options) 14000 diff -Naur linux-2.6.18 /drivers/serial/ip3106_uart.c linux-2.6.18.mips/drivers/serial/ip3106_uart.c14001 --- linux-2.6.18 /drivers/serial/ip3106_uart.c 1969-12-31 16:00:00.000000000 -080014002 +++ linux- 2.6.18.mips/drivers/serial/ip3106_uart.c 2006-09-20 06:55:21.000000000 -070014453 diff -Naur linux-2.6.18.1/drivers/serial/ip3106_uart.c linux-mips-2.6.18.1/drivers/serial/ip3106_uart.c 14454 --- linux-2.6.18.1/drivers/serial/ip3106_uart.c 1969-12-31 16:00:00.000000000 -0800 14455 +++ linux-mips-2.6.18.1/drivers/serial/ip3106_uart.c 2006-10-17 06:23:28.000000000 -0700 14003 14456 @@ -0,0 +1,912 @@ 14004 14457 +/* … … 14914 15367 +MODULE_LICENSE("GPL"); 14915 15368 +MODULE_ALIAS_CHARDEV_MAJOR(SERIAL_IP3106_MAJOR); 14916 diff -Naur linux-2.6.18/drivers/serial/Kconfig linux-2.6.18.mips/drivers/serial/Kconfig 14917 --- linux-2.6.18/drivers/serial/Kconfig 2006-09-19 20:42:06.000000000 -0700 14918 +++ linux-2.6.18.mips/drivers/serial/Kconfig 2006-09-20 06:55:21.000000000 -0700 14919 @@ -651,6 +651,25 @@ 14920 depends on SERIAL_SH_SCI=y 14921 select SERIAL_CORE_CONSOLE 14922 14923 +config SERIAL_IP3106 14924 + bool "Enable IP3106 UART Support (Philips PNX 8xx0 SoCs)" 14925 + depends on MIPS && (SOC_PNX8550 || SOC_PNX8330) 14926 + select SERIAL_CORE 14927 + help 14928 + If you have a Philips SoC with an IP 3106 UART in it, such as 14929 + the PNX8550 or PNX8330 (MIPS based) and you want to use 14930 + serial ports, say Y. Otherwise, say N. 14931 + 14932 +config SERIAL_IP3106_CONSOLE 14933 + bool "Enable PNX8XX0 serial console" 14934 + depends on SERIAL_IP3106 14935 + select SERIAL_CORE_CONSOLE 14936 + help 14937 + If you have a Philips SoC with an IP 3106 UART in it, such as 14938 + the PNX8550 or PNX8330 (MIPS based) and you want to use 14939 + a serial console, say Y. 14940 + Otherwise, say N. 14941 + 14942 config SERIAL_CORE 14943 tristate 14944 14945 diff -Naur linux-2.6.18/drivers/serial/Makefile linux-2.6.18.mips/drivers/serial/Makefile 14946 --- linux-2.6.18/drivers/serial/Makefile 2006-09-19 20:42:06.000000000 -0700 14947 +++ linux-2.6.18.mips/drivers/serial/Makefile 2006-09-20 06:55:21.000000000 -0700 14948 @@ -39,6 +39,7 @@ 14949 obj-$(CONFIG_V850E_UART) += v850e_uart.o 14950 obj-$(CONFIG_SERIAL_PMACZILOG) += pmac_zilog.o 14951 obj-$(CONFIG_SERIAL_LH7A40X) += serial_lh7a40x.o 14952 +obj-$(CONFIG_SERIAL_IP3106) += ip3106_uart.o 14953 obj-$(CONFIG_SERIAL_DZ) += dz.o 14954 obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o 14955 obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o 14956 diff -Naur linux-2.6.18/drivers/usb/gadget/net2280.c linux-2.6.18.mips/drivers/usb/gadget/net2280.c 14957 --- linux-2.6.18/drivers/usb/gadget/net2280.c 2006-09-19 20:42:06.000000000 -0700 14958 +++ linux-2.6.18.mips/drivers/usb/gadget/net2280.c 2006-09-20 06:55:21.000000000 -0700 15369 diff -Naur linux-2.6.18.1/drivers/usb/gadget/net2280.c linux-mips-2.6.18.1/drivers/usb/gadget/net2280.c 15370 --- linux-2.6.18.1/drivers/usb/gadget/net2280.c 2006-10-13 20:34:03.000000000 -0700 15371 +++ linux-mips-2.6.18.1/drivers/usb/gadget/net2280.c 2006-10-17 06:23:28.000000000 -0700 14959 15372 @@ -467,7 +467,8 @@ 14960 15373 #elif defined(CONFIG_PPC) && !defined(CONFIG_NOT_COHERENT_CACHE) … … 14967 15380 14968 15381 /* FIXME there are other cases, including an x86-64 one ... */ 14969 diff -Naur linux-2.6.18 /drivers/usb/host/ohci-hcd.c linux-2.6.18.mips/drivers/usb/host/ohci-hcd.c14970 --- linux-2.6.18 /drivers/usb/host/ohci-hcd.c 2006-09-19 20:42:06.000000000 -070014971 +++ linux- 2.6.18.mips/drivers/usb/host/ohci-hcd.c 2006-09-20 06:55:21.000000000 -070015382 diff -Naur linux-2.6.18.1/drivers/usb/host/ohci-hcd.c linux-mips-2.6.18.1/drivers/usb/host/ohci-hcd.c 15383 --- linux-2.6.18.1/drivers/usb/host/ohci-hcd.c 2006-10-13 20:34:03.000000000 -0700 15384 +++ linux-mips-2.6.18.1/drivers/usb/host/ohci-hcd.c 2006-10-17 06:23:28.000000000 -0700 14972 15385 @@ -909,6 +909,10 @@ 14973 15386 #include "ohci-au1xxx.c" … … 14981 15394 #include "ohci-ppc-soc.c" 14982 15395 #endif 14983 diff -Naur linux-2.6.18 /drivers/usb/host/ohci-pnx8550.c linux-2.6.18.mips/drivers/usb/host/ohci-pnx8550.c14984 --- linux-2.6.18 /drivers/usb/host/ohci-pnx8550.c 1969-12-31 16:00:00.000000000 -080014985 +++ linux- 2.6.18.mips/drivers/usb/host/ohci-pnx8550.c 2006-09-20 06:55:21.000000000 -070015396 diff -Naur linux-2.6.18.1/drivers/usb/host/ohci-pnx8550.c linux-mips-2.6.18.1/drivers/usb/host/ohci-pnx8550.c 15397 --- linux-2.6.18.1/drivers/usb/host/ohci-pnx8550.c 1969-12-31 16:00:00.000000000 -0800 15398 +++ linux-mips-2.6.18.1/drivers/usb/host/ohci-pnx8550.c 2006-10-17 06:23:28.000000000 -0700 14986 15399 @@ -0,0 +1,277 @@ 14987 15400 +/* … … 15262 15675 +module_init (ohci_hcd_pnx8550_init); 15263 15676 +module_exit (ohci_hcd_pnx8550_cleanup); 15264 diff -Naur linux-2.6.18/drivers/video/au1100fb.c linux-2.6.18.mips/drivers/video/au1100fb.c 15265 --- linux-2.6.18/drivers/video/au1100fb.c 2006-09-19 20:42:06.000000000 -0700 15266 +++ linux-2.6.18.mips/drivers/video/au1100fb.c 2006-09-20 06:55:21.000000000 -0700 15267 @@ -40,6 +40,7 @@ 15268 * with this program; if not, write to the Free Software Foundation, Inc., 15269 * 675 Mass Ave, Cambridge, MA 02139, USA. 15270 */ 15271 + 15272 #include <linux/module.h> 15273 #include <linux/kernel.h> 15274 #include <linux/errno.h> 15275 diff -Naur linux-2.6.18/drivers/video/Kconfig linux-2.6.18.mips/drivers/video/Kconfig 15276 --- linux-2.6.18/drivers/video/Kconfig 2006-09-19 20:42:06.000000000 -0700 15277 +++ linux-2.6.18.mips/drivers/video/Kconfig 2006-09-20 06:55:21.000000000 -0700 15677 diff -Naur linux-2.6.18.1/drivers/video/Kconfig linux-mips-2.6.18.1/drivers/video/Kconfig 15678 --- linux-2.6.18.1/drivers/video/Kconfig 2006-10-13 20:34:03.000000000 -0700 15679 +++ linux-mips-2.6.18.1/drivers/video/Kconfig 2006-10-17 06:23:28.000000000 -0700 15278 15680 @@ -1250,6 +1250,17 @@ 15279 15681 Please read the <file:Documentation/fb/README-sstfb.txt> for supported … … 15332 15734 config FB_MAXINE 15333 15735 bool "Maxine (Personal DECstation) onboard framebuffer support" 15334 diff -Naur linux-2.6.18 /drivers/video/Makefile linux-2.6.18.mips/drivers/video/Makefile15335 --- linux-2.6.18 /drivers/video/Makefile 2006-09-19 20:42:06.000000000 -070015336 +++ linux- 2.6.18.mips/drivers/video/Makefile 2006-09-20 06:55:21.000000000 -070015736 diff -Naur linux-2.6.18.1/drivers/video/Makefile linux-mips-2.6.18.1/drivers/video/Makefile 15737 --- linux-2.6.18.1/drivers/video/Makefile 2006-10-13 20:34:03.000000000 -0700 15738 +++ linux-mips-2.6.18.1/drivers/video/Makefile 2006-10-17 06:23:28.000000000 -0700 15337 15739 @@ -95,6 +95,7 @@ 15338 15740 obj-$(CONFIG_FB_TX3912) += tx3912fb.o … … 15343 15745 obj-$(CONFIG_FB_PNX4008_DUM) += pnx4008/ 15344 15746 obj-$(CONFIG_FB_PNX4008_DUM_RGB) += pnx4008/ 15345 diff -Naur linux-2.6.18/drivers/video/smivgxfb.c linux-2.6.18.mips/drivers/video/smivgxfb.c 15346 --- linux-2.6.18/drivers/video/smivgxfb.c 1969-12-31 16:00:00.000000000 -0800 15347 +++ linux-2.6.18.mips/drivers/video/smivgxfb.c 2006-09-20 06:55:21.000000000 -0700 15747 diff -Naur linux-2.6.18.1/drivers/video/au1100fb.c linux-mips-2.6.18.1/drivers/video/au1100fb.c 15748 --- linux-2.6.18.1/drivers/video/au1100fb.c 2006-10-13 20:34:03.000000000 -0700 15749 +++ linux-mips-2.6.18.1/drivers/video/au1100fb.c 2006-10-17 06:23:28.000000000 -0700 15750 @@ -40,6 +40,7 @@ 15751 * with this program; if not, write to the Free Software Foundation, Inc., 15752 * 675 Mass Ave, Cambridge, MA 02139, USA. 15753 */ 15754 + 15755 #include <linux/module.h> 15756 #include <linux/kernel.h> 15757 #include <linux/errno.h> 15758 diff -Naur linux-2.6.18.1/drivers/video/smivgxfb.c linux-mips-2.6.18.1/drivers/video/smivgxfb.c 15759 --- linux-2.6.18.1/drivers/video/smivgxfb.c 1969-12-31 16:00:00.000000000 -0800 15760 +++ linux-mips-2.6.18.1/drivers/video/smivgxfb.c 2006-10-17 06:23:28.000000000 -0700 15348 15761 @@ -0,0 +1,387 @@ 15349 15762 +/*************************************************************************** … … 15734 16147 +MODULE_DESCRIPTION("Framebuffer driver for SMI Voyager"); 15735 16148 +MODULE_LICENSE("GPL"); 15736 diff -Naur linux-2.6.18/include/asm-mips/cacheflush.h linux-2.6.18.mips/include/asm-mips/cacheflush.h 15737 --- linux-2.6.18/include/asm-mips/cacheflush.h 2006-09-19 20:42:06.000000000 -0700 15738 +++ linux-2.6.18.mips/include/asm-mips/cacheflush.h 2006-09-20 06:55:21.000000000 -0700 16149 diff -Naur linux-2.6.18.1/include/asm-mips/Kbuild linux-mips-2.6.18.1/include/asm-mips/Kbuild 16150 --- linux-2.6.18.1/include/asm-mips/Kbuild 2006-10-13 20:34:03.000000000 -0700 16151 +++ linux-mips-2.6.18.1/include/asm-mips/Kbuild 2006-10-17 06:23:28.000000000 -0700 16152 @@ -1 +1,3 @@ 16153 include include/asm-generic/Kbuild.asm 16154 + 16155 +header-y += cachectl.h sgidefs.h sysmips.h 16156 diff -Naur linux-2.6.18.1/include/asm-mips/cacheflush.h linux-mips-2.6.18.1/include/asm-mips/cacheflush.h 16157 --- linux-2.6.18.1/include/asm-mips/cacheflush.h 2006-10-13 20:34:03.000000000 -0700 16158 +++ linux-mips-2.6.18.1/include/asm-mips/cacheflush.h 2006-10-17 06:23:28.000000000 -0700 15739 16159 @@ -21,7 +21,6 @@ 15740 16160 * - flush_cache_range(vma, start, end) flushes a range of pages … … 15795 16215 extern void (*flush_cache_sigtramp)(unsigned long addr); 15796 16216 extern void (*flush_icache_all)(void); 15797 diff -Naur linux-2.6.18 /include/asm-mips/fixmap.h linux-2.6.18.mips/include/asm-mips/fixmap.h15798 --- linux-2.6.18 /include/asm-mips/fixmap.h 2006-09-19 20:42:06.000000000 -070015799 +++ linux- 2.6.18.mips/include/asm-mips/fixmap.h 2006-09-20 06:55:21.000000000 -070016217 diff -Naur linux-2.6.18.1/include/asm-mips/fixmap.h linux-mips-2.6.18.1/include/asm-mips/fixmap.h 16218 --- linux-2.6.18.1/include/asm-mips/fixmap.h 2006-10-13 20:34:03.000000000 -0700 16219 +++ linux-mips-2.6.18.1/include/asm-mips/fixmap.h 2006-10-17 06:23:28.000000000 -0700 15800 16220 @@ -45,8 +45,16 @@ 15801 16221 * fix-mapped? … … 15828 16248 #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT) 15829 16249 #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) 15830 diff -Naur linux-2.6.18/include/asm-mips/io.h linux-2.6.18.mips/include/asm-mips/io.h 15831 --- linux-2.6.18/include/asm-mips/io.h 2006-09-19 20:42:06.000000000 -0700 15832 +++ linux-2.6.18.mips/include/asm-mips/io.h 2006-09-20 06:55:21.000000000 -0700 16250 diff -Naur linux-2.6.18.1/include/asm-mips/fpu.h linux-mips-2.6.18.1/include/asm-mips/fpu.h 16251 --- linux-2.6.18.1/include/asm-mips/fpu.h 2006-10-13 20:34:03.000000000 -0700 16252 +++ linux-mips-2.6.18.1/include/asm-mips/fpu.h 2006-10-17 06:23:28.000000000 -0700 16253 @@ -134,9 +134,11 @@ 16254 16255 static inline fpureg_t *get_fpu_regs(struct task_struct *tsk) 16256 { 16257 - if (cpu_has_fpu) { 16258 - if ((tsk == current) && __is_fpu_owner()) 16259 + if (tsk == current) { 16260 + preempt_disable(); 16261 + if (is_fpu_owner()) 16262 _save_fp(current); 16263 + preempt_enable(); 16264 } 16265 16266 return tsk->thread.fpu.fpr; 16267 diff -Naur linux-2.6.18.1/include/asm-mips/io.h linux-mips-2.6.18.1/include/asm-mips/io.h 16268 --- linux-2.6.18.1/include/asm-mips/io.h 2006-10-13 20:34:03.000000000 -0700 16269 +++ linux-mips-2.6.18.1/include/asm-mips/io.h 2006-10-17 06:23:28.000000000 -0700 15833 16270 @@ -518,34 +518,6 @@ 15834 16271 } … … 15866 16303 * to explicitly ioremap() it. The fact that the ISA IO space is mapped 15867 16304 * to PAGE_OFFSET is pure coincidence - it does not mean ISA values 15868 diff -Naur linux-2.6.18 /include/asm-mips/irq.h linux-2.6.18.mips/include/asm-mips/irq.h15869 --- linux-2.6.18 /include/asm-mips/irq.h 2006-09-19 20:42:06.000000000 -070015870 +++ linux- 2.6.18.mips/include/asm-mips/irq.h 2006-09-20 06:55:21.000000000 -070016305 diff -Naur linux-2.6.18.1/include/asm-mips/irq.h linux-mips-2.6.18.1/include/asm-mips/irq.h 16306 --- linux-2.6.18.1/include/asm-mips/irq.h 2006-10-13 20:34:03.000000000 -0700 16307 +++ linux-mips-2.6.18.1/include/asm-mips/irq.h 2006-10-17 06:23:28.000000000 -0700 15871 16308 @@ -76,8 +76,4 @@ 15872 16309 unsigned long hwmask); … … 15878 16315 - 15879 16316 #endif /* _ASM_IRQ_H */ 15880 diff -Naur linux-2.6.18/include/asm-mips/Kbuild linux-2.6.18.mips/include/asm-mips/Kbuild 15881 --- linux-2.6.18/include/asm-mips/Kbuild 2006-09-19 20:42:06.000000000 -0700 15882 +++ linux-2.6.18.mips/include/asm-mips/Kbuild 2006-09-20 06:55:21.000000000 -0700 15883 @@ -1 +1,3 @@ 15884 include include/asm-generic/Kbuild.asm 15885 + 15886 +header-y += sgidefs.h 15887 diff -Naur linux-2.6.18/include/asm-mips/mach-atlas/mc146818rtc.h linux-2.6.18.mips/include/asm-mips/mach-atlas/mc146818rtc.h 15888 --- linux-2.6.18/include/asm-mips/mach-atlas/mc146818rtc.h 2006-09-19 20:42:06.000000000 -0700 15889 +++ linux-2.6.18.mips/include/asm-mips/mach-atlas/mc146818rtc.h 2006-09-20 06:55:21.000000000 -0700 16317 diff -Naur linux-2.6.18.1/include/asm-mips/mach-atlas/mc146818rtc.h linux-mips-2.6.18.1/include/asm-mips/mach-atlas/mc146818rtc.h 16318 --- linux-2.6.18.1/include/asm-mips/mach-atlas/mc146818rtc.h 2006-10-13 20:34:03.000000000 -0700 16319 +++ linux-mips-2.6.18.1/include/asm-mips/mach-atlas/mc146818rtc.h 2006-10-17 06:23:28.000000000 -0700 15890 16320 @@ -28,10 +28,12 @@ 15891 16321 #include <asm/mips-boards/atlas.h> … … 15902 16332 static inline unsigned char CMOS_READ(unsigned long addr) 15903 16333 { 15904 diff -Naur linux-2.6.18 /include/asm-mips/mach-au1x00/au1xxx_ide.h linux-2.6.18.mips/include/asm-mips/mach-au1x00/au1xxx_ide.h15905 --- linux-2.6.18 /include/asm-mips/mach-au1x00/au1xxx_ide.h 2006-09-19 20:42:06.000000000 -070015906 +++ linux- 2.6.18.mips/include/asm-mips/mach-au1x00/au1xxx_ide.h 2006-09-20 06:55:21.000000000 -070016334 diff -Naur linux-2.6.18.1/include/asm-mips/mach-au1x00/au1xxx_ide.h linux-mips-2.6.18.1/include/asm-mips/mach-au1x00/au1xxx_ide.h 16335 --- linux-2.6.18.1/include/asm-mips/mach-au1x00/au1xxx_ide.h 2006-10-13 20:34:03.000000000 -0700 16336 +++ linux-mips-2.6.18.1/include/asm-mips/mach-au1x00/au1xxx_ide.h 2006-10-17 06:23:28.000000000 -0700 15907 16337 @@ -83,6 +83,7 @@ 15908 16338 } _auide_hwif; … … 15913 16343 static const struct drive_list_entry dma_white_list [] = { 15914 16344 /* 15915 diff -Naur linux-2.6.18 /include/asm-mips/mips-boards/atlasint.h linux-2.6.18.mips/include/asm-mips/mips-boards/atlasint.h15916 --- linux-2.6.18 /include/asm-mips/mips-boards/atlasint.h 2006-09-19 20:42:06.000000000 -070015917 +++ linux- 2.6.18.mips/include/asm-mips/mips-boards/atlasint.h 2006-09-20 06:55:21.000000000 -070016345 diff -Naur linux-2.6.18.1/include/asm-mips/mips-boards/atlasint.h linux-mips-2.6.18.1/include/asm-mips/mips-boards/atlasint.h 16346 --- linux-2.6.18.1/include/asm-mips/mips-boards/atlasint.h 2006-10-13 20:34:03.000000000 -0700 16347 +++ linux-mips-2.6.18.1/include/asm-mips/mips-boards/atlasint.h 2006-10-17 06:23:28.000000000 -0700 15918 16348 @@ -1,6 +1,7 @@ 15919 16349 /* … … 16051 16481 16052 16482 #endif /* !(_MIPS_ATLASINT_H) */ 16053 diff -Naur linux-2.6.18 /include/asm-mips/page.h linux-2.6.18.mips/include/asm-mips/page.h16054 --- linux-2.6.18 /include/asm-mips/page.h 2006-09-19 20:42:06.000000000 -070016055 +++ linux- 2.6.18.mips/include/asm-mips/page.h 2006-09-20 06:55:21.000000000 -070016483 diff -Naur linux-2.6.18.1/include/asm-mips/page.h linux-mips-2.6.18.1/include/asm-mips/page.h 16484 --- linux-2.6.18.1/include/asm-mips/page.h 2006-10-13 20:34:03.000000000 -0700 16485 +++ linux-mips-2.6.18.1/include/asm-mips/page.h 2006-10-17 06:23:28.000000000 -0700 16056 16486 @@ -53,19 +53,17 @@ 16057 16487 extern void (*flush_data_cache_page)(unsigned long addr); … … 16100 16530 /* 16101 16531 * For 3-level pagetables we defines these ourselves, for 2-level the 16102 diff -Naur linux-2.6.18 /include/asm-mips/ptrace.h linux-2.6.18.mips/include/asm-mips/ptrace.h16103 --- linux-2.6.18 /include/asm-mips/ptrace.h 2006-09-19 20:42:06.000000000 -070016104 +++ linux- 2.6.18.mips/include/asm-mips/ptrace.h 2006-09-20 06:55:21.000000000 -070016532 diff -Naur linux-2.6.18.1/include/asm-mips/ptrace.h linux-mips-2.6.18.1/include/asm-mips/ptrace.h 16533 --- linux-2.6.18.1/include/asm-mips/ptrace.h 2006-10-13 20:34:03.000000000 -0700 16534 +++ linux-mips-2.6.18.1/include/asm-mips/ptrace.h 2006-10-17 06:23:28.000000000 -0700 16105 16535 @@ -10,8 +10,6 @@ 16106 16536 #define _ASM_PTRACE_H … … 16120 16550 /* 16121 16551 * Does the process account for user or for system time? 16122 diff -Naur linux-2.6.18 /include/asm-mips/spinlock.h linux-2.6.18.mips/include/asm-mips/spinlock.h16123 --- linux-2.6.18 /include/asm-mips/spinlock.h 2006-09-19 20:42:06.000000000 -070016124 +++ linux- 2.6.18.mips/include/asm-mips/spinlock.h 2006-09-20 06:55:21.000000000 -070016552 diff -Naur linux-2.6.18.1/include/asm-mips/spinlock.h linux-mips-2.6.18.1/include/asm-mips/spinlock.h 16553 --- linux-2.6.18.1/include/asm-mips/spinlock.h 2006-10-13 20:34:03.000000000 -0700 16554 +++ linux-mips-2.6.18.1/include/asm-mips/spinlock.h 2006-10-17 06:23:28.000000000 -0700 16125 16555 @@ -239,7 +239,51 @@ 16126 16556 : "memory"); … … 16182 16612 + 16183 16613 #endif /* _ASM_SPINLOCK_H */ 16184 diff -Naur linux-2.6.18/include/asm-mips/timex.h linux-2.6.18.mips/include/asm-mips/timex.h 16185 --- linux-2.6.18/include/asm-mips/timex.h 2006-09-19 20:42:06.000000000 -0700 16186 +++ linux-2.6.18.mips/include/asm-mips/timex.h 2006-09-20 06:55:21.000000000 -0700 16614 diff -Naur linux-2.6.18.1/include/asm-mips/system.h linux-mips-2.6.18.1/include/asm-mips/system.h 16615 --- linux-2.6.18.1/include/asm-mips/system.h 2006-10-13 20:34:03.000000000 -0700 16616 +++ linux-mips-2.6.18.1/include/asm-mips/system.h 2006-10-17 06:23:28.000000000 -0700 16617 @@ -392,7 +392,7 @@ 16618 { 16619 __u64 retval; 16620 16621 - if (cpu_has_llsc) { 16622 + if (cpu_has_llsc && R10000_LLSC_WAR) { 16623 __asm__ __volatile__( 16624 " .set push \n" 16625 " .set noat \n" 16626 diff -Naur linux-2.6.18.1/include/asm-mips/timex.h linux-mips-2.6.18.1/include/asm-mips/timex.h 16627 --- linux-2.6.18.1/include/asm-mips/timex.h 2006-10-13 20:34:03.000000000 -0700 16628 +++ linux-mips-2.6.18.1/include/asm-mips/timex.h 2006-10-17 06:23:28.000000000 -0700 16187 16629 @@ -8,6 +8,8 @@ 16188 16630 #ifndef _ASM_TIMEX_H … … 16201 16643 + 16202 16644 #endif /* _ASM_TIMEX_H */ 16203 diff -Naur linux-2.6.18/include/asm-mips/unistd.h linux-2.6.18.mips/include/asm-mips/unistd.h 16204 --- linux-2.6.18/include/asm-mips/unistd.h 2006-09-19 20:42:06.000000000 -0700 16205 +++ linux-2.6.18.mips/include/asm-mips/unistd.h 2006-09-20 06:55:21.000000000 -0700 16645 diff -Naur linux-2.6.18.1/include/asm-mips/unistd.h linux-mips-2.6.18.1/include/asm-mips/unistd.h 16646 --- linux-2.6.18.1/include/asm-mips/unistd.h 2006-10-13 20:34:03.000000000 -0700 16647 +++ linux-mips-2.6.18.1/include/asm-mips/unistd.h 2006-10-17 06:23:28.000000000 -0700 16648 @@ -313,7 +313,7 @@ 16649 #define __NR_mknodat (__NR_Linux + 290) 16650 #define __NR_fchownat (__NR_Linux + 291) 16651 #define __NR_futimesat (__NR_Linux + 292) 16652 -#define __NR_fstatat (__NR_Linux + 293) 16653 +#define __NR_fstatat64 (__NR_Linux + 293) 16654 #define __NR_unlinkat (__NR_Linux + 294) 16655 #define __NR_renameat (__NR_Linux + 295) 16656 #define __NR_linkat (__NR_Linux + 296) 16206 16657 @@ -329,16 +329,18 @@ 16207 16658 #define __NR_tee (__NR_Linux + 306) … … 16225 16676 #if _MIPS_SIM == _MIPS_SIM_ABI64 16226 16677 16678 @@ -598,7 +600,7 @@ 16679 #define __NR_mknodat (__NR_Linux + 249) 16680 #define __NR_fchownat (__NR_Linux + 250) 16681 #define __NR_futimesat (__NR_Linux + 251) 16682 -#define __NR_fstatat (__NR_Linux + 252) 16683 +#define __NR_newfstatat (__NR_Linux + 252) 16684 #define __NR_unlinkat (__NR_Linux + 253) 16685 #define __NR_renameat (__NR_Linux + 254) 16686 #define __NR_linkat (__NR_Linux + 255) 16227 16687 @@ -614,16 +616,18 @@ 16228 16688 #define __NR_tee (__NR_Linux + 265) … … 16246 16706 #if _MIPS_SIM == _MIPS_SIM_NABI32 16247 16707 16708 @@ -887,7 +891,7 @@ 16709 #define __NR_mknodat (__NR_Linux + 253) 16710 #define __NR_fchownat (__NR_Linux + 254) 16711 #define __NR_futimesat (__NR_Linux + 255) 16712 -#define __NR_fstatat (__NR_Linux + 256) 16713 +#define __NR_newfstatat (__NR_Linux + 256) 16714 #define __NR_unlinkat (__NR_Linux + 257) 16715 #define __NR_renameat (__NR_Linux + 258) 16716 #define __NR_linkat (__NR_Linux + 259) 16248 16717 @@ -903,16 +907,18 @@ 16249 16718 #define __NR_tee (__NR_Linux + 269) … … 16267 16736 #ifdef __KERNEL__ 16268 16737 16269 diff -Naur linux-2.6.18 /include/asm-mips/user.h linux-2.6.18.mips/include/asm-mips/user.h16270 --- linux-2.6.18 /include/asm-mips/user.h 2006-09-19 20:42:06.000000000 -070016271 +++ linux- 2.6.18.mips/include/asm-mips/user.h 2006-09-20 06:55:21.000000000 -070016738 diff -Naur linux-2.6.18.1/include/asm-mips/user.h linux-mips-2.6.18.1/include/asm-mips/user.h 16739 --- linux-2.6.18.1/include/asm-mips/user.h 2006-10-13 20:34:03.000000000 -0700 16740 +++ linux-mips-2.6.18.1/include/asm-mips/user.h 2006-10-17 06:23:28.000000000 -0700 16272 16741 @@ -8,6 +8,8 @@ 16273 16742 #ifndef _ASM_USER_H … … 16286 16755 + 16287 16756 #endif /* _ASM_USER_H */ 16288 diff -Naur linux-2.6.18 /include/linux/highmem.h linux-2.6.18.mips/include/linux/highmem.h16289 --- linux-2.6.18 /include/linux/highmem.h 2006-09-19 20:42:06.000000000 -070016290 +++ linux- 2.6.18.mips/include/linux/highmem.h 2006-09-20 06:55:21.000000000 -070016757 diff -Naur linux-2.6.18.1/include/linux/highmem.h linux-mips-2.6.18.1/include/linux/highmem.h 16758 --- linux-2.6.18.1/include/linux/highmem.h 2006-10-13 20:34:03.000000000 -0700 16759 +++ linux-mips-2.6.18.1/include/linux/highmem.h 2006-10-17 06:23:28.000000000 -0700 16291 16760 @@ -89,7 +89,10 @@ 16292 16761 kunmap_atomic(kaddr, KM_USER0); … … 16310 16779 { 16311 16780 char *vfrom, *vto; 16312 diff -Naur linux-2.6.18 /include/linux/pci_ids.h linux-2.6.18.mips/include/linux/pci_ids.h16313 --- linux-2.6.18 /include/linux/pci_ids.h 2006-09-19 20:42:06.000000000 -070016314 +++ linux- 2.6.18.mips/include/linux/pci_ids.h 2006-09-20 06:55:21.000000000 -070016781 diff -Naur linux-2.6.18.1/include/linux/pci_ids.h linux-mips-2.6.18.1/include/linux/pci_ids.h 16782 --- linux-2.6.18.1/include/linux/pci_ids.h 2006-10-13 20:34:03.000000000 -0700 16783 +++ linux-mips-2.6.18.1/include/linux/pci_ids.h 2006-10-17 06:23:28.000000000 -0700 16315 16784 @@ -1603,6 +1603,9 @@ 16316 16785 #define PCI_VENDOR_ID_SATSAGEM 0x1267 … … 16323 16792 #define PCI_VENDOR_ID_ENSONIQ 0x1274 16324 16793 #define PCI_DEVICE_ID_ENSONIQ_CT5880 0x5880 16325 diff -Naur linux-2.6.18 /include/linux/serial.h linux-2.6.18.mips/include/linux/serial.h16326 --- linux-2.6.18 /include/linux/serial.h 2006-09-19 20:42:06.000000000 -070016327 +++ linux- 2.6.18.mips/include/linux/serial.h 2006-09-20 06:55:21.000000000 -070016794 diff -Naur linux-2.6.18.1/include/linux/serial.h linux-mips-2.6.18.1/include/linux/serial.h 16795 --- linux-2.6.18.1/include/linux/serial.h 2006-10-13 20:34:03.000000000 -0700 16796 +++ linux-mips-2.6.18.1/include/linux/serial.h 2006-10-17 06:23:28.000000000 -0700 16328 16797 @@ -76,7 +76,8 @@ 16329 16798 #define PORT_16654 11 … … 16336 16805 #define SERIAL_IO_PORT 0 16337 16806 #define SERIAL_IO_HUB6 1 16338 diff -Naur linux-2.6.18 /include/linux/serial_ip3106.h linux-2.6.18.mips/include/linux/serial_ip3106.h16339 --- linux-2.6.18 /include/linux/serial_ip3106.h 2006-09-19 20:42:06.000000000 -070016340 +++ linux- 2.6.18.mips/include/linux/serial_ip3106.h 2006-09-20 06:55:21.000000000 -070016807 diff -Naur linux-2.6.18.1/include/linux/serial_ip3106.h linux-mips-2.6.18.1/include/linux/serial_ip3106.h 16808 --- linux-2.6.18.1/include/linux/serial_ip3106.h 2006-10-13 20:34:03.000000000 -0700 16809 +++ linux-mips-2.6.18.1/include/linux/serial_ip3106.h 2006-10-17 06:23:28.000000000 -0700 16341 16810 @@ -78,4 +78,16 @@ 16342 16811 #define IP3106_UART_FIFO_RXFIFO 0x00001F00 … … 16356 16825 + 16357 16826 #endif 16358 diff -Naur linux-2.6.18 /mm/memory.c linux-2.6.18.mips/mm/memory.c16359 --- linux-2.6.18 /mm/memory.c 2006-09-19 20:42:06.000000000 -070016360 +++ linux- 2.6.18.mips/mm/memory.c 2006-09-20 06:55:21.000000000 -070016827 diff -Naur linux-2.6.18.1/mm/memory.c linux-mips-2.6.18.1/mm/memory.c 16828 --- linux-2.6.18.1/mm/memory.c 2006-10-13 20:34:03.000000000 -0700 16829 +++ linux-mips-2.6.18.1/mm/memory.c 2006-10-17 06:23:28.000000000 -0700 16361 16830 @@ -1407,7 +1407,7 @@ 16362 16831 return pte; … … 16398 16867 new_page = page; 16399 16868 anon = 1; 16400 diff -Naur linux-2.6.18/sound/oss/au1550_i2s.c linux-2.6.18.mips/sound/oss/au1550_i2s.c 16401 --- linux-2.6.18/sound/oss/au1550_i2s.c 1969-12-31 16:00:00.000000000 -0800 16402 +++ linux-2.6.18.mips/sound/oss/au1550_i2s.c 2006-09-20 06:55:21.000000000 -0700 16869 diff -Naur linux-2.6.18.1/sound/oss/Kconfig linux-mips-2.6.18.1/sound/oss/Kconfig 16870 --- linux-2.6.18.1/sound/oss/Kconfig 2006-10-13 20:34:03.000000000 -0700 16871 +++ linux-mips-2.6.18.1/sound/oss/Kconfig 2006-10-17 06:23:28.000000000 -0700 16872 @@ -132,6 +132,13 @@ 16873 select SND_AC97_CODEC 16874 depends on SOUND_PRIME && (SOC_AU1550 || SOC_AU1200) 16875 16876 +config SOUND_AU1550_I2S 16877 + tristate "Au1550 I2S Sound" 16878 + depends on SOUND_PRIME && SOC_AU1550 16879 + # Weird I2S driver needs I2C driver to talk to the codec... 16880 + select I2C 16881 + select I2C_AU1550 16882 + 16883 config SOUND_TRIDENT 16884 tristate "Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core" 16885 depends on SOUND_PRIME && PCI 16886 diff -Naur linux-2.6.18.1/sound/oss/Makefile linux-mips-2.6.18.1/sound/oss/Makefile 16887 --- linux-2.6.18.1/sound/oss/Makefile 2006-10-13 20:34:03.000000000 -0700 16888 +++ linux-mips-2.6.18.1/sound/oss/Makefile 2006-10-17 06:23:28.000000000 -0700 16889 @@ -66,6 +66,7 @@ 16890 obj-$(CONFIG_SOUND_VRC5477) += nec_vrc5477.o ac97_codec.o 16891 obj-$(CONFIG_SOUND_AU1000) += au1000.o ac97_codec.o 16892 obj-$(CONFIG_SOUND_AU1550_AC97) += au1550_ac97.o ac97_codec.o 16893 +obj-$(CONFIG_SOUND_AU1550_I2S) += au1550_i2s.o 16894 obj-$(CONFIG_SOUND_ESSSOLO1) += esssolo1.o 16895 obj-$(CONFIG_SOUND_FUSION) += cs46xx.o ac97_codec.o 16896 obj-$(CONFIG_SOUND_MAESTRO) += maestro.o 16897 diff -Naur linux-2.6.18.1/sound/oss/au1550_i2s.c linux-mips-2.6.18.1/sound/oss/au1550_i2s.c 16898 --- linux-2.6.18.1/sound/oss/au1550_i2s.c 1969-12-31 16:00:00.000000000 -0800 16899 +++ linux-mips-2.6.18.1/sound/oss/au1550_i2s.c 2006-10-17 06:23:28.000000000 -0700 16403 16900 @@ -0,0 +1,2029 @@ 16404 16901 +/* … … 18431 18928 +MODULE_AUTHOR("Advanced Micro Devices (AMD), dan@embeddededge.com"); 18432 18929 +MODULE_DESCRIPTION("Au1550 I2S Audio Driver"); 18433 diff -Naur linux-2.6.18/sound/oss/Kconfig linux-2.6.18.mips/sound/oss/Kconfig18434 --- linux-2.6.18/sound/oss/Kconfig 2006-09-19 20:42:06.000000000 -070018435 +++ linux-2.6.18.mips/sound/oss/Kconfig 2006-09-20 06:55:21.000000000 -070018436 @@ -132,6 +132,10 @@18437 select SND_AC97_CODEC18438 depends on SOUND_PRIME && (SOC_AU1550 || SOC_AU1200)18439 18440 +config SOUND_AU1550_I2S18441 + tristate "Au1550 I2S Sound"18442 + depends on SOUND_PRIME && SOC_AU155018443 +18444 config SOUND_TRIDENT18445 tristate "Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core"18446 depends on SOUND_PRIME && PCI18447 diff -Naur linux-2.6.18/sound/oss/Makefile linux-2.6.18.mips/sound/oss/Makefile18448 --- linux-2.6.18/sound/oss/Makefile 2006-09-19 20:42:06.000000000 -070018449 +++ linux-2.6.18.mips/sound/oss/Makefile 2006-09-20 06:55:21.000000000 -070018450 @@ -66,6 +66,7 @@18451 obj-$(CONFIG_SOUND_VRC5477) += nec_vrc5477.o ac97_codec.o18452 obj-$(CONFIG_SOUND_AU1000) += au1000.o ac97_codec.o18453 obj-$(CONFIG_SOUND_AU1550_AC97) += au1550_ac97.o ac97_codec.o18454 +obj-$(CONFIG_SOUND_AU1550_I2S) += au1550_i2s.o18455 obj-$(CONFIG_SOUND_ESSSOLO1) += esssolo1.o18456 obj-$(CONFIG_SOUND_FUSION) += cs46xx.o ac97_codec.o18457 obj-$(CONFIG_SOUND_MAESTRO) += maestro.o
Note:
See TracChangeset
for help on using the changeset viewer.