diff options
Diffstat (limited to 'arch')
391 files changed, 11770 insertions, 7066 deletions
diff --git a/arch/alpha/lib/strncpy.S b/arch/alpha/lib/strncpy.S index 338551c7113c..bbdef1be5f95 100644 --- a/arch/alpha/lib/strncpy.S +++ b/arch/alpha/lib/strncpy.S | |||
@@ -43,8 +43,8 @@ strncpy: | |||
43 | 43 | ||
44 | .align 4 | 44 | .align 4 |
45 | $multiword: | 45 | $multiword: |
46 | subq $24, 1, $2 # clear the final bits in the prev word | 46 | subq $27, 1, $2 # clear the final bits in the prev word |
47 | or $2, $24, $2 | 47 | or $2, $27, $2 |
48 | zapnot $1, $2, $1 | 48 | zapnot $1, $2, $1 |
49 | subq $18, 1, $18 | 49 | subq $18, 1, $18 |
50 | 50 | ||
@@ -70,8 +70,8 @@ $multiword: | |||
70 | bne $18, 0b | 70 | bne $18, 0b |
71 | 71 | ||
72 | 1: ldq_u $1, 0($16) # clear the leading bits in the final word | 72 | 1: ldq_u $1, 0($16) # clear the leading bits in the final word |
73 | subq $27, 1, $2 | 73 | subq $24, 1, $2 |
74 | or $2, $27, $2 | 74 | or $2, $24, $2 |
75 | 75 | ||
76 | zap $1, $2, $1 | 76 | zap $1, $2, $1 |
77 | stq_u $1, 0($16) | 77 | stq_u $1, 0($16) |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 95a96275f88a..6f8e84c1c1f2 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -66,7 +66,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) - | |||
66 | tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) | 66 | tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) |
67 | 67 | ||
68 | ifeq ($(CONFIG_AEABI),y) | 68 | ifeq ($(CONFIG_AEABI),y) |
69 | CFLAGS_ABI :=-mabi=aapcs -mno-thumb-interwork | 69 | CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork |
70 | else | 70 | else |
71 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) | 71 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) |
72 | endif | 72 | endif |
diff --git a/arch/arm/common/scoop.c b/arch/arm/common/scoop.c index 5e830f444c6c..314ebd3a1d71 100644 --- a/arch/arm/common/scoop.c +++ b/arch/arm/common/scoop.c | |||
@@ -18,6 +18,18 @@ | |||
18 | #include <asm/io.h> | 18 | #include <asm/io.h> |
19 | #include <asm/hardware/scoop.h> | 19 | #include <asm/hardware/scoop.h> |
20 | 20 | ||
21 | /* PCMCIA to Scoop linkage | ||
22 | |||
23 | There is no easy way to link multiple scoop devices into one | ||
24 | single entity for the pxa2xx_pcmcia device so this structure | ||
25 | is used which is setup by the platform code. | ||
26 | |||
27 | This file is never modular so this symbol is always | ||
28 | accessile to the board support files. | ||
29 | */ | ||
30 | struct scoop_pcmcia_config *platform_scoop_config; | ||
31 | EXPORT_SYMBOL(platform_scoop_config); | ||
32 | |||
21 | #define SCOOP_REG(d,adr) (*(volatile unsigned short*)(d +(adr))) | 33 | #define SCOOP_REG(d,adr) (*(volatile unsigned short*)(d +(adr))) |
22 | 34 | ||
23 | struct scoop_dev { | 35 | struct scoop_dev { |
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig index 8dcc8e8ec813..b69e88bbc909 100644 --- a/arch/arm/configs/ep93xx_defconfig +++ b/arch/arm/configs/ep93xx_defconfig | |||
@@ -1,12 +1,14 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Mon Mar 20 14:54:51 2006 | 4 | # Wed Apr 19 21:21:01 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | ||
10 | 12 | ||
11 | # | 13 | # |
12 | # Code maturity level options | 14 | # Code maturity level options |
@@ -28,6 +30,7 @@ CONFIG_SYSCTL=y | |||
28 | # CONFIG_AUDIT is not set | 30 | # CONFIG_AUDIT is not set |
29 | CONFIG_IKCONFIG=y | 31 | CONFIG_IKCONFIG=y |
30 | CONFIG_IKCONFIG_PROC=y | 32 | CONFIG_IKCONFIG_PROC=y |
33 | # CONFIG_RELAY is not set | ||
31 | CONFIG_INITRAMFS_SOURCE="" | 34 | CONFIG_INITRAMFS_SOURCE="" |
32 | CONFIG_UID16=y | 35 | CONFIG_UID16=y |
33 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 36 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
@@ -43,10 +46,6 @@ CONFIG_BASE_FULL=y | |||
43 | CONFIG_FUTEX=y | 46 | CONFIG_FUTEX=y |
44 | CONFIG_EPOLL=y | 47 | CONFIG_EPOLL=y |
45 | CONFIG_SHMEM=y | 48 | CONFIG_SHMEM=y |
46 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
47 | CONFIG_CC_ALIGN_LABELS=0 | ||
48 | CONFIG_CC_ALIGN_LOOPS=0 | ||
49 | CONFIG_CC_ALIGN_JUMPS=0 | ||
50 | CONFIG_SLAB=y | 49 | CONFIG_SLAB=y |
51 | # CONFIG_TINY_SHMEM is not set | 50 | # CONFIG_TINY_SHMEM is not set |
52 | CONFIG_BASE_SMALL=0 | 51 | CONFIG_BASE_SMALL=0 |
@@ -59,7 +58,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
59 | CONFIG_MODULES=y | 58 | CONFIG_MODULES=y |
60 | CONFIG_MODULE_UNLOAD=y | 59 | CONFIG_MODULE_UNLOAD=y |
61 | CONFIG_MODULE_FORCE_UNLOAD=y | 60 | CONFIG_MODULE_FORCE_UNLOAD=y |
62 | CONFIG_OBSOLETE_MODPARM=y | ||
63 | # CONFIG_MODVERSIONS is not set | 61 | # CONFIG_MODVERSIONS is not set |
64 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 62 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
65 | CONFIG_KMOD=y | 63 | CONFIG_KMOD=y |
@@ -67,6 +65,7 @@ CONFIG_KMOD=y | |||
67 | # | 65 | # |
68 | # Block layer | 66 | # Block layer |
69 | # | 67 | # |
68 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
70 | 69 | ||
71 | # | 70 | # |
72 | # IO Schedulers | 71 | # IO Schedulers |
@@ -94,6 +93,7 @@ CONFIG_ARCH_EP93XX=y | |||
94 | # CONFIG_ARCH_IOP3XX is not set | 93 | # CONFIG_ARCH_IOP3XX is not set |
95 | # CONFIG_ARCH_IXP4XX is not set | 94 | # CONFIG_ARCH_IXP4XX is not set |
96 | # CONFIG_ARCH_IXP2000 is not set | 95 | # CONFIG_ARCH_IXP2000 is not set |
96 | # CONFIG_ARCH_IXP23XX is not set | ||
97 | # CONFIG_ARCH_L7200 is not set | 97 | # CONFIG_ARCH_L7200 is not set |
98 | # CONFIG_ARCH_PXA is not set | 98 | # CONFIG_ARCH_PXA is not set |
99 | # CONFIG_ARCH_RPC is not set | 99 | # CONFIG_ARCH_RPC is not set |
@@ -112,7 +112,6 @@ CONFIG_ARCH_EP93XX=y | |||
112 | # | 112 | # |
113 | # Cirrus EP93xx Implementation Options | 113 | # Cirrus EP93xx Implementation Options |
114 | # | 114 | # |
115 | CONFIG_CRUNCH=y | ||
116 | 115 | ||
117 | # | 116 | # |
118 | # EP93xx Platforms | 117 | # EP93xx Platforms |
@@ -232,12 +231,15 @@ CONFIG_SYN_COOKIES=y | |||
232 | # CONFIG_INET_AH is not set | 231 | # CONFIG_INET_AH is not set |
233 | # CONFIG_INET_ESP is not set | 232 | # CONFIG_INET_ESP is not set |
234 | # CONFIG_INET_IPCOMP is not set | 233 | # CONFIG_INET_IPCOMP is not set |
234 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
235 | # CONFIG_INET_TUNNEL is not set | 235 | # CONFIG_INET_TUNNEL is not set |
236 | CONFIG_INET_DIAG=y | 236 | CONFIG_INET_DIAG=y |
237 | CONFIG_INET_TCP_DIAG=y | 237 | CONFIG_INET_TCP_DIAG=y |
238 | # CONFIG_TCP_CONG_ADVANCED is not set | 238 | # CONFIG_TCP_CONG_ADVANCED is not set |
239 | CONFIG_TCP_CONG_BIC=y | 239 | CONFIG_TCP_CONG_BIC=y |
240 | # CONFIG_IPV6 is not set | 240 | # CONFIG_IPV6 is not set |
241 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
242 | # CONFIG_INET6_TUNNEL is not set | ||
241 | # CONFIG_NETFILTER is not set | 243 | # CONFIG_NETFILTER is not set |
242 | 244 | ||
243 | # | 245 | # |
@@ -346,7 +348,6 @@ CONFIG_MTD_CFI_I2=y | |||
346 | # CONFIG_MTD_OTP is not set | 348 | # CONFIG_MTD_OTP is not set |
347 | CONFIG_MTD_CFI_INTELEXT=y | 349 | CONFIG_MTD_CFI_INTELEXT=y |
348 | CONFIG_MTD_CFI_AMDSTD=y | 350 | CONFIG_MTD_CFI_AMDSTD=y |
349 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
350 | CONFIG_MTD_CFI_STAA=y | 351 | CONFIG_MTD_CFI_STAA=y |
351 | CONFIG_MTD_CFI_UTIL=y | 352 | CONFIG_MTD_CFI_UTIL=y |
352 | # CONFIG_MTD_RAM is not set | 353 | # CONFIG_MTD_RAM is not set |
@@ -371,7 +372,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | |||
371 | # CONFIG_MTD_SLRAM is not set | 372 | # CONFIG_MTD_SLRAM is not set |
372 | # CONFIG_MTD_PHRAM is not set | 373 | # CONFIG_MTD_PHRAM is not set |
373 | # CONFIG_MTD_MTDRAM is not set | 374 | # CONFIG_MTD_MTDRAM is not set |
374 | # CONFIG_MTD_BLKMTD is not set | ||
375 | # CONFIG_MTD_BLOCK2MTD is not set | 375 | # CONFIG_MTD_BLOCK2MTD is not set |
376 | 376 | ||
377 | # | 377 | # |
@@ -412,7 +412,7 @@ CONFIG_MTD_NAND_IDS=y | |||
412 | # CONFIG_BLK_DEV_NBD is not set | 412 | # CONFIG_BLK_DEV_NBD is not set |
413 | # CONFIG_BLK_DEV_UB is not set | 413 | # CONFIG_BLK_DEV_UB is not set |
414 | # CONFIG_BLK_DEV_RAM is not set | 414 | # CONFIG_BLK_DEV_RAM is not set |
415 | CONFIG_BLK_DEV_RAM_COUNT=16 | 415 | # CONFIG_BLK_DEV_INITRD is not set |
416 | # CONFIG_CDROM_PKTCDVD is not set | 416 | # CONFIG_CDROM_PKTCDVD is not set |
417 | # CONFIG_ATA_OVER_ETH is not set | 417 | # CONFIG_ATA_OVER_ETH is not set |
418 | 418 | ||
@@ -576,13 +576,13 @@ CONFIG_WATCHDOG=y | |||
576 | # Watchdog Device Drivers | 576 | # Watchdog Device Drivers |
577 | # | 577 | # |
578 | # CONFIG_SOFT_WATCHDOG is not set | 578 | # CONFIG_SOFT_WATCHDOG is not set |
579 | CONFIG_EP93XX_WATCHDOG=y | ||
579 | 580 | ||
580 | # | 581 | # |
581 | # USB-based Watchdog Cards | 582 | # USB-based Watchdog Cards |
582 | # | 583 | # |
583 | # CONFIG_USBPCWATCHDOG is not set | 584 | # CONFIG_USBPCWATCHDOG is not set |
584 | # CONFIG_NVRAM is not set | 585 | # CONFIG_NVRAM is not set |
585 | # CONFIG_RTC is not set | ||
586 | # CONFIG_DTLK is not set | 586 | # CONFIG_DTLK is not set |
587 | # CONFIG_R3964 is not set | 587 | # CONFIG_R3964 is not set |
588 | 588 | ||
@@ -626,9 +626,7 @@ CONFIG_I2C_ALGOBIT=y | |||
626 | # CONFIG_SENSORS_PCF8574 is not set | 626 | # CONFIG_SENSORS_PCF8574 is not set |
627 | # CONFIG_SENSORS_PCA9539 is not set | 627 | # CONFIG_SENSORS_PCA9539 is not set |
628 | # CONFIG_SENSORS_PCF8591 is not set | 628 | # CONFIG_SENSORS_PCF8591 is not set |
629 | # CONFIG_SENSORS_RTC8564 is not set | ||
630 | # CONFIG_SENSORS_MAX6875 is not set | 629 | # CONFIG_SENSORS_MAX6875 is not set |
631 | # CONFIG_RTC_X1205_I2C is not set | ||
632 | CONFIG_I2C_DEBUG_CORE=y | 630 | CONFIG_I2C_DEBUG_CORE=y |
633 | CONFIG_I2C_DEBUG_ALGO=y | 631 | CONFIG_I2C_DEBUG_ALGO=y |
634 | CONFIG_I2C_DEBUG_BUS=y | 632 | CONFIG_I2C_DEBUG_BUS=y |
@@ -690,7 +688,16 @@ CONFIG_HWMON=y | |||
690 | # | 688 | # |
691 | 689 | ||
692 | # | 690 | # |
693 | # Multimedia Capabilities Port drivers | 691 | # LED devices |
692 | # | ||
693 | # CONFIG_NEW_LEDS is not set | ||
694 | |||
695 | # | ||
696 | # LED drivers | ||
697 | # | ||
698 | |||
699 | # | ||
700 | # LED Triggers | ||
694 | # | 701 | # |
695 | 702 | ||
696 | # | 703 | # |
@@ -702,6 +709,7 @@ CONFIG_HWMON=y | |||
702 | # Digital Video Broadcasting Devices | 709 | # Digital Video Broadcasting Devices |
703 | # | 710 | # |
704 | # CONFIG_DVB is not set | 711 | # CONFIG_DVB is not set |
712 | # CONFIG_USB_DABUSB is not set | ||
705 | 713 | ||
706 | # | 714 | # |
707 | # Graphics support | 715 | # Graphics support |
@@ -718,6 +726,7 @@ CONFIG_HWMON=y | |||
718 | # | 726 | # |
719 | CONFIG_USB_ARCH_HAS_HCD=y | 727 | CONFIG_USB_ARCH_HAS_HCD=y |
720 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 728 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
729 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
721 | CONFIG_USB=y | 730 | CONFIG_USB=y |
722 | CONFIG_USB_DEBUG=y | 731 | CONFIG_USB_DEBUG=y |
723 | 732 | ||
@@ -776,15 +785,6 @@ CONFIG_USB_STORAGE=y | |||
776 | # CONFIG_USB_MICROTEK is not set | 785 | # CONFIG_USB_MICROTEK is not set |
777 | 786 | ||
778 | # | 787 | # |
779 | # USB Multimedia devices | ||
780 | # | ||
781 | # CONFIG_USB_DABUSB is not set | ||
782 | |||
783 | # | ||
784 | # Video4Linux support is needed for USB Multimedia device support | ||
785 | # | ||
786 | |||
787 | # | ||
788 | # USB Network Adapters | 788 | # USB Network Adapters |
789 | # | 789 | # |
790 | # CONFIG_USB_CATC is not set | 790 | # CONFIG_USB_CATC is not set |
@@ -813,6 +813,7 @@ CONFIG_USB_SERIAL_CONSOLE=y | |||
813 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | 813 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set |
814 | # CONFIG_USB_SERIAL_EMPEG is not set | 814 | # CONFIG_USB_SERIAL_EMPEG is not set |
815 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | 815 | # CONFIG_USB_SERIAL_FTDI_SIO is not set |
816 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
816 | # CONFIG_USB_SERIAL_VISOR is not set | 817 | # CONFIG_USB_SERIAL_VISOR is not set |
817 | # CONFIG_USB_SERIAL_IPAQ is not set | 818 | # CONFIG_USB_SERIAL_IPAQ is not set |
818 | # CONFIG_USB_SERIAL_IR is not set | 819 | # CONFIG_USB_SERIAL_IR is not set |
@@ -825,6 +826,7 @@ CONFIG_USB_SERIAL_CONSOLE=y | |||
825 | # CONFIG_USB_SERIAL_KLSI is not set | 826 | # CONFIG_USB_SERIAL_KLSI is not set |
826 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | 827 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set |
827 | # CONFIG_USB_SERIAL_MCT_U232 is not set | 828 | # CONFIG_USB_SERIAL_MCT_U232 is not set |
829 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
828 | CONFIG_USB_SERIAL_PL2303=y | 830 | CONFIG_USB_SERIAL_PL2303=y |
829 | # CONFIG_USB_SERIAL_HP4X is not set | 831 | # CONFIG_USB_SERIAL_HP4X is not set |
830 | # CONFIG_USB_SERIAL_SAFE is not set | 832 | # CONFIG_USB_SERIAL_SAFE is not set |
@@ -865,6 +867,32 @@ CONFIG_USB_SERIAL_PL2303=y | |||
865 | # CONFIG_MMC is not set | 867 | # CONFIG_MMC is not set |
866 | 868 | ||
867 | # | 869 | # |
870 | # Real Time Clock | ||
871 | # | ||
872 | CONFIG_RTC_LIB=y | ||
873 | CONFIG_RTC_CLASS=y | ||
874 | CONFIG_RTC_HCTOSYS=y | ||
875 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
876 | |||
877 | # | ||
878 | # RTC interfaces | ||
879 | # | ||
880 | CONFIG_RTC_INTF_SYSFS=y | ||
881 | CONFIG_RTC_INTF_PROC=y | ||
882 | CONFIG_RTC_INTF_DEV=y | ||
883 | |||
884 | # | ||
885 | # RTC drivers | ||
886 | # | ||
887 | # CONFIG_RTC_DRV_X1205 is not set | ||
888 | # CONFIG_RTC_DRV_DS1672 is not set | ||
889 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
890 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
891 | CONFIG_RTC_DRV_M48T86=y | ||
892 | CONFIG_RTC_DRV_EP93XX=y | ||
893 | # CONFIG_RTC_DRV_TEST is not set | ||
894 | |||
895 | # | ||
868 | # File systems | 896 | # File systems |
869 | # | 897 | # |
870 | CONFIG_EXT2_FS=y | 898 | CONFIG_EXT2_FS=y |
@@ -912,7 +940,6 @@ CONFIG_SYSFS=y | |||
912 | CONFIG_TMPFS=y | 940 | CONFIG_TMPFS=y |
913 | # CONFIG_HUGETLB_PAGE is not set | 941 | # CONFIG_HUGETLB_PAGE is not set |
914 | CONFIG_RAMFS=y | 942 | CONFIG_RAMFS=y |
915 | # CONFIG_RELAYFS_FS is not set | ||
916 | # CONFIG_CONFIGFS_FS is not set | 943 | # CONFIG_CONFIGFS_FS is not set |
917 | 944 | ||
918 | # | 945 | # |
@@ -1044,6 +1071,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
1044 | CONFIG_DETECT_SOFTLOCKUP=y | 1071 | CONFIG_DETECT_SOFTLOCKUP=y |
1045 | # CONFIG_SCHEDSTATS is not set | 1072 | # CONFIG_SCHEDSTATS is not set |
1046 | CONFIG_DEBUG_SLAB=y | 1073 | CONFIG_DEBUG_SLAB=y |
1074 | # CONFIG_DEBUG_SLAB_LEAK is not set | ||
1047 | CONFIG_DEBUG_MUTEXES=y | 1075 | CONFIG_DEBUG_MUTEXES=y |
1048 | CONFIG_DEBUG_SPINLOCK=y | 1076 | CONFIG_DEBUG_SPINLOCK=y |
1049 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1077 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
@@ -1053,6 +1081,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1053 | # CONFIG_DEBUG_FS is not set | 1081 | # CONFIG_DEBUG_FS is not set |
1054 | # CONFIG_DEBUG_VM is not set | 1082 | # CONFIG_DEBUG_VM is not set |
1055 | CONFIG_FRAME_POINTER=y | 1083 | CONFIG_FRAME_POINTER=y |
1084 | # CONFIG_UNWIND_INFO is not set | ||
1056 | CONFIG_FORCED_INLINING=y | 1085 | CONFIG_FORCED_INLINING=y |
1057 | # CONFIG_RCU_TORTURE_TEST is not set | 1086 | # CONFIG_RCU_TORTURE_TEST is not set |
1058 | CONFIG_DEBUG_USER=y | 1087 | CONFIG_DEBUG_USER=y |
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig index 7b02ca04c3ee..e6f3e4873d6c 100644 --- a/arch/arm/configs/ixp2000_defconfig +++ b/arch/arm/configs/ixp2000_defconfig | |||
@@ -1,18 +1,19 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Wed Feb 8 04:49:11 2006 | 4 | # Wed Apr 19 21:12:49 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | ||
10 | 12 | ||
11 | # | 13 | # |
12 | # Code maturity level options | 14 | # Code maturity level options |
13 | # | 15 | # |
14 | CONFIG_EXPERIMENTAL=y | 16 | CONFIG_EXPERIMENTAL=y |
15 | CONFIG_CLEAN_COMPILE=y | ||
16 | CONFIG_BROKEN_ON_SMP=y | 17 | CONFIG_BROKEN_ON_SMP=y |
17 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 18 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
18 | 19 | ||
@@ -29,6 +30,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
29 | CONFIG_SYSCTL=y | 30 | CONFIG_SYSCTL=y |
30 | # CONFIG_AUDIT is not set | 31 | # CONFIG_AUDIT is not set |
31 | # CONFIG_IKCONFIG is not set | 32 | # CONFIG_IKCONFIG is not set |
33 | # CONFIG_RELAY is not set | ||
32 | CONFIG_INITRAMFS_SOURCE="" | 34 | CONFIG_INITRAMFS_SOURCE="" |
33 | CONFIG_UID16=y | 35 | CONFIG_UID16=y |
34 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 36 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
@@ -44,10 +46,6 @@ CONFIG_BASE_FULL=y | |||
44 | CONFIG_FUTEX=y | 46 | CONFIG_FUTEX=y |
45 | CONFIG_EPOLL=y | 47 | CONFIG_EPOLL=y |
46 | CONFIG_SHMEM=y | 48 | CONFIG_SHMEM=y |
47 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
48 | CONFIG_CC_ALIGN_LABELS=0 | ||
49 | CONFIG_CC_ALIGN_LOOPS=0 | ||
50 | CONFIG_CC_ALIGN_JUMPS=0 | ||
51 | CONFIG_SLAB=y | 49 | CONFIG_SLAB=y |
52 | # CONFIG_TINY_SHMEM is not set | 50 | # CONFIG_TINY_SHMEM is not set |
53 | CONFIG_BASE_SMALL=0 | 51 | CONFIG_BASE_SMALL=0 |
@@ -60,7 +58,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
60 | CONFIG_MODULES=y | 58 | CONFIG_MODULES=y |
61 | CONFIG_MODULE_UNLOAD=y | 59 | CONFIG_MODULE_UNLOAD=y |
62 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 60 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
63 | CONFIG_OBSOLETE_MODPARM=y | ||
64 | # CONFIG_MODVERSIONS is not set | 61 | # CONFIG_MODVERSIONS is not set |
65 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 62 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
66 | CONFIG_KMOD=y | 63 | CONFIG_KMOD=y |
@@ -68,6 +65,7 @@ CONFIG_KMOD=y | |||
68 | # | 65 | # |
69 | # Block layer | 66 | # Block layer |
70 | # | 67 | # |
68 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
71 | 69 | ||
72 | # | 70 | # |
73 | # IO Schedulers | 71 | # IO Schedulers |
@@ -89,11 +87,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
89 | # CONFIG_ARCH_CLPS711X is not set | 87 | # CONFIG_ARCH_CLPS711X is not set |
90 | # CONFIG_ARCH_CO285 is not set | 88 | # CONFIG_ARCH_CO285 is not set |
91 | # CONFIG_ARCH_EBSA110 is not set | 89 | # CONFIG_ARCH_EBSA110 is not set |
90 | # CONFIG_ARCH_EP93XX is not set | ||
92 | # CONFIG_ARCH_FOOTBRIDGE is not set | 91 | # CONFIG_ARCH_FOOTBRIDGE is not set |
93 | # CONFIG_ARCH_INTEGRATOR is not set | 92 | # CONFIG_ARCH_INTEGRATOR is not set |
94 | # CONFIG_ARCH_IOP3XX is not set | 93 | # CONFIG_ARCH_IOP3XX is not set |
95 | # CONFIG_ARCH_IXP4XX is not set | 94 | # CONFIG_ARCH_IXP4XX is not set |
96 | CONFIG_ARCH_IXP2000=y | 95 | CONFIG_ARCH_IXP2000=y |
96 | # CONFIG_ARCH_IXP23XX is not set | ||
97 | # CONFIG_ARCH_L7200 is not set | 97 | # CONFIG_ARCH_L7200 is not set |
98 | # CONFIG_ARCH_PXA is not set | 98 | # CONFIG_ARCH_PXA is not set |
99 | # CONFIG_ARCH_RPC is not set | 99 | # CONFIG_ARCH_RPC is not set |
@@ -123,6 +123,7 @@ CONFIG_ARCH_IXDP2800=y | |||
123 | CONFIG_ARCH_IXDP2X00=y | 123 | CONFIG_ARCH_IXDP2X00=y |
124 | CONFIG_ARCH_IXDP2401=y | 124 | CONFIG_ARCH_IXDP2401=y |
125 | CONFIG_ARCH_IXDP2801=y | 125 | CONFIG_ARCH_IXDP2801=y |
126 | CONFIG_MACH_IXDP28X5=y | ||
126 | CONFIG_ARCH_IXDP2X01=y | 127 | CONFIG_ARCH_IXDP2X01=y |
127 | # CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO is not set | 128 | # CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO is not set |
128 | 129 | ||
@@ -147,7 +148,6 @@ CONFIG_XSCALE_PMU=y | |||
147 | # Bus support | 148 | # Bus support |
148 | # | 149 | # |
149 | CONFIG_PCI=y | 150 | CONFIG_PCI=y |
150 | CONFIG_PCI_LEGACY_PROC=y | ||
151 | # CONFIG_PCI_DEBUG is not set | 151 | # CONFIG_PCI_DEBUG is not set |
152 | 152 | ||
153 | # | 153 | # |
@@ -160,6 +160,7 @@ CONFIG_PCI_LEGACY_PROC=y | |||
160 | # | 160 | # |
161 | # CONFIG_PREEMPT is not set | 161 | # CONFIG_PREEMPT is not set |
162 | # CONFIG_NO_IDLE_HZ is not set | 162 | # CONFIG_NO_IDLE_HZ is not set |
163 | CONFIG_HZ=100 | ||
163 | # CONFIG_AEABI is not set | 164 | # CONFIG_AEABI is not set |
164 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 165 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
165 | CONFIG_SELECT_MEMORY_MODEL=y | 166 | CONFIG_SELECT_MEMORY_MODEL=y |
@@ -213,6 +214,7 @@ CONFIG_NET=y | |||
213 | # | 214 | # |
214 | # Networking options | 215 | # Networking options |
215 | # | 216 | # |
217 | # CONFIG_NETDEBUG is not set | ||
216 | CONFIG_PACKET=y | 218 | CONFIG_PACKET=y |
217 | CONFIG_PACKET_MMAP=y | 219 | CONFIG_PACKET_MMAP=y |
218 | CONFIG_UNIX=y | 220 | CONFIG_UNIX=y |
@@ -232,12 +234,15 @@ CONFIG_SYN_COOKIES=y | |||
232 | # CONFIG_INET_AH is not set | 234 | # CONFIG_INET_AH is not set |
233 | # CONFIG_INET_ESP is not set | 235 | # CONFIG_INET_ESP is not set |
234 | # CONFIG_INET_IPCOMP is not set | 236 | # CONFIG_INET_IPCOMP is not set |
237 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
235 | # CONFIG_INET_TUNNEL is not set | 238 | # CONFIG_INET_TUNNEL is not set |
236 | CONFIG_INET_DIAG=y | 239 | CONFIG_INET_DIAG=y |
237 | CONFIG_INET_TCP_DIAG=y | 240 | CONFIG_INET_TCP_DIAG=y |
238 | # CONFIG_TCP_CONG_ADVANCED is not set | 241 | # CONFIG_TCP_CONG_ADVANCED is not set |
239 | CONFIG_TCP_CONG_BIC=y | 242 | CONFIG_TCP_CONG_BIC=y |
240 | # CONFIG_IPV6 is not set | 243 | # CONFIG_IPV6 is not set |
244 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
245 | # CONFIG_INET6_TUNNEL is not set | ||
241 | # CONFIG_NETFILTER is not set | 246 | # CONFIG_NETFILTER is not set |
242 | 247 | ||
243 | # | 248 | # |
@@ -347,7 +352,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
347 | # CONFIG_MTD_ROM is not set | 352 | # CONFIG_MTD_ROM is not set |
348 | # CONFIG_MTD_ABSENT is not set | 353 | # CONFIG_MTD_ABSENT is not set |
349 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | 354 | # CONFIG_MTD_OBSOLETE_CHIPS is not set |
350 | # CONFIG_MTD_XIP is not set | ||
351 | 355 | ||
352 | # | 356 | # |
353 | # Mapping drivers for chip access | 357 | # Mapping drivers for chip access |
@@ -366,7 +370,6 @@ CONFIG_MTD_IXP2000=y | |||
366 | # CONFIG_MTD_SLRAM is not set | 370 | # CONFIG_MTD_SLRAM is not set |
367 | # CONFIG_MTD_PHRAM is not set | 371 | # CONFIG_MTD_PHRAM is not set |
368 | # CONFIG_MTD_MTDRAM is not set | 372 | # CONFIG_MTD_MTDRAM is not set |
369 | # CONFIG_MTD_BLKMTD is not set | ||
370 | # CONFIG_MTD_BLOCK2MTD is not set | 373 | # CONFIG_MTD_BLOCK2MTD is not set |
371 | 374 | ||
372 | # | 375 | # |
@@ -614,8 +617,9 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
614 | # | 617 | # |
615 | CONFIG_SERIAL_8250=y | 618 | CONFIG_SERIAL_8250=y |
616 | CONFIG_SERIAL_8250_CONSOLE=y | 619 | CONFIG_SERIAL_8250_CONSOLE=y |
620 | CONFIG_SERIAL_8250_PCI=y | ||
617 | CONFIG_SERIAL_8250_NR_UARTS=3 | 621 | CONFIG_SERIAL_8250_NR_UARTS=3 |
618 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 622 | CONFIG_SERIAL_8250_RUNTIME_UARTS=3 |
619 | # CONFIG_SERIAL_8250_EXTENDED is not set | 623 | # CONFIG_SERIAL_8250_EXTENDED is not set |
620 | 624 | ||
621 | # | 625 | # |
@@ -623,6 +627,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
623 | # | 627 | # |
624 | CONFIG_SERIAL_CORE=y | 628 | CONFIG_SERIAL_CORE=y |
625 | CONFIG_SERIAL_CORE_CONSOLE=y | 629 | CONFIG_SERIAL_CORE_CONSOLE=y |
630 | # CONFIG_SERIAL_JSM is not set | ||
626 | CONFIG_UNIX98_PTYS=y | 631 | CONFIG_UNIX98_PTYS=y |
627 | CONFIG_LEGACY_PTYS=y | 632 | CONFIG_LEGACY_PTYS=y |
628 | CONFIG_LEGACY_PTY_COUNT=256 | 633 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -650,7 +655,6 @@ CONFIG_IXP2000_WATCHDOG=y | |||
650 | # CONFIG_PCIPCWATCHDOG is not set | 655 | # CONFIG_PCIPCWATCHDOG is not set |
651 | # CONFIG_WDTPCI is not set | 656 | # CONFIG_WDTPCI is not set |
652 | # CONFIG_NVRAM is not set | 657 | # CONFIG_NVRAM is not set |
653 | # CONFIG_RTC is not set | ||
654 | # CONFIG_DTLK is not set | 658 | # CONFIG_DTLK is not set |
655 | # CONFIG_R3964 is not set | 659 | # CONFIG_R3964 is not set |
656 | # CONFIG_APPLICOM is not set | 660 | # CONFIG_APPLICOM is not set |
@@ -696,7 +700,6 @@ CONFIG_I2C_IXP2000=y | |||
696 | # CONFIG_I2C_PARPORT_LIGHT is not set | 700 | # CONFIG_I2C_PARPORT_LIGHT is not set |
697 | # CONFIG_I2C_PROSAVAGE is not set | 701 | # CONFIG_I2C_PROSAVAGE is not set |
698 | # CONFIG_I2C_SAVAGE4 is not set | 702 | # CONFIG_I2C_SAVAGE4 is not set |
699 | # CONFIG_SCx200_ACB is not set | ||
700 | # CONFIG_I2C_SIS5595 is not set | 703 | # CONFIG_I2C_SIS5595 is not set |
701 | # CONFIG_I2C_SIS630 is not set | 704 | # CONFIG_I2C_SIS630 is not set |
702 | # CONFIG_I2C_SIS96X is not set | 705 | # CONFIG_I2C_SIS96X is not set |
@@ -715,9 +718,7 @@ CONFIG_SENSORS_EEPROM=y | |||
715 | # CONFIG_SENSORS_PCF8574 is not set | 718 | # CONFIG_SENSORS_PCF8574 is not set |
716 | # CONFIG_SENSORS_PCA9539 is not set | 719 | # CONFIG_SENSORS_PCA9539 is not set |
717 | # CONFIG_SENSORS_PCF8591 is not set | 720 | # CONFIG_SENSORS_PCF8591 is not set |
718 | # CONFIG_SENSORS_RTC8564 is not set | ||
719 | # CONFIG_SENSORS_MAX6875 is not set | 721 | # CONFIG_SENSORS_MAX6875 is not set |
720 | # CONFIG_RTC_X1205_I2C is not set | ||
721 | # CONFIG_I2C_DEBUG_CORE is not set | 722 | # CONFIG_I2C_DEBUG_CORE is not set |
722 | # CONFIG_I2C_DEBUG_ALGO is not set | 723 | # CONFIG_I2C_DEBUG_ALGO is not set |
723 | # CONFIG_I2C_DEBUG_BUS is not set | 724 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -730,6 +731,11 @@ CONFIG_SENSORS_EEPROM=y | |||
730 | # CONFIG_SPI_MASTER is not set | 731 | # CONFIG_SPI_MASTER is not set |
731 | 732 | ||
732 | # | 733 | # |
734 | # Dallas's 1-wire bus | ||
735 | # | ||
736 | # CONFIG_W1 is not set | ||
737 | |||
738 | # | ||
733 | # Hardware Monitoring support | 739 | # Hardware Monitoring support |
734 | # | 740 | # |
735 | CONFIG_HWMON=y | 741 | CONFIG_HWMON=y |
@@ -742,6 +748,7 @@ CONFIG_HWMON=y | |||
742 | # CONFIG_SENSORS_ASB100 is not set | 748 | # CONFIG_SENSORS_ASB100 is not set |
743 | # CONFIG_SENSORS_ATXP1 is not set | 749 | # CONFIG_SENSORS_ATXP1 is not set |
744 | # CONFIG_SENSORS_DS1621 is not set | 750 | # CONFIG_SENSORS_DS1621 is not set |
751 | # CONFIG_SENSORS_F71805F is not set | ||
745 | # CONFIG_SENSORS_FSCHER is not set | 752 | # CONFIG_SENSORS_FSCHER is not set |
746 | # CONFIG_SENSORS_FSCPOS is not set | 753 | # CONFIG_SENSORS_FSCPOS is not set |
747 | # CONFIG_SENSORS_GL518SM is not set | 754 | # CONFIG_SENSORS_GL518SM is not set |
@@ -776,7 +783,16 @@ CONFIG_HWMON=y | |||
776 | # | 783 | # |
777 | 784 | ||
778 | # | 785 | # |
779 | # Multimedia Capabilities Port drivers | 786 | # LED devices |
787 | # | ||
788 | # CONFIG_NEW_LEDS is not set | ||
789 | |||
790 | # | ||
791 | # LED drivers | ||
792 | # | ||
793 | |||
794 | # | ||
795 | # LED Triggers | ||
780 | # | 796 | # |
781 | 797 | ||
782 | # | 798 | # |
@@ -804,6 +820,7 @@ CONFIG_HWMON=y | |||
804 | # | 820 | # |
805 | CONFIG_USB_ARCH_HAS_HCD=y | 821 | CONFIG_USB_ARCH_HAS_HCD=y |
806 | CONFIG_USB_ARCH_HAS_OHCI=y | 822 | CONFIG_USB_ARCH_HAS_OHCI=y |
823 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
807 | # CONFIG_USB is not set | 824 | # CONFIG_USB is not set |
808 | 825 | ||
809 | # | 826 | # |
@@ -821,6 +838,12 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
821 | # CONFIG_MMC is not set | 838 | # CONFIG_MMC is not set |
822 | 839 | ||
823 | # | 840 | # |
841 | # Real Time Clock | ||
842 | # | ||
843 | CONFIG_RTC_LIB=y | ||
844 | # CONFIG_RTC_CLASS is not set | ||
845 | |||
846 | # | ||
824 | # File systems | 847 | # File systems |
825 | # | 848 | # |
826 | CONFIG_EXT2_FS=y | 849 | CONFIG_EXT2_FS=y |
@@ -870,7 +893,6 @@ CONFIG_SYSFS=y | |||
870 | CONFIG_TMPFS=y | 893 | CONFIG_TMPFS=y |
871 | # CONFIG_HUGETLB_PAGE is not set | 894 | # CONFIG_HUGETLB_PAGE is not set |
872 | CONFIG_RAMFS=y | 895 | CONFIG_RAMFS=y |
873 | # CONFIG_RELAYFS_FS is not set | ||
874 | # CONFIG_CONFIGFS_FS is not set | 896 | # CONFIG_CONFIGFS_FS is not set |
875 | 897 | ||
876 | # | 898 | # |
@@ -972,6 +994,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
972 | # CONFIG_DEBUG_FS is not set | 994 | # CONFIG_DEBUG_FS is not set |
973 | # CONFIG_DEBUG_VM is not set | 995 | # CONFIG_DEBUG_VM is not set |
974 | CONFIG_FRAME_POINTER=y | 996 | CONFIG_FRAME_POINTER=y |
997 | # CONFIG_UNWIND_INFO is not set | ||
975 | CONFIG_FORCED_INLINING=y | 998 | CONFIG_FORCED_INLINING=y |
976 | # CONFIG_RCU_TORTURE_TEST is not set | 999 | # CONFIG_RCU_TORTURE_TEST is not set |
977 | CONFIG_DEBUG_USER=y | 1000 | CONFIG_DEBUG_USER=y |
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig index 1a2751e9ab05..9ce898a6cf87 100644 --- a/arch/arm/configs/ixp23xx_defconfig +++ b/arch/arm/configs/ixp23xx_defconfig | |||
@@ -1,12 +1,14 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Tue Mar 21 03:27:20 2006 | 4 | # Wed Apr 19 21:13:50 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | ||
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | ||
10 | 12 | ||
11 | # | 13 | # |
12 | # Code maturity level options | 14 | # Code maturity level options |
@@ -28,6 +30,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
28 | CONFIG_SYSCTL=y | 30 | CONFIG_SYSCTL=y |
29 | # CONFIG_AUDIT is not set | 31 | # CONFIG_AUDIT is not set |
30 | # CONFIG_IKCONFIG is not set | 32 | # CONFIG_IKCONFIG is not set |
33 | # CONFIG_RELAY is not set | ||
31 | CONFIG_INITRAMFS_SOURCE="" | 34 | CONFIG_INITRAMFS_SOURCE="" |
32 | CONFIG_UID16=y | 35 | CONFIG_UID16=y |
33 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 36 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
@@ -43,10 +46,6 @@ CONFIG_BASE_FULL=y | |||
43 | CONFIG_FUTEX=y | 46 | CONFIG_FUTEX=y |
44 | CONFIG_EPOLL=y | 47 | CONFIG_EPOLL=y |
45 | CONFIG_SHMEM=y | 48 | CONFIG_SHMEM=y |
46 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
47 | CONFIG_CC_ALIGN_LABELS=0 | ||
48 | CONFIG_CC_ALIGN_LOOPS=0 | ||
49 | CONFIG_CC_ALIGN_JUMPS=0 | ||
50 | CONFIG_SLAB=y | 49 | CONFIG_SLAB=y |
51 | # CONFIG_TINY_SHMEM is not set | 50 | # CONFIG_TINY_SHMEM is not set |
52 | CONFIG_BASE_SMALL=0 | 51 | CONFIG_BASE_SMALL=0 |
@@ -59,7 +58,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
59 | CONFIG_MODULES=y | 58 | CONFIG_MODULES=y |
60 | CONFIG_MODULE_UNLOAD=y | 59 | CONFIG_MODULE_UNLOAD=y |
61 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 60 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
62 | CONFIG_OBSOLETE_MODPARM=y | ||
63 | # CONFIG_MODVERSIONS is not set | 61 | # CONFIG_MODVERSIONS is not set |
64 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 62 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
65 | CONFIG_KMOD=y | 63 | CONFIG_KMOD=y |
@@ -67,6 +65,7 @@ CONFIG_KMOD=y | |||
67 | # | 65 | # |
68 | # Block layer | 66 | # Block layer |
69 | # | 67 | # |
68 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
70 | 69 | ||
71 | # | 70 | # |
72 | # IO Schedulers | 71 | # IO Schedulers |
@@ -143,7 +142,6 @@ CONFIG_CPU_BIG_ENDIAN=y | |||
143 | # Bus support | 142 | # Bus support |
144 | # | 143 | # |
145 | CONFIG_PCI=y | 144 | CONFIG_PCI=y |
146 | CONFIG_PCI_LEGACY_PROC=y | ||
147 | # CONFIG_PCI_DEBUG is not set | 145 | # CONFIG_PCI_DEBUG is not set |
148 | 146 | ||
149 | # | 147 | # |
@@ -230,12 +228,15 @@ CONFIG_SYN_COOKIES=y | |||
230 | # CONFIG_INET_AH is not set | 228 | # CONFIG_INET_AH is not set |
231 | # CONFIG_INET_ESP is not set | 229 | # CONFIG_INET_ESP is not set |
232 | # CONFIG_INET_IPCOMP is not set | 230 | # CONFIG_INET_IPCOMP is not set |
231 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
233 | # CONFIG_INET_TUNNEL is not set | 232 | # CONFIG_INET_TUNNEL is not set |
234 | CONFIG_INET_DIAG=y | 233 | CONFIG_INET_DIAG=y |
235 | CONFIG_INET_TCP_DIAG=y | 234 | CONFIG_INET_TCP_DIAG=y |
236 | # CONFIG_TCP_CONG_ADVANCED is not set | 235 | # CONFIG_TCP_CONG_ADVANCED is not set |
237 | CONFIG_TCP_CONG_BIC=y | 236 | CONFIG_TCP_CONG_BIC=y |
238 | # CONFIG_IPV6 is not set | 237 | # CONFIG_IPV6 is not set |
238 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
239 | # CONFIG_INET6_TUNNEL is not set | ||
239 | # CONFIG_NETFILTER is not set | 240 | # CONFIG_NETFILTER is not set |
240 | 241 | ||
241 | # | 242 | # |
@@ -365,7 +366,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | |||
365 | # CONFIG_MTD_SLRAM is not set | 366 | # CONFIG_MTD_SLRAM is not set |
366 | # CONFIG_MTD_PHRAM is not set | 367 | # CONFIG_MTD_PHRAM is not set |
367 | # CONFIG_MTD_MTDRAM is not set | 368 | # CONFIG_MTD_MTDRAM is not set |
368 | # CONFIG_MTD_BLKMTD is not set | ||
369 | # CONFIG_MTD_BLOCK2MTD is not set | 369 | # CONFIG_MTD_BLOCK2MTD is not set |
370 | 370 | ||
371 | # | 371 | # |
@@ -527,7 +527,6 @@ CONFIG_BLK_DEV_SD=y | |||
527 | # CONFIG_SCSI_INIA100 is not set | 527 | # CONFIG_SCSI_INIA100 is not set |
528 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 528 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
529 | # CONFIG_SCSI_IPR is not set | 529 | # CONFIG_SCSI_IPR is not set |
530 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
531 | # CONFIG_SCSI_QLOGIC_1280 is not set | 530 | # CONFIG_SCSI_QLOGIC_1280 is not set |
532 | # CONFIG_SCSI_QLA_FC is not set | 531 | # CONFIG_SCSI_QLA_FC is not set |
533 | # CONFIG_SCSI_LPFC is not set | 532 | # CONFIG_SCSI_LPFC is not set |
@@ -735,6 +734,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
735 | # | 734 | # |
736 | CONFIG_SERIAL_8250=y | 735 | CONFIG_SERIAL_8250=y |
737 | CONFIG_SERIAL_8250_CONSOLE=y | 736 | CONFIG_SERIAL_8250_CONSOLE=y |
737 | CONFIG_SERIAL_8250_PCI=y | ||
738 | CONFIG_SERIAL_8250_NR_UARTS=4 | 738 | CONFIG_SERIAL_8250_NR_UARTS=4 |
739 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 739 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
740 | # CONFIG_SERIAL_8250_EXTENDED is not set | 740 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -776,7 +776,6 @@ CONFIG_WATCHDOG=y | |||
776 | # | 776 | # |
777 | # CONFIG_USBPCWATCHDOG is not set | 777 | # CONFIG_USBPCWATCHDOG is not set |
778 | # CONFIG_NVRAM is not set | 778 | # CONFIG_NVRAM is not set |
779 | # CONFIG_RTC is not set | ||
780 | # CONFIG_DTLK is not set | 779 | # CONFIG_DTLK is not set |
781 | # CONFIG_R3964 is not set | 780 | # CONFIG_R3964 is not set |
782 | # CONFIG_APPLICOM is not set | 781 | # CONFIG_APPLICOM is not set |
@@ -821,7 +820,6 @@ CONFIG_I2C_ALGOBIT=y | |||
821 | # CONFIG_I2C_PARPORT_LIGHT is not set | 820 | # CONFIG_I2C_PARPORT_LIGHT is not set |
822 | # CONFIG_I2C_PROSAVAGE is not set | 821 | # CONFIG_I2C_PROSAVAGE is not set |
823 | # CONFIG_I2C_SAVAGE4 is not set | 822 | # CONFIG_I2C_SAVAGE4 is not set |
824 | # CONFIG_SCx200_ACB is not set | ||
825 | # CONFIG_I2C_SIS5595 is not set | 823 | # CONFIG_I2C_SIS5595 is not set |
826 | # CONFIG_I2C_SIS630 is not set | 824 | # CONFIG_I2C_SIS630 is not set |
827 | # CONFIG_I2C_SIS96X is not set | 825 | # CONFIG_I2C_SIS96X is not set |
@@ -840,9 +838,7 @@ CONFIG_SENSORS_EEPROM=y | |||
840 | # CONFIG_SENSORS_PCF8574 is not set | 838 | # CONFIG_SENSORS_PCF8574 is not set |
841 | # CONFIG_SENSORS_PCA9539 is not set | 839 | # CONFIG_SENSORS_PCA9539 is not set |
842 | # CONFIG_SENSORS_PCF8591 is not set | 840 | # CONFIG_SENSORS_PCF8591 is not set |
843 | # CONFIG_SENSORS_RTC8564 is not set | ||
844 | # CONFIG_SENSORS_MAX6875 is not set | 841 | # CONFIG_SENSORS_MAX6875 is not set |
845 | # CONFIG_RTC_X1205_I2C is not set | ||
846 | # CONFIG_I2C_DEBUG_CORE is not set | 842 | # CONFIG_I2C_DEBUG_CORE is not set |
847 | # CONFIG_I2C_DEBUG_ALGO is not set | 843 | # CONFIG_I2C_DEBUG_ALGO is not set |
848 | # CONFIG_I2C_DEBUG_BUS is not set | 844 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -907,7 +903,16 @@ CONFIG_HWMON=y | |||
907 | # | 903 | # |
908 | 904 | ||
909 | # | 905 | # |
910 | # Multimedia Capabilities Port drivers | 906 | # LED devices |
907 | # | ||
908 | # CONFIG_NEW_LEDS is not set | ||
909 | |||
910 | # | ||
911 | # LED drivers | ||
912 | # | ||
913 | |||
914 | # | ||
915 | # LED Triggers | ||
911 | # | 916 | # |
912 | 917 | ||
913 | # | 918 | # |
@@ -919,6 +924,7 @@ CONFIG_HWMON=y | |||
919 | # Digital Video Broadcasting Devices | 924 | # Digital Video Broadcasting Devices |
920 | # | 925 | # |
921 | # CONFIG_DVB is not set | 926 | # CONFIG_DVB is not set |
927 | # CONFIG_USB_DABUSB is not set | ||
922 | 928 | ||
923 | # | 929 | # |
924 | # Graphics support | 930 | # Graphics support |
@@ -935,6 +941,7 @@ CONFIG_HWMON=y | |||
935 | # | 941 | # |
936 | CONFIG_USB_ARCH_HAS_HCD=y | 942 | CONFIG_USB_ARCH_HAS_HCD=y |
937 | CONFIG_USB_ARCH_HAS_OHCI=y | 943 | CONFIG_USB_ARCH_HAS_OHCI=y |
944 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
938 | CONFIG_USB=y | 945 | CONFIG_USB=y |
939 | # CONFIG_USB_DEBUG is not set | 946 | # CONFIG_USB_DEBUG is not set |
940 | 947 | ||
@@ -1000,9 +1007,7 @@ CONFIG_USB_STORAGE=y | |||
1000 | # CONFIG_USB_ACECAD is not set | 1007 | # CONFIG_USB_ACECAD is not set |
1001 | # CONFIG_USB_KBTAB is not set | 1008 | # CONFIG_USB_KBTAB is not set |
1002 | # CONFIG_USB_POWERMATE is not set | 1009 | # CONFIG_USB_POWERMATE is not set |
1003 | # CONFIG_USB_MTOUCH is not set | 1010 | # CONFIG_USB_TOUCHSCREEN is not set |
1004 | # CONFIG_USB_ITMTOUCH is not set | ||
1005 | # CONFIG_USB_EGALAX is not set | ||
1006 | # CONFIG_USB_YEALINK is not set | 1011 | # CONFIG_USB_YEALINK is not set |
1007 | # CONFIG_USB_XPAD is not set | 1012 | # CONFIG_USB_XPAD is not set |
1008 | # CONFIG_USB_ATI_REMOTE is not set | 1013 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1017,15 +1022,6 @@ CONFIG_USB_STORAGE=y | |||
1017 | # CONFIG_USB_MICROTEK is not set | 1022 | # CONFIG_USB_MICROTEK is not set |
1018 | 1023 | ||
1019 | # | 1024 | # |
1020 | # USB Multimedia devices | ||
1021 | # | ||
1022 | # CONFIG_USB_DABUSB is not set | ||
1023 | |||
1024 | # | ||
1025 | # Video4Linux support is needed for USB Multimedia device support | ||
1026 | # | ||
1027 | |||
1028 | # | ||
1029 | # USB Network Adapters | 1025 | # USB Network Adapters |
1030 | # | 1026 | # |
1031 | # CONFIG_USB_CATC is not set | 1027 | # CONFIG_USB_CATC is not set |
@@ -1076,6 +1072,12 @@ CONFIG_USB_MON=y | |||
1076 | # CONFIG_MMC is not set | 1072 | # CONFIG_MMC is not set |
1077 | 1073 | ||
1078 | # | 1074 | # |
1075 | # Real Time Clock | ||
1076 | # | ||
1077 | CONFIG_RTC_LIB=y | ||
1078 | # CONFIG_RTC_CLASS is not set | ||
1079 | |||
1080 | # | ||
1079 | # File systems | 1081 | # File systems |
1080 | # | 1082 | # |
1081 | CONFIG_EXT2_FS=y | 1083 | CONFIG_EXT2_FS=y |
@@ -1127,7 +1129,6 @@ CONFIG_SYSFS=y | |||
1127 | CONFIG_TMPFS=y | 1129 | CONFIG_TMPFS=y |
1128 | # CONFIG_HUGETLB_PAGE is not set | 1130 | # CONFIG_HUGETLB_PAGE is not set |
1129 | CONFIG_RAMFS=y | 1131 | CONFIG_RAMFS=y |
1130 | # CONFIG_RELAYFS_FS is not set | ||
1131 | # CONFIG_CONFIGFS_FS is not set | 1132 | # CONFIG_CONFIGFS_FS is not set |
1132 | 1133 | ||
1133 | # | 1134 | # |
@@ -1268,6 +1269,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1268 | # CONFIG_DEBUG_FS is not set | 1269 | # CONFIG_DEBUG_FS is not set |
1269 | # CONFIG_DEBUG_VM is not set | 1270 | # CONFIG_DEBUG_VM is not set |
1270 | CONFIG_FRAME_POINTER=y | 1271 | CONFIG_FRAME_POINTER=y |
1272 | # CONFIG_UNWIND_INFO is not set | ||
1271 | CONFIG_FORCED_INLINING=y | 1273 | CONFIG_FORCED_INLINING=y |
1272 | # CONFIG_RCU_TORTURE_TEST is not set | 1274 | # CONFIG_RCU_TORTURE_TEST is not set |
1273 | CONFIG_DEBUG_USER=y | 1275 | CONFIG_DEBUG_USER=y |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 2ce0e3a27a45..a601b8b55f35 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -29,7 +29,7 @@ ifneq ($(CONFIG_ARCH_EBSA110),y) | |||
29 | obj-y += io.o | 29 | obj-y += io.o |
30 | endif | 30 | endif |
31 | 31 | ||
32 | head-y := head.o | 32 | head-y := head$(MMUEXT).o |
33 | obj-$(CONFIG_DEBUG_LL) += debug.o | 33 | obj-$(CONFIG_DEBUG_LL) += debug.o |
34 | 34 | ||
35 | extra-y := $(head-y) init_task.o vmlinux.lds | 35 | extra-y := $(head-y) init_task.o vmlinux.lds |
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S index b093ab8738b5..0bea65864051 100644 --- a/arch/arm/kernel/head-nommu.S +++ b/arch/arm/kernel/head-nommu.S | |||
@@ -20,10 +20,11 @@ | |||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/procinfo.h> | 21 | #include <asm/procinfo.h> |
22 | #include <asm/ptrace.h> | 22 | #include <asm/ptrace.h> |
23 | #include <asm/constants.h> | 23 | #include <asm/thread_info.h> |
24 | #include <asm/system.h> | 24 | #include <asm/system.h> |
25 | 25 | ||
26 | #define PROCINFO_INITFUNC 12 | 26 | #define PROCINFO_INITFUNC 12 |
27 | #define MACHINFO_TYPE 0 | ||
27 | 28 | ||
28 | /* | 29 | /* |
29 | * Kernel startup entry point. | 30 | * Kernel startup entry point. |
@@ -79,5 +80,6 @@ __after_proc_init: | |||
79 | 80 | ||
80 | mov pc, r13 @ clear the BSS and jump | 81 | mov pc, r13 @ clear the BSS and jump |
81 | @ to start_kernel | 82 | @ to start_kernel |
83 | .ltorg | ||
82 | 84 | ||
83 | #include "head-common.S" | 85 | #include "head-common.S" |
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 8cff73e668b3..9fc9af88c60c 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -407,7 +407,7 @@ static void __init early_initrd(char **p) | |||
407 | } | 407 | } |
408 | __early_param("initrd=", early_initrd); | 408 | __early_param("initrd=", early_initrd); |
409 | 409 | ||
410 | static void __init add_memory(unsigned long start, unsigned long size) | 410 | static void __init arm_add_memory(unsigned long start, unsigned long size) |
411 | { | 411 | { |
412 | /* | 412 | /* |
413 | * Ensure that start/size are aligned to a page boundary. | 413 | * Ensure that start/size are aligned to a page boundary. |
@@ -445,7 +445,7 @@ static void __init early_mem(char **p) | |||
445 | if (**p == '@') | 445 | if (**p == '@') |
446 | start = memparse(*p + 1, p); | 446 | start = memparse(*p + 1, p); |
447 | 447 | ||
448 | add_memory(start, size); | 448 | arm_add_memory(start, size); |
449 | } | 449 | } |
450 | __early_param("mem=", early_mem); | 450 | __early_param("mem=", early_mem); |
451 | 451 | ||
@@ -587,7 +587,7 @@ static int __init parse_tag_mem32(const struct tag *tag) | |||
587 | tag->u.mem.start, tag->u.mem.size / 1024); | 587 | tag->u.mem.start, tag->u.mem.size / 1024); |
588 | return -EINVAL; | 588 | return -EINVAL; |
589 | } | 589 | } |
590 | add_memory(tag->u.mem.start, tag->u.mem.size); | 590 | arm_add_memory(tag->u.mem.start, tag->u.mem.size); |
591 | return 0; | 591 | return 0; |
592 | } | 592 | } |
593 | 593 | ||
@@ -807,7 +807,7 @@ static int __init topology_init(void) | |||
807 | { | 807 | { |
808 | int cpu; | 808 | int cpu; |
809 | 809 | ||
810 | for_each_cpu(cpu) | 810 | for_each_possible_cpu(cpu) |
811 | register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu, NULL); | 811 | register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu, NULL); |
812 | 812 | ||
813 | return 0; | 813 | return 0; |
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index a0888e160e3b..00b761ff0f9c 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -91,7 +91,7 @@ static void ixp4xx_config_irq(unsigned irq, enum ixp4xx_irq_type type); | |||
91 | /* | 91 | /* |
92 | * IRQ -> GPIO mapping table | 92 | * IRQ -> GPIO mapping table |
93 | */ | 93 | */ |
94 | static char irq2gpio[32] = { | 94 | static signed char irq2gpio[32] = { |
95 | -1, -1, -1, -1, -1, -1, 0, 1, | 95 | -1, -1, -1, -1, -1, -1, 0, 1, |
96 | -1, -1, -1, -1, -1, -1, -1, -1, | 96 | -1, -1, -1, -1, -1, -1, -1, -1, |
97 | -1, -1, -1, 2, 3, 4, 5, 6, | 97 | -1, -1, -1, 2, 3, 4, 5, 6, |
diff --git a/arch/arm/mach-pxa/corgi_ssp.c b/arch/arm/mach-pxa/corgi_ssp.c index b371d723635f..8a25a1c8019f 100644 --- a/arch/arm/mach-pxa/corgi_ssp.c +++ b/arch/arm/mach-pxa/corgi_ssp.c | |||
@@ -196,12 +196,9 @@ static int __init corgi_ssp_probe(struct platform_device *dev) | |||
196 | int ret; | 196 | int ret; |
197 | 197 | ||
198 | /* Chip Select - Disable All */ | 198 | /* Chip Select - Disable All */ |
199 | GPDR(ssp_machinfo->cs_lcdcon) |= GPIO_bit(ssp_machinfo->cs_lcdcon); /* output */ | 199 | pxa_gpio_mode(ssp_machinfo->cs_lcdcon | GPIO_OUT | GPIO_DFLT_HIGH); |
200 | GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */ | 200 | pxa_gpio_mode(ssp_machinfo->cs_max1111 | GPIO_OUT | GPIO_DFLT_HIGH); |
201 | GPDR(ssp_machinfo->cs_max1111) |= GPIO_bit(ssp_machinfo->cs_max1111); /* output */ | 201 | pxa_gpio_mode(ssp_machinfo->cs_ads7846 | GPIO_OUT | GPIO_DFLT_HIGH); |
202 | GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/ | ||
203 | GPDR(ssp_machinfo->cs_ads7846) |= GPIO_bit(ssp_machinfo->cs_ads7846); /* output */ | ||
204 | GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846); /* High - Disable ADS7846*/ | ||
205 | 202 | ||
206 | ret = ssp_init(&corgi_ssp_dev, ssp_machinfo->port, 0); | 203 | ret = ssp_init(&corgi_ssp_dev, ssp_machinfo->port, 0); |
207 | 204 | ||
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index febd115dba28..009038c8113e 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c | |||
@@ -197,7 +197,7 @@ u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exce | |||
197 | dd, d, exceptions); | 197 | dd, d, exceptions); |
198 | vfp_put_double(dd, d); | 198 | vfp_put_double(dd, d); |
199 | } | 199 | } |
200 | return exceptions & ~VFP_NAN_FLAG; | 200 | return exceptions; |
201 | } | 201 | } |
202 | 202 | ||
203 | /* | 203 | /* |
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index 22f3da4e0829..37ff8145b5b5 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
@@ -180,7 +180,7 @@ static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs) | |||
180 | * emulate it. | 180 | * emulate it. |
181 | */ | 181 | */ |
182 | } | 182 | } |
183 | return exceptions; | 183 | return exceptions & ~VFP_NAN_FLAG; |
184 | } | 184 | } |
185 | 185 | ||
186 | /* | 186 | /* |
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c index 4ac27f193934..dae2c2f46052 100644 --- a/arch/arm/vfp/vfpsingle.c +++ b/arch/arm/vfp/vfpsingle.c | |||
@@ -203,7 +203,7 @@ u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exce | |||
203 | vfp_put_float(sd, d); | 203 | vfp_put_float(sd, d); |
204 | } | 204 | } |
205 | 205 | ||
206 | return exceptions & ~VFP_NAN_FLAG; | 206 | return exceptions; |
207 | } | 207 | } |
208 | 208 | ||
209 | /* | 209 | /* |
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 18ec9fe6deb6..c6fe99e57a05 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
@@ -467,7 +467,7 @@ endchoice | |||
467 | 467 | ||
468 | choice | 468 | choice |
469 | depends on EXPERIMENTAL && !X86_PAE | 469 | depends on EXPERIMENTAL && !X86_PAE |
470 | prompt "Memory split" | 470 | prompt "Memory split" if EMBEDDED |
471 | default VMSPLIT_3G | 471 | default VMSPLIT_3G |
472 | help | 472 | help |
473 | Select the desired split between kernel and user memory. | 473 | Select the desired split between kernel and user memory. |
@@ -756,7 +756,7 @@ config PHYSICAL_START | |||
756 | 756 | ||
757 | config HOTPLUG_CPU | 757 | config HOTPLUG_CPU |
758 | bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" | 758 | bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" |
759 | depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER && !X86_PC | 759 | depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER |
760 | ---help--- | 760 | ---help--- |
761 | Say Y here to experiment with turning CPUs off and on. CPUs | 761 | Say Y here to experiment with turning CPUs off and on. CPUs |
762 | can be controlled through /sys/devices/system/cpu. | 762 | can be controlled through /sys/devices/system/cpu. |
diff --git a/arch/i386/Kconfig.debug b/arch/i386/Kconfig.debug index 6e97df6979e8..c92191b1fb67 100644 --- a/arch/i386/Kconfig.debug +++ b/arch/i386/Kconfig.debug | |||
@@ -81,4 +81,13 @@ config X86_MPPARSE | |||
81 | depends on X86_LOCAL_APIC && !X86_VISWS | 81 | depends on X86_LOCAL_APIC && !X86_VISWS |
82 | default y | 82 | default y |
83 | 83 | ||
84 | config DOUBLEFAULT | ||
85 | default y | ||
86 | bool "Enable doublefault exception handler" if EMBEDDED | ||
87 | help | ||
88 | This option allows trapping of rare doublefault exceptions that | ||
89 | would otherwise cause a system to silently reboot. Disabling this | ||
90 | option saves about 4k and might cause you much additional grey | ||
91 | hair. | ||
92 | |||
84 | endmenu | 93 | endmenu |
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index 030a0007a4e0..4c785a67d585 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c | |||
@@ -168,7 +168,7 @@ int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size) | |||
168 | unsigned long i; | 168 | unsigned long i; |
169 | int config_size; | 169 | int config_size; |
170 | 170 | ||
171 | if (!phys_addr || !size || !cpu_has_apic) | 171 | if (!phys_addr || !size) |
172 | return -EINVAL; | 172 | return -EINVAL; |
173 | 173 | ||
174 | mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size); | 174 | mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size); |
@@ -215,7 +215,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | |||
215 | { | 215 | { |
216 | struct acpi_table_madt *madt = NULL; | 216 | struct acpi_table_madt *madt = NULL; |
217 | 217 | ||
218 | if (!phys_addr || !size || !cpu_has_apic) | 218 | if (!phys_addr || !size) |
219 | return -EINVAL; | 219 | return -EINVAL; |
220 | 220 | ||
221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); | 221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); |
@@ -1102,6 +1102,9 @@ int __init acpi_boot_table_init(void) | |||
1102 | dmi_check_system(acpi_dmi_table); | 1102 | dmi_check_system(acpi_dmi_table); |
1103 | #endif | 1103 | #endif |
1104 | 1104 | ||
1105 | if (!cpu_has_apic) | ||
1106 | return -ENODEV; | ||
1107 | |||
1105 | /* | 1108 | /* |
1106 | * If acpi_disabled, bail out | 1109 | * If acpi_disabled, bail out |
1107 | * One exception: acpi=ht continues far enough to enumerate LAPICs | 1110 | * One exception: acpi=ht continues far enough to enumerate LAPICs |
@@ -1148,6 +1151,9 @@ int __init acpi_boot_init(void) | |||
1148 | 1151 | ||
1149 | acpi_table_parse(ACPI_BOOT, acpi_parse_sbf); | 1152 | acpi_table_parse(ACPI_BOOT, acpi_parse_sbf); |
1150 | 1153 | ||
1154 | if (!cpu_has_apic) | ||
1155 | return -ENODEV; | ||
1156 | |||
1151 | /* | 1157 | /* |
1152 | * set sci_int and PM timer address | 1158 | * set sci_int and PM timer address |
1153 | */ | 1159 | */ |
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index 254cee9f0b7b..013b85df18c6 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c | |||
@@ -757,10 +757,6 @@ static int __init apic_set_verbosity(char *str) | |||
757 | apic_verbosity = APIC_DEBUG; | 757 | apic_verbosity = APIC_DEBUG; |
758 | else if (strcmp("verbose", str) == 0) | 758 | else if (strcmp("verbose", str) == 0) |
759 | apic_verbosity = APIC_VERBOSE; | 759 | apic_verbosity = APIC_VERBOSE; |
760 | else | ||
761 | printk(KERN_WARNING "APIC Verbosity level %s not recognised" | ||
762 | " use apic=verbose or apic=debug\n", str); | ||
763 | |||
764 | return 1; | 760 | return 1; |
765 | } | 761 | } |
766 | 762 | ||
diff --git a/arch/i386/kernel/apm.c b/arch/i386/kernel/apm.c index da30a374dd4e..df0e1745f189 100644 --- a/arch/i386/kernel/apm.c +++ b/arch/i386/kernel/apm.c | |||
@@ -1079,7 +1079,7 @@ static int apm_console_blank(int blank) | |||
1079 | break; | 1079 | break; |
1080 | } | 1080 | } |
1081 | 1081 | ||
1082 | if (error == APM_NOT_ENGAGED && state != APM_STATE_READY) { | 1082 | if (error == APM_NOT_ENGAGED) { |
1083 | static int tried; | 1083 | static int tried; |
1084 | int eng_error; | 1084 | int eng_error; |
1085 | if (tried++ == 0) { | 1085 | if (tried++ == 0) { |
diff --git a/arch/i386/kernel/cpu/amd.c b/arch/i386/kernel/cpu/amd.c index ff2b2154ac1b..786d1a57048b 100644 --- a/arch/i386/kernel/cpu/amd.c +++ b/arch/i386/kernel/cpu/amd.c | |||
@@ -207,6 +207,8 @@ static void __init init_amd(struct cpuinfo_x86 *c) | |||
207 | set_bit(X86_FEATURE_K7, c->x86_capability); | 207 | set_bit(X86_FEATURE_K7, c->x86_capability); |
208 | break; | 208 | break; |
209 | } | 209 | } |
210 | if (c->x86 >= 6) | ||
211 | set_bit(X86_FEATURE_FXSAVE_LEAK, c->x86_capability); | ||
210 | 212 | ||
211 | display_cacheinfo(c); | 213 | display_cacheinfo(c); |
212 | 214 | ||
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c index 7c0e160a2145..71fffa174425 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c | |||
@@ -905,14 +905,17 @@ static int powernowk8_target(struct cpufreq_policy *pol, unsigned targfreq, unsi | |||
905 | { | 905 | { |
906 | cpumask_t oldmask = CPU_MASK_ALL; | 906 | cpumask_t oldmask = CPU_MASK_ALL; |
907 | struct powernow_k8_data *data = powernow_data[pol->cpu]; | 907 | struct powernow_k8_data *data = powernow_data[pol->cpu]; |
908 | u32 checkfid = data->currfid; | 908 | u32 checkfid; |
909 | u32 checkvid = data->currvid; | 909 | u32 checkvid; |
910 | unsigned int newstate; | 910 | unsigned int newstate; |
911 | int ret = -EIO; | 911 | int ret = -EIO; |
912 | 912 | ||
913 | if (!data) | 913 | if (!data) |
914 | return -EINVAL; | 914 | return -EINVAL; |
915 | 915 | ||
916 | checkfid = data->currfid; | ||
917 | checkvid = data->currvid; | ||
918 | |||
916 | /* only run on specific CPU from here on */ | 919 | /* only run on specific CPU from here on */ |
917 | oldmask = current->cpus_allowed; | 920 | oldmask = current->cpus_allowed; |
918 | set_cpus_allowed(current, cpumask_of_cpu(pol->cpu)); | 921 | set_cpus_allowed(current, cpumask_of_cpu(pol->cpu)); |
@@ -1109,9 +1112,6 @@ static unsigned int powernowk8_get (unsigned int cpu) | |||
1109 | if (!data) | 1112 | if (!data) |
1110 | return -EINVAL; | 1113 | return -EINVAL; |
1111 | 1114 | ||
1112 | if (!data) | ||
1113 | return -EINVAL; | ||
1114 | |||
1115 | set_cpus_allowed(current, cpumask_of_cpu(cpu)); | 1115 | set_cpus_allowed(current, cpumask_of_cpu(cpu)); |
1116 | if (smp_processor_id() != cpu) { | 1116 | if (smp_processor_id() != cpu) { |
1117 | printk(KERN_ERR PFX "limiting to CPU %d failed in powernowk8_get\n", cpu); | 1117 | printk(KERN_ERR PFX "limiting to CPU %d failed in powernowk8_get\n", cpu); |
diff --git a/arch/i386/kernel/cpu/intel_cacheinfo.c b/arch/i386/kernel/cpu/intel_cacheinfo.c index 9df87b03612c..c8547a6fa7e6 100644 --- a/arch/i386/kernel/cpu/intel_cacheinfo.c +++ b/arch/i386/kernel/cpu/intel_cacheinfo.c | |||
@@ -642,7 +642,7 @@ static void __cpuexit cache_remove_dev(struct sys_device * sys_dev) | |||
642 | return; | 642 | return; |
643 | } | 643 | } |
644 | 644 | ||
645 | static int __cpuinit cacheinfo_cpu_callback(struct notifier_block *nfb, | 645 | static int cacheinfo_cpu_callback(struct notifier_block *nfb, |
646 | unsigned long action, void *hcpu) | 646 | unsigned long action, void *hcpu) |
647 | { | 647 | { |
648 | unsigned int cpu = (unsigned long)hcpu; | 648 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/i386/kernel/cpuid.c b/arch/i386/kernel/cpuid.c index 006141d1c12a..1d9a4abcdfc7 100644 --- a/arch/i386/kernel/cpuid.c +++ b/arch/i386/kernel/cpuid.c | |||
@@ -168,7 +168,7 @@ static int cpuid_class_device_create(int i) | |||
168 | return err; | 168 | return err; |
169 | } | 169 | } |
170 | 170 | ||
171 | static int __devinit cpuid_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | 171 | static int cpuid_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) |
172 | { | 172 | { |
173 | unsigned int cpu = (unsigned long)hcpu; | 173 | unsigned int cpu = (unsigned long)hcpu; |
174 | 174 | ||
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c index f19768789e8a..38806f427849 100644 --- a/arch/i386/kernel/kprobes.c +++ b/arch/i386/kernel/kprobes.c | |||
@@ -43,7 +43,7 @@ DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL; | |||
43 | DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); | 43 | DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); |
44 | 44 | ||
45 | /* insert a jmp code */ | 45 | /* insert a jmp code */ |
46 | static inline void set_jmp_op(void *from, void *to) | 46 | static __always_inline void set_jmp_op(void *from, void *to) |
47 | { | 47 | { |
48 | struct __arch_jmp_op { | 48 | struct __arch_jmp_op { |
49 | char op; | 49 | char op; |
@@ -57,7 +57,7 @@ static inline void set_jmp_op(void *from, void *to) | |||
57 | /* | 57 | /* |
58 | * returns non-zero if opcodes can be boosted. | 58 | * returns non-zero if opcodes can be boosted. |
59 | */ | 59 | */ |
60 | static inline int can_boost(kprobe_opcode_t opcode) | 60 | static __always_inline int can_boost(kprobe_opcode_t opcode) |
61 | { | 61 | { |
62 | switch (opcode & 0xf0 ) { | 62 | switch (opcode & 0xf0 ) { |
63 | case 0x70: | 63 | case 0x70: |
@@ -88,7 +88,7 @@ static inline int can_boost(kprobe_opcode_t opcode) | |||
88 | /* | 88 | /* |
89 | * returns non-zero if opcode modifies the interrupt flag. | 89 | * returns non-zero if opcode modifies the interrupt flag. |
90 | */ | 90 | */ |
91 | static inline int is_IF_modifier(kprobe_opcode_t opcode) | 91 | static int __kprobes is_IF_modifier(kprobe_opcode_t opcode) |
92 | { | 92 | { |
93 | switch (opcode) { | 93 | switch (opcode) { |
94 | case 0xfa: /* cli */ | 94 | case 0xfa: /* cli */ |
@@ -138,7 +138,7 @@ void __kprobes arch_remove_kprobe(struct kprobe *p) | |||
138 | mutex_unlock(&kprobe_mutex); | 138 | mutex_unlock(&kprobe_mutex); |
139 | } | 139 | } |
140 | 140 | ||
141 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | 141 | static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) |
142 | { | 142 | { |
143 | kcb->prev_kprobe.kp = kprobe_running(); | 143 | kcb->prev_kprobe.kp = kprobe_running(); |
144 | kcb->prev_kprobe.status = kcb->kprobe_status; | 144 | kcb->prev_kprobe.status = kcb->kprobe_status; |
@@ -146,7 +146,7 @@ static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | |||
146 | kcb->prev_kprobe.saved_eflags = kcb->kprobe_saved_eflags; | 146 | kcb->prev_kprobe.saved_eflags = kcb->kprobe_saved_eflags; |
147 | } | 147 | } |
148 | 148 | ||
149 | static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | 149 | static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) |
150 | { | 150 | { |
151 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; | 151 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; |
152 | kcb->kprobe_status = kcb->prev_kprobe.status; | 152 | kcb->kprobe_status = kcb->prev_kprobe.status; |
@@ -154,7 +154,7 @@ static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | |||
154 | kcb->kprobe_saved_eflags = kcb->prev_kprobe.saved_eflags; | 154 | kcb->kprobe_saved_eflags = kcb->prev_kprobe.saved_eflags; |
155 | } | 155 | } |
156 | 156 | ||
157 | static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | 157 | static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, |
158 | struct kprobe_ctlblk *kcb) | 158 | struct kprobe_ctlblk *kcb) |
159 | { | 159 | { |
160 | __get_cpu_var(current_kprobe) = p; | 160 | __get_cpu_var(current_kprobe) = p; |
@@ -164,7 +164,7 @@ static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | |||
164 | kcb->kprobe_saved_eflags &= ~IF_MASK; | 164 | kcb->kprobe_saved_eflags &= ~IF_MASK; |
165 | } | 165 | } |
166 | 166 | ||
167 | static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | 167 | static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) |
168 | { | 168 | { |
169 | regs->eflags |= TF_MASK; | 169 | regs->eflags |= TF_MASK; |
170 | regs->eflags &= ~IF_MASK; | 170 | regs->eflags &= ~IF_MASK; |
@@ -242,10 +242,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
242 | kcb->kprobe_status = KPROBE_REENTER; | 242 | kcb->kprobe_status = KPROBE_REENTER; |
243 | return 1; | 243 | return 1; |
244 | } else { | 244 | } else { |
245 | if (regs->eflags & VM_MASK) { | ||
246 | /* We are in virtual-8086 mode. Return 0 */ | ||
247 | goto no_kprobe; | ||
248 | } | ||
249 | if (*addr != BREAKPOINT_INSTRUCTION) { | 245 | if (*addr != BREAKPOINT_INSTRUCTION) { |
250 | /* The breakpoint instruction was removed by | 246 | /* The breakpoint instruction was removed by |
251 | * another cpu right after we hit, no further | 247 | * another cpu right after we hit, no further |
@@ -265,11 +261,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
265 | 261 | ||
266 | p = get_kprobe(addr); | 262 | p = get_kprobe(addr); |
267 | if (!p) { | 263 | if (!p) { |
268 | if (regs->eflags & VM_MASK) { | ||
269 | /* We are in virtual-8086 mode. Return 0 */ | ||
270 | goto no_kprobe; | ||
271 | } | ||
272 | |||
273 | if (*addr != BREAKPOINT_INSTRUCTION) { | 264 | if (*addr != BREAKPOINT_INSTRUCTION) { |
274 | /* | 265 | /* |
275 | * The breakpoint instruction was removed right | 266 | * The breakpoint instruction was removed right |
@@ -452,10 +443,11 @@ static void __kprobes resume_execution(struct kprobe *p, | |||
452 | *tos &= ~(TF_MASK | IF_MASK); | 443 | *tos &= ~(TF_MASK | IF_MASK); |
453 | *tos |= kcb->kprobe_old_eflags; | 444 | *tos |= kcb->kprobe_old_eflags; |
454 | break; | 445 | break; |
455 | case 0xc3: /* ret/lret */ | 446 | case 0xc2: /* iret/ret/lret */ |
456 | case 0xcb: | 447 | case 0xc3: |
457 | case 0xc2: | ||
458 | case 0xca: | 448 | case 0xca: |
449 | case 0xcb: | ||
450 | case 0xcf: | ||
459 | case 0xea: /* jmp absolute -- eip is correct */ | 451 | case 0xea: /* jmp absolute -- eip is correct */ |
460 | /* eip is already adjusted, no more changes required */ | 452 | /* eip is already adjusted, no more changes required */ |
461 | p->ainsn.boostable = 1; | 453 | p->ainsn.boostable = 1; |
@@ -463,10 +455,13 @@ static void __kprobes resume_execution(struct kprobe *p, | |||
463 | case 0xe8: /* call relative - Fix return addr */ | 455 | case 0xe8: /* call relative - Fix return addr */ |
464 | *tos = orig_eip + (*tos - copy_eip); | 456 | *tos = orig_eip + (*tos - copy_eip); |
465 | break; | 457 | break; |
458 | case 0x9a: /* call absolute -- same as call absolute, indirect */ | ||
459 | *tos = orig_eip + (*tos - copy_eip); | ||
460 | goto no_change; | ||
466 | case 0xff: | 461 | case 0xff: |
467 | if ((p->ainsn.insn[1] & 0x30) == 0x10) { | 462 | if ((p->ainsn.insn[1] & 0x30) == 0x10) { |
468 | /* call absolute, indirect */ | ||
469 | /* | 463 | /* |
464 | * call absolute, indirect | ||
470 | * Fix return addr; eip is correct. | 465 | * Fix return addr; eip is correct. |
471 | * But this is not boostable | 466 | * But this is not boostable |
472 | */ | 467 | */ |
@@ -507,7 +502,7 @@ no_change: | |||
507 | * Interrupts are disabled on entry as trap1 is an interrupt gate and they | 502 | * Interrupts are disabled on entry as trap1 is an interrupt gate and they |
508 | * remain disabled thoroughout this function. | 503 | * remain disabled thoroughout this function. |
509 | */ | 504 | */ |
510 | static inline int post_kprobe_handler(struct pt_regs *regs) | 505 | static int __kprobes post_kprobe_handler(struct pt_regs *regs) |
511 | { | 506 | { |
512 | struct kprobe *cur = kprobe_running(); | 507 | struct kprobe *cur = kprobe_running(); |
513 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 508 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
@@ -543,7 +538,7 @@ out: | |||
543 | return 1; | 538 | return 1; |
544 | } | 539 | } |
545 | 540 | ||
546 | static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr) | 541 | static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) |
547 | { | 542 | { |
548 | struct kprobe *cur = kprobe_running(); | 543 | struct kprobe *cur = kprobe_running(); |
549 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 544 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
diff --git a/arch/i386/kernel/msr.c b/arch/i386/kernel/msr.c index 1d0a55e68760..7a328230e540 100644 --- a/arch/i386/kernel/msr.c +++ b/arch/i386/kernel/msr.c | |||
@@ -251,7 +251,7 @@ static int msr_class_device_create(int i) | |||
251 | return err; | 251 | return err; |
252 | } | 252 | } |
253 | 253 | ||
254 | static int __devinit msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | 254 | static int msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) |
255 | { | 255 | { |
256 | unsigned int cpu = (unsigned long)hcpu; | 256 | unsigned int cpu = (unsigned long)hcpu; |
257 | 257 | ||
diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c index 506462ef36a0..fd7eaf7866e0 100644 --- a/arch/i386/kernel/ptrace.c +++ b/arch/i386/kernel/ptrace.c | |||
@@ -671,7 +671,7 @@ int do_syscall_trace(struct pt_regs *regs, int entryexit) | |||
671 | 671 | ||
672 | if (unlikely(current->audit_context)) { | 672 | if (unlikely(current->audit_context)) { |
673 | if (entryexit) | 673 | if (entryexit) |
674 | audit_syscall_exit(current, AUDITSC_RESULT(regs->eax), | 674 | audit_syscall_exit(AUDITSC_RESULT(regs->eax), |
675 | regs->eax); | 675 | regs->eax); |
676 | /* Debug traps, when using PTRACE_SINGLESTEP, must be sent only | 676 | /* Debug traps, when using PTRACE_SINGLESTEP, must be sent only |
677 | * on the syscall exit path. Normally, when TIF_SYSCALL_AUDIT is | 677 | * on the syscall exit path. Normally, when TIF_SYSCALL_AUDIT is |
@@ -720,14 +720,13 @@ int do_syscall_trace(struct pt_regs *regs, int entryexit) | |||
720 | ret = is_sysemu; | 720 | ret = is_sysemu; |
721 | out: | 721 | out: |
722 | if (unlikely(current->audit_context) && !entryexit) | 722 | if (unlikely(current->audit_context) && !entryexit) |
723 | audit_syscall_entry(current, AUDIT_ARCH_I386, regs->orig_eax, | 723 | audit_syscall_entry(AUDIT_ARCH_I386, regs->orig_eax, |
724 | regs->ebx, regs->ecx, regs->edx, regs->esi); | 724 | regs->ebx, regs->ecx, regs->edx, regs->esi); |
725 | if (ret == 0) | 725 | if (ret == 0) |
726 | return 0; | 726 | return 0; |
727 | 727 | ||
728 | regs->orig_eax = -1; /* force skip of syscall restarting */ | 728 | regs->orig_eax = -1; /* force skip of syscall restarting */ |
729 | if (unlikely(current->audit_context)) | 729 | if (unlikely(current->audit_context)) |
730 | audit_syscall_exit(current, AUDITSC_RESULT(regs->eax), | 730 | audit_syscall_exit(AUDITSC_RESULT(regs->eax), regs->eax); |
731 | regs->eax); | ||
732 | return 1; | 731 | return 1; |
733 | } | 732 | } |
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 80cb3b2d0997..d77e89ac0d54 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
@@ -970,8 +970,10 @@ efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg) | |||
970 | * not-overlapping, which is the case | 970 | * not-overlapping, which is the case |
971 | */ | 971 | */ |
972 | int __init | 972 | int __init |
973 | e820_all_mapped(unsigned long start, unsigned long end, unsigned type) | 973 | e820_all_mapped(unsigned long s, unsigned long e, unsigned type) |
974 | { | 974 | { |
975 | u64 start = s; | ||
976 | u64 end = e; | ||
975 | int i; | 977 | int i; |
976 | for (i = 0; i < e820.nr_map; i++) { | 978 | for (i = 0; i < e820.nr_map; i++) { |
977 | struct e820entry *ei = &e820.map[i]; | 979 | struct e820entry *ei = &e820.map[i]; |
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index a6969903f2d6..825b2b4ca721 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -313,7 +313,9 @@ static void __init synchronize_tsc_bp (void) | |||
313 | if (tsc_values[i] < avg) | 313 | if (tsc_values[i] < avg) |
314 | realdelta = -realdelta; | 314 | realdelta = -realdelta; |
315 | 315 | ||
316 | printk(KERN_INFO "CPU#%d had %ld usecs TSC skew, fixed it up.\n", i, realdelta); | 316 | if (realdelta > 0) |
317 | printk(KERN_INFO "CPU#%d had %ld usecs TSC " | ||
318 | "skew, fixed it up.\n", i, realdelta); | ||
317 | } | 319 | } |
318 | 320 | ||
319 | sum += delta; | 321 | sum += delta; |
diff --git a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c index 5e41ee29c8cf..f1187ddb0d0f 100644 --- a/arch/i386/kernel/timers/timer_tsc.c +++ b/arch/i386/kernel/timers/timer_tsc.c | |||
@@ -279,7 +279,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
279 | { | 279 | { |
280 | struct cpufreq_freqs *freq = data; | 280 | struct cpufreq_freqs *freq = data; |
281 | 281 | ||
282 | if (val != CPUFREQ_RESUMECHANGE) | 282 | if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) |
283 | write_seqlock_irq(&xtime_lock); | 283 | write_seqlock_irq(&xtime_lock); |
284 | if (!ref_freq) { | 284 | if (!ref_freq) { |
285 | if (!freq->old){ | 285 | if (!freq->old){ |
@@ -312,7 +312,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
312 | } | 312 | } |
313 | 313 | ||
314 | end: | 314 | end: |
315 | if (val != CPUFREQ_RESUMECHANGE) | 315 | if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) |
316 | write_sequnlock_irq(&xtime_lock); | 316 | write_sequnlock_irq(&xtime_lock); |
317 | 317 | ||
318 | return 0; | 318 | return 0; |
diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index aee14fafd13d..00e0118e717c 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c | |||
@@ -312,7 +312,7 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk | |||
312 | 312 | ||
313 | /*call audit_syscall_exit since we do not exit via the normal paths */ | 313 | /*call audit_syscall_exit since we do not exit via the normal paths */ |
314 | if (unlikely(current->audit_context)) | 314 | if (unlikely(current->audit_context)) |
315 | audit_syscall_exit(current, AUDITSC_RESULT(eax), eax); | 315 | audit_syscall_exit(AUDITSC_RESULT(eax), eax); |
316 | 316 | ||
317 | __asm__ __volatile__( | 317 | __asm__ __volatile__( |
318 | "movl %0,%%esp\n\t" | 318 | "movl %0,%%esp\n\t" |
diff --git a/arch/i386/mach-voyager/voyager_cat.c b/arch/i386/mach-voyager/voyager_cat.c index 3039539de51e..10d21df14531 100644 --- a/arch/i386/mach-voyager/voyager_cat.c +++ b/arch/i386/mach-voyager/voyager_cat.c | |||
@@ -120,7 +120,6 @@ static struct resource qic_res = { | |||
120 | * It writes num_bits of the data buffer in msg starting at start_bit. | 120 | * It writes num_bits of the data buffer in msg starting at start_bit. |
121 | * Note: This function assumes that any unused bit in the data stream | 121 | * Note: This function assumes that any unused bit in the data stream |
122 | * is set to zero so that the ors will work correctly */ | 122 | * is set to zero so that the ors will work correctly */ |
123 | #define BITS_PER_BYTE 8 | ||
124 | static void | 123 | static void |
125 | cat_pack(__u8 *msg, const __u16 start_bit, __u8 *data, const __u16 num_bits) | 124 | cat_pack(__u8 *msg, const __u16 start_bit, __u8 *data, const __u16 num_bits) |
126 | { | 125 | { |
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 73235443fda7..06dab00aaadc 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c | |||
@@ -591,7 +591,6 @@ static __init int via_router_probe(struct irq_router *r, | |||
591 | case PCI_DEVICE_ID_VIA_8233A: | 591 | case PCI_DEVICE_ID_VIA_8233A: |
592 | case PCI_DEVICE_ID_VIA_8235: | 592 | case PCI_DEVICE_ID_VIA_8235: |
593 | case PCI_DEVICE_ID_VIA_8237: | 593 | case PCI_DEVICE_ID_VIA_8237: |
594 | case PCI_DEVICE_ID_VIA_8237_SATA: | ||
595 | /* FIXME: add new ones for 8233/5 */ | 594 | /* FIXME: add new ones for 8233/5 */ |
596 | r->name = "VIA"; | 595 | r->name = "VIA"; |
597 | r->get = pirq_via_get; | 596 | r->get = pirq_via_get; |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 9f40eeff0b5c..0f3076a820c3 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -413,6 +413,8 @@ config IA64_PALINFO | |||
413 | config SGI_SN | 413 | config SGI_SN |
414 | def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) | 414 | def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) |
415 | 415 | ||
416 | source "drivers/sn/Kconfig" | ||
417 | |||
416 | source "drivers/firmware/Kconfig" | 418 | source "drivers/firmware/Kconfig" |
417 | 419 | ||
418 | source "fs/Kconfig.binfmt" | 420 | source "fs/Kconfig.binfmt" |
diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig index a718034d68d0..f6a8853cd1b4 100644 --- a/arch/ia64/configs/sn2_defconfig +++ b/arch/ia64/configs/sn2_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc5 | 3 | # Linux kernel version: 2.6.17-rc3 |
4 | # Mon Feb 27 16:06:38 2006 | 4 | # Thu Apr 27 11:48:23 2006 |
5 | # | 5 | # |
6 | 6 | ||
7 | # | 7 | # |
@@ -24,6 +24,7 @@ CONFIG_SYSCTL=y | |||
24 | # CONFIG_AUDIT is not set | 24 | # CONFIG_AUDIT is not set |
25 | # CONFIG_IKCONFIG is not set | 25 | # CONFIG_IKCONFIG is not set |
26 | CONFIG_CPUSETS=y | 26 | CONFIG_CPUSETS=y |
27 | CONFIG_RELAY=y | ||
27 | CONFIG_INITRAMFS_SOURCE="" | 28 | CONFIG_INITRAMFS_SOURCE="" |
28 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 29 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
29 | # CONFIG_EMBEDDED is not set | 30 | # CONFIG_EMBEDDED is not set |
@@ -38,10 +39,6 @@ CONFIG_BASE_FULL=y | |||
38 | CONFIG_FUTEX=y | 39 | CONFIG_FUTEX=y |
39 | CONFIG_EPOLL=y | 40 | CONFIG_EPOLL=y |
40 | CONFIG_SHMEM=y | 41 | CONFIG_SHMEM=y |
41 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
42 | CONFIG_CC_ALIGN_LABELS=0 | ||
43 | CONFIG_CC_ALIGN_LOOPS=0 | ||
44 | CONFIG_CC_ALIGN_JUMPS=0 | ||
45 | CONFIG_SLAB=y | 42 | CONFIG_SLAB=y |
46 | # CONFIG_TINY_SHMEM is not set | 43 | # CONFIG_TINY_SHMEM is not set |
47 | CONFIG_BASE_SMALL=0 | 44 | CONFIG_BASE_SMALL=0 |
@@ -53,7 +50,6 @@ CONFIG_BASE_SMALL=0 | |||
53 | CONFIG_MODULES=y | 50 | CONFIG_MODULES=y |
54 | CONFIG_MODULE_UNLOAD=y | 51 | CONFIG_MODULE_UNLOAD=y |
55 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 52 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
56 | CONFIG_OBSOLETE_MODPARM=y | ||
57 | # CONFIG_MODVERSIONS is not set | 53 | # CONFIG_MODVERSIONS is not set |
58 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 54 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
59 | CONFIG_KMOD=y | 55 | CONFIG_KMOD=y |
@@ -62,6 +58,7 @@ CONFIG_STOP_MACHINE=y | |||
62 | # | 58 | # |
63 | # Block layer | 59 | # Block layer |
64 | # | 60 | # |
61 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
65 | 62 | ||
66 | # | 63 | # |
67 | # IO Schedulers | 64 | # IO Schedulers |
@@ -84,8 +81,10 @@ CONFIG_64BIT=y | |||
84 | CONFIG_MMU=y | 81 | CONFIG_MMU=y |
85 | CONFIG_SWIOTLB=y | 82 | CONFIG_SWIOTLB=y |
86 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 83 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
84 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
87 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 85 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
88 | CONFIG_TIME_INTERPOLATION=y | 86 | CONFIG_TIME_INTERPOLATION=y |
87 | CONFIG_DMI=y | ||
89 | CONFIG_EFI=y | 88 | CONFIG_EFI=y |
90 | CONFIG_GENERIC_IOMAP=y | 89 | CONFIG_GENERIC_IOMAP=y |
91 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 90 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y |
@@ -116,7 +115,6 @@ CONFIG_IA64_SGI_SN_XP=m | |||
116 | CONFIG_FORCE_MAX_ZONEORDER=17 | 115 | CONFIG_FORCE_MAX_ZONEORDER=17 |
117 | CONFIG_SMP=y | 116 | CONFIG_SMP=y |
118 | CONFIG_NR_CPUS=1024 | 117 | CONFIG_NR_CPUS=1024 |
119 | CONFIG_IA64_NR_NODES=256 | ||
120 | # CONFIG_HOTPLUG_CPU is not set | 118 | # CONFIG_HOTPLUG_CPU is not set |
121 | CONFIG_SCHED_SMT=y | 119 | CONFIG_SCHED_SMT=y |
122 | CONFIG_PREEMPT=y | 120 | CONFIG_PREEMPT=y |
@@ -136,6 +134,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y | |||
136 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 134 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
137 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | 135 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y |
138 | CONFIG_NUMA=y | 136 | CONFIG_NUMA=y |
137 | CONFIG_NODES_SHIFT=8 | ||
139 | CONFIG_VIRTUAL_MEM_MAP=y | 138 | CONFIG_VIRTUAL_MEM_MAP=y |
140 | CONFIG_HOLES_IN_ZONE=y | 139 | CONFIG_HOLES_IN_ZONE=y |
141 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | 140 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y |
@@ -187,7 +186,6 @@ CONFIG_ACPI_SYSTEM=y | |||
187 | CONFIG_PCI=y | 186 | CONFIG_PCI=y |
188 | CONFIG_PCI_DOMAINS=y | 187 | CONFIG_PCI_DOMAINS=y |
189 | # CONFIG_PCI_MSI is not set | 188 | # CONFIG_PCI_MSI is not set |
190 | CONFIG_PCI_LEGACY_PROC=y | ||
191 | # CONFIG_PCI_DEBUG is not set | 189 | # CONFIG_PCI_DEBUG is not set |
192 | 190 | ||
193 | # | 191 | # |
@@ -231,6 +229,7 @@ CONFIG_SYN_COOKIES=y | |||
231 | # CONFIG_INET_AH is not set | 229 | # CONFIG_INET_AH is not set |
232 | # CONFIG_INET_ESP is not set | 230 | # CONFIG_INET_ESP is not set |
233 | # CONFIG_INET_IPCOMP is not set | 231 | # CONFIG_INET_IPCOMP is not set |
232 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
234 | # CONFIG_INET_TUNNEL is not set | 233 | # CONFIG_INET_TUNNEL is not set |
235 | CONFIG_INET_DIAG=m | 234 | CONFIG_INET_DIAG=m |
236 | CONFIG_INET_TCP_DIAG=m | 235 | CONFIG_INET_TCP_DIAG=m |
@@ -238,9 +237,11 @@ CONFIG_INET_TCP_DIAG=m | |||
238 | CONFIG_TCP_CONG_BIC=y | 237 | CONFIG_TCP_CONG_BIC=y |
239 | CONFIG_IPV6=m | 238 | CONFIG_IPV6=m |
240 | # CONFIG_IPV6_PRIVACY is not set | 239 | # CONFIG_IPV6_PRIVACY is not set |
240 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
241 | # CONFIG_INET6_AH is not set | 241 | # CONFIG_INET6_AH is not set |
242 | # CONFIG_INET6_ESP is not set | 242 | # CONFIG_INET6_ESP is not set |
243 | # CONFIG_INET6_IPCOMP is not set | 243 | # CONFIG_INET6_IPCOMP is not set |
244 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
244 | # CONFIG_INET6_TUNNEL is not set | 245 | # CONFIG_INET6_TUNNEL is not set |
245 | # CONFIG_IPV6_TUNNEL is not set | 246 | # CONFIG_IPV6_TUNNEL is not set |
246 | # CONFIG_NETFILTER is not set | 247 | # CONFIG_NETFILTER is not set |
@@ -468,9 +469,14 @@ CONFIG_SCSI_SATA_VITESSE=y | |||
468 | # CONFIG_SCSI_INIA100 is not set | 469 | # CONFIG_SCSI_INIA100 is not set |
469 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 470 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
470 | # CONFIG_SCSI_IPR is not set | 471 | # CONFIG_SCSI_IPR is not set |
471 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
472 | CONFIG_SCSI_QLOGIC_1280=y | 472 | CONFIG_SCSI_QLOGIC_1280=y |
473 | # CONFIG_SCSI_QLA_FC is not set | 473 | CONFIG_SCSI_QLA_FC=y |
474 | CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE=y | ||
475 | # CONFIG_SCSI_QLA21XX is not set | ||
476 | CONFIG_SCSI_QLA22XX=y | ||
477 | CONFIG_SCSI_QLA2300=y | ||
478 | CONFIG_SCSI_QLA2322=y | ||
479 | # CONFIG_SCSI_QLA24XX is not set | ||
474 | # CONFIG_SCSI_LPFC is not set | 480 | # CONFIG_SCSI_LPFC is not set |
475 | # CONFIG_SCSI_DC395x is not set | 481 | # CONFIG_SCSI_DC395x is not set |
476 | # CONFIG_SCSI_DC390T is not set | 482 | # CONFIG_SCSI_DC390T is not set |
@@ -486,6 +492,7 @@ CONFIG_MD_RAID0=y | |||
486 | CONFIG_MD_RAID1=y | 492 | CONFIG_MD_RAID1=y |
487 | # CONFIG_MD_RAID10 is not set | 493 | # CONFIG_MD_RAID10 is not set |
488 | CONFIG_MD_RAID5=y | 494 | CONFIG_MD_RAID5=y |
495 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
489 | # CONFIG_MD_RAID6 is not set | 496 | # CONFIG_MD_RAID6 is not set |
490 | CONFIG_MD_MULTIPATH=y | 497 | CONFIG_MD_MULTIPATH=y |
491 | # CONFIG_MD_FAULTY is not set | 498 | # CONFIG_MD_FAULTY is not set |
@@ -694,6 +701,7 @@ CONFIG_EFI_RTC=y | |||
694 | # Ftape, the floppy tape device driver | 701 | # Ftape, the floppy tape device driver |
695 | # | 702 | # |
696 | CONFIG_AGP=y | 703 | CONFIG_AGP=y |
704 | # CONFIG_AGP_VIA is not set | ||
697 | CONFIG_AGP_SGI_TIOCA=y | 705 | CONFIG_AGP_SGI_TIOCA=y |
698 | # CONFIG_DRM is not set | 706 | # CONFIG_DRM is not set |
699 | CONFIG_RAW_DRIVER=m | 707 | CONFIG_RAW_DRIVER=m |
@@ -735,10 +743,6 @@ CONFIG_MMTIMER=y | |||
735 | # | 743 | # |
736 | 744 | ||
737 | # | 745 | # |
738 | # Multimedia Capabilities Port drivers | ||
739 | # | ||
740 | |||
741 | # | ||
742 | # Multimedia devices | 746 | # Multimedia devices |
743 | # | 747 | # |
744 | # CONFIG_VIDEO_DEV is not set | 748 | # CONFIG_VIDEO_DEV is not set |
@@ -747,6 +751,7 @@ CONFIG_MMTIMER=y | |||
747 | # Digital Video Broadcasting Devices | 751 | # Digital Video Broadcasting Devices |
748 | # | 752 | # |
749 | # CONFIG_DVB is not set | 753 | # CONFIG_DVB is not set |
754 | # CONFIG_USB_DABUSB is not set | ||
750 | 755 | ||
751 | # | 756 | # |
752 | # Graphics support | 757 | # Graphics support |
@@ -757,6 +762,7 @@ CONFIG_MMTIMER=y | |||
757 | # Console display driver support | 762 | # Console display driver support |
758 | # | 763 | # |
759 | CONFIG_VGA_CONSOLE=y | 764 | CONFIG_VGA_CONSOLE=y |
765 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
760 | CONFIG_DUMMY_CONSOLE=y | 766 | CONFIG_DUMMY_CONSOLE=y |
761 | 767 | ||
762 | # | 768 | # |
@@ -769,6 +775,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
769 | # | 775 | # |
770 | CONFIG_USB_ARCH_HAS_HCD=y | 776 | CONFIG_USB_ARCH_HAS_HCD=y |
771 | CONFIG_USB_ARCH_HAS_OHCI=y | 777 | CONFIG_USB_ARCH_HAS_OHCI=y |
778 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
772 | CONFIG_USB=m | 779 | CONFIG_USB=m |
773 | # CONFIG_USB_DEBUG is not set | 780 | # CONFIG_USB_DEBUG is not set |
774 | 781 | ||
@@ -829,9 +836,7 @@ CONFIG_USB_HIDINPUT=y | |||
829 | # CONFIG_USB_ACECAD is not set | 836 | # CONFIG_USB_ACECAD is not set |
830 | # CONFIG_USB_KBTAB is not set | 837 | # CONFIG_USB_KBTAB is not set |
831 | # CONFIG_USB_POWERMATE is not set | 838 | # CONFIG_USB_POWERMATE is not set |
832 | # CONFIG_USB_MTOUCH is not set | 839 | # CONFIG_USB_TOUCHSCREEN is not set |
833 | # CONFIG_USB_ITMTOUCH is not set | ||
834 | # CONFIG_USB_EGALAX is not set | ||
835 | # CONFIG_USB_YEALINK is not set | 840 | # CONFIG_USB_YEALINK is not set |
836 | # CONFIG_USB_XPAD is not set | 841 | # CONFIG_USB_XPAD is not set |
837 | # CONFIG_USB_ATI_REMOTE is not set | 842 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -846,15 +851,6 @@ CONFIG_USB_HIDINPUT=y | |||
846 | # CONFIG_USB_MICROTEK is not set | 851 | # CONFIG_USB_MICROTEK is not set |
847 | 852 | ||
848 | # | 853 | # |
849 | # USB Multimedia devices | ||
850 | # | ||
851 | # CONFIG_USB_DABUSB is not set | ||
852 | |||
853 | # | ||
854 | # Video4Linux support is needed for USB Multimedia device support | ||
855 | # | ||
856 | |||
857 | # | ||
858 | # USB Network Adapters | 854 | # USB Network Adapters |
859 | # | 855 | # |
860 | # CONFIG_USB_CATC is not set | 856 | # CONFIG_USB_CATC is not set |
@@ -905,15 +901,29 @@ CONFIG_USB_MON=y | |||
905 | # CONFIG_MMC is not set | 901 | # CONFIG_MMC is not set |
906 | 902 | ||
907 | # | 903 | # |
904 | # LED devices | ||
905 | # | ||
906 | # CONFIG_NEW_LEDS is not set | ||
907 | |||
908 | # | ||
909 | # LED drivers | ||
910 | # | ||
911 | |||
912 | # | ||
913 | # LED Triggers | ||
914 | # | ||
915 | |||
916 | # | ||
908 | # InfiniBand support | 917 | # InfiniBand support |
909 | # | 918 | # |
910 | CONFIG_INFINIBAND=m | 919 | CONFIG_INFINIBAND=m |
911 | # CONFIG_INFINIBAND_USER_MAD is not set | 920 | # CONFIG_INFINIBAND_USER_MAD is not set |
912 | CONFIG_INFINIBAND_USER_ACCESS=m | 921 | CONFIG_INFINIBAND_USER_ACCESS=m |
913 | CONFIG_INFINIBAND_MTHCA=m | 922 | CONFIG_INFINIBAND_MTHCA=m |
914 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | 923 | CONFIG_INFINIBAND_MTHCA_DEBUG=y |
915 | CONFIG_INFINIBAND_IPOIB=m | 924 | CONFIG_INFINIBAND_IPOIB=m |
916 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 925 | CONFIG_INFINIBAND_IPOIB_DEBUG=y |
926 | # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set | ||
917 | CONFIG_INFINIBAND_SRP=m | 927 | CONFIG_INFINIBAND_SRP=m |
918 | 928 | ||
919 | # | 929 | # |
@@ -923,8 +933,13 @@ CONFIG_SGI_IOC4=y | |||
923 | CONFIG_SGI_IOC3=y | 933 | CONFIG_SGI_IOC3=y |
924 | 934 | ||
925 | # | 935 | # |
926 | # EDAC - error detection and reporting (RAS) | 936 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
937 | # | ||
938 | |||
939 | # | ||
940 | # Real Time Clock | ||
927 | # | 941 | # |
942 | # CONFIG_RTC_CLASS is not set | ||
928 | 943 | ||
929 | # | 944 | # |
930 | # File systems | 945 | # File systems |
@@ -997,7 +1012,6 @@ CONFIG_TMPFS=y | |||
997 | CONFIG_HUGETLBFS=y | 1012 | CONFIG_HUGETLBFS=y |
998 | CONFIG_HUGETLB_PAGE=y | 1013 | CONFIG_HUGETLB_PAGE=y |
999 | CONFIG_RAMFS=y | 1014 | CONFIG_RAMFS=y |
1000 | CONFIG_RELAYFS_FS=m | ||
1001 | # CONFIG_CONFIGFS_FS is not set | 1015 | # CONFIG_CONFIGFS_FS is not set |
1002 | 1016 | ||
1003 | # | 1017 | # |
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c index 4e7a6a1ec6c7..da03c06744f1 100644 --- a/arch/ia64/ia32/binfmt_elf32.c +++ b/arch/ia64/ia32/binfmt_elf32.c | |||
@@ -35,6 +35,9 @@ extern void ia64_elf32_init (struct pt_regs *regs); | |||
35 | 35 | ||
36 | static void elf32_set_personality (void); | 36 | static void elf32_set_personality (void); |
37 | 37 | ||
38 | static unsigned long __attribute ((unused)) | ||
39 | randomize_stack_top(unsigned long stack_top); | ||
40 | |||
38 | #define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec) | 41 | #define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec) |
39 | #define elf_map elf32_map | 42 | #define elf_map elf32_map |
40 | 43 | ||
diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S index 95fe04400f6b..a32cd59b81ed 100644 --- a/arch/ia64/ia32/ia32_entry.S +++ b/arch/ia64/ia32/ia32_entry.S | |||
@@ -334,7 +334,7 @@ ia32_syscall_table: | |||
334 | data8 sys_setdomainname | 334 | data8 sys_setdomainname |
335 | data8 sys32_newuname | 335 | data8 sys32_newuname |
336 | data8 sys32_modify_ldt | 336 | data8 sys32_modify_ldt |
337 | data8 sys_ni_syscall /* adjtimex */ | 337 | data8 compat_sys_adjtimex |
338 | data8 sys32_mprotect /* 125 */ | 338 | data8 sys32_mprotect /* 125 */ |
339 | data8 compat_sys_sigprocmask | 339 | data8 compat_sys_sigprocmask |
340 | data8 sys_ni_syscall /* create_module */ | 340 | data8 sys_ni_syscall /* create_module */ |
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index e30798811216..bcb80ca5cf40 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -1610,5 +1610,6 @@ sys_call_table: | |||
1610 | data8 sys_get_robust_list | 1610 | data8 sys_get_robust_list |
1611 | data8 sys_sync_file_range // 1300 | 1611 | data8 sys_sync_file_range // 1300 |
1612 | data8 sys_tee | 1612 | data8 sys_tee |
1613 | data8 sys_vmsplice | ||
1613 | 1614 | ||
1614 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls | 1615 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls |
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 789881ca83d4..f9039f88d01d 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -251,7 +251,7 @@ static void __kprobes prepare_break_inst(uint template, uint slot, | |||
251 | update_kprobe_inst_flag(template, slot, major_opcode, kprobe_inst, p); | 251 | update_kprobe_inst_flag(template, slot, major_opcode, kprobe_inst, p); |
252 | } | 252 | } |
253 | 253 | ||
254 | static inline void get_kprobe_inst(bundle_t *bundle, uint slot, | 254 | static void __kprobes get_kprobe_inst(bundle_t *bundle, uint slot, |
255 | unsigned long *kprobe_inst, uint *major_opcode) | 255 | unsigned long *kprobe_inst, uint *major_opcode) |
256 | { | 256 | { |
257 | unsigned long kprobe_inst_p0, kprobe_inst_p1; | 257 | unsigned long kprobe_inst_p0, kprobe_inst_p1; |
@@ -278,7 +278,7 @@ static inline void get_kprobe_inst(bundle_t *bundle, uint slot, | |||
278 | } | 278 | } |
279 | 279 | ||
280 | /* Returns non-zero if the addr is in the Interrupt Vector Table */ | 280 | /* Returns non-zero if the addr is in the Interrupt Vector Table */ |
281 | static inline int in_ivt_functions(unsigned long addr) | 281 | static int __kprobes in_ivt_functions(unsigned long addr) |
282 | { | 282 | { |
283 | return (addr >= (unsigned long)__start_ivt_text | 283 | return (addr >= (unsigned long)__start_ivt_text |
284 | && addr < (unsigned long)__end_ivt_text); | 284 | && addr < (unsigned long)__end_ivt_text); |
@@ -308,19 +308,19 @@ static int __kprobes valid_kprobe_addr(int template, int slot, | |||
308 | return 0; | 308 | return 0; |
309 | } | 309 | } |
310 | 310 | ||
311 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | 311 | static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) |
312 | { | 312 | { |
313 | kcb->prev_kprobe.kp = kprobe_running(); | 313 | kcb->prev_kprobe.kp = kprobe_running(); |
314 | kcb->prev_kprobe.status = kcb->kprobe_status; | 314 | kcb->prev_kprobe.status = kcb->kprobe_status; |
315 | } | 315 | } |
316 | 316 | ||
317 | static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | 317 | static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) |
318 | { | 318 | { |
319 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; | 319 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; |
320 | kcb->kprobe_status = kcb->prev_kprobe.status; | 320 | kcb->kprobe_status = kcb->prev_kprobe.status; |
321 | } | 321 | } |
322 | 322 | ||
323 | static inline void set_current_kprobe(struct kprobe *p, | 323 | static void __kprobes set_current_kprobe(struct kprobe *p, |
324 | struct kprobe_ctlblk *kcb) | 324 | struct kprobe_ctlblk *kcb) |
325 | { | 325 | { |
326 | __get_cpu_var(current_kprobe) = p; | 326 | __get_cpu_var(current_kprobe) = p; |
diff --git a/arch/ia64/kernel/mca_drv.c b/arch/ia64/kernel/mca_drv.c index 37c88eb55873..ca6666b51ccb 100644 --- a/arch/ia64/kernel/mca_drv.c +++ b/arch/ia64/kernel/mca_drv.c | |||
@@ -62,6 +62,11 @@ typedef enum { | |||
62 | ISOLATE_NONE | 62 | ISOLATE_NONE |
63 | } isolate_status_t; | 63 | } isolate_status_t; |
64 | 64 | ||
65 | typedef enum { | ||
66 | MCA_NOT_RECOVERED = 0, | ||
67 | MCA_RECOVERED = 1 | ||
68 | } recovery_status_t; | ||
69 | |||
65 | /* | 70 | /* |
66 | * This pool keeps pointers to the section part of SAL error record | 71 | * This pool keeps pointers to the section part of SAL error record |
67 | */ | 72 | */ |
@@ -71,6 +76,18 @@ static struct { | |||
71 | int max_idx; /* Maximum index of section pointer list pool */ | 76 | int max_idx; /* Maximum index of section pointer list pool */ |
72 | } slidx_pool; | 77 | } slidx_pool; |
73 | 78 | ||
79 | static int | ||
80 | fatal_mca(const char *fmt, ...) | ||
81 | { | ||
82 | va_list args; | ||
83 | |||
84 | va_start(args, fmt); | ||
85 | vprintk(fmt, args); | ||
86 | va_end(args); | ||
87 | |||
88 | return MCA_NOT_RECOVERED; | ||
89 | } | ||
90 | |||
74 | /** | 91 | /** |
75 | * mca_page_isolate - isolate a poisoned page in order not to use it later | 92 | * mca_page_isolate - isolate a poisoned page in order not to use it later |
76 | * @paddr: poisoned memory location | 93 | * @paddr: poisoned memory location |
@@ -424,7 +441,7 @@ recover_from_read_error(slidx_table_t *slidx, | |||
424 | 441 | ||
425 | /* Is target address valid? */ | 442 | /* Is target address valid? */ |
426 | if (!pbci->tv) | 443 | if (!pbci->tv) |
427 | return 0; | 444 | return fatal_mca(KERN_ALERT "MCA: target address not valid\n"); |
428 | 445 | ||
429 | /* | 446 | /* |
430 | * cpu read or memory-mapped io read | 447 | * cpu read or memory-mapped io read |
@@ -442,7 +459,7 @@ recover_from_read_error(slidx_table_t *slidx, | |||
442 | 459 | ||
443 | /* Is minstate valid? */ | 460 | /* Is minstate valid? */ |
444 | if (!peidx_bottom(peidx) || !(peidx_bottom(peidx)->valid.minstate)) | 461 | if (!peidx_bottom(peidx) || !(peidx_bottom(peidx)->valid.minstate)) |
445 | return 0; | 462 | return fatal_mca(KERN_ALERT "MCA: minstate not valid\n"); |
446 | psr1 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_ipsr); | 463 | psr1 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_ipsr); |
447 | psr2 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_xpsr); | 464 | psr2 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_xpsr); |
448 | 465 | ||
@@ -476,12 +493,13 @@ recover_from_read_error(slidx_table_t *slidx, | |||
476 | psr2->bn = 1; | 493 | psr2->bn = 1; |
477 | psr2->i = 0; | 494 | psr2->i = 0; |
478 | 495 | ||
479 | return 1; | 496 | return MCA_RECOVERED; |
480 | } | 497 | } |
481 | 498 | ||
482 | } | 499 | } |
483 | 500 | ||
484 | return 0; | 501 | return fatal_mca(KERN_ALERT "MCA: kernel context not recovered," |
502 | " iip 0x%lx\n", pmsa->pmsa_iip); | ||
485 | } | 503 | } |
486 | 504 | ||
487 | /** | 505 | /** |
@@ -567,13 +585,13 @@ recover_from_processor_error(int platform, slidx_table_t *slidx, | |||
567 | * The machine check is corrected. | 585 | * The machine check is corrected. |
568 | */ | 586 | */ |
569 | if (psp->cm == 1) | 587 | if (psp->cm == 1) |
570 | return 1; | 588 | return MCA_RECOVERED; |
571 | 589 | ||
572 | /* | 590 | /* |
573 | * The error was not contained. Software must be reset. | 591 | * The error was not contained. Software must be reset. |
574 | */ | 592 | */ |
575 | if (psp->us || psp->ci == 0) | 593 | if (psp->us || psp->ci == 0) |
576 | return 0; | 594 | return fatal_mca(KERN_ALERT "MCA: error not contained\n"); |
577 | 595 | ||
578 | /* | 596 | /* |
579 | * The cache check and bus check bits have four possible states | 597 | * The cache check and bus check bits have four possible states |
@@ -584,20 +602,22 @@ recover_from_processor_error(int platform, slidx_table_t *slidx, | |||
584 | * 1 1 Memory error, attempt recovery | 602 | * 1 1 Memory error, attempt recovery |
585 | */ | 603 | */ |
586 | if (psp->bc == 0 || pbci == NULL) | 604 | if (psp->bc == 0 || pbci == NULL) |
587 | return 0; | 605 | return fatal_mca(KERN_ALERT "MCA: No bus check\n"); |
588 | 606 | ||
589 | /* | 607 | /* |
590 | * Sorry, we cannot handle so many. | 608 | * Sorry, we cannot handle so many. |
591 | */ | 609 | */ |
592 | if (peidx_bus_check_num(peidx) > 1) | 610 | if (peidx_bus_check_num(peidx) > 1) |
593 | return 0; | 611 | return fatal_mca(KERN_ALERT "MCA: Too many bus checks\n"); |
594 | /* | 612 | /* |
595 | * Well, here is only one bus error. | 613 | * Well, here is only one bus error. |
596 | */ | 614 | */ |
597 | if (pbci->ib || pbci->cc) | 615 | if (pbci->ib) |
598 | return 0; | 616 | return fatal_mca(KERN_ALERT "MCA: Internal Bus error\n"); |
617 | if (pbci->cc) | ||
618 | return fatal_mca(KERN_ALERT "MCA: Cache-cache error\n"); | ||
599 | if (pbci->eb && pbci->bsi > 0) | 619 | if (pbci->eb && pbci->bsi > 0) |
600 | return 0; | 620 | return fatal_mca(KERN_ALERT "MCA: External bus check fatal status\n"); |
601 | 621 | ||
602 | /* | 622 | /* |
603 | * This is a local MCA and estimated as recoverble external bus error. | 623 | * This is a local MCA and estimated as recoverble external bus error. |
@@ -609,7 +629,7 @@ recover_from_processor_error(int platform, slidx_table_t *slidx, | |||
609 | /* | 629 | /* |
610 | * On account of strange SAL error record, we cannot recover. | 630 | * On account of strange SAL error record, we cannot recover. |
611 | */ | 631 | */ |
612 | return 0; | 632 | return fatal_mca(KERN_ALERT "MCA: Strange SAL record\n"); |
613 | } | 633 | } |
614 | 634 | ||
615 | /** | 635 | /** |
@@ -638,12 +658,10 @@ mca_try_to_recover(void *rec, struct ia64_sal_os_state *sos) | |||
638 | 658 | ||
639 | /* Now, OS can recover when there is one processor error section */ | 659 | /* Now, OS can recover when there is one processor error section */ |
640 | if (n_proc_err > 1) | 660 | if (n_proc_err > 1) |
641 | return 0; | 661 | return fatal_mca(KERN_ALERT "MCA: Too Many Errors\n"); |
642 | else if (n_proc_err == 0) { | 662 | else if (n_proc_err == 0) |
643 | /* Weird SAL record ... We need not to recover */ | 663 | /* Weird SAL record ... We need not to recover */ |
644 | 664 | return fatal_mca(KERN_ALERT "MCA: Weird SAL record\n"); | |
645 | return 1; | ||
646 | } | ||
647 | 665 | ||
648 | /* Make index of processor error section */ | 666 | /* Make index of processor error section */ |
649 | mca_make_peidx((sal_log_processor_info_t*) | 667 | mca_make_peidx((sal_log_processor_info_t*) |
@@ -654,7 +672,7 @@ mca_try_to_recover(void *rec, struct ia64_sal_os_state *sos) | |||
654 | 672 | ||
655 | /* Check whether MCA is global or not */ | 673 | /* Check whether MCA is global or not */ |
656 | if (is_mca_global(&peidx, &pbci, sos)) | 674 | if (is_mca_global(&peidx, &pbci, sos)) |
657 | return 0; | 675 | return fatal_mca(KERN_ALERT "MCA: global MCA\n"); |
658 | 676 | ||
659 | /* Try to recover a processor error */ | 677 | /* Try to recover a processor error */ |
660 | return recover_from_processor_error(platform_err, &slidx, &peidx, | 678 | return recover_from_processor_error(platform_err, &slidx, &peidx, |
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index 6386f63c413e..859fb37ff49b 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c | |||
@@ -959,7 +959,7 @@ remove_palinfo_proc_entries(unsigned int hcpu) | |||
959 | } | 959 | } |
960 | } | 960 | } |
961 | 961 | ||
962 | static int __devinit palinfo_cpu_callback(struct notifier_block *nfb, | 962 | static int palinfo_cpu_callback(struct notifier_block *nfb, |
963 | unsigned long action, | 963 | unsigned long action, |
964 | void *hcpu) | 964 | void *hcpu) |
965 | { | 965 | { |
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c index 9887c8787e7a..e61e15e28d8b 100644 --- a/arch/ia64/kernel/ptrace.c +++ b/arch/ia64/kernel/ptrace.c | |||
@@ -1644,7 +1644,7 @@ syscall_trace_enter (long arg0, long arg1, long arg2, long arg3, | |||
1644 | arch = AUDIT_ARCH_IA64; | 1644 | arch = AUDIT_ARCH_IA64; |
1645 | } | 1645 | } |
1646 | 1646 | ||
1647 | audit_syscall_entry(current, arch, syscall, arg0, arg1, arg2, arg3); | 1647 | audit_syscall_entry(arch, syscall, arg0, arg1, arg2, arg3); |
1648 | } | 1648 | } |
1649 | 1649 | ||
1650 | } | 1650 | } |
@@ -1662,7 +1662,7 @@ syscall_trace_leave (long arg0, long arg1, long arg2, long arg3, | |||
1662 | 1662 | ||
1663 | if (success != AUDITSC_SUCCESS) | 1663 | if (success != AUDITSC_SUCCESS) |
1664 | result = -result; | 1664 | result = -result; |
1665 | audit_syscall_exit(current, success, result); | 1665 | audit_syscall_exit(success, result); |
1666 | } | 1666 | } |
1667 | 1667 | ||
1668 | if (test_thread_flag(TIF_SYSCALL_TRACE) | 1668 | if (test_thread_flag(TIF_SYSCALL_TRACE) |
diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index 9d5a823479a3..663a186ad194 100644 --- a/arch/ia64/kernel/salinfo.c +++ b/arch/ia64/kernel/salinfo.c | |||
@@ -572,7 +572,7 @@ static struct file_operations salinfo_data_fops = { | |||
572 | }; | 572 | }; |
573 | 573 | ||
574 | #ifdef CONFIG_HOTPLUG_CPU | 574 | #ifdef CONFIG_HOTPLUG_CPU |
575 | static int __devinit | 575 | static int |
576 | salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) | 576 | salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) |
577 | { | 577 | { |
578 | unsigned int i, cpu = (unsigned long)hcpu; | 578 | unsigned int i, cpu = (unsigned long)hcpu; |
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index b47476d655f1..4f3a16b37f8f 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c | |||
@@ -305,13 +305,10 @@ static struct kobj_type cache_ktype_percpu_entry = { | |||
305 | 305 | ||
306 | static void __cpuinit cpu_cache_sysfs_exit(unsigned int cpu) | 306 | static void __cpuinit cpu_cache_sysfs_exit(unsigned int cpu) |
307 | { | 307 | { |
308 | if (all_cpu_cache_info[cpu].cache_leaves) { | 308 | kfree(all_cpu_cache_info[cpu].cache_leaves); |
309 | kfree(all_cpu_cache_info[cpu].cache_leaves); | 309 | all_cpu_cache_info[cpu].cache_leaves = NULL; |
310 | all_cpu_cache_info[cpu].cache_leaves = NULL; | ||
311 | } | ||
312 | all_cpu_cache_info[cpu].num_cache_leaves = 0; | 310 | all_cpu_cache_info[cpu].num_cache_leaves = 0; |
313 | memset(&all_cpu_cache_info[cpu].kobj, 0, sizeof(struct kobject)); | 311 | memset(&all_cpu_cache_info[cpu].kobj, 0, sizeof(struct kobject)); |
314 | |||
315 | return; | 312 | return; |
316 | } | 313 | } |
317 | 314 | ||
@@ -429,7 +426,7 @@ static int __cpuinit cache_remove_dev(struct sys_device * sys_dev) | |||
429 | * When a cpu is hot-plugged, do a check and initiate | 426 | * When a cpu is hot-plugged, do a check and initiate |
430 | * cache kobject if necessary | 427 | * cache kobject if necessary |
431 | */ | 428 | */ |
432 | static int __cpuinit cache_cpu_callback(struct notifier_block *nfb, | 429 | static int cache_cpu_callback(struct notifier_block *nfb, |
433 | unsigned long action, void *hcpu) | 430 | unsigned long action, void *hcpu) |
434 | { | 431 | { |
435 | unsigned int cpu = (unsigned long)hcpu; | 432 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 9ba32b2d96d0..ab829a22f8a4 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <asm/irq.h> | 31 | #include <asm/irq.h> |
32 | #include <asm/hw_irq.h> | 32 | #include <asm/hw_irq.h> |
33 | 33 | ||
34 | |||
35 | /* | 34 | /* |
36 | * Low-level SAL-based PCI configuration access functions. Note that SAL | 35 | * Low-level SAL-based PCI configuration access functions. Note that SAL |
37 | * calls are already serialized (via sal_lock), so we don't need another | 36 | * calls are already serialized (via sal_lock), so we don't need another |
@@ -707,7 +706,7 @@ int ia64_pci_legacy_read(struct pci_bus *bus, u16 port, u32 *val, u8 size) | |||
707 | * | 706 | * |
708 | * Simply writes @size bytes of @val to @port. | 707 | * Simply writes @size bytes of @val to @port. |
709 | */ | 708 | */ |
710 | int ia64_pci_legacy_write(struct pci_dev *bus, u16 port, u32 val, u8 size) | 709 | int ia64_pci_legacy_write(struct pci_bus *bus, u16 port, u32 val, u8 size) |
711 | { | 710 | { |
712 | int ret = size; | 711 | int ret = size; |
713 | 712 | ||
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c index d917afa30b27..739c948dc504 100644 --- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c +++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c | |||
@@ -284,6 +284,8 @@ static int sn_hwperf_get_nearest_node_objdata(struct sn_hwperf_object_info *objb | |||
284 | /* find nearest node with cpus and nearest memory */ | 284 | /* find nearest node with cpus and nearest memory */ |
285 | for (router=NULL, j=0; j < op->ports; j++) { | 285 | for (router=NULL, j=0; j < op->ports; j++) { |
286 | dest = sn_hwperf_findobj_id(objbuf, nobj, ptdata[j].conn_id); | 286 | dest = sn_hwperf_findobj_id(objbuf, nobj, ptdata[j].conn_id); |
287 | if (dest && SN_HWPERF_IS_ROUTER(dest)) | ||
288 | router = dest; | ||
287 | if (!dest || SN_HWPERF_FOREIGN(dest) || | 289 | if (!dest || SN_HWPERF_FOREIGN(dest) || |
288 | !SN_HWPERF_IS_NODE(dest) || SN_HWPERF_IS_IONODE(dest)) { | 290 | !SN_HWPERF_IS_NODE(dest) || SN_HWPERF_IS_IONODE(dest)) { |
289 | continue; | 291 | continue; |
@@ -299,8 +301,6 @@ static int sn_hwperf_get_nearest_node_objdata(struct sn_hwperf_object_info *objb | |||
299 | *near_mem_node = c; | 301 | *near_mem_node = c; |
300 | found_mem++; | 302 | found_mem++; |
301 | } | 303 | } |
302 | if (SN_HWPERF_IS_ROUTER(dest)) | ||
303 | router = dest; | ||
304 | } | 304 | } |
305 | 305 | ||
306 | if (router && (!found_cpu || !found_mem)) { | 306 | if (router && (!found_cpu || !found_mem)) { |
@@ -493,7 +493,7 @@ static int sn_topology_show(struct seq_file *s, void *d) | |||
493 | * numalink ports | 493 | * numalink ports |
494 | */ | 494 | */ |
495 | sz = obj->ports * sizeof(struct sn_hwperf_port_info); | 495 | sz = obj->ports * sizeof(struct sn_hwperf_port_info); |
496 | if ((ptdata = vmalloc(sz)) == NULL) | 496 | if ((ptdata = kmalloc(sz, GFP_KERNEL)) == NULL) |
497 | return -ENOMEM; | 497 | return -ENOMEM; |
498 | e = ia64_sn_hwperf_op(sn_hwperf_master_nasid, | 498 | e = ia64_sn_hwperf_op(sn_hwperf_master_nasid, |
499 | SN_HWPERF_ENUM_PORTS, obj->id, sz, | 499 | SN_HWPERF_ENUM_PORTS, obj->id, sz, |
@@ -541,7 +541,7 @@ static int sn_topology_show(struct seq_file *s, void *d) | |||
541 | (SN_HWPERF_IS_NL3ROUTER(obj) || | 541 | (SN_HWPERF_IS_NL3ROUTER(obj) || |
542 | SN_HWPERF_IS_NL3ROUTER(p)) ? "LLP3" : "LLP4"); | 542 | SN_HWPERF_IS_NL3ROUTER(p)) ? "LLP3" : "LLP4"); |
543 | } | 543 | } |
544 | vfree(ptdata); | 544 | kfree(ptdata); |
545 | } | 545 | } |
546 | 546 | ||
547 | return 0; | 547 | return 0; |
diff --git a/arch/ia64/sn/kernel/xpc_partition.c b/arch/ia64/sn/kernel/xpc_partition.c index 94211429fd0c..2a89cfce4954 100644 --- a/arch/ia64/sn/kernel/xpc_partition.c +++ b/arch/ia64/sn/kernel/xpc_partition.c | |||
@@ -136,9 +136,7 @@ xpc_get_rsvd_page_pa(int nasid) | |||
136 | } | 136 | } |
137 | 137 | ||
138 | if (L1_CACHE_ALIGN(len) > buf_len) { | 138 | if (L1_CACHE_ALIGN(len) > buf_len) { |
139 | if (buf_base != NULL) { | 139 | kfree(buf_base); |
140 | kfree(buf_base); | ||
141 | } | ||
142 | buf_len = L1_CACHE_ALIGN(len); | 140 | buf_len = L1_CACHE_ALIGN(len); |
143 | buf = (u64) xpc_kmalloc_cacheline_aligned(buf_len, | 141 | buf = (u64) xpc_kmalloc_cacheline_aligned(buf_len, |
144 | GFP_KERNEL, &buf_base); | 142 | GFP_KERNEL, &buf_base); |
@@ -159,9 +157,7 @@ xpc_get_rsvd_page_pa(int nasid) | |||
159 | } | 157 | } |
160 | } | 158 | } |
161 | 159 | ||
162 | if (buf_base != NULL) { | 160 | kfree(buf_base); |
163 | kfree(buf_base); | ||
164 | } | ||
165 | 161 | ||
166 | if (status != SALRET_OK) { | 162 | if (status != SALRET_OK) { |
167 | rp_pa = 0; | 163 | rp_pa = 0; |
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c index fa073cc4b565..833295624e5d 100644 --- a/arch/ia64/sn/pci/tioce_provider.c +++ b/arch/ia64/sn/pci/tioce_provider.c | |||
@@ -682,9 +682,6 @@ tioce_reserve_m32(struct tioce_kernel *ce_kern, u64 base, u64 limit) | |||
682 | int ate_index, last_ate, ps; | 682 | int ate_index, last_ate, ps; |
683 | struct tioce *ce_mmr; | 683 | struct tioce *ce_mmr; |
684 | 684 | ||
685 | if (!TIOCE_M32_ADDR(base)) | ||
686 | return; | ||
687 | |||
688 | ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base; | 685 | ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base; |
689 | ps = ce_kern->ce_ate3240_pagesize; | 686 | ps = ce_kern->ce_ate3240_pagesize; |
690 | ate_index = ATE_PAGE(base, ps); | 687 | ate_index = ATE_PAGE(base, ps); |
@@ -693,6 +690,9 @@ tioce_reserve_m32(struct tioce_kernel *ce_kern, u64 base, u64 limit) | |||
693 | if (ate_index < 64) | 690 | if (ate_index < 64) |
694 | ate_index = 64; | 691 | ate_index = 64; |
695 | 692 | ||
693 | if (last_ate >= TIOCE_NUM_M3240_ATES) | ||
694 | last_ate = TIOCE_NUM_M3240_ATES - 1; | ||
695 | |||
696 | while (ate_index <= last_ate) { | 696 | while (ate_index <= last_ate) { |
697 | u64 ate; | 697 | u64 ate; |
698 | 698 | ||
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S index 3871b65f0c82..920bb742b7a2 100644 --- a/arch/m32r/kernel/entry.S +++ b/arch/m32r/kernel/entry.S | |||
@@ -20,7 +20,7 @@ | |||
20 | * Stack layout in 'ret_from_system_call': | 20 | * Stack layout in 'ret_from_system_call': |
21 | * ptrace needs to have all regs on the stack. | 21 | * ptrace needs to have all regs on the stack. |
22 | * if the order here is changed, it needs to be | 22 | * if the order here is changed, it needs to be |
23 | * updated in fork.c:copy_process, signal.c:do_signal, | 23 | * updated in fork.c:copy_thread, signal.c:do_signal, |
24 | * ptrace.c and ptrace.h | 24 | * ptrace.c and ptrace.h |
25 | * | 25 | * |
26 | * M32Rx/M32R2 M32R | 26 | * M32Rx/M32R2 M32R |
@@ -41,18 +41,17 @@ | |||
41 | * @(0x38,sp) - syscall_nr ditto | 41 | * @(0x38,sp) - syscall_nr ditto |
42 | * @(0x3c,sp) - acc0h @(0x3c,sp) - acch | 42 | * @(0x3c,sp) - acc0h @(0x3c,sp) - acch |
43 | * @(0x40,sp) - acc0l @(0x40,sp) - accl | 43 | * @(0x40,sp) - acc0l @(0x40,sp) - accl |
44 | * @(0x44,sp) - acc1h @(0x44,sp) - psw | 44 | * @(0x44,sp) - acc1h @(0x44,sp) - dummy_acc1h |
45 | * @(0x48,sp) - acc1l @(0x48,sp) - bpc | 45 | * @(0x48,sp) - acc1l @(0x48,sp) - dummy_acc1l |
46 | * @(0x4c,sp) - psw @(0x4c,sp) - bbpsw | 46 | * @(0x4c,sp) - psw ditto |
47 | * @(0x50,sp) - bpc @(0x50,sp) - bbpc | 47 | * @(0x50,sp) - bpc ditto |
48 | * @(0x54,sp) - bbpsw @(0x54,sp) - spu (cr3) | 48 | * @(0x54,sp) - bbpsw ditto |
49 | * @(0x58,sp) - bbpc @(0x58,sp) - fp (r13) | 49 | * @(0x58,sp) - bbpc ditto |
50 | * @(0x5c,sp) - spu (cr3) @(0x5c,sp) - lr (r14) | 50 | * @(0x5c,sp) - spu (cr3) ditto |
51 | * @(0x60,sp) - fp (r13) @(0x60,sp) - spi (cr12) | 51 | * @(0x60,sp) - fp (r13) ditto |
52 | * @(0x64,sp) - lr (r14) @(0x64,sp) - orig_r0 | 52 | * @(0x64,sp) - lr (r14) ditto |
53 | * @(0x68,sp) - spi (cr2) | 53 | * @(0x68,sp) - spi (cr2) ditto |
54 | * @(0x6c,sp) - orig_r0 | 54 | * @(0x6c,sp) - orig_r0 ditto |
55 | * | ||
56 | */ | 55 | */ |
57 | 56 | ||
58 | #include <linux/config.h> | 57 | #include <linux/config.h> |
@@ -102,6 +101,12 @@ | |||
102 | #define ACC0L(reg) @(0x40,reg) | 101 | #define ACC0L(reg) @(0x40,reg) |
103 | #define ACC1H(reg) @(0x44,reg) | 102 | #define ACC1H(reg) @(0x44,reg) |
104 | #define ACC1L(reg) @(0x48,reg) | 103 | #define ACC1L(reg) @(0x48,reg) |
104 | #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) | ||
105 | #define ACCH(reg) @(0x3C,reg) | ||
106 | #define ACCL(reg) @(0x40,reg) | ||
107 | #else | ||
108 | #error unknown isa configuration | ||
109 | #endif | ||
105 | #define PSW(reg) @(0x4C,reg) | 110 | #define PSW(reg) @(0x4C,reg) |
106 | #define BPC(reg) @(0x50,reg) | 111 | #define BPC(reg) @(0x50,reg) |
107 | #define BBPSW(reg) @(0x54,reg) | 112 | #define BBPSW(reg) @(0x54,reg) |
@@ -111,21 +116,6 @@ | |||
111 | #define LR(reg) @(0x64,reg) | 116 | #define LR(reg) @(0x64,reg) |
112 | #define SP(reg) @(0x68,reg) | 117 | #define SP(reg) @(0x68,reg) |
113 | #define ORIG_R0(reg) @(0x6C,reg) | 118 | #define ORIG_R0(reg) @(0x6C,reg) |
114 | #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) | ||
115 | #define ACCH(reg) @(0x3C,reg) | ||
116 | #define ACCL(reg) @(0x40,reg) | ||
117 | #define PSW(reg) @(0x44,reg) | ||
118 | #define BPC(reg) @(0x48,reg) | ||
119 | #define BBPSW(reg) @(0x4C,reg) | ||
120 | #define BBPC(reg) @(0x50,reg) | ||
121 | #define SPU(reg) @(0x54,reg) | ||
122 | #define FP(reg) @(0x58,reg) /* FP = R13 */ | ||
123 | #define LR(reg) @(0x5C,reg) | ||
124 | #define SP(reg) @(0x60,reg) | ||
125 | #define ORIG_R0(reg) @(0x64,reg) | ||
126 | #else | ||
127 | #error unknown isa configuration | ||
128 | #endif | ||
129 | 119 | ||
130 | CF_MASK = 0x00000001 | 120 | CF_MASK = 0x00000001 |
131 | TF_MASK = 0x00000100 | 121 | TF_MASK = 0x00000100 |
@@ -142,7 +132,7 @@ VM_MASK = 0x00020000 | |||
142 | #endif | 132 | #endif |
143 | 133 | ||
144 | ENTRY(ret_from_fork) | 134 | ENTRY(ret_from_fork) |
145 | ld r0, @sp+ | 135 | pop r0 |
146 | bl schedule_tail | 136 | bl schedule_tail |
147 | GET_THREAD_INFO(r8) | 137 | GET_THREAD_INFO(r8) |
148 | bra syscall_exit | 138 | bra syscall_exit |
@@ -231,7 +221,7 @@ restore_all: | |||
231 | RESTORE_ALL | 221 | RESTORE_ALL |
232 | 222 | ||
233 | # perform work that needs to be done immediately before resumption | 223 | # perform work that needs to be done immediately before resumption |
234 | # r9 : frags | 224 | # r9 : flags |
235 | ALIGN | 225 | ALIGN |
236 | work_pending: | 226 | work_pending: |
237 | and3 r4, r9, #_TIF_NEED_RESCHED | 227 | and3 r4, r9, #_TIF_NEED_RESCHED |
@@ -320,7 +310,7 @@ ENTRY(ei_handler) | |||
320 | ; GET_ICU_STATUS; | 310 | ; GET_ICU_STATUS; |
321 | seth r0, #shigh(M32R_ICU_ISTS_ADDR) | 311 | seth r0, #shigh(M32R_ICU_ISTS_ADDR) |
322 | ld r0, @(low(M32R_ICU_ISTS_ADDR),r0) | 312 | ld r0, @(low(M32R_ICU_ISTS_ADDR),r0) |
323 | st r0, @-sp | 313 | push r0 |
324 | #if defined(CONFIG_SMP) | 314 | #if defined(CONFIG_SMP) |
325 | /* | 315 | /* |
326 | * If IRQ == 0 --> Nothing to do, Not write IMASK | 316 | * If IRQ == 0 --> Nothing to do, Not write IMASK |
@@ -557,7 +547,7 @@ check_end: | |||
557 | #endif /* CONFIG_PLAT_M32104UT */ | 547 | #endif /* CONFIG_PLAT_M32104UT */ |
558 | bl do_IRQ | 548 | bl do_IRQ |
559 | #endif /* CONFIG_SMP */ | 549 | #endif /* CONFIG_SMP */ |
560 | ld r14, @sp+ | 550 | pop r14 |
561 | seth r0, #shigh(M32R_ICU_IMASK_ADDR) | 551 | seth r0, #shigh(M32R_ICU_IMASK_ADDR) |
562 | st r14, @(low(M32R_ICU_IMASK_ADDR),r0) | 552 | st r14, @(low(M32R_ICU_IMASK_ADDR),r0) |
563 | #else | 553 | #else |
@@ -1015,4 +1005,3 @@ ENTRY(sys_call_table) | |||
1015 | .long sys_waitid | 1005 | .long sys_waitid |
1016 | 1006 | ||
1017 | syscall_table_size=(.-sys_call_table) | 1007 | syscall_table_size=(.-sys_call_table) |
1018 | |||
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c index 5dfc7ea45cf7..065f5e719058 100644 --- a/arch/m32r/kernel/process.c +++ b/arch/m32r/kernel/process.c | |||
@@ -116,6 +116,10 @@ void cpu_idle (void) | |||
116 | 116 | ||
117 | void machine_restart(char *__unused) | 117 | void machine_restart(char *__unused) |
118 | { | 118 | { |
119 | #if defined(CONFIG_PLAT_MAPPI3) | ||
120 | outw(1, (unsigned long)PLD_REBOOT); | ||
121 | #endif | ||
122 | |||
119 | printk("Please push reset button!\n"); | 123 | printk("Please push reset button!\n"); |
120 | while (1) | 124 | while (1) |
121 | cpu_relax(); | 125 | cpu_relax(); |
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index cb33097fefc4..6498ee70bb73 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c | |||
@@ -118,6 +118,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, | |||
118 | #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) | 118 | #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) |
119 | COPY(acch); | 119 | COPY(acch); |
120 | COPY(accl); | 120 | COPY(accl); |
121 | COPY(dummy_acc1h); | ||
122 | COPY(dummy_acc1l); | ||
121 | #else | 123 | #else |
122 | #error unknown isa configuration | 124 | #error unknown isa configuration |
123 | #endif | 125 | #endif |
@@ -203,6 +205,8 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, | |||
203 | #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) | 205 | #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) |
204 | COPY(acch); | 206 | COPY(acch); |
205 | COPY(accl); | 207 | COPY(accl); |
208 | COPY(dummy_acc1h); | ||
209 | COPY(dummy_acc1l); | ||
206 | #else | 210 | #else |
207 | #error unknown isa configuration | 211 | #error unknown isa configuration |
208 | #endif | 212 | #endif |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 7aec60d40420..ee5fbb02b28f 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -816,6 +816,10 @@ config GENERIC_CALIBRATE_DELAY | |||
816 | bool | 816 | bool |
817 | default y | 817 | default y |
818 | 818 | ||
819 | config SCHED_NO_NO_OMIT_FRAME_POINTER | ||
820 | bool | ||
821 | default y | ||
822 | |||
819 | # | 823 | # |
820 | # Select some configuration options automatically based on user selections. | 824 | # Select some configuration options automatically based on user selections. |
821 | # | 825 | # |
@@ -1063,6 +1067,7 @@ choice | |||
1063 | config CPU_MIPS32_R1 | 1067 | config CPU_MIPS32_R1 |
1064 | bool "MIPS32 Release 1" | 1068 | bool "MIPS32 Release 1" |
1065 | depends on SYS_HAS_CPU_MIPS32_R1 | 1069 | depends on SYS_HAS_CPU_MIPS32_R1 |
1070 | select CPU_HAS_LLSC | ||
1066 | select CPU_HAS_PREFETCH | 1071 | select CPU_HAS_PREFETCH |
1067 | select CPU_SUPPORTS_32BIT_KERNEL | 1072 | select CPU_SUPPORTS_32BIT_KERNEL |
1068 | select CPU_SUPPORTS_HIGHMEM | 1073 | select CPU_SUPPORTS_HIGHMEM |
@@ -1080,6 +1085,7 @@ config CPU_MIPS32_R1 | |||
1080 | config CPU_MIPS32_R2 | 1085 | config CPU_MIPS32_R2 |
1081 | bool "MIPS32 Release 2" | 1086 | bool "MIPS32 Release 2" |
1082 | depends on SYS_HAS_CPU_MIPS32_R2 | 1087 | depends on SYS_HAS_CPU_MIPS32_R2 |
1088 | select CPU_HAS_LLSC | ||
1083 | select CPU_HAS_PREFETCH | 1089 | select CPU_HAS_PREFETCH |
1084 | select CPU_SUPPORTS_32BIT_KERNEL | 1090 | select CPU_SUPPORTS_32BIT_KERNEL |
1085 | select CPU_SUPPORTS_HIGHMEM | 1091 | select CPU_SUPPORTS_HIGHMEM |
@@ -1093,6 +1099,7 @@ config CPU_MIPS32_R2 | |||
1093 | config CPU_MIPS64_R1 | 1099 | config CPU_MIPS64_R1 |
1094 | bool "MIPS64 Release 1" | 1100 | bool "MIPS64 Release 1" |
1095 | depends on SYS_HAS_CPU_MIPS64_R1 | 1101 | depends on SYS_HAS_CPU_MIPS64_R1 |
1102 | select CPU_HAS_LLSC | ||
1096 | select CPU_HAS_PREFETCH | 1103 | select CPU_HAS_PREFETCH |
1097 | select CPU_SUPPORTS_32BIT_KERNEL | 1104 | select CPU_SUPPORTS_32BIT_KERNEL |
1098 | select CPU_SUPPORTS_64BIT_KERNEL | 1105 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1111,6 +1118,7 @@ config CPU_MIPS64_R1 | |||
1111 | config CPU_MIPS64_R2 | 1118 | config CPU_MIPS64_R2 |
1112 | bool "MIPS64 Release 2" | 1119 | bool "MIPS64 Release 2" |
1113 | depends on SYS_HAS_CPU_MIPS64_R2 | 1120 | depends on SYS_HAS_CPU_MIPS64_R2 |
1121 | select CPU_HAS_LLSC | ||
1114 | select CPU_HAS_PREFETCH | 1122 | select CPU_HAS_PREFETCH |
1115 | select CPU_SUPPORTS_32BIT_KERNEL | 1123 | select CPU_SUPPORTS_32BIT_KERNEL |
1116 | select CPU_SUPPORTS_64BIT_KERNEL | 1124 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1125,6 +1133,7 @@ config CPU_MIPS64_R2 | |||
1125 | config CPU_R3000 | 1133 | config CPU_R3000 |
1126 | bool "R3000" | 1134 | bool "R3000" |
1127 | depends on SYS_HAS_CPU_R3000 | 1135 | depends on SYS_HAS_CPU_R3000 |
1136 | select CPU_HAS_WB | ||
1128 | select CPU_SUPPORTS_32BIT_KERNEL | 1137 | select CPU_SUPPORTS_32BIT_KERNEL |
1129 | select CPU_SUPPORTS_HIGHMEM | 1138 | select CPU_SUPPORTS_HIGHMEM |
1130 | help | 1139 | help |
@@ -1154,6 +1163,7 @@ config CPU_VR41XX | |||
1154 | config CPU_R4300 | 1163 | config CPU_R4300 |
1155 | bool "R4300" | 1164 | bool "R4300" |
1156 | depends on SYS_HAS_CPU_R4300 | 1165 | depends on SYS_HAS_CPU_R4300 |
1166 | select CPU_HAS_LLSC | ||
1157 | select CPU_SUPPORTS_32BIT_KERNEL | 1167 | select CPU_SUPPORTS_32BIT_KERNEL |
1158 | select CPU_SUPPORTS_64BIT_KERNEL | 1168 | select CPU_SUPPORTS_64BIT_KERNEL |
1159 | help | 1169 | help |
@@ -1162,6 +1172,7 @@ config CPU_R4300 | |||
1162 | config CPU_R4X00 | 1172 | config CPU_R4X00 |
1163 | bool "R4x00" | 1173 | bool "R4x00" |
1164 | depends on SYS_HAS_CPU_R4X00 | 1174 | depends on SYS_HAS_CPU_R4X00 |
1175 | select CPU_HAS_LLSC | ||
1165 | select CPU_SUPPORTS_32BIT_KERNEL | 1176 | select CPU_SUPPORTS_32BIT_KERNEL |
1166 | select CPU_SUPPORTS_64BIT_KERNEL | 1177 | select CPU_SUPPORTS_64BIT_KERNEL |
1167 | help | 1178 | help |
@@ -1171,6 +1182,7 @@ config CPU_R4X00 | |||
1171 | config CPU_TX49XX | 1182 | config CPU_TX49XX |
1172 | bool "R49XX" | 1183 | bool "R49XX" |
1173 | depends on SYS_HAS_CPU_TX49XX | 1184 | depends on SYS_HAS_CPU_TX49XX |
1185 | select CPU_HAS_LLSC | ||
1174 | select CPU_HAS_PREFETCH | 1186 | select CPU_HAS_PREFETCH |
1175 | select CPU_SUPPORTS_32BIT_KERNEL | 1187 | select CPU_SUPPORTS_32BIT_KERNEL |
1176 | select CPU_SUPPORTS_64BIT_KERNEL | 1188 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1178,6 +1190,7 @@ config CPU_TX49XX | |||
1178 | config CPU_R5000 | 1190 | config CPU_R5000 |
1179 | bool "R5000" | 1191 | bool "R5000" |
1180 | depends on SYS_HAS_CPU_R5000 | 1192 | depends on SYS_HAS_CPU_R5000 |
1193 | select CPU_HAS_LLSC | ||
1181 | select CPU_SUPPORTS_32BIT_KERNEL | 1194 | select CPU_SUPPORTS_32BIT_KERNEL |
1182 | select CPU_SUPPORTS_64BIT_KERNEL | 1195 | select CPU_SUPPORTS_64BIT_KERNEL |
1183 | help | 1196 | help |
@@ -1186,12 +1199,14 @@ config CPU_R5000 | |||
1186 | config CPU_R5432 | 1199 | config CPU_R5432 |
1187 | bool "R5432" | 1200 | bool "R5432" |
1188 | depends on SYS_HAS_CPU_R5432 | 1201 | depends on SYS_HAS_CPU_R5432 |
1202 | select CPU_HAS_LLSC | ||
1189 | select CPU_SUPPORTS_32BIT_KERNEL | 1203 | select CPU_SUPPORTS_32BIT_KERNEL |
1190 | select CPU_SUPPORTS_64BIT_KERNEL | 1204 | select CPU_SUPPORTS_64BIT_KERNEL |
1191 | 1205 | ||
1192 | config CPU_R6000 | 1206 | config CPU_R6000 |
1193 | bool "R6000" | 1207 | bool "R6000" |
1194 | depends on EXPERIMENTAL | 1208 | depends on EXPERIMENTAL |
1209 | select CPU_HAS_LLSC | ||
1195 | depends on SYS_HAS_CPU_R6000 | 1210 | depends on SYS_HAS_CPU_R6000 |
1196 | select CPU_SUPPORTS_32BIT_KERNEL | 1211 | select CPU_SUPPORTS_32BIT_KERNEL |
1197 | help | 1212 | help |
@@ -1201,6 +1216,7 @@ config CPU_R6000 | |||
1201 | config CPU_NEVADA | 1216 | config CPU_NEVADA |
1202 | bool "RM52xx" | 1217 | bool "RM52xx" |
1203 | depends on SYS_HAS_CPU_NEVADA | 1218 | depends on SYS_HAS_CPU_NEVADA |
1219 | select CPU_HAS_LLSC | ||
1204 | select CPU_SUPPORTS_32BIT_KERNEL | 1220 | select CPU_SUPPORTS_32BIT_KERNEL |
1205 | select CPU_SUPPORTS_64BIT_KERNEL | 1221 | select CPU_SUPPORTS_64BIT_KERNEL |
1206 | help | 1222 | help |
@@ -1210,6 +1226,7 @@ config CPU_R8000 | |||
1210 | bool "R8000" | 1226 | bool "R8000" |
1211 | depends on EXPERIMENTAL | 1227 | depends on EXPERIMENTAL |
1212 | depends on SYS_HAS_CPU_R8000 | 1228 | depends on SYS_HAS_CPU_R8000 |
1229 | select CPU_HAS_LLSC | ||
1213 | select CPU_HAS_PREFETCH | 1230 | select CPU_HAS_PREFETCH |
1214 | select CPU_SUPPORTS_64BIT_KERNEL | 1231 | select CPU_SUPPORTS_64BIT_KERNEL |
1215 | help | 1232 | help |
@@ -1219,6 +1236,7 @@ config CPU_R8000 | |||
1219 | config CPU_R10000 | 1236 | config CPU_R10000 |
1220 | bool "R10000" | 1237 | bool "R10000" |
1221 | depends on SYS_HAS_CPU_R10000 | 1238 | depends on SYS_HAS_CPU_R10000 |
1239 | select CPU_HAS_LLSC | ||
1222 | select CPU_HAS_PREFETCH | 1240 | select CPU_HAS_PREFETCH |
1223 | select CPU_SUPPORTS_32BIT_KERNEL | 1241 | select CPU_SUPPORTS_32BIT_KERNEL |
1224 | select CPU_SUPPORTS_64BIT_KERNEL | 1242 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1229,6 +1247,7 @@ config CPU_R10000 | |||
1229 | config CPU_RM7000 | 1247 | config CPU_RM7000 |
1230 | bool "RM7000" | 1248 | bool "RM7000" |
1231 | depends on SYS_HAS_CPU_RM7000 | 1249 | depends on SYS_HAS_CPU_RM7000 |
1250 | select CPU_HAS_LLSC | ||
1232 | select CPU_HAS_PREFETCH | 1251 | select CPU_HAS_PREFETCH |
1233 | select CPU_SUPPORTS_32BIT_KERNEL | 1252 | select CPU_SUPPORTS_32BIT_KERNEL |
1234 | select CPU_SUPPORTS_64BIT_KERNEL | 1253 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1237,6 +1256,7 @@ config CPU_RM7000 | |||
1237 | config CPU_RM9000 | 1256 | config CPU_RM9000 |
1238 | bool "RM9000" | 1257 | bool "RM9000" |
1239 | depends on SYS_HAS_CPU_RM9000 | 1258 | depends on SYS_HAS_CPU_RM9000 |
1259 | select CPU_HAS_LLSC | ||
1240 | select CPU_HAS_PREFETCH | 1260 | select CPU_HAS_PREFETCH |
1241 | select CPU_SUPPORTS_32BIT_KERNEL | 1261 | select CPU_SUPPORTS_32BIT_KERNEL |
1242 | select CPU_SUPPORTS_64BIT_KERNEL | 1262 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1245,6 +1265,7 @@ config CPU_RM9000 | |||
1245 | config CPU_SB1 | 1265 | config CPU_SB1 |
1246 | bool "SB1" | 1266 | bool "SB1" |
1247 | depends on SYS_HAS_CPU_SB1 | 1267 | depends on SYS_HAS_CPU_SB1 |
1268 | select CPU_HAS_LLSC | ||
1248 | select CPU_SUPPORTS_32BIT_KERNEL | 1269 | select CPU_SUPPORTS_32BIT_KERNEL |
1249 | select CPU_SUPPORTS_64BIT_KERNEL | 1270 | select CPU_SUPPORTS_64BIT_KERNEL |
1250 | select CPU_SUPPORTS_HIGHMEM | 1271 | select CPU_SUPPORTS_HIGHMEM |
@@ -1443,6 +1464,12 @@ choice | |||
1443 | prompt "MIPS MT options" | 1464 | prompt "MIPS MT options" |
1444 | depends on MIPS_MT | 1465 | depends on MIPS_MT |
1445 | 1466 | ||
1467 | config MIPS_MT_SMTC | ||
1468 | bool "SMTC: Use all TCs on all VPEs for SMP" | ||
1469 | select CPU_MIPSR2_IRQ_VI | ||
1470 | select CPU_MIPSR2_SRS | ||
1471 | select SMP | ||
1472 | |||
1446 | config MIPS_MT_SMP | 1473 | config MIPS_MT_SMP |
1447 | bool "Use 1 TC on each available VPE for SMP" | 1474 | bool "Use 1 TC on each available VPE for SMP" |
1448 | select SMP | 1475 | select SMP |
@@ -1456,6 +1483,11 @@ config MIPS_VPE_LOADER | |||
1456 | 1483 | ||
1457 | endchoice | 1484 | endchoice |
1458 | 1485 | ||
1486 | config MIPS_MT_FPAFF | ||
1487 | bool "Dynamic FPU affinity for FP-intensive threads" | ||
1488 | depends on MIPS_MT | ||
1489 | default y | ||
1490 | |||
1459 | config MIPS_VPE_LOADER_TOM | 1491 | config MIPS_VPE_LOADER_TOM |
1460 | bool "Load VPE program into memory hidden from linux" | 1492 | bool "Load VPE program into memory hidden from linux" |
1461 | depends on MIPS_VPE_LOADER | 1493 | depends on MIPS_VPE_LOADER |
@@ -1472,6 +1504,16 @@ config MIPS_VPE_APSP_API | |||
1472 | depends on MIPS_VPE_LOADER | 1504 | depends on MIPS_VPE_LOADER |
1473 | help | 1505 | help |
1474 | 1506 | ||
1507 | config MIPS_APSP_KSPD | ||
1508 | bool "Enable KSPD" | ||
1509 | depends on MIPS_VPE_APSP_API | ||
1510 | default y | ||
1511 | help | ||
1512 | KSPD is a kernel daemon that accepts syscall requests from the SP | ||
1513 | side, actions them and returns the results. It also handles the | ||
1514 | "exit" syscall notifying other kernel modules the SP program is | ||
1515 | exiting. You probably want to say yes here. | ||
1516 | |||
1475 | config SB1_PASS_1_WORKAROUNDS | 1517 | config SB1_PASS_1_WORKAROUNDS |
1476 | bool | 1518 | bool |
1477 | depends on CPU_SB1_PASS_1 | 1519 | depends on CPU_SB1_PASS_1 |
@@ -1491,38 +1533,15 @@ config 64BIT_PHYS_ADDR | |||
1491 | bool "Support for 64-bit physical address space" | 1533 | bool "Support for 64-bit physical address space" |
1492 | depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT | 1534 | depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT |
1493 | 1535 | ||
1494 | config CPU_ADVANCED | ||
1495 | bool "Override CPU Options" | ||
1496 | depends on 32BIT | ||
1497 | help | ||
1498 | Saying yes here allows you to select support for various features | ||
1499 | your CPU may or may not have. Most people should say N here. | ||
1500 | |||
1501 | config CPU_HAS_LLSC | 1536 | config CPU_HAS_LLSC |
1502 | bool "ll/sc Instructions available" if CPU_ADVANCED | 1537 | bool |
1503 | default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX | ||
1504 | help | ||
1505 | MIPS R4000 series and later provide the Load Linked (ll) | ||
1506 | and Store Conditional (sc) instructions. More information is | ||
1507 | available at <http://www.go-ecs.com/mips/miptek1.htm>. | ||
1508 | |||
1509 | Say Y here if your CPU has the ll and sc instructions. Say Y here | ||
1510 | for better performance, N if you don't know. You must say Y here | ||
1511 | for multiprocessor machines. | ||
1512 | 1538 | ||
1513 | config CPU_HAS_WB | 1539 | config CPU_HAS_WB |
1514 | bool "Writeback Buffer available" if CPU_ADVANCED | 1540 | bool |
1515 | default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION | ||
1516 | help | ||
1517 | Say N here for slightly better performance. You must say Y here for | ||
1518 | machines which require flushing of write buffers in software. Saying | ||
1519 | Y is the safe option; N may result in kernel malfunction and crashes. | ||
1520 | |||
1521 | menu "MIPSR2 Interrupt handling" | ||
1522 | depends on CPU_MIPSR2 && CPU_ADVANCED | ||
1523 | 1541 | ||
1524 | config CPU_MIPSR2_IRQ_VI | 1542 | config CPU_MIPSR2_IRQ_VI |
1525 | bool "Vectored interrupt mode" | 1543 | bool "Vectored interrupt mode" |
1544 | depends on CPU_MIPSR2 | ||
1526 | help | 1545 | help |
1527 | Vectored interrupt mode allowing faster dispatching of interrupts. | 1546 | Vectored interrupt mode allowing faster dispatching of interrupts. |
1528 | The board support code needs to be written to take advantage of this | 1547 | The board support code needs to be written to take advantage of this |
@@ -1532,6 +1551,7 @@ config CPU_MIPSR2_IRQ_VI | |||
1532 | 1551 | ||
1533 | config CPU_MIPSR2_IRQ_EI | 1552 | config CPU_MIPSR2_IRQ_EI |
1534 | bool "External interrupt controller mode" | 1553 | bool "External interrupt controller mode" |
1554 | depends on CPU_MIPSR2 | ||
1535 | help | 1555 | help |
1536 | Extended interrupt mode takes advantage of an external interrupt | 1556 | Extended interrupt mode takes advantage of an external interrupt |
1537 | controller to allow fast dispatching from many possible interrupt | 1557 | controller to allow fast dispatching from many possible interrupt |
@@ -1545,7 +1565,6 @@ config CPU_MIPSR2_SRS | |||
1545 | Allow the kernel to use shadow register sets for fast interrupts. | 1565 | Allow the kernel to use shadow register sets for fast interrupts. |
1546 | Interrupt handlers must be specially written to use shadow sets. | 1566 | Interrupt handlers must be specially written to use shadow sets. |
1547 | Say N unless you know that shadow register set upport is needed. | 1567 | Say N unless you know that shadow register set upport is needed. |
1548 | endmenu | ||
1549 | 1568 | ||
1550 | config CPU_HAS_SYNC | 1569 | config CPU_HAS_SYNC |
1551 | bool | 1570 | bool |
@@ -1599,7 +1618,7 @@ source "mm/Kconfig" | |||
1599 | 1618 | ||
1600 | config SMP | 1619 | config SMP |
1601 | bool "Multi-Processing support" | 1620 | bool "Multi-Processing support" |
1602 | depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP | 1621 | depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC |
1603 | ---help--- | 1622 | ---help--- |
1604 | This enables support for systems with more than one CPU. If you have | 1623 | This enables support for systems with more than one CPU. If you have |
1605 | a system with only one CPU, like most personal computers, say N. If | 1624 | a system with only one CPU, like most personal computers, say N. If |
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index d3c5cc3b9c9d..515f9e611307 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug | |||
@@ -6,7 +6,13 @@ config CROSSCOMPILE | |||
6 | bool "Are you using a crosscompiler" | 6 | bool "Are you using a crosscompiler" |
7 | help | 7 | help |
8 | Say Y here if you are compiling the kernel on a different | 8 | Say Y here if you are compiling the kernel on a different |
9 | architecture than the one it is intended to run on. | 9 | architecture than the one it is intended to run on. This is just a |
10 | convenience option which will select the appropriate value for | ||
11 | the CROSS_COMPILE make variable which otherwise has to be passed on | ||
12 | the command line from mips-linux-, mipsel-linux-, mips64-linux- and | ||
13 | mips64el-linux- as appropriate for a particular kernel configuration. | ||
14 | You will have to pass the value for CROSS_COMPILE manually if the | ||
15 | name prefix for your tools is different. | ||
10 | 16 | ||
11 | config CMDLINE | 17 | config CMDLINE |
12 | string "Default kernel command string" | 18 | string "Default kernel command string" |
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 9a69e0f0ab76..133900aca992 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
@@ -105,18 +105,18 @@ cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap | |||
105 | cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap | 105 | cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap |
106 | cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap | 106 | cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap |
107 | cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap | 107 | cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap |
108 | cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips2 -mtune=r4600) \ | 108 | cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ |
109 | -Wa,-mips32 -Wa,--trap | 109 | -Wa,-mips32 -Wa,--trap |
110 | cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips2 -mtune=r4600) \ | 110 | cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ |
111 | -Wa,-mips32r2 -Wa,--trap | 111 | -Wa,-mips32r2 -Wa,--trap |
112 | cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips2 -mtune=r4600) \ | 112 | cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \ |
113 | -Wa,-mips64 -Wa,--trap | 113 | -Wa,-mips64 -Wa,--trap |
114 | cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips2 -mtune=r4600 ) \ | 114 | cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \ |
115 | -Wa,-mips64r2 -Wa,--trap | 115 | -Wa,-mips64r2 -Wa,--trap |
116 | cflags-$(CONFIG_CPU_R5000) += -march=r5000 -Wa,--trap | 116 | cflags-$(CONFIG_CPU_R5000) += -march=r5000 -Wa,--trap |
117 | cflags-$(CONFIG_CPU_R5432) += $(call cc-options,-march=r5400,-march=r5000) \ | 117 | cflags-$(CONFIG_CPU_R5432) += $(call cc-option,-march=r5400,-march=r5000) \ |
118 | -Wa,--trap | 118 | -Wa,--trap |
119 | cflags-$(CONFIG_CPU_NEVADA) += $(call cc-options,-march=rm5200,-march=r5000) \ | 119 | cflags-$(CONFIG_CPU_NEVADA) += $(call cc-option,-march=rm5200,-march=r5000) \ |
120 | -Wa,--trap | 120 | -Wa,--trap |
121 | cflags-$(CONFIG_CPU_RM7000) += $(call cc-option,-march=rm7000,-march=r5000) \ | 121 | cflags-$(CONFIG_CPU_RM7000) += $(call cc-option,-march=rm7000,-march=r5000) \ |
122 | -Wa,--trap | 122 | -Wa,--trap |
@@ -615,7 +615,10 @@ LDFLAGS += -m $(ld-emul) | |||
615 | ifdef CONFIG_MIPS | 615 | ifdef CONFIG_MIPS |
616 | CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \ | 616 | CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \ |
617 | egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \ | 617 | egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \ |
618 | sed -e 's/^\#define /-D/' -e 's/ /="/' -e 's/$$/"/') | 618 | sed -e 's/^\#define /-D/' -e "s/ /='/" -e "s/$$/'/") |
619 | ifdef CONFIG_64BIT | ||
620 | CHECKFLAGS += -m64 | ||
621 | endif | ||
619 | endif | 622 | endif |
620 | 623 | ||
621 | OBJCOPYFLAGS += --remove-section=.reginfo | 624 | OBJCOPYFLAGS += --remove-section=.reginfo |
diff --git a/arch/mips/au1000/common/Makefile b/arch/mips/au1000/common/Makefile index a1edfd1f643c..bf682f50b859 100644 --- a/arch/mips/au1000/common/Makefile +++ b/arch/mips/au1000/common/Makefile | |||
@@ -6,7 +6,7 @@ | |||
6 | # Makefile for the Alchemy Au1000 CPU, generic files. | 6 | # Makefile for the Alchemy Au1000 CPU, generic files. |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += prom.o int-handler.o irq.o puts.o time.o reset.o \ | 9 | obj-y += prom.o irq.o puts.o time.o reset.o \ |
10 | au1xxx_irqmap.o clocks.o platform.o power.o setup.o \ | 10 | au1xxx_irqmap.o clocks.o platform.o power.o setup.o \ |
11 | sleeper.o cputable.o dma.o dbdma.o gpio.o | 11 | sleeper.o cputable.o dma.o dbdma.o gpio.o |
12 | 12 | ||
diff --git a/arch/mips/au1000/common/int-handler.S b/arch/mips/au1000/common/int-handler.S deleted file mode 100644 index 1c4ca883321e..000000000000 --- a/arch/mips/au1000/common/int-handler.S +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: ppopov@mvista.com | ||
4 | * | ||
5 | * Interrupt dispatcher for Au1000 boards. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | #include <asm/asm.h> | ||
13 | #include <asm/mipsregs.h> | ||
14 | #include <asm/addrspace.h> | ||
15 | #include <asm/regdef.h> | ||
16 | #include <asm/stackframe.h> | ||
17 | |||
18 | .text | ||
19 | .set macro | ||
20 | .set noat | ||
21 | .align 5 | ||
22 | |||
23 | NESTED(au1000_IRQ, PT_SIZE, sp) | ||
24 | SAVE_ALL | ||
25 | CLI # Important: mark KERNEL mode ! | ||
26 | |||
27 | mfc0 t0,CP0_CAUSE # get pending interrupts | ||
28 | mfc0 t1,CP0_STATUS # get enabled interrupts | ||
29 | and t0,t1 # isolate allowed ones | ||
30 | |||
31 | andi t0,0xff00 # isolate pending bits | ||
32 | beqz t0, 3f # spurious interrupt | ||
33 | |||
34 | andi a0, t0, CAUSEF_IP7 | ||
35 | beq a0, zero, 1f | ||
36 | move a0, sp | ||
37 | jal mips_timer_interrupt | ||
38 | j ret_from_irq | ||
39 | |||
40 | 1: | ||
41 | andi a0, t0, CAUSEF_IP2 # Interrupt Controller 0, Request 0 | ||
42 | beq a0, zero, 2f | ||
43 | move a0,sp | ||
44 | jal intc0_req0_irqdispatch | ||
45 | j ret_from_irq | ||
46 | 2: | ||
47 | andi a0, t0, CAUSEF_IP3 # Interrupt Controller 0, Request 1 | ||
48 | beq a0, zero, 3f | ||
49 | move a0,sp | ||
50 | jal intc0_req1_irqdispatch | ||
51 | j ret_from_irq | ||
52 | 3: | ||
53 | andi a0, t0, CAUSEF_IP4 # Interrupt Controller 1, Request 0 | ||
54 | beq a0, zero, 4f | ||
55 | move a0,sp | ||
56 | jal intc1_req0_irqdispatch | ||
57 | j ret_from_irq | ||
58 | 4: | ||
59 | andi a0, t0, CAUSEF_IP5 # Interrupt Controller 1, Request 1 | ||
60 | beq a0, zero, 5f | ||
61 | move a0, sp | ||
62 | jal intc1_req1_irqdispatch | ||
63 | j ret_from_irq | ||
64 | |||
65 | 5: | ||
66 | move a0, sp | ||
67 | j spurious_interrupt | ||
68 | END(au1000_IRQ) | ||
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c index 1339a0979f66..da61de776154 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c | |||
@@ -66,7 +66,6 @@ | |||
66 | #define EXT_INTC1_REQ1 5 /* IP 5 */ | 66 | #define EXT_INTC1_REQ1 5 /* IP 5 */ |
67 | #define MIPS_TIMER_IP 7 /* IP 7 */ | 67 | #define MIPS_TIMER_IP 7 /* IP 7 */ |
68 | 68 | ||
69 | extern asmlinkage void au1000_IRQ(void); | ||
70 | extern void set_debug_traps(void); | 69 | extern void set_debug_traps(void); |
71 | extern irq_cpustat_t irq_stat [NR_CPUS]; | 70 | extern irq_cpustat_t irq_stat [NR_CPUS]; |
72 | 71 | ||
@@ -446,7 +445,6 @@ void __init arch_init_irq(void) | |||
446 | extern int au1xxx_ic0_nr_irqs; | 445 | extern int au1xxx_ic0_nr_irqs; |
447 | 446 | ||
448 | cp0_status = read_c0_status(); | 447 | cp0_status = read_c0_status(); |
449 | set_except_vector(0, au1000_IRQ); | ||
450 | 448 | ||
451 | /* Initialize interrupt controllers to a safe state. | 449 | /* Initialize interrupt controllers to a safe state. |
452 | */ | 450 | */ |
@@ -661,3 +659,21 @@ restore_au1xxx_intctl(void) | |||
661 | au_writel(sleep_intctl_mask[0], IC0_MASKSET); au_sync(); | 659 | au_writel(sleep_intctl_mask[0], IC0_MASKSET); au_sync(); |
662 | } | 660 | } |
663 | #endif /* CONFIG_PM */ | 661 | #endif /* CONFIG_PM */ |
662 | |||
663 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
664 | { | ||
665 | unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM; | ||
666 | |||
667 | if (pending & CAUSEF_IP7) | ||
668 | mips_timer_interrupt(regs); | ||
669 | else if (pending & CAUSEF_IP2) | ||
670 | intc0_req0_irqdispatch(regs); | ||
671 | else if (pending & CAUSEF_IP3) | ||
672 | intc0_req1_irqdispatch(regs); | ||
673 | else if (pending & CAUSEF_IP4) | ||
674 | intc1_req0_irqdispatch(regs); | ||
675 | else if (pending & CAUSEF_IP5) | ||
676 | intc1_req1_irqdispatch(regs); | ||
677 | else | ||
678 | spurious_interrupt(regs); | ||
679 | } | ||
diff --git a/arch/mips/cobalt/Makefile b/arch/mips/cobalt/Makefile index 720e757b2b64..225ac8f34ccd 100644 --- a/arch/mips/cobalt/Makefile +++ b/arch/mips/cobalt/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for the Cobalt micro systems family specific parts of the kernel | 2 | # Makefile for the Cobalt micro systems family specific parts of the kernel |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := irq.o int-handler.o reset.o setup.o | 5 | obj-y := irq.o reset.o setup.o |
6 | 6 | ||
7 | obj-$(CONFIG_EARLY_PRINTK) += console.o | 7 | obj-$(CONFIG_EARLY_PRINTK) += console.o |
8 | 8 | ||
diff --git a/arch/mips/cobalt/int-handler.S b/arch/mips/cobalt/int-handler.S deleted file mode 100644 index e75d5e3ca868..000000000000 --- a/arch/mips/cobalt/int-handler.S +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1995, 1996, 1997, 2003 by Ralf Baechle | ||
7 | * Copyright (C) 2001, 2002, 2003 by Liam Davies (ldavies@agile.tv) | ||
8 | */ | ||
9 | #include <asm/asm.h> | ||
10 | #include <asm/mipsregs.h> | ||
11 | #include <asm/mach-cobalt/cobalt.h> | ||
12 | #include <asm/regdef.h> | ||
13 | #include <asm/stackframe.h> | ||
14 | |||
15 | .text | ||
16 | .align 5 | ||
17 | NESTED(cobalt_handle_int, PT_SIZE, sp) | ||
18 | SAVE_ALL | ||
19 | CLI | ||
20 | |||
21 | PTR_LA ra, ret_from_irq | ||
22 | move a0, sp | ||
23 | j cobalt_irq | ||
24 | |||
25 | END(cobalt_handle_int) | ||
diff --git a/arch/mips/cobalt/irq.c b/arch/mips/cobalt/irq.c index f9a108820d6e..0b75f4fb7195 100644 --- a/arch/mips/cobalt/irq.c +++ b/arch/mips/cobalt/irq.c | |||
@@ -20,8 +20,6 @@ | |||
20 | 20 | ||
21 | #include <asm/mach-cobalt/cobalt.h> | 21 | #include <asm/mach-cobalt/cobalt.h> |
22 | 22 | ||
23 | extern void cobalt_handle_int(void); | ||
24 | |||
25 | /* | 23 | /* |
26 | * We have two types of interrupts that we handle, ones that come in through | 24 | * We have two types of interrupts that we handle, ones that come in through |
27 | * the CPU interrupt lines, and ones that come in on the via chip. The CPU | 25 | * the CPU interrupt lines, and ones that come in on the via chip. The CPU |
@@ -79,7 +77,7 @@ static inline void via_pic_irq(struct pt_regs *regs) | |||
79 | do_IRQ(irq, regs); | 77 | do_IRQ(irq, regs); |
80 | } | 78 | } |
81 | 79 | ||
82 | asmlinkage void cobalt_irq(struct pt_regs *regs) | 80 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
83 | { | 81 | { |
84 | unsigned pending; | 82 | unsigned pending; |
85 | 83 | ||
@@ -122,8 +120,6 @@ void __init arch_init_irq(void) | |||
122 | */ | 120 | */ |
123 | GALILEO_OUTL(0, GT_INTRMASK_OFS); | 121 | GALILEO_OUTL(0, GT_INTRMASK_OFS); |
124 | 122 | ||
125 | set_except_vector(0, cobalt_handle_int); | ||
126 | |||
127 | init_i8259_irqs(); /* 0 ... 15 */ | 123 | init_i8259_irqs(); /* 0 ... 15 */ |
128 | mips_cpu_irq_init(COBALT_CPU_IRQ); /* 16 ... 23 */ | 124 | mips_cpu_irq_init(COBALT_CPU_IRQ); /* 16 ... 23 */ |
129 | 125 | ||
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig index 9e1ae953e966..4b080bcb258f 100644 --- a/arch/mips/configs/atlas_defconfig +++ b/arch/mips/configs/atlas_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:52 2006 | 4 | # Mon Apr 24 14:50:55 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_ATLAS=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -127,11 +129,11 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
127 | CONFIG_CPU_HAS_PREFETCH=y | 129 | CONFIG_CPU_HAS_PREFETCH=y |
128 | # CONFIG_MIPS_MT is not set | 130 | # CONFIG_MIPS_MT is not set |
129 | # CONFIG_64BIT_PHYS_ADDR is not set | 131 | # CONFIG_64BIT_PHYS_ADDR is not set |
130 | # CONFIG_CPU_ADVANCED is not set | ||
131 | CONFIG_CPU_HAS_LLSC=y | 132 | CONFIG_CPU_HAS_LLSC=y |
132 | CONFIG_CPU_HAS_SYNC=y | 133 | CONFIG_CPU_HAS_SYNC=y |
133 | CONFIG_GENERIC_HARDIRQS=y | 134 | CONFIG_GENERIC_HARDIRQS=y |
134 | CONFIG_GENERIC_IRQ_PROBE=y | 135 | CONFIG_GENERIC_IRQ_PROBE=y |
136 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
135 | CONFIG_ARCH_FLATMEM_ENABLE=y | 137 | CONFIG_ARCH_FLATMEM_ENABLE=y |
136 | CONFIG_SELECT_MEMORY_MODEL=y | 138 | CONFIG_SELECT_MEMORY_MODEL=y |
137 | CONFIG_FLATMEM_MANUAL=y | 139 | CONFIG_FLATMEM_MANUAL=y |
@@ -149,7 +151,6 @@ CONFIG_PREEMPT_NONE=y | |||
149 | # Code maturity level options | 151 | # Code maturity level options |
150 | # | 152 | # |
151 | CONFIG_EXPERIMENTAL=y | 153 | CONFIG_EXPERIMENTAL=y |
152 | CONFIG_CLEAN_COMPILE=y | ||
153 | CONFIG_BROKEN_ON_SMP=y | 154 | CONFIG_BROKEN_ON_SMP=y |
154 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 155 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
155 | 156 | ||
@@ -165,6 +166,7 @@ CONFIG_SYSVIPC=y | |||
165 | CONFIG_SYSCTL=y | 166 | CONFIG_SYSCTL=y |
166 | # CONFIG_AUDIT is not set | 167 | # CONFIG_AUDIT is not set |
167 | # CONFIG_IKCONFIG is not set | 168 | # CONFIG_IKCONFIG is not set |
169 | CONFIG_RELAY=y | ||
168 | CONFIG_INITRAMFS_SOURCE="" | 170 | CONFIG_INITRAMFS_SOURCE="" |
169 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 171 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
170 | CONFIG_EMBEDDED=y | 172 | CONFIG_EMBEDDED=y |
@@ -178,10 +180,6 @@ CONFIG_BASE_FULL=y | |||
178 | CONFIG_FUTEX=y | 180 | CONFIG_FUTEX=y |
179 | CONFIG_EPOLL=y | 181 | CONFIG_EPOLL=y |
180 | CONFIG_SHMEM=y | 182 | CONFIG_SHMEM=y |
181 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
182 | CONFIG_CC_ALIGN_LABELS=0 | ||
183 | CONFIG_CC_ALIGN_LOOPS=0 | ||
184 | CONFIG_CC_ALIGN_JUMPS=0 | ||
185 | CONFIG_SLAB=y | 183 | CONFIG_SLAB=y |
186 | # CONFIG_TINY_SHMEM is not set | 184 | # CONFIG_TINY_SHMEM is not set |
187 | CONFIG_BASE_SMALL=0 | 185 | CONFIG_BASE_SMALL=0 |
@@ -193,7 +191,6 @@ CONFIG_BASE_SMALL=0 | |||
193 | CONFIG_MODULES=y | 191 | CONFIG_MODULES=y |
194 | CONFIG_MODULE_UNLOAD=y | 192 | CONFIG_MODULE_UNLOAD=y |
195 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 193 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
196 | CONFIG_OBSOLETE_MODPARM=y | ||
197 | CONFIG_MODVERSIONS=y | 194 | CONFIG_MODVERSIONS=y |
198 | CONFIG_MODULE_SRCVERSION_ALL=y | 195 | CONFIG_MODULE_SRCVERSION_ALL=y |
199 | CONFIG_KMOD=y | 196 | CONFIG_KMOD=y |
@@ -202,6 +199,8 @@ CONFIG_KMOD=y | |||
202 | # Block layer | 199 | # Block layer |
203 | # | 200 | # |
204 | # CONFIG_LBD is not set | 201 | # CONFIG_LBD is not set |
202 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
203 | # CONFIG_LSF is not set | ||
205 | 204 | ||
206 | # | 205 | # |
207 | # IO Schedulers | 206 | # IO Schedulers |
@@ -221,7 +220,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
221 | # | 220 | # |
222 | CONFIG_HW_HAS_PCI=y | 221 | CONFIG_HW_HAS_PCI=y |
223 | CONFIG_PCI=y | 222 | CONFIG_PCI=y |
224 | CONFIG_PCI_LEGACY_PROC=y | ||
225 | CONFIG_MMU=y | 223 | CONFIG_MMU=y |
226 | 224 | ||
227 | # | 225 | # |
@@ -249,6 +247,7 @@ CONFIG_NET=y | |||
249 | # | 247 | # |
250 | # Networking options | 248 | # Networking options |
251 | # | 249 | # |
250 | # CONFIG_NETDEBUG is not set | ||
252 | CONFIG_PACKET=y | 251 | CONFIG_PACKET=y |
253 | CONFIG_PACKET_MMAP=y | 252 | CONFIG_PACKET_MMAP=y |
254 | CONFIG_UNIX=y | 253 | CONFIG_UNIX=y |
@@ -281,6 +280,7 @@ CONFIG_SYN_COOKIES=y | |||
281 | CONFIG_INET_AH=m | 280 | CONFIG_INET_AH=m |
282 | CONFIG_INET_ESP=m | 281 | CONFIG_INET_ESP=m |
283 | CONFIG_INET_IPCOMP=m | 282 | CONFIG_INET_IPCOMP=m |
283 | CONFIG_INET_XFRM_TUNNEL=m | ||
284 | CONFIG_INET_TUNNEL=m | 284 | CONFIG_INET_TUNNEL=m |
285 | CONFIG_INET_DIAG=y | 285 | CONFIG_INET_DIAG=y |
286 | CONFIG_INET_TCP_DIAG=y | 286 | CONFIG_INET_TCP_DIAG=y |
@@ -322,9 +322,12 @@ CONFIG_IP_VS_NQ=m | |||
322 | CONFIG_IP_VS_FTP=m | 322 | CONFIG_IP_VS_FTP=m |
323 | CONFIG_IPV6=m | 323 | CONFIG_IPV6=m |
324 | CONFIG_IPV6_PRIVACY=y | 324 | CONFIG_IPV6_PRIVACY=y |
325 | CONFIG_IPV6_ROUTER_PREF=y | ||
326 | CONFIG_IPV6_ROUTE_INFO=y | ||
325 | CONFIG_INET6_AH=m | 327 | CONFIG_INET6_AH=m |
326 | CONFIG_INET6_ESP=m | 328 | CONFIG_INET6_ESP=m |
327 | CONFIG_INET6_IPCOMP=m | 329 | CONFIG_INET6_IPCOMP=m |
330 | CONFIG_INET6_XFRM_TUNNEL=m | ||
328 | CONFIG_INET6_TUNNEL=m | 331 | CONFIG_INET6_TUNNEL=m |
329 | CONFIG_IPV6_TUNNEL=m | 332 | CONFIG_IPV6_TUNNEL=m |
330 | CONFIG_NETFILTER=y | 333 | CONFIG_NETFILTER=y |
@@ -348,11 +351,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
348 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 351 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
349 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 352 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
350 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 353 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
354 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
351 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 355 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
352 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 356 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
353 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 357 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
354 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 358 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
355 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 359 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
360 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
361 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
356 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 362 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m |
357 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 363 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
358 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 364 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
@@ -376,20 +382,19 @@ CONFIG_IP_NF_IRC=m | |||
376 | CONFIG_IP_NF_TFTP=m | 382 | CONFIG_IP_NF_TFTP=m |
377 | CONFIG_IP_NF_AMANDA=m | 383 | CONFIG_IP_NF_AMANDA=m |
378 | CONFIG_IP_NF_PPTP=m | 384 | CONFIG_IP_NF_PPTP=m |
385 | CONFIG_IP_NF_H323=m | ||
379 | CONFIG_IP_NF_QUEUE=m | 386 | CONFIG_IP_NF_QUEUE=m |
380 | CONFIG_IP_NF_IPTABLES=m | 387 | CONFIG_IP_NF_IPTABLES=m |
381 | CONFIG_IP_NF_MATCH_IPRANGE=m | 388 | CONFIG_IP_NF_MATCH_IPRANGE=m |
382 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
383 | CONFIG_IP_NF_MATCH_TOS=m | 389 | CONFIG_IP_NF_MATCH_TOS=m |
384 | CONFIG_IP_NF_MATCH_RECENT=m | 390 | CONFIG_IP_NF_MATCH_RECENT=m |
385 | CONFIG_IP_NF_MATCH_ECN=m | 391 | CONFIG_IP_NF_MATCH_ECN=m |
386 | CONFIG_IP_NF_MATCH_DSCP=m | 392 | CONFIG_IP_NF_MATCH_DSCP=m |
387 | CONFIG_IP_NF_MATCH_AH_ESP=m | 393 | CONFIG_IP_NF_MATCH_AH=m |
388 | CONFIG_IP_NF_MATCH_TTL=m | 394 | CONFIG_IP_NF_MATCH_TTL=m |
389 | CONFIG_IP_NF_MATCH_OWNER=m | 395 | CONFIG_IP_NF_MATCH_OWNER=m |
390 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 396 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
391 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 397 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
392 | CONFIG_IP_NF_MATCH_POLICY=m | ||
393 | CONFIG_IP_NF_FILTER=m | 398 | CONFIG_IP_NF_FILTER=m |
394 | CONFIG_IP_NF_TARGET_REJECT=m | 399 | CONFIG_IP_NF_TARGET_REJECT=m |
395 | CONFIG_IP_NF_TARGET_LOG=m | 400 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -407,6 +412,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
407 | CONFIG_IP_NF_NAT_TFTP=m | 412 | CONFIG_IP_NF_NAT_TFTP=m |
408 | CONFIG_IP_NF_NAT_AMANDA=m | 413 | CONFIG_IP_NF_NAT_AMANDA=m |
409 | CONFIG_IP_NF_NAT_PPTP=m | 414 | CONFIG_IP_NF_NAT_PPTP=m |
415 | CONFIG_IP_NF_NAT_H323=m | ||
410 | CONFIG_IP_NF_MANGLE=m | 416 | CONFIG_IP_NF_MANGLE=m |
411 | CONFIG_IP_NF_TARGET_TOS=m | 417 | CONFIG_IP_NF_TARGET_TOS=m |
412 | CONFIG_IP_NF_TARGET_ECN=m | 418 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -427,12 +433,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
427 | CONFIG_IP6_NF_MATCH_OPTS=m | 433 | CONFIG_IP6_NF_MATCH_OPTS=m |
428 | CONFIG_IP6_NF_MATCH_FRAG=m | 434 | CONFIG_IP6_NF_MATCH_FRAG=m |
429 | CONFIG_IP6_NF_MATCH_HL=m | 435 | CONFIG_IP6_NF_MATCH_HL=m |
430 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
431 | CONFIG_IP6_NF_MATCH_OWNER=m | 436 | CONFIG_IP6_NF_MATCH_OWNER=m |
432 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 437 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
433 | CONFIG_IP6_NF_MATCH_AHESP=m | 438 | CONFIG_IP6_NF_MATCH_AH=m |
434 | CONFIG_IP6_NF_MATCH_EUI64=m | 439 | CONFIG_IP6_NF_MATCH_EUI64=m |
435 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
436 | CONFIG_IP6_NF_FILTER=m | 440 | CONFIG_IP6_NF_FILTER=m |
437 | CONFIG_IP6_NF_TARGET_LOG=m | 441 | CONFIG_IP6_NF_TARGET_LOG=m |
438 | CONFIG_IP6_NF_TARGET_REJECT=m | 442 | CONFIG_IP6_NF_TARGET_REJECT=m |
@@ -478,6 +482,11 @@ CONFIG_IP_SCTP=m | |||
478 | # CONFIG_SCTP_HMAC_NONE is not set | 482 | # CONFIG_SCTP_HMAC_NONE is not set |
479 | # CONFIG_SCTP_HMAC_SHA1 is not set | 483 | # CONFIG_SCTP_HMAC_SHA1 is not set |
480 | CONFIG_SCTP_HMAC_MD5=y | 484 | CONFIG_SCTP_HMAC_MD5=y |
485 | |||
486 | # | ||
487 | # TIPC Configuration (EXPERIMENTAL) | ||
488 | # | ||
489 | # CONFIG_TIPC is not set | ||
481 | # CONFIG_ATM is not set | 490 | # CONFIG_ATM is not set |
482 | CONFIG_BRIDGE=m | 491 | CONFIG_BRIDGE=m |
483 | CONFIG_VLAN_8021Q=m | 492 | CONFIG_VLAN_8021Q=m |
@@ -492,11 +501,6 @@ CONFIG_IPDDP_ENCAP=y | |||
492 | CONFIG_IPDDP_DECAP=y | 501 | CONFIG_IPDDP_DECAP=y |
493 | # CONFIG_X25 is not set | 502 | # CONFIG_X25 is not set |
494 | # CONFIG_LAPB is not set | 503 | # CONFIG_LAPB is not set |
495 | |||
496 | # | ||
497 | # TIPC Configuration (EXPERIMENTAL) | ||
498 | # | ||
499 | # CONFIG_TIPC is not set | ||
500 | CONFIG_NET_DIVERT=y | 504 | CONFIG_NET_DIVERT=y |
501 | # CONFIG_ECONET is not set | 505 | # CONFIG_ECONET is not set |
502 | # CONFIG_WAN_ROUTER is not set | 506 | # CONFIG_WAN_ROUTER is not set |
@@ -556,6 +560,9 @@ CONFIG_IEEE80211=m | |||
556 | # CONFIG_IEEE80211_DEBUG is not set | 560 | # CONFIG_IEEE80211_DEBUG is not set |
557 | CONFIG_IEEE80211_CRYPT_WEP=m | 561 | CONFIG_IEEE80211_CRYPT_WEP=m |
558 | CONFIG_IEEE80211_CRYPT_CCMP=m | 562 | CONFIG_IEEE80211_CRYPT_CCMP=m |
563 | CONFIG_IEEE80211_SOFTMAC=m | ||
564 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
565 | CONFIG_WIRELESS_EXT=y | ||
559 | 566 | ||
560 | # | 567 | # |
561 | # Device Drivers | 568 | # Device Drivers |
@@ -694,9 +701,8 @@ CONFIG_SCSI_SYM53C8XX_2=y | |||
694 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | 701 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 |
695 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 702 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 |
696 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 703 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 |
697 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | 704 | CONFIG_SCSI_SYM53C8XX_MMIO=y |
698 | # CONFIG_SCSI_IPR is not set | 705 | # CONFIG_SCSI_IPR is not set |
699 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
700 | # CONFIG_SCSI_QLOGIC_1280 is not set | 706 | # CONFIG_SCSI_QLOGIC_1280 is not set |
701 | # CONFIG_SCSI_QLA_FC is not set | 707 | # CONFIG_SCSI_QLA_FC is not set |
702 | # CONFIG_SCSI_LPFC is not set | 708 | # CONFIG_SCSI_LPFC is not set |
@@ -715,6 +721,7 @@ CONFIG_MD_RAID0=m | |||
715 | CONFIG_MD_RAID1=m | 721 | CONFIG_MD_RAID1=m |
716 | CONFIG_MD_RAID10=m | 722 | CONFIG_MD_RAID10=m |
717 | CONFIG_MD_RAID5=m | 723 | CONFIG_MD_RAID5=m |
724 | CONFIG_MD_RAID5_RESHAPE=y | ||
718 | CONFIG_MD_RAID6=m | 725 | CONFIG_MD_RAID6=m |
719 | CONFIG_MD_MULTIPATH=m | 726 | CONFIG_MD_MULTIPATH=m |
720 | CONFIG_MD_FAULTY=m | 727 | CONFIG_MD_FAULTY=m |
@@ -921,6 +928,7 @@ CONFIG_HW_CONSOLE=y | |||
921 | # | 928 | # |
922 | CONFIG_SERIAL_8250=y | 929 | CONFIG_SERIAL_8250=y |
923 | CONFIG_SERIAL_8250_CONSOLE=y | 930 | CONFIG_SERIAL_8250_CONSOLE=y |
931 | CONFIG_SERIAL_8250_PCI=m | ||
924 | CONFIG_SERIAL_8250_NR_UARTS=4 | 932 | CONFIG_SERIAL_8250_NR_UARTS=4 |
925 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 933 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
926 | # CONFIG_SERIAL_8250_EXTENDED is not set | 934 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -930,6 +938,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
930 | # | 938 | # |
931 | CONFIG_SERIAL_CORE=y | 939 | CONFIG_SERIAL_CORE=y |
932 | CONFIG_SERIAL_CORE_CONSOLE=y | 940 | CONFIG_SERIAL_CORE_CONSOLE=y |
941 | # CONFIG_SERIAL_JSM is not set | ||
933 | CONFIG_UNIX98_PTYS=y | 942 | CONFIG_UNIX98_PTYS=y |
934 | CONFIG_LEGACY_PTYS=y | 943 | CONFIG_LEGACY_PTYS=y |
935 | CONFIG_LEGACY_PTY_COUNT=256 | 944 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -988,10 +997,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
988 | # | 997 | # |
989 | 998 | ||
990 | # | 999 | # |
991 | # Multimedia Capabilities Port drivers | ||
992 | # | ||
993 | |||
994 | # | ||
995 | # Multimedia devices | 1000 | # Multimedia devices |
996 | # | 1001 | # |
997 | # CONFIG_VIDEO_DEV is not set | 1002 | # CONFIG_VIDEO_DEV is not set |
@@ -1022,6 +1027,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
1022 | # | 1027 | # |
1023 | CONFIG_USB_ARCH_HAS_HCD=y | 1028 | CONFIG_USB_ARCH_HAS_HCD=y |
1024 | CONFIG_USB_ARCH_HAS_OHCI=y | 1029 | CONFIG_USB_ARCH_HAS_OHCI=y |
1030 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1025 | # CONFIG_USB is not set | 1031 | # CONFIG_USB is not set |
1026 | 1032 | ||
1027 | # | 1033 | # |
@@ -1039,13 +1045,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
1039 | # CONFIG_MMC is not set | 1045 | # CONFIG_MMC is not set |
1040 | 1046 | ||
1041 | # | 1047 | # |
1048 | # LED devices | ||
1049 | # | ||
1050 | # CONFIG_NEW_LEDS is not set | ||
1051 | |||
1052 | # | ||
1053 | # LED drivers | ||
1054 | # | ||
1055 | |||
1056 | # | ||
1057 | # LED Triggers | ||
1058 | # | ||
1059 | |||
1060 | # | ||
1042 | # InfiniBand support | 1061 | # InfiniBand support |
1043 | # | 1062 | # |
1044 | # CONFIG_INFINIBAND is not set | 1063 | # CONFIG_INFINIBAND is not set |
1045 | 1064 | ||
1046 | # | 1065 | # |
1047 | # SN Devices | 1066 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1067 | # | ||
1068 | |||
1069 | # | ||
1070 | # Real Time Clock | ||
1048 | # | 1071 | # |
1072 | # CONFIG_RTC_CLASS is not set | ||
1049 | 1073 | ||
1050 | # | 1074 | # |
1051 | # File systems | 1075 | # File systems |
@@ -1120,7 +1144,6 @@ CONFIG_SYSFS=y | |||
1120 | # CONFIG_TMPFS is not set | 1144 | # CONFIG_TMPFS is not set |
1121 | # CONFIG_HUGETLB_PAGE is not set | 1145 | # CONFIG_HUGETLB_PAGE is not set |
1122 | CONFIG_RAMFS=y | 1146 | CONFIG_RAMFS=y |
1123 | CONFIG_RELAYFS_FS=m | ||
1124 | # CONFIG_CONFIGFS_FS is not set | 1147 | # CONFIG_CONFIGFS_FS is not set |
1125 | 1148 | ||
1126 | # | 1149 | # |
@@ -1140,7 +1163,6 @@ CONFIG_VXFS_FS=m | |||
1140 | # CONFIG_QNX4FS_FS is not set | 1163 | # CONFIG_QNX4FS_FS is not set |
1141 | CONFIG_SYSV_FS=m | 1164 | CONFIG_SYSV_FS=m |
1142 | CONFIG_UFS_FS=m | 1165 | CONFIG_UFS_FS=m |
1143 | # CONFIG_UFS_FS_WRITE is not set | ||
1144 | 1166 | ||
1145 | # | 1167 | # |
1146 | # Network File Systems | 1168 | # Network File Systems |
@@ -1232,6 +1254,7 @@ CONFIG_NLS_UTF8=m | |||
1232 | # CONFIG_MAGIC_SYSRQ is not set | 1254 | # CONFIG_MAGIC_SYSRQ is not set |
1233 | # CONFIG_DEBUG_KERNEL is not set | 1255 | # CONFIG_DEBUG_KERNEL is not set |
1234 | CONFIG_LOG_BUF_SHIFT=14 | 1256 | CONFIG_LOG_BUF_SHIFT=14 |
1257 | # CONFIG_DEBUG_FS is not set | ||
1235 | CONFIG_CROSSCOMPILE=y | 1258 | CONFIG_CROSSCOMPILE=y |
1236 | CONFIG_CMDLINE="" | 1259 | CONFIG_CMDLINE="" |
1237 | 1260 | ||
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index 32984100a75e..d85cda58d650 100644 --- a/arch/mips/configs/bigsur_defconfig +++ b/arch/mips/configs/bigsur_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:53 2006 | 4 | # Mon Apr 24 14:50:55 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -80,6 +80,8 @@ CONFIG_SIBYTE_CFE=y | |||
80 | # CONFIG_SIBYTE_SB1250_PROF is not set | 80 | # CONFIG_SIBYTE_SB1250_PROF is not set |
81 | # CONFIG_SIBYTE_TBPROF is not set | 81 | # CONFIG_SIBYTE_TBPROF is not set |
82 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 82 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
83 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
84 | CONFIG_GENERIC_HWEIGHT=y | ||
83 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 85 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
84 | CONFIG_DMA_COHERENT=y | 86 | CONFIG_DMA_COHERENT=y |
85 | CONFIG_CPU_BIG_ENDIAN=y | 87 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -154,7 +156,6 @@ CONFIG_PREEMPT_NONE=y | |||
154 | # Code maturity level options | 156 | # Code maturity level options |
155 | # | 157 | # |
156 | CONFIG_EXPERIMENTAL=y | 158 | CONFIG_EXPERIMENTAL=y |
157 | CONFIG_CLEAN_COMPILE=y | ||
158 | CONFIG_LOCK_KERNEL=y | 159 | CONFIG_LOCK_KERNEL=y |
159 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 160 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
160 | 161 | ||
@@ -172,6 +173,7 @@ CONFIG_SYSCTL=y | |||
172 | CONFIG_IKCONFIG=y | 173 | CONFIG_IKCONFIG=y |
173 | CONFIG_IKCONFIG_PROC=y | 174 | CONFIG_IKCONFIG_PROC=y |
174 | # CONFIG_CPUSETS is not set | 175 | # CONFIG_CPUSETS is not set |
176 | # CONFIG_RELAY is not set | ||
175 | CONFIG_INITRAMFS_SOURCE="" | 177 | CONFIG_INITRAMFS_SOURCE="" |
176 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 178 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
177 | CONFIG_EMBEDDED=y | 179 | CONFIG_EMBEDDED=y |
@@ -186,10 +188,6 @@ CONFIG_BASE_FULL=y | |||
186 | CONFIG_FUTEX=y | 188 | CONFIG_FUTEX=y |
187 | CONFIG_EPOLL=y | 189 | CONFIG_EPOLL=y |
188 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y |
189 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
190 | CONFIG_CC_ALIGN_LABELS=0 | ||
191 | CONFIG_CC_ALIGN_LOOPS=0 | ||
192 | CONFIG_CC_ALIGN_JUMPS=0 | ||
193 | CONFIG_SLAB=y | 191 | CONFIG_SLAB=y |
194 | # CONFIG_TINY_SHMEM is not set | 192 | # CONFIG_TINY_SHMEM is not set |
195 | CONFIG_BASE_SMALL=0 | 193 | CONFIG_BASE_SMALL=0 |
@@ -201,7 +199,6 @@ CONFIG_BASE_SMALL=0 | |||
201 | CONFIG_MODULES=y | 199 | CONFIG_MODULES=y |
202 | CONFIG_MODULE_UNLOAD=y | 200 | CONFIG_MODULE_UNLOAD=y |
203 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 201 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
204 | CONFIG_OBSOLETE_MODPARM=y | ||
205 | CONFIG_MODVERSIONS=y | 202 | CONFIG_MODVERSIONS=y |
206 | CONFIG_MODULE_SRCVERSION_ALL=y | 203 | CONFIG_MODULE_SRCVERSION_ALL=y |
207 | CONFIG_KMOD=y | 204 | CONFIG_KMOD=y |
@@ -210,6 +207,7 @@ CONFIG_STOP_MACHINE=y | |||
210 | # | 207 | # |
211 | # Block layer | 208 | # Block layer |
212 | # | 209 | # |
210 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
213 | 211 | ||
214 | # | 212 | # |
215 | # IO Schedulers | 213 | # IO Schedulers |
@@ -230,7 +228,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
230 | CONFIG_HW_HAS_PCI=y | 228 | CONFIG_HW_HAS_PCI=y |
231 | CONFIG_PCI=y | 229 | CONFIG_PCI=y |
232 | CONFIG_PCI_DOMAINS=y | 230 | CONFIG_PCI_DOMAINS=y |
233 | CONFIG_PCI_LEGACY_PROC=y | ||
234 | CONFIG_PCI_DEBUG=y | 231 | CONFIG_PCI_DEBUG=y |
235 | CONFIG_MMU=y | 232 | CONFIG_MMU=y |
236 | 233 | ||
@@ -249,6 +246,7 @@ CONFIG_MMU=y | |||
249 | # | 246 | # |
250 | CONFIG_BINFMT_ELF=y | 247 | CONFIG_BINFMT_ELF=y |
251 | # CONFIG_BINFMT_MISC is not set | 248 | # CONFIG_BINFMT_MISC is not set |
249 | CONFIG_BUILD_ELF64=y | ||
252 | CONFIG_MIPS32_COMPAT=y | 250 | CONFIG_MIPS32_COMPAT=y |
253 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y |
254 | CONFIG_MIPS32_O32=y | 252 | CONFIG_MIPS32_O32=y |
@@ -263,6 +261,7 @@ CONFIG_NET=y | |||
263 | # | 261 | # |
264 | # Networking options | 262 | # Networking options |
265 | # | 263 | # |
264 | # CONFIG_NETDEBUG is not set | ||
266 | CONFIG_PACKET=y | 265 | CONFIG_PACKET=y |
267 | CONFIG_PACKET_MMAP=y | 266 | CONFIG_PACKET_MMAP=y |
268 | CONFIG_UNIX=y | 267 | CONFIG_UNIX=y |
@@ -284,12 +283,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
284 | # CONFIG_INET_AH is not set | 283 | # CONFIG_INET_AH is not set |
285 | # CONFIG_INET_ESP is not set | 284 | # CONFIG_INET_ESP is not set |
286 | # CONFIG_INET_IPCOMP is not set | 285 | # CONFIG_INET_IPCOMP is not set |
287 | CONFIG_INET_TUNNEL=m | 286 | # CONFIG_INET_XFRM_TUNNEL is not set |
287 | # CONFIG_INET_TUNNEL is not set | ||
288 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y |
289 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y |
290 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set |
291 | CONFIG_TCP_CONG_BIC=y | 291 | CONFIG_TCP_CONG_BIC=y |
292 | # CONFIG_IPV6 is not set | 292 | # CONFIG_IPV6 is not set |
293 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
294 | # CONFIG_INET6_TUNNEL is not set | ||
293 | # CONFIG_NETFILTER is not set | 295 | # CONFIG_NETFILTER is not set |
294 | 296 | ||
295 | # | 297 | # |
@@ -301,6 +303,11 @@ CONFIG_TCP_CONG_BIC=y | |||
301 | # SCTP Configuration (EXPERIMENTAL) | 303 | # SCTP Configuration (EXPERIMENTAL) |
302 | # | 304 | # |
303 | # CONFIG_IP_SCTP is not set | 305 | # CONFIG_IP_SCTP is not set |
306 | |||
307 | # | ||
308 | # TIPC Configuration (EXPERIMENTAL) | ||
309 | # | ||
310 | # CONFIG_TIPC is not set | ||
304 | # CONFIG_ATM is not set | 311 | # CONFIG_ATM is not set |
305 | # CONFIG_BRIDGE is not set | 312 | # CONFIG_BRIDGE is not set |
306 | # CONFIG_VLAN_8021Q is not set | 313 | # CONFIG_VLAN_8021Q is not set |
@@ -310,11 +317,6 @@ CONFIG_TCP_CONG_BIC=y | |||
310 | # CONFIG_ATALK is not set | 317 | # CONFIG_ATALK is not set |
311 | # CONFIG_X25 is not set | 318 | # CONFIG_X25 is not set |
312 | # CONFIG_LAPB is not set | 319 | # CONFIG_LAPB is not set |
313 | |||
314 | # | ||
315 | # TIPC Configuration (EXPERIMENTAL) | ||
316 | # | ||
317 | # CONFIG_TIPC is not set | ||
318 | # CONFIG_NET_DIVERT is not set | 320 | # CONFIG_NET_DIVERT is not set |
319 | # CONFIG_ECONET is not set | 321 | # CONFIG_ECONET is not set |
320 | # CONFIG_WAN_ROUTER is not set | 322 | # CONFIG_WAN_ROUTER is not set |
@@ -377,7 +379,7 @@ CONFIG_BLK_DEV_LOOP=m | |||
377 | CONFIG_BLK_DEV_NBD=m | 379 | CONFIG_BLK_DEV_NBD=m |
378 | # CONFIG_BLK_DEV_SX8 is not set | 380 | # CONFIG_BLK_DEV_SX8 is not set |
379 | # CONFIG_BLK_DEV_RAM is not set | 381 | # CONFIG_BLK_DEV_RAM is not set |
380 | CONFIG_BLK_DEV_RAM_COUNT=16 | 382 | # CONFIG_BLK_DEV_INITRD is not set |
381 | # CONFIG_CDROM_PKTCDVD is not set | 383 | # CONFIG_CDROM_PKTCDVD is not set |
382 | # CONFIG_ATA_OVER_ETH is not set | 384 | # CONFIG_ATA_OVER_ETH is not set |
383 | 385 | ||
@@ -575,6 +577,7 @@ CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y | |||
575 | # | 577 | # |
576 | # Non-8250 serial port support | 578 | # Non-8250 serial port support |
577 | # | 579 | # |
580 | # CONFIG_SERIAL_JSM is not set | ||
578 | CONFIG_UNIX98_PTYS=y | 581 | CONFIG_UNIX98_PTYS=y |
579 | CONFIG_LEGACY_PTYS=y | 582 | CONFIG_LEGACY_PTYS=y |
580 | CONFIG_LEGACY_PTY_COUNT=256 | 583 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -637,7 +640,6 @@ CONFIG_I2C_ALGO_SIBYTE=y | |||
637 | # CONFIG_I2C_PROSAVAGE is not set | 640 | # CONFIG_I2C_PROSAVAGE is not set |
638 | # CONFIG_I2C_SAVAGE4 is not set | 641 | # CONFIG_I2C_SAVAGE4 is not set |
639 | CONFIG_I2C_SIBYTE=y | 642 | CONFIG_I2C_SIBYTE=y |
640 | # CONFIG_SCx200_ACB is not set | ||
641 | # CONFIG_I2C_SIS5595 is not set | 643 | # CONFIG_I2C_SIS5595 is not set |
642 | # CONFIG_I2C_SIS630 is not set | 644 | # CONFIG_I2C_SIS630 is not set |
643 | # CONFIG_I2C_SIS96X is not set | 645 | # CONFIG_I2C_SIS96X is not set |
@@ -656,9 +658,7 @@ CONFIG_SENSORS_EEPROM=y | |||
656 | CONFIG_SENSORS_PCF8574=y | 658 | CONFIG_SENSORS_PCF8574=y |
657 | CONFIG_SENSORS_PCA9539=y | 659 | CONFIG_SENSORS_PCA9539=y |
658 | CONFIG_SENSORS_PCF8591=y | 660 | CONFIG_SENSORS_PCF8591=y |
659 | CONFIG_SENSORS_RTC8564=y | ||
660 | CONFIG_SENSORS_MAX6875=y | 661 | CONFIG_SENSORS_MAX6875=y |
661 | # CONFIG_RTC_X1205_I2C is not set | ||
662 | CONFIG_I2C_DEBUG_CORE=y | 662 | CONFIG_I2C_DEBUG_CORE=y |
663 | CONFIG_I2C_DEBUG_ALGO=y | 663 | CONFIG_I2C_DEBUG_ALGO=y |
664 | CONFIG_I2C_DEBUG_BUS=y | 664 | CONFIG_I2C_DEBUG_BUS=y |
@@ -686,10 +686,6 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
686 | # | 686 | # |
687 | 687 | ||
688 | # | 688 | # |
689 | # Multimedia Capabilities Port drivers | ||
690 | # | ||
691 | |||
692 | # | ||
693 | # Multimedia devices | 689 | # Multimedia devices |
694 | # | 690 | # |
695 | # CONFIG_VIDEO_DEV is not set | 691 | # CONFIG_VIDEO_DEV is not set |
@@ -714,6 +710,7 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
714 | # | 710 | # |
715 | CONFIG_USB_ARCH_HAS_HCD=y | 711 | CONFIG_USB_ARCH_HAS_HCD=y |
716 | CONFIG_USB_ARCH_HAS_OHCI=y | 712 | CONFIG_USB_ARCH_HAS_OHCI=y |
713 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
717 | # CONFIG_USB is not set | 714 | # CONFIG_USB is not set |
718 | 715 | ||
719 | # | 716 | # |
@@ -731,13 +728,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
731 | # CONFIG_MMC is not set | 728 | # CONFIG_MMC is not set |
732 | 729 | ||
733 | # | 730 | # |
731 | # LED devices | ||
732 | # | ||
733 | # CONFIG_NEW_LEDS is not set | ||
734 | |||
735 | # | ||
736 | # LED drivers | ||
737 | # | ||
738 | |||
739 | # | ||
740 | # LED Triggers | ||
741 | # | ||
742 | |||
743 | # | ||
734 | # InfiniBand support | 744 | # InfiniBand support |
735 | # | 745 | # |
736 | # CONFIG_INFINIBAND is not set | 746 | # CONFIG_INFINIBAND is not set |
737 | 747 | ||
738 | # | 748 | # |
739 | # SN Devices | 749 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
750 | # | ||
751 | |||
752 | # | ||
753 | # Real Time Clock | ||
740 | # | 754 | # |
755 | # CONFIG_RTC_CLASS is not set | ||
741 | 756 | ||
742 | # | 757 | # |
743 | # File systems | 758 | # File systems |
@@ -785,7 +800,6 @@ CONFIG_SYSFS=y | |||
785 | # CONFIG_TMPFS is not set | 800 | # CONFIG_TMPFS is not set |
786 | # CONFIG_HUGETLB_PAGE is not set | 801 | # CONFIG_HUGETLB_PAGE is not set |
787 | CONFIG_RAMFS=y | 802 | CONFIG_RAMFS=y |
788 | # CONFIG_RELAYFS_FS is not set | ||
789 | # CONFIG_CONFIGFS_FS is not set | 803 | # CONFIG_CONFIGFS_FS is not set |
790 | 804 | ||
791 | # | 805 | # |
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig index 6c2961affbd6..ca0af1683a00 100644 --- a/arch/mips/configs/capcella_defconfig +++ b/arch/mips/configs/capcella_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:54 2006 | 4 | # Tue Apr 25 00:08:06 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -72,6 +72,8 @@ CONFIG_ZAO_CAPCELLA=y | |||
72 | CONFIG_PCI_VR41XX=y | 72 | CONFIG_PCI_VR41XX=y |
73 | # CONFIG_VRC4173 is not set | 73 | # CONFIG_VRC4173 is not set |
74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
75 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
76 | CONFIG_GENERIC_HWEIGHT=y | ||
75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
76 | CONFIG_DMA_NONCOHERENT=y | 78 | CONFIG_DMA_NONCOHERENT=y |
77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -90,7 +92,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
90 | # CONFIG_CPU_MIPS64_R2 is not set | 92 | # CONFIG_CPU_MIPS64_R2 is not set |
91 | # CONFIG_CPU_R3000 is not set | 93 | # CONFIG_CPU_R3000 is not set |
92 | # CONFIG_CPU_TX39XX is not set | 94 | # CONFIG_CPU_TX39XX is not set |
93 | # CONFIG_CPU_VR41XX is not set | 95 | CONFIG_CPU_VR41XX=y |
94 | # CONFIG_CPU_R4300 is not set | 96 | # CONFIG_CPU_R4300 is not set |
95 | # CONFIG_CPU_R4X00 is not set | 97 | # CONFIG_CPU_R4X00 is not set |
96 | # CONFIG_CPU_TX49XX is not set | 98 | # CONFIG_CPU_TX49XX is not set |
@@ -103,18 +105,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
103 | # CONFIG_CPU_RM7000 is not set | 105 | # CONFIG_CPU_RM7000 is not set |
104 | # CONFIG_CPU_RM9000 is not set | 106 | # CONFIG_CPU_RM9000 is not set |
105 | # CONFIG_CPU_SB1 is not set | 107 | # CONFIG_CPU_SB1 is not set |
108 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
109 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
110 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
111 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
106 | 112 | ||
107 | # | 113 | # |
108 | # Kernel type | 114 | # Kernel type |
109 | # | 115 | # |
110 | # CONFIG_32BIT is not set | 116 | CONFIG_32BIT=y |
111 | # CONFIG_64BIT is not set | 117 | # CONFIG_64BIT is not set |
112 | CONFIG_PAGE_SIZE_4KB=y | 118 | CONFIG_PAGE_SIZE_4KB=y |
113 | # CONFIG_PAGE_SIZE_8KB is not set | 119 | # CONFIG_PAGE_SIZE_8KB is not set |
114 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set |
117 | CONFIG_CPU_HAS_LLSC=y | ||
118 | CONFIG_CPU_HAS_SYNC=y | 123 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 124 | CONFIG_GENERIC_HARDIRQS=y |
120 | CONFIG_GENERIC_IRQ_PROBE=y | 125 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -135,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
135 | # Code maturity level options | 140 | # Code maturity level options |
136 | # | 141 | # |
137 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y |
138 | CONFIG_CLEAN_COMPILE=y | ||
139 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y |
140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
141 | 145 | ||
@@ -151,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
151 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y |
152 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set |
153 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set |
158 | # CONFIG_RELAY is not set | ||
154 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" |
155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
156 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y |
@@ -164,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
164 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y |
165 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y |
166 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y |
167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
168 | CONFIG_CC_ALIGN_LABELS=0 | ||
169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
171 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y |
172 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set |
173 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 |
@@ -179,7 +180,6 @@ CONFIG_BASE_SMALL=0 | |||
179 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
180 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
182 | CONFIG_OBSOLETE_MODPARM=y | ||
183 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
184 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
185 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -187,6 +187,9 @@ CONFIG_KMOD=y | |||
187 | # | 187 | # |
188 | # Block layer | 188 | # Block layer |
189 | # | 189 | # |
190 | # CONFIG_LBD is not set | ||
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
190 | 193 | ||
191 | # | 194 | # |
192 | # IO Schedulers | 195 | # IO Schedulers |
@@ -206,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
206 | # | 209 | # |
207 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y |
208 | CONFIG_PCI=y | 211 | CONFIG_PCI=y |
209 | CONFIG_PCI_LEGACY_PROC=y | ||
210 | CONFIG_MMU=y | 212 | CONFIG_MMU=y |
211 | 213 | ||
212 | # | 214 | # |
@@ -224,6 +226,7 @@ CONFIG_MMU=y | |||
224 | # | 226 | # |
225 | CONFIG_BINFMT_ELF=y | 227 | CONFIG_BINFMT_ELF=y |
226 | # CONFIG_BINFMT_MISC is not set | 228 | # CONFIG_BINFMT_MISC is not set |
229 | CONFIG_TRAD_SIGNALS=y | ||
227 | 230 | ||
228 | # | 231 | # |
229 | # Networking | 232 | # Networking |
@@ -233,6 +236,7 @@ CONFIG_NET=y | |||
233 | # | 236 | # |
234 | # Networking options | 237 | # Networking options |
235 | # | 238 | # |
239 | # CONFIG_NETDEBUG is not set | ||
236 | CONFIG_PACKET=y | 240 | CONFIG_PACKET=y |
237 | CONFIG_PACKET_MMAP=y | 241 | CONFIG_PACKET_MMAP=y |
238 | CONFIG_UNIX=y | 242 | CONFIG_UNIX=y |
@@ -255,12 +259,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
255 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set |
256 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set |
257 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set |
258 | CONFIG_INET_TUNNEL=m | 262 | # CONFIG_INET_XFRM_TUNNEL is not set |
263 | # CONFIG_INET_TUNNEL is not set | ||
259 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y |
260 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y |
261 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set |
262 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y |
263 | # CONFIG_IPV6 is not set | 268 | # CONFIG_IPV6 is not set |
269 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
270 | # CONFIG_INET6_TUNNEL is not set | ||
264 | # CONFIG_NETFILTER is not set | 271 | # CONFIG_NETFILTER is not set |
265 | 272 | ||
266 | # | 273 | # |
@@ -272,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y | |||
272 | # SCTP Configuration (EXPERIMENTAL) | 279 | # SCTP Configuration (EXPERIMENTAL) |
273 | # | 280 | # |
274 | # CONFIG_IP_SCTP is not set | 281 | # CONFIG_IP_SCTP is not set |
282 | |||
283 | # | ||
284 | # TIPC Configuration (EXPERIMENTAL) | ||
285 | # | ||
286 | # CONFIG_TIPC is not set | ||
275 | # CONFIG_ATM is not set | 287 | # CONFIG_ATM is not set |
276 | # CONFIG_BRIDGE is not set | 288 | # CONFIG_BRIDGE is not set |
277 | # CONFIG_VLAN_8021Q is not set | 289 | # CONFIG_VLAN_8021Q is not set |
@@ -281,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y | |||
281 | # CONFIG_ATALK is not set | 293 | # CONFIG_ATALK is not set |
282 | # CONFIG_X25 is not set | 294 | # CONFIG_X25 is not set |
283 | # CONFIG_LAPB is not set | 295 | # CONFIG_LAPB is not set |
284 | |||
285 | # | ||
286 | # TIPC Configuration (EXPERIMENTAL) | ||
287 | # | ||
288 | # CONFIG_TIPC is not set | ||
289 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set |
290 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set |
291 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set |
@@ -302,10 +309,7 @@ CONFIG_TCP_CONG_BIC=y | |||
302 | # CONFIG_HAMRADIO is not set | 309 | # CONFIG_HAMRADIO is not set |
303 | # CONFIG_IRDA is not set | 310 | # CONFIG_IRDA is not set |
304 | # CONFIG_BT is not set | 311 | # CONFIG_BT is not set |
305 | CONFIG_IEEE80211=m | 312 | # CONFIG_IEEE80211 is not set |
306 | # CONFIG_IEEE80211_DEBUG is not set | ||
307 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
308 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
309 | 313 | ||
310 | # | 314 | # |
311 | # Device Drivers | 315 | # Device Drivers |
@@ -348,10 +352,12 @@ CONFIG_CONNECTOR=m | |||
348 | # CONFIG_BLK_DEV_LOOP is not set | 352 | # CONFIG_BLK_DEV_LOOP is not set |
349 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set |
350 | # CONFIG_BLK_DEV_SX8 is not set | 354 | # CONFIG_BLK_DEV_SX8 is not set |
351 | # CONFIG_BLK_DEV_RAM is not set | 355 | CONFIG_BLK_DEV_RAM=y |
352 | CONFIG_BLK_DEV_RAM_COUNT=16 | 356 | CONFIG_BLK_DEV_RAM_COUNT=16 |
357 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
358 | # CONFIG_BLK_DEV_INITRD is not set | ||
353 | # CONFIG_CDROM_PKTCDVD is not set | 359 | # CONFIG_CDROM_PKTCDVD is not set |
354 | CONFIG_ATA_OVER_ETH=m | 360 | # CONFIG_ATA_OVER_ETH is not set |
355 | 361 | ||
356 | # | 362 | # |
357 | # ATA/ATAPI/MFM/RLL support | 363 | # ATA/ATAPI/MFM/RLL support |
@@ -578,6 +584,11 @@ CONFIG_HW_CONSOLE=y | |||
578 | # | 584 | # |
579 | # Non-8250 serial port support | 585 | # Non-8250 serial port support |
580 | # | 586 | # |
587 | CONFIG_SERIAL_CORE=y | ||
588 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
589 | CONFIG_SERIAL_VR41XX=y | ||
590 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
591 | # CONFIG_SERIAL_JSM is not set | ||
581 | CONFIG_UNIX98_PTYS=y | 592 | CONFIG_UNIX98_PTYS=y |
582 | CONFIG_LEGACY_PTYS=y | 593 | CONFIG_LEGACY_PTYS=y |
583 | CONFIG_LEGACY_PTY_COUNT=256 | 594 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -601,6 +612,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
601 | # Ftape, the floppy tape device driver | 612 | # Ftape, the floppy tape device driver |
602 | # | 613 | # |
603 | # CONFIG_DRM is not set | 614 | # CONFIG_DRM is not set |
615 | CONFIG_GPIO_VR41XX=y | ||
604 | # CONFIG_RAW_DRIVER is not set | 616 | # CONFIG_RAW_DRIVER is not set |
605 | 617 | ||
606 | # | 618 | # |
@@ -636,10 +648,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
636 | # | 648 | # |
637 | 649 | ||
638 | # | 650 | # |
639 | # Multimedia Capabilities Port drivers | ||
640 | # | ||
641 | |||
642 | # | ||
643 | # Multimedia devices | 651 | # Multimedia devices |
644 | # | 652 | # |
645 | # CONFIG_VIDEO_DEV is not set | 653 | # CONFIG_VIDEO_DEV is not set |
@@ -670,6 +678,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
670 | # | 678 | # |
671 | CONFIG_USB_ARCH_HAS_HCD=y | 679 | CONFIG_USB_ARCH_HAS_HCD=y |
672 | CONFIG_USB_ARCH_HAS_OHCI=y | 680 | CONFIG_USB_ARCH_HAS_OHCI=y |
681 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
673 | # CONFIG_USB is not set | 682 | # CONFIG_USB is not set |
674 | 683 | ||
675 | # | 684 | # |
@@ -687,13 +696,48 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
687 | # CONFIG_MMC is not set | 696 | # CONFIG_MMC is not set |
688 | 697 | ||
689 | # | 698 | # |
699 | # LED devices | ||
700 | # | ||
701 | # CONFIG_NEW_LEDS is not set | ||
702 | |||
703 | # | ||
704 | # LED drivers | ||
705 | # | ||
706 | |||
707 | # | ||
708 | # LED Triggers | ||
709 | # | ||
710 | |||
711 | # | ||
690 | # InfiniBand support | 712 | # InfiniBand support |
691 | # | 713 | # |
692 | # CONFIG_INFINIBAND is not set | 714 | # CONFIG_INFINIBAND is not set |
693 | 715 | ||
694 | # | 716 | # |
695 | # SN Devices | 717 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
718 | # | ||
719 | |||
720 | # | ||
721 | # Real Time Clock | ||
722 | # | ||
723 | CONFIG_RTC_LIB=y | ||
724 | CONFIG_RTC_CLASS=y | ||
725 | CONFIG_RTC_HCTOSYS=y | ||
726 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
727 | |||
728 | # | ||
729 | # RTC interfaces | ||
730 | # | ||
731 | CONFIG_RTC_INTF_SYSFS=y | ||
732 | CONFIG_RTC_INTF_PROC=y | ||
733 | CONFIG_RTC_INTF_DEV=y | ||
734 | |||
735 | # | ||
736 | # RTC drivers | ||
696 | # | 737 | # |
738 | # CONFIG_RTC_DRV_M48T86 is not set | ||
739 | CONFIG_RTC_DRV_VR41XX=y | ||
740 | # CONFIG_RTC_DRV_TEST is not set | ||
697 | 741 | ||
698 | # | 742 | # |
699 | # File systems | 743 | # File systems |
@@ -712,7 +756,7 @@ CONFIG_EXT2_FS=y | |||
712 | CONFIG_INOTIFY=y | 756 | CONFIG_INOTIFY=y |
713 | # CONFIG_QUOTA is not set | 757 | # CONFIG_QUOTA is not set |
714 | CONFIG_DNOTIFY=y | 758 | CONFIG_DNOTIFY=y |
715 | CONFIG_AUTOFS_FS=y | 759 | # CONFIG_AUTOFS_FS is not set |
716 | CONFIG_AUTOFS4_FS=y | 760 | CONFIG_AUTOFS4_FS=y |
717 | CONFIG_FUSE_FS=m | 761 | CONFIG_FUSE_FS=m |
718 | 762 | ||
@@ -735,10 +779,9 @@ CONFIG_FUSE_FS=m | |||
735 | CONFIG_PROC_FS=y | 779 | CONFIG_PROC_FS=y |
736 | CONFIG_PROC_KCORE=y | 780 | CONFIG_PROC_KCORE=y |
737 | CONFIG_SYSFS=y | 781 | CONFIG_SYSFS=y |
738 | # CONFIG_TMPFS is not set | 782 | CONFIG_TMPFS=y |
739 | # CONFIG_HUGETLB_PAGE is not set | 783 | # CONFIG_HUGETLB_PAGE is not set |
740 | CONFIG_RAMFS=y | 784 | CONFIG_RAMFS=y |
741 | CONFIG_RELAYFS_FS=m | ||
742 | # CONFIG_CONFIGFS_FS is not set | 785 | # CONFIG_CONFIGFS_FS is not set |
743 | 786 | ||
744 | # | 787 | # |
@@ -805,44 +848,20 @@ CONFIG_MSDOS_PARTITION=y | |||
805 | # CONFIG_MAGIC_SYSRQ is not set | 848 | # CONFIG_MAGIC_SYSRQ is not set |
806 | # CONFIG_DEBUG_KERNEL is not set | 849 | # CONFIG_DEBUG_KERNEL is not set |
807 | CONFIG_LOG_BUF_SHIFT=14 | 850 | CONFIG_LOG_BUF_SHIFT=14 |
851 | # CONFIG_DEBUG_FS is not set | ||
808 | CONFIG_CROSSCOMPILE=y | 852 | CONFIG_CROSSCOMPILE=y |
809 | CONFIG_CMDLINE="mem=32M console=ttyVR0,38400" | 853 | CONFIG_CMDLINE="mem=32M console=ttyVR0,38400" |
810 | 854 | ||
811 | # | 855 | # |
812 | # Security options | 856 | # Security options |
813 | # | 857 | # |
814 | CONFIG_KEYS=y | 858 | # CONFIG_KEYS is not set |
815 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
816 | # CONFIG_SECURITY is not set | 859 | # CONFIG_SECURITY is not set |
817 | 860 | ||
818 | # | 861 | # |
819 | # Cryptographic options | 862 | # Cryptographic options |
820 | # | 863 | # |
821 | CONFIG_CRYPTO=y | 864 | # CONFIG_CRYPTO is not set |
822 | CONFIG_CRYPTO_HMAC=y | ||
823 | CONFIG_CRYPTO_NULL=m | ||
824 | CONFIG_CRYPTO_MD4=m | ||
825 | CONFIG_CRYPTO_MD5=m | ||
826 | CONFIG_CRYPTO_SHA1=m | ||
827 | CONFIG_CRYPTO_SHA256=m | ||
828 | CONFIG_CRYPTO_SHA512=m | ||
829 | CONFIG_CRYPTO_WP512=m | ||
830 | CONFIG_CRYPTO_TGR192=m | ||
831 | CONFIG_CRYPTO_DES=m | ||
832 | CONFIG_CRYPTO_BLOWFISH=m | ||
833 | CONFIG_CRYPTO_TWOFISH=m | ||
834 | CONFIG_CRYPTO_SERPENT=m | ||
835 | CONFIG_CRYPTO_AES=m | ||
836 | CONFIG_CRYPTO_CAST5=m | ||
837 | CONFIG_CRYPTO_CAST6=m | ||
838 | CONFIG_CRYPTO_TEA=m | ||
839 | CONFIG_CRYPTO_ARC4=m | ||
840 | CONFIG_CRYPTO_KHAZAD=m | ||
841 | CONFIG_CRYPTO_ANUBIS=m | ||
842 | CONFIG_CRYPTO_DEFLATE=m | ||
843 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
844 | CONFIG_CRYPTO_CRC32C=m | ||
845 | # CONFIG_CRYPTO_TEST is not set | ||
846 | 865 | ||
847 | # | 866 | # |
848 | # Hardware crypto devices | 867 | # Hardware crypto devices |
@@ -852,8 +871,6 @@ CONFIG_CRYPTO_CRC32C=m | |||
852 | # Library routines | 871 | # Library routines |
853 | # | 872 | # |
854 | # CONFIG_CRC_CCITT is not set | 873 | # CONFIG_CRC_CCITT is not set |
855 | CONFIG_CRC16=m | 874 | # CONFIG_CRC16 is not set |
856 | CONFIG_CRC32=y | 875 | CONFIG_CRC32=y |
857 | CONFIG_LIBCRC32C=m | 876 | # CONFIG_LIBCRC32C is not set |
858 | CONFIG_ZLIB_INFLATE=m | ||
859 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 8336b21d3db2..7d269e609282 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:55 2006 | 4 | # Mon Apr 24 14:50:57 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -63,7 +63,10 @@ CONFIG_MIPS_COBALT=y | |||
63 | # CONFIG_TOSHIBA_JMR3927 is not set | 63 | # CONFIG_TOSHIBA_JMR3927 is not set |
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_EARLY_PRINTK=y | ||
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -113,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
116 | # CONFIG_CPU_ADVANCED is not set | ||
117 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
@@ -135,7 +137,6 @@ CONFIG_PREEMPT_NONE=y | |||
135 | # Code maturity level options | 137 | # Code maturity level options |
136 | # | 138 | # |
137 | CONFIG_EXPERIMENTAL=y | 139 | CONFIG_EXPERIMENTAL=y |
138 | CONFIG_CLEAN_COMPILE=y | ||
139 | CONFIG_BROKEN_ON_SMP=y | 140 | CONFIG_BROKEN_ON_SMP=y |
140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
141 | 142 | ||
@@ -151,6 +152,7 @@ CONFIG_SYSVIPC=y | |||
151 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y |
152 | # CONFIG_AUDIT is not set | 153 | # CONFIG_AUDIT is not set |
153 | # CONFIG_IKCONFIG is not set | 154 | # CONFIG_IKCONFIG is not set |
155 | CONFIG_RELAY=y | ||
154 | CONFIG_INITRAMFS_SOURCE="" | 156 | CONFIG_INITRAMFS_SOURCE="" |
155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
156 | CONFIG_EMBEDDED=y | 158 | CONFIG_EMBEDDED=y |
@@ -164,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
164 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y |
165 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y |
166 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y |
167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
168 | CONFIG_CC_ALIGN_LABELS=0 | ||
169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
171 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y |
172 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set |
173 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 |
@@ -182,6 +180,8 @@ CONFIG_BASE_SMALL=0 | |||
182 | # Block layer | 180 | # Block layer |
183 | # | 181 | # |
184 | # CONFIG_LBD is not set | 182 | # CONFIG_LBD is not set |
183 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
184 | # CONFIG_LSF is not set | ||
185 | 185 | ||
186 | # | 186 | # |
187 | # IO Schedulers | 187 | # IO Schedulers |
@@ -201,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
201 | # | 201 | # |
202 | CONFIG_HW_HAS_PCI=y | 202 | CONFIG_HW_HAS_PCI=y |
203 | CONFIG_PCI=y | 203 | CONFIG_PCI=y |
204 | CONFIG_PCI_LEGACY_PROC=y | ||
205 | CONFIG_MMU=y | 204 | CONFIG_MMU=y |
206 | 205 | ||
207 | # | 206 | # |
@@ -229,6 +228,7 @@ CONFIG_NET=y | |||
229 | # | 228 | # |
230 | # Networking options | 229 | # Networking options |
231 | # | 230 | # |
231 | # CONFIG_NETDEBUG is not set | ||
232 | CONFIG_PACKET=y | 232 | CONFIG_PACKET=y |
233 | # CONFIG_PACKET_MMAP is not set | 233 | # CONFIG_PACKET_MMAP is not set |
234 | CONFIG_UNIX=y | 234 | CONFIG_UNIX=y |
@@ -247,12 +247,15 @@ CONFIG_IP_FIB_HASH=y | |||
247 | # CONFIG_INET_AH is not set | 247 | # CONFIG_INET_AH is not set |
248 | # CONFIG_INET_ESP is not set | 248 | # CONFIG_INET_ESP is not set |
249 | # CONFIG_INET_IPCOMP is not set | 249 | # CONFIG_INET_IPCOMP is not set |
250 | CONFIG_INET_TUNNEL=y | 250 | # CONFIG_INET_XFRM_TUNNEL is not set |
251 | # CONFIG_INET_TUNNEL is not set | ||
251 | CONFIG_INET_DIAG=y | 252 | CONFIG_INET_DIAG=y |
252 | CONFIG_INET_TCP_DIAG=y | 253 | CONFIG_INET_TCP_DIAG=y |
253 | # CONFIG_TCP_CONG_ADVANCED is not set | 254 | # CONFIG_TCP_CONG_ADVANCED is not set |
254 | CONFIG_TCP_CONG_BIC=y | 255 | CONFIG_TCP_CONG_BIC=y |
255 | # CONFIG_IPV6 is not set | 256 | # CONFIG_IPV6 is not set |
257 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
258 | # CONFIG_INET6_TUNNEL is not set | ||
256 | # CONFIG_NETFILTER is not set | 259 | # CONFIG_NETFILTER is not set |
257 | 260 | ||
258 | # | 261 | # |
@@ -264,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y | |||
264 | # SCTP Configuration (EXPERIMENTAL) | 267 | # SCTP Configuration (EXPERIMENTAL) |
265 | # | 268 | # |
266 | # CONFIG_IP_SCTP is not set | 269 | # CONFIG_IP_SCTP is not set |
270 | |||
271 | # | ||
272 | # TIPC Configuration (EXPERIMENTAL) | ||
273 | # | ||
274 | # CONFIG_TIPC is not set | ||
267 | # CONFIG_ATM is not set | 275 | # CONFIG_ATM is not set |
268 | # CONFIG_BRIDGE is not set | 276 | # CONFIG_BRIDGE is not set |
269 | # CONFIG_VLAN_8021Q is not set | 277 | # CONFIG_VLAN_8021Q is not set |
@@ -273,11 +281,6 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # CONFIG_ATALK is not set | 281 | # CONFIG_ATALK is not set |
274 | # CONFIG_X25 is not set | 282 | # CONFIG_X25 is not set |
275 | # CONFIG_LAPB is not set | 283 | # CONFIG_LAPB is not set |
276 | |||
277 | # | ||
278 | # TIPC Configuration (EXPERIMENTAL) | ||
279 | # | ||
280 | # CONFIG_TIPC is not set | ||
281 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set |
282 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set |
283 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set |
@@ -298,6 +301,9 @@ CONFIG_IEEE80211=y | |||
298 | # CONFIG_IEEE80211_DEBUG is not set | 301 | # CONFIG_IEEE80211_DEBUG is not set |
299 | CONFIG_IEEE80211_CRYPT_WEP=y | 302 | CONFIG_IEEE80211_CRYPT_WEP=y |
300 | CONFIG_IEEE80211_CRYPT_CCMP=y | 303 | CONFIG_IEEE80211_CRYPT_CCMP=y |
304 | CONFIG_IEEE80211_SOFTMAC=y | ||
305 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
306 | CONFIG_WIRELESS_EXT=y | ||
301 | 307 | ||
302 | # | 308 | # |
303 | # Device Drivers | 309 | # Device Drivers |
@@ -343,7 +349,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
343 | # CONFIG_BLK_DEV_NBD is not set | 349 | # CONFIG_BLK_DEV_NBD is not set |
344 | # CONFIG_BLK_DEV_SX8 is not set | 350 | # CONFIG_BLK_DEV_SX8 is not set |
345 | # CONFIG_BLK_DEV_RAM is not set | 351 | # CONFIG_BLK_DEV_RAM is not set |
346 | CONFIG_BLK_DEV_RAM_COUNT=16 | 352 | # CONFIG_BLK_DEV_INITRD is not set |
347 | CONFIG_CDROM_PKTCDVD=y | 353 | CONFIG_CDROM_PKTCDVD=y |
348 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 354 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
349 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 355 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -593,6 +599,7 @@ CONFIG_HW_CONSOLE=y | |||
593 | # | 599 | # |
594 | CONFIG_SERIAL_8250=y | 600 | CONFIG_SERIAL_8250=y |
595 | CONFIG_SERIAL_8250_CONSOLE=y | 601 | CONFIG_SERIAL_8250_CONSOLE=y |
602 | CONFIG_SERIAL_8250_PCI=y | ||
596 | CONFIG_SERIAL_8250_NR_UARTS=4 | 603 | CONFIG_SERIAL_8250_NR_UARTS=4 |
597 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 604 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
598 | # CONFIG_SERIAL_8250_EXTENDED is not set | 605 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -602,6 +609,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
602 | # | 609 | # |
603 | CONFIG_SERIAL_CORE=y | 610 | CONFIG_SERIAL_CORE=y |
604 | CONFIG_SERIAL_CORE_CONSOLE=y | 611 | CONFIG_SERIAL_CORE_CONSOLE=y |
612 | # CONFIG_SERIAL_JSM is not set | ||
605 | CONFIG_UNIX98_PTYS=y | 613 | CONFIG_UNIX98_PTYS=y |
606 | CONFIG_LEGACY_PTYS=y | 614 | CONFIG_LEGACY_PTYS=y |
607 | CONFIG_LEGACY_PTY_COUNT=256 | 615 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -660,10 +668,6 @@ CONFIG_COBALT_LCD=y | |||
660 | # | 668 | # |
661 | 669 | ||
662 | # | 670 | # |
663 | # Multimedia Capabilities Port drivers | ||
664 | # | ||
665 | |||
666 | # | ||
667 | # Multimedia devices | 671 | # Multimedia devices |
668 | # | 672 | # |
669 | # CONFIG_VIDEO_DEV is not set | 673 | # CONFIG_VIDEO_DEV is not set |
@@ -694,6 +698,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
694 | # | 698 | # |
695 | CONFIG_USB_ARCH_HAS_HCD=y | 699 | CONFIG_USB_ARCH_HAS_HCD=y |
696 | CONFIG_USB_ARCH_HAS_OHCI=y | 700 | CONFIG_USB_ARCH_HAS_OHCI=y |
701 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
697 | # CONFIG_USB is not set | 702 | # CONFIG_USB is not set |
698 | 703 | ||
699 | # | 704 | # |
@@ -711,13 +716,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
711 | # CONFIG_MMC is not set | 716 | # CONFIG_MMC is not set |
712 | 717 | ||
713 | # | 718 | # |
719 | # LED devices | ||
720 | # | ||
721 | # CONFIG_NEW_LEDS is not set | ||
722 | |||
723 | # | ||
724 | # LED drivers | ||
725 | # | ||
726 | |||
727 | # | ||
728 | # LED Triggers | ||
729 | # | ||
730 | |||
731 | # | ||
714 | # InfiniBand support | 732 | # InfiniBand support |
715 | # | 733 | # |
716 | # CONFIG_INFINIBAND is not set | 734 | # CONFIG_INFINIBAND is not set |
717 | 735 | ||
718 | # | 736 | # |
719 | # SN Devices | 737 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
738 | # | ||
739 | |||
740 | # | ||
741 | # Real Time Clock | ||
720 | # | 742 | # |
743 | # CONFIG_RTC_CLASS is not set | ||
721 | 744 | ||
722 | # | 745 | # |
723 | # File systems | 746 | # File systems |
@@ -765,7 +788,6 @@ CONFIG_SYSFS=y | |||
765 | # CONFIG_TMPFS is not set | 788 | # CONFIG_TMPFS is not set |
766 | # CONFIG_HUGETLB_PAGE is not set | 789 | # CONFIG_HUGETLB_PAGE is not set |
767 | CONFIG_RAMFS=y | 790 | CONFIG_RAMFS=y |
768 | CONFIG_RELAYFS_FS=y | ||
769 | # CONFIG_CONFIGFS_FS is not set | 791 | # CONFIG_CONFIGFS_FS is not set |
770 | 792 | ||
771 | # | 793 | # |
@@ -828,6 +850,8 @@ CONFIG_MSDOS_PARTITION=y | |||
828 | # CONFIG_MAGIC_SYSRQ is not set | 850 | # CONFIG_MAGIC_SYSRQ is not set |
829 | # CONFIG_DEBUG_KERNEL is not set | 851 | # CONFIG_DEBUG_KERNEL is not set |
830 | CONFIG_LOG_BUF_SHIFT=14 | 852 | CONFIG_LOG_BUF_SHIFT=14 |
853 | # CONFIG_DEBUG_FS is not set | ||
854 | # CONFIG_UNWIND_INFO is not set | ||
831 | CONFIG_CROSSCOMPILE=y | 855 | CONFIG_CROSSCOMPILE=y |
832 | CONFIG_CMDLINE="" | 856 | CONFIG_CMDLINE="" |
833 | 857 | ||
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig index 7f071403c8e3..579b665e3339 100644 --- a/arch/mips/configs/db1000_defconfig +++ b/arch/mips/configs/db1000_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:56 2006 | 4 | # Mon Apr 24 14:50:57 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1000=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set |
116 | CONFIG_64BIT_PHYS_ADDR=y | 118 | CONFIG_64BIT_PHYS_ADDR=y |
117 | # CONFIG_CPU_ADVANCED is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y |
123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y |
123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y |
124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y |
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # Code maturity level options | 138 | # Code maturity level options |
137 | # | 139 | # |
138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
139 | CONFIG_CLEAN_COMPILE=y | ||
140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
142 | 143 | ||
@@ -152,6 +153,7 @@ CONFIG_SYSVIPC=y | |||
152 | CONFIG_SYSCTL=y | 153 | CONFIG_SYSCTL=y |
153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set |
154 | # CONFIG_IKCONFIG is not set | 155 | # CONFIG_IKCONFIG is not set |
156 | CONFIG_RELAY=y | ||
155 | CONFIG_INITRAMFS_SOURCE="" | 157 | CONFIG_INITRAMFS_SOURCE="" |
156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
157 | CONFIG_EMBEDDED=y | 159 | CONFIG_EMBEDDED=y |
@@ -165,10 +167,6 @@ CONFIG_BASE_FULL=y | |||
165 | CONFIG_FUTEX=y | 167 | CONFIG_FUTEX=y |
166 | CONFIG_EPOLL=y | 168 | CONFIG_EPOLL=y |
167 | CONFIG_SHMEM=y | 169 | CONFIG_SHMEM=y |
168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
169 | CONFIG_CC_ALIGN_LABELS=0 | ||
170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
172 | CONFIG_SLAB=y | 170 | CONFIG_SLAB=y |
173 | # CONFIG_TINY_SHMEM is not set | 171 | # CONFIG_TINY_SHMEM is not set |
174 | CONFIG_BASE_SMALL=0 | 172 | CONFIG_BASE_SMALL=0 |
@@ -181,7 +179,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
181 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y |
182 | CONFIG_MODULE_UNLOAD=y | 180 | CONFIG_MODULE_UNLOAD=y |
183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
184 | CONFIG_OBSOLETE_MODPARM=y | ||
185 | CONFIG_MODVERSIONS=y | 182 | CONFIG_MODVERSIONS=y |
186 | CONFIG_MODULE_SRCVERSION_ALL=y | 183 | CONFIG_MODULE_SRCVERSION_ALL=y |
187 | CONFIG_KMOD=y | 184 | CONFIG_KMOD=y |
@@ -190,6 +187,8 @@ CONFIG_KMOD=y | |||
190 | # Block layer | 187 | # Block layer |
191 | # | 188 | # |
192 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set |
190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
191 | # CONFIG_LSF is not set | ||
193 | 192 | ||
194 | # | 193 | # |
195 | # IO Schedulers | 194 | # IO Schedulers |
@@ -245,6 +244,7 @@ CONFIG_NET=y | |||
245 | # | 244 | # |
246 | # Networking options | 245 | # Networking options |
247 | # | 246 | # |
247 | # CONFIG_NETDEBUG is not set | ||
248 | CONFIG_PACKET=y | 248 | CONFIG_PACKET=y |
249 | # CONFIG_PACKET_MMAP is not set | 249 | # CONFIG_PACKET_MMAP is not set |
250 | CONFIG_UNIX=y | 250 | CONFIG_UNIX=y |
@@ -267,7 +267,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
267 | # CONFIG_INET_AH is not set | 267 | # CONFIG_INET_AH is not set |
268 | # CONFIG_INET_ESP is not set | 268 | # CONFIG_INET_ESP is not set |
269 | # CONFIG_INET_IPCOMP is not set | 269 | # CONFIG_INET_IPCOMP is not set |
270 | CONFIG_INET_TUNNEL=m | 270 | # CONFIG_INET_XFRM_TUNNEL is not set |
271 | # CONFIG_INET_TUNNEL is not set | ||
271 | CONFIG_INET_DIAG=y | 272 | CONFIG_INET_DIAG=y |
272 | CONFIG_INET_TCP_DIAG=y | 273 | CONFIG_INET_TCP_DIAG=y |
273 | # CONFIG_TCP_CONG_ADVANCED is not set | 274 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -278,6 +279,8 @@ CONFIG_TCP_CONG_BIC=y | |||
278 | # | 279 | # |
279 | # CONFIG_IP_VS is not set | 280 | # CONFIG_IP_VS is not set |
280 | # CONFIG_IPV6 is not set | 281 | # CONFIG_IPV6 is not set |
282 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
283 | # CONFIG_INET6_TUNNEL is not set | ||
281 | CONFIG_NETFILTER=y | 284 | CONFIG_NETFILTER=y |
282 | # CONFIG_NETFILTER_DEBUG is not set | 285 | # CONFIG_NETFILTER_DEBUG is not set |
283 | 286 | ||
@@ -294,10 +297,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
294 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 297 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
295 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 298 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
296 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 299 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
300 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
297 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 301 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
298 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 302 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
299 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 303 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
300 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 304 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
305 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
306 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
301 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 307 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
302 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 308 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
303 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 309 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -321,6 +327,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
321 | # SCTP Configuration (EXPERIMENTAL) | 327 | # SCTP Configuration (EXPERIMENTAL) |
322 | # | 328 | # |
323 | # CONFIG_IP_SCTP is not set | 329 | # CONFIG_IP_SCTP is not set |
330 | |||
331 | # | ||
332 | # TIPC Configuration (EXPERIMENTAL) | ||
333 | # | ||
334 | # CONFIG_TIPC is not set | ||
324 | # CONFIG_ATM is not set | 335 | # CONFIG_ATM is not set |
325 | # CONFIG_BRIDGE is not set | 336 | # CONFIG_BRIDGE is not set |
326 | # CONFIG_VLAN_8021Q is not set | 337 | # CONFIG_VLAN_8021Q is not set |
@@ -330,11 +341,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
330 | # CONFIG_ATALK is not set | 341 | # CONFIG_ATALK is not set |
331 | # CONFIG_X25 is not set | 342 | # CONFIG_X25 is not set |
332 | # CONFIG_LAPB is not set | 343 | # CONFIG_LAPB is not set |
333 | |||
334 | # | ||
335 | # TIPC Configuration (EXPERIMENTAL) | ||
336 | # | ||
337 | # CONFIG_TIPC is not set | ||
338 | # CONFIG_NET_DIVERT is not set | 344 | # CONFIG_NET_DIVERT is not set |
339 | # CONFIG_ECONET is not set | 345 | # CONFIG_ECONET is not set |
340 | # CONFIG_WAN_ROUTER is not set | 346 | # CONFIG_WAN_ROUTER is not set |
@@ -356,6 +362,9 @@ CONFIG_IEEE80211=m | |||
356 | # CONFIG_IEEE80211_DEBUG is not set | 362 | # CONFIG_IEEE80211_DEBUG is not set |
357 | CONFIG_IEEE80211_CRYPT_WEP=m | 363 | CONFIG_IEEE80211_CRYPT_WEP=m |
358 | CONFIG_IEEE80211_CRYPT_CCMP=m | 364 | CONFIG_IEEE80211_CRYPT_CCMP=m |
365 | CONFIG_IEEE80211_SOFTMAC=m | ||
366 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
367 | CONFIG_WIRELESS_EXT=y | ||
359 | 368 | ||
360 | # | 369 | # |
361 | # Device Drivers | 370 | # Device Drivers |
@@ -412,7 +421,6 @@ CONFIG_MTD_CFI_I2=y | |||
412 | # CONFIG_MTD_CFI_I8 is not set | 421 | # CONFIG_MTD_CFI_I8 is not set |
413 | # CONFIG_MTD_CFI_INTELEXT is not set | 422 | # CONFIG_MTD_CFI_INTELEXT is not set |
414 | CONFIG_MTD_CFI_AMDSTD=y | 423 | CONFIG_MTD_CFI_AMDSTD=y |
415 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
416 | # CONFIG_MTD_CFI_STAA is not set | 424 | # CONFIG_MTD_CFI_STAA is not set |
417 | CONFIG_MTD_CFI_UTIL=y | 425 | CONFIG_MTD_CFI_UTIL=y |
418 | # CONFIG_MTD_RAM is not set | 426 | # CONFIG_MTD_RAM is not set |
@@ -434,7 +442,6 @@ CONFIG_MTD_ALCHEMY=y | |||
434 | # CONFIG_MTD_SLRAM is not set | 442 | # CONFIG_MTD_SLRAM is not set |
435 | # CONFIG_MTD_PHRAM is not set | 443 | # CONFIG_MTD_PHRAM is not set |
436 | # CONFIG_MTD_MTDRAM is not set | 444 | # CONFIG_MTD_MTDRAM is not set |
437 | # CONFIG_MTD_BLKMTD is not set | ||
438 | # CONFIG_MTD_BLOCK2MTD is not set | 445 | # CONFIG_MTD_BLOCK2MTD is not set |
439 | 446 | ||
440 | # | 447 | # |
@@ -471,7 +478,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
471 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 478 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
472 | # CONFIG_BLK_DEV_NBD is not set | 479 | # CONFIG_BLK_DEV_NBD is not set |
473 | # CONFIG_BLK_DEV_RAM is not set | 480 | # CONFIG_BLK_DEV_RAM is not set |
474 | CONFIG_BLK_DEV_RAM_COUNT=16 | 481 | # CONFIG_BLK_DEV_INITRD is not set |
475 | CONFIG_CDROM_PKTCDVD=m | 482 | CONFIG_CDROM_PKTCDVD=m |
476 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 483 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
477 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 484 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -722,10 +729,6 @@ CONFIG_SYNCLINK_CS=m | |||
722 | # | 729 | # |
723 | 730 | ||
724 | # | 731 | # |
725 | # Multimedia Capabilities Port drivers | ||
726 | # | ||
727 | |||
728 | # | ||
729 | # Multimedia devices | 732 | # Multimedia devices |
730 | # | 733 | # |
731 | # CONFIG_VIDEO_DEV is not set | 734 | # CONFIG_VIDEO_DEV is not set |
@@ -756,6 +759,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
756 | # | 759 | # |
757 | CONFIG_USB_ARCH_HAS_HCD=y | 760 | CONFIG_USB_ARCH_HAS_HCD=y |
758 | CONFIG_USB_ARCH_HAS_OHCI=y | 761 | CONFIG_USB_ARCH_HAS_OHCI=y |
762 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
759 | # CONFIG_USB is not set | 763 | # CONFIG_USB is not set |
760 | 764 | ||
761 | # | 765 | # |
@@ -773,12 +777,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
773 | # CONFIG_MMC is not set | 777 | # CONFIG_MMC is not set |
774 | 778 | ||
775 | # | 779 | # |
780 | # LED devices | ||
781 | # | ||
782 | # CONFIG_NEW_LEDS is not set | ||
783 | |||
784 | # | ||
785 | # LED drivers | ||
786 | # | ||
787 | |||
788 | # | ||
789 | # LED Triggers | ||
790 | # | ||
791 | |||
792 | # | ||
776 | # InfiniBand support | 793 | # InfiniBand support |
777 | # | 794 | # |
778 | 795 | ||
779 | # | 796 | # |
780 | # SN Devices | 797 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
798 | # | ||
799 | |||
800 | # | ||
801 | # Real Time Clock | ||
781 | # | 802 | # |
803 | # CONFIG_RTC_CLASS is not set | ||
782 | 804 | ||
783 | # | 805 | # |
784 | # File systems | 806 | # File systems |
@@ -836,7 +858,6 @@ CONFIG_SYSFS=y | |||
836 | CONFIG_TMPFS=y | 858 | CONFIG_TMPFS=y |
837 | # CONFIG_HUGETLB_PAGE is not set | 859 | # CONFIG_HUGETLB_PAGE is not set |
838 | CONFIG_RAMFS=y | 860 | CONFIG_RAMFS=y |
839 | CONFIG_RELAYFS_FS=m | ||
840 | # CONFIG_CONFIGFS_FS is not set | 861 | # CONFIG_CONFIGFS_FS is not set |
841 | 862 | ||
842 | # | 863 | # |
@@ -945,6 +966,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
945 | # CONFIG_MAGIC_SYSRQ is not set | 966 | # CONFIG_MAGIC_SYSRQ is not set |
946 | # CONFIG_DEBUG_KERNEL is not set | 967 | # CONFIG_DEBUG_KERNEL is not set |
947 | CONFIG_LOG_BUF_SHIFT=14 | 968 | CONFIG_LOG_BUF_SHIFT=14 |
969 | # CONFIG_DEBUG_FS is not set | ||
948 | CONFIG_CROSSCOMPILE=y | 970 | CONFIG_CROSSCOMPILE=y |
949 | CONFIG_CMDLINE="" | 971 | CONFIG_CMDLINE="" |
950 | 972 | ||
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig index 98590cac1ec5..e5eb53867422 100644 --- a/arch/mips/configs/db1100_defconfig +++ b/arch/mips/configs/db1100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:57 2006 | 4 | # Mon Apr 24 14:50:58 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1100=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set |
116 | CONFIG_64BIT_PHYS_ADDR=y | 118 | CONFIG_64BIT_PHYS_ADDR=y |
117 | # CONFIG_CPU_ADVANCED is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y |
123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y |
123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y |
124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y |
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # Code maturity level options | 138 | # Code maturity level options |
137 | # | 139 | # |
138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
139 | CONFIG_CLEAN_COMPILE=y | ||
140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
142 | 143 | ||
@@ -152,6 +153,7 @@ CONFIG_SYSVIPC=y | |||
152 | CONFIG_SYSCTL=y | 153 | CONFIG_SYSCTL=y |
153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set |
154 | # CONFIG_IKCONFIG is not set | 155 | # CONFIG_IKCONFIG is not set |
156 | CONFIG_RELAY=y | ||
155 | CONFIG_INITRAMFS_SOURCE="" | 157 | CONFIG_INITRAMFS_SOURCE="" |
156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
157 | CONFIG_EMBEDDED=y | 159 | CONFIG_EMBEDDED=y |
@@ -165,10 +167,6 @@ CONFIG_BASE_FULL=y | |||
165 | CONFIG_FUTEX=y | 167 | CONFIG_FUTEX=y |
166 | CONFIG_EPOLL=y | 168 | CONFIG_EPOLL=y |
167 | CONFIG_SHMEM=y | 169 | CONFIG_SHMEM=y |
168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
169 | CONFIG_CC_ALIGN_LABELS=0 | ||
170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
172 | CONFIG_SLAB=y | 170 | CONFIG_SLAB=y |
173 | # CONFIG_TINY_SHMEM is not set | 171 | # CONFIG_TINY_SHMEM is not set |
174 | CONFIG_BASE_SMALL=0 | 172 | CONFIG_BASE_SMALL=0 |
@@ -181,7 +179,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
181 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y |
182 | CONFIG_MODULE_UNLOAD=y | 180 | CONFIG_MODULE_UNLOAD=y |
183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
184 | CONFIG_OBSOLETE_MODPARM=y | ||
185 | CONFIG_MODVERSIONS=y | 182 | CONFIG_MODVERSIONS=y |
186 | CONFIG_MODULE_SRCVERSION_ALL=y | 183 | CONFIG_MODULE_SRCVERSION_ALL=y |
187 | CONFIG_KMOD=y | 184 | CONFIG_KMOD=y |
@@ -190,6 +187,8 @@ CONFIG_KMOD=y | |||
190 | # Block layer | 187 | # Block layer |
191 | # | 188 | # |
192 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set |
190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
191 | # CONFIG_LSF is not set | ||
193 | 192 | ||
194 | # | 193 | # |
195 | # IO Schedulers | 194 | # IO Schedulers |
@@ -234,6 +233,7 @@ CONFIG_NET=y | |||
234 | # | 233 | # |
235 | # Networking options | 234 | # Networking options |
236 | # | 235 | # |
236 | # CONFIG_NETDEBUG is not set | ||
237 | CONFIG_PACKET=y | 237 | CONFIG_PACKET=y |
238 | # CONFIG_PACKET_MMAP is not set | 238 | # CONFIG_PACKET_MMAP is not set |
239 | CONFIG_UNIX=y | 239 | CONFIG_UNIX=y |
@@ -256,7 +256,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
256 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set |
257 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set |
258 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set |
259 | CONFIG_INET_TUNNEL=m | 259 | # CONFIG_INET_XFRM_TUNNEL is not set |
260 | # CONFIG_INET_TUNNEL is not set | ||
260 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y |
261 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y |
262 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -267,6 +268,8 @@ CONFIG_TCP_CONG_BIC=y | |||
267 | # | 268 | # |
268 | # CONFIG_IP_VS is not set | 269 | # CONFIG_IP_VS is not set |
269 | # CONFIG_IPV6 is not set | 270 | # CONFIG_IPV6 is not set |
271 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
272 | # CONFIG_INET6_TUNNEL is not set | ||
270 | CONFIG_NETFILTER=y | 273 | CONFIG_NETFILTER=y |
271 | # CONFIG_NETFILTER_DEBUG is not set | 274 | # CONFIG_NETFILTER_DEBUG is not set |
272 | 275 | ||
@@ -283,10 +286,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
283 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 286 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
284 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 287 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
285 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 288 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
289 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
286 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 290 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
287 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 291 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
288 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 292 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
289 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 293 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
294 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
295 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
290 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 296 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
291 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 297 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
292 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 298 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -310,6 +316,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
310 | # SCTP Configuration (EXPERIMENTAL) | 316 | # SCTP Configuration (EXPERIMENTAL) |
311 | # | 317 | # |
312 | # CONFIG_IP_SCTP is not set | 318 | # CONFIG_IP_SCTP is not set |
319 | |||
320 | # | ||
321 | # TIPC Configuration (EXPERIMENTAL) | ||
322 | # | ||
323 | # CONFIG_TIPC is not set | ||
313 | # CONFIG_ATM is not set | 324 | # CONFIG_ATM is not set |
314 | # CONFIG_BRIDGE is not set | 325 | # CONFIG_BRIDGE is not set |
315 | # CONFIG_VLAN_8021Q is not set | 326 | # CONFIG_VLAN_8021Q is not set |
@@ -319,11 +330,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
319 | # CONFIG_ATALK is not set | 330 | # CONFIG_ATALK is not set |
320 | # CONFIG_X25 is not set | 331 | # CONFIG_X25 is not set |
321 | # CONFIG_LAPB is not set | 332 | # CONFIG_LAPB is not set |
322 | |||
323 | # | ||
324 | # TIPC Configuration (EXPERIMENTAL) | ||
325 | # | ||
326 | # CONFIG_TIPC is not set | ||
327 | # CONFIG_NET_DIVERT is not set | 333 | # CONFIG_NET_DIVERT is not set |
328 | # CONFIG_ECONET is not set | 334 | # CONFIG_ECONET is not set |
329 | # CONFIG_WAN_ROUTER is not set | 335 | # CONFIG_WAN_ROUTER is not set |
@@ -345,6 +351,9 @@ CONFIG_IEEE80211=m | |||
345 | # CONFIG_IEEE80211_DEBUG is not set | 351 | # CONFIG_IEEE80211_DEBUG is not set |
346 | CONFIG_IEEE80211_CRYPT_WEP=m | 352 | CONFIG_IEEE80211_CRYPT_WEP=m |
347 | CONFIG_IEEE80211_CRYPT_CCMP=m | 353 | CONFIG_IEEE80211_CRYPT_CCMP=m |
354 | CONFIG_IEEE80211_SOFTMAC=m | ||
355 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
356 | CONFIG_WIRELESS_EXT=y | ||
348 | 357 | ||
349 | # | 358 | # |
350 | # Device Drivers | 359 | # Device Drivers |
@@ -401,7 +410,6 @@ CONFIG_MTD_CFI_I2=y | |||
401 | # CONFIG_MTD_CFI_I8 is not set | 410 | # CONFIG_MTD_CFI_I8 is not set |
402 | # CONFIG_MTD_CFI_INTELEXT is not set | 411 | # CONFIG_MTD_CFI_INTELEXT is not set |
403 | CONFIG_MTD_CFI_AMDSTD=y | 412 | CONFIG_MTD_CFI_AMDSTD=y |
404 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
405 | # CONFIG_MTD_CFI_STAA is not set | 413 | # CONFIG_MTD_CFI_STAA is not set |
406 | CONFIG_MTD_CFI_UTIL=y | 414 | CONFIG_MTD_CFI_UTIL=y |
407 | # CONFIG_MTD_RAM is not set | 415 | # CONFIG_MTD_RAM is not set |
@@ -423,7 +431,6 @@ CONFIG_MTD_ALCHEMY=y | |||
423 | # CONFIG_MTD_SLRAM is not set | 431 | # CONFIG_MTD_SLRAM is not set |
424 | # CONFIG_MTD_PHRAM is not set | 432 | # CONFIG_MTD_PHRAM is not set |
425 | # CONFIG_MTD_MTDRAM is not set | 433 | # CONFIG_MTD_MTDRAM is not set |
426 | # CONFIG_MTD_BLKMTD is not set | ||
427 | # CONFIG_MTD_BLOCK2MTD is not set | 434 | # CONFIG_MTD_BLOCK2MTD is not set |
428 | 435 | ||
429 | # | 436 | # |
@@ -460,7 +467,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
460 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 467 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
461 | # CONFIG_BLK_DEV_NBD is not set | 468 | # CONFIG_BLK_DEV_NBD is not set |
462 | # CONFIG_BLK_DEV_RAM is not set | 469 | # CONFIG_BLK_DEV_RAM is not set |
463 | CONFIG_BLK_DEV_RAM_COUNT=16 | 470 | # CONFIG_BLK_DEV_INITRD is not set |
464 | CONFIG_CDROM_PKTCDVD=m | 471 | CONFIG_CDROM_PKTCDVD=m |
465 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 472 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
466 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 473 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -690,10 +697,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
690 | # | 697 | # |
691 | 698 | ||
692 | # | 699 | # |
693 | # Multimedia Capabilities Port drivers | ||
694 | # | ||
695 | |||
696 | # | ||
697 | # Multimedia devices | 700 | # Multimedia devices |
698 | # | 701 | # |
699 | # CONFIG_VIDEO_DEV is not set | 702 | # CONFIG_VIDEO_DEV is not set |
@@ -711,6 +714,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
711 | CONFIG_FB_CFB_COPYAREA=y | 714 | CONFIG_FB_CFB_COPYAREA=y |
712 | CONFIG_FB_CFB_IMAGEBLIT=y | 715 | CONFIG_FB_CFB_IMAGEBLIT=y |
713 | # CONFIG_FB_MACMODES is not set | 716 | # CONFIG_FB_MACMODES is not set |
717 | CONFIG_FB_FIRMWARE_EDID=y | ||
714 | # CONFIG_FB_MODE_HELPERS is not set | 718 | # CONFIG_FB_MODE_HELPERS is not set |
715 | # CONFIG_FB_TILEBLITTING is not set | 719 | # CONFIG_FB_TILEBLITTING is not set |
716 | # CONFIG_FB_S1D13XXX is not set | 720 | # CONFIG_FB_S1D13XXX is not set |
@@ -755,6 +759,7 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
755 | # | 759 | # |
756 | CONFIG_USB_ARCH_HAS_HCD=y | 760 | CONFIG_USB_ARCH_HAS_HCD=y |
757 | CONFIG_USB_ARCH_HAS_OHCI=y | 761 | CONFIG_USB_ARCH_HAS_OHCI=y |
762 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
758 | # CONFIG_USB is not set | 763 | # CONFIG_USB is not set |
759 | 764 | ||
760 | # | 765 | # |
@@ -772,12 +777,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
772 | # CONFIG_MMC is not set | 777 | # CONFIG_MMC is not set |
773 | 778 | ||
774 | # | 779 | # |
780 | # LED devices | ||
781 | # | ||
782 | # CONFIG_NEW_LEDS is not set | ||
783 | |||
784 | # | ||
785 | # LED drivers | ||
786 | # | ||
787 | |||
788 | # | ||
789 | # LED Triggers | ||
790 | # | ||
791 | |||
792 | # | ||
775 | # InfiniBand support | 793 | # InfiniBand support |
776 | # | 794 | # |
777 | 795 | ||
778 | # | 796 | # |
779 | # SN Devices | 797 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
798 | # | ||
799 | |||
800 | # | ||
801 | # Real Time Clock | ||
780 | # | 802 | # |
803 | # CONFIG_RTC_CLASS is not set | ||
781 | 804 | ||
782 | # | 805 | # |
783 | # File systems | 806 | # File systems |
@@ -835,7 +858,6 @@ CONFIG_SYSFS=y | |||
835 | CONFIG_TMPFS=y | 858 | CONFIG_TMPFS=y |
836 | # CONFIG_HUGETLB_PAGE is not set | 859 | # CONFIG_HUGETLB_PAGE is not set |
837 | CONFIG_RAMFS=y | 860 | CONFIG_RAMFS=y |
838 | CONFIG_RELAYFS_FS=m | ||
839 | # CONFIG_CONFIGFS_FS is not set | 861 | # CONFIG_CONFIGFS_FS is not set |
840 | 862 | ||
841 | # | 863 | # |
@@ -944,6 +966,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
944 | # CONFIG_MAGIC_SYSRQ is not set | 966 | # CONFIG_MAGIC_SYSRQ is not set |
945 | # CONFIG_DEBUG_KERNEL is not set | 967 | # CONFIG_DEBUG_KERNEL is not set |
946 | CONFIG_LOG_BUF_SHIFT=14 | 968 | CONFIG_LOG_BUF_SHIFT=14 |
969 | # CONFIG_DEBUG_FS is not set | ||
947 | CONFIG_CROSSCOMPILE=y | 970 | CONFIG_CROSSCOMPILE=y |
948 | CONFIG_CMDLINE="" | 971 | CONFIG_CMDLINE="" |
949 | 972 | ||
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig index 92888472dca0..a43fb2329fd5 100644 --- a/arch/mips/configs/db1200_defconfig +++ b/arch/mips/configs/db1200_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:58 2006 | 4 | # Mon Apr 24 14:50:58 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1200=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_COHERENT=y | 70 | CONFIG_DMA_COHERENT=y |
69 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 71 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y |
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set |
116 | CONFIG_64BIT_PHYS_ADDR=y | 118 | CONFIG_64BIT_PHYS_ADDR=y |
117 | # CONFIG_CPU_ADVANCED is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y |
123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y |
123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y |
124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y |
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # Code maturity level options | 138 | # Code maturity level options |
137 | # | 139 | # |
138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
139 | CONFIG_CLEAN_COMPILE=y | ||
140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
142 | 143 | ||
@@ -153,6 +154,7 @@ CONFIG_SYSCTL=y | |||
153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set |
154 | CONFIG_IKCONFIG=y | 155 | CONFIG_IKCONFIG=y |
155 | CONFIG_IKCONFIG_PROC=y | 156 | CONFIG_IKCONFIG_PROC=y |
157 | # CONFIG_RELAY is not set | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
170 | CONFIG_CC_ALIGN_LABELS=0 | ||
171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
185 | CONFIG_OBSOLETE_MODPARM=y | ||
186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
191 | # Block layer | 188 | # Block layer |
192 | # | 189 | # |
193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set |
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
194 | 193 | ||
195 | # | 194 | # |
196 | # IO Schedulers | 195 | # IO Schedulers |
@@ -244,6 +243,7 @@ CONFIG_NET=y | |||
244 | # | 243 | # |
245 | # Networking options | 244 | # Networking options |
246 | # | 245 | # |
246 | # CONFIG_NETDEBUG is not set | ||
247 | CONFIG_PACKET=y | 247 | CONFIG_PACKET=y |
248 | # CONFIG_PACKET_MMAP is not set | 248 | # CONFIG_PACKET_MMAP is not set |
249 | CONFIG_UNIX=y | 249 | CONFIG_UNIX=y |
@@ -263,7 +263,8 @@ CONFIG_IP_FIB_HASH=y | |||
263 | # CONFIG_INET_AH is not set | 263 | # CONFIG_INET_AH is not set |
264 | # CONFIG_INET_ESP is not set | 264 | # CONFIG_INET_ESP is not set |
265 | # CONFIG_INET_IPCOMP is not set | 265 | # CONFIG_INET_IPCOMP is not set |
266 | CONFIG_INET_TUNNEL=m | 266 | # CONFIG_INET_XFRM_TUNNEL is not set |
267 | # CONFIG_INET_TUNNEL is not set | ||
267 | CONFIG_INET_DIAG=y | 268 | CONFIG_INET_DIAG=y |
268 | CONFIG_INET_TCP_DIAG=y | 269 | CONFIG_INET_TCP_DIAG=y |
269 | # CONFIG_TCP_CONG_ADVANCED is not set | 270 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -274,6 +275,8 @@ CONFIG_TCP_CONG_BIC=y | |||
274 | # | 275 | # |
275 | # CONFIG_IP_VS is not set | 276 | # CONFIG_IP_VS is not set |
276 | # CONFIG_IPV6 is not set | 277 | # CONFIG_IPV6 is not set |
278 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
279 | # CONFIG_INET6_TUNNEL is not set | ||
277 | CONFIG_NETFILTER=y | 280 | CONFIG_NETFILTER=y |
278 | # CONFIG_NETFILTER_DEBUG is not set | 281 | # CONFIG_NETFILTER_DEBUG is not set |
279 | 282 | ||
@@ -288,10 +291,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
288 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 291 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
289 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 292 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
290 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 293 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
294 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
291 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 295 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
292 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 296 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
293 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 297 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
294 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 298 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
299 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
300 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
295 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 301 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
296 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 302 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
297 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 303 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -315,6 +321,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
315 | # SCTP Configuration (EXPERIMENTAL) | 321 | # SCTP Configuration (EXPERIMENTAL) |
316 | # | 322 | # |
317 | # CONFIG_IP_SCTP is not set | 323 | # CONFIG_IP_SCTP is not set |
324 | |||
325 | # | ||
326 | # TIPC Configuration (EXPERIMENTAL) | ||
327 | # | ||
328 | # CONFIG_TIPC is not set | ||
318 | # CONFIG_ATM is not set | 329 | # CONFIG_ATM is not set |
319 | # CONFIG_BRIDGE is not set | 330 | # CONFIG_BRIDGE is not set |
320 | # CONFIG_VLAN_8021Q is not set | 331 | # CONFIG_VLAN_8021Q is not set |
@@ -324,11 +335,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
324 | # CONFIG_ATALK is not set | 335 | # CONFIG_ATALK is not set |
325 | # CONFIG_X25 is not set | 336 | # CONFIG_X25 is not set |
326 | # CONFIG_LAPB is not set | 337 | # CONFIG_LAPB is not set |
327 | |||
328 | # | ||
329 | # TIPC Configuration (EXPERIMENTAL) | ||
330 | # | ||
331 | # CONFIG_TIPC is not set | ||
332 | # CONFIG_NET_DIVERT is not set | 338 | # CONFIG_NET_DIVERT is not set |
333 | # CONFIG_ECONET is not set | 339 | # CONFIG_ECONET is not set |
334 | # CONFIG_WAN_ROUTER is not set | 340 | # CONFIG_WAN_ROUTER is not set |
@@ -403,7 +409,6 @@ CONFIG_MTD_CFI_I2=y | |||
403 | # CONFIG_MTD_CFI_I8 is not set | 409 | # CONFIG_MTD_CFI_I8 is not set |
404 | # CONFIG_MTD_CFI_INTELEXT is not set | 410 | # CONFIG_MTD_CFI_INTELEXT is not set |
405 | CONFIG_MTD_CFI_AMDSTD=y | 411 | CONFIG_MTD_CFI_AMDSTD=y |
406 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
407 | # CONFIG_MTD_CFI_STAA is not set | 412 | # CONFIG_MTD_CFI_STAA is not set |
408 | CONFIG_MTD_CFI_UTIL=y | 413 | CONFIG_MTD_CFI_UTIL=y |
409 | # CONFIG_MTD_RAM is not set | 414 | # CONFIG_MTD_RAM is not set |
@@ -425,7 +430,6 @@ CONFIG_MTD_ALCHEMY=y | |||
425 | # CONFIG_MTD_SLRAM is not set | 430 | # CONFIG_MTD_SLRAM is not set |
426 | # CONFIG_MTD_PHRAM is not set | 431 | # CONFIG_MTD_PHRAM is not set |
427 | # CONFIG_MTD_MTDRAM is not set | 432 | # CONFIG_MTD_MTDRAM is not set |
428 | # CONFIG_MTD_BLKMTD is not set | ||
429 | # CONFIG_MTD_BLOCK2MTD is not set | 433 | # CONFIG_MTD_BLOCK2MTD is not set |
430 | 434 | ||
431 | # | 435 | # |
@@ -763,10 +767,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
763 | # | 767 | # |
764 | 768 | ||
765 | # | 769 | # |
766 | # Multimedia Capabilities Port drivers | ||
767 | # | ||
768 | |||
769 | # | ||
770 | # Multimedia devices | 770 | # Multimedia devices |
771 | # | 771 | # |
772 | # CONFIG_VIDEO_DEV is not set | 772 | # CONFIG_VIDEO_DEV is not set |
@@ -784,6 +784,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
784 | CONFIG_FB_CFB_COPYAREA=y | 784 | CONFIG_FB_CFB_COPYAREA=y |
785 | CONFIG_FB_CFB_IMAGEBLIT=y | 785 | CONFIG_FB_CFB_IMAGEBLIT=y |
786 | # CONFIG_FB_MACMODES is not set | 786 | # CONFIG_FB_MACMODES is not set |
787 | CONFIG_FB_FIRMWARE_EDID=y | ||
787 | # CONFIG_FB_MODE_HELPERS is not set | 788 | # CONFIG_FB_MODE_HELPERS is not set |
788 | # CONFIG_FB_TILEBLITTING is not set | 789 | # CONFIG_FB_TILEBLITTING is not set |
789 | # CONFIG_FB_S1D13XXX is not set | 790 | # CONFIG_FB_S1D13XXX is not set |
@@ -794,6 +795,7 @@ CONFIG_FB_AU1200=y | |||
794 | # Console display driver support | 795 | # Console display driver support |
795 | # | 796 | # |
796 | CONFIG_VGA_CONSOLE=y | 797 | CONFIG_VGA_CONSOLE=y |
798 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
797 | CONFIG_DUMMY_CONSOLE=y | 799 | CONFIG_DUMMY_CONSOLE=y |
798 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 800 | # CONFIG_FRAMEBUFFER_CONSOLE is not set |
799 | 801 | ||
@@ -816,6 +818,7 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
816 | # | 818 | # |
817 | CONFIG_USB_ARCH_HAS_HCD=y | 819 | CONFIG_USB_ARCH_HAS_HCD=y |
818 | CONFIG_USB_ARCH_HAS_OHCI=y | 820 | CONFIG_USB_ARCH_HAS_OHCI=y |
821 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
819 | # CONFIG_USB is not set | 822 | # CONFIG_USB is not set |
820 | 823 | ||
821 | # | 824 | # |
@@ -832,6 +835,7 @@ CONFIG_USB_GADGET=m | |||
832 | # CONFIG_USB_GADGET_GOKU is not set | 835 | # CONFIG_USB_GADGET_GOKU is not set |
833 | # CONFIG_USB_GADGET_LH7A40X is not set | 836 | # CONFIG_USB_GADGET_LH7A40X is not set |
834 | # CONFIG_USB_GADGET_OMAP is not set | 837 | # CONFIG_USB_GADGET_OMAP is not set |
838 | # CONFIG_USB_GADGET_AT91 is not set | ||
835 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 839 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
836 | # CONFIG_USB_GADGET_DUALSPEED is not set | 840 | # CONFIG_USB_GADGET_DUALSPEED is not set |
837 | 841 | ||
@@ -844,12 +848,30 @@ CONFIG_MMC_BLOCK=y | |||
844 | CONFIG_MMC_AU1X=y | 848 | CONFIG_MMC_AU1X=y |
845 | 849 | ||
846 | # | 850 | # |
851 | # LED devices | ||
852 | # | ||
853 | # CONFIG_NEW_LEDS is not set | ||
854 | |||
855 | # | ||
856 | # LED drivers | ||
857 | # | ||
858 | |||
859 | # | ||
860 | # LED Triggers | ||
861 | # | ||
862 | |||
863 | # | ||
847 | # InfiniBand support | 864 | # InfiniBand support |
848 | # | 865 | # |
849 | 866 | ||
850 | # | 867 | # |
851 | # SN Devices | 868 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
869 | # | ||
870 | |||
871 | # | ||
872 | # Real Time Clock | ||
852 | # | 873 | # |
874 | # CONFIG_RTC_CLASS is not set | ||
853 | 875 | ||
854 | # | 876 | # |
855 | # File systems | 877 | # File systems |
@@ -913,7 +935,6 @@ CONFIG_SYSFS=y | |||
913 | CONFIG_TMPFS=y | 935 | CONFIG_TMPFS=y |
914 | # CONFIG_HUGETLB_PAGE is not set | 936 | # CONFIG_HUGETLB_PAGE is not set |
915 | CONFIG_RAMFS=y | 937 | CONFIG_RAMFS=y |
916 | # CONFIG_RELAYFS_FS is not set | ||
917 | # CONFIG_CONFIGFS_FS is not set | 938 | # CONFIG_CONFIGFS_FS is not set |
918 | 939 | ||
919 | # | 940 | # |
@@ -1027,6 +1048,7 @@ CONFIG_NLS_UTF8=m | |||
1027 | # CONFIG_MAGIC_SYSRQ is not set | 1048 | # CONFIG_MAGIC_SYSRQ is not set |
1028 | # CONFIG_DEBUG_KERNEL is not set | 1049 | # CONFIG_DEBUG_KERNEL is not set |
1029 | CONFIG_LOG_BUF_SHIFT=14 | 1050 | CONFIG_LOG_BUF_SHIFT=14 |
1051 | # CONFIG_DEBUG_FS is not set | ||
1030 | CONFIG_CROSSCOMPILE=y | 1052 | CONFIG_CROSSCOMPILE=y |
1031 | CONFIG_CMDLINE="mem=48M" | 1053 | CONFIG_CMDLINE="mem=48M" |
1032 | 1054 | ||
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig index 5a415b1d4af0..ad632d87c4ef 100644 --- a/arch/mips/configs/db1500_defconfig +++ b/arch/mips/configs/db1500_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:59 2006 | 4 | # Mon Apr 24 14:50:59 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1500=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -116,11 +118,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
116 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y |
117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set |
118 | CONFIG_64BIT_PHYS_ADDR=y | 120 | CONFIG_64BIT_PHYS_ADDR=y |
119 | # CONFIG_CPU_ADVANCED is not set | ||
120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y |
121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y |
123 | CONFIG_GENERIC_IRQ_PROBE=y | 124 | CONFIG_GENERIC_IRQ_PROBE=y |
125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 126 | CONFIG_ARCH_FLATMEM_ENABLE=y |
125 | CONFIG_SELECT_MEMORY_MODEL=y | 127 | CONFIG_SELECT_MEMORY_MODEL=y |
126 | CONFIG_FLATMEM_MANUAL=y | 128 | CONFIG_FLATMEM_MANUAL=y |
@@ -138,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
138 | # Code maturity level options | 140 | # Code maturity level options |
139 | # | 141 | # |
140 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y |
141 | CONFIG_CLEAN_COMPILE=y | ||
142 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y |
143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
144 | 145 | ||
@@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
154 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y |
155 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set |
156 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set |
158 | CONFIG_RELAY=y | ||
157 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" |
158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
159 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y |
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 |
@@ -183,7 +181,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
183 | CONFIG_MODULES=y | 181 | CONFIG_MODULES=y |
184 | CONFIG_MODULE_UNLOAD=y | 182 | CONFIG_MODULE_UNLOAD=y |
185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
186 | CONFIG_OBSOLETE_MODPARM=y | ||
187 | CONFIG_MODVERSIONS=y | 184 | CONFIG_MODVERSIONS=y |
188 | CONFIG_MODULE_SRCVERSION_ALL=y | 185 | CONFIG_MODULE_SRCVERSION_ALL=y |
189 | CONFIG_KMOD=y | 186 | CONFIG_KMOD=y |
@@ -192,6 +189,8 @@ CONFIG_KMOD=y | |||
192 | # Block layer | 189 | # Block layer |
193 | # | 190 | # |
194 | # CONFIG_LBD is not set | 191 | # CONFIG_LBD is not set |
192 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
193 | # CONFIG_LSF is not set | ||
195 | 194 | ||
196 | # | 195 | # |
197 | # IO Schedulers | 196 | # IO Schedulers |
@@ -211,7 +210,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
211 | # | 210 | # |
212 | CONFIG_HW_HAS_PCI=y | 211 | CONFIG_HW_HAS_PCI=y |
213 | CONFIG_PCI=y | 212 | CONFIG_PCI=y |
214 | CONFIG_PCI_LEGACY_PROC=y | ||
215 | CONFIG_MMU=y | 213 | CONFIG_MMU=y |
216 | 214 | ||
217 | # | 215 | # |
@@ -253,6 +251,7 @@ CONFIG_NET=y | |||
253 | # | 251 | # |
254 | # Networking options | 252 | # Networking options |
255 | # | 253 | # |
254 | # CONFIG_NETDEBUG is not set | ||
256 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y |
257 | # CONFIG_PACKET_MMAP is not set | 256 | # CONFIG_PACKET_MMAP is not set |
258 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y |
@@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
275 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set |
276 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set |
277 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
278 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
278 | # CONFIG_INET_TUNNEL is not set | ||
279 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y |
280 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y |
281 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y | |||
286 | # | 286 | # |
287 | # CONFIG_IP_VS is not set | 287 | # CONFIG_IP_VS is not set |
288 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
290 | # CONFIG_INET6_TUNNEL is not set | ||
289 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y |
290 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set |
291 | 293 | ||
@@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 308 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 309 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 310 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 311 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 315 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
329 | # SCTP Configuration (EXPERIMENTAL) | 334 | # SCTP Configuration (EXPERIMENTAL) |
330 | # | 335 | # |
331 | # CONFIG_IP_SCTP is not set | 336 | # CONFIG_IP_SCTP is not set |
337 | |||
338 | # | ||
339 | # TIPC Configuration (EXPERIMENTAL) | ||
340 | # | ||
341 | # CONFIG_TIPC is not set | ||
332 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set |
333 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set |
334 | # CONFIG_VLAN_8021Q is not set | 344 | # CONFIG_VLAN_8021Q is not set |
@@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
338 | # CONFIG_ATALK is not set | 348 | # CONFIG_ATALK is not set |
339 | # CONFIG_X25 is not set | 349 | # CONFIG_X25 is not set |
340 | # CONFIG_LAPB is not set | 350 | # CONFIG_LAPB is not set |
341 | |||
342 | # | ||
343 | # TIPC Configuration (EXPERIMENTAL) | ||
344 | # | ||
345 | # CONFIG_TIPC is not set | ||
346 | # CONFIG_NET_DIVERT is not set | 351 | # CONFIG_NET_DIVERT is not set |
347 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set |
348 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set |
@@ -364,6 +369,9 @@ CONFIG_IEEE80211=m | |||
364 | # CONFIG_IEEE80211_DEBUG is not set | 369 | # CONFIG_IEEE80211_DEBUG is not set |
365 | CONFIG_IEEE80211_CRYPT_WEP=m | 370 | CONFIG_IEEE80211_CRYPT_WEP=m |
366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 371 | CONFIG_IEEE80211_CRYPT_CCMP=m |
372 | CONFIG_IEEE80211_SOFTMAC=m | ||
373 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
374 | CONFIG_WIRELESS_EXT=y | ||
367 | 375 | ||
368 | # | 376 | # |
369 | # Device Drivers | 377 | # Device Drivers |
@@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y | |||
420 | # CONFIG_MTD_CFI_I8 is not set | 428 | # CONFIG_MTD_CFI_I8 is not set |
421 | CONFIG_MTD_CFI_INTELEXT=y | 429 | CONFIG_MTD_CFI_INTELEXT=y |
422 | CONFIG_MTD_CFI_AMDSTD=y | 430 | CONFIG_MTD_CFI_AMDSTD=y |
423 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
424 | # CONFIG_MTD_CFI_STAA is not set | 431 | # CONFIG_MTD_CFI_STAA is not set |
425 | CONFIG_MTD_CFI_UTIL=y | 432 | CONFIG_MTD_CFI_UTIL=y |
426 | # CONFIG_MTD_RAM is not set | 433 | # CONFIG_MTD_RAM is not set |
@@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y | |||
443 | # CONFIG_MTD_SLRAM is not set | 450 | # CONFIG_MTD_SLRAM is not set |
444 | # CONFIG_MTD_PHRAM is not set | 451 | # CONFIG_MTD_PHRAM is not set |
445 | # CONFIG_MTD_MTDRAM is not set | 452 | # CONFIG_MTD_MTDRAM is not set |
446 | # CONFIG_MTD_BLKMTD is not set | ||
447 | # CONFIG_MTD_BLOCK2MTD is not set | 453 | # CONFIG_MTD_BLOCK2MTD is not set |
448 | 454 | ||
449 | # | 455 | # |
@@ -486,7 +492,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
486 | # CONFIG_BLK_DEV_SX8 is not set | 492 | # CONFIG_BLK_DEV_SX8 is not set |
487 | # CONFIG_BLK_DEV_UB is not set | 493 | # CONFIG_BLK_DEV_UB is not set |
488 | # CONFIG_BLK_DEV_RAM is not set | 494 | # CONFIG_BLK_DEV_RAM is not set |
489 | CONFIG_BLK_DEV_RAM_COUNT=16 | 495 | # CONFIG_BLK_DEV_INITRD is not set |
490 | CONFIG_CDROM_PKTCDVD=m | 496 | CONFIG_CDROM_PKTCDVD=m |
491 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 497 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
492 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 498 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -714,6 +720,7 @@ CONFIG_SERIO_RAW=m | |||
714 | # | 720 | # |
715 | CONFIG_SERIAL_8250=y | 721 | CONFIG_SERIAL_8250=y |
716 | CONFIG_SERIAL_8250_CONSOLE=y | 722 | CONFIG_SERIAL_8250_CONSOLE=y |
723 | CONFIG_SERIAL_8250_PCI=y | ||
717 | # CONFIG_SERIAL_8250_CS is not set | 724 | # CONFIG_SERIAL_8250_CS is not set |
718 | CONFIG_SERIAL_8250_NR_UARTS=4 | 725 | CONFIG_SERIAL_8250_NR_UARTS=4 |
719 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 726 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
@@ -725,6 +732,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
725 | # | 732 | # |
726 | CONFIG_SERIAL_CORE=y | 733 | CONFIG_SERIAL_CORE=y |
727 | CONFIG_SERIAL_CORE_CONSOLE=y | 734 | CONFIG_SERIAL_CORE_CONSOLE=y |
735 | # CONFIG_SERIAL_JSM is not set | ||
728 | CONFIG_UNIX98_PTYS=y | 736 | CONFIG_UNIX98_PTYS=y |
729 | CONFIG_LEGACY_PTYS=y | 737 | CONFIG_LEGACY_PTYS=y |
730 | CONFIG_LEGACY_PTY_COUNT=256 | 738 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -790,10 +798,6 @@ CONFIG_SYNCLINK_CS=m | |||
790 | # | 798 | # |
791 | 799 | ||
792 | # | 800 | # |
793 | # Multimedia Capabilities Port drivers | ||
794 | # | ||
795 | |||
796 | # | ||
797 | # Multimedia devices | 801 | # Multimedia devices |
798 | # | 802 | # |
799 | # CONFIG_VIDEO_DEV is not set | 803 | # CONFIG_VIDEO_DEV is not set |
@@ -802,6 +806,7 @@ CONFIG_SYNCLINK_CS=m | |||
802 | # Digital Video Broadcasting Devices | 806 | # Digital Video Broadcasting Devices |
803 | # | 807 | # |
804 | # CONFIG_DVB is not set | 808 | # CONFIG_DVB is not set |
809 | # CONFIG_USB_DABUSB is not set | ||
805 | 810 | ||
806 | # | 811 | # |
807 | # Graphics support | 812 | # Graphics support |
@@ -825,9 +830,11 @@ CONFIG_SND_SEQ_DUMMY=m | |||
825 | CONFIG_SND_OSSEMUL=y | 830 | CONFIG_SND_OSSEMUL=y |
826 | CONFIG_SND_MIXER_OSS=m | 831 | CONFIG_SND_MIXER_OSS=m |
827 | CONFIG_SND_PCM_OSS=m | 832 | CONFIG_SND_PCM_OSS=m |
833 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
828 | CONFIG_SND_SEQUENCER_OSS=y | 834 | CONFIG_SND_SEQUENCER_OSS=y |
829 | # CONFIG_SND_DYNAMIC_MINORS is not set | 835 | # CONFIG_SND_DYNAMIC_MINORS is not set |
830 | CONFIG_SND_SUPPORT_OLD_API=y | 836 | CONFIG_SND_SUPPORT_OLD_API=y |
837 | CONFIG_SND_VERBOSE_PROCFS=y | ||
831 | # CONFIG_SND_VERBOSE_PRINTK is not set | 838 | # CONFIG_SND_VERBOSE_PRINTK is not set |
832 | # CONFIG_SND_DEBUG is not set | 839 | # CONFIG_SND_DEBUG is not set |
833 | 840 | ||
@@ -846,6 +853,7 @@ CONFIG_SND_MTPAV=m | |||
846 | # PCI devices | 853 | # PCI devices |
847 | # | 854 | # |
848 | # CONFIG_SND_AD1889 is not set | 855 | # CONFIG_SND_AD1889 is not set |
856 | # CONFIG_SND_ALS300 is not set | ||
849 | # CONFIG_SND_ALI5451 is not set | 857 | # CONFIG_SND_ALI5451 is not set |
850 | # CONFIG_SND_ATIIXP is not set | 858 | # CONFIG_SND_ATIIXP is not set |
851 | # CONFIG_SND_ATIIXP_MODEM is not set | 859 | # CONFIG_SND_ATIIXP_MODEM is not set |
@@ -877,6 +885,7 @@ CONFIG_SND_MTPAV=m | |||
877 | # CONFIG_SND_MIXART is not set | 885 | # CONFIG_SND_MIXART is not set |
878 | # CONFIG_SND_NM256 is not set | 886 | # CONFIG_SND_NM256 is not set |
879 | # CONFIG_SND_PCXHR is not set | 887 | # CONFIG_SND_PCXHR is not set |
888 | # CONFIG_SND_RIPTIDE is not set | ||
880 | # CONFIG_SND_RME32 is not set | 889 | # CONFIG_SND_RME32 is not set |
881 | # CONFIG_SND_RME96 is not set | 890 | # CONFIG_SND_RME96 is not set |
882 | # CONFIG_SND_RME9652 is not set | 891 | # CONFIG_SND_RME9652 is not set |
@@ -905,34 +914,22 @@ CONFIG_SND_AU1X00=m | |||
905 | # Open Sound System | 914 | # Open Sound System |
906 | # | 915 | # |
907 | CONFIG_SOUND_PRIME=y | 916 | CONFIG_SOUND_PRIME=y |
908 | CONFIG_OBSOLETE_OSS_DRIVER=y | ||
909 | # CONFIG_SOUND_BT878 is not set | 917 | # CONFIG_SOUND_BT878 is not set |
910 | # CONFIG_SOUND_CMPCI is not set | ||
911 | # CONFIG_SOUND_EMU10K1 is not set | 918 | # CONFIG_SOUND_EMU10K1 is not set |
912 | # CONFIG_SOUND_FUSION is not set | 919 | # CONFIG_SOUND_FUSION is not set |
913 | # CONFIG_SOUND_CS4281 is not set | ||
914 | # CONFIG_SOUND_ES1370 is not set | ||
915 | # CONFIG_SOUND_ES1371 is not set | 920 | # CONFIG_SOUND_ES1371 is not set |
916 | # CONFIG_SOUND_ESSSOLO1 is not set | ||
917 | # CONFIG_SOUND_MAESTRO is not set | ||
918 | # CONFIG_SOUND_MAESTRO3 is not set | ||
919 | # CONFIG_SOUND_ICH is not set | 921 | # CONFIG_SOUND_ICH is not set |
920 | # CONFIG_SOUND_SONICVIBES is not set | ||
921 | # CONFIG_SOUND_AU1000 is not set | ||
922 | # CONFIG_SOUND_TRIDENT is not set | 922 | # CONFIG_SOUND_TRIDENT is not set |
923 | # CONFIG_SOUND_MSNDCLAS is not set | 923 | # CONFIG_SOUND_MSNDCLAS is not set |
924 | # CONFIG_SOUND_MSNDPIN is not set | 924 | # CONFIG_SOUND_MSNDPIN is not set |
925 | # CONFIG_SOUND_VIA82CXXX is not set | 925 | # CONFIG_SOUND_VIA82CXXX is not set |
926 | # CONFIG_SOUND_ALI5455 is not set | ||
927 | # CONFIG_SOUND_FORTE is not set | ||
928 | # CONFIG_SOUND_RME96XX is not set | ||
929 | # CONFIG_SOUND_AD1980 is not set | ||
930 | 926 | ||
931 | # | 927 | # |
932 | # USB support | 928 | # USB support |
933 | # | 929 | # |
934 | CONFIG_USB_ARCH_HAS_HCD=y | 930 | CONFIG_USB_ARCH_HAS_HCD=y |
935 | CONFIG_USB_ARCH_HAS_OHCI=y | 931 | CONFIG_USB_ARCH_HAS_OHCI=y |
932 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
936 | CONFIG_USB=y | 933 | CONFIG_USB=y |
937 | # CONFIG_USB_DEBUG is not set | 934 | # CONFIG_USB_DEBUG is not set |
938 | 935 | ||
@@ -958,7 +955,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
958 | # | 955 | # |
959 | # USB Device Class drivers | 956 | # USB Device Class drivers |
960 | # | 957 | # |
961 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set | ||
962 | # CONFIG_USB_ACM is not set | 958 | # CONFIG_USB_ACM is not set |
963 | # CONFIG_USB_PRINTER is not set | 959 | # CONFIG_USB_PRINTER is not set |
964 | 960 | ||
@@ -985,9 +981,7 @@ CONFIG_USB_HIDINPUT=y | |||
985 | # CONFIG_USB_ACECAD is not set | 981 | # CONFIG_USB_ACECAD is not set |
986 | # CONFIG_USB_KBTAB is not set | 982 | # CONFIG_USB_KBTAB is not set |
987 | # CONFIG_USB_POWERMATE is not set | 983 | # CONFIG_USB_POWERMATE is not set |
988 | # CONFIG_USB_MTOUCH is not set | 984 | # CONFIG_USB_TOUCHSCREEN is not set |
989 | # CONFIG_USB_ITMTOUCH is not set | ||
990 | # CONFIG_USB_EGALAX is not set | ||
991 | CONFIG_USB_YEALINK=m | 985 | CONFIG_USB_YEALINK=m |
992 | # CONFIG_USB_XPAD is not set | 986 | # CONFIG_USB_XPAD is not set |
993 | # CONFIG_USB_ATI_REMOTE is not set | 987 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1001,15 +995,6 @@ CONFIG_USB_YEALINK=m | |||
1001 | # CONFIG_USB_MDC800 is not set | 995 | # CONFIG_USB_MDC800 is not set |
1002 | 996 | ||
1003 | # | 997 | # |
1004 | # USB Multimedia devices | ||
1005 | # | ||
1006 | # CONFIG_USB_DABUSB is not set | ||
1007 | |||
1008 | # | ||
1009 | # Video4Linux support is needed for USB Multimedia device support | ||
1010 | # | ||
1011 | |||
1012 | # | ||
1013 | # USB Network Adapters | 998 | # USB Network Adapters |
1014 | # | 999 | # |
1015 | # CONFIG_USB_CATC is not set | 1000 | # CONFIG_USB_CATC is not set |
@@ -1059,13 +1044,31 @@ CONFIG_USB_LD=m | |||
1059 | # CONFIG_MMC is not set | 1044 | # CONFIG_MMC is not set |
1060 | 1045 | ||
1061 | # | 1046 | # |
1047 | # LED devices | ||
1048 | # | ||
1049 | # CONFIG_NEW_LEDS is not set | ||
1050 | |||
1051 | # | ||
1052 | # LED drivers | ||
1053 | # | ||
1054 | |||
1055 | # | ||
1056 | # LED Triggers | ||
1057 | # | ||
1058 | |||
1059 | # | ||
1062 | # InfiniBand support | 1060 | # InfiniBand support |
1063 | # | 1061 | # |
1064 | # CONFIG_INFINIBAND is not set | 1062 | # CONFIG_INFINIBAND is not set |
1065 | 1063 | ||
1066 | # | 1064 | # |
1067 | # SN Devices | 1065 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1066 | # | ||
1067 | |||
1068 | # | ||
1069 | # Real Time Clock | ||
1068 | # | 1070 | # |
1071 | # CONFIG_RTC_CLASS is not set | ||
1069 | 1072 | ||
1070 | # | 1073 | # |
1071 | # File systems | 1074 | # File systems |
@@ -1123,7 +1126,6 @@ CONFIG_SYSFS=y | |||
1123 | CONFIG_TMPFS=y | 1126 | CONFIG_TMPFS=y |
1124 | # CONFIG_HUGETLB_PAGE is not set | 1127 | # CONFIG_HUGETLB_PAGE is not set |
1125 | CONFIG_RAMFS=y | 1128 | CONFIG_RAMFS=y |
1126 | CONFIG_RELAYFS_FS=m | ||
1127 | # CONFIG_CONFIGFS_FS is not set | 1129 | # CONFIG_CONFIGFS_FS is not set |
1128 | 1130 | ||
1129 | # | 1131 | # |
@@ -1232,6 +1234,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1232 | # CONFIG_MAGIC_SYSRQ is not set | 1234 | # CONFIG_MAGIC_SYSRQ is not set |
1233 | # CONFIG_DEBUG_KERNEL is not set | 1235 | # CONFIG_DEBUG_KERNEL is not set |
1234 | CONFIG_LOG_BUF_SHIFT=14 | 1236 | CONFIG_LOG_BUF_SHIFT=14 |
1237 | # CONFIG_DEBUG_FS is not set | ||
1235 | CONFIG_CROSSCOMPILE=y | 1238 | CONFIG_CROSSCOMPILE=y |
1236 | CONFIG_CMDLINE="" | 1239 | CONFIG_CMDLINE="" |
1237 | 1240 | ||
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig index 8dc1f18badfe..8130e23dc255 100644 --- a/arch/mips/configs/db1550_defconfig +++ b/arch/mips/configs/db1550_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:00 2006 | 4 | # Mon Apr 24 14:51:00 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1550=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
117 | CONFIG_64BIT_PHYS_ADDR=y | 119 | CONFIG_64BIT_PHYS_ADDR=y |
118 | # CONFIG_CPU_ADVANCED is not set | ||
119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y |
124 | CONFIG_SELECT_MEMORY_MODEL=y | 126 | CONFIG_SELECT_MEMORY_MODEL=y |
125 | CONFIG_FLATMEM_MANUAL=y | 127 | CONFIG_FLATMEM_MANUAL=y |
@@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 139 | # Code maturity level options |
138 | # | 140 | # |
139 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 144 | ||
@@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
153 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y |
154 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set |
155 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set |
157 | CONFIG_RELAY=y | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
170 | CONFIG_CC_ALIGN_LABELS=0 | ||
171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
185 | CONFIG_OBSOLETE_MODPARM=y | ||
186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
191 | # Block layer | 188 | # Block layer |
192 | # | 189 | # |
193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set |
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
194 | 193 | ||
195 | # | 194 | # |
196 | # IO Schedulers | 195 | # IO Schedulers |
@@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
210 | # | 209 | # |
211 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y |
212 | CONFIG_PCI=y | 211 | CONFIG_PCI=y |
213 | CONFIG_PCI_LEGACY_PROC=y | ||
214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y |
215 | 213 | ||
216 | # | 214 | # |
@@ -252,6 +250,7 @@ CONFIG_NET=y | |||
252 | # | 250 | # |
253 | # Networking options | 251 | # Networking options |
254 | # | 252 | # |
253 | # CONFIG_NETDEBUG is not set | ||
255 | CONFIG_PACKET=y | 254 | CONFIG_PACKET=y |
256 | # CONFIG_PACKET_MMAP is not set | 255 | # CONFIG_PACKET_MMAP is not set |
257 | CONFIG_UNIX=y | 256 | CONFIG_UNIX=y |
@@ -274,7 +273,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
274 | # CONFIG_INET_AH is not set | 273 | # CONFIG_INET_AH is not set |
275 | # CONFIG_INET_ESP is not set | 274 | # CONFIG_INET_ESP is not set |
276 | # CONFIG_INET_IPCOMP is not set | 275 | # CONFIG_INET_IPCOMP is not set |
277 | CONFIG_INET_TUNNEL=m | 276 | # CONFIG_INET_XFRM_TUNNEL is not set |
277 | # CONFIG_INET_TUNNEL is not set | ||
278 | CONFIG_INET_DIAG=y | 278 | CONFIG_INET_DIAG=y |
279 | CONFIG_INET_TCP_DIAG=y | 279 | CONFIG_INET_TCP_DIAG=y |
280 | # CONFIG_TCP_CONG_ADVANCED is not set | 280 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -285,6 +285,8 @@ CONFIG_TCP_CONG_BIC=y | |||
285 | # | 285 | # |
286 | # CONFIG_IP_VS is not set | 286 | # CONFIG_IP_VS is not set |
287 | # CONFIG_IPV6 is not set | 287 | # CONFIG_IPV6 is not set |
288 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
289 | # CONFIG_INET6_TUNNEL is not set | ||
288 | CONFIG_NETFILTER=y | 290 | CONFIG_NETFILTER=y |
289 | # CONFIG_NETFILTER_DEBUG is not set | 291 | # CONFIG_NETFILTER_DEBUG is not set |
290 | 292 | ||
@@ -301,10 +303,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
301 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 303 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
302 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 304 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
303 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 305 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
306 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
304 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 307 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
305 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 308 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
306 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 309 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
307 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 310 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
311 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
312 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
308 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 313 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
309 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 314 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
310 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 315 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -328,6 +333,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
328 | # SCTP Configuration (EXPERIMENTAL) | 333 | # SCTP Configuration (EXPERIMENTAL) |
329 | # | 334 | # |
330 | # CONFIG_IP_SCTP is not set | 335 | # CONFIG_IP_SCTP is not set |
336 | |||
337 | # | ||
338 | # TIPC Configuration (EXPERIMENTAL) | ||
339 | # | ||
340 | # CONFIG_TIPC is not set | ||
331 | # CONFIG_ATM is not set | 341 | # CONFIG_ATM is not set |
332 | # CONFIG_BRIDGE is not set | 342 | # CONFIG_BRIDGE is not set |
333 | # CONFIG_VLAN_8021Q is not set | 343 | # CONFIG_VLAN_8021Q is not set |
@@ -337,11 +347,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
337 | # CONFIG_ATALK is not set | 347 | # CONFIG_ATALK is not set |
338 | # CONFIG_X25 is not set | 348 | # CONFIG_X25 is not set |
339 | # CONFIG_LAPB is not set | 349 | # CONFIG_LAPB is not set |
340 | |||
341 | # | ||
342 | # TIPC Configuration (EXPERIMENTAL) | ||
343 | # | ||
344 | # CONFIG_TIPC is not set | ||
345 | # CONFIG_NET_DIVERT is not set | 350 | # CONFIG_NET_DIVERT is not set |
346 | # CONFIG_ECONET is not set | 351 | # CONFIG_ECONET is not set |
347 | # CONFIG_WAN_ROUTER is not set | 352 | # CONFIG_WAN_ROUTER is not set |
@@ -363,6 +368,9 @@ CONFIG_IEEE80211=m | |||
363 | # CONFIG_IEEE80211_DEBUG is not set | 368 | # CONFIG_IEEE80211_DEBUG is not set |
364 | CONFIG_IEEE80211_CRYPT_WEP=m | 369 | CONFIG_IEEE80211_CRYPT_WEP=m |
365 | CONFIG_IEEE80211_CRYPT_CCMP=m | 370 | CONFIG_IEEE80211_CRYPT_CCMP=m |
371 | CONFIG_IEEE80211_SOFTMAC=m | ||
372 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
373 | CONFIG_WIRELESS_EXT=y | ||
366 | 374 | ||
367 | # | 375 | # |
368 | # Device Drivers | 376 | # Device Drivers |
@@ -419,7 +427,6 @@ CONFIG_MTD_CFI_I2=y | |||
419 | # CONFIG_MTD_CFI_I8 is not set | 427 | # CONFIG_MTD_CFI_I8 is not set |
420 | # CONFIG_MTD_CFI_INTELEXT is not set | 428 | # CONFIG_MTD_CFI_INTELEXT is not set |
421 | CONFIG_MTD_CFI_AMDSTD=y | 429 | CONFIG_MTD_CFI_AMDSTD=y |
422 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
423 | # CONFIG_MTD_CFI_STAA is not set | 430 | # CONFIG_MTD_CFI_STAA is not set |
424 | CONFIG_MTD_CFI_UTIL=y | 431 | CONFIG_MTD_CFI_UTIL=y |
425 | # CONFIG_MTD_RAM is not set | 432 | # CONFIG_MTD_RAM is not set |
@@ -442,7 +449,6 @@ CONFIG_MTD_ALCHEMY=y | |||
442 | # CONFIG_MTD_SLRAM is not set | 449 | # CONFIG_MTD_SLRAM is not set |
443 | # CONFIG_MTD_PHRAM is not set | 450 | # CONFIG_MTD_PHRAM is not set |
444 | # CONFIG_MTD_MTDRAM is not set | 451 | # CONFIG_MTD_MTDRAM is not set |
445 | # CONFIG_MTD_BLKMTD is not set | ||
446 | # CONFIG_MTD_BLOCK2MTD is not set | 452 | # CONFIG_MTD_BLOCK2MTD is not set |
447 | 453 | ||
448 | # | 454 | # |
@@ -489,7 +495,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
489 | # CONFIG_BLK_DEV_NBD is not set | 495 | # CONFIG_BLK_DEV_NBD is not set |
490 | # CONFIG_BLK_DEV_SX8 is not set | 496 | # CONFIG_BLK_DEV_SX8 is not set |
491 | # CONFIG_BLK_DEV_RAM is not set | 497 | # CONFIG_BLK_DEV_RAM is not set |
492 | CONFIG_BLK_DEV_RAM_COUNT=16 | 498 | # CONFIG_BLK_DEV_INITRD is not set |
493 | CONFIG_CDROM_PKTCDVD=m | 499 | CONFIG_CDROM_PKTCDVD=m |
494 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 500 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
495 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 501 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -754,6 +760,7 @@ CONFIG_SERIO_RAW=m | |||
754 | # | 760 | # |
755 | CONFIG_SERIAL_8250=y | 761 | CONFIG_SERIAL_8250=y |
756 | CONFIG_SERIAL_8250_CONSOLE=y | 762 | CONFIG_SERIAL_8250_CONSOLE=y |
763 | CONFIG_SERIAL_8250_PCI=y | ||
757 | # CONFIG_SERIAL_8250_CS is not set | 764 | # CONFIG_SERIAL_8250_CS is not set |
758 | CONFIG_SERIAL_8250_NR_UARTS=4 | 765 | CONFIG_SERIAL_8250_NR_UARTS=4 |
759 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 766 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
@@ -765,6 +772,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
765 | # | 772 | # |
766 | CONFIG_SERIAL_CORE=y | 773 | CONFIG_SERIAL_CORE=y |
767 | CONFIG_SERIAL_CORE_CONSOLE=y | 774 | CONFIG_SERIAL_CORE_CONSOLE=y |
775 | # CONFIG_SERIAL_JSM is not set | ||
768 | CONFIG_UNIX98_PTYS=y | 776 | CONFIG_UNIX98_PTYS=y |
769 | CONFIG_LEGACY_PTYS=y | 777 | CONFIG_LEGACY_PTYS=y |
770 | CONFIG_LEGACY_PTY_COUNT=256 | 778 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -830,10 +838,6 @@ CONFIG_SYNCLINK_CS=m | |||
830 | # | 838 | # |
831 | 839 | ||
832 | # | 840 | # |
833 | # Multimedia Capabilities Port drivers | ||
834 | # | ||
835 | |||
836 | # | ||
837 | # Multimedia devices | 841 | # Multimedia devices |
838 | # | 842 | # |
839 | # CONFIG_VIDEO_DEV is not set | 843 | # CONFIG_VIDEO_DEV is not set |
@@ -858,6 +862,7 @@ CONFIG_SYNCLINK_CS=m | |||
858 | # | 862 | # |
859 | CONFIG_USB_ARCH_HAS_HCD=y | 863 | CONFIG_USB_ARCH_HAS_HCD=y |
860 | CONFIG_USB_ARCH_HAS_OHCI=y | 864 | CONFIG_USB_ARCH_HAS_OHCI=y |
865 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
861 | # CONFIG_USB is not set | 866 | # CONFIG_USB is not set |
862 | 867 | ||
863 | # | 868 | # |
@@ -875,13 +880,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
875 | # CONFIG_MMC is not set | 880 | # CONFIG_MMC is not set |
876 | 881 | ||
877 | # | 882 | # |
883 | # LED devices | ||
884 | # | ||
885 | # CONFIG_NEW_LEDS is not set | ||
886 | |||
887 | # | ||
888 | # LED drivers | ||
889 | # | ||
890 | |||
891 | # | ||
892 | # LED Triggers | ||
893 | # | ||
894 | |||
895 | # | ||
878 | # InfiniBand support | 896 | # InfiniBand support |
879 | # | 897 | # |
880 | # CONFIG_INFINIBAND is not set | 898 | # CONFIG_INFINIBAND is not set |
881 | 899 | ||
882 | # | 900 | # |
883 | # SN Devices | 901 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
902 | # | ||
903 | |||
904 | # | ||
905 | # Real Time Clock | ||
884 | # | 906 | # |
907 | # CONFIG_RTC_CLASS is not set | ||
885 | 908 | ||
886 | # | 909 | # |
887 | # File systems | 910 | # File systems |
@@ -939,7 +962,6 @@ CONFIG_SYSFS=y | |||
939 | CONFIG_TMPFS=y | 962 | CONFIG_TMPFS=y |
940 | # CONFIG_HUGETLB_PAGE is not set | 963 | # CONFIG_HUGETLB_PAGE is not set |
941 | CONFIG_RAMFS=y | 964 | CONFIG_RAMFS=y |
942 | CONFIG_RELAYFS_FS=m | ||
943 | # CONFIG_CONFIGFS_FS is not set | 965 | # CONFIG_CONFIGFS_FS is not set |
944 | 966 | ||
945 | # | 967 | # |
@@ -1048,6 +1070,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1048 | # CONFIG_MAGIC_SYSRQ is not set | 1070 | # CONFIG_MAGIC_SYSRQ is not set |
1049 | # CONFIG_DEBUG_KERNEL is not set | 1071 | # CONFIG_DEBUG_KERNEL is not set |
1050 | CONFIG_LOG_BUF_SHIFT=14 | 1072 | CONFIG_LOG_BUF_SHIFT=14 |
1073 | # CONFIG_DEBUG_FS is not set | ||
1051 | CONFIG_CROSSCOMPILE=y | 1074 | CONFIG_CROSSCOMPILE=y |
1052 | CONFIG_CMDLINE="" | 1075 | CONFIG_CMDLINE="" |
1053 | 1076 | ||
diff --git a/arch/mips/configs/ddb5476_defconfig b/arch/mips/configs/ddb5476_defconfig index 8fae63e47e5e..8d88ac1bbfeb 100644 --- a/arch/mips/configs/ddb5476_defconfig +++ b/arch/mips/configs/ddb5476_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:02 2006 | 4 | # Mon Apr 24 14:51:00 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_DDB5476=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
117 | # CONFIG_CPU_ADVANCED is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
@@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # Code maturity level options | 137 | # Code maturity level options |
137 | # | 138 | # |
138 | CONFIG_EXPERIMENTAL=y | 139 | CONFIG_EXPERIMENTAL=y |
139 | CONFIG_CLEAN_COMPILE=y | ||
140 | CONFIG_BROKEN_ON_SMP=y | 140 | CONFIG_BROKEN_ON_SMP=y |
141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
142 | 142 | ||
@@ -152,6 +152,7 @@ CONFIG_SYSVIPC=y | |||
152 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y |
153 | # CONFIG_AUDIT is not set | 153 | # CONFIG_AUDIT is not set |
154 | # CONFIG_IKCONFIG is not set | 154 | # CONFIG_IKCONFIG is not set |
155 | CONFIG_RELAY=y | ||
155 | CONFIG_INITRAMFS_SOURCE="" | 156 | CONFIG_INITRAMFS_SOURCE="" |
156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
157 | CONFIG_EMBEDDED=y | 158 | CONFIG_EMBEDDED=y |
@@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
165 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y |
166 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y |
167 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y |
168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
169 | CONFIG_CC_ALIGN_LABELS=0 | ||
170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
172 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y |
173 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set |
174 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 |
@@ -183,6 +180,8 @@ CONFIG_BASE_SMALL=0 | |||
183 | # Block layer | 180 | # Block layer |
184 | # | 181 | # |
185 | # CONFIG_LBD is not set | 182 | # CONFIG_LBD is not set |
183 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
184 | # CONFIG_LSF is not set | ||
186 | 185 | ||
187 | # | 186 | # |
188 | # IO Schedulers | 187 | # IO Schedulers |
@@ -202,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
202 | # | 201 | # |
203 | CONFIG_HW_HAS_PCI=y | 202 | CONFIG_HW_HAS_PCI=y |
204 | CONFIG_PCI=y | 203 | CONFIG_PCI=y |
205 | CONFIG_PCI_LEGACY_PROC=y | ||
206 | CONFIG_ISA=y | 204 | CONFIG_ISA=y |
207 | CONFIG_MMU=y | 205 | CONFIG_MMU=y |
208 | 206 | ||
@@ -231,6 +229,7 @@ CONFIG_NET=y | |||
231 | # | 229 | # |
232 | # Networking options | 230 | # Networking options |
233 | # | 231 | # |
232 | # CONFIG_NETDEBUG is not set | ||
234 | CONFIG_PACKET=y | 233 | CONFIG_PACKET=y |
235 | # CONFIG_PACKET_MMAP is not set | 234 | # CONFIG_PACKET_MMAP is not set |
236 | CONFIG_UNIX=y | 235 | CONFIG_UNIX=y |
@@ -252,12 +251,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
252 | # CONFIG_INET_AH is not set | 251 | # CONFIG_INET_AH is not set |
253 | # CONFIG_INET_ESP is not set | 252 | # CONFIG_INET_ESP is not set |
254 | # CONFIG_INET_IPCOMP is not set | 253 | # CONFIG_INET_IPCOMP is not set |
255 | CONFIG_INET_TUNNEL=y | 254 | # CONFIG_INET_XFRM_TUNNEL is not set |
255 | # CONFIG_INET_TUNNEL is not set | ||
256 | CONFIG_INET_DIAG=y | 256 | CONFIG_INET_DIAG=y |
257 | CONFIG_INET_TCP_DIAG=y | 257 | CONFIG_INET_TCP_DIAG=y |
258 | # CONFIG_TCP_CONG_ADVANCED is not set | 258 | # CONFIG_TCP_CONG_ADVANCED is not set |
259 | CONFIG_TCP_CONG_BIC=y | 259 | CONFIG_TCP_CONG_BIC=y |
260 | # CONFIG_IPV6 is not set | 260 | # CONFIG_IPV6 is not set |
261 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
262 | # CONFIG_INET6_TUNNEL is not set | ||
261 | # CONFIG_NETFILTER is not set | 263 | # CONFIG_NETFILTER is not set |
262 | 264 | ||
263 | # | 265 | # |
@@ -269,6 +271,11 @@ CONFIG_TCP_CONG_BIC=y | |||
269 | # SCTP Configuration (EXPERIMENTAL) | 271 | # SCTP Configuration (EXPERIMENTAL) |
270 | # | 272 | # |
271 | # CONFIG_IP_SCTP is not set | 273 | # CONFIG_IP_SCTP is not set |
274 | |||
275 | # | ||
276 | # TIPC Configuration (EXPERIMENTAL) | ||
277 | # | ||
278 | # CONFIG_TIPC is not set | ||
272 | # CONFIG_ATM is not set | 279 | # CONFIG_ATM is not set |
273 | # CONFIG_BRIDGE is not set | 280 | # CONFIG_BRIDGE is not set |
274 | # CONFIG_VLAN_8021Q is not set | 281 | # CONFIG_VLAN_8021Q is not set |
@@ -278,11 +285,6 @@ CONFIG_TCP_CONG_BIC=y | |||
278 | # CONFIG_ATALK is not set | 285 | # CONFIG_ATALK is not set |
279 | # CONFIG_X25 is not set | 286 | # CONFIG_X25 is not set |
280 | # CONFIG_LAPB is not set | 287 | # CONFIG_LAPB is not set |
281 | |||
282 | # | ||
283 | # TIPC Configuration (EXPERIMENTAL) | ||
284 | # | ||
285 | # CONFIG_TIPC is not set | ||
286 | # CONFIG_NET_DIVERT is not set | 288 | # CONFIG_NET_DIVERT is not set |
287 | # CONFIG_ECONET is not set | 289 | # CONFIG_ECONET is not set |
288 | # CONFIG_WAN_ROUTER is not set | 290 | # CONFIG_WAN_ROUTER is not set |
@@ -303,6 +305,9 @@ CONFIG_IEEE80211=y | |||
303 | # CONFIG_IEEE80211_DEBUG is not set | 305 | # CONFIG_IEEE80211_DEBUG is not set |
304 | CONFIG_IEEE80211_CRYPT_WEP=y | 306 | CONFIG_IEEE80211_CRYPT_WEP=y |
305 | CONFIG_IEEE80211_CRYPT_CCMP=y | 307 | CONFIG_IEEE80211_CRYPT_CCMP=y |
308 | CONFIG_IEEE80211_SOFTMAC=y | ||
309 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
310 | CONFIG_WIRELESS_EXT=y | ||
306 | 311 | ||
307 | # | 312 | # |
308 | # Device Drivers | 313 | # Device Drivers |
@@ -348,7 +353,7 @@ CONFIG_PROC_EVENTS=y | |||
348 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set |
349 | # CONFIG_BLK_DEV_SX8 is not set | 354 | # CONFIG_BLK_DEV_SX8 is not set |
350 | # CONFIG_BLK_DEV_RAM is not set | 355 | # CONFIG_BLK_DEV_RAM is not set |
351 | CONFIG_BLK_DEV_RAM_COUNT=16 | 356 | # CONFIG_BLK_DEV_INITRD is not set |
352 | CONFIG_CDROM_PKTCDVD=y | 357 | CONFIG_CDROM_PKTCDVD=y |
353 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 358 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
354 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 359 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -571,6 +576,7 @@ CONFIG_HW_CONSOLE=y | |||
571 | # | 576 | # |
572 | CONFIG_SERIAL_8250=y | 577 | CONFIG_SERIAL_8250=y |
573 | CONFIG_SERIAL_8250_CONSOLE=y | 578 | CONFIG_SERIAL_8250_CONSOLE=y |
579 | CONFIG_SERIAL_8250_PCI=y | ||
574 | CONFIG_SERIAL_8250_NR_UARTS=4 | 580 | CONFIG_SERIAL_8250_NR_UARTS=4 |
575 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 581 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
576 | # CONFIG_SERIAL_8250_EXTENDED is not set | 582 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -580,6 +586,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
580 | # | 586 | # |
581 | CONFIG_SERIAL_CORE=y | 587 | CONFIG_SERIAL_CORE=y |
582 | CONFIG_SERIAL_CORE_CONSOLE=y | 588 | CONFIG_SERIAL_CORE_CONSOLE=y |
589 | # CONFIG_SERIAL_JSM is not set | ||
583 | CONFIG_UNIX98_PTYS=y | 590 | CONFIG_UNIX98_PTYS=y |
584 | CONFIG_LEGACY_PTYS=y | 591 | CONFIG_LEGACY_PTYS=y |
585 | CONFIG_LEGACY_PTY_COUNT=256 | 592 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -638,10 +645,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
638 | # | 645 | # |
639 | 646 | ||
640 | # | 647 | # |
641 | # Multimedia Capabilities Port drivers | ||
642 | # | ||
643 | |||
644 | # | ||
645 | # Multimedia devices | 648 | # Multimedia devices |
646 | # | 649 | # |
647 | # CONFIG_VIDEO_DEV is not set | 650 | # CONFIG_VIDEO_DEV is not set |
@@ -659,6 +662,7 @@ CONFIG_FB=y | |||
659 | # CONFIG_FB_CFB_COPYAREA is not set | 662 | # CONFIG_FB_CFB_COPYAREA is not set |
660 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 663 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
661 | # CONFIG_FB_MACMODES is not set | 664 | # CONFIG_FB_MACMODES is not set |
665 | CONFIG_FB_FIRMWARE_EDID=y | ||
662 | # CONFIG_FB_MODE_HELPERS is not set | 666 | # CONFIG_FB_MODE_HELPERS is not set |
663 | # CONFIG_FB_TILEBLITTING is not set | 667 | # CONFIG_FB_TILEBLITTING is not set |
664 | # CONFIG_FB_CIRRUS is not set | 668 | # CONFIG_FB_CIRRUS is not set |
@@ -670,7 +674,6 @@ CONFIG_FB=y | |||
670 | # CONFIG_FB_NVIDIA is not set | 674 | # CONFIG_FB_NVIDIA is not set |
671 | # CONFIG_FB_RIVA is not set | 675 | # CONFIG_FB_RIVA is not set |
672 | # CONFIG_FB_MATROX is not set | 676 | # CONFIG_FB_MATROX is not set |
673 | # CONFIG_FB_RADEON_OLD is not set | ||
674 | # CONFIG_FB_RADEON is not set | 677 | # CONFIG_FB_RADEON is not set |
675 | # CONFIG_FB_ATY128 is not set | 678 | # CONFIG_FB_ATY128 is not set |
676 | # CONFIG_FB_ATY is not set | 679 | # CONFIG_FB_ATY is not set |
@@ -708,6 +711,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
708 | # | 711 | # |
709 | CONFIG_USB_ARCH_HAS_HCD=y | 712 | CONFIG_USB_ARCH_HAS_HCD=y |
710 | CONFIG_USB_ARCH_HAS_OHCI=y | 713 | CONFIG_USB_ARCH_HAS_OHCI=y |
714 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
711 | # CONFIG_USB is not set | 715 | # CONFIG_USB is not set |
712 | 716 | ||
713 | # | 717 | # |
@@ -725,13 +729,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
725 | # CONFIG_MMC is not set | 729 | # CONFIG_MMC is not set |
726 | 730 | ||
727 | # | 731 | # |
732 | # LED devices | ||
733 | # | ||
734 | # CONFIG_NEW_LEDS is not set | ||
735 | |||
736 | # | ||
737 | # LED drivers | ||
738 | # | ||
739 | |||
740 | # | ||
741 | # LED Triggers | ||
742 | # | ||
743 | |||
744 | # | ||
728 | # InfiniBand support | 745 | # InfiniBand support |
729 | # | 746 | # |
730 | # CONFIG_INFINIBAND is not set | 747 | # CONFIG_INFINIBAND is not set |
731 | 748 | ||
732 | # | 749 | # |
733 | # SN Devices | 750 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
751 | # | ||
752 | |||
753 | # | ||
754 | # Real Time Clock | ||
734 | # | 755 | # |
756 | # CONFIG_RTC_CLASS is not set | ||
735 | 757 | ||
736 | # | 758 | # |
737 | # File systems | 759 | # File systems |
@@ -776,7 +798,6 @@ CONFIG_SYSFS=y | |||
776 | # CONFIG_TMPFS is not set | 798 | # CONFIG_TMPFS is not set |
777 | # CONFIG_HUGETLB_PAGE is not set | 799 | # CONFIG_HUGETLB_PAGE is not set |
778 | CONFIG_RAMFS=y | 800 | CONFIG_RAMFS=y |
779 | CONFIG_RELAYFS_FS=y | ||
780 | # CONFIG_CONFIGFS_FS is not set | 801 | # CONFIG_CONFIGFS_FS is not set |
781 | 802 | ||
782 | # | 803 | # |
@@ -840,6 +861,8 @@ CONFIG_MSDOS_PARTITION=y | |||
840 | # CONFIG_MAGIC_SYSRQ is not set | 861 | # CONFIG_MAGIC_SYSRQ is not set |
841 | # CONFIG_DEBUG_KERNEL is not set | 862 | # CONFIG_DEBUG_KERNEL is not set |
842 | CONFIG_LOG_BUF_SHIFT=14 | 863 | CONFIG_LOG_BUF_SHIFT=14 |
864 | # CONFIG_DEBUG_FS is not set | ||
865 | # CONFIG_UNWIND_INFO is not set | ||
843 | CONFIG_CROSSCOMPILE=y | 866 | CONFIG_CROSSCOMPILE=y |
844 | CONFIG_CMDLINE="ip=any" | 867 | CONFIG_CMDLINE="ip=any" |
845 | 868 | ||
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig index a0fcd44e7709..8c911b671415 100644 --- a/arch/mips/configs/ddb5477_defconfig +++ b/arch/mips/configs/ddb5477_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:02 2006 | 4 | # Mon Apr 24 14:51:01 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -65,6 +65,8 @@ CONFIG_DDB5477=y | |||
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_DDB5477_BUS_FREQUENCY=0 | 66 | CONFIG_DDB5477_BUS_FREQUENCY=0 |
67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
117 | # CONFIG_CPU_ADVANCED is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
@@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # Code maturity level options | 137 | # Code maturity level options |
137 | # | 138 | # |
138 | CONFIG_EXPERIMENTAL=y | 139 | CONFIG_EXPERIMENTAL=y |
139 | CONFIG_CLEAN_COMPILE=y | ||
140 | CONFIG_BROKEN_ON_SMP=y | 140 | CONFIG_BROKEN_ON_SMP=y |
141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
142 | 142 | ||
@@ -152,6 +152,7 @@ CONFIG_SYSVIPC=y | |||
152 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y |
153 | # CONFIG_AUDIT is not set | 153 | # CONFIG_AUDIT is not set |
154 | # CONFIG_IKCONFIG is not set | 154 | # CONFIG_IKCONFIG is not set |
155 | CONFIG_RELAY=y | ||
155 | CONFIG_INITRAMFS_SOURCE="" | 156 | CONFIG_INITRAMFS_SOURCE="" |
156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
157 | CONFIG_EMBEDDED=y | 158 | CONFIG_EMBEDDED=y |
@@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
165 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y |
166 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y |
167 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y |
168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
169 | CONFIG_CC_ALIGN_LABELS=0 | ||
170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
172 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y |
173 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set |
174 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 |
@@ -183,6 +180,8 @@ CONFIG_BASE_SMALL=0 | |||
183 | # Block layer | 180 | # Block layer |
184 | # | 181 | # |
185 | # CONFIG_LBD is not set | 182 | # CONFIG_LBD is not set |
183 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
184 | # CONFIG_LSF is not set | ||
186 | 185 | ||
187 | # | 186 | # |
188 | # IO Schedulers | 187 | # IO Schedulers |
@@ -202,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
202 | # | 201 | # |
203 | CONFIG_HW_HAS_PCI=y | 202 | CONFIG_HW_HAS_PCI=y |
204 | CONFIG_PCI=y | 203 | CONFIG_PCI=y |
205 | CONFIG_PCI_LEGACY_PROC=y | ||
206 | CONFIG_MMU=y | 204 | CONFIG_MMU=y |
207 | 205 | ||
208 | # | 206 | # |
@@ -230,6 +228,7 @@ CONFIG_NET=y | |||
230 | # | 228 | # |
231 | # Networking options | 229 | # Networking options |
232 | # | 230 | # |
231 | # CONFIG_NETDEBUG is not set | ||
233 | CONFIG_PACKET=y | 232 | CONFIG_PACKET=y |
234 | # CONFIG_PACKET_MMAP is not set | 233 | # CONFIG_PACKET_MMAP is not set |
235 | CONFIG_UNIX=y | 234 | CONFIG_UNIX=y |
@@ -251,12 +250,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
251 | # CONFIG_INET_AH is not set | 250 | # CONFIG_INET_AH is not set |
252 | # CONFIG_INET_ESP is not set | 251 | # CONFIG_INET_ESP is not set |
253 | # CONFIG_INET_IPCOMP is not set | 252 | # CONFIG_INET_IPCOMP is not set |
254 | CONFIG_INET_TUNNEL=y | 253 | # CONFIG_INET_XFRM_TUNNEL is not set |
254 | # CONFIG_INET_TUNNEL is not set | ||
255 | CONFIG_INET_DIAG=y | 255 | CONFIG_INET_DIAG=y |
256 | CONFIG_INET_TCP_DIAG=y | 256 | CONFIG_INET_TCP_DIAG=y |
257 | # CONFIG_TCP_CONG_ADVANCED is not set | 257 | # CONFIG_TCP_CONG_ADVANCED is not set |
258 | CONFIG_TCP_CONG_BIC=y | 258 | CONFIG_TCP_CONG_BIC=y |
259 | # CONFIG_IPV6 is not set | 259 | # CONFIG_IPV6 is not set |
260 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
261 | # CONFIG_INET6_TUNNEL is not set | ||
260 | # CONFIG_NETFILTER is not set | 262 | # CONFIG_NETFILTER is not set |
261 | 263 | ||
262 | # | 264 | # |
@@ -268,6 +270,11 @@ CONFIG_TCP_CONG_BIC=y | |||
268 | # SCTP Configuration (EXPERIMENTAL) | 270 | # SCTP Configuration (EXPERIMENTAL) |
269 | # | 271 | # |
270 | # CONFIG_IP_SCTP is not set | 272 | # CONFIG_IP_SCTP is not set |
273 | |||
274 | # | ||
275 | # TIPC Configuration (EXPERIMENTAL) | ||
276 | # | ||
277 | # CONFIG_TIPC is not set | ||
271 | # CONFIG_ATM is not set | 278 | # CONFIG_ATM is not set |
272 | # CONFIG_BRIDGE is not set | 279 | # CONFIG_BRIDGE is not set |
273 | # CONFIG_VLAN_8021Q is not set | 280 | # CONFIG_VLAN_8021Q is not set |
@@ -277,11 +284,6 @@ CONFIG_TCP_CONG_BIC=y | |||
277 | # CONFIG_ATALK is not set | 284 | # CONFIG_ATALK is not set |
278 | # CONFIG_X25 is not set | 285 | # CONFIG_X25 is not set |
279 | # CONFIG_LAPB is not set | 286 | # CONFIG_LAPB is not set |
280 | |||
281 | # | ||
282 | # TIPC Configuration (EXPERIMENTAL) | ||
283 | # | ||
284 | # CONFIG_TIPC is not set | ||
285 | # CONFIG_NET_DIVERT is not set | 287 | # CONFIG_NET_DIVERT is not set |
286 | # CONFIG_ECONET is not set | 288 | # CONFIG_ECONET is not set |
287 | # CONFIG_WAN_ROUTER is not set | 289 | # CONFIG_WAN_ROUTER is not set |
@@ -302,6 +304,9 @@ CONFIG_IEEE80211=y | |||
302 | # CONFIG_IEEE80211_DEBUG is not set | 304 | # CONFIG_IEEE80211_DEBUG is not set |
303 | CONFIG_IEEE80211_CRYPT_WEP=y | 305 | CONFIG_IEEE80211_CRYPT_WEP=y |
304 | CONFIG_IEEE80211_CRYPT_CCMP=y | 306 | CONFIG_IEEE80211_CRYPT_CCMP=y |
307 | CONFIG_IEEE80211_SOFTMAC=y | ||
308 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
309 | CONFIG_WIRELESS_EXT=y | ||
305 | 310 | ||
306 | # | 311 | # |
307 | # Device Drivers | 312 | # Device Drivers |
@@ -346,7 +351,7 @@ CONFIG_PROC_EVENTS=y | |||
346 | # CONFIG_BLK_DEV_NBD is not set | 351 | # CONFIG_BLK_DEV_NBD is not set |
347 | # CONFIG_BLK_DEV_SX8 is not set | 352 | # CONFIG_BLK_DEV_SX8 is not set |
348 | # CONFIG_BLK_DEV_RAM is not set | 353 | # CONFIG_BLK_DEV_RAM is not set |
349 | CONFIG_BLK_DEV_RAM_COUNT=16 | 354 | # CONFIG_BLK_DEV_INITRD is not set |
350 | CONFIG_CDROM_PKTCDVD=y | 355 | CONFIG_CDROM_PKTCDVD=y |
351 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 356 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
352 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 357 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -556,6 +561,7 @@ CONFIG_HW_CONSOLE=y | |||
556 | # | 561 | # |
557 | CONFIG_SERIAL_8250=y | 562 | CONFIG_SERIAL_8250=y |
558 | CONFIG_SERIAL_8250_CONSOLE=y | 563 | CONFIG_SERIAL_8250_CONSOLE=y |
564 | CONFIG_SERIAL_8250_PCI=y | ||
559 | CONFIG_SERIAL_8250_NR_UARTS=4 | 565 | CONFIG_SERIAL_8250_NR_UARTS=4 |
560 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 566 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
561 | # CONFIG_SERIAL_8250_EXTENDED is not set | 567 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -565,6 +571,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
565 | # | 571 | # |
566 | CONFIG_SERIAL_CORE=y | 572 | CONFIG_SERIAL_CORE=y |
567 | CONFIG_SERIAL_CORE_CONSOLE=y | 573 | CONFIG_SERIAL_CORE_CONSOLE=y |
574 | # CONFIG_SERIAL_JSM is not set | ||
568 | CONFIG_UNIX98_PTYS=y | 575 | CONFIG_UNIX98_PTYS=y |
569 | CONFIG_LEGACY_PTYS=y | 576 | CONFIG_LEGACY_PTYS=y |
570 | CONFIG_LEGACY_PTY_COUNT=256 | 577 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -623,10 +630,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
623 | # | 630 | # |
624 | 631 | ||
625 | # | 632 | # |
626 | # Multimedia Capabilities Port drivers | ||
627 | # | ||
628 | |||
629 | # | ||
630 | # Multimedia devices | 633 | # Multimedia devices |
631 | # | 634 | # |
632 | # CONFIG_VIDEO_DEV is not set | 635 | # CONFIG_VIDEO_DEV is not set |
@@ -657,6 +660,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
657 | # | 660 | # |
658 | CONFIG_USB_ARCH_HAS_HCD=y | 661 | CONFIG_USB_ARCH_HAS_HCD=y |
659 | CONFIG_USB_ARCH_HAS_OHCI=y | 662 | CONFIG_USB_ARCH_HAS_OHCI=y |
663 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
660 | # CONFIG_USB is not set | 664 | # CONFIG_USB is not set |
661 | 665 | ||
662 | # | 666 | # |
@@ -674,13 +678,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
674 | # CONFIG_MMC is not set | 678 | # CONFIG_MMC is not set |
675 | 679 | ||
676 | # | 680 | # |
681 | # LED devices | ||
682 | # | ||
683 | # CONFIG_NEW_LEDS is not set | ||
684 | |||
685 | # | ||
686 | # LED drivers | ||
687 | # | ||
688 | |||
689 | # | ||
690 | # LED Triggers | ||
691 | # | ||
692 | |||
693 | # | ||
677 | # InfiniBand support | 694 | # InfiniBand support |
678 | # | 695 | # |
679 | # CONFIG_INFINIBAND is not set | 696 | # CONFIG_INFINIBAND is not set |
680 | 697 | ||
681 | # | 698 | # |
682 | # SN Devices | 699 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
700 | # | ||
701 | |||
702 | # | ||
703 | # Real Time Clock | ||
683 | # | 704 | # |
705 | # CONFIG_RTC_CLASS is not set | ||
684 | 706 | ||
685 | # | 707 | # |
686 | # File systems | 708 | # File systems |
@@ -725,7 +747,6 @@ CONFIG_SYSFS=y | |||
725 | # CONFIG_TMPFS is not set | 747 | # CONFIG_TMPFS is not set |
726 | # CONFIG_HUGETLB_PAGE is not set | 748 | # CONFIG_HUGETLB_PAGE is not set |
727 | CONFIG_RAMFS=y | 749 | CONFIG_RAMFS=y |
728 | CONFIG_RELAYFS_FS=y | ||
729 | # CONFIG_CONFIGFS_FS is not set | 750 | # CONFIG_CONFIGFS_FS is not set |
730 | 751 | ||
731 | # | 752 | # |
@@ -792,6 +813,8 @@ CONFIG_MSDOS_PARTITION=y | |||
792 | # CONFIG_MAGIC_SYSRQ is not set | 813 | # CONFIG_MAGIC_SYSRQ is not set |
793 | # CONFIG_DEBUG_KERNEL is not set | 814 | # CONFIG_DEBUG_KERNEL is not set |
794 | CONFIG_LOG_BUF_SHIFT=14 | 815 | CONFIG_LOG_BUF_SHIFT=14 |
816 | # CONFIG_DEBUG_FS is not set | ||
817 | # CONFIG_UNWIND_INFO is not set | ||
795 | CONFIG_CROSSCOMPILE=y | 818 | CONFIG_CROSSCOMPILE=y |
796 | CONFIG_CMDLINE="ip=any" | 819 | CONFIG_CMDLINE="ip=any" |
797 | 820 | ||
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig index 5a181eadd437..d838496e114f 100644 --- a/arch/mips/configs/decstation_defconfig +++ b/arch/mips/configs/decstation_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:03 2006 | 4 | # Mon Apr 24 14:51:01 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -63,11 +63,13 @@ CONFIG_MACH_DECSTATION=y | |||
63 | # CONFIG_TOSHIBA_JMR3927 is not set | 63 | # CONFIG_TOSHIBA_JMR3927 is not set |
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_EARLY_PRINTK=y | ||
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_EARLY_PRINTK=y | ||
71 | # CONFIG_CPU_BIG_ENDIAN is not set | 73 | # CONFIG_CPU_BIG_ENDIAN is not set |
72 | CONFIG_CPU_LITTLE_ENDIAN=y | 74 | CONFIG_CPU_LITTLE_ENDIAN=y |
73 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y | 75 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y |
@@ -113,7 +115,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 115 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 116 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set |
116 | # CONFIG_CPU_ADVANCED is not set | ||
117 | CONFIG_CPU_HAS_WB=y | 118 | CONFIG_CPU_HAS_WB=y |
118 | CONFIG_GENERIC_HARDIRQS=y | 119 | CONFIG_GENERIC_HARDIRQS=y |
119 | CONFIG_GENERIC_IRQ_PROBE=y | 120 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -135,7 +136,6 @@ CONFIG_PREEMPT_NONE=y | |||
135 | # Code maturity level options | 136 | # Code maturity level options |
136 | # | 137 | # |
137 | CONFIG_EXPERIMENTAL=y | 138 | CONFIG_EXPERIMENTAL=y |
138 | CONFIG_CLEAN_COMPILE=y | ||
139 | CONFIG_BROKEN_ON_SMP=y | 139 | CONFIG_BROKEN_ON_SMP=y |
140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 140 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
141 | 141 | ||
@@ -151,6 +151,7 @@ CONFIG_SYSVIPC=y | |||
151 | CONFIG_SYSCTL=y | 151 | CONFIG_SYSCTL=y |
152 | # CONFIG_AUDIT is not set | 152 | # CONFIG_AUDIT is not set |
153 | # CONFIG_IKCONFIG is not set | 153 | # CONFIG_IKCONFIG is not set |
154 | CONFIG_RELAY=y | ||
154 | CONFIG_INITRAMFS_SOURCE="" | 155 | CONFIG_INITRAMFS_SOURCE="" |
155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
156 | CONFIG_EMBEDDED=y | 157 | CONFIG_EMBEDDED=y |
@@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
165 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y |
166 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y |
167 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y |
168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
169 | CONFIG_CC_ALIGN_LABELS=0 | ||
170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
172 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y |
173 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set |
174 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 |
@@ -180,7 +177,6 @@ CONFIG_BASE_SMALL=0 | |||
180 | CONFIG_MODULES=y | 177 | CONFIG_MODULES=y |
181 | CONFIG_MODULE_UNLOAD=y | 178 | CONFIG_MODULE_UNLOAD=y |
182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 179 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
183 | CONFIG_OBSOLETE_MODPARM=y | ||
184 | # CONFIG_MODVERSIONS is not set | 180 | # CONFIG_MODVERSIONS is not set |
185 | CONFIG_MODULE_SRCVERSION_ALL=y | 181 | CONFIG_MODULE_SRCVERSION_ALL=y |
186 | CONFIG_KMOD=y | 182 | CONFIG_KMOD=y |
@@ -189,6 +185,8 @@ CONFIG_KMOD=y | |||
189 | # Block layer | 185 | # Block layer |
190 | # | 186 | # |
191 | # CONFIG_LBD is not set | 187 | # CONFIG_LBD is not set |
188 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
189 | # CONFIG_LSF is not set | ||
192 | 190 | ||
193 | # | 191 | # |
194 | # IO Schedulers | 192 | # IO Schedulers |
@@ -233,11 +231,10 @@ CONFIG_NET=y | |||
233 | # | 231 | # |
234 | # Networking options | 232 | # Networking options |
235 | # | 233 | # |
234 | # CONFIG_NETDEBUG is not set | ||
236 | CONFIG_PACKET=y | 235 | CONFIG_PACKET=y |
237 | CONFIG_PACKET_MMAP=y | 236 | CONFIG_PACKET_MMAP=y |
238 | CONFIG_UNIX=y | 237 | CONFIG_UNIX=y |
239 | CONFIG_XFRM=y | ||
240 | CONFIG_XFRM_USER=m | ||
241 | # CONFIG_NET_KEY is not set | 238 | # CONFIG_NET_KEY is not set |
242 | CONFIG_INET=y | 239 | CONFIG_INET=y |
243 | # CONFIG_IP_MULTICAST is not set | 240 | # CONFIG_IP_MULTICAST is not set |
@@ -254,12 +251,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
254 | # CONFIG_INET_AH is not set | 251 | # CONFIG_INET_AH is not set |
255 | # CONFIG_INET_ESP is not set | 252 | # CONFIG_INET_ESP is not set |
256 | # CONFIG_INET_IPCOMP is not set | 253 | # CONFIG_INET_IPCOMP is not set |
257 | CONFIG_INET_TUNNEL=m | 254 | # CONFIG_INET_XFRM_TUNNEL is not set |
255 | # CONFIG_INET_TUNNEL is not set | ||
258 | CONFIG_INET_DIAG=y | 256 | CONFIG_INET_DIAG=y |
259 | CONFIG_INET_TCP_DIAG=y | 257 | CONFIG_INET_TCP_DIAG=y |
260 | # CONFIG_TCP_CONG_ADVANCED is not set | 258 | # CONFIG_TCP_CONG_ADVANCED is not set |
261 | CONFIG_TCP_CONG_BIC=y | 259 | CONFIG_TCP_CONG_BIC=y |
262 | # CONFIG_IPV6 is not set | 260 | # CONFIG_IPV6 is not set |
261 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
262 | # CONFIG_INET6_TUNNEL is not set | ||
263 | # CONFIG_NETFILTER is not set | 263 | # CONFIG_NETFILTER is not set |
264 | 264 | ||
265 | # | 265 | # |
@@ -271,6 +271,11 @@ CONFIG_TCP_CONG_BIC=y | |||
271 | # SCTP Configuration (EXPERIMENTAL) | 271 | # SCTP Configuration (EXPERIMENTAL) |
272 | # | 272 | # |
273 | # CONFIG_IP_SCTP is not set | 273 | # CONFIG_IP_SCTP is not set |
274 | |||
275 | # | ||
276 | # TIPC Configuration (EXPERIMENTAL) | ||
277 | # | ||
278 | # CONFIG_TIPC is not set | ||
274 | # CONFIG_ATM is not set | 279 | # CONFIG_ATM is not set |
275 | # CONFIG_BRIDGE is not set | 280 | # CONFIG_BRIDGE is not set |
276 | # CONFIG_VLAN_8021Q is not set | 281 | # CONFIG_VLAN_8021Q is not set |
@@ -280,11 +285,6 @@ CONFIG_TCP_CONG_BIC=y | |||
280 | # CONFIG_ATALK is not set | 285 | # CONFIG_ATALK is not set |
281 | # CONFIG_X25 is not set | 286 | # CONFIG_X25 is not set |
282 | # CONFIG_LAPB is not set | 287 | # CONFIG_LAPB is not set |
283 | |||
284 | # | ||
285 | # TIPC Configuration (EXPERIMENTAL) | ||
286 | # | ||
287 | # CONFIG_TIPC is not set | ||
288 | # CONFIG_NET_DIVERT is not set | 288 | # CONFIG_NET_DIVERT is not set |
289 | # CONFIG_ECONET is not set | 289 | # CONFIG_ECONET is not set |
290 | # CONFIG_WAN_ROUTER is not set | 290 | # CONFIG_WAN_ROUTER is not set |
@@ -305,6 +305,9 @@ CONFIG_IEEE80211=m | |||
305 | # CONFIG_IEEE80211_DEBUG is not set | 305 | # CONFIG_IEEE80211_DEBUG is not set |
306 | CONFIG_IEEE80211_CRYPT_WEP=m | 306 | CONFIG_IEEE80211_CRYPT_WEP=m |
307 | CONFIG_IEEE80211_CRYPT_CCMP=m | 307 | CONFIG_IEEE80211_CRYPT_CCMP=m |
308 | CONFIG_IEEE80211_SOFTMAC=m | ||
309 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
310 | CONFIG_WIRELESS_EXT=y | ||
308 | 311 | ||
309 | # | 312 | # |
310 | # Device Drivers | 313 | # Device Drivers |
@@ -345,7 +348,7 @@ CONFIG_BLK_DEV_LOOP=m | |||
345 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 348 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
346 | # CONFIG_BLK_DEV_NBD is not set | 349 | # CONFIG_BLK_DEV_NBD is not set |
347 | # CONFIG_BLK_DEV_RAM is not set | 350 | # CONFIG_BLK_DEV_RAM is not set |
348 | CONFIG_BLK_DEV_RAM_COUNT=16 | 351 | # CONFIG_BLK_DEV_INITRD is not set |
349 | # CONFIG_CDROM_PKTCDVD is not set | 352 | # CONFIG_CDROM_PKTCDVD is not set |
350 | # CONFIG_ATA_OVER_ETH is not set | 353 | # CONFIG_ATA_OVER_ETH is not set |
351 | 354 | ||
@@ -567,10 +570,6 @@ CONFIG_RTC=y | |||
567 | # | 570 | # |
568 | 571 | ||
569 | # | 572 | # |
570 | # Multimedia Capabilities Port drivers | ||
571 | # | ||
572 | |||
573 | # | ||
574 | # Multimedia devices | 573 | # Multimedia devices |
575 | # | 574 | # |
576 | # CONFIG_VIDEO_DEV is not set | 575 | # CONFIG_VIDEO_DEV is not set |
@@ -588,6 +587,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
588 | CONFIG_FB_CFB_COPYAREA=y | 587 | CONFIG_FB_CFB_COPYAREA=y |
589 | CONFIG_FB_CFB_IMAGEBLIT=y | 588 | CONFIG_FB_CFB_IMAGEBLIT=y |
590 | # CONFIG_FB_MACMODES is not set | 589 | # CONFIG_FB_MACMODES is not set |
590 | CONFIG_FB_FIRMWARE_EDID=y | ||
591 | # CONFIG_FB_MODE_HELPERS is not set | 591 | # CONFIG_FB_MODE_HELPERS is not set |
592 | # CONFIG_FB_TILEBLITTING is not set | 592 | # CONFIG_FB_TILEBLITTING is not set |
593 | # CONFIG_FB_S1D13XXX is not set | 593 | # CONFIG_FB_S1D13XXX is not set |
@@ -617,6 +617,7 @@ CONFIG_LOGO_DEC_CLUT224=y | |||
617 | # | 617 | # |
618 | # CONFIG_USB_ARCH_HAS_HCD is not set | 618 | # CONFIG_USB_ARCH_HAS_HCD is not set |
619 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 619 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
620 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
620 | 621 | ||
621 | # | 622 | # |
622 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 623 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -633,12 +634,30 @@ CONFIG_LOGO_DEC_CLUT224=y | |||
633 | # CONFIG_MMC is not set | 634 | # CONFIG_MMC is not set |
634 | 635 | ||
635 | # | 636 | # |
637 | # LED devices | ||
638 | # | ||
639 | # CONFIG_NEW_LEDS is not set | ||
640 | |||
641 | # | ||
642 | # LED drivers | ||
643 | # | ||
644 | |||
645 | # | ||
646 | # LED Triggers | ||
647 | # | ||
648 | |||
649 | # | ||
636 | # InfiniBand support | 650 | # InfiniBand support |
637 | # | 651 | # |
638 | 652 | ||
639 | # | 653 | # |
640 | # SN Devices | 654 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
655 | # | ||
656 | |||
657 | # | ||
658 | # Real Time Clock | ||
641 | # | 659 | # |
660 | # CONFIG_RTC_CLASS is not set | ||
642 | 661 | ||
643 | # | 662 | # |
644 | # File systems | 663 | # File systems |
@@ -686,7 +705,6 @@ CONFIG_SYSFS=y | |||
686 | CONFIG_TMPFS=y | 705 | CONFIG_TMPFS=y |
687 | # CONFIG_HUGETLB_PAGE is not set | 706 | # CONFIG_HUGETLB_PAGE is not set |
688 | CONFIG_RAMFS=y | 707 | CONFIG_RAMFS=y |
689 | CONFIG_RELAYFS_FS=m | ||
690 | # CONFIG_CONFIGFS_FS is not set | 708 | # CONFIG_CONFIGFS_FS is not set |
691 | 709 | ||
692 | # | 710 | # |
@@ -705,7 +723,6 @@ CONFIG_RELAYFS_FS=m | |||
705 | # CONFIG_QNX4FS_FS is not set | 723 | # CONFIG_QNX4FS_FS is not set |
706 | # CONFIG_SYSV_FS is not set | 724 | # CONFIG_SYSV_FS is not set |
707 | CONFIG_UFS_FS=y | 725 | CONFIG_UFS_FS=y |
708 | CONFIG_UFS_FS_WRITE=y | ||
709 | 726 | ||
710 | # | 727 | # |
711 | # Network File Systems | 728 | # Network File Systems |
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig index 8fbfc06a6a2a..0760f4318910 100644 --- a/arch/mips/configs/e55_defconfig +++ b/arch/mips/configs/e55_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:04 2006 | 4 | # Tue Apr 25 00:08:20 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -70,6 +70,8 @@ CONFIG_CASIO_E55=y | |||
70 | # CONFIG_VICTOR_MPC30X is not set | 70 | # CONFIG_VICTOR_MPC30X is not set |
71 | # CONFIG_ZAO_CAPCELLA is not set | 71 | # CONFIG_ZAO_CAPCELLA is not set |
72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
74 | CONFIG_GENERIC_HWEIGHT=y | ||
73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
74 | CONFIG_DMA_NONCOHERENT=y | 76 | CONFIG_DMA_NONCOHERENT=y |
75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -88,7 +90,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
88 | # CONFIG_CPU_MIPS64_R2 is not set | 90 | # CONFIG_CPU_MIPS64_R2 is not set |
89 | # CONFIG_CPU_R3000 is not set | 91 | # CONFIG_CPU_R3000 is not set |
90 | # CONFIG_CPU_TX39XX is not set | 92 | # CONFIG_CPU_TX39XX is not set |
91 | # CONFIG_CPU_VR41XX is not set | 93 | CONFIG_CPU_VR41XX=y |
92 | # CONFIG_CPU_R4300 is not set | 94 | # CONFIG_CPU_R4300 is not set |
93 | # CONFIG_CPU_R4X00 is not set | 95 | # CONFIG_CPU_R4X00 is not set |
94 | # CONFIG_CPU_TX49XX is not set | 96 | # CONFIG_CPU_TX49XX is not set |
@@ -101,18 +103,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
101 | # CONFIG_CPU_RM7000 is not set | 103 | # CONFIG_CPU_RM7000 is not set |
102 | # CONFIG_CPU_RM9000 is not set | 104 | # CONFIG_CPU_RM9000 is not set |
103 | # CONFIG_CPU_SB1 is not set | 105 | # CONFIG_CPU_SB1 is not set |
106 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
107 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
108 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
109 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
104 | 110 | ||
105 | # | 111 | # |
106 | # Kernel type | 112 | # Kernel type |
107 | # | 113 | # |
108 | # CONFIG_32BIT is not set | 114 | CONFIG_32BIT=y |
109 | # CONFIG_64BIT is not set | 115 | # CONFIG_64BIT is not set |
110 | CONFIG_PAGE_SIZE_4KB=y | 116 | CONFIG_PAGE_SIZE_4KB=y |
111 | # CONFIG_PAGE_SIZE_8KB is not set | 117 | # CONFIG_PAGE_SIZE_8KB is not set |
112 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | # CONFIG_MIPS_MT is not set | 120 | # CONFIG_MIPS_MT is not set |
115 | CONFIG_CPU_HAS_LLSC=y | ||
116 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
117 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
118 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -133,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
133 | # Code maturity level options | 138 | # Code maturity level options |
134 | # | 139 | # |
135 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
136 | CONFIG_CLEAN_COMPILE=y | ||
137 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
139 | 143 | ||
@@ -144,11 +148,10 @@ CONFIG_LOCALVERSION="" | |||
144 | CONFIG_LOCALVERSION_AUTO=y | 148 | CONFIG_LOCALVERSION_AUTO=y |
145 | CONFIG_SWAP=y | 149 | CONFIG_SWAP=y |
146 | CONFIG_SYSVIPC=y | 150 | CONFIG_SYSVIPC=y |
147 | # CONFIG_POSIX_MQUEUE is not set | ||
148 | # CONFIG_BSD_PROCESS_ACCT is not set | 151 | # CONFIG_BSD_PROCESS_ACCT is not set |
149 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y |
150 | # CONFIG_AUDIT is not set | ||
151 | # CONFIG_IKCONFIG is not set | 153 | # CONFIG_IKCONFIG is not set |
154 | # CONFIG_RELAY is not set | ||
152 | CONFIG_INITRAMFS_SOURCE="" | 155 | CONFIG_INITRAMFS_SOURCE="" |
153 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
154 | CONFIG_EMBEDDED=y | 157 | CONFIG_EMBEDDED=y |
@@ -162,10 +165,6 @@ CONFIG_BASE_FULL=y | |||
162 | CONFIG_FUTEX=y | 165 | CONFIG_FUTEX=y |
163 | CONFIG_EPOLL=y | 166 | CONFIG_EPOLL=y |
164 | CONFIG_SHMEM=y | 167 | CONFIG_SHMEM=y |
165 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
166 | CONFIG_CC_ALIGN_LABELS=0 | ||
167 | CONFIG_CC_ALIGN_LOOPS=0 | ||
168 | CONFIG_CC_ALIGN_JUMPS=0 | ||
169 | CONFIG_SLAB=y | 168 | CONFIG_SLAB=y |
170 | # CONFIG_TINY_SHMEM is not set | 169 | # CONFIG_TINY_SHMEM is not set |
171 | CONFIG_BASE_SMALL=0 | 170 | CONFIG_BASE_SMALL=0 |
@@ -177,7 +176,6 @@ CONFIG_BASE_SMALL=0 | |||
177 | CONFIG_MODULES=y | 176 | CONFIG_MODULES=y |
178 | CONFIG_MODULE_UNLOAD=y | 177 | CONFIG_MODULE_UNLOAD=y |
179 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 178 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
180 | CONFIG_OBSOLETE_MODPARM=y | ||
181 | CONFIG_MODVERSIONS=y | 179 | CONFIG_MODVERSIONS=y |
182 | CONFIG_MODULE_SRCVERSION_ALL=y | 180 | CONFIG_MODULE_SRCVERSION_ALL=y |
183 | CONFIG_KMOD=y | 181 | CONFIG_KMOD=y |
@@ -185,6 +183,9 @@ CONFIG_KMOD=y | |||
185 | # | 183 | # |
186 | # Block layer | 184 | # Block layer |
187 | # | 185 | # |
186 | # CONFIG_LBD is not set | ||
187 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
188 | # CONFIG_LSF is not set | ||
188 | 189 | ||
189 | # | 190 | # |
190 | # IO Schedulers | 191 | # IO Schedulers |
@@ -219,85 +220,12 @@ CONFIG_MMU=y | |||
219 | # | 220 | # |
220 | CONFIG_BINFMT_ELF=y | 221 | CONFIG_BINFMT_ELF=y |
221 | # CONFIG_BINFMT_MISC is not set | 222 | # CONFIG_BINFMT_MISC is not set |
223 | CONFIG_TRAD_SIGNALS=y | ||
222 | 224 | ||
223 | # | 225 | # |
224 | # Networking | 226 | # Networking |
225 | # | 227 | # |
226 | CONFIG_NET=y | 228 | # CONFIG_NET is not set |
227 | |||
228 | # | ||
229 | # Networking options | ||
230 | # | ||
231 | CONFIG_PACKET=y | ||
232 | CONFIG_PACKET_MMAP=y | ||
233 | CONFIG_UNIX=y | ||
234 | CONFIG_XFRM=y | ||
235 | CONFIG_XFRM_USER=m | ||
236 | CONFIG_NET_KEY=y | ||
237 | CONFIG_INET=y | ||
238 | CONFIG_IP_MULTICAST=y | ||
239 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
240 | CONFIG_IP_FIB_HASH=y | ||
241 | # CONFIG_IP_PNP is not set | ||
242 | # CONFIG_NET_IPIP is not set | ||
243 | # CONFIG_NET_IPGRE is not set | ||
244 | # CONFIG_IP_MROUTE is not set | ||
245 | # CONFIG_ARPD is not set | ||
246 | # CONFIG_SYN_COOKIES is not set | ||
247 | # CONFIG_INET_AH is not set | ||
248 | # CONFIG_INET_ESP is not set | ||
249 | # CONFIG_INET_IPCOMP is not set | ||
250 | CONFIG_INET_TUNNEL=m | ||
251 | CONFIG_INET_DIAG=y | ||
252 | CONFIG_INET_TCP_DIAG=y | ||
253 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
254 | CONFIG_TCP_CONG_BIC=y | ||
255 | # CONFIG_IPV6 is not set | ||
256 | # CONFIG_NETFILTER is not set | ||
257 | |||
258 | # | ||
259 | # DCCP Configuration (EXPERIMENTAL) | ||
260 | # | ||
261 | # CONFIG_IP_DCCP is not set | ||
262 | |||
263 | # | ||
264 | # SCTP Configuration (EXPERIMENTAL) | ||
265 | # | ||
266 | # CONFIG_IP_SCTP is not set | ||
267 | # CONFIG_ATM is not set | ||
268 | # CONFIG_BRIDGE is not set | ||
269 | # CONFIG_VLAN_8021Q is not set | ||
270 | # CONFIG_DECNET is not set | ||
271 | # CONFIG_LLC2 is not set | ||
272 | # CONFIG_IPX is not set | ||
273 | # CONFIG_ATALK is not set | ||
274 | # CONFIG_X25 is not set | ||
275 | # CONFIG_LAPB is not set | ||
276 | |||
277 | # | ||
278 | # TIPC Configuration (EXPERIMENTAL) | ||
279 | # | ||
280 | # CONFIG_TIPC is not set | ||
281 | # CONFIG_NET_DIVERT is not set | ||
282 | # CONFIG_ECONET is not set | ||
283 | # CONFIG_WAN_ROUTER is not set | ||
284 | |||
285 | # | ||
286 | # QoS and/or fair queueing | ||
287 | # | ||
288 | # CONFIG_NET_SCHED is not set | ||
289 | |||
290 | # | ||
291 | # Network testing | ||
292 | # | ||
293 | # CONFIG_NET_PKTGEN is not set | ||
294 | # CONFIG_HAMRADIO is not set | ||
295 | # CONFIG_IRDA is not set | ||
296 | # CONFIG_BT is not set | ||
297 | CONFIG_IEEE80211=m | ||
298 | # CONFIG_IEEE80211_DEBUG is not set | ||
299 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
300 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
301 | 229 | ||
302 | # | 230 | # |
303 | # Device Drivers | 231 | # Device Drivers |
@@ -313,7 +241,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
313 | # | 241 | # |
314 | # Connector - unified userspace <-> kernelspace linker | 242 | # Connector - unified userspace <-> kernelspace linker |
315 | # | 243 | # |
316 | CONFIG_CONNECTOR=m | ||
317 | 244 | ||
318 | # | 245 | # |
319 | # Memory Technology Devices (MTD) | 246 | # Memory Technology Devices (MTD) |
@@ -335,11 +262,11 @@ CONFIG_CONNECTOR=m | |||
335 | # | 262 | # |
336 | # CONFIG_BLK_DEV_COW_COMMON is not set | 263 | # CONFIG_BLK_DEV_COW_COMMON is not set |
337 | # CONFIG_BLK_DEV_LOOP is not set | 264 | # CONFIG_BLK_DEV_LOOP is not set |
338 | # CONFIG_BLK_DEV_NBD is not set | 265 | CONFIG_BLK_DEV_RAM=m |
339 | # CONFIG_BLK_DEV_RAM is not set | ||
340 | CONFIG_BLK_DEV_RAM_COUNT=16 | 266 | CONFIG_BLK_DEV_RAM_COUNT=16 |
267 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
268 | # CONFIG_BLK_DEV_INITRD is not set | ||
341 | # CONFIG_CDROM_PKTCDVD is not set | 269 | # CONFIG_CDROM_PKTCDVD is not set |
342 | # CONFIG_ATA_OVER_ETH is not set | ||
343 | 270 | ||
344 | # | 271 | # |
345 | # ATA/ATAPI/MFM/RLL support | 272 | # ATA/ATAPI/MFM/RLL support |
@@ -398,81 +325,8 @@ CONFIG_IDE_GENERIC=y | |||
398 | # | 325 | # |
399 | 326 | ||
400 | # | 327 | # |
401 | # Network device support | ||
402 | # | ||
403 | CONFIG_NETDEVICES=y | ||
404 | # CONFIG_DUMMY is not set | ||
405 | # CONFIG_BONDING is not set | ||
406 | # CONFIG_EQUALIZER is not set | ||
407 | # CONFIG_TUN is not set | ||
408 | |||
409 | # | ||
410 | # ARCnet devices | ||
411 | # | ||
412 | # CONFIG_ARCNET is not set | ||
413 | |||
414 | # | ||
415 | # PHY device support | ||
416 | # | ||
417 | CONFIG_PHYLIB=m | ||
418 | |||
419 | # | ||
420 | # MII PHY device drivers | ||
421 | # | ||
422 | CONFIG_MARVELL_PHY=m | ||
423 | CONFIG_DAVICOM_PHY=m | ||
424 | CONFIG_QSEMI_PHY=m | ||
425 | CONFIG_LXT_PHY=m | ||
426 | CONFIG_CICADA_PHY=m | ||
427 | |||
428 | # | ||
429 | # Ethernet (10 or 100Mbit) | ||
430 | # | ||
431 | CONFIG_NET_ETHERNET=y | ||
432 | # CONFIG_MII is not set | ||
433 | # CONFIG_NET_VENDOR_3COM is not set | ||
434 | # CONFIG_NET_VENDOR_SMC is not set | ||
435 | # CONFIG_DM9000 is not set | ||
436 | # CONFIG_NET_VENDOR_RACAL is not set | ||
437 | # CONFIG_AT1700 is not set | ||
438 | # CONFIG_DEPCA is not set | ||
439 | # CONFIG_HP100 is not set | ||
440 | # CONFIG_NET_ISA is not set | ||
441 | # CONFIG_NET_PCI is not set | ||
442 | |||
443 | # | ||
444 | # Ethernet (1000 Mbit) | ||
445 | # | ||
446 | |||
447 | # | ||
448 | # Ethernet (10000 Mbit) | ||
449 | # | ||
450 | |||
451 | # | ||
452 | # Token Ring devices | ||
453 | # | ||
454 | # CONFIG_TR is not set | ||
455 | |||
456 | # | ||
457 | # Wireless LAN (non-hamradio) | ||
458 | # | ||
459 | # CONFIG_NET_RADIO is not set | ||
460 | |||
461 | # | ||
462 | # Wan interfaces | ||
463 | # | ||
464 | # CONFIG_WAN is not set | ||
465 | # CONFIG_PPP is not set | ||
466 | # CONFIG_SLIP is not set | ||
467 | # CONFIG_SHAPER is not set | ||
468 | # CONFIG_NETCONSOLE is not set | ||
469 | # CONFIG_NETPOLL is not set | ||
470 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
471 | |||
472 | # | ||
473 | # ISDN subsystem | 328 | # ISDN subsystem |
474 | # | 329 | # |
475 | # CONFIG_ISDN is not set | ||
476 | 330 | ||
477 | # | 331 | # |
478 | # Telephony Support | 332 | # Telephony Support |
@@ -508,11 +362,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 | |||
508 | # | 362 | # |
509 | # Hardware I/O ports | 363 | # Hardware I/O ports |
510 | # | 364 | # |
511 | CONFIG_SERIO=y | 365 | # CONFIG_SERIO is not set |
512 | # CONFIG_SERIO_I8042 is not set | ||
513 | CONFIG_SERIO_SERPORT=y | ||
514 | # CONFIG_SERIO_LIBPS2 is not set | ||
515 | CONFIG_SERIO_RAW=m | ||
516 | # CONFIG_GAMEPORT is not set | 366 | # CONFIG_GAMEPORT is not set |
517 | 367 | ||
518 | # | 368 | # |
@@ -531,6 +381,10 @@ CONFIG_HW_CONSOLE=y | |||
531 | # | 381 | # |
532 | # Non-8250 serial port support | 382 | # Non-8250 serial port support |
533 | # | 383 | # |
384 | CONFIG_SERIAL_CORE=y | ||
385 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
386 | CONFIG_SERIAL_VR41XX=y | ||
387 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
534 | CONFIG_UNIX98_PTYS=y | 388 | CONFIG_UNIX98_PTYS=y |
535 | CONFIG_LEGACY_PTYS=y | 389 | CONFIG_LEGACY_PTYS=y |
536 | CONFIG_LEGACY_PTY_COUNT=256 | 390 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -565,6 +419,7 @@ CONFIG_WATCHDOG=y | |||
565 | # | 419 | # |
566 | # Ftape, the floppy tape device driver | 420 | # Ftape, the floppy tape device driver |
567 | # | 421 | # |
422 | CONFIG_GPIO_VR41XX=y | ||
568 | # CONFIG_RAW_DRIVER is not set | 423 | # CONFIG_RAW_DRIVER is not set |
569 | 424 | ||
570 | # | 425 | # |
@@ -600,10 +455,6 @@ CONFIG_WATCHDOG=y | |||
600 | # | 455 | # |
601 | 456 | ||
602 | # | 457 | # |
603 | # Multimedia Capabilities Port drivers | ||
604 | # | ||
605 | |||
606 | # | ||
607 | # Multimedia devices | 458 | # Multimedia devices |
608 | # | 459 | # |
609 | # CONFIG_VIDEO_DEV is not set | 460 | # CONFIG_VIDEO_DEV is not set |
@@ -611,7 +462,6 @@ CONFIG_WATCHDOG=y | |||
611 | # | 462 | # |
612 | # Digital Video Broadcasting Devices | 463 | # Digital Video Broadcasting Devices |
613 | # | 464 | # |
614 | # CONFIG_DVB is not set | ||
615 | 465 | ||
616 | # | 466 | # |
617 | # Graphics support | 467 | # Graphics support |
@@ -635,6 +485,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
635 | # | 485 | # |
636 | # CONFIG_USB_ARCH_HAS_HCD is not set | 486 | # CONFIG_USB_ARCH_HAS_HCD is not set |
637 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 487 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
488 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
638 | 489 | ||
639 | # | 490 | # |
640 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 491 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -651,12 +502,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
651 | # CONFIG_MMC is not set | 502 | # CONFIG_MMC is not set |
652 | 503 | ||
653 | # | 504 | # |
505 | # LED devices | ||
506 | # | ||
507 | # CONFIG_NEW_LEDS is not set | ||
508 | |||
509 | # | ||
510 | # LED drivers | ||
511 | # | ||
512 | |||
513 | # | ||
514 | # LED Triggers | ||
515 | # | ||
516 | |||
517 | # | ||
654 | # InfiniBand support | 518 | # InfiniBand support |
655 | # | 519 | # |
656 | 520 | ||
657 | # | 521 | # |
658 | # SN Devices | 522 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
523 | # | ||
524 | |||
525 | # | ||
526 | # Real Time Clock | ||
659 | # | 527 | # |
528 | # CONFIG_RTC_CLASS is not set | ||
660 | 529 | ||
661 | # | 530 | # |
662 | # File systems | 531 | # File systems |
@@ -669,13 +538,12 @@ CONFIG_EXT2_FS=y | |||
669 | # CONFIG_JFS_FS is not set | 538 | # CONFIG_JFS_FS is not set |
670 | # CONFIG_FS_POSIX_ACL is not set | 539 | # CONFIG_FS_POSIX_ACL is not set |
671 | # CONFIG_XFS_FS is not set | 540 | # CONFIG_XFS_FS is not set |
672 | # CONFIG_OCFS2_FS is not set | ||
673 | # CONFIG_MINIX_FS is not set | 541 | # CONFIG_MINIX_FS is not set |
674 | # CONFIG_ROMFS_FS is not set | 542 | # CONFIG_ROMFS_FS is not set |
675 | CONFIG_INOTIFY=y | 543 | CONFIG_INOTIFY=y |
676 | # CONFIG_QUOTA is not set | 544 | # CONFIG_QUOTA is not set |
677 | CONFIG_DNOTIFY=y | 545 | CONFIG_DNOTIFY=y |
678 | CONFIG_AUTOFS_FS=y | 546 | # CONFIG_AUTOFS_FS is not set |
679 | CONFIG_AUTOFS4_FS=y | 547 | CONFIG_AUTOFS4_FS=y |
680 | CONFIG_FUSE_FS=m | 548 | CONFIG_FUSE_FS=m |
681 | 549 | ||
@@ -698,10 +566,9 @@ CONFIG_FUSE_FS=m | |||
698 | CONFIG_PROC_FS=y | 566 | CONFIG_PROC_FS=y |
699 | CONFIG_PROC_KCORE=y | 567 | CONFIG_PROC_KCORE=y |
700 | CONFIG_SYSFS=y | 568 | CONFIG_SYSFS=y |
701 | # CONFIG_TMPFS is not set | 569 | CONFIG_TMPFS=y |
702 | # CONFIG_HUGETLB_PAGE is not set | 570 | # CONFIG_HUGETLB_PAGE is not set |
703 | CONFIG_RAMFS=y | 571 | CONFIG_RAMFS=y |
704 | CONFIG_RELAYFS_FS=m | ||
705 | # CONFIG_CONFIGFS_FS is not set | 572 | # CONFIG_CONFIGFS_FS is not set |
706 | 573 | ||
707 | # | 574 | # |
@@ -722,29 +589,6 @@ CONFIG_RELAYFS_FS=m | |||
722 | # CONFIG_UFS_FS is not set | 589 | # CONFIG_UFS_FS is not set |
723 | 590 | ||
724 | # | 591 | # |
725 | # Network File Systems | ||
726 | # | ||
727 | CONFIG_NFS_FS=m | ||
728 | # CONFIG_NFS_V3 is not set | ||
729 | # CONFIG_NFS_V4 is not set | ||
730 | # CONFIG_NFS_DIRECTIO is not set | ||
731 | CONFIG_NFSD=m | ||
732 | # CONFIG_NFSD_V3 is not set | ||
733 | # CONFIG_NFSD_TCP is not set | ||
734 | CONFIG_LOCKD=m | ||
735 | CONFIG_EXPORTFS=m | ||
736 | CONFIG_NFS_COMMON=y | ||
737 | CONFIG_SUNRPC=m | ||
738 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
739 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
740 | # CONFIG_SMB_FS is not set | ||
741 | # CONFIG_CIFS is not set | ||
742 | # CONFIG_NCP_FS is not set | ||
743 | # CONFIG_CODA_FS is not set | ||
744 | # CONFIG_AFS_FS is not set | ||
745 | # CONFIG_9P_FS is not set | ||
746 | |||
747 | # | ||
748 | # Partition Types | 592 | # Partition Types |
749 | # | 593 | # |
750 | # CONFIG_PARTITION_ADVANCED is not set | 594 | # CONFIG_PARTITION_ADVANCED is not set |
@@ -767,44 +611,20 @@ CONFIG_MSDOS_PARTITION=y | |||
767 | # CONFIG_MAGIC_SYSRQ is not set | 611 | # CONFIG_MAGIC_SYSRQ is not set |
768 | # CONFIG_DEBUG_KERNEL is not set | 612 | # CONFIG_DEBUG_KERNEL is not set |
769 | CONFIG_LOG_BUF_SHIFT=14 | 613 | CONFIG_LOG_BUF_SHIFT=14 |
614 | # CONFIG_DEBUG_FS is not set | ||
770 | CONFIG_CROSSCOMPILE=y | 615 | CONFIG_CROSSCOMPILE=y |
771 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M" | 616 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M" |
772 | 617 | ||
773 | # | 618 | # |
774 | # Security options | 619 | # Security options |
775 | # | 620 | # |
776 | CONFIG_KEYS=y | 621 | # CONFIG_KEYS is not set |
777 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
778 | # CONFIG_SECURITY is not set | 622 | # CONFIG_SECURITY is not set |
779 | 623 | ||
780 | # | 624 | # |
781 | # Cryptographic options | 625 | # Cryptographic options |
782 | # | 626 | # |
783 | CONFIG_CRYPTO=y | 627 | # CONFIG_CRYPTO is not set |
784 | CONFIG_CRYPTO_HMAC=y | ||
785 | CONFIG_CRYPTO_NULL=m | ||
786 | CONFIG_CRYPTO_MD4=m | ||
787 | CONFIG_CRYPTO_MD5=m | ||
788 | CONFIG_CRYPTO_SHA1=m | ||
789 | CONFIG_CRYPTO_SHA256=m | ||
790 | CONFIG_CRYPTO_SHA512=m | ||
791 | CONFIG_CRYPTO_WP512=m | ||
792 | CONFIG_CRYPTO_TGR192=m | ||
793 | CONFIG_CRYPTO_DES=m | ||
794 | CONFIG_CRYPTO_BLOWFISH=m | ||
795 | CONFIG_CRYPTO_TWOFISH=m | ||
796 | CONFIG_CRYPTO_SERPENT=m | ||
797 | CONFIG_CRYPTO_AES=m | ||
798 | CONFIG_CRYPTO_CAST5=m | ||
799 | CONFIG_CRYPTO_CAST6=m | ||
800 | CONFIG_CRYPTO_TEA=m | ||
801 | CONFIG_CRYPTO_ARC4=m | ||
802 | CONFIG_CRYPTO_KHAZAD=m | ||
803 | CONFIG_CRYPTO_ANUBIS=m | ||
804 | CONFIG_CRYPTO_DEFLATE=m | ||
805 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
806 | CONFIG_CRYPTO_CRC32C=m | ||
807 | # CONFIG_CRYPTO_TEST is not set | ||
808 | 628 | ||
809 | # | 629 | # |
810 | # Hardware crypto devices | 630 | # Hardware crypto devices |
@@ -814,8 +634,6 @@ CONFIG_CRYPTO_CRC32C=m | |||
814 | # Library routines | 634 | # Library routines |
815 | # | 635 | # |
816 | # CONFIG_CRC_CCITT is not set | 636 | # CONFIG_CRC_CCITT is not set |
817 | CONFIG_CRC16=m | 637 | # CONFIG_CRC16 is not set |
818 | CONFIG_CRC32=m | 638 | # CONFIG_CRC32 is not set |
819 | CONFIG_LIBCRC32C=m | 639 | # CONFIG_LIBCRC32C is not set |
820 | CONFIG_ZLIB_INFLATE=m | ||
821 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig index f2d43be69007..7067f608b22c 100644 --- a/arch/mips/configs/ev64120_defconfig +++ b/arch/mips/configs/ev64120_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:05 2006 | 4 | # Mon Apr 24 14:51:02 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -65,6 +65,8 @@ CONFIG_MIPS_EV64120=y | |||
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | # CONFIG_EVB_PCI1 is not set | 66 | # CONFIG_EVB_PCI1 is not set |
67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -116,7 +118,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
116 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set |
118 | # CONFIG_64BIT_PHYS_ADDR is not set | 120 | # CONFIG_64BIT_PHYS_ADDR is not set |
119 | # CONFIG_CPU_ADVANCED is not set | ||
120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y |
121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y |
@@ -138,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
138 | # Code maturity level options | 139 | # Code maturity level options |
139 | # | 140 | # |
140 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y |
141 | CONFIG_CLEAN_COMPILE=y | ||
142 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y |
143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
144 | 144 | ||
@@ -154,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
154 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y |
155 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set |
156 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set |
157 | CONFIG_RELAY=y | ||
157 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
159 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -182,7 +179,6 @@ CONFIG_BASE_SMALL=0 | |||
182 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y |
183 | CONFIG_MODULE_UNLOAD=y | 180 | CONFIG_MODULE_UNLOAD=y |
184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
185 | CONFIG_OBSOLETE_MODPARM=y | ||
186 | CONFIG_MODVERSIONS=y | 182 | CONFIG_MODVERSIONS=y |
187 | CONFIG_MODULE_SRCVERSION_ALL=y | 183 | CONFIG_MODULE_SRCVERSION_ALL=y |
188 | # CONFIG_KMOD is not set | 184 | # CONFIG_KMOD is not set |
@@ -191,6 +187,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
191 | # Block layer | 187 | # Block layer |
192 | # | 188 | # |
193 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set |
190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
191 | # CONFIG_LSF is not set | ||
194 | 192 | ||
195 | # | 193 | # |
196 | # IO Schedulers | 194 | # IO Schedulers |
@@ -210,7 +208,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
210 | # | 208 | # |
211 | CONFIG_HW_HAS_PCI=y | 209 | CONFIG_HW_HAS_PCI=y |
212 | CONFIG_PCI=y | 210 | CONFIG_PCI=y |
213 | CONFIG_PCI_LEGACY_PROC=y | ||
214 | CONFIG_MMU=y | 211 | CONFIG_MMU=y |
215 | 212 | ||
216 | # | 213 | # |
@@ -238,6 +235,7 @@ CONFIG_NET=y | |||
238 | # | 235 | # |
239 | # Networking options | 236 | # Networking options |
240 | # | 237 | # |
238 | # CONFIG_NETDEBUG is not set | ||
241 | # CONFIG_PACKET is not set | 239 | # CONFIG_PACKET is not set |
242 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y |
243 | CONFIG_XFRM=y | 241 | CONFIG_XFRM=y |
@@ -258,12 +256,15 @@ CONFIG_IP_PNP=y | |||
258 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set |
259 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set |
260 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set |
261 | CONFIG_INET_TUNNEL=m | 259 | # CONFIG_INET_XFRM_TUNNEL is not set |
260 | # CONFIG_INET_TUNNEL is not set | ||
262 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y |
263 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y |
264 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set |
265 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y |
266 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set |
266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
267 | # CONFIG_INET6_TUNNEL is not set | ||
267 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set |
268 | 269 | ||
269 | # | 270 | # |
@@ -275,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
275 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) |
276 | # | 277 | # |
277 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set |
279 | |||
280 | # | ||
281 | # TIPC Configuration (EXPERIMENTAL) | ||
282 | # | ||
283 | # CONFIG_TIPC is not set | ||
278 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set |
279 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set |
280 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set |
@@ -284,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
284 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set |
285 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set |
286 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set |
287 | |||
288 | # | ||
289 | # TIPC Configuration (EXPERIMENTAL) | ||
290 | # | ||
291 | # CONFIG_TIPC is not set | ||
292 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set |
293 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set |
294 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set |
@@ -309,6 +310,9 @@ CONFIG_IEEE80211=m | |||
309 | # CONFIG_IEEE80211_DEBUG is not set | 310 | # CONFIG_IEEE80211_DEBUG is not set |
310 | CONFIG_IEEE80211_CRYPT_WEP=m | 311 | CONFIG_IEEE80211_CRYPT_WEP=m |
311 | CONFIG_IEEE80211_CRYPT_CCMP=m | 312 | CONFIG_IEEE80211_CRYPT_CCMP=m |
313 | CONFIG_IEEE80211_SOFTMAC=m | ||
314 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
315 | CONFIG_WIRELESS_EXT=y | ||
312 | 316 | ||
313 | # | 317 | # |
314 | # Device Drivers | 318 | # Device Drivers |
@@ -352,7 +356,7 @@ CONFIG_CONNECTOR=m | |||
352 | # CONFIG_BLK_DEV_NBD is not set | 356 | # CONFIG_BLK_DEV_NBD is not set |
353 | # CONFIG_BLK_DEV_SX8 is not set | 357 | # CONFIG_BLK_DEV_SX8 is not set |
354 | # CONFIG_BLK_DEV_RAM is not set | 358 | # CONFIG_BLK_DEV_RAM is not set |
355 | CONFIG_BLK_DEV_RAM_COUNT=16 | 359 | # CONFIG_BLK_DEV_INITRD is not set |
356 | CONFIG_CDROM_PKTCDVD=m | 360 | CONFIG_CDROM_PKTCDVD=m |
357 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 361 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
358 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 362 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -550,6 +554,7 @@ CONFIG_HW_CONSOLE=y | |||
550 | # | 554 | # |
551 | CONFIG_SERIAL_8250=y | 555 | CONFIG_SERIAL_8250=y |
552 | CONFIG_SERIAL_8250_CONSOLE=y | 556 | CONFIG_SERIAL_8250_CONSOLE=y |
557 | CONFIG_SERIAL_8250_PCI=y | ||
553 | CONFIG_SERIAL_8250_NR_UARTS=4 | 558 | CONFIG_SERIAL_8250_NR_UARTS=4 |
554 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 559 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
555 | # CONFIG_SERIAL_8250_EXTENDED is not set | 560 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -559,6 +564,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
559 | # | 564 | # |
560 | CONFIG_SERIAL_CORE=y | 565 | CONFIG_SERIAL_CORE=y |
561 | CONFIG_SERIAL_CORE_CONSOLE=y | 566 | CONFIG_SERIAL_CORE_CONSOLE=y |
567 | # CONFIG_SERIAL_JSM is not set | ||
562 | CONFIG_UNIX98_PTYS=y | 568 | CONFIG_UNIX98_PTYS=y |
563 | CONFIG_LEGACY_PTYS=y | 569 | CONFIG_LEGACY_PTYS=y |
564 | CONFIG_LEGACY_PTY_COUNT=256 | 570 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -617,10 +623,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
617 | # | 623 | # |
618 | 624 | ||
619 | # | 625 | # |
620 | # Multimedia Capabilities Port drivers | ||
621 | # | ||
622 | |||
623 | # | ||
624 | # Multimedia devices | 626 | # Multimedia devices |
625 | # | 627 | # |
626 | # CONFIG_VIDEO_DEV is not set | 628 | # CONFIG_VIDEO_DEV is not set |
@@ -651,6 +653,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
651 | # | 653 | # |
652 | CONFIG_USB_ARCH_HAS_HCD=y | 654 | CONFIG_USB_ARCH_HAS_HCD=y |
653 | CONFIG_USB_ARCH_HAS_OHCI=y | 655 | CONFIG_USB_ARCH_HAS_OHCI=y |
656 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
654 | # CONFIG_USB is not set | 657 | # CONFIG_USB is not set |
655 | 658 | ||
656 | # | 659 | # |
@@ -668,13 +671,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
668 | # CONFIG_MMC is not set | 671 | # CONFIG_MMC is not set |
669 | 672 | ||
670 | # | 673 | # |
674 | # LED devices | ||
675 | # | ||
676 | # CONFIG_NEW_LEDS is not set | ||
677 | |||
678 | # | ||
679 | # LED drivers | ||
680 | # | ||
681 | |||
682 | # | ||
683 | # LED Triggers | ||
684 | # | ||
685 | |||
686 | # | ||
671 | # InfiniBand support | 687 | # InfiniBand support |
672 | # | 688 | # |
673 | # CONFIG_INFINIBAND is not set | 689 | # CONFIG_INFINIBAND is not set |
674 | 690 | ||
675 | # | 691 | # |
676 | # SN Devices | 692 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
693 | # | ||
694 | |||
695 | # | ||
696 | # Real Time Clock | ||
677 | # | 697 | # |
698 | # CONFIG_RTC_CLASS is not set | ||
678 | 699 | ||
679 | # | 700 | # |
680 | # File systems | 701 | # File systems |
@@ -719,7 +740,6 @@ CONFIG_SYSFS=y | |||
719 | # CONFIG_TMPFS is not set | 740 | # CONFIG_TMPFS is not set |
720 | # CONFIG_HUGETLB_PAGE is not set | 741 | # CONFIG_HUGETLB_PAGE is not set |
721 | CONFIG_RAMFS=y | 742 | CONFIG_RAMFS=y |
722 | CONFIG_RELAYFS_FS=m | ||
723 | # CONFIG_CONFIGFS_FS is not set | 743 | # CONFIG_CONFIGFS_FS is not set |
724 | 744 | ||
725 | # | 745 | # |
@@ -783,6 +803,7 @@ CONFIG_MSDOS_PARTITION=y | |||
783 | # CONFIG_MAGIC_SYSRQ is not set | 803 | # CONFIG_MAGIC_SYSRQ is not set |
784 | # CONFIG_DEBUG_KERNEL is not set | 804 | # CONFIG_DEBUG_KERNEL is not set |
785 | CONFIG_LOG_BUF_SHIFT=14 | 805 | CONFIG_LOG_BUF_SHIFT=14 |
806 | # CONFIG_DEBUG_FS is not set | ||
786 | CONFIG_CROSSCOMPILE=y | 807 | CONFIG_CROSSCOMPILE=y |
787 | CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.1.1:/mnt/disk2/fs.gal ip=192.168.1.211:192.168.1.1:::gt::" | 808 | CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.1.1:/mnt/disk2/fs.gal ip=192.168.1.211:192.168.1.1:::gt::" |
788 | 809 | ||
diff --git a/arch/mips/configs/ev96100_defconfig b/arch/mips/configs/ev96100_defconfig index ac5841c4b698..00b56ed0e638 100644 --- a/arch/mips/configs/ev96100_defconfig +++ b/arch/mips/configs/ev96100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:06 2006 | 4 | # Mon Apr 24 14:51:03 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_EV96100=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -119,7 +121,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
119 | CONFIG_CPU_HAS_PREFETCH=y | 121 | CONFIG_CPU_HAS_PREFETCH=y |
120 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set |
121 | # CONFIG_64BIT_PHYS_ADDR is not set | 123 | # CONFIG_64BIT_PHYS_ADDR is not set |
122 | # CONFIG_CPU_ADVANCED is not set | ||
123 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
124 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
125 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y |
@@ -142,7 +143,6 @@ CONFIG_PREEMPT_NONE=y | |||
142 | # Code maturity level options | 143 | # Code maturity level options |
143 | # | 144 | # |
144 | CONFIG_EXPERIMENTAL=y | 145 | CONFIG_EXPERIMENTAL=y |
145 | CONFIG_CLEAN_COMPILE=y | ||
146 | CONFIG_BROKEN_ON_SMP=y | 146 | CONFIG_BROKEN_ON_SMP=y |
147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 147 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
148 | 148 | ||
@@ -158,6 +158,7 @@ CONFIG_SYSVIPC=y | |||
158 | CONFIG_SYSCTL=y | 158 | CONFIG_SYSCTL=y |
159 | # CONFIG_AUDIT is not set | 159 | # CONFIG_AUDIT is not set |
160 | # CONFIG_IKCONFIG is not set | 160 | # CONFIG_IKCONFIG is not set |
161 | CONFIG_RELAY=y | ||
161 | CONFIG_INITRAMFS_SOURCE="" | 162 | CONFIG_INITRAMFS_SOURCE="" |
162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 163 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
163 | CONFIG_EMBEDDED=y | 164 | CONFIG_EMBEDDED=y |
@@ -171,10 +172,6 @@ CONFIG_BASE_FULL=y | |||
171 | CONFIG_FUTEX=y | 172 | CONFIG_FUTEX=y |
172 | CONFIG_EPOLL=y | 173 | CONFIG_EPOLL=y |
173 | CONFIG_SHMEM=y | 174 | CONFIG_SHMEM=y |
174 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
175 | CONFIG_CC_ALIGN_LABELS=0 | ||
176 | CONFIG_CC_ALIGN_LOOPS=0 | ||
177 | CONFIG_CC_ALIGN_JUMPS=0 | ||
178 | CONFIG_SLAB=y | 175 | CONFIG_SLAB=y |
179 | # CONFIG_TINY_SHMEM is not set | 176 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 177 | CONFIG_BASE_SMALL=0 |
@@ -186,7 +183,6 @@ CONFIG_BASE_SMALL=0 | |||
186 | CONFIG_MODULES=y | 183 | CONFIG_MODULES=y |
187 | CONFIG_MODULE_UNLOAD=y | 184 | CONFIG_MODULE_UNLOAD=y |
188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
189 | CONFIG_OBSOLETE_MODPARM=y | ||
190 | CONFIG_MODVERSIONS=y | 186 | CONFIG_MODVERSIONS=y |
191 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y |
192 | # CONFIG_KMOD is not set | 188 | # CONFIG_KMOD is not set |
@@ -195,6 +191,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
195 | # Block layer | 191 | # Block layer |
196 | # | 192 | # |
197 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set |
194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
195 | # CONFIG_LSF is not set | ||
198 | 196 | ||
199 | # | 197 | # |
200 | # IO Schedulers | 198 | # IO Schedulers |
@@ -240,6 +238,7 @@ CONFIG_NET=y | |||
240 | # | 238 | # |
241 | # Networking options | 239 | # Networking options |
242 | # | 240 | # |
241 | # CONFIG_NETDEBUG is not set | ||
243 | # CONFIG_PACKET is not set | 242 | # CONFIG_PACKET is not set |
244 | CONFIG_UNIX=y | 243 | CONFIG_UNIX=y |
245 | CONFIG_XFRM=y | 244 | CONFIG_XFRM=y |
@@ -260,12 +259,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
260 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set |
261 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set |
262 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set |
263 | CONFIG_INET_TUNNEL=m | 262 | # CONFIG_INET_XFRM_TUNNEL is not set |
263 | # CONFIG_INET_TUNNEL is not set | ||
264 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y |
265 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y |
266 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set |
267 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y |
268 | # CONFIG_IPV6 is not set | 268 | # CONFIG_IPV6 is not set |
269 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
270 | # CONFIG_INET6_TUNNEL is not set | ||
269 | # CONFIG_NETFILTER is not set | 271 | # CONFIG_NETFILTER is not set |
270 | 272 | ||
271 | # | 273 | # |
@@ -277,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y | |||
277 | # SCTP Configuration (EXPERIMENTAL) | 279 | # SCTP Configuration (EXPERIMENTAL) |
278 | # | 280 | # |
279 | # CONFIG_IP_SCTP is not set | 281 | # CONFIG_IP_SCTP is not set |
282 | |||
283 | # | ||
284 | # TIPC Configuration (EXPERIMENTAL) | ||
285 | # | ||
286 | # CONFIG_TIPC is not set | ||
280 | # CONFIG_ATM is not set | 287 | # CONFIG_ATM is not set |
281 | # CONFIG_BRIDGE is not set | 288 | # CONFIG_BRIDGE is not set |
282 | # CONFIG_VLAN_8021Q is not set | 289 | # CONFIG_VLAN_8021Q is not set |
@@ -286,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y | |||
286 | # CONFIG_ATALK is not set | 293 | # CONFIG_ATALK is not set |
287 | # CONFIG_X25 is not set | 294 | # CONFIG_X25 is not set |
288 | # CONFIG_LAPB is not set | 295 | # CONFIG_LAPB is not set |
289 | |||
290 | # | ||
291 | # TIPC Configuration (EXPERIMENTAL) | ||
292 | # | ||
293 | # CONFIG_TIPC is not set | ||
294 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set |
295 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set |
296 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set |
@@ -311,6 +313,9 @@ CONFIG_IEEE80211=m | |||
311 | # CONFIG_IEEE80211_DEBUG is not set | 313 | # CONFIG_IEEE80211_DEBUG is not set |
312 | CONFIG_IEEE80211_CRYPT_WEP=m | 314 | CONFIG_IEEE80211_CRYPT_WEP=m |
313 | CONFIG_IEEE80211_CRYPT_CCMP=m | 315 | CONFIG_IEEE80211_CRYPT_CCMP=m |
316 | CONFIG_IEEE80211_SOFTMAC=m | ||
317 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
318 | CONFIG_WIRELESS_EXT=y | ||
314 | 319 | ||
315 | # | 320 | # |
316 | # Device Drivers | 321 | # Device Drivers |
@@ -349,7 +354,7 @@ CONFIG_CONNECTOR=m | |||
349 | # CONFIG_BLK_DEV_LOOP is not set | 354 | # CONFIG_BLK_DEV_LOOP is not set |
350 | # CONFIG_BLK_DEV_NBD is not set | 355 | # CONFIG_BLK_DEV_NBD is not set |
351 | # CONFIG_BLK_DEV_RAM is not set | 356 | # CONFIG_BLK_DEV_RAM is not set |
352 | CONFIG_BLK_DEV_RAM_COUNT=16 | 357 | # CONFIG_BLK_DEV_INITRD is not set |
353 | CONFIG_CDROM_PKTCDVD=m | 358 | CONFIG_CDROM_PKTCDVD=m |
354 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 359 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
355 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 360 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -567,10 +572,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
567 | # | 572 | # |
568 | 573 | ||
569 | # | 574 | # |
570 | # Multimedia Capabilities Port drivers | ||
571 | # | ||
572 | |||
573 | # | ||
574 | # Multimedia devices | 575 | # Multimedia devices |
575 | # | 576 | # |
576 | # CONFIG_VIDEO_DEV is not set | 577 | # CONFIG_VIDEO_DEV is not set |
@@ -601,6 +602,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
601 | # | 602 | # |
602 | # CONFIG_USB_ARCH_HAS_HCD is not set | 603 | # CONFIG_USB_ARCH_HAS_HCD is not set |
603 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 604 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
605 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
604 | 606 | ||
605 | # | 607 | # |
606 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 608 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -617,12 +619,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
617 | # CONFIG_MMC is not set | 619 | # CONFIG_MMC is not set |
618 | 620 | ||
619 | # | 621 | # |
622 | # LED devices | ||
623 | # | ||
624 | # CONFIG_NEW_LEDS is not set | ||
625 | |||
626 | # | ||
627 | # LED drivers | ||
628 | # | ||
629 | |||
630 | # | ||
631 | # LED Triggers | ||
632 | # | ||
633 | |||
634 | # | ||
620 | # InfiniBand support | 635 | # InfiniBand support |
621 | # | 636 | # |
622 | 637 | ||
623 | # | 638 | # |
624 | # SN Devices | 639 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
640 | # | ||
641 | |||
642 | # | ||
643 | # Real Time Clock | ||
625 | # | 644 | # |
645 | # CONFIG_RTC_CLASS is not set | ||
626 | 646 | ||
627 | # | 647 | # |
628 | # File systems | 648 | # File systems |
@@ -667,7 +687,6 @@ CONFIG_SYSFS=y | |||
667 | # CONFIG_TMPFS is not set | 687 | # CONFIG_TMPFS is not set |
668 | # CONFIG_HUGETLB_PAGE is not set | 688 | # CONFIG_HUGETLB_PAGE is not set |
669 | CONFIG_RAMFS=y | 689 | CONFIG_RAMFS=y |
670 | CONFIG_RELAYFS_FS=m | ||
671 | # CONFIG_CONFIGFS_FS is not set | 690 | # CONFIG_CONFIGFS_FS is not set |
672 | 691 | ||
673 | # | 692 | # |
@@ -731,6 +750,7 @@ CONFIG_MSDOS_PARTITION=y | |||
731 | # CONFIG_MAGIC_SYSRQ is not set | 750 | # CONFIG_MAGIC_SYSRQ is not set |
732 | # CONFIG_DEBUG_KERNEL is not set | 751 | # CONFIG_DEBUG_KERNEL is not set |
733 | CONFIG_LOG_BUF_SHIFT=14 | 752 | CONFIG_LOG_BUF_SHIFT=14 |
753 | # CONFIG_DEBUG_FS is not set | ||
734 | CONFIG_CROSSCOMPILE=y | 754 | CONFIG_CROSSCOMPILE=y |
735 | CONFIG_CMDLINE="" | 755 | CONFIG_CMDLINE="" |
736 | 756 | ||
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig index 42d5cd7927cb..607e2985ffe3 100644 --- a/arch/mips/configs/ip22_defconfig +++ b/arch/mips/configs/ip22_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:51 2006 | 4 | # Mon Apr 24 14:50:54 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_SGI_IP22=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
@@ -121,7 +123,6 @@ CONFIG_BOARD_SCACHE=y | |||
121 | CONFIG_IP22_CPU_SCACHE=y | 123 | CONFIG_IP22_CPU_SCACHE=y |
122 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set |
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | # CONFIG_CPU_ADVANCED is not set | ||
125 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
127 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y |
@@ -143,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
143 | # Code maturity level options | 144 | # Code maturity level options |
144 | # | 145 | # |
145 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y |
146 | CONFIG_CLEAN_COMPILE=y | ||
147 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y |
148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
149 | 149 | ||
@@ -160,6 +160,7 @@ CONFIG_SYSCTL=y | |||
160 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set |
161 | CONFIG_IKCONFIG=y | 161 | CONFIG_IKCONFIG=y |
162 | CONFIG_IKCONFIG_PROC=y | 162 | CONFIG_IKCONFIG_PROC=y |
163 | CONFIG_RELAY=y | ||
163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" |
164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
165 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y |
@@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
173 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y |
174 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y |
175 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y |
176 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
177 | CONFIG_CC_ALIGN_LABELS=0 | ||
178 | CONFIG_CC_ALIGN_LOOPS=0 | ||
179 | CONFIG_CC_ALIGN_JUMPS=0 | ||
180 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y |
181 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set |
182 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 |
@@ -188,7 +185,6 @@ CONFIG_BASE_SMALL=0 | |||
188 | CONFIG_MODULES=y | 185 | CONFIG_MODULES=y |
189 | CONFIG_MODULE_UNLOAD=y | 186 | CONFIG_MODULE_UNLOAD=y |
190 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 187 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
191 | CONFIG_OBSOLETE_MODPARM=y | ||
192 | CONFIG_MODVERSIONS=y | 188 | CONFIG_MODVERSIONS=y |
193 | CONFIG_MODULE_SRCVERSION_ALL=y | 189 | CONFIG_MODULE_SRCVERSION_ALL=y |
194 | CONFIG_KMOD=y | 190 | CONFIG_KMOD=y |
@@ -197,6 +193,8 @@ CONFIG_KMOD=y | |||
197 | # Block layer | 193 | # Block layer |
198 | # | 194 | # |
199 | # CONFIG_LBD is not set | 195 | # CONFIG_LBD is not set |
196 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
197 | # CONFIG_LSF is not set | ||
200 | 198 | ||
201 | # | 199 | # |
202 | # IO Schedulers | 200 | # IO Schedulers |
@@ -242,6 +240,7 @@ CONFIG_NET=y | |||
242 | # | 240 | # |
243 | # Networking options | 241 | # Networking options |
244 | # | 242 | # |
243 | # CONFIG_NETDEBUG is not set | ||
245 | CONFIG_PACKET=y | 244 | CONFIG_PACKET=y |
246 | CONFIG_PACKET_MMAP=y | 245 | CONFIG_PACKET_MMAP=y |
247 | CONFIG_UNIX=y | 246 | CONFIG_UNIX=y |
@@ -264,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
264 | CONFIG_INET_AH=m | 263 | CONFIG_INET_AH=m |
265 | CONFIG_INET_ESP=m | 264 | CONFIG_INET_ESP=m |
266 | CONFIG_INET_IPCOMP=m | 265 | CONFIG_INET_IPCOMP=m |
266 | CONFIG_INET_XFRM_TUNNEL=m | ||
267 | CONFIG_INET_TUNNEL=m | 267 | CONFIG_INET_TUNNEL=m |
268 | CONFIG_INET_DIAG=y | 268 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 269 | CONFIG_INET_TCP_DIAG=y |
@@ -305,9 +305,12 @@ CONFIG_IP_VS_NQ=m | |||
305 | CONFIG_IP_VS_FTP=m | 305 | CONFIG_IP_VS_FTP=m |
306 | CONFIG_IPV6=m | 306 | CONFIG_IPV6=m |
307 | CONFIG_IPV6_PRIVACY=y | 307 | CONFIG_IPV6_PRIVACY=y |
308 | CONFIG_IPV6_ROUTER_PREF=y | ||
309 | CONFIG_IPV6_ROUTE_INFO=y | ||
308 | CONFIG_INET6_AH=m | 310 | CONFIG_INET6_AH=m |
309 | CONFIG_INET6_ESP=m | 311 | CONFIG_INET6_ESP=m |
310 | CONFIG_INET6_IPCOMP=m | 312 | CONFIG_INET6_IPCOMP=m |
313 | CONFIG_INET6_XFRM_TUNNEL=m | ||
311 | CONFIG_INET6_TUNNEL=m | 314 | CONFIG_INET6_TUNNEL=m |
312 | CONFIG_IPV6_TUNNEL=m | 315 | CONFIG_IPV6_TUNNEL=m |
313 | CONFIG_NETFILTER=y | 316 | CONFIG_NETFILTER=y |
@@ -330,11 +333,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
330 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 333 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
331 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 334 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
332 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 335 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
336 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
333 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 337 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
334 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 338 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
335 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 339 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
336 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 340 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
337 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 341 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
342 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
343 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
338 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 344 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
339 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 345 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
340 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 346 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -357,20 +363,19 @@ CONFIG_IP_NF_IRC=m | |||
357 | CONFIG_IP_NF_TFTP=m | 363 | CONFIG_IP_NF_TFTP=m |
358 | CONFIG_IP_NF_AMANDA=m | 364 | CONFIG_IP_NF_AMANDA=m |
359 | CONFIG_IP_NF_PPTP=m | 365 | CONFIG_IP_NF_PPTP=m |
366 | CONFIG_IP_NF_H323=m | ||
360 | CONFIG_IP_NF_QUEUE=m | 367 | CONFIG_IP_NF_QUEUE=m |
361 | CONFIG_IP_NF_IPTABLES=m | 368 | CONFIG_IP_NF_IPTABLES=m |
362 | CONFIG_IP_NF_MATCH_IPRANGE=m | 369 | CONFIG_IP_NF_MATCH_IPRANGE=m |
363 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
364 | CONFIG_IP_NF_MATCH_TOS=m | 370 | CONFIG_IP_NF_MATCH_TOS=m |
365 | CONFIG_IP_NF_MATCH_RECENT=m | 371 | CONFIG_IP_NF_MATCH_RECENT=m |
366 | CONFIG_IP_NF_MATCH_ECN=m | 372 | CONFIG_IP_NF_MATCH_ECN=m |
367 | CONFIG_IP_NF_MATCH_DSCP=m | 373 | CONFIG_IP_NF_MATCH_DSCP=m |
368 | CONFIG_IP_NF_MATCH_AH_ESP=m | 374 | CONFIG_IP_NF_MATCH_AH=m |
369 | CONFIG_IP_NF_MATCH_TTL=m | 375 | CONFIG_IP_NF_MATCH_TTL=m |
370 | CONFIG_IP_NF_MATCH_OWNER=m | 376 | CONFIG_IP_NF_MATCH_OWNER=m |
371 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 377 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
372 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 378 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
373 | CONFIG_IP_NF_MATCH_POLICY=m | ||
374 | CONFIG_IP_NF_FILTER=m | 379 | CONFIG_IP_NF_FILTER=m |
375 | CONFIG_IP_NF_TARGET_REJECT=m | 380 | CONFIG_IP_NF_TARGET_REJECT=m |
376 | CONFIG_IP_NF_TARGET_LOG=m | 381 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -388,6 +393,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
388 | CONFIG_IP_NF_NAT_TFTP=m | 393 | CONFIG_IP_NF_NAT_TFTP=m |
389 | CONFIG_IP_NF_NAT_AMANDA=m | 394 | CONFIG_IP_NF_NAT_AMANDA=m |
390 | CONFIG_IP_NF_NAT_PPTP=m | 395 | CONFIG_IP_NF_NAT_PPTP=m |
396 | CONFIG_IP_NF_NAT_H323=m | ||
391 | CONFIG_IP_NF_MANGLE=m | 397 | CONFIG_IP_NF_MANGLE=m |
392 | CONFIG_IP_NF_TARGET_TOS=m | 398 | CONFIG_IP_NF_TARGET_TOS=m |
393 | CONFIG_IP_NF_TARGET_ECN=m | 399 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -408,12 +414,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
408 | CONFIG_IP6_NF_MATCH_OPTS=m | 414 | CONFIG_IP6_NF_MATCH_OPTS=m |
409 | CONFIG_IP6_NF_MATCH_FRAG=m | 415 | CONFIG_IP6_NF_MATCH_FRAG=m |
410 | CONFIG_IP6_NF_MATCH_HL=m | 416 | CONFIG_IP6_NF_MATCH_HL=m |
411 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
412 | CONFIG_IP6_NF_MATCH_OWNER=m | 417 | CONFIG_IP6_NF_MATCH_OWNER=m |
413 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 418 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
414 | CONFIG_IP6_NF_MATCH_AHESP=m | 419 | CONFIG_IP6_NF_MATCH_AH=m |
415 | CONFIG_IP6_NF_MATCH_EUI64=m | 420 | CONFIG_IP6_NF_MATCH_EUI64=m |
416 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
417 | CONFIG_IP6_NF_FILTER=m | 421 | CONFIG_IP6_NF_FILTER=m |
418 | CONFIG_IP6_NF_TARGET_LOG=m | 422 | CONFIG_IP6_NF_TARGET_LOG=m |
419 | CONFIG_IP6_NF_TARGET_REJECT=m | 423 | CONFIG_IP6_NF_TARGET_REJECT=m |
@@ -435,6 +439,11 @@ CONFIG_IP_SCTP=m | |||
435 | # CONFIG_SCTP_HMAC_NONE is not set | 439 | # CONFIG_SCTP_HMAC_NONE is not set |
436 | # CONFIG_SCTP_HMAC_SHA1 is not set | 440 | # CONFIG_SCTP_HMAC_SHA1 is not set |
437 | CONFIG_SCTP_HMAC_MD5=y | 441 | CONFIG_SCTP_HMAC_MD5=y |
442 | |||
443 | # | ||
444 | # TIPC Configuration (EXPERIMENTAL) | ||
445 | # | ||
446 | # CONFIG_TIPC is not set | ||
438 | # CONFIG_ATM is not set | 447 | # CONFIG_ATM is not set |
439 | # CONFIG_BRIDGE is not set | 448 | # CONFIG_BRIDGE is not set |
440 | # CONFIG_VLAN_8021Q is not set | 449 | # CONFIG_VLAN_8021Q is not set |
@@ -444,11 +453,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
444 | # CONFIG_ATALK is not set | 453 | # CONFIG_ATALK is not set |
445 | # CONFIG_X25 is not set | 454 | # CONFIG_X25 is not set |
446 | # CONFIG_LAPB is not set | 455 | # CONFIG_LAPB is not set |
447 | |||
448 | # | ||
449 | # TIPC Configuration (EXPERIMENTAL) | ||
450 | # | ||
451 | # CONFIG_TIPC is not set | ||
452 | CONFIG_NET_DIVERT=y | 456 | CONFIG_NET_DIVERT=y |
453 | # CONFIG_ECONET is not set | 457 | # CONFIG_ECONET is not set |
454 | # CONFIG_WAN_ROUTER is not set | 458 | # CONFIG_WAN_ROUTER is not set |
@@ -508,6 +512,9 @@ CONFIG_IEEE80211=m | |||
508 | # CONFIG_IEEE80211_DEBUG is not set | 512 | # CONFIG_IEEE80211_DEBUG is not set |
509 | CONFIG_IEEE80211_CRYPT_WEP=m | 513 | CONFIG_IEEE80211_CRYPT_WEP=m |
510 | CONFIG_IEEE80211_CRYPT_CCMP=m | 514 | CONFIG_IEEE80211_CRYPT_CCMP=m |
515 | CONFIG_IEEE80211_SOFTMAC=m | ||
516 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
517 | CONFIG_WIRELESS_EXT=y | ||
511 | 518 | ||
512 | # | 519 | # |
513 | # Device Drivers | 520 | # Device Drivers |
@@ -546,7 +553,7 @@ CONFIG_CONNECTOR=m | |||
546 | # CONFIG_BLK_DEV_LOOP is not set | 553 | # CONFIG_BLK_DEV_LOOP is not set |
547 | # CONFIG_BLK_DEV_NBD is not set | 554 | # CONFIG_BLK_DEV_NBD is not set |
548 | # CONFIG_BLK_DEV_RAM is not set | 555 | # CONFIG_BLK_DEV_RAM is not set |
549 | CONFIG_BLK_DEV_RAM_COUNT=16 | 556 | # CONFIG_BLK_DEV_INITRD is not set |
550 | CONFIG_CDROM_PKTCDVD=m | 557 | CONFIG_CDROM_PKTCDVD=m |
551 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 558 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
552 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 559 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -812,10 +819,6 @@ CONFIG_MAX_RAW_DEVS=256 | |||
812 | # | 819 | # |
813 | 820 | ||
814 | # | 821 | # |
815 | # Multimedia Capabilities Port drivers | ||
816 | # | ||
817 | |||
818 | # | ||
819 | # Multimedia devices | 822 | # Multimedia devices |
820 | # | 823 | # |
821 | # CONFIG_VIDEO_DEV is not set | 824 | # CONFIG_VIDEO_DEV is not set |
@@ -857,6 +860,7 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
857 | # | 860 | # |
858 | # CONFIG_USB_ARCH_HAS_HCD is not set | 861 | # CONFIG_USB_ARCH_HAS_HCD is not set |
859 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 862 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
863 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
860 | 864 | ||
861 | # | 865 | # |
862 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 866 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -873,12 +877,30 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
873 | # CONFIG_MMC is not set | 877 | # CONFIG_MMC is not set |
874 | 878 | ||
875 | # | 879 | # |
880 | # LED devices | ||
881 | # | ||
882 | # CONFIG_NEW_LEDS is not set | ||
883 | |||
884 | # | ||
885 | # LED drivers | ||
886 | # | ||
887 | |||
888 | # | ||
889 | # LED Triggers | ||
890 | # | ||
891 | |||
892 | # | ||
876 | # InfiniBand support | 893 | # InfiniBand support |
877 | # | 894 | # |
878 | 895 | ||
879 | # | 896 | # |
880 | # SN Devices | 897 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
898 | # | ||
899 | |||
900 | # | ||
901 | # Real Time Clock | ||
881 | # | 902 | # |
903 | # CONFIG_RTC_CLASS is not set | ||
882 | 904 | ||
883 | # | 905 | # |
884 | # File systems | 906 | # File systems |
@@ -944,7 +966,6 @@ CONFIG_SYSFS=y | |||
944 | # CONFIG_TMPFS is not set | 966 | # CONFIG_TMPFS is not set |
945 | # CONFIG_HUGETLB_PAGE is not set | 967 | # CONFIG_HUGETLB_PAGE is not set |
946 | CONFIG_RAMFS=y | 968 | CONFIG_RAMFS=y |
947 | CONFIG_RELAYFS_FS=m | ||
948 | # CONFIG_CONFIGFS_FS is not set | 969 | # CONFIG_CONFIGFS_FS is not set |
949 | 970 | ||
950 | # | 971 | # |
@@ -963,7 +984,6 @@ CONFIG_EFS_FS=m | |||
963 | # CONFIG_QNX4FS_FS is not set | 984 | # CONFIG_QNX4FS_FS is not set |
964 | # CONFIG_SYSV_FS is not set | 985 | # CONFIG_SYSV_FS is not set |
965 | CONFIG_UFS_FS=m | 986 | CONFIG_UFS_FS=m |
966 | # CONFIG_UFS_FS_WRITE is not set | ||
967 | 987 | ||
968 | # | 988 | # |
969 | # Network File Systems | 989 | # Network File Systems |
@@ -1078,6 +1098,7 @@ CONFIG_NLS_UTF8=m | |||
1078 | # CONFIG_MAGIC_SYSRQ is not set | 1098 | # CONFIG_MAGIC_SYSRQ is not set |
1079 | # CONFIG_DEBUG_KERNEL is not set | 1099 | # CONFIG_DEBUG_KERNEL is not set |
1080 | CONFIG_LOG_BUF_SHIFT=14 | 1100 | CONFIG_LOG_BUF_SHIFT=14 |
1101 | # CONFIG_DEBUG_FS is not set | ||
1081 | CONFIG_CROSSCOMPILE=y | 1102 | CONFIG_CROSSCOMPILE=y |
1082 | CONFIG_CMDLINE="" | 1103 | CONFIG_CMDLINE="" |
1083 | 1104 | ||
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index 8c40590737e1..f724b4b2ecf2 100644 --- a/arch/mips/configs/ip27_defconfig +++ b/arch/mips/configs/ip27_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc4 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Tue Feb 21 13:44:31 2006 | 4 | # Mon Apr 24 14:51:04 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -70,6 +70,8 @@ CONFIG_NUMA=y | |||
70 | # CONFIG_REPLICATE_KTEXT is not set | 70 | # CONFIG_REPLICATE_KTEXT is not set |
71 | # CONFIG_REPLICATE_EXHANDLERS is not set | 71 | # CONFIG_REPLICATE_EXHANDLERS is not set |
72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
74 | CONFIG_GENERIC_HWEIGHT=y | ||
73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
74 | CONFIG_ARC=y | 76 | CONFIG_ARC=y |
75 | CONFIG_DMA_IP27=y | 77 | CONFIG_DMA_IP27=y |
@@ -123,6 +125,7 @@ CONFIG_CPU_HAS_SYNC=y | |||
123 | CONFIG_GENERIC_HARDIRQS=y | 125 | CONFIG_GENERIC_HARDIRQS=y |
124 | CONFIG_GENERIC_IRQ_PROBE=y | 126 | CONFIG_GENERIC_IRQ_PROBE=y |
125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 127 | CONFIG_CPU_SUPPORTS_HIGHMEM=y |
128 | CONFIG_NODES_SHIFT=6 | ||
126 | CONFIG_SELECT_MEMORY_MODEL=y | 129 | CONFIG_SELECT_MEMORY_MODEL=y |
127 | # CONFIG_FLATMEM_MANUAL is not set | 130 | # CONFIG_FLATMEM_MANUAL is not set |
128 | CONFIG_DISCONTIGMEM_MANUAL=y | 131 | CONFIG_DISCONTIGMEM_MANUAL=y |
@@ -162,6 +165,7 @@ CONFIG_SYSCTL=y | |||
162 | CONFIG_IKCONFIG=y | 165 | CONFIG_IKCONFIG=y |
163 | CONFIG_IKCONFIG_PROC=y | 166 | CONFIG_IKCONFIG_PROC=y |
164 | CONFIG_CPUSETS=y | 167 | CONFIG_CPUSETS=y |
168 | CONFIG_RELAY=y | ||
165 | CONFIG_INITRAMFS_SOURCE="" | 169 | CONFIG_INITRAMFS_SOURCE="" |
166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 170 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
167 | CONFIG_EMBEDDED=y | 171 | CONFIG_EMBEDDED=y |
@@ -175,10 +179,6 @@ CONFIG_BASE_FULL=y | |||
175 | CONFIG_FUTEX=y | 179 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 180 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 181 | CONFIG_SHMEM=y |
178 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
179 | CONFIG_CC_ALIGN_LABELS=0 | ||
180 | CONFIG_CC_ALIGN_LOOPS=0 | ||
181 | CONFIG_CC_ALIGN_JUMPS=0 | ||
182 | CONFIG_SLAB=y | 182 | CONFIG_SLAB=y |
183 | # CONFIG_TINY_SHMEM is not set | 183 | # CONFIG_TINY_SHMEM is not set |
184 | CONFIG_BASE_SMALL=0 | 184 | CONFIG_BASE_SMALL=0 |
@@ -190,7 +190,6 @@ CONFIG_BASE_SMALL=0 | |||
190 | CONFIG_MODULES=y | 190 | CONFIG_MODULES=y |
191 | CONFIG_MODULE_UNLOAD=y | 191 | CONFIG_MODULE_UNLOAD=y |
192 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 192 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
193 | CONFIG_OBSOLETE_MODPARM=y | ||
194 | # CONFIG_MODVERSIONS is not set | 193 | # CONFIG_MODVERSIONS is not set |
195 | CONFIG_MODULE_SRCVERSION_ALL=y | 194 | CONFIG_MODULE_SRCVERSION_ALL=y |
196 | CONFIG_KMOD=y | 195 | CONFIG_KMOD=y |
@@ -199,6 +198,7 @@ CONFIG_STOP_MACHINE=y | |||
199 | # | 198 | # |
200 | # Block layer | 199 | # Block layer |
201 | # | 200 | # |
201 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
202 | 202 | ||
203 | # | 203 | # |
204 | # IO Schedulers | 204 | # IO Schedulers |
@@ -219,7 +219,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
219 | CONFIG_HW_HAS_PCI=y | 219 | CONFIG_HW_HAS_PCI=y |
220 | CONFIG_PCI=y | 220 | CONFIG_PCI=y |
221 | CONFIG_PCI_DOMAINS=y | 221 | CONFIG_PCI_DOMAINS=y |
222 | CONFIG_PCI_LEGACY_PROC=y | ||
223 | CONFIG_MMU=y | 222 | CONFIG_MMU=y |
224 | 223 | ||
225 | # | 224 | # |
@@ -237,6 +236,7 @@ CONFIG_MMU=y | |||
237 | # | 236 | # |
238 | CONFIG_BINFMT_ELF=y | 237 | CONFIG_BINFMT_ELF=y |
239 | # CONFIG_BINFMT_MISC is not set | 238 | # CONFIG_BINFMT_MISC is not set |
239 | # CONFIG_BUILD_ELF64 is not set | ||
240 | CONFIG_MIPS32_COMPAT=y | 240 | CONFIG_MIPS32_COMPAT=y |
241 | CONFIG_COMPAT=y | 241 | CONFIG_COMPAT=y |
242 | CONFIG_MIPS32_O32=y | 242 | CONFIG_MIPS32_O32=y |
@@ -274,12 +274,15 @@ CONFIG_IP_PNP=y | |||
274 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set |
275 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set |
276 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
277 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
278 | # CONFIG_INET_TUNNEL is not set | ||
278 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y |
279 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y |
280 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set |
281 | CONFIG_TCP_CONG_BIC=y | 282 | CONFIG_TCP_CONG_BIC=y |
282 | # CONFIG_IPV6 is not set | 283 | # CONFIG_IPV6 is not set |
284 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
285 | # CONFIG_INET6_TUNNEL is not set | ||
283 | # CONFIG_NETFILTER is not set | 286 | # CONFIG_NETFILTER is not set |
284 | 287 | ||
285 | # | 288 | # |
@@ -363,6 +366,9 @@ CONFIG_IEEE80211=m | |||
363 | # CONFIG_IEEE80211_DEBUG is not set | 366 | # CONFIG_IEEE80211_DEBUG is not set |
364 | CONFIG_IEEE80211_CRYPT_WEP=m | 367 | CONFIG_IEEE80211_CRYPT_WEP=m |
365 | CONFIG_IEEE80211_CRYPT_CCMP=m | 368 | CONFIG_IEEE80211_CRYPT_CCMP=m |
369 | CONFIG_IEEE80211_SOFTMAC=m | ||
370 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
371 | CONFIG_WIRELESS_EXT=y | ||
366 | 372 | ||
367 | # | 373 | # |
368 | # Device Drivers | 374 | # Device Drivers |
@@ -407,7 +413,7 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m | |||
407 | # CONFIG_BLK_DEV_NBD is not set | 413 | # CONFIG_BLK_DEV_NBD is not set |
408 | # CONFIG_BLK_DEV_SX8 is not set | 414 | # CONFIG_BLK_DEV_SX8 is not set |
409 | # CONFIG_BLK_DEV_RAM is not set | 415 | # CONFIG_BLK_DEV_RAM is not set |
410 | CONFIG_BLK_DEV_RAM_COUNT=16 | 416 | # CONFIG_BLK_DEV_INITRD is not set |
411 | CONFIG_CDROM_PKTCDVD=m | 417 | CONFIG_CDROM_PKTCDVD=m |
412 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 418 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
413 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 419 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -473,7 +479,6 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
473 | # CONFIG_SCSI_INIA100 is not set | 479 | # CONFIG_SCSI_INIA100 is not set |
474 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 480 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
475 | # CONFIG_SCSI_IPR is not set | 481 | # CONFIG_SCSI_IPR is not set |
476 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
477 | CONFIG_SCSI_QLOGIC_1280=y | 482 | CONFIG_SCSI_QLOGIC_1280=y |
478 | # CONFIG_SCSI_QLA_FC is not set | 483 | # CONFIG_SCSI_QLA_FC is not set |
479 | # CONFIG_SCSI_LPFC is not set | 484 | # CONFIG_SCSI_LPFC is not set |
@@ -491,6 +496,7 @@ CONFIG_MD_RAID0=y | |||
491 | CONFIG_MD_RAID1=y | 496 | CONFIG_MD_RAID1=y |
492 | CONFIG_MD_RAID10=m | 497 | CONFIG_MD_RAID10=m |
493 | CONFIG_MD_RAID5=y | 498 | CONFIG_MD_RAID5=y |
499 | CONFIG_MD_RAID5_RESHAPE=y | ||
494 | CONFIG_MD_RAID6=m | 500 | CONFIG_MD_RAID6=m |
495 | CONFIG_MD_MULTIPATH=m | 501 | CONFIG_MD_MULTIPATH=m |
496 | CONFIG_MD_FAULTY=m | 502 | CONFIG_MD_FAULTY=m |
@@ -654,6 +660,7 @@ CONFIG_SERIO_RAW=m | |||
654 | # | 660 | # |
655 | CONFIG_SERIAL_8250=y | 661 | CONFIG_SERIAL_8250=y |
656 | CONFIG_SERIAL_8250_CONSOLE=y | 662 | CONFIG_SERIAL_8250_CONSOLE=y |
663 | CONFIG_SERIAL_8250_PCI=y | ||
657 | CONFIG_SERIAL_8250_NR_UARTS=4 | 664 | CONFIG_SERIAL_8250_NR_UARTS=4 |
658 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 665 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
659 | CONFIG_SERIAL_8250_EXTENDED=y | 666 | CONFIG_SERIAL_8250_EXTENDED=y |
@@ -727,10 +734,6 @@ CONFIG_SGI_IP27_RTC=y | |||
727 | # | 734 | # |
728 | 735 | ||
729 | # | 736 | # |
730 | # Multimedia Capabilities Port drivers | ||
731 | # | ||
732 | |||
733 | # | ||
734 | # Multimedia devices | 737 | # Multimedia devices |
735 | # | 738 | # |
736 | # CONFIG_VIDEO_DEV is not set | 739 | # CONFIG_VIDEO_DEV is not set |
@@ -755,6 +758,7 @@ CONFIG_SGI_IP27_RTC=y | |||
755 | # | 758 | # |
756 | CONFIG_USB_ARCH_HAS_HCD=y | 759 | CONFIG_USB_ARCH_HAS_HCD=y |
757 | CONFIG_USB_ARCH_HAS_OHCI=y | 760 | CONFIG_USB_ARCH_HAS_OHCI=y |
761 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
758 | # CONFIG_USB is not set | 762 | # CONFIG_USB is not set |
759 | 763 | ||
760 | # | 764 | # |
@@ -772,17 +776,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
772 | # CONFIG_MMC is not set | 776 | # CONFIG_MMC is not set |
773 | 777 | ||
774 | # | 778 | # |
779 | # LED devices | ||
780 | # | ||
781 | # CONFIG_NEW_LEDS is not set | ||
782 | |||
783 | # | ||
784 | # LED drivers | ||
785 | # | ||
786 | |||
787 | # | ||
788 | # LED Triggers | ||
789 | # | ||
790 | |||
791 | # | ||
775 | # InfiniBand support | 792 | # InfiniBand support |
776 | # | 793 | # |
777 | # CONFIG_INFINIBAND is not set | 794 | # CONFIG_INFINIBAND is not set |
778 | 795 | ||
779 | # | 796 | # |
780 | # SN Devices | 797 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
781 | # | 798 | # |
782 | 799 | ||
783 | # | 800 | # |
784 | # EDAC - error detection and reporting (RAS) | 801 | # Real Time Clock |
785 | # | 802 | # |
803 | # CONFIG_RTC_CLASS is not set | ||
786 | 804 | ||
787 | # | 805 | # |
788 | # File systems | 806 | # File systems |
@@ -840,7 +858,6 @@ CONFIG_SYSFS=y | |||
840 | # CONFIG_TMPFS is not set | 858 | # CONFIG_TMPFS is not set |
841 | # CONFIG_HUGETLB_PAGE is not set | 859 | # CONFIG_HUGETLB_PAGE is not set |
842 | CONFIG_RAMFS=y | 860 | CONFIG_RAMFS=y |
843 | CONFIG_RELAYFS_FS=m | ||
844 | # CONFIG_CONFIGFS_FS is not set | 861 | # CONFIG_CONFIGFS_FS is not set |
845 | 862 | ||
846 | # | 863 | # |
@@ -922,6 +939,7 @@ CONFIG_SGI_PARTITION=y | |||
922 | # CONFIG_MAGIC_SYSRQ is not set | 939 | # CONFIG_MAGIC_SYSRQ is not set |
923 | # CONFIG_DEBUG_KERNEL is not set | 940 | # CONFIG_DEBUG_KERNEL is not set |
924 | CONFIG_LOG_BUF_SHIFT=15 | 941 | CONFIG_LOG_BUF_SHIFT=15 |
942 | # CONFIG_DEBUG_FS is not set | ||
925 | CONFIG_CROSSCOMPILE=y | 943 | CONFIG_CROSSCOMPILE=y |
926 | CONFIG_CMDLINE="" | 944 | CONFIG_CMDLINE="" |
927 | 945 | ||
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index 7fdcaf51face..8f11d3565b2d 100644 --- a/arch/mips/configs/ip32_defconfig +++ b/arch/mips/configs/ip32_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:09 2006 | 4 | # Mon Apr 24 14:51:05 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_SGI_IP32=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y |
69 | CONFIG_DMA_IP32=y | 71 | CONFIG_DMA_IP32=y |
@@ -142,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
142 | # Code maturity level options | 144 | # Code maturity level options |
143 | # | 145 | # |
144 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y |
145 | CONFIG_CLEAN_COMPILE=y | ||
146 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y |
147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
148 | 149 | ||
@@ -159,6 +160,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
159 | CONFIG_SYSCTL=y | 160 | CONFIG_SYSCTL=y |
160 | # CONFIG_AUDIT is not set | 161 | # CONFIG_AUDIT is not set |
161 | # CONFIG_IKCONFIG is not set | 162 | # CONFIG_IKCONFIG is not set |
163 | CONFIG_RELAY=y | ||
162 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" |
163 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
164 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y |
@@ -172,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
172 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y |
173 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y |
174 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y |
175 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
176 | CONFIG_CC_ALIGN_LABELS=0 | ||
177 | CONFIG_CC_ALIGN_LOOPS=0 | ||
178 | CONFIG_CC_ALIGN_JUMPS=0 | ||
179 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y |
180 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 |
@@ -189,6 +187,7 @@ CONFIG_BASE_SMALL=0 | |||
189 | # | 187 | # |
190 | # Block layer | 188 | # Block layer |
191 | # | 189 | # |
190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | 191 | ||
193 | # | 192 | # |
194 | # IO Schedulers | 193 | # IO Schedulers |
@@ -208,7 +207,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
208 | # | 207 | # |
209 | CONFIG_HW_HAS_PCI=y | 208 | CONFIG_HW_HAS_PCI=y |
210 | CONFIG_PCI=y | 209 | CONFIG_PCI=y |
211 | CONFIG_PCI_LEGACY_PROC=y | ||
212 | CONFIG_MMU=y | 210 | CONFIG_MMU=y |
213 | 211 | ||
214 | # | 212 | # |
@@ -226,6 +224,7 @@ CONFIG_MMU=y | |||
226 | # | 224 | # |
227 | CONFIG_BINFMT_ELF=y | 225 | CONFIG_BINFMT_ELF=y |
228 | CONFIG_BINFMT_MISC=y | 226 | CONFIG_BINFMT_MISC=y |
227 | # CONFIG_BUILD_ELF64 is not set | ||
229 | CONFIG_MIPS32_COMPAT=y | 228 | CONFIG_MIPS32_COMPAT=y |
230 | CONFIG_COMPAT=y | 229 | CONFIG_COMPAT=y |
231 | CONFIG_MIPS32_O32=y | 230 | CONFIG_MIPS32_O32=y |
@@ -240,6 +239,7 @@ CONFIG_NET=y | |||
240 | # | 239 | # |
241 | # Networking options | 240 | # Networking options |
242 | # | 241 | # |
242 | # CONFIG_NETDEBUG is not set | ||
243 | CONFIG_PACKET=y | 243 | CONFIG_PACKET=y |
244 | CONFIG_PACKET_MMAP=y | 244 | CONFIG_PACKET_MMAP=y |
245 | CONFIG_UNIX=y | 245 | CONFIG_UNIX=y |
@@ -261,12 +261,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
261 | # CONFIG_INET_AH is not set | 261 | # CONFIG_INET_AH is not set |
262 | # CONFIG_INET_ESP is not set | 262 | # CONFIG_INET_ESP is not set |
263 | # CONFIG_INET_IPCOMP is not set | 263 | # CONFIG_INET_IPCOMP is not set |
264 | CONFIG_INET_TUNNEL=y | 264 | # CONFIG_INET_XFRM_TUNNEL is not set |
265 | # CONFIG_INET_TUNNEL is not set | ||
265 | CONFIG_INET_DIAG=y | 266 | CONFIG_INET_DIAG=y |
266 | CONFIG_INET_TCP_DIAG=y | 267 | CONFIG_INET_TCP_DIAG=y |
267 | # CONFIG_TCP_CONG_ADVANCED is not set | 268 | # CONFIG_TCP_CONG_ADVANCED is not set |
268 | CONFIG_TCP_CONG_BIC=y | 269 | CONFIG_TCP_CONG_BIC=y |
269 | # CONFIG_IPV6 is not set | 270 | # CONFIG_IPV6 is not set |
271 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
272 | # CONFIG_INET6_TUNNEL is not set | ||
270 | # CONFIG_NETFILTER is not set | 273 | # CONFIG_NETFILTER is not set |
271 | 274 | ||
272 | # | 275 | # |
@@ -278,6 +281,11 @@ CONFIG_TCP_CONG_BIC=y | |||
278 | # SCTP Configuration (EXPERIMENTAL) | 281 | # SCTP Configuration (EXPERIMENTAL) |
279 | # | 282 | # |
280 | # CONFIG_IP_SCTP is not set | 283 | # CONFIG_IP_SCTP is not set |
284 | |||
285 | # | ||
286 | # TIPC Configuration (EXPERIMENTAL) | ||
287 | # | ||
288 | # CONFIG_TIPC is not set | ||
281 | # CONFIG_ATM is not set | 289 | # CONFIG_ATM is not set |
282 | # CONFIG_BRIDGE is not set | 290 | # CONFIG_BRIDGE is not set |
283 | # CONFIG_VLAN_8021Q is not set | 291 | # CONFIG_VLAN_8021Q is not set |
@@ -287,11 +295,6 @@ CONFIG_TCP_CONG_BIC=y | |||
287 | # CONFIG_ATALK is not set | 295 | # CONFIG_ATALK is not set |
288 | # CONFIG_X25 is not set | 296 | # CONFIG_X25 is not set |
289 | # CONFIG_LAPB is not set | 297 | # CONFIG_LAPB is not set |
290 | |||
291 | # | ||
292 | # TIPC Configuration (EXPERIMENTAL) | ||
293 | # | ||
294 | # CONFIG_TIPC is not set | ||
295 | # CONFIG_NET_DIVERT is not set | 298 | # CONFIG_NET_DIVERT is not set |
296 | # CONFIG_ECONET is not set | 299 | # CONFIG_ECONET is not set |
297 | # CONFIG_WAN_ROUTER is not set | 300 | # CONFIG_WAN_ROUTER is not set |
@@ -312,6 +315,9 @@ CONFIG_IEEE80211=y | |||
312 | # CONFIG_IEEE80211_DEBUG is not set | 315 | # CONFIG_IEEE80211_DEBUG is not set |
313 | CONFIG_IEEE80211_CRYPT_WEP=y | 316 | CONFIG_IEEE80211_CRYPT_WEP=y |
314 | CONFIG_IEEE80211_CRYPT_CCMP=y | 317 | CONFIG_IEEE80211_CRYPT_CCMP=y |
318 | CONFIG_IEEE80211_SOFTMAC=y | ||
319 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
320 | CONFIG_WIRELESS_EXT=y | ||
315 | 321 | ||
316 | # | 322 | # |
317 | # Device Drivers | 323 | # Device Drivers |
@@ -357,7 +363,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
357 | # CONFIG_BLK_DEV_NBD is not set | 363 | # CONFIG_BLK_DEV_NBD is not set |
358 | # CONFIG_BLK_DEV_SX8 is not set | 364 | # CONFIG_BLK_DEV_SX8 is not set |
359 | # CONFIG_BLK_DEV_RAM is not set | 365 | # CONFIG_BLK_DEV_RAM is not set |
360 | CONFIG_BLK_DEV_RAM_COUNT=16 | 366 | # CONFIG_BLK_DEV_INITRD is not set |
361 | CONFIG_CDROM_PKTCDVD=y | 367 | CONFIG_CDROM_PKTCDVD=y |
362 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 368 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
363 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 369 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -428,7 +434,6 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
428 | # CONFIG_SCSI_INIA100 is not set | 434 | # CONFIG_SCSI_INIA100 is not set |
429 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 435 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
430 | # CONFIG_SCSI_IPR is not set | 436 | # CONFIG_SCSI_IPR is not set |
431 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
432 | # CONFIG_SCSI_QLOGIC_1280 is not set | 437 | # CONFIG_SCSI_QLOGIC_1280 is not set |
433 | # CONFIG_SCSI_QLA_FC is not set | 438 | # CONFIG_SCSI_QLA_FC is not set |
434 | # CONFIG_SCSI_LPFC is not set | 439 | # CONFIG_SCSI_LPFC is not set |
@@ -615,6 +620,7 @@ CONFIG_HW_CONSOLE=y | |||
615 | # | 620 | # |
616 | CONFIG_SERIAL_8250=y | 621 | CONFIG_SERIAL_8250=y |
617 | CONFIG_SERIAL_8250_CONSOLE=y | 622 | CONFIG_SERIAL_8250_CONSOLE=y |
623 | CONFIG_SERIAL_8250_PCI=y | ||
618 | CONFIG_SERIAL_8250_NR_UARTS=4 | 624 | CONFIG_SERIAL_8250_NR_UARTS=4 |
619 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 625 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
620 | # CONFIG_SERIAL_8250_EXTENDED is not set | 626 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -624,6 +630,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
624 | # | 630 | # |
625 | CONFIG_SERIAL_CORE=y | 631 | CONFIG_SERIAL_CORE=y |
626 | CONFIG_SERIAL_CORE_CONSOLE=y | 632 | CONFIG_SERIAL_CORE_CONSOLE=y |
633 | # CONFIG_SERIAL_JSM is not set | ||
627 | CONFIG_UNIX98_PTYS=y | 634 | CONFIG_UNIX98_PTYS=y |
628 | CONFIG_LEGACY_PTYS=y | 635 | CONFIG_LEGACY_PTYS=y |
629 | CONFIG_LEGACY_PTY_COUNT=256 | 636 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -682,10 +689,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
682 | # | 689 | # |
683 | 690 | ||
684 | # | 691 | # |
685 | # Multimedia Capabilities Port drivers | ||
686 | # | ||
687 | |||
688 | # | ||
689 | # Multimedia devices | 692 | # Multimedia devices |
690 | # | 693 | # |
691 | # CONFIG_VIDEO_DEV is not set | 694 | # CONFIG_VIDEO_DEV is not set |
@@ -716,6 +719,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
716 | # | 719 | # |
717 | CONFIG_USB_ARCH_HAS_HCD=y | 720 | CONFIG_USB_ARCH_HAS_HCD=y |
718 | CONFIG_USB_ARCH_HAS_OHCI=y | 721 | CONFIG_USB_ARCH_HAS_OHCI=y |
722 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
719 | # CONFIG_USB is not set | 723 | # CONFIG_USB is not set |
720 | 724 | ||
721 | # | 725 | # |
@@ -733,13 +737,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
733 | # CONFIG_MMC is not set | 737 | # CONFIG_MMC is not set |
734 | 738 | ||
735 | # | 739 | # |
740 | # LED devices | ||
741 | # | ||
742 | # CONFIG_NEW_LEDS is not set | ||
743 | |||
744 | # | ||
745 | # LED drivers | ||
746 | # | ||
747 | |||
748 | # | ||
749 | # LED Triggers | ||
750 | # | ||
751 | |||
752 | # | ||
736 | # InfiniBand support | 753 | # InfiniBand support |
737 | # | 754 | # |
738 | # CONFIG_INFINIBAND is not set | 755 | # CONFIG_INFINIBAND is not set |
739 | 756 | ||
740 | # | 757 | # |
741 | # SN Devices | 758 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
759 | # | ||
760 | |||
761 | # | ||
762 | # Real Time Clock | ||
742 | # | 763 | # |
764 | # CONFIG_RTC_CLASS is not set | ||
743 | 765 | ||
744 | # | 766 | # |
745 | # File systems | 767 | # File systems |
@@ -784,7 +806,6 @@ CONFIG_SYSFS=y | |||
784 | CONFIG_TMPFS=y | 806 | CONFIG_TMPFS=y |
785 | # CONFIG_HUGETLB_PAGE is not set | 807 | # CONFIG_HUGETLB_PAGE is not set |
786 | CONFIG_RAMFS=y | 808 | CONFIG_RAMFS=y |
787 | CONFIG_RELAYFS_FS=y | ||
788 | # CONFIG_CONFIGFS_FS is not set | 809 | # CONFIG_CONFIGFS_FS is not set |
789 | 810 | ||
790 | # | 811 | # |
@@ -861,6 +882,8 @@ CONFIG_SGI_PARTITION=y | |||
861 | # CONFIG_MAGIC_SYSRQ is not set | 882 | # CONFIG_MAGIC_SYSRQ is not set |
862 | # CONFIG_DEBUG_KERNEL is not set | 883 | # CONFIG_DEBUG_KERNEL is not set |
863 | CONFIG_LOG_BUF_SHIFT=14 | 884 | CONFIG_LOG_BUF_SHIFT=14 |
885 | # CONFIG_DEBUG_FS is not set | ||
886 | # CONFIG_UNWIND_INFO is not set | ||
864 | CONFIG_CROSSCOMPILE=y | 887 | CONFIG_CROSSCOMPILE=y |
865 | CONFIG_CMDLINE="" | 888 | CONFIG_CMDLINE="" |
866 | 889 | ||
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig index c716996d9eca..757adf23853d 100644 --- a/arch/mips/configs/it8172_defconfig +++ b/arch/mips/configs/it8172_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:10 2006 | 4 | # Mon Apr 24 14:51:05 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -65,6 +65,8 @@ CONFIG_MIPS_ITE8172=y | |||
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | # CONFIG_IT8172_REVC is not set | 66 | # CONFIG_IT8172_REVC is not set |
67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -115,7 +117,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
116 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set |
118 | # CONFIG_CPU_ADVANCED is not set | ||
119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
@@ -137,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 138 | # Code maturity level options |
138 | # | 139 | # |
139 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 143 | ||
@@ -154,6 +154,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
154 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y |
155 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set |
156 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set |
157 | CONFIG_RELAY=y | ||
157 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
159 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -183,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
183 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
184 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
186 | CONFIG_OBSOLETE_MODPARM=y | ||
187 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
188 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
189 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -192,6 +188,8 @@ CONFIG_KMOD=y | |||
192 | # Block layer | 188 | # Block layer |
193 | # | 189 | # |
194 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set |
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
195 | 193 | ||
196 | # | 194 | # |
197 | # IO Schedulers | 195 | # IO Schedulers |
@@ -237,6 +235,7 @@ CONFIG_NET=y | |||
237 | # | 235 | # |
238 | # Networking options | 236 | # Networking options |
239 | # | 237 | # |
238 | # CONFIG_NETDEBUG is not set | ||
240 | CONFIG_PACKET=y | 239 | CONFIG_PACKET=y |
241 | CONFIG_PACKET_MMAP=y | 240 | CONFIG_PACKET_MMAP=y |
242 | CONFIG_UNIX=y | 241 | CONFIG_UNIX=y |
@@ -258,12 +257,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
258 | # CONFIG_INET_AH is not set | 257 | # CONFIG_INET_AH is not set |
259 | # CONFIG_INET_ESP is not set | 258 | # CONFIG_INET_ESP is not set |
260 | # CONFIG_INET_IPCOMP is not set | 259 | # CONFIG_INET_IPCOMP is not set |
261 | CONFIG_INET_TUNNEL=m | 260 | # CONFIG_INET_XFRM_TUNNEL is not set |
261 | # CONFIG_INET_TUNNEL is not set | ||
262 | CONFIG_INET_DIAG=y | 262 | CONFIG_INET_DIAG=y |
263 | CONFIG_INET_TCP_DIAG=y | 263 | CONFIG_INET_TCP_DIAG=y |
264 | # CONFIG_TCP_CONG_ADVANCED is not set | 264 | # CONFIG_TCP_CONG_ADVANCED is not set |
265 | CONFIG_TCP_CONG_BIC=y | 265 | CONFIG_TCP_CONG_BIC=y |
266 | # CONFIG_IPV6 is not set | 266 | # CONFIG_IPV6 is not set |
267 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
268 | # CONFIG_INET6_TUNNEL is not set | ||
267 | # CONFIG_NETFILTER is not set | 269 | # CONFIG_NETFILTER is not set |
268 | 270 | ||
269 | # | 271 | # |
@@ -275,6 +277,11 @@ CONFIG_TCP_CONG_BIC=y | |||
275 | # SCTP Configuration (EXPERIMENTAL) | 277 | # SCTP Configuration (EXPERIMENTAL) |
276 | # | 278 | # |
277 | # CONFIG_IP_SCTP is not set | 279 | # CONFIG_IP_SCTP is not set |
280 | |||
281 | # | ||
282 | # TIPC Configuration (EXPERIMENTAL) | ||
283 | # | ||
284 | # CONFIG_TIPC is not set | ||
278 | # CONFIG_ATM is not set | 285 | # CONFIG_ATM is not set |
279 | # CONFIG_BRIDGE is not set | 286 | # CONFIG_BRIDGE is not set |
280 | # CONFIG_VLAN_8021Q is not set | 287 | # CONFIG_VLAN_8021Q is not set |
@@ -284,11 +291,6 @@ CONFIG_TCP_CONG_BIC=y | |||
284 | # CONFIG_ATALK is not set | 291 | # CONFIG_ATALK is not set |
285 | # CONFIG_X25 is not set | 292 | # CONFIG_X25 is not set |
286 | # CONFIG_LAPB is not set | 293 | # CONFIG_LAPB is not set |
287 | |||
288 | # | ||
289 | # TIPC Configuration (EXPERIMENTAL) | ||
290 | # | ||
291 | # CONFIG_TIPC is not set | ||
292 | # CONFIG_NET_DIVERT is not set | 294 | # CONFIG_NET_DIVERT is not set |
293 | # CONFIG_ECONET is not set | 295 | # CONFIG_ECONET is not set |
294 | # CONFIG_WAN_ROUTER is not set | 296 | # CONFIG_WAN_ROUTER is not set |
@@ -309,6 +311,9 @@ CONFIG_IEEE80211=m | |||
309 | # CONFIG_IEEE80211_DEBUG is not set | 311 | # CONFIG_IEEE80211_DEBUG is not set |
310 | CONFIG_IEEE80211_CRYPT_WEP=m | 312 | CONFIG_IEEE80211_CRYPT_WEP=m |
311 | CONFIG_IEEE80211_CRYPT_CCMP=m | 313 | CONFIG_IEEE80211_CRYPT_CCMP=m |
314 | CONFIG_IEEE80211_SOFTMAC=m | ||
315 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
316 | CONFIG_WIRELESS_EXT=y | ||
312 | 317 | ||
313 | # | 318 | # |
314 | # Device Drivers | 319 | # Device Drivers |
@@ -387,7 +392,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
387 | # CONFIG_MTD_SLRAM is not set | 392 | # CONFIG_MTD_SLRAM is not set |
388 | # CONFIG_MTD_PHRAM is not set | 393 | # CONFIG_MTD_PHRAM is not set |
389 | # CONFIG_MTD_MTDRAM is not set | 394 | # CONFIG_MTD_MTDRAM is not set |
390 | # CONFIG_MTD_BLKMTD is not set | ||
391 | # CONFIG_MTD_BLOCK2MTD is not set | 395 | # CONFIG_MTD_BLOCK2MTD is not set |
392 | 396 | ||
393 | # | 397 | # |
@@ -424,7 +428,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
424 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 428 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
425 | # CONFIG_BLK_DEV_NBD is not set | 429 | # CONFIG_BLK_DEV_NBD is not set |
426 | # CONFIG_BLK_DEV_RAM is not set | 430 | # CONFIG_BLK_DEV_RAM is not set |
427 | CONFIG_BLK_DEV_RAM_COUNT=16 | 431 | # CONFIG_BLK_DEV_INITRD is not set |
428 | CONFIG_CDROM_PKTCDVD=m | 432 | CONFIG_CDROM_PKTCDVD=m |
429 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 433 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
430 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 434 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -666,10 +670,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
666 | # | 670 | # |
667 | 671 | ||
668 | # | 672 | # |
669 | # Multimedia Capabilities Port drivers | ||
670 | # | ||
671 | |||
672 | # | ||
673 | # Multimedia devices | 673 | # Multimedia devices |
674 | # | 674 | # |
675 | # CONFIG_VIDEO_DEV is not set | 675 | # CONFIG_VIDEO_DEV is not set |
@@ -704,7 +704,6 @@ CONFIG_SOUND=y | |||
704 | # Open Sound System | 704 | # Open Sound System |
705 | # | 705 | # |
706 | CONFIG_SOUND_PRIME=y | 706 | CONFIG_SOUND_PRIME=y |
707 | # CONFIG_OBSOLETE_OSS_DRIVER is not set | ||
708 | CONFIG_SOUND_IT8172=y | 707 | CONFIG_SOUND_IT8172=y |
709 | # CONFIG_SOUND_MSNDCLAS is not set | 708 | # CONFIG_SOUND_MSNDCLAS is not set |
710 | # CONFIG_SOUND_MSNDPIN is not set | 709 | # CONFIG_SOUND_MSNDPIN is not set |
@@ -714,6 +713,7 @@ CONFIG_SOUND_IT8172=y | |||
714 | # | 713 | # |
715 | # CONFIG_USB_ARCH_HAS_HCD is not set | 714 | # CONFIG_USB_ARCH_HAS_HCD is not set |
716 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 715 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
716 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
717 | 717 | ||
718 | # | 718 | # |
719 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 719 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -730,12 +730,30 @@ CONFIG_SOUND_IT8172=y | |||
730 | # CONFIG_MMC is not set | 730 | # CONFIG_MMC is not set |
731 | 731 | ||
732 | # | 732 | # |
733 | # LED devices | ||
734 | # | ||
735 | # CONFIG_NEW_LEDS is not set | ||
736 | |||
737 | # | ||
738 | # LED drivers | ||
739 | # | ||
740 | |||
741 | # | ||
742 | # LED Triggers | ||
743 | # | ||
744 | |||
745 | # | ||
733 | # InfiniBand support | 746 | # InfiniBand support |
734 | # | 747 | # |
735 | 748 | ||
736 | # | 749 | # |
737 | # SN Devices | 750 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
751 | # | ||
752 | |||
753 | # | ||
754 | # Real Time Clock | ||
738 | # | 755 | # |
756 | # CONFIG_RTC_CLASS is not set | ||
739 | 757 | ||
740 | # | 758 | # |
741 | # File systems | 759 | # File systems |
@@ -780,7 +798,6 @@ CONFIG_SYSFS=y | |||
780 | # CONFIG_TMPFS is not set | 798 | # CONFIG_TMPFS is not set |
781 | # CONFIG_HUGETLB_PAGE is not set | 799 | # CONFIG_HUGETLB_PAGE is not set |
782 | CONFIG_RAMFS=y | 800 | CONFIG_RAMFS=y |
783 | CONFIG_RELAYFS_FS=m | ||
784 | # CONFIG_CONFIGFS_FS is not set | 801 | # CONFIG_CONFIGFS_FS is not set |
785 | 802 | ||
786 | # | 803 | # |
@@ -846,6 +863,7 @@ CONFIG_MSDOS_PARTITION=y | |||
846 | # CONFIG_MAGIC_SYSRQ is not set | 863 | # CONFIG_MAGIC_SYSRQ is not set |
847 | # CONFIG_DEBUG_KERNEL is not set | 864 | # CONFIG_DEBUG_KERNEL is not set |
848 | CONFIG_LOG_BUF_SHIFT=14 | 865 | CONFIG_LOG_BUF_SHIFT=14 |
866 | # CONFIG_DEBUG_FS is not set | ||
849 | CONFIG_CROSSCOMPILE=y | 867 | CONFIG_CROSSCOMPILE=y |
850 | CONFIG_CMDLINE="" | 868 | CONFIG_CMDLINE="" |
851 | 869 | ||
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig index a8376d125e11..021761a8a237 100644 --- a/arch/mips/configs/ivr_defconfig +++ b/arch/mips/configs/ivr_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:11 2006 | 4 | # Mon Apr 24 14:51:06 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_IVR=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -112,7 +114,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
112 | # CONFIG_PAGE_SIZE_16KB is not set | 114 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 115 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | # CONFIG_MIPS_MT is not set | 116 | # CONFIG_MIPS_MT is not set |
115 | # CONFIG_CPU_ADVANCED is not set | ||
116 | CONFIG_CPU_HAS_LLSC=y | 117 | CONFIG_CPU_HAS_LLSC=y |
117 | CONFIG_CPU_HAS_SYNC=y | 118 | CONFIG_CPU_HAS_SYNC=y |
118 | CONFIG_GENERIC_HARDIRQS=y | 119 | CONFIG_GENERIC_HARDIRQS=y |
@@ -134,7 +135,6 @@ CONFIG_PREEMPT_NONE=y | |||
134 | # Code maturity level options | 135 | # Code maturity level options |
135 | # | 136 | # |
136 | CONFIG_EXPERIMENTAL=y | 137 | CONFIG_EXPERIMENTAL=y |
137 | CONFIG_CLEAN_COMPILE=y | ||
138 | CONFIG_BROKEN_ON_SMP=y | 138 | CONFIG_BROKEN_ON_SMP=y |
139 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 139 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
140 | 140 | ||
@@ -151,6 +151,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
151 | CONFIG_SYSCTL=y | 151 | CONFIG_SYSCTL=y |
152 | # CONFIG_AUDIT is not set | 152 | # CONFIG_AUDIT is not set |
153 | # CONFIG_IKCONFIG is not set | 153 | # CONFIG_IKCONFIG is not set |
154 | CONFIG_RELAY=y | ||
154 | CONFIG_INITRAMFS_SOURCE="" | 155 | CONFIG_INITRAMFS_SOURCE="" |
155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
156 | CONFIG_EMBEDDED=y | 157 | CONFIG_EMBEDDED=y |
@@ -164,10 +165,6 @@ CONFIG_BASE_FULL=y | |||
164 | CONFIG_FUTEX=y | 165 | CONFIG_FUTEX=y |
165 | CONFIG_EPOLL=y | 166 | CONFIG_EPOLL=y |
166 | CONFIG_SHMEM=y | 167 | CONFIG_SHMEM=y |
167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
168 | CONFIG_CC_ALIGN_LABELS=0 | ||
169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
171 | CONFIG_SLAB=y | 168 | CONFIG_SLAB=y |
172 | # CONFIG_TINY_SHMEM is not set | 169 | # CONFIG_TINY_SHMEM is not set |
173 | CONFIG_BASE_SMALL=0 | 170 | CONFIG_BASE_SMALL=0 |
@@ -179,7 +176,6 @@ CONFIG_BASE_SMALL=0 | |||
179 | CONFIG_MODULES=y | 176 | CONFIG_MODULES=y |
180 | CONFIG_MODULE_UNLOAD=y | 177 | CONFIG_MODULE_UNLOAD=y |
181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 178 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
182 | CONFIG_OBSOLETE_MODPARM=y | ||
183 | CONFIG_MODVERSIONS=y | 179 | CONFIG_MODVERSIONS=y |
184 | CONFIG_MODULE_SRCVERSION_ALL=y | 180 | CONFIG_MODULE_SRCVERSION_ALL=y |
185 | CONFIG_KMOD=y | 181 | CONFIG_KMOD=y |
@@ -188,6 +184,8 @@ CONFIG_KMOD=y | |||
188 | # Block layer | 184 | # Block layer |
189 | # | 185 | # |
190 | # CONFIG_LBD is not set | 186 | # CONFIG_LBD is not set |
187 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
188 | # CONFIG_LSF is not set | ||
191 | 189 | ||
192 | # | 190 | # |
193 | # IO Schedulers | 191 | # IO Schedulers |
@@ -207,7 +205,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
207 | # | 205 | # |
208 | CONFIG_HW_HAS_PCI=y | 206 | CONFIG_HW_HAS_PCI=y |
209 | CONFIG_PCI=y | 207 | CONFIG_PCI=y |
210 | CONFIG_PCI_LEGACY_PROC=y | ||
211 | CONFIG_MMU=y | 208 | CONFIG_MMU=y |
212 | 209 | ||
213 | # | 210 | # |
@@ -235,6 +232,7 @@ CONFIG_NET=y | |||
235 | # | 232 | # |
236 | # Networking options | 233 | # Networking options |
237 | # | 234 | # |
235 | # CONFIG_NETDEBUG is not set | ||
238 | CONFIG_PACKET=y | 236 | CONFIG_PACKET=y |
239 | CONFIG_PACKET_MMAP=y | 237 | CONFIG_PACKET_MMAP=y |
240 | CONFIG_UNIX=y | 238 | CONFIG_UNIX=y |
@@ -256,12 +254,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
256 | # CONFIG_INET_AH is not set | 254 | # CONFIG_INET_AH is not set |
257 | # CONFIG_INET_ESP is not set | 255 | # CONFIG_INET_ESP is not set |
258 | # CONFIG_INET_IPCOMP is not set | 256 | # CONFIG_INET_IPCOMP is not set |
259 | CONFIG_INET_TUNNEL=m | 257 | # CONFIG_INET_XFRM_TUNNEL is not set |
258 | # CONFIG_INET_TUNNEL is not set | ||
260 | CONFIG_INET_DIAG=y | 259 | CONFIG_INET_DIAG=y |
261 | CONFIG_INET_TCP_DIAG=y | 260 | CONFIG_INET_TCP_DIAG=y |
262 | # CONFIG_TCP_CONG_ADVANCED is not set | 261 | # CONFIG_TCP_CONG_ADVANCED is not set |
263 | CONFIG_TCP_CONG_BIC=y | 262 | CONFIG_TCP_CONG_BIC=y |
264 | # CONFIG_IPV6 is not set | 263 | # CONFIG_IPV6 is not set |
264 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
265 | # CONFIG_INET6_TUNNEL is not set | ||
265 | # CONFIG_NETFILTER is not set | 266 | # CONFIG_NETFILTER is not set |
266 | 267 | ||
267 | # | 268 | # |
@@ -273,6 +274,11 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # SCTP Configuration (EXPERIMENTAL) | 274 | # SCTP Configuration (EXPERIMENTAL) |
274 | # | 275 | # |
275 | # CONFIG_IP_SCTP is not set | 276 | # CONFIG_IP_SCTP is not set |
277 | |||
278 | # | ||
279 | # TIPC Configuration (EXPERIMENTAL) | ||
280 | # | ||
281 | # CONFIG_TIPC is not set | ||
276 | # CONFIG_ATM is not set | 282 | # CONFIG_ATM is not set |
277 | # CONFIG_BRIDGE is not set | 283 | # CONFIG_BRIDGE is not set |
278 | # CONFIG_VLAN_8021Q is not set | 284 | # CONFIG_VLAN_8021Q is not set |
@@ -282,11 +288,6 @@ CONFIG_TCP_CONG_BIC=y | |||
282 | # CONFIG_ATALK is not set | 288 | # CONFIG_ATALK is not set |
283 | # CONFIG_X25 is not set | 289 | # CONFIG_X25 is not set |
284 | # CONFIG_LAPB is not set | 290 | # CONFIG_LAPB is not set |
285 | |||
286 | # | ||
287 | # TIPC Configuration (EXPERIMENTAL) | ||
288 | # | ||
289 | # CONFIG_TIPC is not set | ||
290 | # CONFIG_NET_DIVERT is not set | 291 | # CONFIG_NET_DIVERT is not set |
291 | # CONFIG_ECONET is not set | 292 | # CONFIG_ECONET is not set |
292 | # CONFIG_WAN_ROUTER is not set | 293 | # CONFIG_WAN_ROUTER is not set |
@@ -307,6 +308,9 @@ CONFIG_IEEE80211=m | |||
307 | # CONFIG_IEEE80211_DEBUG is not set | 308 | # CONFIG_IEEE80211_DEBUG is not set |
308 | CONFIG_IEEE80211_CRYPT_WEP=m | 309 | CONFIG_IEEE80211_CRYPT_WEP=m |
309 | CONFIG_IEEE80211_CRYPT_CCMP=m | 310 | CONFIG_IEEE80211_CRYPT_CCMP=m |
311 | CONFIG_IEEE80211_SOFTMAC=m | ||
312 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
313 | CONFIG_WIRELESS_EXT=y | ||
310 | 314 | ||
311 | # | 315 | # |
312 | # Device Drivers | 316 | # Device Drivers |
@@ -350,7 +354,7 @@ CONFIG_CONNECTOR=m | |||
350 | # CONFIG_BLK_DEV_NBD is not set | 354 | # CONFIG_BLK_DEV_NBD is not set |
351 | # CONFIG_BLK_DEV_SX8 is not set | 355 | # CONFIG_BLK_DEV_SX8 is not set |
352 | # CONFIG_BLK_DEV_RAM is not set | 356 | # CONFIG_BLK_DEV_RAM is not set |
353 | CONFIG_BLK_DEV_RAM_COUNT=16 | 357 | # CONFIG_BLK_DEV_INITRD is not set |
354 | CONFIG_CDROM_PKTCDVD=m | 358 | CONFIG_CDROM_PKTCDVD=m |
355 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 359 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
356 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 360 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -565,6 +569,7 @@ CONFIG_IT8172_SCR1=y | |||
565 | # | 569 | # |
566 | CONFIG_SERIAL_8250=y | 570 | CONFIG_SERIAL_8250=y |
567 | CONFIG_SERIAL_8250_CONSOLE=y | 571 | CONFIG_SERIAL_8250_CONSOLE=y |
572 | CONFIG_SERIAL_8250_PCI=y | ||
568 | CONFIG_SERIAL_8250_NR_UARTS=4 | 573 | CONFIG_SERIAL_8250_NR_UARTS=4 |
569 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 574 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
570 | # CONFIG_SERIAL_8250_EXTENDED is not set | 575 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -574,6 +579,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
574 | # | 579 | # |
575 | CONFIG_SERIAL_CORE=y | 580 | CONFIG_SERIAL_CORE=y |
576 | CONFIG_SERIAL_CORE_CONSOLE=y | 581 | CONFIG_SERIAL_CORE_CONSOLE=y |
582 | # CONFIG_SERIAL_JSM is not set | ||
577 | CONFIG_UNIX98_PTYS=y | 583 | CONFIG_UNIX98_PTYS=y |
578 | CONFIG_LEGACY_PTYS=y | 584 | CONFIG_LEGACY_PTYS=y |
579 | CONFIG_LEGACY_PTY_COUNT=256 | 585 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -631,10 +637,6 @@ CONFIG_RTC=y | |||
631 | # | 637 | # |
632 | 638 | ||
633 | # | 639 | # |
634 | # Multimedia Capabilities Port drivers | ||
635 | # | ||
636 | |||
637 | # | ||
638 | # Multimedia devices | 640 | # Multimedia devices |
639 | # | 641 | # |
640 | # CONFIG_VIDEO_DEV is not set | 642 | # CONFIG_VIDEO_DEV is not set |
@@ -665,6 +667,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
665 | # | 667 | # |
666 | CONFIG_USB_ARCH_HAS_HCD=y | 668 | CONFIG_USB_ARCH_HAS_HCD=y |
667 | CONFIG_USB_ARCH_HAS_OHCI=y | 669 | CONFIG_USB_ARCH_HAS_OHCI=y |
670 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
668 | # CONFIG_USB is not set | 671 | # CONFIG_USB is not set |
669 | 672 | ||
670 | # | 673 | # |
@@ -682,13 +685,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
682 | # CONFIG_MMC is not set | 685 | # CONFIG_MMC is not set |
683 | 686 | ||
684 | # | 687 | # |
688 | # LED devices | ||
689 | # | ||
690 | # CONFIG_NEW_LEDS is not set | ||
691 | |||
692 | # | ||
693 | # LED drivers | ||
694 | # | ||
695 | |||
696 | # | ||
697 | # LED Triggers | ||
698 | # | ||
699 | |||
700 | # | ||
685 | # InfiniBand support | 701 | # InfiniBand support |
686 | # | 702 | # |
687 | # CONFIG_INFINIBAND is not set | 703 | # CONFIG_INFINIBAND is not set |
688 | 704 | ||
689 | # | 705 | # |
690 | # SN Devices | 706 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
707 | # | ||
708 | |||
709 | # | ||
710 | # Real Time Clock | ||
691 | # | 711 | # |
712 | # CONFIG_RTC_CLASS is not set | ||
692 | 713 | ||
693 | # | 714 | # |
694 | # File systems | 715 | # File systems |
@@ -733,7 +754,6 @@ CONFIG_SYSFS=y | |||
733 | # CONFIG_TMPFS is not set | 754 | # CONFIG_TMPFS is not set |
734 | # CONFIG_HUGETLB_PAGE is not set | 755 | # CONFIG_HUGETLB_PAGE is not set |
735 | CONFIG_RAMFS=y | 756 | CONFIG_RAMFS=y |
736 | CONFIG_RELAYFS_FS=m | ||
737 | # CONFIG_CONFIGFS_FS is not set | 757 | # CONFIG_CONFIGFS_FS is not set |
738 | 758 | ||
739 | # | 759 | # |
@@ -797,6 +817,7 @@ CONFIG_MSDOS_PARTITION=y | |||
797 | # CONFIG_MAGIC_SYSRQ is not set | 817 | # CONFIG_MAGIC_SYSRQ is not set |
798 | # CONFIG_DEBUG_KERNEL is not set | 818 | # CONFIG_DEBUG_KERNEL is not set |
799 | CONFIG_LOG_BUF_SHIFT=14 | 819 | CONFIG_LOG_BUF_SHIFT=14 |
820 | # CONFIG_DEBUG_FS is not set | ||
800 | CONFIG_CROSSCOMPILE=y | 821 | CONFIG_CROSSCOMPILE=y |
801 | CONFIG_CMDLINE="" | 822 | CONFIG_CMDLINE="" |
802 | 823 | ||
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig index 316015379dbc..08f6c30b0abc 100644 --- a/arch/mips/configs/jaguar-atx_defconfig +++ b/arch/mips/configs/jaguar-atx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:12 2006 | 4 | # Mon Apr 24 14:51:06 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -65,6 +65,8 @@ CONFIG_MOMENCO_JAGUAR_ATX=y | |||
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_JAGUAR_DMALOW=y | 66 | CONFIG_JAGUAR_DMALOW=y |
67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -122,7 +124,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
122 | CONFIG_CPU_HAS_PREFETCH=y | 124 | CONFIG_CPU_HAS_PREFETCH=y |
123 | # CONFIG_MIPS_MT is not set | 125 | # CONFIG_MIPS_MT is not set |
124 | # CONFIG_64BIT_PHYS_ADDR is not set | 126 | # CONFIG_64BIT_PHYS_ADDR is not set |
125 | # CONFIG_CPU_ADVANCED is not set | ||
126 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y |
127 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y |
128 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y |
@@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y | |||
144 | # Code maturity level options | 145 | # Code maturity level options |
145 | # | 146 | # |
146 | # CONFIG_EXPERIMENTAL is not set | 147 | # CONFIG_EXPERIMENTAL is not set |
147 | CONFIG_CLEAN_COMPILE=y | ||
148 | CONFIG_BROKEN_ON_SMP=y | 148 | CONFIG_BROKEN_ON_SMP=y |
149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
150 | 150 | ||
@@ -160,6 +160,7 @@ CONFIG_SYSCTL=y | |||
160 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set |
161 | CONFIG_IKCONFIG=y | 161 | CONFIG_IKCONFIG=y |
162 | CONFIG_IKCONFIG_PROC=y | 162 | CONFIG_IKCONFIG_PROC=y |
163 | CONFIG_RELAY=y | ||
163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" |
164 | CONFIG_EMBEDDED=y | 165 | CONFIG_EMBEDDED=y |
165 | CONFIG_KALLSYMS=y | 166 | CONFIG_KALLSYMS=y |
@@ -172,10 +173,6 @@ CONFIG_BASE_FULL=y | |||
172 | CONFIG_FUTEX=y | 173 | CONFIG_FUTEX=y |
173 | CONFIG_EPOLL=y | 174 | CONFIG_EPOLL=y |
174 | CONFIG_SHMEM=y | 175 | CONFIG_SHMEM=y |
175 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
176 | CONFIG_CC_ALIGN_LABELS=0 | ||
177 | CONFIG_CC_ALIGN_LOOPS=0 | ||
178 | CONFIG_CC_ALIGN_JUMPS=0 | ||
179 | CONFIG_SLAB=y | 176 | CONFIG_SLAB=y |
180 | # CONFIG_TINY_SHMEM is not set | 177 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 178 | CONFIG_BASE_SMALL=0 |
@@ -186,7 +183,6 @@ CONFIG_BASE_SMALL=0 | |||
186 | # | 183 | # |
187 | CONFIG_MODULES=y | 184 | CONFIG_MODULES=y |
188 | CONFIG_MODULE_UNLOAD=y | 185 | CONFIG_MODULE_UNLOAD=y |
189 | CONFIG_OBSOLETE_MODPARM=y | ||
190 | # CONFIG_MODVERSIONS is not set | 186 | # CONFIG_MODVERSIONS is not set |
191 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y |
192 | CONFIG_KMOD=y | 188 | CONFIG_KMOD=y |
@@ -195,6 +191,8 @@ CONFIG_KMOD=y | |||
195 | # Block layer | 191 | # Block layer |
196 | # | 192 | # |
197 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set |
194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
195 | # CONFIG_LSF is not set | ||
198 | 196 | ||
199 | # | 197 | # |
200 | # IO Schedulers | 198 | # IO Schedulers |
@@ -214,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
214 | # | 212 | # |
215 | CONFIG_HW_HAS_PCI=y | 213 | CONFIG_HW_HAS_PCI=y |
216 | CONFIG_PCI=y | 214 | CONFIG_PCI=y |
217 | CONFIG_PCI_LEGACY_PROC=y | ||
218 | CONFIG_MMU=y | 215 | CONFIG_MMU=y |
219 | 216 | ||
220 | # | 217 | # |
@@ -241,6 +238,7 @@ CONFIG_NET=y | |||
241 | # | 238 | # |
242 | # Networking options | 239 | # Networking options |
243 | # | 240 | # |
241 | # CONFIG_NETDEBUG is not set | ||
244 | # CONFIG_PACKET is not set | 242 | # CONFIG_PACKET is not set |
245 | CONFIG_UNIX=y | 243 | CONFIG_UNIX=y |
246 | CONFIG_XFRM=y | 244 | CONFIG_XFRM=y |
@@ -260,16 +258,19 @@ CONFIG_IP_PNP_BOOTP=y | |||
260 | # CONFIG_INET_AH is not set | 258 | # CONFIG_INET_AH is not set |
261 | # CONFIG_INET_ESP is not set | 259 | # CONFIG_INET_ESP is not set |
262 | # CONFIG_INET_IPCOMP is not set | 260 | # CONFIG_INET_IPCOMP is not set |
263 | CONFIG_INET_TUNNEL=m | 261 | # CONFIG_INET_XFRM_TUNNEL is not set |
262 | # CONFIG_INET_TUNNEL is not set | ||
264 | CONFIG_INET_DIAG=y | 263 | CONFIG_INET_DIAG=y |
265 | CONFIG_INET_TCP_DIAG=y | 264 | CONFIG_INET_TCP_DIAG=y |
266 | # CONFIG_TCP_CONG_ADVANCED is not set | 265 | # CONFIG_TCP_CONG_ADVANCED is not set |
267 | CONFIG_TCP_CONG_BIC=y | 266 | CONFIG_TCP_CONG_BIC=y |
268 | CONFIG_IPV6=m | 267 | CONFIG_IPV6=m |
269 | CONFIG_IPV6_PRIVACY=y | 268 | CONFIG_IPV6_PRIVACY=y |
269 | CONFIG_IPV6_ROUTER_PREF=y | ||
270 | CONFIG_INET6_AH=m | 270 | CONFIG_INET6_AH=m |
271 | CONFIG_INET6_ESP=m | 271 | CONFIG_INET6_ESP=m |
272 | CONFIG_INET6_IPCOMP=m | 272 | CONFIG_INET6_IPCOMP=m |
273 | CONFIG_INET6_XFRM_TUNNEL=m | ||
273 | CONFIG_INET6_TUNNEL=m | 274 | CONFIG_INET6_TUNNEL=m |
274 | CONFIG_IPV6_TUNNEL=m | 275 | CONFIG_IPV6_TUNNEL=m |
275 | # CONFIG_NETFILTER is not set | 276 | # CONFIG_NETFILTER is not set |
@@ -338,10 +339,9 @@ CONFIG_CONNECTOR=m | |||
338 | # CONFIG_BLK_DEV_NBD is not set | 339 | # CONFIG_BLK_DEV_NBD is not set |
339 | # CONFIG_BLK_DEV_SX8 is not set | 340 | # CONFIG_BLK_DEV_SX8 is not set |
340 | # CONFIG_BLK_DEV_RAM is not set | 341 | # CONFIG_BLK_DEV_RAM is not set |
341 | CONFIG_BLK_DEV_RAM_COUNT=16 | 342 | # CONFIG_BLK_DEV_INITRD is not set |
342 | CONFIG_CDROM_PKTCDVD=m | 343 | CONFIG_CDROM_PKTCDVD=m |
343 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 344 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
344 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
345 | CONFIG_ATA_OVER_ETH=m | 345 | CONFIG_ATA_OVER_ETH=m |
346 | 346 | ||
347 | # | 347 | # |
@@ -423,6 +423,7 @@ CONFIG_NET_PCI=y | |||
423 | # CONFIG_PCNET32 is not set | 423 | # CONFIG_PCNET32 is not set |
424 | # CONFIG_AMD8111_ETH is not set | 424 | # CONFIG_AMD8111_ETH is not set |
425 | # CONFIG_ADAPTEC_STARFIRE is not set | 425 | # CONFIG_ADAPTEC_STARFIRE is not set |
426 | # CONFIG_FORCEDETH is not set | ||
426 | # CONFIG_DGRS is not set | 427 | # CONFIG_DGRS is not set |
427 | CONFIG_EEPRO100=y | 428 | CONFIG_EEPRO100=y |
428 | # CONFIG_E100 is not set | 429 | # CONFIG_E100 is not set |
@@ -446,6 +447,7 @@ CONFIG_EEPRO100=y | |||
446 | # CONFIG_HAMACHI is not set | 447 | # CONFIG_HAMACHI is not set |
447 | # CONFIG_R8169 is not set | 448 | # CONFIG_R8169 is not set |
448 | # CONFIG_SIS190 is not set | 449 | # CONFIG_SIS190 is not set |
450 | # CONFIG_SKGE is not set | ||
449 | # CONFIG_SK98LIN is not set | 451 | # CONFIG_SK98LIN is not set |
450 | # CONFIG_VIA_VELOCITY is not set | 452 | # CONFIG_VIA_VELOCITY is not set |
451 | # CONFIG_TIGON3 is not set | 453 | # CONFIG_TIGON3 is not set |
@@ -514,6 +516,7 @@ CONFIG_MV643XX_ETH_2=y | |||
514 | # | 516 | # |
515 | CONFIG_SERIAL_8250=y | 517 | CONFIG_SERIAL_8250=y |
516 | CONFIG_SERIAL_8250_CONSOLE=y | 518 | CONFIG_SERIAL_8250_CONSOLE=y |
519 | CONFIG_SERIAL_8250_PCI=y | ||
517 | CONFIG_SERIAL_8250_NR_UARTS=4 | 520 | CONFIG_SERIAL_8250_NR_UARTS=4 |
518 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 521 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
519 | # CONFIG_SERIAL_8250_EXTENDED is not set | 522 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -523,6 +526,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
523 | # | 526 | # |
524 | CONFIG_SERIAL_CORE=y | 527 | CONFIG_SERIAL_CORE=y |
525 | CONFIG_SERIAL_CORE_CONSOLE=y | 528 | CONFIG_SERIAL_CORE_CONSOLE=y |
529 | # CONFIG_SERIAL_JSM is not set | ||
526 | CONFIG_UNIX98_PTYS=y | 530 | CONFIG_UNIX98_PTYS=y |
527 | CONFIG_LEGACY_PTYS=y | 531 | CONFIG_LEGACY_PTYS=y |
528 | CONFIG_LEGACY_PTY_COUNT=256 | 532 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -579,10 +583,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
579 | # | 583 | # |
580 | 584 | ||
581 | # | 585 | # |
582 | # Multimedia Capabilities Port drivers | ||
583 | # | ||
584 | |||
585 | # | ||
586 | # Multimedia devices | 586 | # Multimedia devices |
587 | # | 587 | # |
588 | # CONFIG_VIDEO_DEV is not set | 588 | # CONFIG_VIDEO_DEV is not set |
@@ -607,6 +607,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
607 | # | 607 | # |
608 | CONFIG_USB_ARCH_HAS_HCD=y | 608 | CONFIG_USB_ARCH_HAS_HCD=y |
609 | CONFIG_USB_ARCH_HAS_OHCI=y | 609 | CONFIG_USB_ARCH_HAS_OHCI=y |
610 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
610 | # CONFIG_USB is not set | 611 | # CONFIG_USB is not set |
611 | 612 | ||
612 | # | 613 | # |
@@ -624,12 +625,29 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
624 | # CONFIG_MMC is not set | 625 | # CONFIG_MMC is not set |
625 | 626 | ||
626 | # | 627 | # |
628 | # LED devices | ||
629 | # | ||
630 | # CONFIG_NEW_LEDS is not set | ||
631 | |||
632 | # | ||
633 | # LED drivers | ||
634 | # | ||
635 | |||
636 | # | ||
637 | # LED Triggers | ||
638 | # | ||
639 | |||
640 | # | ||
627 | # InfiniBand support | 641 | # InfiniBand support |
628 | # | 642 | # |
629 | # CONFIG_INFINIBAND is not set | 643 | # CONFIG_INFINIBAND is not set |
630 | 644 | ||
631 | # | 645 | # |
632 | # SN Devices | 646 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
647 | # | ||
648 | |||
649 | # | ||
650 | # Real Time Clock | ||
633 | # | 651 | # |
634 | 652 | ||
635 | # | 653 | # |
@@ -672,7 +690,6 @@ CONFIG_SYSFS=y | |||
672 | # CONFIG_TMPFS is not set | 690 | # CONFIG_TMPFS is not set |
673 | # CONFIG_HUGETLB_PAGE is not set | 691 | # CONFIG_HUGETLB_PAGE is not set |
674 | CONFIG_RAMFS=y | 692 | CONFIG_RAMFS=y |
675 | CONFIG_RELAYFS_FS=m | ||
676 | 693 | ||
677 | # | 694 | # |
678 | # Miscellaneous filesystems | 695 | # Miscellaneous filesystems |
@@ -718,6 +735,7 @@ CONFIG_MSDOS_PARTITION=y | |||
718 | # CONFIG_MAGIC_SYSRQ is not set | 735 | # CONFIG_MAGIC_SYSRQ is not set |
719 | # CONFIG_DEBUG_KERNEL is not set | 736 | # CONFIG_DEBUG_KERNEL is not set |
720 | CONFIG_LOG_BUF_SHIFT=14 | 737 | CONFIG_LOG_BUF_SHIFT=14 |
738 | # CONFIG_DEBUG_FS is not set | ||
721 | CONFIG_CROSSCOMPILE=y | 739 | CONFIG_CROSSCOMPILE=y |
722 | CONFIG_CMDLINE="" | 740 | CONFIG_CMDLINE="" |
723 | 741 | ||
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index 53fbef1ac25d..38b1e026e10d 100644 --- a/arch/mips/configs/jmr3927_defconfig +++ b/arch/mips/configs/jmr3927_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:13 2006 | 4 | # Mon Apr 24 14:51:07 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_TOSHIBA_JMR3927=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -111,7 +113,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
111 | # CONFIG_PAGE_SIZE_16KB is not set | 113 | # CONFIG_PAGE_SIZE_16KB is not set |
112 | # CONFIG_PAGE_SIZE_64KB is not set | 114 | # CONFIG_PAGE_SIZE_64KB is not set |
113 | # CONFIG_MIPS_MT is not set | 115 | # CONFIG_MIPS_MT is not set |
114 | # CONFIG_CPU_ADVANCED is not set | ||
115 | CONFIG_CPU_HAS_SYNC=y | 116 | CONFIG_CPU_HAS_SYNC=y |
116 | CONFIG_GENERIC_HARDIRQS=y | 117 | CONFIG_GENERIC_HARDIRQS=y |
117 | CONFIG_GENERIC_IRQ_PROBE=y | 118 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -133,7 +134,6 @@ CONFIG_RTC_DS1742=y | |||
133 | # Code maturity level options | 134 | # Code maturity level options |
134 | # | 135 | # |
135 | CONFIG_EXPERIMENTAL=y | 136 | CONFIG_EXPERIMENTAL=y |
136 | CONFIG_CLEAN_COMPILE=y | ||
137 | CONFIG_BROKEN_ON_SMP=y | 137 | CONFIG_BROKEN_ON_SMP=y |
138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 138 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
139 | 139 | ||
@@ -149,6 +149,7 @@ CONFIG_SYSVIPC=y | |||
149 | CONFIG_SYSCTL=y | 149 | CONFIG_SYSCTL=y |
150 | # CONFIG_AUDIT is not set | 150 | # CONFIG_AUDIT is not set |
151 | # CONFIG_IKCONFIG is not set | 151 | # CONFIG_IKCONFIG is not set |
152 | CONFIG_RELAY=y | ||
152 | CONFIG_INITRAMFS_SOURCE="" | 153 | CONFIG_INITRAMFS_SOURCE="" |
153 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 154 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
154 | CONFIG_EMBEDDED=y | 155 | CONFIG_EMBEDDED=y |
@@ -162,10 +163,6 @@ CONFIG_BASE_FULL=y | |||
162 | CONFIG_FUTEX=y | 163 | CONFIG_FUTEX=y |
163 | CONFIG_EPOLL=y | 164 | CONFIG_EPOLL=y |
164 | CONFIG_SHMEM=y | 165 | CONFIG_SHMEM=y |
165 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
166 | CONFIG_CC_ALIGN_LABELS=0 | ||
167 | CONFIG_CC_ALIGN_LOOPS=0 | ||
168 | CONFIG_CC_ALIGN_JUMPS=0 | ||
169 | CONFIG_SLAB=y | 166 | CONFIG_SLAB=y |
170 | # CONFIG_TINY_SHMEM is not set | 167 | # CONFIG_TINY_SHMEM is not set |
171 | CONFIG_BASE_SMALL=0 | 168 | CONFIG_BASE_SMALL=0 |
@@ -180,6 +177,8 @@ CONFIG_BASE_SMALL=0 | |||
180 | # Block layer | 177 | # Block layer |
181 | # | 178 | # |
182 | # CONFIG_LBD is not set | 179 | # CONFIG_LBD is not set |
180 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
181 | # CONFIG_LSF is not set | ||
183 | 182 | ||
184 | # | 183 | # |
185 | # IO Schedulers | 184 | # IO Schedulers |
@@ -199,7 +198,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
199 | # | 198 | # |
200 | CONFIG_HW_HAS_PCI=y | 199 | CONFIG_HW_HAS_PCI=y |
201 | CONFIG_PCI=y | 200 | CONFIG_PCI=y |
202 | CONFIG_PCI_LEGACY_PROC=y | ||
203 | CONFIG_MMU=y | 201 | CONFIG_MMU=y |
204 | 202 | ||
205 | # | 203 | # |
@@ -227,6 +225,7 @@ CONFIG_NET=y | |||
227 | # | 225 | # |
228 | # Networking options | 226 | # Networking options |
229 | # | 227 | # |
228 | # CONFIG_NETDEBUG is not set | ||
230 | CONFIG_PACKET=y | 229 | CONFIG_PACKET=y |
231 | # CONFIG_PACKET_MMAP is not set | 230 | # CONFIG_PACKET_MMAP is not set |
232 | CONFIG_UNIX=y | 231 | CONFIG_UNIX=y |
@@ -248,12 +247,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
248 | # CONFIG_INET_AH is not set | 247 | # CONFIG_INET_AH is not set |
249 | # CONFIG_INET_ESP is not set | 248 | # CONFIG_INET_ESP is not set |
250 | # CONFIG_INET_IPCOMP is not set | 249 | # CONFIG_INET_IPCOMP is not set |
251 | CONFIG_INET_TUNNEL=y | 250 | # CONFIG_INET_XFRM_TUNNEL is not set |
251 | # CONFIG_INET_TUNNEL is not set | ||
252 | CONFIG_INET_DIAG=y | 252 | CONFIG_INET_DIAG=y |
253 | CONFIG_INET_TCP_DIAG=y | 253 | CONFIG_INET_TCP_DIAG=y |
254 | # CONFIG_TCP_CONG_ADVANCED is not set | 254 | # CONFIG_TCP_CONG_ADVANCED is not set |
255 | CONFIG_TCP_CONG_BIC=y | 255 | CONFIG_TCP_CONG_BIC=y |
256 | # CONFIG_IPV6 is not set | 256 | # CONFIG_IPV6 is not set |
257 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
258 | # CONFIG_INET6_TUNNEL is not set | ||
257 | # CONFIG_NETFILTER is not set | 259 | # CONFIG_NETFILTER is not set |
258 | 260 | ||
259 | # | 261 | # |
@@ -265,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y | |||
265 | # SCTP Configuration (EXPERIMENTAL) | 267 | # SCTP Configuration (EXPERIMENTAL) |
266 | # | 268 | # |
267 | # CONFIG_IP_SCTP is not set | 269 | # CONFIG_IP_SCTP is not set |
270 | |||
271 | # | ||
272 | # TIPC Configuration (EXPERIMENTAL) | ||
273 | # | ||
274 | # CONFIG_TIPC is not set | ||
268 | # CONFIG_ATM is not set | 275 | # CONFIG_ATM is not set |
269 | # CONFIG_BRIDGE is not set | 276 | # CONFIG_BRIDGE is not set |
270 | # CONFIG_VLAN_8021Q is not set | 277 | # CONFIG_VLAN_8021Q is not set |
@@ -274,11 +281,6 @@ CONFIG_TCP_CONG_BIC=y | |||
274 | # CONFIG_ATALK is not set | 281 | # CONFIG_ATALK is not set |
275 | # CONFIG_X25 is not set | 282 | # CONFIG_X25 is not set |
276 | # CONFIG_LAPB is not set | 283 | # CONFIG_LAPB is not set |
277 | |||
278 | # | ||
279 | # TIPC Configuration (EXPERIMENTAL) | ||
280 | # | ||
281 | # CONFIG_TIPC is not set | ||
282 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set |
283 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set |
284 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set |
@@ -299,6 +301,9 @@ CONFIG_IEEE80211=y | |||
299 | # CONFIG_IEEE80211_DEBUG is not set | 301 | # CONFIG_IEEE80211_DEBUG is not set |
300 | CONFIG_IEEE80211_CRYPT_WEP=y | 302 | CONFIG_IEEE80211_CRYPT_WEP=y |
301 | CONFIG_IEEE80211_CRYPT_CCMP=y | 303 | CONFIG_IEEE80211_CRYPT_CCMP=y |
304 | CONFIG_IEEE80211_SOFTMAC=y | ||
305 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
306 | CONFIG_WIRELESS_EXT=y | ||
302 | 307 | ||
303 | # | 308 | # |
304 | # Device Drivers | 309 | # Device Drivers |
@@ -343,7 +348,7 @@ CONFIG_PROC_EVENTS=y | |||
343 | # CONFIG_BLK_DEV_NBD is not set | 348 | # CONFIG_BLK_DEV_NBD is not set |
344 | # CONFIG_BLK_DEV_SX8 is not set | 349 | # CONFIG_BLK_DEV_SX8 is not set |
345 | # CONFIG_BLK_DEV_RAM is not set | 350 | # CONFIG_BLK_DEV_RAM is not set |
346 | CONFIG_BLK_DEV_RAM_COUNT=16 | 351 | # CONFIG_BLK_DEV_INITRD is not set |
347 | CONFIG_CDROM_PKTCDVD=y | 352 | CONFIG_CDROM_PKTCDVD=y |
348 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 353 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
349 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 354 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -551,7 +556,12 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
551 | # | 556 | # |
552 | # Non-8250 serial port support | 557 | # Non-8250 serial port support |
553 | # | 558 | # |
559 | CONFIG_SERIAL_CORE=y | ||
560 | CONFIG_SERIAL_TXX9=y | ||
554 | CONFIG_HAS_TXX9_SERIAL=y | 561 | CONFIG_HAS_TXX9_SERIAL=y |
562 | # CONFIG_SERIAL_TXX9_CONSOLE is not set | ||
563 | # CONFIG_SERIAL_TXX9_STDSERIAL is not set | ||
564 | # CONFIG_SERIAL_JSM is not set | ||
555 | # CONFIG_UNIX98_PTYS is not set | 565 | # CONFIG_UNIX98_PTYS is not set |
556 | CONFIG_LEGACY_PTYS=y | 566 | CONFIG_LEGACY_PTYS=y |
557 | CONFIG_LEGACY_PTY_COUNT=256 | 567 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -610,10 +620,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
610 | # | 620 | # |
611 | 621 | ||
612 | # | 622 | # |
613 | # Multimedia Capabilities Port drivers | ||
614 | # | ||
615 | |||
616 | # | ||
617 | # Multimedia devices | 623 | # Multimedia devices |
618 | # | 624 | # |
619 | # CONFIG_VIDEO_DEV is not set | 625 | # CONFIG_VIDEO_DEV is not set |
@@ -631,6 +637,7 @@ CONFIG_FB=y | |||
631 | # CONFIG_FB_CFB_COPYAREA is not set | 637 | # CONFIG_FB_CFB_COPYAREA is not set |
632 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 638 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
633 | # CONFIG_FB_MACMODES is not set | 639 | # CONFIG_FB_MACMODES is not set |
640 | CONFIG_FB_FIRMWARE_EDID=y | ||
634 | # CONFIG_FB_MODE_HELPERS is not set | 641 | # CONFIG_FB_MODE_HELPERS is not set |
635 | # CONFIG_FB_TILEBLITTING is not set | 642 | # CONFIG_FB_TILEBLITTING is not set |
636 | # CONFIG_FB_CIRRUS is not set | 643 | # CONFIG_FB_CIRRUS is not set |
@@ -642,7 +649,6 @@ CONFIG_FB=y | |||
642 | # CONFIG_FB_NVIDIA is not set | 649 | # CONFIG_FB_NVIDIA is not set |
643 | # CONFIG_FB_RIVA is not set | 650 | # CONFIG_FB_RIVA is not set |
644 | # CONFIG_FB_MATROX is not set | 651 | # CONFIG_FB_MATROX is not set |
645 | # CONFIG_FB_RADEON_OLD is not set | ||
646 | # CONFIG_FB_RADEON is not set | 652 | # CONFIG_FB_RADEON is not set |
647 | # CONFIG_FB_ATY128 is not set | 653 | # CONFIG_FB_ATY128 is not set |
648 | # CONFIG_FB_ATY is not set | 654 | # CONFIG_FB_ATY is not set |
@@ -679,6 +685,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
679 | # | 685 | # |
680 | CONFIG_USB_ARCH_HAS_HCD=y | 686 | CONFIG_USB_ARCH_HAS_HCD=y |
681 | CONFIG_USB_ARCH_HAS_OHCI=y | 687 | CONFIG_USB_ARCH_HAS_OHCI=y |
688 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
682 | # CONFIG_USB is not set | 689 | # CONFIG_USB is not set |
683 | 690 | ||
684 | # | 691 | # |
@@ -696,13 +703,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
696 | # CONFIG_MMC is not set | 703 | # CONFIG_MMC is not set |
697 | 704 | ||
698 | # | 705 | # |
706 | # LED devices | ||
707 | # | ||
708 | # CONFIG_NEW_LEDS is not set | ||
709 | |||
710 | # | ||
711 | # LED drivers | ||
712 | # | ||
713 | |||
714 | # | ||
715 | # LED Triggers | ||
716 | # | ||
717 | |||
718 | # | ||
699 | # InfiniBand support | 719 | # InfiniBand support |
700 | # | 720 | # |
701 | # CONFIG_INFINIBAND is not set | 721 | # CONFIG_INFINIBAND is not set |
702 | 722 | ||
703 | # | 723 | # |
704 | # SN Devices | 724 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
725 | # | ||
726 | |||
727 | # | ||
728 | # Real Time Clock | ||
705 | # | 729 | # |
730 | # CONFIG_RTC_CLASS is not set | ||
706 | 731 | ||
707 | # | 732 | # |
708 | # File systems | 733 | # File systems |
@@ -745,7 +770,6 @@ CONFIG_SYSFS=y | |||
745 | # CONFIG_TMPFS is not set | 770 | # CONFIG_TMPFS is not set |
746 | # CONFIG_HUGETLB_PAGE is not set | 771 | # CONFIG_HUGETLB_PAGE is not set |
747 | CONFIG_RAMFS=y | 772 | CONFIG_RAMFS=y |
748 | CONFIG_RELAYFS_FS=y | ||
749 | # CONFIG_CONFIGFS_FS is not set | 773 | # CONFIG_CONFIGFS_FS is not set |
750 | 774 | ||
751 | # | 775 | # |
@@ -809,6 +833,8 @@ CONFIG_MSDOS_PARTITION=y | |||
809 | # CONFIG_MAGIC_SYSRQ is not set | 833 | # CONFIG_MAGIC_SYSRQ is not set |
810 | # CONFIG_DEBUG_KERNEL is not set | 834 | # CONFIG_DEBUG_KERNEL is not set |
811 | CONFIG_LOG_BUF_SHIFT=14 | 835 | CONFIG_LOG_BUF_SHIFT=14 |
836 | # CONFIG_DEBUG_FS is not set | ||
837 | # CONFIG_UNWIND_INFO is not set | ||
812 | CONFIG_CROSSCOMPILE=y | 838 | CONFIG_CROSSCOMPILE=y |
813 | CONFIG_CMDLINE="" | 839 | CONFIG_CMDLINE="" |
814 | 840 | ||
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig index ef0fa9fc79d6..4d25990a0a05 100644 --- a/arch/mips/configs/lasat200_defconfig +++ b/arch/mips/configs/lasat200_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:14 2006 | 4 | # Mon Apr 24 14:51:07 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -68,6 +68,8 @@ CONFIG_PICVUE_PROC=y | |||
68 | CONFIG_DS1603=y | 68 | CONFIG_DS1603=y |
69 | CONFIG_LASAT_SYSCTL=y | 69 | CONFIG_LASAT_SYSCTL=y |
70 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 70 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
71 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
72 | CONFIG_GENERIC_HWEIGHT=y | ||
71 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 73 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_DMA_NONCOHERENT=y | 74 | CONFIG_DMA_NONCOHERENT=y |
73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -119,7 +121,6 @@ CONFIG_BOARD_SCACHE=y | |||
119 | CONFIG_R5000_CPU_SCACHE=y | 121 | CONFIG_R5000_CPU_SCACHE=y |
120 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set |
121 | # CONFIG_64BIT_PHYS_ADDR is not set | 123 | # CONFIG_64BIT_PHYS_ADDR is not set |
122 | # CONFIG_CPU_ADVANCED is not set | ||
123 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
124 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
125 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y |
@@ -141,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
141 | # Code maturity level options | 142 | # Code maturity level options |
142 | # | 143 | # |
143 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y |
144 | CONFIG_CLEAN_COMPILE=y | ||
145 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y |
146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
147 | 147 | ||
@@ -157,6 +157,7 @@ CONFIG_SYSVIPC=y | |||
157 | CONFIG_SYSCTL=y | 157 | CONFIG_SYSCTL=y |
158 | # CONFIG_AUDIT is not set | 158 | # CONFIG_AUDIT is not set |
159 | # CONFIG_IKCONFIG is not set | 159 | # CONFIG_IKCONFIG is not set |
160 | CONFIG_RELAY=y | ||
160 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" |
161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
162 | CONFIG_EMBEDDED=y | 163 | CONFIG_EMBEDDED=y |
@@ -170,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
170 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y |
171 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y |
172 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y |
173 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
174 | CONFIG_CC_ALIGN_LABELS=0 | ||
175 | CONFIG_CC_ALIGN_LOOPS=0 | ||
176 | CONFIG_CC_ALIGN_JUMPS=0 | ||
177 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y |
178 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set |
179 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 |
@@ -186,7 +183,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
186 | CONFIG_MODULES=y | 183 | CONFIG_MODULES=y |
187 | CONFIG_MODULE_UNLOAD=y | 184 | CONFIG_MODULE_UNLOAD=y |
188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
189 | CONFIG_OBSOLETE_MODPARM=y | ||
190 | CONFIG_MODVERSIONS=y | 186 | CONFIG_MODVERSIONS=y |
191 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y |
192 | CONFIG_KMOD=y | 188 | CONFIG_KMOD=y |
@@ -195,6 +191,8 @@ CONFIG_KMOD=y | |||
195 | # Block layer | 191 | # Block layer |
196 | # | 192 | # |
197 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set |
194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
195 | # CONFIG_LSF is not set | ||
198 | 196 | ||
199 | # | 197 | # |
200 | # IO Schedulers | 198 | # IO Schedulers |
@@ -214,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
214 | # | 212 | # |
215 | CONFIG_HW_HAS_PCI=y | 213 | CONFIG_HW_HAS_PCI=y |
216 | CONFIG_PCI=y | 214 | CONFIG_PCI=y |
217 | CONFIG_PCI_LEGACY_PROC=y | ||
218 | CONFIG_MMU=y | 215 | CONFIG_MMU=y |
219 | 216 | ||
220 | # | 217 | # |
@@ -242,6 +239,7 @@ CONFIG_NET=y | |||
242 | # | 239 | # |
243 | # Networking options | 240 | # Networking options |
244 | # | 241 | # |
242 | # CONFIG_NETDEBUG is not set | ||
245 | # CONFIG_PACKET is not set | 243 | # CONFIG_PACKET is not set |
246 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y |
247 | CONFIG_XFRM=y | 245 | CONFIG_XFRM=y |
@@ -259,12 +257,15 @@ CONFIG_IP_FIB_HASH=y | |||
259 | # CONFIG_INET_AH is not set | 257 | # CONFIG_INET_AH is not set |
260 | # CONFIG_INET_ESP is not set | 258 | # CONFIG_INET_ESP is not set |
261 | # CONFIG_INET_IPCOMP is not set | 259 | # CONFIG_INET_IPCOMP is not set |
262 | CONFIG_INET_TUNNEL=m | 260 | # CONFIG_INET_XFRM_TUNNEL is not set |
261 | # CONFIG_INET_TUNNEL is not set | ||
263 | CONFIG_INET_DIAG=y | 262 | CONFIG_INET_DIAG=y |
264 | CONFIG_INET_TCP_DIAG=y | 263 | CONFIG_INET_TCP_DIAG=y |
265 | # CONFIG_TCP_CONG_ADVANCED is not set | 264 | # CONFIG_TCP_CONG_ADVANCED is not set |
266 | CONFIG_TCP_CONG_BIC=y | 265 | CONFIG_TCP_CONG_BIC=y |
267 | # CONFIG_IPV6 is not set | 266 | # CONFIG_IPV6 is not set |
267 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
268 | # CONFIG_INET6_TUNNEL is not set | ||
268 | # CONFIG_NETFILTER is not set | 269 | # CONFIG_NETFILTER is not set |
269 | 270 | ||
270 | # | 271 | # |
@@ -276,6 +277,11 @@ CONFIG_TCP_CONG_BIC=y | |||
276 | # SCTP Configuration (EXPERIMENTAL) | 277 | # SCTP Configuration (EXPERIMENTAL) |
277 | # | 278 | # |
278 | # CONFIG_IP_SCTP is not set | 279 | # CONFIG_IP_SCTP is not set |
280 | |||
281 | # | ||
282 | # TIPC Configuration (EXPERIMENTAL) | ||
283 | # | ||
284 | # CONFIG_TIPC is not set | ||
279 | # CONFIG_ATM is not set | 285 | # CONFIG_ATM is not set |
280 | # CONFIG_BRIDGE is not set | 286 | # CONFIG_BRIDGE is not set |
281 | # CONFIG_VLAN_8021Q is not set | 287 | # CONFIG_VLAN_8021Q is not set |
@@ -285,11 +291,6 @@ CONFIG_TCP_CONG_BIC=y | |||
285 | # CONFIG_ATALK is not set | 291 | # CONFIG_ATALK is not set |
286 | # CONFIG_X25 is not set | 292 | # CONFIG_X25 is not set |
287 | # CONFIG_LAPB is not set | 293 | # CONFIG_LAPB is not set |
288 | |||
289 | # | ||
290 | # TIPC Configuration (EXPERIMENTAL) | ||
291 | # | ||
292 | # CONFIG_TIPC is not set | ||
293 | # CONFIG_NET_DIVERT is not set | 294 | # CONFIG_NET_DIVERT is not set |
294 | # CONFIG_ECONET is not set | 295 | # CONFIG_ECONET is not set |
295 | # CONFIG_WAN_ROUTER is not set | 296 | # CONFIG_WAN_ROUTER is not set |
@@ -310,6 +311,9 @@ CONFIG_IEEE80211=m | |||
310 | # CONFIG_IEEE80211_DEBUG is not set | 311 | # CONFIG_IEEE80211_DEBUG is not set |
311 | CONFIG_IEEE80211_CRYPT_WEP=m | 312 | CONFIG_IEEE80211_CRYPT_WEP=m |
312 | CONFIG_IEEE80211_CRYPT_CCMP=m | 313 | CONFIG_IEEE80211_CRYPT_CCMP=m |
314 | CONFIG_IEEE80211_SOFTMAC=m | ||
315 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
316 | CONFIG_WIRELESS_EXT=y | ||
313 | 317 | ||
314 | # | 318 | # |
315 | # Device Drivers | 319 | # Device Drivers |
@@ -366,7 +370,6 @@ CONFIG_MTD_CFI_I2=y | |||
366 | # CONFIG_MTD_CFI_I8 is not set | 370 | # CONFIG_MTD_CFI_I8 is not set |
367 | # CONFIG_MTD_CFI_INTELEXT is not set | 371 | # CONFIG_MTD_CFI_INTELEXT is not set |
368 | CONFIG_MTD_CFI_AMDSTD=y | 372 | CONFIG_MTD_CFI_AMDSTD=y |
369 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
370 | # CONFIG_MTD_CFI_STAA is not set | 373 | # CONFIG_MTD_CFI_STAA is not set |
371 | CONFIG_MTD_CFI_UTIL=y | 374 | CONFIG_MTD_CFI_UTIL=y |
372 | # CONFIG_MTD_RAM is not set | 375 | # CONFIG_MTD_RAM is not set |
@@ -389,7 +392,6 @@ CONFIG_MTD_LASAT=y | |||
389 | # CONFIG_MTD_SLRAM is not set | 392 | # CONFIG_MTD_SLRAM is not set |
390 | # CONFIG_MTD_PHRAM is not set | 393 | # CONFIG_MTD_PHRAM is not set |
391 | # CONFIG_MTD_MTDRAM is not set | 394 | # CONFIG_MTD_MTDRAM is not set |
392 | # CONFIG_MTD_BLKMTD is not set | ||
393 | # CONFIG_MTD_BLOCK2MTD is not set | 395 | # CONFIG_MTD_BLOCK2MTD is not set |
394 | 396 | ||
395 | # | 397 | # |
@@ -430,7 +432,7 @@ CONFIG_MTD_LASAT=y | |||
430 | # CONFIG_BLK_DEV_NBD is not set | 432 | # CONFIG_BLK_DEV_NBD is not set |
431 | # CONFIG_BLK_DEV_SX8 is not set | 433 | # CONFIG_BLK_DEV_SX8 is not set |
432 | # CONFIG_BLK_DEV_RAM is not set | 434 | # CONFIG_BLK_DEV_RAM is not set |
433 | CONFIG_BLK_DEV_RAM_COUNT=16 | 435 | # CONFIG_BLK_DEV_INITRD is not set |
434 | CONFIG_CDROM_PKTCDVD=m | 436 | CONFIG_CDROM_PKTCDVD=m |
435 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 437 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
436 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 438 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -672,6 +674,7 @@ CONFIG_HW_CONSOLE=y | |||
672 | # | 674 | # |
673 | CONFIG_SERIAL_8250=y | 675 | CONFIG_SERIAL_8250=y |
674 | CONFIG_SERIAL_8250_CONSOLE=y | 676 | CONFIG_SERIAL_8250_CONSOLE=y |
677 | CONFIG_SERIAL_8250_PCI=y | ||
675 | CONFIG_SERIAL_8250_NR_UARTS=4 | 678 | CONFIG_SERIAL_8250_NR_UARTS=4 |
676 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 679 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
677 | # CONFIG_SERIAL_8250_EXTENDED is not set | 680 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -681,6 +684,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
681 | # | 684 | # |
682 | CONFIG_SERIAL_CORE=y | 685 | CONFIG_SERIAL_CORE=y |
683 | CONFIG_SERIAL_CORE_CONSOLE=y | 686 | CONFIG_SERIAL_CORE_CONSOLE=y |
687 | # CONFIG_SERIAL_JSM is not set | ||
684 | CONFIG_UNIX98_PTYS=y | 688 | CONFIG_UNIX98_PTYS=y |
685 | CONFIG_LEGACY_PTYS=y | 689 | CONFIG_LEGACY_PTYS=y |
686 | CONFIG_LEGACY_PTY_COUNT=256 | 690 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -739,10 +743,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
739 | # | 743 | # |
740 | 744 | ||
741 | # | 745 | # |
742 | # Multimedia Capabilities Port drivers | ||
743 | # | ||
744 | |||
745 | # | ||
746 | # Multimedia devices | 746 | # Multimedia devices |
747 | # | 747 | # |
748 | # CONFIG_VIDEO_DEV is not set | 748 | # CONFIG_VIDEO_DEV is not set |
@@ -773,6 +773,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
773 | # | 773 | # |
774 | CONFIG_USB_ARCH_HAS_HCD=y | 774 | CONFIG_USB_ARCH_HAS_HCD=y |
775 | CONFIG_USB_ARCH_HAS_OHCI=y | 775 | CONFIG_USB_ARCH_HAS_OHCI=y |
776 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
776 | # CONFIG_USB is not set | 777 | # CONFIG_USB is not set |
777 | 778 | ||
778 | # | 779 | # |
@@ -790,13 +791,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
790 | # CONFIG_MMC is not set | 791 | # CONFIG_MMC is not set |
791 | 792 | ||
792 | # | 793 | # |
794 | # LED devices | ||
795 | # | ||
796 | # CONFIG_NEW_LEDS is not set | ||
797 | |||
798 | # | ||
799 | # LED drivers | ||
800 | # | ||
801 | |||
802 | # | ||
803 | # LED Triggers | ||
804 | # | ||
805 | |||
806 | # | ||
793 | # InfiniBand support | 807 | # InfiniBand support |
794 | # | 808 | # |
795 | # CONFIG_INFINIBAND is not set | 809 | # CONFIG_INFINIBAND is not set |
796 | 810 | ||
797 | # | 811 | # |
798 | # SN Devices | 812 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
813 | # | ||
814 | |||
815 | # | ||
816 | # Real Time Clock | ||
799 | # | 817 | # |
818 | # CONFIG_RTC_CLASS is not set | ||
800 | 819 | ||
801 | # | 820 | # |
802 | # File systems | 821 | # File systems |
@@ -847,7 +866,6 @@ CONFIG_SYSFS=y | |||
847 | # CONFIG_TMPFS is not set | 866 | # CONFIG_TMPFS is not set |
848 | # CONFIG_HUGETLB_PAGE is not set | 867 | # CONFIG_HUGETLB_PAGE is not set |
849 | CONFIG_RAMFS=y | 868 | CONFIG_RAMFS=y |
850 | CONFIG_RELAYFS_FS=m | ||
851 | # CONFIG_CONFIGFS_FS is not set | 869 | # CONFIG_CONFIGFS_FS is not set |
852 | 870 | ||
853 | # | 871 | # |
@@ -914,6 +932,7 @@ CONFIG_MSDOS_PARTITION=y | |||
914 | # CONFIG_MAGIC_SYSRQ is not set | 932 | # CONFIG_MAGIC_SYSRQ is not set |
915 | # CONFIG_DEBUG_KERNEL is not set | 933 | # CONFIG_DEBUG_KERNEL is not set |
916 | CONFIG_LOG_BUF_SHIFT=14 | 934 | CONFIG_LOG_BUF_SHIFT=14 |
935 | # CONFIG_DEBUG_FS is not set | ||
917 | CONFIG_CROSSCOMPILE=y | 936 | CONFIG_CROSSCOMPILE=y |
918 | CONFIG_CMDLINE="" | 937 | CONFIG_CMDLINE="" |
919 | 938 | ||
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig index 367d279efdd9..977f52be51dc 100644 --- a/arch/mips/configs/malta_defconfig +++ b/arch/mips/configs/malta_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:15 2006 | 4 | # Mon Apr 24 14:51:08 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_MALTA=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 70 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
@@ -128,16 +130,21 @@ CONFIG_PAGE_SIZE_4KB=y | |||
128 | # CONFIG_PAGE_SIZE_64KB is not set | 130 | # CONFIG_PAGE_SIZE_64KB is not set |
129 | CONFIG_CPU_HAS_PREFETCH=y | 131 | CONFIG_CPU_HAS_PREFETCH=y |
130 | CONFIG_MIPS_MT=y | 132 | CONFIG_MIPS_MT=y |
133 | # CONFIG_MIPS_MT_SMTC is not set | ||
131 | # CONFIG_MIPS_MT_SMP is not set | 134 | # CONFIG_MIPS_MT_SMP is not set |
132 | CONFIG_MIPS_VPE_LOADER=y | 135 | CONFIG_MIPS_VPE_LOADER=y |
136 | CONFIG_MIPS_MT_FPAFF=y | ||
133 | CONFIG_MIPS_VPE_LOADER_TOM=y | 137 | CONFIG_MIPS_VPE_LOADER_TOM=y |
134 | CONFIG_MIPS_VPE_APSP_API=y | 138 | CONFIG_MIPS_VPE_APSP_API=y |
139 | CONFIG_MIPS_APSP_KSPD=y | ||
135 | # CONFIG_64BIT_PHYS_ADDR is not set | 140 | # CONFIG_64BIT_PHYS_ADDR is not set |
136 | # CONFIG_CPU_ADVANCED is not set | ||
137 | CONFIG_CPU_HAS_LLSC=y | 141 | CONFIG_CPU_HAS_LLSC=y |
142 | # CONFIG_CPU_MIPSR2_IRQ_VI is not set | ||
143 | # CONFIG_CPU_MIPSR2_IRQ_EI is not set | ||
138 | CONFIG_CPU_HAS_SYNC=y | 144 | CONFIG_CPU_HAS_SYNC=y |
139 | CONFIG_GENERIC_HARDIRQS=y | 145 | CONFIG_GENERIC_HARDIRQS=y |
140 | CONFIG_GENERIC_IRQ_PROBE=y | 146 | CONFIG_GENERIC_IRQ_PROBE=y |
147 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
141 | CONFIG_ARCH_FLATMEM_ENABLE=y | 148 | CONFIG_ARCH_FLATMEM_ENABLE=y |
142 | CONFIG_SELECT_MEMORY_MODEL=y | 149 | CONFIG_SELECT_MEMORY_MODEL=y |
143 | CONFIG_FLATMEM_MANUAL=y | 150 | CONFIG_FLATMEM_MANUAL=y |
@@ -155,7 +162,6 @@ CONFIG_PREEMPT_NONE=y | |||
155 | # Code maturity level options | 162 | # Code maturity level options |
156 | # | 163 | # |
157 | CONFIG_EXPERIMENTAL=y | 164 | CONFIG_EXPERIMENTAL=y |
158 | CONFIG_CLEAN_COMPILE=y | ||
159 | CONFIG_BROKEN_ON_SMP=y | 165 | CONFIG_BROKEN_ON_SMP=y |
160 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 166 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
161 | 167 | ||
@@ -171,6 +177,7 @@ CONFIG_SYSVIPC=y | |||
171 | CONFIG_SYSCTL=y | 177 | CONFIG_SYSCTL=y |
172 | # CONFIG_AUDIT is not set | 178 | # CONFIG_AUDIT is not set |
173 | # CONFIG_IKCONFIG is not set | 179 | # CONFIG_IKCONFIG is not set |
180 | CONFIG_RELAY=y | ||
174 | CONFIG_INITRAMFS_SOURCE="" | 181 | CONFIG_INITRAMFS_SOURCE="" |
175 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 182 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
176 | CONFIG_EMBEDDED=y | 183 | CONFIG_EMBEDDED=y |
@@ -184,10 +191,6 @@ CONFIG_BASE_FULL=y | |||
184 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
185 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
186 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
187 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
188 | CONFIG_CC_ALIGN_LABELS=0 | ||
189 | CONFIG_CC_ALIGN_LOOPS=0 | ||
190 | CONFIG_CC_ALIGN_JUMPS=0 | ||
191 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
192 | # CONFIG_TINY_SHMEM is not set | 195 | # CONFIG_TINY_SHMEM is not set |
193 | CONFIG_BASE_SMALL=0 | 196 | CONFIG_BASE_SMALL=0 |
@@ -199,7 +202,6 @@ CONFIG_BASE_SMALL=0 | |||
199 | CONFIG_MODULES=y | 202 | CONFIG_MODULES=y |
200 | CONFIG_MODULE_UNLOAD=y | 203 | CONFIG_MODULE_UNLOAD=y |
201 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 204 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
202 | CONFIG_OBSOLETE_MODPARM=y | ||
203 | CONFIG_MODVERSIONS=y | 205 | CONFIG_MODVERSIONS=y |
204 | CONFIG_MODULE_SRCVERSION_ALL=y | 206 | CONFIG_MODULE_SRCVERSION_ALL=y |
205 | CONFIG_KMOD=y | 207 | CONFIG_KMOD=y |
@@ -208,6 +210,8 @@ CONFIG_KMOD=y | |||
208 | # Block layer | 210 | # Block layer |
209 | # | 211 | # |
210 | # CONFIG_LBD is not set | 212 | # CONFIG_LBD is not set |
213 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
214 | # CONFIG_LSF is not set | ||
211 | 215 | ||
212 | # | 216 | # |
213 | # IO Schedulers | 217 | # IO Schedulers |
@@ -227,7 +231,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
227 | # | 231 | # |
228 | CONFIG_HW_HAS_PCI=y | 232 | CONFIG_HW_HAS_PCI=y |
229 | CONFIG_PCI=y | 233 | CONFIG_PCI=y |
230 | CONFIG_PCI_LEGACY_PROC=y | ||
231 | CONFIG_MMU=y | 234 | CONFIG_MMU=y |
232 | 235 | ||
233 | # | 236 | # |
@@ -255,6 +258,7 @@ CONFIG_NET=y | |||
255 | # | 258 | # |
256 | # Networking options | 259 | # Networking options |
257 | # | 260 | # |
261 | # CONFIG_NETDEBUG is not set | ||
258 | CONFIG_PACKET=y | 262 | CONFIG_PACKET=y |
259 | CONFIG_PACKET_MMAP=y | 263 | CONFIG_PACKET_MMAP=y |
260 | CONFIG_UNIX=y | 264 | CONFIG_UNIX=y |
@@ -287,6 +291,7 @@ CONFIG_SYN_COOKIES=y | |||
287 | CONFIG_INET_AH=m | 291 | CONFIG_INET_AH=m |
288 | CONFIG_INET_ESP=m | 292 | CONFIG_INET_ESP=m |
289 | CONFIG_INET_IPCOMP=m | 293 | CONFIG_INET_IPCOMP=m |
294 | CONFIG_INET_XFRM_TUNNEL=m | ||
290 | CONFIG_INET_TUNNEL=m | 295 | CONFIG_INET_TUNNEL=m |
291 | CONFIG_INET_DIAG=y | 296 | CONFIG_INET_DIAG=y |
292 | CONFIG_INET_TCP_DIAG=y | 297 | CONFIG_INET_TCP_DIAG=y |
@@ -328,9 +333,12 @@ CONFIG_IP_VS_NQ=m | |||
328 | CONFIG_IP_VS_FTP=m | 333 | CONFIG_IP_VS_FTP=m |
329 | CONFIG_IPV6=m | 334 | CONFIG_IPV6=m |
330 | CONFIG_IPV6_PRIVACY=y | 335 | CONFIG_IPV6_PRIVACY=y |
336 | CONFIG_IPV6_ROUTER_PREF=y | ||
337 | CONFIG_IPV6_ROUTE_INFO=y | ||
331 | CONFIG_INET6_AH=m | 338 | CONFIG_INET6_AH=m |
332 | CONFIG_INET6_ESP=m | 339 | CONFIG_INET6_ESP=m |
333 | CONFIG_INET6_IPCOMP=m | 340 | CONFIG_INET6_IPCOMP=m |
341 | CONFIG_INET6_XFRM_TUNNEL=m | ||
334 | CONFIG_INET6_TUNNEL=m | 342 | CONFIG_INET6_TUNNEL=m |
335 | CONFIG_IPV6_TUNNEL=m | 343 | CONFIG_IPV6_TUNNEL=m |
336 | CONFIG_NETFILTER=y | 344 | CONFIG_NETFILTER=y |
@@ -354,11 +362,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
354 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 362 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
355 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 363 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
356 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 364 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
365 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
357 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 366 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
358 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 367 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
359 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 368 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
360 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 369 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
361 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 370 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
371 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
372 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
362 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set | 373 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set |
363 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 374 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
364 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 375 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
@@ -382,20 +393,19 @@ CONFIG_IP_NF_IRC=m | |||
382 | CONFIG_IP_NF_TFTP=m | 393 | CONFIG_IP_NF_TFTP=m |
383 | CONFIG_IP_NF_AMANDA=m | 394 | CONFIG_IP_NF_AMANDA=m |
384 | CONFIG_IP_NF_PPTP=m | 395 | CONFIG_IP_NF_PPTP=m |
396 | CONFIG_IP_NF_H323=m | ||
385 | CONFIG_IP_NF_QUEUE=m | 397 | CONFIG_IP_NF_QUEUE=m |
386 | CONFIG_IP_NF_IPTABLES=m | 398 | CONFIG_IP_NF_IPTABLES=m |
387 | CONFIG_IP_NF_MATCH_IPRANGE=m | 399 | CONFIG_IP_NF_MATCH_IPRANGE=m |
388 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
389 | CONFIG_IP_NF_MATCH_TOS=m | 400 | CONFIG_IP_NF_MATCH_TOS=m |
390 | CONFIG_IP_NF_MATCH_RECENT=m | 401 | CONFIG_IP_NF_MATCH_RECENT=m |
391 | CONFIG_IP_NF_MATCH_ECN=m | 402 | CONFIG_IP_NF_MATCH_ECN=m |
392 | CONFIG_IP_NF_MATCH_DSCP=m | 403 | CONFIG_IP_NF_MATCH_DSCP=m |
393 | CONFIG_IP_NF_MATCH_AH_ESP=m | 404 | CONFIG_IP_NF_MATCH_AH=m |
394 | CONFIG_IP_NF_MATCH_TTL=m | 405 | CONFIG_IP_NF_MATCH_TTL=m |
395 | CONFIG_IP_NF_MATCH_OWNER=m | 406 | CONFIG_IP_NF_MATCH_OWNER=m |
396 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 407 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
397 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 408 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
398 | CONFIG_IP_NF_MATCH_POLICY=m | ||
399 | CONFIG_IP_NF_FILTER=m | 409 | CONFIG_IP_NF_FILTER=m |
400 | CONFIG_IP_NF_TARGET_REJECT=m | 410 | CONFIG_IP_NF_TARGET_REJECT=m |
401 | CONFIG_IP_NF_TARGET_LOG=m | 411 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -413,6 +423,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
413 | CONFIG_IP_NF_NAT_TFTP=m | 423 | CONFIG_IP_NF_NAT_TFTP=m |
414 | CONFIG_IP_NF_NAT_AMANDA=m | 424 | CONFIG_IP_NF_NAT_AMANDA=m |
415 | CONFIG_IP_NF_NAT_PPTP=m | 425 | CONFIG_IP_NF_NAT_PPTP=m |
426 | CONFIG_IP_NF_NAT_H323=m | ||
416 | CONFIG_IP_NF_MANGLE=m | 427 | CONFIG_IP_NF_MANGLE=m |
417 | CONFIG_IP_NF_TARGET_TOS=m | 428 | CONFIG_IP_NF_TARGET_TOS=m |
418 | CONFIG_IP_NF_TARGET_ECN=m | 429 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -433,12 +444,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
433 | CONFIG_IP6_NF_MATCH_OPTS=m | 444 | CONFIG_IP6_NF_MATCH_OPTS=m |
434 | CONFIG_IP6_NF_MATCH_FRAG=m | 445 | CONFIG_IP6_NF_MATCH_FRAG=m |
435 | CONFIG_IP6_NF_MATCH_HL=m | 446 | CONFIG_IP6_NF_MATCH_HL=m |
436 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
437 | CONFIG_IP6_NF_MATCH_OWNER=m | 447 | CONFIG_IP6_NF_MATCH_OWNER=m |
438 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 448 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
439 | CONFIG_IP6_NF_MATCH_AHESP=m | 449 | CONFIG_IP6_NF_MATCH_AH=m |
440 | CONFIG_IP6_NF_MATCH_EUI64=m | 450 | CONFIG_IP6_NF_MATCH_EUI64=m |
441 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
442 | CONFIG_IP6_NF_FILTER=m | 451 | CONFIG_IP6_NF_FILTER=m |
443 | CONFIG_IP6_NF_TARGET_LOG=m | 452 | CONFIG_IP6_NF_TARGET_LOG=m |
444 | CONFIG_IP6_NF_TARGET_REJECT=m | 453 | CONFIG_IP6_NF_TARGET_REJECT=m |
@@ -484,6 +493,11 @@ CONFIG_IP_SCTP=m | |||
484 | # CONFIG_SCTP_HMAC_NONE is not set | 493 | # CONFIG_SCTP_HMAC_NONE is not set |
485 | # CONFIG_SCTP_HMAC_SHA1 is not set | 494 | # CONFIG_SCTP_HMAC_SHA1 is not set |
486 | CONFIG_SCTP_HMAC_MD5=y | 495 | CONFIG_SCTP_HMAC_MD5=y |
496 | |||
497 | # | ||
498 | # TIPC Configuration (EXPERIMENTAL) | ||
499 | # | ||
500 | # CONFIG_TIPC is not set | ||
487 | # CONFIG_ATM is not set | 501 | # CONFIG_ATM is not set |
488 | CONFIG_BRIDGE=m | 502 | CONFIG_BRIDGE=m |
489 | CONFIG_VLAN_8021Q=m | 503 | CONFIG_VLAN_8021Q=m |
@@ -498,11 +512,6 @@ CONFIG_IPDDP_ENCAP=y | |||
498 | CONFIG_IPDDP_DECAP=y | 512 | CONFIG_IPDDP_DECAP=y |
499 | # CONFIG_X25 is not set | 513 | # CONFIG_X25 is not set |
500 | # CONFIG_LAPB is not set | 514 | # CONFIG_LAPB is not set |
501 | |||
502 | # | ||
503 | # TIPC Configuration (EXPERIMENTAL) | ||
504 | # | ||
505 | # CONFIG_TIPC is not set | ||
506 | CONFIG_NET_DIVERT=y | 515 | CONFIG_NET_DIVERT=y |
507 | # CONFIG_ECONET is not set | 516 | # CONFIG_ECONET is not set |
508 | # CONFIG_WAN_ROUTER is not set | 517 | # CONFIG_WAN_ROUTER is not set |
@@ -562,6 +571,9 @@ CONFIG_IEEE80211=m | |||
562 | # CONFIG_IEEE80211_DEBUG is not set | 571 | # CONFIG_IEEE80211_DEBUG is not set |
563 | CONFIG_IEEE80211_CRYPT_WEP=m | 572 | CONFIG_IEEE80211_CRYPT_WEP=m |
564 | CONFIG_IEEE80211_CRYPT_CCMP=m | 573 | CONFIG_IEEE80211_CRYPT_CCMP=m |
574 | CONFIG_IEEE80211_SOFTMAC=m | ||
575 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
576 | CONFIG_WIRELESS_EXT=y | ||
565 | 577 | ||
566 | # | 578 | # |
567 | # Device Drivers | 579 | # Device Drivers |
@@ -734,7 +746,6 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
734 | # CONFIG_SCSI_INIA100 is not set | 746 | # CONFIG_SCSI_INIA100 is not set |
735 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 747 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
736 | # CONFIG_SCSI_IPR is not set | 748 | # CONFIG_SCSI_IPR is not set |
737 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
738 | # CONFIG_SCSI_QLOGIC_1280 is not set | 749 | # CONFIG_SCSI_QLOGIC_1280 is not set |
739 | # CONFIG_SCSI_QLA_FC is not set | 750 | # CONFIG_SCSI_QLA_FC is not set |
740 | # CONFIG_SCSI_LPFC is not set | 751 | # CONFIG_SCSI_LPFC is not set |
@@ -753,6 +764,7 @@ CONFIG_MD_RAID0=m | |||
753 | CONFIG_MD_RAID1=m | 764 | CONFIG_MD_RAID1=m |
754 | CONFIG_MD_RAID10=m | 765 | CONFIG_MD_RAID10=m |
755 | CONFIG_MD_RAID5=m | 766 | CONFIG_MD_RAID5=m |
767 | CONFIG_MD_RAID5_RESHAPE=y | ||
756 | CONFIG_MD_RAID6=m | 768 | CONFIG_MD_RAID6=m |
757 | CONFIG_MD_MULTIPATH=m | 769 | CONFIG_MD_MULTIPATH=m |
758 | CONFIG_MD_FAULTY=m | 770 | CONFIG_MD_FAULTY=m |
@@ -956,6 +968,7 @@ CONFIG_HW_CONSOLE=y | |||
956 | # | 968 | # |
957 | CONFIG_SERIAL_8250=y | 969 | CONFIG_SERIAL_8250=y |
958 | CONFIG_SERIAL_8250_CONSOLE=y | 970 | CONFIG_SERIAL_8250_CONSOLE=y |
971 | CONFIG_SERIAL_8250_PCI=y | ||
959 | CONFIG_SERIAL_8250_NR_UARTS=4 | 972 | CONFIG_SERIAL_8250_NR_UARTS=4 |
960 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 973 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
961 | # CONFIG_SERIAL_8250_EXTENDED is not set | 974 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -965,6 +978,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
965 | # | 978 | # |
966 | CONFIG_SERIAL_CORE=y | 979 | CONFIG_SERIAL_CORE=y |
967 | CONFIG_SERIAL_CORE_CONSOLE=y | 980 | CONFIG_SERIAL_CORE_CONSOLE=y |
981 | # CONFIG_SERIAL_JSM is not set | ||
968 | CONFIG_UNIX98_PTYS=y | 982 | CONFIG_UNIX98_PTYS=y |
969 | CONFIG_LEGACY_PTYS=y | 983 | CONFIG_LEGACY_PTYS=y |
970 | CONFIG_LEGACY_PTY_COUNT=256 | 984 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -1022,10 +1036,6 @@ CONFIG_RTC=y | |||
1022 | # | 1036 | # |
1023 | 1037 | ||
1024 | # | 1038 | # |
1025 | # Multimedia Capabilities Port drivers | ||
1026 | # | ||
1027 | |||
1028 | # | ||
1029 | # Multimedia devices | 1039 | # Multimedia devices |
1030 | # | 1040 | # |
1031 | # CONFIG_VIDEO_DEV is not set | 1041 | # CONFIG_VIDEO_DEV is not set |
@@ -1056,6 +1066,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
1056 | # | 1066 | # |
1057 | CONFIG_USB_ARCH_HAS_HCD=y | 1067 | CONFIG_USB_ARCH_HAS_HCD=y |
1058 | CONFIG_USB_ARCH_HAS_OHCI=y | 1068 | CONFIG_USB_ARCH_HAS_OHCI=y |
1069 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1059 | # CONFIG_USB is not set | 1070 | # CONFIG_USB is not set |
1060 | 1071 | ||
1061 | # | 1072 | # |
@@ -1073,13 +1084,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
1073 | # CONFIG_MMC is not set | 1084 | # CONFIG_MMC is not set |
1074 | 1085 | ||
1075 | # | 1086 | # |
1087 | # LED devices | ||
1088 | # | ||
1089 | # CONFIG_NEW_LEDS is not set | ||
1090 | |||
1091 | # | ||
1092 | # LED drivers | ||
1093 | # | ||
1094 | |||
1095 | # | ||
1096 | # LED Triggers | ||
1097 | # | ||
1098 | |||
1099 | # | ||
1076 | # InfiniBand support | 1100 | # InfiniBand support |
1077 | # | 1101 | # |
1078 | # CONFIG_INFINIBAND is not set | 1102 | # CONFIG_INFINIBAND is not set |
1079 | 1103 | ||
1080 | # | 1104 | # |
1081 | # SN Devices | 1105 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1106 | # | ||
1107 | |||
1108 | # | ||
1109 | # Real Time Clock | ||
1082 | # | 1110 | # |
1111 | # CONFIG_RTC_CLASS is not set | ||
1083 | 1112 | ||
1084 | # | 1113 | # |
1085 | # File systems | 1114 | # File systems |
@@ -1154,7 +1183,6 @@ CONFIG_SYSFS=y | |||
1154 | # CONFIG_TMPFS is not set | 1183 | # CONFIG_TMPFS is not set |
1155 | # CONFIG_HUGETLB_PAGE is not set | 1184 | # CONFIG_HUGETLB_PAGE is not set |
1156 | CONFIG_RAMFS=y | 1185 | CONFIG_RAMFS=y |
1157 | CONFIG_RELAYFS_FS=m | ||
1158 | # CONFIG_CONFIGFS_FS is not set | 1186 | # CONFIG_CONFIGFS_FS is not set |
1159 | 1187 | ||
1160 | # | 1188 | # |
@@ -1174,7 +1202,6 @@ CONFIG_VXFS_FS=m | |||
1174 | # CONFIG_QNX4FS_FS is not set | 1202 | # CONFIG_QNX4FS_FS is not set |
1175 | CONFIG_SYSV_FS=m | 1203 | CONFIG_SYSV_FS=m |
1176 | CONFIG_UFS_FS=m | 1204 | CONFIG_UFS_FS=m |
1177 | # CONFIG_UFS_FS_WRITE is not set | ||
1178 | 1205 | ||
1179 | # | 1206 | # |
1180 | # Network File Systems | 1207 | # Network File Systems |
@@ -1266,6 +1293,7 @@ CONFIG_NLS_UTF8=m | |||
1266 | # CONFIG_MAGIC_SYSRQ is not set | 1293 | # CONFIG_MAGIC_SYSRQ is not set |
1267 | # CONFIG_DEBUG_KERNEL is not set | 1294 | # CONFIG_DEBUG_KERNEL is not set |
1268 | CONFIG_LOG_BUF_SHIFT=14 | 1295 | CONFIG_LOG_BUF_SHIFT=14 |
1296 | # CONFIG_DEBUG_FS is not set | ||
1269 | CONFIG_CROSSCOMPILE=y | 1297 | CONFIG_CROSSCOMPILE=y |
1270 | CONFIG_CMDLINE="" | 1298 | CONFIG_CMDLINE="" |
1271 | 1299 | ||
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig index fe78961762b8..00560e0143f1 100644 --- a/arch/mips/configs/mipssim_defconfig +++ b/arch/mips/configs/mipssim_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:16 2006 | 4 | # Mon Apr 24 14:51:09 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_SIM=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,16 +116,19 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_64KB is not set | 116 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y |
116 | CONFIG_MIPS_MT=y | 118 | CONFIG_MIPS_MT=y |
119 | # CONFIG_MIPS_MT_SMTC is not set | ||
117 | # CONFIG_MIPS_MT_SMP is not set | 120 | # CONFIG_MIPS_MT_SMP is not set |
118 | CONFIG_MIPS_VPE_LOADER=y | 121 | CONFIG_MIPS_VPE_LOADER=y |
122 | CONFIG_MIPS_MT_FPAFF=y | ||
119 | CONFIG_MIPS_VPE_LOADER_TOM=y | 123 | CONFIG_MIPS_VPE_LOADER_TOM=y |
120 | CONFIG_MIPS_VPE_APSP_API=y | 124 | CONFIG_MIPS_VPE_APSP_API=y |
125 | CONFIG_MIPS_APSP_KSPD=y | ||
121 | # CONFIG_64BIT_PHYS_ADDR is not set | 126 | # CONFIG_64BIT_PHYS_ADDR is not set |
122 | # CONFIG_CPU_ADVANCED is not set | ||
123 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y |
124 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y |
125 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y |
126 | CONFIG_GENERIC_IRQ_PROBE=y | 130 | CONFIG_GENERIC_IRQ_PROBE=y |
131 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
127 | CONFIG_ARCH_FLATMEM_ENABLE=y | 132 | CONFIG_ARCH_FLATMEM_ENABLE=y |
128 | CONFIG_SELECT_MEMORY_MODEL=y | 133 | CONFIG_SELECT_MEMORY_MODEL=y |
129 | CONFIG_FLATMEM_MANUAL=y | 134 | CONFIG_FLATMEM_MANUAL=y |
@@ -141,7 +146,6 @@ CONFIG_PREEMPT_NONE=y | |||
141 | # Code maturity level options | 146 | # Code maturity level options |
142 | # | 147 | # |
143 | CONFIG_EXPERIMENTAL=y | 148 | CONFIG_EXPERIMENTAL=y |
144 | CONFIG_CLEAN_COMPILE=y | ||
145 | CONFIG_BROKEN_ON_SMP=y | 149 | CONFIG_BROKEN_ON_SMP=y |
146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
147 | 151 | ||
@@ -157,6 +161,7 @@ CONFIG_SYSVIPC=y | |||
157 | CONFIG_SYSCTL=y | 161 | CONFIG_SYSCTL=y |
158 | # CONFIG_AUDIT is not set | 162 | # CONFIG_AUDIT is not set |
159 | # CONFIG_IKCONFIG is not set | 163 | # CONFIG_IKCONFIG is not set |
164 | # CONFIG_RELAY is not set | ||
160 | CONFIG_INITRAMFS_SOURCE="" | 165 | CONFIG_INITRAMFS_SOURCE="" |
161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
162 | CONFIG_EMBEDDED=y | 167 | CONFIG_EMBEDDED=y |
@@ -171,10 +176,6 @@ CONFIG_BASE_FULL=y | |||
171 | CONFIG_FUTEX=y | 176 | CONFIG_FUTEX=y |
172 | CONFIG_EPOLL=y | 177 | CONFIG_EPOLL=y |
173 | CONFIG_SHMEM=y | 178 | CONFIG_SHMEM=y |
174 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
175 | CONFIG_CC_ALIGN_LABELS=0 | ||
176 | CONFIG_CC_ALIGN_LOOPS=0 | ||
177 | CONFIG_CC_ALIGN_JUMPS=0 | ||
178 | CONFIG_SLAB=y | 179 | CONFIG_SLAB=y |
179 | # CONFIG_TINY_SHMEM is not set | 180 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 181 | CONFIG_BASE_SMALL=0 |
@@ -186,7 +187,6 @@ CONFIG_BASE_SMALL=0 | |||
186 | CONFIG_MODULES=y | 187 | CONFIG_MODULES=y |
187 | CONFIG_MODULE_UNLOAD=y | 188 | CONFIG_MODULE_UNLOAD=y |
188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 189 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
189 | CONFIG_OBSOLETE_MODPARM=y | ||
190 | CONFIG_MODVERSIONS=y | 190 | CONFIG_MODVERSIONS=y |
191 | CONFIG_MODULE_SRCVERSION_ALL=y | 191 | CONFIG_MODULE_SRCVERSION_ALL=y |
192 | CONFIG_KMOD=y | 192 | CONFIG_KMOD=y |
@@ -195,6 +195,7 @@ CONFIG_KMOD=y | |||
195 | # Block layer | 195 | # Block layer |
196 | # | 196 | # |
197 | # CONFIG_LBD is not set | 197 | # CONFIG_LBD is not set |
198 | # CONFIG_LSF is not set | ||
198 | 199 | ||
199 | # | 200 | # |
200 | # IO Schedulers | 201 | # IO Schedulers |
@@ -238,6 +239,7 @@ CONFIG_NET=y | |||
238 | # | 239 | # |
239 | # Networking options | 240 | # Networking options |
240 | # | 241 | # |
242 | # CONFIG_NETDEBUG is not set | ||
241 | CONFIG_PACKET=y | 243 | CONFIG_PACKET=y |
242 | CONFIG_PACKET_MMAP=y | 244 | CONFIG_PACKET_MMAP=y |
243 | CONFIG_UNIX=y | 245 | CONFIG_UNIX=y |
@@ -268,12 +270,15 @@ CONFIG_SYN_COOKIES=y | |||
268 | # CONFIG_INET_AH is not set | 270 | # CONFIG_INET_AH is not set |
269 | # CONFIG_INET_ESP is not set | 271 | # CONFIG_INET_ESP is not set |
270 | # CONFIG_INET_IPCOMP is not set | 272 | # CONFIG_INET_IPCOMP is not set |
273 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
271 | # CONFIG_INET_TUNNEL is not set | 274 | # CONFIG_INET_TUNNEL is not set |
272 | CONFIG_INET_DIAG=y | 275 | CONFIG_INET_DIAG=y |
273 | CONFIG_INET_TCP_DIAG=y | 276 | CONFIG_INET_TCP_DIAG=y |
274 | # CONFIG_TCP_CONG_ADVANCED is not set | 277 | # CONFIG_TCP_CONG_ADVANCED is not set |
275 | CONFIG_TCP_CONG_BIC=y | 278 | CONFIG_TCP_CONG_BIC=y |
276 | # CONFIG_IPV6 is not set | 279 | # CONFIG_IPV6 is not set |
280 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
281 | # CONFIG_INET6_TUNNEL is not set | ||
277 | # CONFIG_NETFILTER is not set | 282 | # CONFIG_NETFILTER is not set |
278 | 283 | ||
279 | # | 284 | # |
@@ -290,6 +295,11 @@ CONFIG_IP_SCTP=m | |||
290 | # CONFIG_SCTP_HMAC_NONE is not set | 295 | # CONFIG_SCTP_HMAC_NONE is not set |
291 | # CONFIG_SCTP_HMAC_SHA1 is not set | 296 | # CONFIG_SCTP_HMAC_SHA1 is not set |
292 | CONFIG_SCTP_HMAC_MD5=y | 297 | CONFIG_SCTP_HMAC_MD5=y |
298 | |||
299 | # | ||
300 | # TIPC Configuration (EXPERIMENTAL) | ||
301 | # | ||
302 | # CONFIG_TIPC is not set | ||
293 | # CONFIG_ATM is not set | 303 | # CONFIG_ATM is not set |
294 | # CONFIG_BRIDGE is not set | 304 | # CONFIG_BRIDGE is not set |
295 | # CONFIG_VLAN_8021Q is not set | 305 | # CONFIG_VLAN_8021Q is not set |
@@ -299,11 +309,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
299 | # CONFIG_ATALK is not set | 309 | # CONFIG_ATALK is not set |
300 | # CONFIG_X25 is not set | 310 | # CONFIG_X25 is not set |
301 | # CONFIG_LAPB is not set | 311 | # CONFIG_LAPB is not set |
302 | |||
303 | # | ||
304 | # TIPC Configuration (EXPERIMENTAL) | ||
305 | # | ||
306 | # CONFIG_TIPC is not set | ||
307 | CONFIG_NET_DIVERT=y | 312 | CONFIG_NET_DIVERT=y |
308 | # CONFIG_ECONET is not set | 313 | # CONFIG_ECONET is not set |
309 | # CONFIG_WAN_ROUTER is not set | 314 | # CONFIG_WAN_ROUTER is not set |
@@ -397,7 +402,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
397 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 402 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
398 | CONFIG_BLK_DEV_NBD=y | 403 | CONFIG_BLK_DEV_NBD=y |
399 | # CONFIG_BLK_DEV_RAM is not set | 404 | # CONFIG_BLK_DEV_RAM is not set |
400 | CONFIG_BLK_DEV_RAM_COUNT=16 | 405 | # CONFIG_BLK_DEV_INITRD is not set |
401 | # CONFIG_CDROM_PKTCDVD is not set | 406 | # CONFIG_CDROM_PKTCDVD is not set |
402 | # CONFIG_ATA_OVER_ETH is not set | 407 | # CONFIG_ATA_OVER_ETH is not set |
403 | 408 | ||
@@ -532,7 +537,7 @@ CONFIG_SERIO_SERPORT=y | |||
532 | CONFIG_SERIAL_8250=y | 537 | CONFIG_SERIAL_8250=y |
533 | CONFIG_SERIAL_8250_CONSOLE=y | 538 | CONFIG_SERIAL_8250_CONSOLE=y |
534 | CONFIG_SERIAL_8250_NR_UARTS=1 | 539 | CONFIG_SERIAL_8250_NR_UARTS=1 |
535 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 540 | CONFIG_SERIAL_8250_RUNTIME_UARTS=1 |
536 | # CONFIG_SERIAL_8250_EXTENDED is not set | 541 | # CONFIG_SERIAL_8250_EXTENDED is not set |
537 | 542 | ||
538 | # | 543 | # |
@@ -596,10 +601,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
596 | # | 601 | # |
597 | 602 | ||
598 | # | 603 | # |
599 | # Multimedia Capabilities Port drivers | ||
600 | # | ||
601 | |||
602 | # | ||
603 | # Multimedia devices | 604 | # Multimedia devices |
604 | # | 605 | # |
605 | # CONFIG_VIDEO_DEV is not set | 606 | # CONFIG_VIDEO_DEV is not set |
@@ -624,6 +625,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
624 | # | 625 | # |
625 | # CONFIG_USB_ARCH_HAS_HCD is not set | 626 | # CONFIG_USB_ARCH_HAS_HCD is not set |
626 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 627 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
628 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
627 | 629 | ||
628 | # | 630 | # |
629 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 631 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -640,12 +642,30 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
640 | # CONFIG_MMC is not set | 642 | # CONFIG_MMC is not set |
641 | 643 | ||
642 | # | 644 | # |
645 | # LED devices | ||
646 | # | ||
647 | # CONFIG_NEW_LEDS is not set | ||
648 | |||
649 | # | ||
650 | # LED drivers | ||
651 | # | ||
652 | |||
653 | # | ||
654 | # LED Triggers | ||
655 | # | ||
656 | |||
657 | # | ||
643 | # InfiniBand support | 658 | # InfiniBand support |
644 | # | 659 | # |
645 | 660 | ||
646 | # | 661 | # |
647 | # SN Devices | 662 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
663 | # | ||
664 | |||
665 | # | ||
666 | # Real Time Clock | ||
648 | # | 667 | # |
668 | # CONFIG_RTC_CLASS is not set | ||
649 | 669 | ||
650 | # | 670 | # |
651 | # File systems | 671 | # File systems |
@@ -690,8 +710,6 @@ CONFIG_PROC_FS=y | |||
690 | # CONFIG_TMPFS is not set | 710 | # CONFIG_TMPFS is not set |
691 | # CONFIG_HUGETLB_PAGE is not set | 711 | # CONFIG_HUGETLB_PAGE is not set |
692 | CONFIG_RAMFS=y | 712 | CONFIG_RAMFS=y |
693 | # CONFIG_RELAYFS_FS is not set | ||
694 | # CONFIG_CONFIGFS_FS is not set | ||
695 | 713 | ||
696 | # | 714 | # |
697 | # Miscellaneous filesystems | 715 | # Miscellaneous filesystems |
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig index e4620e7f0a5e..286a018375b2 100644 --- a/arch/mips/configs/mpc30x_defconfig +++ b/arch/mips/configs/mpc30x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:17 2006 | 4 | # Mon Apr 24 14:51:09 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -72,6 +72,8 @@ CONFIG_VICTOR_MPC30X=y | |||
72 | CONFIG_PCI_VR41XX=y | 72 | CONFIG_PCI_VR41XX=y |
73 | CONFIG_VRC4173=y | 73 | CONFIG_VRC4173=y |
74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
75 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
76 | CONFIG_GENERIC_HWEIGHT=y | ||
75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
76 | CONFIG_DMA_NONCOHERENT=y | 78 | CONFIG_DMA_NONCOHERENT=y |
77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -90,7 +92,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
90 | # CONFIG_CPU_MIPS64_R2 is not set | 92 | # CONFIG_CPU_MIPS64_R2 is not set |
91 | # CONFIG_CPU_R3000 is not set | 93 | # CONFIG_CPU_R3000 is not set |
92 | # CONFIG_CPU_TX39XX is not set | 94 | # CONFIG_CPU_TX39XX is not set |
93 | # CONFIG_CPU_VR41XX is not set | 95 | CONFIG_CPU_VR41XX=y |
94 | # CONFIG_CPU_R4300 is not set | 96 | # CONFIG_CPU_R4300 is not set |
95 | # CONFIG_CPU_R4X00 is not set | 97 | # CONFIG_CPU_R4X00 is not set |
96 | # CONFIG_CPU_TX49XX is not set | 98 | # CONFIG_CPU_TX49XX is not set |
@@ -103,18 +105,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
103 | # CONFIG_CPU_RM7000 is not set | 105 | # CONFIG_CPU_RM7000 is not set |
104 | # CONFIG_CPU_RM9000 is not set | 106 | # CONFIG_CPU_RM9000 is not set |
105 | # CONFIG_CPU_SB1 is not set | 107 | # CONFIG_CPU_SB1 is not set |
108 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
109 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
110 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
111 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
106 | 112 | ||
107 | # | 113 | # |
108 | # Kernel type | 114 | # Kernel type |
109 | # | 115 | # |
110 | # CONFIG_32BIT is not set | 116 | CONFIG_32BIT=y |
111 | # CONFIG_64BIT is not set | 117 | # CONFIG_64BIT is not set |
112 | CONFIG_PAGE_SIZE_4KB=y | 118 | CONFIG_PAGE_SIZE_4KB=y |
113 | # CONFIG_PAGE_SIZE_8KB is not set | 119 | # CONFIG_PAGE_SIZE_8KB is not set |
114 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set |
117 | CONFIG_CPU_HAS_LLSC=y | ||
118 | CONFIG_CPU_HAS_SYNC=y | 123 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 124 | CONFIG_GENERIC_HARDIRQS=y |
120 | CONFIG_GENERIC_IRQ_PROBE=y | 125 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -135,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
135 | # Code maturity level options | 140 | # Code maturity level options |
136 | # | 141 | # |
137 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y |
138 | CONFIG_CLEAN_COMPILE=y | ||
139 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y |
140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
141 | 145 | ||
@@ -151,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
151 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y |
152 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set |
153 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set |
158 | CONFIG_RELAY=y | ||
154 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" |
155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
156 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y |
@@ -164,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
164 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y |
165 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y |
166 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y |
167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
168 | CONFIG_CC_ALIGN_LABELS=0 | ||
169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
171 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y |
172 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set |
173 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 |
@@ -179,7 +180,6 @@ CONFIG_BASE_SMALL=0 | |||
179 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
180 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
182 | CONFIG_OBSOLETE_MODPARM=y | ||
183 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
184 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
185 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -187,6 +187,9 @@ CONFIG_KMOD=y | |||
187 | # | 187 | # |
188 | # Block layer | 188 | # Block layer |
189 | # | 189 | # |
190 | # CONFIG_LBD is not set | ||
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
190 | 193 | ||
191 | # | 194 | # |
192 | # IO Schedulers | 195 | # IO Schedulers |
@@ -206,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
206 | # | 209 | # |
207 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y |
208 | CONFIG_PCI=y | 211 | CONFIG_PCI=y |
209 | CONFIG_PCI_LEGACY_PROC=y | ||
210 | CONFIG_MMU=y | 212 | CONFIG_MMU=y |
211 | 213 | ||
212 | # | 214 | # |
@@ -225,6 +227,7 @@ CONFIG_PCMCIA_IOCTL=y | |||
225 | # CONFIG_YENTA is not set | 227 | # CONFIG_YENTA is not set |
226 | # CONFIG_PD6729 is not set | 228 | # CONFIG_PD6729 is not set |
227 | # CONFIG_I82092 is not set | 229 | # CONFIG_I82092 is not set |
230 | # CONFIG_PCMCIA_VRC4173 is not set | ||
228 | 231 | ||
229 | # | 232 | # |
230 | # PCI Hotplug Support | 233 | # PCI Hotplug Support |
@@ -236,6 +239,7 @@ CONFIG_PCMCIA_IOCTL=y | |||
236 | # | 239 | # |
237 | CONFIG_BINFMT_ELF=y | 240 | CONFIG_BINFMT_ELF=y |
238 | # CONFIG_BINFMT_MISC is not set | 241 | # CONFIG_BINFMT_MISC is not set |
242 | CONFIG_TRAD_SIGNALS=y | ||
239 | 243 | ||
240 | # | 244 | # |
241 | # Networking | 245 | # Networking |
@@ -245,6 +249,7 @@ CONFIG_NET=y | |||
245 | # | 249 | # |
246 | # Networking options | 250 | # Networking options |
247 | # | 251 | # |
252 | # CONFIG_NETDEBUG is not set | ||
248 | CONFIG_PACKET=y | 253 | CONFIG_PACKET=y |
249 | CONFIG_PACKET_MMAP=y | 254 | CONFIG_PACKET_MMAP=y |
250 | CONFIG_UNIX=y | 255 | CONFIG_UNIX=y |
@@ -264,12 +269,15 @@ CONFIG_IP_FIB_HASH=y | |||
264 | # CONFIG_INET_AH is not set | 269 | # CONFIG_INET_AH is not set |
265 | # CONFIG_INET_ESP is not set | 270 | # CONFIG_INET_ESP is not set |
266 | # CONFIG_INET_IPCOMP is not set | 271 | # CONFIG_INET_IPCOMP is not set |
267 | CONFIG_INET_TUNNEL=m | 272 | # CONFIG_INET_XFRM_TUNNEL is not set |
273 | # CONFIG_INET_TUNNEL is not set | ||
268 | CONFIG_INET_DIAG=y | 274 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 275 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 276 | # CONFIG_TCP_CONG_ADVANCED is not set |
271 | CONFIG_TCP_CONG_BIC=y | 277 | CONFIG_TCP_CONG_BIC=y |
272 | # CONFIG_IPV6 is not set | 278 | # CONFIG_IPV6 is not set |
279 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
280 | # CONFIG_INET6_TUNNEL is not set | ||
273 | # CONFIG_NETFILTER is not set | 281 | # CONFIG_NETFILTER is not set |
274 | 282 | ||
275 | # | 283 | # |
@@ -281,6 +289,11 @@ CONFIG_TCP_CONG_BIC=y | |||
281 | # SCTP Configuration (EXPERIMENTAL) | 289 | # SCTP Configuration (EXPERIMENTAL) |
282 | # | 290 | # |
283 | # CONFIG_IP_SCTP is not set | 291 | # CONFIG_IP_SCTP is not set |
292 | |||
293 | # | ||
294 | # TIPC Configuration (EXPERIMENTAL) | ||
295 | # | ||
296 | # CONFIG_TIPC is not set | ||
284 | # CONFIG_ATM is not set | 297 | # CONFIG_ATM is not set |
285 | # CONFIG_BRIDGE is not set | 298 | # CONFIG_BRIDGE is not set |
286 | # CONFIG_VLAN_8021Q is not set | 299 | # CONFIG_VLAN_8021Q is not set |
@@ -290,11 +303,6 @@ CONFIG_TCP_CONG_BIC=y | |||
290 | # CONFIG_ATALK is not set | 303 | # CONFIG_ATALK is not set |
291 | # CONFIG_X25 is not set | 304 | # CONFIG_X25 is not set |
292 | # CONFIG_LAPB is not set | 305 | # CONFIG_LAPB is not set |
293 | |||
294 | # | ||
295 | # TIPC Configuration (EXPERIMENTAL) | ||
296 | # | ||
297 | # CONFIG_TIPC is not set | ||
298 | # CONFIG_NET_DIVERT is not set | 306 | # CONFIG_NET_DIVERT is not set |
299 | # CONFIG_ECONET is not set | 307 | # CONFIG_ECONET is not set |
300 | # CONFIG_WAN_ROUTER is not set | 308 | # CONFIG_WAN_ROUTER is not set |
@@ -316,6 +324,9 @@ CONFIG_IEEE80211=m | |||
316 | CONFIG_IEEE80211_CRYPT_WEP=m | 324 | CONFIG_IEEE80211_CRYPT_WEP=m |
317 | CONFIG_IEEE80211_CRYPT_CCMP=m | 325 | CONFIG_IEEE80211_CRYPT_CCMP=m |
318 | CONFIG_IEEE80211_CRYPT_TKIP=m | 326 | CONFIG_IEEE80211_CRYPT_TKIP=m |
327 | CONFIG_IEEE80211_SOFTMAC=m | ||
328 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
329 | CONFIG_WIRELESS_EXT=y | ||
319 | 330 | ||
320 | # | 331 | # |
321 | # Device Drivers | 332 | # Device Drivers |
@@ -360,7 +371,7 @@ CONFIG_CONNECTOR=m | |||
360 | # CONFIG_BLK_DEV_SX8 is not set | 371 | # CONFIG_BLK_DEV_SX8 is not set |
361 | # CONFIG_BLK_DEV_UB is not set | 372 | # CONFIG_BLK_DEV_UB is not set |
362 | # CONFIG_BLK_DEV_RAM is not set | 373 | # CONFIG_BLK_DEV_RAM is not set |
363 | CONFIG_BLK_DEV_RAM_COUNT=16 | 374 | # CONFIG_BLK_DEV_INITRD is not set |
364 | # CONFIG_CDROM_PKTCDVD is not set | 375 | # CONFIG_CDROM_PKTCDVD is not set |
365 | CONFIG_ATA_OVER_ETH=m | 376 | CONFIG_ATA_OVER_ETH=m |
366 | 377 | ||
@@ -475,6 +486,7 @@ CONFIG_MII=m | |||
475 | # Wireless LAN (non-hamradio) | 486 | # Wireless LAN (non-hamradio) |
476 | # | 487 | # |
477 | CONFIG_NET_RADIO=y | 488 | CONFIG_NET_RADIO=y |
489 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
478 | 490 | ||
479 | # | 491 | # |
480 | # Obsolete Wireless cards support (pre-802.11) | 492 | # Obsolete Wireless cards support (pre-802.11) |
@@ -513,6 +525,7 @@ CONFIG_PCMCIA_HERMES=m | |||
513 | # | 525 | # |
514 | # CONFIG_PRISM54 is not set | 526 | # CONFIG_PRISM54 is not set |
515 | # CONFIG_HOSTAP is not set | 527 | # CONFIG_HOSTAP is not set |
528 | # CONFIG_BCM43XX is not set | ||
516 | CONFIG_NET_WIRELESS=y | 529 | CONFIG_NET_WIRELESS=y |
517 | 530 | ||
518 | # | 531 | # |
@@ -604,6 +617,8 @@ CONFIG_HW_CONSOLE=y | |||
604 | # | 617 | # |
605 | # Non-8250 serial port support | 618 | # Non-8250 serial port support |
606 | # | 619 | # |
620 | # CONFIG_SERIAL_VR41XX is not set | ||
621 | # CONFIG_SERIAL_JSM is not set | ||
607 | CONFIG_UNIX98_PTYS=y | 622 | CONFIG_UNIX98_PTYS=y |
608 | CONFIG_LEGACY_PTYS=y | 623 | CONFIG_LEGACY_PTYS=y |
609 | CONFIG_LEGACY_PTY_COUNT=256 | 624 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -634,6 +649,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
634 | # CONFIG_SYNCLINK_CS is not set | 649 | # CONFIG_SYNCLINK_CS is not set |
635 | # CONFIG_CARDMAN_4000 is not set | 650 | # CONFIG_CARDMAN_4000 is not set |
636 | # CONFIG_CARDMAN_4040 is not set | 651 | # CONFIG_CARDMAN_4040 is not set |
652 | # CONFIG_GPIO_VR41XX is not set | ||
637 | # CONFIG_RAW_DRIVER is not set | 653 | # CONFIG_RAW_DRIVER is not set |
638 | 654 | ||
639 | # | 655 | # |
@@ -669,10 +685,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
669 | # | 685 | # |
670 | 686 | ||
671 | # | 687 | # |
672 | # Multimedia Capabilities Port drivers | ||
673 | # | ||
674 | |||
675 | # | ||
676 | # Multimedia devices | 688 | # Multimedia devices |
677 | # | 689 | # |
678 | # CONFIG_VIDEO_DEV is not set | 690 | # CONFIG_VIDEO_DEV is not set |
@@ -681,6 +693,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
681 | # Digital Video Broadcasting Devices | 693 | # Digital Video Broadcasting Devices |
682 | # | 694 | # |
683 | # CONFIG_DVB is not set | 695 | # CONFIG_DVB is not set |
696 | # CONFIG_USB_DABUSB is not set | ||
684 | 697 | ||
685 | # | 698 | # |
686 | # Graphics support | 699 | # Graphics support |
@@ -703,6 +716,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
703 | # | 716 | # |
704 | CONFIG_USB_ARCH_HAS_HCD=y | 717 | CONFIG_USB_ARCH_HAS_HCD=y |
705 | CONFIG_USB_ARCH_HAS_OHCI=y | 718 | CONFIG_USB_ARCH_HAS_OHCI=y |
719 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
706 | CONFIG_USB=m | 720 | CONFIG_USB=m |
707 | # CONFIG_USB_DEBUG is not set | 721 | # CONFIG_USB_DEBUG is not set |
708 | 722 | ||
@@ -756,9 +770,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
756 | # CONFIG_USB_ACECAD is not set | 770 | # CONFIG_USB_ACECAD is not set |
757 | # CONFIG_USB_KBTAB is not set | 771 | # CONFIG_USB_KBTAB is not set |
758 | # CONFIG_USB_POWERMATE is not set | 772 | # CONFIG_USB_POWERMATE is not set |
759 | # CONFIG_USB_MTOUCH is not set | 773 | # CONFIG_USB_TOUCHSCREEN is not set |
760 | # CONFIG_USB_ITMTOUCH is not set | ||
761 | # CONFIG_USB_EGALAX is not set | ||
762 | # CONFIG_USB_YEALINK is not set | 774 | # CONFIG_USB_YEALINK is not set |
763 | # CONFIG_USB_XPAD is not set | 775 | # CONFIG_USB_XPAD is not set |
764 | # CONFIG_USB_ATI_REMOTE is not set | 776 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -772,15 +784,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
772 | # CONFIG_USB_MDC800 is not set | 784 | # CONFIG_USB_MDC800 is not set |
773 | 785 | ||
774 | # | 786 | # |
775 | # USB Multimedia devices | ||
776 | # | ||
777 | # CONFIG_USB_DABUSB is not set | ||
778 | |||
779 | # | ||
780 | # Video4Linux support is needed for USB Multimedia device support | ||
781 | # | ||
782 | |||
783 | # | ||
784 | # USB Network Adapters | 787 | # USB Network Adapters |
785 | # | 788 | # |
786 | # CONFIG_USB_CATC is not set | 789 | # CONFIG_USB_CATC is not set |
@@ -832,13 +835,31 @@ CONFIG_USB_PEGASUS=m | |||
832 | # CONFIG_MMC is not set | 835 | # CONFIG_MMC is not set |
833 | 836 | ||
834 | # | 837 | # |
838 | # LED devices | ||
839 | # | ||
840 | # CONFIG_NEW_LEDS is not set | ||
841 | |||
842 | # | ||
843 | # LED drivers | ||
844 | # | ||
845 | |||
846 | # | ||
847 | # LED Triggers | ||
848 | # | ||
849 | |||
850 | # | ||
835 | # InfiniBand support | 851 | # InfiniBand support |
836 | # | 852 | # |
837 | # CONFIG_INFINIBAND is not set | 853 | # CONFIG_INFINIBAND is not set |
838 | 854 | ||
839 | # | 855 | # |
840 | # SN Devices | 856 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
857 | # | ||
858 | |||
859 | # | ||
860 | # Real Time Clock | ||
841 | # | 861 | # |
862 | # CONFIG_RTC_CLASS is not set | ||
842 | 863 | ||
843 | # | 864 | # |
844 | # File systems | 865 | # File systems |
@@ -883,7 +904,6 @@ CONFIG_SYSFS=y | |||
883 | # CONFIG_TMPFS is not set | 904 | # CONFIG_TMPFS is not set |
884 | # CONFIG_HUGETLB_PAGE is not set | 905 | # CONFIG_HUGETLB_PAGE is not set |
885 | CONFIG_RAMFS=y | 906 | CONFIG_RAMFS=y |
886 | CONFIG_RELAYFS_FS=m | ||
887 | # CONFIG_CONFIGFS_FS is not set | 907 | # CONFIG_CONFIGFS_FS is not set |
888 | 908 | ||
889 | # | 909 | # |
@@ -946,6 +966,7 @@ CONFIG_MSDOS_PARTITION=y | |||
946 | # CONFIG_MAGIC_SYSRQ is not set | 966 | # CONFIG_MAGIC_SYSRQ is not set |
947 | # CONFIG_DEBUG_KERNEL is not set | 967 | # CONFIG_DEBUG_KERNEL is not set |
948 | CONFIG_LOG_BUF_SHIFT=14 | 968 | CONFIG_LOG_BUF_SHIFT=14 |
969 | # CONFIG_DEBUG_FS is not set | ||
949 | CONFIG_CROSSCOMPILE=y | 970 | CONFIG_CROSSCOMPILE=y |
950 | CONFIG_CMDLINE="mem=32M console=ttyVR0,19200" | 971 | CONFIG_CMDLINE="mem=32M console=ttyVR0,19200" |
951 | 972 | ||
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig index 925d8adef88d..1ce4310fd92a 100644 --- a/arch/mips/configs/ocelot_3_defconfig +++ b/arch/mips/configs/ocelot_3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:18 2006 | 4 | # Mon Apr 24 14:51:10 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_3=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -120,7 +122,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
120 | CONFIG_CPU_HAS_PREFETCH=y | 122 | CONFIG_CPU_HAS_PREFETCH=y |
121 | # CONFIG_MIPS_MT is not set | 123 | # CONFIG_MIPS_MT is not set |
122 | # CONFIG_64BIT_PHYS_ADDR is not set | 124 | # CONFIG_64BIT_PHYS_ADDR is not set |
123 | # CONFIG_CPU_ADVANCED is not set | ||
124 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
125 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
126 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y |
@@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y | |||
144 | # Code maturity level options | 145 | # Code maturity level options |
145 | # | 146 | # |
146 | CONFIG_EXPERIMENTAL=y | 147 | CONFIG_EXPERIMENTAL=y |
147 | CONFIG_CLEAN_COMPILE=y | ||
148 | CONFIG_BROKEN_ON_SMP=y | 148 | CONFIG_BROKEN_ON_SMP=y |
149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
150 | 150 | ||
@@ -161,6 +161,7 @@ CONFIG_SYSCTL=y | |||
161 | # CONFIG_AUDIT is not set | 161 | # CONFIG_AUDIT is not set |
162 | CONFIG_IKCONFIG=y | 162 | CONFIG_IKCONFIG=y |
163 | CONFIG_IKCONFIG_PROC=y | 163 | CONFIG_IKCONFIG_PROC=y |
164 | CONFIG_RELAY=y | ||
164 | CONFIG_INITRAMFS_SOURCE="" | 165 | CONFIG_INITRAMFS_SOURCE="" |
165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
166 | CONFIG_EMBEDDED=y | 167 | CONFIG_EMBEDDED=y |
@@ -174,10 +175,6 @@ CONFIG_BASE_FULL=y | |||
174 | CONFIG_FUTEX=y | 175 | CONFIG_FUTEX=y |
175 | CONFIG_EPOLL=y | 176 | CONFIG_EPOLL=y |
176 | CONFIG_SHMEM=y | 177 | CONFIG_SHMEM=y |
177 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
178 | CONFIG_CC_ALIGN_LABELS=0 | ||
179 | CONFIG_CC_ALIGN_LOOPS=0 | ||
180 | CONFIG_CC_ALIGN_JUMPS=0 | ||
181 | CONFIG_SLAB=y | 178 | CONFIG_SLAB=y |
182 | # CONFIG_TINY_SHMEM is not set | 179 | # CONFIG_TINY_SHMEM is not set |
183 | CONFIG_BASE_SMALL=0 | 180 | CONFIG_BASE_SMALL=0 |
@@ -189,7 +186,6 @@ CONFIG_BASE_SMALL=0 | |||
189 | CONFIG_MODULES=y | 186 | CONFIG_MODULES=y |
190 | CONFIG_MODULE_UNLOAD=y | 187 | CONFIG_MODULE_UNLOAD=y |
191 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 188 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
192 | CONFIG_OBSOLETE_MODPARM=y | ||
193 | CONFIG_MODVERSIONS=y | 189 | CONFIG_MODVERSIONS=y |
194 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 190 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
195 | CONFIG_KMOD=y | 191 | CONFIG_KMOD=y |
@@ -198,6 +194,8 @@ CONFIG_KMOD=y | |||
198 | # Block layer | 194 | # Block layer |
199 | # | 195 | # |
200 | # CONFIG_LBD is not set | 196 | # CONFIG_LBD is not set |
197 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
198 | # CONFIG_LSF is not set | ||
201 | 199 | ||
202 | # | 200 | # |
203 | # IO Schedulers | 201 | # IO Schedulers |
@@ -217,7 +215,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
217 | # | 215 | # |
218 | CONFIG_HW_HAS_PCI=y | 216 | CONFIG_HW_HAS_PCI=y |
219 | CONFIG_PCI=y | 217 | CONFIG_PCI=y |
220 | CONFIG_PCI_LEGACY_PROC=y | ||
221 | CONFIG_MMU=y | 218 | CONFIG_MMU=y |
222 | 219 | ||
223 | # | 220 | # |
@@ -245,6 +242,7 @@ CONFIG_NET=y | |||
245 | # | 242 | # |
246 | # Networking options | 243 | # Networking options |
247 | # | 244 | # |
245 | # CONFIG_NETDEBUG is not set | ||
248 | CONFIG_PACKET=y | 246 | CONFIG_PACKET=y |
249 | # CONFIG_PACKET_MMAP is not set | 247 | # CONFIG_PACKET_MMAP is not set |
250 | CONFIG_UNIX=y | 248 | CONFIG_UNIX=y |
@@ -266,6 +264,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
266 | # CONFIG_INET_AH is not set | 264 | # CONFIG_INET_AH is not set |
267 | # CONFIG_INET_ESP is not set | 265 | # CONFIG_INET_ESP is not set |
268 | # CONFIG_INET_IPCOMP is not set | 266 | # CONFIG_INET_IPCOMP is not set |
267 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
269 | # CONFIG_INET_TUNNEL is not set | 268 | # CONFIG_INET_TUNNEL is not set |
270 | CONFIG_INET_DIAG=y | 269 | CONFIG_INET_DIAG=y |
271 | CONFIG_INET_TCP_DIAG=y | 270 | CONFIG_INET_TCP_DIAG=y |
@@ -278,9 +277,12 @@ CONFIG_TCP_CONG_BIC=y | |||
278 | # CONFIG_IP_VS is not set | 277 | # CONFIG_IP_VS is not set |
279 | CONFIG_IPV6=m | 278 | CONFIG_IPV6=m |
280 | # CONFIG_IPV6_PRIVACY is not set | 279 | # CONFIG_IPV6_PRIVACY is not set |
280 | CONFIG_IPV6_ROUTER_PREF=y | ||
281 | CONFIG_IPV6_ROUTE_INFO=y | ||
281 | # CONFIG_INET6_AH is not set | 282 | # CONFIG_INET6_AH is not set |
282 | # CONFIG_INET6_ESP is not set | 283 | # CONFIG_INET6_ESP is not set |
283 | # CONFIG_INET6_IPCOMP is not set | 284 | # CONFIG_INET6_IPCOMP is not set |
285 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
284 | # CONFIG_INET6_TUNNEL is not set | 286 | # CONFIG_INET6_TUNNEL is not set |
285 | # CONFIG_IPV6_TUNNEL is not set | 287 | # CONFIG_IPV6_TUNNEL is not set |
286 | CONFIG_NETFILTER=y | 288 | CONFIG_NETFILTER=y |
@@ -299,10 +301,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
299 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 301 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
300 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 302 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
301 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 303 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
304 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
302 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
303 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
304 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 307 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
305 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 308 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
309 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
310 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
306 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 311 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
307 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 312 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
308 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 313 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -332,6 +337,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
332 | # SCTP Configuration (EXPERIMENTAL) | 337 | # SCTP Configuration (EXPERIMENTAL) |
333 | # | 338 | # |
334 | # CONFIG_IP_SCTP is not set | 339 | # CONFIG_IP_SCTP is not set |
340 | |||
341 | # | ||
342 | # TIPC Configuration (EXPERIMENTAL) | ||
343 | # | ||
344 | # CONFIG_TIPC is not set | ||
335 | # CONFIG_ATM is not set | 345 | # CONFIG_ATM is not set |
336 | # CONFIG_BRIDGE is not set | 346 | # CONFIG_BRIDGE is not set |
337 | # CONFIG_VLAN_8021Q is not set | 347 | # CONFIG_VLAN_8021Q is not set |
@@ -341,11 +351,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
341 | # CONFIG_ATALK is not set | 351 | # CONFIG_ATALK is not set |
342 | # CONFIG_X25 is not set | 352 | # CONFIG_X25 is not set |
343 | # CONFIG_LAPB is not set | 353 | # CONFIG_LAPB is not set |
344 | |||
345 | # | ||
346 | # TIPC Configuration (EXPERIMENTAL) | ||
347 | # | ||
348 | # CONFIG_TIPC is not set | ||
349 | # CONFIG_NET_DIVERT is not set | 354 | # CONFIG_NET_DIVERT is not set |
350 | # CONFIG_ECONET is not set | 355 | # CONFIG_ECONET is not set |
351 | # CONFIG_WAN_ROUTER is not set | 356 | # CONFIG_WAN_ROUTER is not set |
@@ -367,6 +372,9 @@ CONFIG_IEEE80211=m | |||
367 | # CONFIG_IEEE80211_DEBUG is not set | 372 | # CONFIG_IEEE80211_DEBUG is not set |
368 | CONFIG_IEEE80211_CRYPT_WEP=m | 373 | CONFIG_IEEE80211_CRYPT_WEP=m |
369 | CONFIG_IEEE80211_CRYPT_CCMP=m | 374 | CONFIG_IEEE80211_CRYPT_CCMP=m |
375 | CONFIG_IEEE80211_SOFTMAC=m | ||
376 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
377 | CONFIG_WIRELESS_EXT=y | ||
370 | 378 | ||
371 | # | 379 | # |
372 | # Device Drivers | 380 | # Device Drivers |
@@ -411,7 +419,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
411 | # CONFIG_BLK_DEV_NBD is not set | 419 | # CONFIG_BLK_DEV_NBD is not set |
412 | # CONFIG_BLK_DEV_SX8 is not set | 420 | # CONFIG_BLK_DEV_SX8 is not set |
413 | # CONFIG_BLK_DEV_RAM is not set | 421 | # CONFIG_BLK_DEV_RAM is not set |
414 | CONFIG_BLK_DEV_RAM_COUNT=16 | 422 | # CONFIG_BLK_DEV_INITRD is not set |
415 | # CONFIG_CDROM_PKTCDVD is not set | 423 | # CONFIG_CDROM_PKTCDVD is not set |
416 | CONFIG_ATA_OVER_ETH=m | 424 | CONFIG_ATA_OVER_ETH=m |
417 | 425 | ||
@@ -475,7 +483,6 @@ CONFIG_ISCSI_TCP=m | |||
475 | # CONFIG_SCSI_INIA100 is not set | 483 | # CONFIG_SCSI_INIA100 is not set |
476 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 484 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
477 | # CONFIG_SCSI_IPR is not set | 485 | # CONFIG_SCSI_IPR is not set |
478 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
479 | # CONFIG_SCSI_QLOGIC_1280 is not set | 486 | # CONFIG_SCSI_QLOGIC_1280 is not set |
480 | # CONFIG_SCSI_QLA_FC is not set | 487 | # CONFIG_SCSI_QLA_FC is not set |
481 | # CONFIG_SCSI_LPFC is not set | 488 | # CONFIG_SCSI_LPFC is not set |
@@ -690,6 +697,7 @@ CONFIG_HW_CONSOLE=y | |||
690 | # | 697 | # |
691 | CONFIG_SERIAL_8250=y | 698 | CONFIG_SERIAL_8250=y |
692 | CONFIG_SERIAL_8250_CONSOLE=y | 699 | CONFIG_SERIAL_8250_CONSOLE=y |
700 | CONFIG_SERIAL_8250_PCI=y | ||
693 | CONFIG_SERIAL_8250_NR_UARTS=4 | 701 | CONFIG_SERIAL_8250_NR_UARTS=4 |
694 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 702 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
695 | # CONFIG_SERIAL_8250_EXTENDED is not set | 703 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -699,6 +707,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
699 | # | 707 | # |
700 | CONFIG_SERIAL_CORE=y | 708 | CONFIG_SERIAL_CORE=y |
701 | CONFIG_SERIAL_CORE_CONSOLE=y | 709 | CONFIG_SERIAL_CORE_CONSOLE=y |
710 | # CONFIG_SERIAL_JSM is not set | ||
702 | CONFIG_UNIX98_PTYS=y | 711 | CONFIG_UNIX98_PTYS=y |
703 | CONFIG_LEGACY_PTYS=y | 712 | CONFIG_LEGACY_PTYS=y |
704 | CONFIG_LEGACY_PTY_COUNT=256 | 713 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -756,10 +765,6 @@ CONFIG_RTC=y | |||
756 | # | 765 | # |
757 | 766 | ||
758 | # | 767 | # |
759 | # Multimedia Capabilities Port drivers | ||
760 | # | ||
761 | |||
762 | # | ||
763 | # Multimedia devices | 768 | # Multimedia devices |
764 | # | 769 | # |
765 | # CONFIG_VIDEO_DEV is not set | 770 | # CONFIG_VIDEO_DEV is not set |
@@ -777,6 +782,7 @@ CONFIG_FB=y | |||
777 | # CONFIG_FB_CFB_COPYAREA is not set | 782 | # CONFIG_FB_CFB_COPYAREA is not set |
778 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 783 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
779 | # CONFIG_FB_MACMODES is not set | 784 | # CONFIG_FB_MACMODES is not set |
785 | CONFIG_FB_FIRMWARE_EDID=y | ||
780 | CONFIG_FB_MODE_HELPERS=y | 786 | CONFIG_FB_MODE_HELPERS=y |
781 | # CONFIG_FB_TILEBLITTING is not set | 787 | # CONFIG_FB_TILEBLITTING is not set |
782 | # CONFIG_FB_CIRRUS is not set | 788 | # CONFIG_FB_CIRRUS is not set |
@@ -788,7 +794,6 @@ CONFIG_FB_MODE_HELPERS=y | |||
788 | # CONFIG_FB_NVIDIA is not set | 794 | # CONFIG_FB_NVIDIA is not set |
789 | # CONFIG_FB_RIVA is not set | 795 | # CONFIG_FB_RIVA is not set |
790 | # CONFIG_FB_MATROX is not set | 796 | # CONFIG_FB_MATROX is not set |
791 | # CONFIG_FB_RADEON_OLD is not set | ||
792 | # CONFIG_FB_RADEON is not set | 797 | # CONFIG_FB_RADEON is not set |
793 | # CONFIG_FB_ATY128 is not set | 798 | # CONFIG_FB_ATY128 is not set |
794 | # CONFIG_FB_ATY is not set | 799 | # CONFIG_FB_ATY is not set |
@@ -832,6 +837,7 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
832 | # | 837 | # |
833 | CONFIG_USB_ARCH_HAS_HCD=y | 838 | CONFIG_USB_ARCH_HAS_HCD=y |
834 | CONFIG_USB_ARCH_HAS_OHCI=y | 839 | CONFIG_USB_ARCH_HAS_OHCI=y |
840 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
835 | # CONFIG_USB is not set | 841 | # CONFIG_USB is not set |
836 | 842 | ||
837 | # | 843 | # |
@@ -849,13 +855,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
849 | # CONFIG_MMC is not set | 855 | # CONFIG_MMC is not set |
850 | 856 | ||
851 | # | 857 | # |
858 | # LED devices | ||
859 | # | ||
860 | # CONFIG_NEW_LEDS is not set | ||
861 | |||
862 | # | ||
863 | # LED drivers | ||
864 | # | ||
865 | |||
866 | # | ||
867 | # LED Triggers | ||
868 | # | ||
869 | |||
870 | # | ||
852 | # InfiniBand support | 871 | # InfiniBand support |
853 | # | 872 | # |
854 | # CONFIG_INFINIBAND is not set | 873 | # CONFIG_INFINIBAND is not set |
855 | 874 | ||
856 | # | 875 | # |
857 | # SN Devices | 876 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
877 | # | ||
878 | |||
879 | # | ||
880 | # Real Time Clock | ||
858 | # | 881 | # |
882 | # CONFIG_RTC_CLASS is not set | ||
859 | 883 | ||
860 | # | 884 | # |
861 | # File systems | 885 | # File systems |
@@ -914,7 +938,6 @@ CONFIG_SYSFS=y | |||
914 | CONFIG_TMPFS=y | 938 | CONFIG_TMPFS=y |
915 | # CONFIG_HUGETLB_PAGE is not set | 939 | # CONFIG_HUGETLB_PAGE is not set |
916 | CONFIG_RAMFS=y | 940 | CONFIG_RAMFS=y |
917 | CONFIG_RELAYFS_FS=m | ||
918 | # CONFIG_CONFIGFS_FS is not set | 941 | # CONFIG_CONFIGFS_FS is not set |
919 | 942 | ||
920 | # | 943 | # |
@@ -1025,6 +1048,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1025 | # CONFIG_MAGIC_SYSRQ is not set | 1048 | # CONFIG_MAGIC_SYSRQ is not set |
1026 | # CONFIG_DEBUG_KERNEL is not set | 1049 | # CONFIG_DEBUG_KERNEL is not set |
1027 | CONFIG_LOG_BUF_SHIFT=14 | 1050 | CONFIG_LOG_BUF_SHIFT=14 |
1051 | # CONFIG_DEBUG_FS is not set | ||
1028 | CONFIG_CROSSCOMPILE=y | 1052 | CONFIG_CROSSCOMPILE=y |
1029 | CONFIG_CMDLINE="ip=any root=nfs" | 1053 | CONFIG_CMDLINE="ip=any root=nfs" |
1030 | 1054 | ||
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index ee1cf9b9eb9a..8a6aa5012f89 100644 --- a/arch/mips/configs/ocelot_c_defconfig +++ b/arch/mips/configs/ocelot_c_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:19 2006 | 4 | # Mon Apr 24 14:51:10 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_C=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -139,7 +141,6 @@ CONFIG_PREEMPT_NONE=y | |||
139 | # Code maturity level options | 141 | # Code maturity level options |
140 | # | 142 | # |
141 | CONFIG_EXPERIMENTAL=y | 143 | CONFIG_EXPERIMENTAL=y |
142 | CONFIG_CLEAN_COMPILE=y | ||
143 | CONFIG_BROKEN_ON_SMP=y | 144 | CONFIG_BROKEN_ON_SMP=y |
144 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 145 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
145 | 146 | ||
@@ -155,6 +156,7 @@ CONFIG_SYSVIPC=y | |||
155 | CONFIG_SYSCTL=y | 156 | CONFIG_SYSCTL=y |
156 | # CONFIG_AUDIT is not set | 157 | # CONFIG_AUDIT is not set |
157 | # CONFIG_IKCONFIG is not set | 158 | # CONFIG_IKCONFIG is not set |
159 | CONFIG_RELAY=y | ||
158 | CONFIG_INITRAMFS_SOURCE="" | 160 | CONFIG_INITRAMFS_SOURCE="" |
159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
160 | CONFIG_EMBEDDED=y | 162 | CONFIG_EMBEDDED=y |
@@ -168,10 +170,6 @@ CONFIG_BASE_FULL=y | |||
168 | CONFIG_FUTEX=y | 170 | CONFIG_FUTEX=y |
169 | CONFIG_EPOLL=y | 171 | CONFIG_EPOLL=y |
170 | CONFIG_SHMEM=y | 172 | CONFIG_SHMEM=y |
171 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
172 | CONFIG_CC_ALIGN_LABELS=0 | ||
173 | CONFIG_CC_ALIGN_LOOPS=0 | ||
174 | CONFIG_CC_ALIGN_JUMPS=0 | ||
175 | CONFIG_SLAB=y | 173 | CONFIG_SLAB=y |
176 | # CONFIG_TINY_SHMEM is not set | 174 | # CONFIG_TINY_SHMEM is not set |
177 | CONFIG_BASE_SMALL=0 | 175 | CONFIG_BASE_SMALL=0 |
@@ -185,6 +183,7 @@ CONFIG_BASE_SMALL=0 | |||
185 | # | 183 | # |
186 | # Block layer | 184 | # Block layer |
187 | # | 185 | # |
186 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
188 | 187 | ||
189 | # | 188 | # |
190 | # IO Schedulers | 189 | # IO Schedulers |
@@ -204,7 +203,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
204 | # | 203 | # |
205 | CONFIG_HW_HAS_PCI=y | 204 | CONFIG_HW_HAS_PCI=y |
206 | CONFIG_PCI=y | 205 | CONFIG_PCI=y |
207 | CONFIG_PCI_LEGACY_PROC=y | ||
208 | CONFIG_MMU=y | 206 | CONFIG_MMU=y |
209 | 207 | ||
210 | # | 208 | # |
@@ -222,6 +220,7 @@ CONFIG_MMU=y | |||
222 | # | 220 | # |
223 | CONFIG_BINFMT_ELF=y | 221 | CONFIG_BINFMT_ELF=y |
224 | # CONFIG_BINFMT_MISC is not set | 222 | # CONFIG_BINFMT_MISC is not set |
223 | # CONFIG_BUILD_ELF64 is not set | ||
225 | CONFIG_MIPS32_COMPAT=y | 224 | CONFIG_MIPS32_COMPAT=y |
226 | CONFIG_COMPAT=y | 225 | CONFIG_COMPAT=y |
227 | CONFIG_MIPS32_O32=y | 226 | CONFIG_MIPS32_O32=y |
@@ -236,6 +235,7 @@ CONFIG_NET=y | |||
236 | # | 235 | # |
237 | # Networking options | 236 | # Networking options |
238 | # | 237 | # |
238 | # CONFIG_NETDEBUG is not set | ||
239 | # CONFIG_PACKET is not set | 239 | # CONFIG_PACKET is not set |
240 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y |
241 | CONFIG_XFRM=y | 241 | CONFIG_XFRM=y |
@@ -256,12 +256,15 @@ CONFIG_IP_PNP_DHCP=y | |||
256 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set |
257 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set |
258 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set |
259 | CONFIG_INET_TUNNEL=y | 259 | # CONFIG_INET_XFRM_TUNNEL is not set |
260 | # CONFIG_INET_TUNNEL is not set | ||
260 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y |
261 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y |
262 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set |
263 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y |
264 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set |
266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
267 | # CONFIG_INET6_TUNNEL is not set | ||
265 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set |
266 | 269 | ||
267 | # | 270 | # |
@@ -273,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) |
274 | # | 277 | # |
275 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set |
279 | |||
280 | # | ||
281 | # TIPC Configuration (EXPERIMENTAL) | ||
282 | # | ||
283 | # CONFIG_TIPC is not set | ||
276 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set |
277 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set |
278 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set |
@@ -282,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
282 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set |
283 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set |
284 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set |
285 | |||
286 | # | ||
287 | # TIPC Configuration (EXPERIMENTAL) | ||
288 | # | ||
289 | # CONFIG_TIPC is not set | ||
290 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set |
291 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set |
292 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set |
@@ -307,6 +310,9 @@ CONFIG_IEEE80211=y | |||
307 | # CONFIG_IEEE80211_DEBUG is not set | 310 | # CONFIG_IEEE80211_DEBUG is not set |
308 | CONFIG_IEEE80211_CRYPT_WEP=y | 311 | CONFIG_IEEE80211_CRYPT_WEP=y |
309 | CONFIG_IEEE80211_CRYPT_CCMP=y | 312 | CONFIG_IEEE80211_CRYPT_CCMP=y |
313 | CONFIG_IEEE80211_SOFTMAC=y | ||
314 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
315 | CONFIG_WIRELESS_EXT=y | ||
310 | 316 | ||
311 | # | 317 | # |
312 | # Device Drivers | 318 | # Device Drivers |
@@ -351,7 +357,7 @@ CONFIG_PROC_EVENTS=y | |||
351 | # CONFIG_BLK_DEV_NBD is not set | 357 | # CONFIG_BLK_DEV_NBD is not set |
352 | # CONFIG_BLK_DEV_SX8 is not set | 358 | # CONFIG_BLK_DEV_SX8 is not set |
353 | # CONFIG_BLK_DEV_RAM is not set | 359 | # CONFIG_BLK_DEV_RAM is not set |
354 | CONFIG_BLK_DEV_RAM_COUNT=16 | 360 | # CONFIG_BLK_DEV_INITRD is not set |
355 | CONFIG_CDROM_PKTCDVD=y | 361 | CONFIG_CDROM_PKTCDVD=y |
356 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 362 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
357 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 363 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -542,6 +548,7 @@ CONFIG_HW_CONSOLE=y | |||
542 | # | 548 | # |
543 | CONFIG_SERIAL_8250=y | 549 | CONFIG_SERIAL_8250=y |
544 | CONFIG_SERIAL_8250_CONSOLE=y | 550 | CONFIG_SERIAL_8250_CONSOLE=y |
551 | CONFIG_SERIAL_8250_PCI=y | ||
545 | CONFIG_SERIAL_8250_NR_UARTS=4 | 552 | CONFIG_SERIAL_8250_NR_UARTS=4 |
546 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 553 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
547 | # CONFIG_SERIAL_8250_EXTENDED is not set | 554 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -551,6 +558,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
551 | # | 558 | # |
552 | CONFIG_SERIAL_CORE=y | 559 | CONFIG_SERIAL_CORE=y |
553 | CONFIG_SERIAL_CORE_CONSOLE=y | 560 | CONFIG_SERIAL_CORE_CONSOLE=y |
561 | # CONFIG_SERIAL_JSM is not set | ||
554 | CONFIG_UNIX98_PTYS=y | 562 | CONFIG_UNIX98_PTYS=y |
555 | CONFIG_LEGACY_PTYS=y | 563 | CONFIG_LEGACY_PTYS=y |
556 | CONFIG_LEGACY_PTY_COUNT=256 | 564 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -609,10 +617,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
609 | # | 617 | # |
610 | 618 | ||
611 | # | 619 | # |
612 | # Multimedia Capabilities Port drivers | ||
613 | # | ||
614 | |||
615 | # | ||
616 | # Multimedia devices | 620 | # Multimedia devices |
617 | # | 621 | # |
618 | # CONFIG_VIDEO_DEV is not set | 622 | # CONFIG_VIDEO_DEV is not set |
@@ -643,6 +647,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
643 | # | 647 | # |
644 | CONFIG_USB_ARCH_HAS_HCD=y | 648 | CONFIG_USB_ARCH_HAS_HCD=y |
645 | CONFIG_USB_ARCH_HAS_OHCI=y | 649 | CONFIG_USB_ARCH_HAS_OHCI=y |
650 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
646 | # CONFIG_USB is not set | 651 | # CONFIG_USB is not set |
647 | 652 | ||
648 | # | 653 | # |
@@ -660,13 +665,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
660 | # CONFIG_MMC is not set | 665 | # CONFIG_MMC is not set |
661 | 666 | ||
662 | # | 667 | # |
668 | # LED devices | ||
669 | # | ||
670 | # CONFIG_NEW_LEDS is not set | ||
671 | |||
672 | # | ||
673 | # LED drivers | ||
674 | # | ||
675 | |||
676 | # | ||
677 | # LED Triggers | ||
678 | # | ||
679 | |||
680 | # | ||
663 | # InfiniBand support | 681 | # InfiniBand support |
664 | # | 682 | # |
665 | # CONFIG_INFINIBAND is not set | 683 | # CONFIG_INFINIBAND is not set |
666 | 684 | ||
667 | # | 685 | # |
668 | # SN Devices | 686 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
687 | # | ||
688 | |||
689 | # | ||
690 | # Real Time Clock | ||
669 | # | 691 | # |
692 | # CONFIG_RTC_CLASS is not set | ||
670 | 693 | ||
671 | # | 694 | # |
672 | # File systems | 695 | # File systems |
@@ -711,7 +734,6 @@ CONFIG_SYSFS=y | |||
711 | # CONFIG_TMPFS is not set | 734 | # CONFIG_TMPFS is not set |
712 | # CONFIG_HUGETLB_PAGE is not set | 735 | # CONFIG_HUGETLB_PAGE is not set |
713 | CONFIG_RAMFS=y | 736 | CONFIG_RAMFS=y |
714 | CONFIG_RELAYFS_FS=y | ||
715 | # CONFIG_CONFIGFS_FS is not set | 737 | # CONFIG_CONFIGFS_FS is not set |
716 | 738 | ||
717 | # | 739 | # |
@@ -778,6 +800,8 @@ CONFIG_MSDOS_PARTITION=y | |||
778 | # CONFIG_MAGIC_SYSRQ is not set | 800 | # CONFIG_MAGIC_SYSRQ is not set |
779 | # CONFIG_DEBUG_KERNEL is not set | 801 | # CONFIG_DEBUG_KERNEL is not set |
780 | CONFIG_LOG_BUF_SHIFT=14 | 802 | CONFIG_LOG_BUF_SHIFT=14 |
803 | # CONFIG_DEBUG_FS is not set | ||
804 | # CONFIG_UNWIND_INFO is not set | ||
781 | CONFIG_CROSSCOMPILE=y | 805 | CONFIG_CROSSCOMPILE=y |
782 | CONFIG_CMDLINE="" | 806 | CONFIG_CMDLINE="" |
783 | 807 | ||
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig index d80ff278f2af..f9ee35eeb762 100644 --- a/arch/mips/configs/ocelot_defconfig +++ b/arch/mips/configs/ocelot_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:20 2006 | 4 | # Mon Apr 24 14:51:11 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -121,7 +123,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
121 | CONFIG_CPU_HAS_PREFETCH=y | 123 | CONFIG_CPU_HAS_PREFETCH=y |
122 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set |
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | # CONFIG_CPU_ADVANCED is not set | ||
125 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
127 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y |
@@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y | |||
144 | # Code maturity level options | 145 | # Code maturity level options |
145 | # | 146 | # |
146 | CONFIG_EXPERIMENTAL=y | 147 | CONFIG_EXPERIMENTAL=y |
147 | CONFIG_CLEAN_COMPILE=y | ||
148 | CONFIG_BROKEN_ON_SMP=y | 148 | CONFIG_BROKEN_ON_SMP=y |
149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
150 | 150 | ||
@@ -160,6 +160,7 @@ CONFIG_SYSVIPC=y | |||
160 | CONFIG_SYSCTL=y | 160 | CONFIG_SYSCTL=y |
161 | # CONFIG_AUDIT is not set | 161 | # CONFIG_AUDIT is not set |
162 | # CONFIG_IKCONFIG is not set | 162 | # CONFIG_IKCONFIG is not set |
163 | CONFIG_RELAY=y | ||
163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" |
164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
165 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y |
@@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
173 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y |
174 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y |
175 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y |
176 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
177 | CONFIG_CC_ALIGN_LABELS=0 | ||
178 | CONFIG_CC_ALIGN_LOOPS=0 | ||
179 | CONFIG_CC_ALIGN_JUMPS=0 | ||
180 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y |
181 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set |
182 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 |
@@ -191,6 +188,8 @@ CONFIG_BASE_SMALL=0 | |||
191 | # Block layer | 188 | # Block layer |
192 | # | 189 | # |
193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set |
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
194 | 193 | ||
195 | # | 194 | # |
196 | # IO Schedulers | 195 | # IO Schedulers |
@@ -236,6 +235,7 @@ CONFIG_NET=y | |||
236 | # | 235 | # |
237 | # Networking options | 236 | # Networking options |
238 | # | 237 | # |
238 | # CONFIG_NETDEBUG is not set | ||
239 | # CONFIG_PACKET is not set | 239 | # CONFIG_PACKET is not set |
240 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y |
241 | CONFIG_XFRM=y | 241 | CONFIG_XFRM=y |
@@ -256,12 +256,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
256 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set |
257 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set |
258 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set |
259 | CONFIG_INET_TUNNEL=y | 259 | # CONFIG_INET_XFRM_TUNNEL is not set |
260 | # CONFIG_INET_TUNNEL is not set | ||
260 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y |
261 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y |
262 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set |
263 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y |
264 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set |
266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
267 | # CONFIG_INET6_TUNNEL is not set | ||
265 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set |
266 | 269 | ||
267 | # | 270 | # |
@@ -273,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) |
274 | # | 277 | # |
275 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set |
279 | |||
280 | # | ||
281 | # TIPC Configuration (EXPERIMENTAL) | ||
282 | # | ||
283 | # CONFIG_TIPC is not set | ||
276 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set |
277 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set |
278 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set |
@@ -282,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
282 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set |
283 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set |
284 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set |
285 | |||
286 | # | ||
287 | # TIPC Configuration (EXPERIMENTAL) | ||
288 | # | ||
289 | # CONFIG_TIPC is not set | ||
290 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set |
291 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set |
292 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set |
@@ -307,6 +310,9 @@ CONFIG_IEEE80211=y | |||
307 | # CONFIG_IEEE80211_DEBUG is not set | 310 | # CONFIG_IEEE80211_DEBUG is not set |
308 | CONFIG_IEEE80211_CRYPT_WEP=y | 311 | CONFIG_IEEE80211_CRYPT_WEP=y |
309 | CONFIG_IEEE80211_CRYPT_CCMP=y | 312 | CONFIG_IEEE80211_CRYPT_CCMP=y |
313 | CONFIG_IEEE80211_SOFTMAC=y | ||
314 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
315 | CONFIG_WIRELESS_EXT=y | ||
310 | 316 | ||
311 | # | 317 | # |
312 | # Device Drivers | 318 | # Device Drivers |
@@ -346,7 +352,7 @@ CONFIG_PROC_EVENTS=y | |||
346 | # CONFIG_BLK_DEV_LOOP is not set | 352 | # CONFIG_BLK_DEV_LOOP is not set |
347 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set |
348 | # CONFIG_BLK_DEV_RAM is not set | 354 | # CONFIG_BLK_DEV_RAM is not set |
349 | CONFIG_BLK_DEV_RAM_COUNT=16 | 355 | # CONFIG_BLK_DEV_INITRD is not set |
350 | CONFIG_CDROM_PKTCDVD=y | 356 | CONFIG_CDROM_PKTCDVD=y |
351 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 357 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
352 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 358 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -563,10 +569,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
563 | # | 569 | # |
564 | 570 | ||
565 | # | 571 | # |
566 | # Multimedia Capabilities Port drivers | ||
567 | # | ||
568 | |||
569 | # | ||
570 | # Multimedia devices | 572 | # Multimedia devices |
571 | # | 573 | # |
572 | # CONFIG_VIDEO_DEV is not set | 574 | # CONFIG_VIDEO_DEV is not set |
@@ -597,6 +599,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
597 | # | 599 | # |
598 | # CONFIG_USB_ARCH_HAS_HCD is not set | 600 | # CONFIG_USB_ARCH_HAS_HCD is not set |
599 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 601 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
602 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
600 | 603 | ||
601 | # | 604 | # |
602 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 605 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -613,12 +616,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
613 | # CONFIG_MMC is not set | 616 | # CONFIG_MMC is not set |
614 | 617 | ||
615 | # | 618 | # |
619 | # LED devices | ||
620 | # | ||
621 | # CONFIG_NEW_LEDS is not set | ||
622 | |||
623 | # | ||
624 | # LED drivers | ||
625 | # | ||
626 | |||
627 | # | ||
628 | # LED Triggers | ||
629 | # | ||
630 | |||
631 | # | ||
616 | # InfiniBand support | 632 | # InfiniBand support |
617 | # | 633 | # |
618 | 634 | ||
619 | # | 635 | # |
620 | # SN Devices | 636 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
637 | # | ||
638 | |||
639 | # | ||
640 | # Real Time Clock | ||
621 | # | 641 | # |
642 | # CONFIG_RTC_CLASS is not set | ||
622 | 643 | ||
623 | # | 644 | # |
624 | # File systems | 645 | # File systems |
@@ -663,7 +684,6 @@ CONFIG_SYSFS=y | |||
663 | # CONFIG_TMPFS is not set | 684 | # CONFIG_TMPFS is not set |
664 | # CONFIG_HUGETLB_PAGE is not set | 685 | # CONFIG_HUGETLB_PAGE is not set |
665 | CONFIG_RAMFS=y | 686 | CONFIG_RAMFS=y |
666 | CONFIG_RELAYFS_FS=y | ||
667 | # CONFIG_CONFIGFS_FS is not set | 687 | # CONFIG_CONFIGFS_FS is not set |
668 | 688 | ||
669 | # | 689 | # |
@@ -730,6 +750,8 @@ CONFIG_MSDOS_PARTITION=y | |||
730 | # CONFIG_MAGIC_SYSRQ is not set | 750 | # CONFIG_MAGIC_SYSRQ is not set |
731 | # CONFIG_DEBUG_KERNEL is not set | 751 | # CONFIG_DEBUG_KERNEL is not set |
732 | CONFIG_LOG_BUF_SHIFT=14 | 752 | CONFIG_LOG_BUF_SHIFT=14 |
753 | # CONFIG_DEBUG_FS is not set | ||
754 | # CONFIG_UNWIND_INFO is not set | ||
733 | CONFIG_CROSSCOMPILE=y | 755 | CONFIG_CROSSCOMPILE=y |
734 | CONFIG_CMDLINE="" | 756 | CONFIG_CMDLINE="" |
735 | 757 | ||
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig index c0f508d180c4..b48bdee2411f 100644 --- a/arch/mips/configs/ocelot_g_defconfig +++ b/arch/mips/configs/ocelot_g_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:21 2006 | 4 | # Mon Apr 24 14:51:11 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_G=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -142,7 +144,6 @@ CONFIG_PREEMPT_NONE=y | |||
142 | # Code maturity level options | 144 | # Code maturity level options |
143 | # | 145 | # |
144 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y |
145 | CONFIG_CLEAN_COMPILE=y | ||
146 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y |
147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
148 | 149 | ||
@@ -158,6 +159,7 @@ CONFIG_SYSVIPC=y | |||
158 | CONFIG_SYSCTL=y | 159 | CONFIG_SYSCTL=y |
159 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set |
160 | # CONFIG_IKCONFIG is not set | 161 | # CONFIG_IKCONFIG is not set |
162 | CONFIG_RELAY=y | ||
161 | CONFIG_INITRAMFS_SOURCE="" | 163 | CONFIG_INITRAMFS_SOURCE="" |
162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
163 | CONFIG_EMBEDDED=y | 165 | CONFIG_EMBEDDED=y |
@@ -171,10 +173,6 @@ CONFIG_BASE_FULL=y | |||
171 | CONFIG_FUTEX=y | 173 | CONFIG_FUTEX=y |
172 | CONFIG_EPOLL=y | 174 | CONFIG_EPOLL=y |
173 | CONFIG_SHMEM=y | 175 | CONFIG_SHMEM=y |
174 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
175 | CONFIG_CC_ALIGN_LABELS=0 | ||
176 | CONFIG_CC_ALIGN_LOOPS=0 | ||
177 | CONFIG_CC_ALIGN_JUMPS=0 | ||
178 | CONFIG_SLAB=y | 176 | CONFIG_SLAB=y |
179 | # CONFIG_TINY_SHMEM is not set | 177 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 178 | CONFIG_BASE_SMALL=0 |
@@ -188,6 +186,7 @@ CONFIG_BASE_SMALL=0 | |||
188 | # | 186 | # |
189 | # Block layer | 187 | # Block layer |
190 | # | 188 | # |
189 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
191 | 190 | ||
192 | # | 191 | # |
193 | # IO Schedulers | 192 | # IO Schedulers |
@@ -207,7 +206,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
207 | # | 206 | # |
208 | CONFIG_HW_HAS_PCI=y | 207 | CONFIG_HW_HAS_PCI=y |
209 | CONFIG_PCI=y | 208 | CONFIG_PCI=y |
210 | CONFIG_PCI_LEGACY_PROC=y | ||
211 | CONFIG_MMU=y | 209 | CONFIG_MMU=y |
212 | 210 | ||
213 | # | 211 | # |
@@ -225,6 +223,7 @@ CONFIG_MMU=y | |||
225 | # | 223 | # |
226 | CONFIG_BINFMT_ELF=y | 224 | CONFIG_BINFMT_ELF=y |
227 | # CONFIG_BINFMT_MISC is not set | 225 | # CONFIG_BINFMT_MISC is not set |
226 | # CONFIG_BUILD_ELF64 is not set | ||
228 | CONFIG_MIPS32_COMPAT=y | 227 | CONFIG_MIPS32_COMPAT=y |
229 | CONFIG_COMPAT=y | 228 | CONFIG_COMPAT=y |
230 | CONFIG_MIPS32_O32=y | 229 | CONFIG_MIPS32_O32=y |
@@ -239,6 +238,7 @@ CONFIG_NET=y | |||
239 | # | 238 | # |
240 | # Networking options | 239 | # Networking options |
241 | # | 240 | # |
241 | # CONFIG_NETDEBUG is not set | ||
242 | # CONFIG_PACKET is not set | 242 | # CONFIG_PACKET is not set |
243 | CONFIG_UNIX=y | 243 | CONFIG_UNIX=y |
244 | CONFIG_XFRM=y | 244 | CONFIG_XFRM=y |
@@ -259,12 +259,15 @@ CONFIG_IP_PNP_DHCP=y | |||
259 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set |
260 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set |
261 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set |
262 | CONFIG_INET_TUNNEL=y | 262 | # CONFIG_INET_XFRM_TUNNEL is not set |
263 | # CONFIG_INET_TUNNEL is not set | ||
263 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y |
264 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y |
265 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set |
266 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y |
267 | # CONFIG_IPV6 is not set | 268 | # CONFIG_IPV6 is not set |
269 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
270 | # CONFIG_INET6_TUNNEL is not set | ||
268 | # CONFIG_NETFILTER is not set | 271 | # CONFIG_NETFILTER is not set |
269 | 272 | ||
270 | # | 273 | # |
@@ -276,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y | |||
276 | # SCTP Configuration (EXPERIMENTAL) | 279 | # SCTP Configuration (EXPERIMENTAL) |
277 | # | 280 | # |
278 | # CONFIG_IP_SCTP is not set | 281 | # CONFIG_IP_SCTP is not set |
282 | |||
283 | # | ||
284 | # TIPC Configuration (EXPERIMENTAL) | ||
285 | # | ||
286 | # CONFIG_TIPC is not set | ||
279 | # CONFIG_ATM is not set | 287 | # CONFIG_ATM is not set |
280 | # CONFIG_BRIDGE is not set | 288 | # CONFIG_BRIDGE is not set |
281 | # CONFIG_VLAN_8021Q is not set | 289 | # CONFIG_VLAN_8021Q is not set |
@@ -285,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y | |||
285 | # CONFIG_ATALK is not set | 293 | # CONFIG_ATALK is not set |
286 | # CONFIG_X25 is not set | 294 | # CONFIG_X25 is not set |
287 | # CONFIG_LAPB is not set | 295 | # CONFIG_LAPB is not set |
288 | |||
289 | # | ||
290 | # TIPC Configuration (EXPERIMENTAL) | ||
291 | # | ||
292 | # CONFIG_TIPC is not set | ||
293 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set |
294 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set |
295 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set |
@@ -310,6 +313,9 @@ CONFIG_IEEE80211=y | |||
310 | # CONFIG_IEEE80211_DEBUG is not set | 313 | # CONFIG_IEEE80211_DEBUG is not set |
311 | CONFIG_IEEE80211_CRYPT_WEP=y | 314 | CONFIG_IEEE80211_CRYPT_WEP=y |
312 | CONFIG_IEEE80211_CRYPT_CCMP=y | 315 | CONFIG_IEEE80211_CRYPT_CCMP=y |
316 | CONFIG_IEEE80211_SOFTMAC=y | ||
317 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
318 | CONFIG_WIRELESS_EXT=y | ||
313 | 319 | ||
314 | # | 320 | # |
315 | # Device Drivers | 321 | # Device Drivers |
@@ -354,7 +360,7 @@ CONFIG_PROC_EVENTS=y | |||
354 | # CONFIG_BLK_DEV_NBD is not set | 360 | # CONFIG_BLK_DEV_NBD is not set |
355 | # CONFIG_BLK_DEV_SX8 is not set | 361 | # CONFIG_BLK_DEV_SX8 is not set |
356 | # CONFIG_BLK_DEV_RAM is not set | 362 | # CONFIG_BLK_DEV_RAM is not set |
357 | CONFIG_BLK_DEV_RAM_COUNT=16 | 363 | # CONFIG_BLK_DEV_INITRD is not set |
358 | CONFIG_CDROM_PKTCDVD=y | 364 | CONFIG_CDROM_PKTCDVD=y |
359 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 365 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
360 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 366 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -545,6 +551,7 @@ CONFIG_HW_CONSOLE=y | |||
545 | # | 551 | # |
546 | CONFIG_SERIAL_8250=y | 552 | CONFIG_SERIAL_8250=y |
547 | CONFIG_SERIAL_8250_CONSOLE=y | 553 | CONFIG_SERIAL_8250_CONSOLE=y |
554 | CONFIG_SERIAL_8250_PCI=y | ||
548 | CONFIG_SERIAL_8250_NR_UARTS=4 | 555 | CONFIG_SERIAL_8250_NR_UARTS=4 |
549 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 556 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
550 | # CONFIG_SERIAL_8250_EXTENDED is not set | 557 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -554,6 +561,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
554 | # | 561 | # |
555 | CONFIG_SERIAL_CORE=y | 562 | CONFIG_SERIAL_CORE=y |
556 | CONFIG_SERIAL_CORE_CONSOLE=y | 563 | CONFIG_SERIAL_CORE_CONSOLE=y |
564 | # CONFIG_SERIAL_JSM is not set | ||
557 | CONFIG_UNIX98_PTYS=y | 565 | CONFIG_UNIX98_PTYS=y |
558 | CONFIG_LEGACY_PTYS=y | 566 | CONFIG_LEGACY_PTYS=y |
559 | CONFIG_LEGACY_PTY_COUNT=256 | 567 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -612,10 +620,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
612 | # | 620 | # |
613 | 621 | ||
614 | # | 622 | # |
615 | # Multimedia Capabilities Port drivers | ||
616 | # | ||
617 | |||
618 | # | ||
619 | # Multimedia devices | 623 | # Multimedia devices |
620 | # | 624 | # |
621 | # CONFIG_VIDEO_DEV is not set | 625 | # CONFIG_VIDEO_DEV is not set |
@@ -646,6 +650,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
646 | # | 650 | # |
647 | CONFIG_USB_ARCH_HAS_HCD=y | 651 | CONFIG_USB_ARCH_HAS_HCD=y |
648 | CONFIG_USB_ARCH_HAS_OHCI=y | 652 | CONFIG_USB_ARCH_HAS_OHCI=y |
653 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
649 | # CONFIG_USB is not set | 654 | # CONFIG_USB is not set |
650 | 655 | ||
651 | # | 656 | # |
@@ -663,13 +668,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
663 | # CONFIG_MMC is not set | 668 | # CONFIG_MMC is not set |
664 | 669 | ||
665 | # | 670 | # |
671 | # LED devices | ||
672 | # | ||
673 | # CONFIG_NEW_LEDS is not set | ||
674 | |||
675 | # | ||
676 | # LED drivers | ||
677 | # | ||
678 | |||
679 | # | ||
680 | # LED Triggers | ||
681 | # | ||
682 | |||
683 | # | ||
666 | # InfiniBand support | 684 | # InfiniBand support |
667 | # | 685 | # |
668 | # CONFIG_INFINIBAND is not set | 686 | # CONFIG_INFINIBAND is not set |
669 | 687 | ||
670 | # | 688 | # |
671 | # SN Devices | 689 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
690 | # | ||
691 | |||
692 | # | ||
693 | # Real Time Clock | ||
672 | # | 694 | # |
695 | # CONFIG_RTC_CLASS is not set | ||
673 | 696 | ||
674 | # | 697 | # |
675 | # File systems | 698 | # File systems |
@@ -714,7 +737,6 @@ CONFIG_SYSFS=y | |||
714 | # CONFIG_TMPFS is not set | 737 | # CONFIG_TMPFS is not set |
715 | # CONFIG_HUGETLB_PAGE is not set | 738 | # CONFIG_HUGETLB_PAGE is not set |
716 | CONFIG_RAMFS=y | 739 | CONFIG_RAMFS=y |
717 | CONFIG_RELAYFS_FS=y | ||
718 | # CONFIG_CONFIGFS_FS is not set | 740 | # CONFIG_CONFIGFS_FS is not set |
719 | 741 | ||
720 | # | 742 | # |
@@ -781,6 +803,8 @@ CONFIG_MSDOS_PARTITION=y | |||
781 | # CONFIG_MAGIC_SYSRQ is not set | 803 | # CONFIG_MAGIC_SYSRQ is not set |
782 | # CONFIG_DEBUG_KERNEL is not set | 804 | # CONFIG_DEBUG_KERNEL is not set |
783 | CONFIG_LOG_BUF_SHIFT=14 | 805 | CONFIG_LOG_BUF_SHIFT=14 |
806 | # CONFIG_DEBUG_FS is not set | ||
807 | # CONFIG_UNWIND_INFO is not set | ||
784 | CONFIG_CROSSCOMPILE=y | 808 | CONFIG_CROSSCOMPILE=y |
785 | CONFIG_CMDLINE="" | 809 | CONFIG_CMDLINE="" |
786 | 810 | ||
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig index 194b3c772bb7..01aac40634b4 100644 --- a/arch/mips/configs/pb1100_defconfig +++ b/arch/mips/configs/pb1100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:22 2006 | 4 | # Mon Apr 24 14:51:12 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_PB1100=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -116,11 +118,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
116 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y |
117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set |
118 | CONFIG_64BIT_PHYS_ADDR=y | 120 | CONFIG_64BIT_PHYS_ADDR=y |
119 | # CONFIG_CPU_ADVANCED is not set | ||
120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y |
121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y |
123 | CONFIG_GENERIC_IRQ_PROBE=y | 124 | CONFIG_GENERIC_IRQ_PROBE=y |
125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 126 | CONFIG_ARCH_FLATMEM_ENABLE=y |
125 | CONFIG_SELECT_MEMORY_MODEL=y | 127 | CONFIG_SELECT_MEMORY_MODEL=y |
126 | CONFIG_FLATMEM_MANUAL=y | 128 | CONFIG_FLATMEM_MANUAL=y |
@@ -138,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
138 | # Code maturity level options | 140 | # Code maturity level options |
139 | # | 141 | # |
140 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y |
141 | CONFIG_CLEAN_COMPILE=y | ||
142 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y |
143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
144 | 145 | ||
@@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
154 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y |
155 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set |
156 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set |
158 | CONFIG_RELAY=y | ||
157 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" |
158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
159 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y |
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 |
@@ -183,7 +181,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
183 | CONFIG_MODULES=y | 181 | CONFIG_MODULES=y |
184 | CONFIG_MODULE_UNLOAD=y | 182 | CONFIG_MODULE_UNLOAD=y |
185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
186 | CONFIG_OBSOLETE_MODPARM=y | ||
187 | CONFIG_MODVERSIONS=y | 184 | CONFIG_MODVERSIONS=y |
188 | CONFIG_MODULE_SRCVERSION_ALL=y | 185 | CONFIG_MODULE_SRCVERSION_ALL=y |
189 | CONFIG_KMOD=y | 186 | CONFIG_KMOD=y |
@@ -192,6 +189,8 @@ CONFIG_KMOD=y | |||
192 | # Block layer | 189 | # Block layer |
193 | # | 190 | # |
194 | # CONFIG_LBD is not set | 191 | # CONFIG_LBD is not set |
192 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
193 | # CONFIG_LSF is not set | ||
195 | 194 | ||
196 | # | 195 | # |
197 | # IO Schedulers | 196 | # IO Schedulers |
@@ -247,6 +246,7 @@ CONFIG_NET=y | |||
247 | # | 246 | # |
248 | # Networking options | 247 | # Networking options |
249 | # | 248 | # |
249 | # CONFIG_NETDEBUG is not set | ||
250 | CONFIG_PACKET=y | 250 | CONFIG_PACKET=y |
251 | # CONFIG_PACKET_MMAP is not set | 251 | # CONFIG_PACKET_MMAP is not set |
252 | CONFIG_UNIX=y | 252 | CONFIG_UNIX=y |
@@ -269,7 +269,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
269 | # CONFIG_INET_AH is not set | 269 | # CONFIG_INET_AH is not set |
270 | # CONFIG_INET_ESP is not set | 270 | # CONFIG_INET_ESP is not set |
271 | # CONFIG_INET_IPCOMP is not set | 271 | # CONFIG_INET_IPCOMP is not set |
272 | CONFIG_INET_TUNNEL=m | 272 | # CONFIG_INET_XFRM_TUNNEL is not set |
273 | # CONFIG_INET_TUNNEL is not set | ||
273 | CONFIG_INET_DIAG=y | 274 | CONFIG_INET_DIAG=y |
274 | CONFIG_INET_TCP_DIAG=y | 275 | CONFIG_INET_TCP_DIAG=y |
275 | # CONFIG_TCP_CONG_ADVANCED is not set | 276 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -280,6 +281,8 @@ CONFIG_TCP_CONG_BIC=y | |||
280 | # | 281 | # |
281 | # CONFIG_IP_VS is not set | 282 | # CONFIG_IP_VS is not set |
282 | # CONFIG_IPV6 is not set | 283 | # CONFIG_IPV6 is not set |
284 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
285 | # CONFIG_INET6_TUNNEL is not set | ||
283 | CONFIG_NETFILTER=y | 286 | CONFIG_NETFILTER=y |
284 | # CONFIG_NETFILTER_DEBUG is not set | 287 | # CONFIG_NETFILTER_DEBUG is not set |
285 | 288 | ||
@@ -296,10 +299,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
296 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 299 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
297 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 300 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
298 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 301 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
302 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
299 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 303 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
300 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 304 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
301 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 305 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
302 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 306 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
307 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
308 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
303 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
304 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 310 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
305 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -323,6 +329,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
323 | # SCTP Configuration (EXPERIMENTAL) | 329 | # SCTP Configuration (EXPERIMENTAL) |
324 | # | 330 | # |
325 | # CONFIG_IP_SCTP is not set | 331 | # CONFIG_IP_SCTP is not set |
332 | |||
333 | # | ||
334 | # TIPC Configuration (EXPERIMENTAL) | ||
335 | # | ||
336 | # CONFIG_TIPC is not set | ||
326 | # CONFIG_ATM is not set | 337 | # CONFIG_ATM is not set |
327 | # CONFIG_BRIDGE is not set | 338 | # CONFIG_BRIDGE is not set |
328 | # CONFIG_VLAN_8021Q is not set | 339 | # CONFIG_VLAN_8021Q is not set |
@@ -332,11 +343,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
332 | # CONFIG_ATALK is not set | 343 | # CONFIG_ATALK is not set |
333 | # CONFIG_X25 is not set | 344 | # CONFIG_X25 is not set |
334 | # CONFIG_LAPB is not set | 345 | # CONFIG_LAPB is not set |
335 | |||
336 | # | ||
337 | # TIPC Configuration (EXPERIMENTAL) | ||
338 | # | ||
339 | # CONFIG_TIPC is not set | ||
340 | # CONFIG_NET_DIVERT is not set | 346 | # CONFIG_NET_DIVERT is not set |
341 | # CONFIG_ECONET is not set | 347 | # CONFIG_ECONET is not set |
342 | # CONFIG_WAN_ROUTER is not set | 348 | # CONFIG_WAN_ROUTER is not set |
@@ -358,6 +364,9 @@ CONFIG_IEEE80211=m | |||
358 | # CONFIG_IEEE80211_DEBUG is not set | 364 | # CONFIG_IEEE80211_DEBUG is not set |
359 | CONFIG_IEEE80211_CRYPT_WEP=m | 365 | CONFIG_IEEE80211_CRYPT_WEP=m |
360 | CONFIG_IEEE80211_CRYPT_CCMP=m | 366 | CONFIG_IEEE80211_CRYPT_CCMP=m |
367 | CONFIG_IEEE80211_SOFTMAC=m | ||
368 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
369 | CONFIG_WIRELESS_EXT=y | ||
361 | 370 | ||
362 | # | 371 | # |
363 | # Device Drivers | 372 | # Device Drivers |
@@ -414,7 +423,6 @@ CONFIG_MTD_CFI_I2=y | |||
414 | # CONFIG_MTD_CFI_I8 is not set | 423 | # CONFIG_MTD_CFI_I8 is not set |
415 | # CONFIG_MTD_CFI_INTELEXT is not set | 424 | # CONFIG_MTD_CFI_INTELEXT is not set |
416 | CONFIG_MTD_CFI_AMDSTD=y | 425 | CONFIG_MTD_CFI_AMDSTD=y |
417 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
418 | # CONFIG_MTD_CFI_STAA is not set | 426 | # CONFIG_MTD_CFI_STAA is not set |
419 | CONFIG_MTD_CFI_UTIL=y | 427 | CONFIG_MTD_CFI_UTIL=y |
420 | # CONFIG_MTD_RAM is not set | 428 | # CONFIG_MTD_RAM is not set |
@@ -436,7 +444,6 @@ CONFIG_MTD_ALCHEMY=y | |||
436 | # CONFIG_MTD_SLRAM is not set | 444 | # CONFIG_MTD_SLRAM is not set |
437 | # CONFIG_MTD_PHRAM is not set | 445 | # CONFIG_MTD_PHRAM is not set |
438 | # CONFIG_MTD_MTDRAM is not set | 446 | # CONFIG_MTD_MTDRAM is not set |
439 | # CONFIG_MTD_BLKMTD is not set | ||
440 | # CONFIG_MTD_BLOCK2MTD is not set | 447 | # CONFIG_MTD_BLOCK2MTD is not set |
441 | 448 | ||
442 | # | 449 | # |
@@ -473,7 +480,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
473 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 480 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
474 | # CONFIG_BLK_DEV_NBD is not set | 481 | # CONFIG_BLK_DEV_NBD is not set |
475 | # CONFIG_BLK_DEV_RAM is not set | 482 | # CONFIG_BLK_DEV_RAM is not set |
476 | CONFIG_BLK_DEV_RAM_COUNT=16 | 483 | # CONFIG_BLK_DEV_INITRD is not set |
477 | CONFIG_CDROM_PKTCDVD=m | 484 | CONFIG_CDROM_PKTCDVD=m |
478 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 485 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
479 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 486 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -716,10 +723,6 @@ CONFIG_SYNCLINK_CS=m | |||
716 | # | 723 | # |
717 | 724 | ||
718 | # | 725 | # |
719 | # Multimedia Capabilities Port drivers | ||
720 | # | ||
721 | |||
722 | # | ||
723 | # Multimedia devices | 726 | # Multimedia devices |
724 | # | 727 | # |
725 | # CONFIG_VIDEO_DEV is not set | 728 | # CONFIG_VIDEO_DEV is not set |
@@ -750,6 +753,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
750 | # | 753 | # |
751 | CONFIG_USB_ARCH_HAS_HCD=y | 754 | CONFIG_USB_ARCH_HAS_HCD=y |
752 | CONFIG_USB_ARCH_HAS_OHCI=y | 755 | CONFIG_USB_ARCH_HAS_OHCI=y |
756 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
753 | # CONFIG_USB is not set | 757 | # CONFIG_USB is not set |
754 | 758 | ||
755 | # | 759 | # |
@@ -767,12 +771,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
767 | # CONFIG_MMC is not set | 771 | # CONFIG_MMC is not set |
768 | 772 | ||
769 | # | 773 | # |
774 | # LED devices | ||
775 | # | ||
776 | # CONFIG_NEW_LEDS is not set | ||
777 | |||
778 | # | ||
779 | # LED drivers | ||
780 | # | ||
781 | |||
782 | # | ||
783 | # LED Triggers | ||
784 | # | ||
785 | |||
786 | # | ||
770 | # InfiniBand support | 787 | # InfiniBand support |
771 | # | 788 | # |
772 | 789 | ||
773 | # | 790 | # |
774 | # SN Devices | 791 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
792 | # | ||
793 | |||
794 | # | ||
795 | # Real Time Clock | ||
775 | # | 796 | # |
797 | # CONFIG_RTC_CLASS is not set | ||
776 | 798 | ||
777 | # | 799 | # |
778 | # File systems | 800 | # File systems |
@@ -830,7 +852,6 @@ CONFIG_SYSFS=y | |||
830 | CONFIG_TMPFS=y | 852 | CONFIG_TMPFS=y |
831 | # CONFIG_HUGETLB_PAGE is not set | 853 | # CONFIG_HUGETLB_PAGE is not set |
832 | CONFIG_RAMFS=y | 854 | CONFIG_RAMFS=y |
833 | CONFIG_RELAYFS_FS=m | ||
834 | # CONFIG_CONFIGFS_FS is not set | 855 | # CONFIG_CONFIGFS_FS is not set |
835 | 856 | ||
836 | # | 857 | # |
@@ -939,6 +960,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
939 | # CONFIG_MAGIC_SYSRQ is not set | 960 | # CONFIG_MAGIC_SYSRQ is not set |
940 | # CONFIG_DEBUG_KERNEL is not set | 961 | # CONFIG_DEBUG_KERNEL is not set |
941 | CONFIG_LOG_BUF_SHIFT=14 | 962 | CONFIG_LOG_BUF_SHIFT=14 |
963 | # CONFIG_DEBUG_FS is not set | ||
942 | CONFIG_CROSSCOMPILE=y | 964 | CONFIG_CROSSCOMPILE=y |
943 | CONFIG_CMDLINE="" | 965 | CONFIG_CMDLINE="" |
944 | 966 | ||
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig index 8985725e6a98..398c3c265b9f 100644 --- a/arch/mips/configs/pb1500_defconfig +++ b/arch/mips/configs/pb1500_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:24 2006 | 4 | # Mon Apr 24 14:51:13 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_PB1500=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
117 | CONFIG_64BIT_PHYS_ADDR=y | 119 | CONFIG_64BIT_PHYS_ADDR=y |
118 | # CONFIG_CPU_ADVANCED is not set | ||
119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y |
124 | CONFIG_SELECT_MEMORY_MODEL=y | 126 | CONFIG_SELECT_MEMORY_MODEL=y |
125 | CONFIG_FLATMEM_MANUAL=y | 127 | CONFIG_FLATMEM_MANUAL=y |
@@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 139 | # Code maturity level options |
138 | # | 140 | # |
139 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 144 | ||
@@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
153 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y |
154 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set |
155 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set |
157 | CONFIG_RELAY=y | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
170 | CONFIG_CC_ALIGN_LABELS=0 | ||
171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
185 | CONFIG_OBSOLETE_MODPARM=y | ||
186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
191 | # Block layer | 188 | # Block layer |
192 | # | 189 | # |
193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set |
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
194 | 193 | ||
195 | # | 194 | # |
196 | # IO Schedulers | 195 | # IO Schedulers |
@@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
210 | # | 209 | # |
211 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y |
212 | CONFIG_PCI=y | 211 | CONFIG_PCI=y |
213 | CONFIG_PCI_LEGACY_PROC=y | ||
214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y |
215 | 213 | ||
216 | # | 214 | # |
@@ -253,6 +251,7 @@ CONFIG_NET=y | |||
253 | # | 251 | # |
254 | # Networking options | 252 | # Networking options |
255 | # | 253 | # |
254 | # CONFIG_NETDEBUG is not set | ||
256 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y |
257 | # CONFIG_PACKET_MMAP is not set | 256 | # CONFIG_PACKET_MMAP is not set |
258 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y |
@@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
275 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set |
276 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set |
277 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
278 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
278 | # CONFIG_INET_TUNNEL is not set | ||
279 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y |
280 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y |
281 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y | |||
286 | # | 286 | # |
287 | # CONFIG_IP_VS is not set | 287 | # CONFIG_IP_VS is not set |
288 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
290 | # CONFIG_INET6_TUNNEL is not set | ||
289 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y |
290 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set |
291 | 293 | ||
@@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 308 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 309 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 310 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 311 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 315 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
329 | # SCTP Configuration (EXPERIMENTAL) | 334 | # SCTP Configuration (EXPERIMENTAL) |
330 | # | 335 | # |
331 | # CONFIG_IP_SCTP is not set | 336 | # CONFIG_IP_SCTP is not set |
337 | |||
338 | # | ||
339 | # TIPC Configuration (EXPERIMENTAL) | ||
340 | # | ||
341 | # CONFIG_TIPC is not set | ||
332 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set |
333 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set |
334 | # CONFIG_VLAN_8021Q is not set | 344 | # CONFIG_VLAN_8021Q is not set |
@@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
338 | # CONFIG_ATALK is not set | 348 | # CONFIG_ATALK is not set |
339 | # CONFIG_X25 is not set | 349 | # CONFIG_X25 is not set |
340 | # CONFIG_LAPB is not set | 350 | # CONFIG_LAPB is not set |
341 | |||
342 | # | ||
343 | # TIPC Configuration (EXPERIMENTAL) | ||
344 | # | ||
345 | # CONFIG_TIPC is not set | ||
346 | # CONFIG_NET_DIVERT is not set | 351 | # CONFIG_NET_DIVERT is not set |
347 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set |
348 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set |
@@ -364,6 +369,9 @@ CONFIG_IEEE80211=m | |||
364 | # CONFIG_IEEE80211_DEBUG is not set | 369 | # CONFIG_IEEE80211_DEBUG is not set |
365 | CONFIG_IEEE80211_CRYPT_WEP=m | 370 | CONFIG_IEEE80211_CRYPT_WEP=m |
366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 371 | CONFIG_IEEE80211_CRYPT_CCMP=m |
372 | CONFIG_IEEE80211_SOFTMAC=m | ||
373 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
374 | CONFIG_WIRELESS_EXT=y | ||
367 | 375 | ||
368 | # | 376 | # |
369 | # Device Drivers | 377 | # Device Drivers |
@@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y | |||
420 | # CONFIG_MTD_CFI_I8 is not set | 428 | # CONFIG_MTD_CFI_I8 is not set |
421 | # CONFIG_MTD_CFI_INTELEXT is not set | 429 | # CONFIG_MTD_CFI_INTELEXT is not set |
422 | CONFIG_MTD_CFI_AMDSTD=y | 430 | CONFIG_MTD_CFI_AMDSTD=y |
423 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
424 | # CONFIG_MTD_CFI_STAA is not set | 431 | # CONFIG_MTD_CFI_STAA is not set |
425 | CONFIG_MTD_CFI_UTIL=y | 432 | CONFIG_MTD_CFI_UTIL=y |
426 | # CONFIG_MTD_RAM is not set | 433 | # CONFIG_MTD_RAM is not set |
@@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y | |||
443 | # CONFIG_MTD_SLRAM is not set | 450 | # CONFIG_MTD_SLRAM is not set |
444 | # CONFIG_MTD_PHRAM is not set | 451 | # CONFIG_MTD_PHRAM is not set |
445 | # CONFIG_MTD_MTDRAM is not set | 452 | # CONFIG_MTD_MTDRAM is not set |
446 | # CONFIG_MTD_BLKMTD is not set | ||
447 | # CONFIG_MTD_BLOCK2MTD is not set | 453 | # CONFIG_MTD_BLOCK2MTD is not set |
448 | 454 | ||
449 | # | 455 | # |
@@ -485,7 +491,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
485 | # CONFIG_BLK_DEV_NBD is not set | 491 | # CONFIG_BLK_DEV_NBD is not set |
486 | # CONFIG_BLK_DEV_SX8 is not set | 492 | # CONFIG_BLK_DEV_SX8 is not set |
487 | # CONFIG_BLK_DEV_RAM is not set | 493 | # CONFIG_BLK_DEV_RAM is not set |
488 | CONFIG_BLK_DEV_RAM_COUNT=16 | 494 | # CONFIG_BLK_DEV_INITRD is not set |
489 | CONFIG_CDROM_PKTCDVD=m | 495 | CONFIG_CDROM_PKTCDVD=m |
490 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 496 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
491 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 497 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -750,6 +756,7 @@ CONFIG_SERIO_RAW=m | |||
750 | # | 756 | # |
751 | CONFIG_SERIAL_8250=y | 757 | CONFIG_SERIAL_8250=y |
752 | CONFIG_SERIAL_8250_CONSOLE=y | 758 | CONFIG_SERIAL_8250_CONSOLE=y |
759 | CONFIG_SERIAL_8250_PCI=y | ||
753 | # CONFIG_SERIAL_8250_CS is not set | 760 | # CONFIG_SERIAL_8250_CS is not set |
754 | CONFIG_SERIAL_8250_NR_UARTS=4 | 761 | CONFIG_SERIAL_8250_NR_UARTS=4 |
755 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 762 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
@@ -761,6 +768,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
761 | # | 768 | # |
762 | CONFIG_SERIAL_CORE=y | 769 | CONFIG_SERIAL_CORE=y |
763 | CONFIG_SERIAL_CORE_CONSOLE=y | 770 | CONFIG_SERIAL_CORE_CONSOLE=y |
771 | # CONFIG_SERIAL_JSM is not set | ||
764 | CONFIG_UNIX98_PTYS=y | 772 | CONFIG_UNIX98_PTYS=y |
765 | CONFIG_LEGACY_PTYS=y | 773 | CONFIG_LEGACY_PTYS=y |
766 | CONFIG_LEGACY_PTY_COUNT=256 | 774 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -826,10 +834,6 @@ CONFIG_SYNCLINK_CS=m | |||
826 | # | 834 | # |
827 | 835 | ||
828 | # | 836 | # |
829 | # Multimedia Capabilities Port drivers | ||
830 | # | ||
831 | |||
832 | # | ||
833 | # Multimedia devices | 837 | # Multimedia devices |
834 | # | 838 | # |
835 | # CONFIG_VIDEO_DEV is not set | 839 | # CONFIG_VIDEO_DEV is not set |
@@ -854,6 +858,7 @@ CONFIG_SYNCLINK_CS=m | |||
854 | # | 858 | # |
855 | CONFIG_USB_ARCH_HAS_HCD=y | 859 | CONFIG_USB_ARCH_HAS_HCD=y |
856 | CONFIG_USB_ARCH_HAS_OHCI=y | 860 | CONFIG_USB_ARCH_HAS_OHCI=y |
861 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
857 | # CONFIG_USB is not set | 862 | # CONFIG_USB is not set |
858 | 863 | ||
859 | # | 864 | # |
@@ -871,13 +876,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
871 | # CONFIG_MMC is not set | 876 | # CONFIG_MMC is not set |
872 | 877 | ||
873 | # | 878 | # |
879 | # LED devices | ||
880 | # | ||
881 | # CONFIG_NEW_LEDS is not set | ||
882 | |||
883 | # | ||
884 | # LED drivers | ||
885 | # | ||
886 | |||
887 | # | ||
888 | # LED Triggers | ||
889 | # | ||
890 | |||
891 | # | ||
874 | # InfiniBand support | 892 | # InfiniBand support |
875 | # | 893 | # |
876 | # CONFIG_INFINIBAND is not set | 894 | # CONFIG_INFINIBAND is not set |
877 | 895 | ||
878 | # | 896 | # |
879 | # SN Devices | 897 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
898 | # | ||
899 | |||
900 | # | ||
901 | # Real Time Clock | ||
880 | # | 902 | # |
903 | # CONFIG_RTC_CLASS is not set | ||
881 | 904 | ||
882 | # | 905 | # |
883 | # File systems | 906 | # File systems |
@@ -935,7 +958,6 @@ CONFIG_SYSFS=y | |||
935 | CONFIG_TMPFS=y | 958 | CONFIG_TMPFS=y |
936 | # CONFIG_HUGETLB_PAGE is not set | 959 | # CONFIG_HUGETLB_PAGE is not set |
937 | CONFIG_RAMFS=y | 960 | CONFIG_RAMFS=y |
938 | CONFIG_RELAYFS_FS=m | ||
939 | # CONFIG_CONFIGFS_FS is not set | 961 | # CONFIG_CONFIGFS_FS is not set |
940 | 962 | ||
941 | # | 963 | # |
@@ -1044,6 +1066,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1044 | # CONFIG_MAGIC_SYSRQ is not set | 1066 | # CONFIG_MAGIC_SYSRQ is not set |
1045 | # CONFIG_DEBUG_KERNEL is not set | 1067 | # CONFIG_DEBUG_KERNEL is not set |
1046 | CONFIG_LOG_BUF_SHIFT=14 | 1068 | CONFIG_LOG_BUF_SHIFT=14 |
1069 | # CONFIG_DEBUG_FS is not set | ||
1047 | CONFIG_CROSSCOMPILE=y | 1070 | CONFIG_CROSSCOMPILE=y |
1048 | CONFIG_CMDLINE="" | 1071 | CONFIG_CMDLINE="" |
1049 | 1072 | ||
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig index adbf997b540e..ea282a53bb66 100644 --- a/arch/mips/configs/pb1550_defconfig +++ b/arch/mips/configs/pb1550_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:25 2006 | 4 | # Mon Apr 24 14:51:13 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_PB1550=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
117 | CONFIG_64BIT_PHYS_ADDR=y | 119 | CONFIG_64BIT_PHYS_ADDR=y |
118 | # CONFIG_CPU_ADVANCED is not set | ||
119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y |
124 | CONFIG_SELECT_MEMORY_MODEL=y | 126 | CONFIG_SELECT_MEMORY_MODEL=y |
125 | CONFIG_FLATMEM_MANUAL=y | 127 | CONFIG_FLATMEM_MANUAL=y |
@@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 139 | # Code maturity level options |
138 | # | 140 | # |
139 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 144 | ||
@@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
153 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y |
154 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set |
155 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set |
157 | CONFIG_RELAY=y | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
170 | CONFIG_CC_ALIGN_LABELS=0 | ||
171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y |
184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
185 | CONFIG_OBSOLETE_MODPARM=y | ||
186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y |
187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y |
188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y |
@@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
191 | # Block layer | 188 | # Block layer |
192 | # | 189 | # |
193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set |
191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
192 | # CONFIG_LSF is not set | ||
194 | 193 | ||
195 | # | 194 | # |
196 | # IO Schedulers | 195 | # IO Schedulers |
@@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
210 | # | 209 | # |
211 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y |
212 | CONFIG_PCI=y | 211 | CONFIG_PCI=y |
213 | CONFIG_PCI_LEGACY_PROC=y | ||
214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y |
215 | 213 | ||
216 | # | 214 | # |
@@ -253,6 +251,7 @@ CONFIG_NET=y | |||
253 | # | 251 | # |
254 | # Networking options | 252 | # Networking options |
255 | # | 253 | # |
254 | # CONFIG_NETDEBUG is not set | ||
256 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y |
257 | # CONFIG_PACKET_MMAP is not set | 256 | # CONFIG_PACKET_MMAP is not set |
258 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y |
@@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
275 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set |
276 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set |
277 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
278 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
278 | # CONFIG_INET_TUNNEL is not set | ||
279 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y |
280 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y |
281 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y | |||
286 | # | 286 | # |
287 | # CONFIG_IP_VS is not set | 287 | # CONFIG_IP_VS is not set |
288 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
290 | # CONFIG_INET6_TUNNEL is not set | ||
289 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y |
290 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set |
291 | 293 | ||
@@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 308 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 309 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 310 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 311 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 315 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
329 | # SCTP Configuration (EXPERIMENTAL) | 334 | # SCTP Configuration (EXPERIMENTAL) |
330 | # | 335 | # |
331 | # CONFIG_IP_SCTP is not set | 336 | # CONFIG_IP_SCTP is not set |
337 | |||
338 | # | ||
339 | # TIPC Configuration (EXPERIMENTAL) | ||
340 | # | ||
341 | # CONFIG_TIPC is not set | ||
332 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set |
333 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set |
334 | # CONFIG_VLAN_8021Q is not set | 344 | # CONFIG_VLAN_8021Q is not set |
@@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
338 | # CONFIG_ATALK is not set | 348 | # CONFIG_ATALK is not set |
339 | # CONFIG_X25 is not set | 349 | # CONFIG_X25 is not set |
340 | # CONFIG_LAPB is not set | 350 | # CONFIG_LAPB is not set |
341 | |||
342 | # | ||
343 | # TIPC Configuration (EXPERIMENTAL) | ||
344 | # | ||
345 | # CONFIG_TIPC is not set | ||
346 | # CONFIG_NET_DIVERT is not set | 351 | # CONFIG_NET_DIVERT is not set |
347 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set |
348 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set |
@@ -364,6 +369,9 @@ CONFIG_IEEE80211=m | |||
364 | # CONFIG_IEEE80211_DEBUG is not set | 369 | # CONFIG_IEEE80211_DEBUG is not set |
365 | CONFIG_IEEE80211_CRYPT_WEP=m | 370 | CONFIG_IEEE80211_CRYPT_WEP=m |
366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 371 | CONFIG_IEEE80211_CRYPT_CCMP=m |
372 | CONFIG_IEEE80211_SOFTMAC=m | ||
373 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
374 | CONFIG_WIRELESS_EXT=y | ||
367 | 375 | ||
368 | # | 376 | # |
369 | # Device Drivers | 377 | # Device Drivers |
@@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y | |||
420 | # CONFIG_MTD_CFI_I8 is not set | 428 | # CONFIG_MTD_CFI_I8 is not set |
421 | # CONFIG_MTD_CFI_INTELEXT is not set | 429 | # CONFIG_MTD_CFI_INTELEXT is not set |
422 | CONFIG_MTD_CFI_AMDSTD=y | 430 | CONFIG_MTD_CFI_AMDSTD=y |
423 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
424 | # CONFIG_MTD_CFI_STAA is not set | 431 | # CONFIG_MTD_CFI_STAA is not set |
425 | CONFIG_MTD_CFI_UTIL=y | 432 | CONFIG_MTD_CFI_UTIL=y |
426 | # CONFIG_MTD_RAM is not set | 433 | # CONFIG_MTD_RAM is not set |
@@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y | |||
443 | # CONFIG_MTD_SLRAM is not set | 450 | # CONFIG_MTD_SLRAM is not set |
444 | # CONFIG_MTD_PHRAM is not set | 451 | # CONFIG_MTD_PHRAM is not set |
445 | # CONFIG_MTD_MTDRAM is not set | 452 | # CONFIG_MTD_MTDRAM is not set |
446 | # CONFIG_MTD_BLKMTD is not set | ||
447 | # CONFIG_MTD_BLOCK2MTD is not set | 453 | # CONFIG_MTD_BLOCK2MTD is not set |
448 | 454 | ||
449 | # | 455 | # |
@@ -485,7 +491,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
485 | # CONFIG_BLK_DEV_NBD is not set | 491 | # CONFIG_BLK_DEV_NBD is not set |
486 | # CONFIG_BLK_DEV_SX8 is not set | 492 | # CONFIG_BLK_DEV_SX8 is not set |
487 | # CONFIG_BLK_DEV_RAM is not set | 493 | # CONFIG_BLK_DEV_RAM is not set |
488 | CONFIG_BLK_DEV_RAM_COUNT=16 | 494 | # CONFIG_BLK_DEV_INITRD is not set |
489 | CONFIG_CDROM_PKTCDVD=m | 495 | CONFIG_CDROM_PKTCDVD=m |
490 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 496 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
491 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 497 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -742,6 +748,7 @@ CONFIG_SERIO_RAW=m | |||
742 | # | 748 | # |
743 | CONFIG_SERIAL_8250=y | 749 | CONFIG_SERIAL_8250=y |
744 | CONFIG_SERIAL_8250_CONSOLE=y | 750 | CONFIG_SERIAL_8250_CONSOLE=y |
751 | CONFIG_SERIAL_8250_PCI=y | ||
745 | # CONFIG_SERIAL_8250_CS is not set | 752 | # CONFIG_SERIAL_8250_CS is not set |
746 | CONFIG_SERIAL_8250_NR_UARTS=4 | 753 | CONFIG_SERIAL_8250_NR_UARTS=4 |
747 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 754 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
@@ -753,6 +760,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
753 | # | 760 | # |
754 | CONFIG_SERIAL_CORE=y | 761 | CONFIG_SERIAL_CORE=y |
755 | CONFIG_SERIAL_CORE_CONSOLE=y | 762 | CONFIG_SERIAL_CORE_CONSOLE=y |
763 | # CONFIG_SERIAL_JSM is not set | ||
756 | CONFIG_UNIX98_PTYS=y | 764 | CONFIG_UNIX98_PTYS=y |
757 | CONFIG_LEGACY_PTYS=y | 765 | CONFIG_LEGACY_PTYS=y |
758 | CONFIG_LEGACY_PTY_COUNT=256 | 766 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -818,10 +826,6 @@ CONFIG_SYNCLINK_CS=m | |||
818 | # | 826 | # |
819 | 827 | ||
820 | # | 828 | # |
821 | # Multimedia Capabilities Port drivers | ||
822 | # | ||
823 | |||
824 | # | ||
825 | # Multimedia devices | 829 | # Multimedia devices |
826 | # | 830 | # |
827 | # CONFIG_VIDEO_DEV is not set | 831 | # CONFIG_VIDEO_DEV is not set |
@@ -846,6 +850,7 @@ CONFIG_SYNCLINK_CS=m | |||
846 | # | 850 | # |
847 | CONFIG_USB_ARCH_HAS_HCD=y | 851 | CONFIG_USB_ARCH_HAS_HCD=y |
848 | CONFIG_USB_ARCH_HAS_OHCI=y | 852 | CONFIG_USB_ARCH_HAS_OHCI=y |
853 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
849 | # CONFIG_USB is not set | 854 | # CONFIG_USB is not set |
850 | 855 | ||
851 | # | 856 | # |
@@ -863,13 +868,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
863 | # CONFIG_MMC is not set | 868 | # CONFIG_MMC is not set |
864 | 869 | ||
865 | # | 870 | # |
871 | # LED devices | ||
872 | # | ||
873 | # CONFIG_NEW_LEDS is not set | ||
874 | |||
875 | # | ||
876 | # LED drivers | ||
877 | # | ||
878 | |||
879 | # | ||
880 | # LED Triggers | ||
881 | # | ||
882 | |||
883 | # | ||
866 | # InfiniBand support | 884 | # InfiniBand support |
867 | # | 885 | # |
868 | # CONFIG_INFINIBAND is not set | 886 | # CONFIG_INFINIBAND is not set |
869 | 887 | ||
870 | # | 888 | # |
871 | # SN Devices | 889 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
890 | # | ||
891 | |||
892 | # | ||
893 | # Real Time Clock | ||
872 | # | 894 | # |
895 | # CONFIG_RTC_CLASS is not set | ||
873 | 896 | ||
874 | # | 897 | # |
875 | # File systems | 898 | # File systems |
@@ -927,7 +950,6 @@ CONFIG_SYSFS=y | |||
927 | CONFIG_TMPFS=y | 950 | CONFIG_TMPFS=y |
928 | # CONFIG_HUGETLB_PAGE is not set | 951 | # CONFIG_HUGETLB_PAGE is not set |
929 | CONFIG_RAMFS=y | 952 | CONFIG_RAMFS=y |
930 | CONFIG_RELAYFS_FS=m | ||
931 | # CONFIG_CONFIGFS_FS is not set | 953 | # CONFIG_CONFIGFS_FS is not set |
932 | 954 | ||
933 | # | 955 | # |
@@ -1036,6 +1058,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1036 | # CONFIG_MAGIC_SYSRQ is not set | 1058 | # CONFIG_MAGIC_SYSRQ is not set |
1037 | # CONFIG_DEBUG_KERNEL is not set | 1059 | # CONFIG_DEBUG_KERNEL is not set |
1038 | CONFIG_LOG_BUF_SHIFT=14 | 1060 | CONFIG_LOG_BUF_SHIFT=14 |
1061 | # CONFIG_DEBUG_FS is not set | ||
1039 | CONFIG_CROSSCOMPILE=y | 1062 | CONFIG_CROSSCOMPILE=y |
1040 | CONFIG_CMDLINE="" | 1063 | CONFIG_CMDLINE="" |
1041 | 1064 | ||
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig index b5db700450ba..4c57e564db0b 100644 --- a/arch/mips/configs/pnx8550-jbs_defconfig +++ b/arch/mips/configs/pnx8550-jbs_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:26 2006 | 4 | # Mon Apr 24 14:51:14 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_PNX8550_JBS=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set |
116 | # CONFIG_64BIT_PHYS_ADDR is not set | 118 | # CONFIG_64BIT_PHYS_ADDR is not set |
117 | # CONFIG_CPU_ADVANCED is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y |
123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y |
123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y |
124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y |
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # Code maturity level options | 138 | # Code maturity level options |
137 | # | 139 | # |
138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
139 | CONFIG_CLEAN_COMPILE=y | ||
140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
142 | 143 | ||
@@ -153,6 +154,7 @@ CONFIG_SYSCTL=y | |||
153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set |
154 | CONFIG_IKCONFIG=y | 155 | CONFIG_IKCONFIG=y |
155 | CONFIG_IKCONFIG_PROC=y | 156 | CONFIG_IKCONFIG_PROC=y |
157 | # CONFIG_RELAY is not set | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 |
@@ -181,7 +179,6 @@ CONFIG_BASE_SMALL=0 | |||
181 | # | 179 | # |
182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y |
183 | # CONFIG_MODULE_UNLOAD is not set | 181 | # CONFIG_MODULE_UNLOAD is not set |
184 | CONFIG_OBSOLETE_MODPARM=y | ||
185 | # CONFIG_MODVERSIONS is not set | 182 | # CONFIG_MODVERSIONS is not set |
186 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 183 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
187 | CONFIG_KMOD=y | 184 | CONFIG_KMOD=y |
@@ -190,6 +187,8 @@ CONFIG_KMOD=y | |||
190 | # Block layer | 187 | # Block layer |
191 | # | 188 | # |
192 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set |
190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
191 | # CONFIG_LSF is not set | ||
193 | 192 | ||
194 | # | 193 | # |
195 | # IO Schedulers | 194 | # IO Schedulers |
@@ -209,7 +208,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
209 | # | 208 | # |
210 | CONFIG_HW_HAS_PCI=y | 209 | CONFIG_HW_HAS_PCI=y |
211 | CONFIG_PCI=y | 210 | CONFIG_PCI=y |
212 | # CONFIG_PCI_LEGACY_PROC is not set | ||
213 | # CONFIG_PCI_DEBUG is not set | 211 | # CONFIG_PCI_DEBUG is not set |
214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y |
215 | 213 | ||
@@ -238,6 +236,7 @@ CONFIG_NET=y | |||
238 | # | 236 | # |
239 | # Networking options | 237 | # Networking options |
240 | # | 238 | # |
239 | # CONFIG_NETDEBUG is not set | ||
241 | CONFIG_PACKET=y | 240 | CONFIG_PACKET=y |
242 | # CONFIG_PACKET_MMAP is not set | 241 | # CONFIG_PACKET_MMAP is not set |
243 | CONFIG_UNIX=y | 242 | CONFIG_UNIX=y |
@@ -257,12 +256,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
257 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set |
258 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set |
259 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set |
259 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
260 | # CONFIG_INET_TUNNEL is not set | 260 | # CONFIG_INET_TUNNEL is not set |
261 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y |
262 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y |
263 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set |
264 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y |
265 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set |
266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
267 | # CONFIG_INET6_TUNNEL is not set | ||
266 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set |
267 | 269 | ||
268 | # | 270 | # |
@@ -274,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
274 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) |
275 | # | 277 | # |
276 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set |
279 | |||
280 | # | ||
281 | # TIPC Configuration (EXPERIMENTAL) | ||
282 | # | ||
283 | # CONFIG_TIPC is not set | ||
277 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set |
278 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set |
279 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set |
@@ -283,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
283 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set |
284 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set |
285 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set |
286 | |||
287 | # | ||
288 | # TIPC Configuration (EXPERIMENTAL) | ||
289 | # | ||
290 | # CONFIG_TIPC is not set | ||
291 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set |
292 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set |
293 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set |
@@ -469,7 +471,6 @@ CONFIG_ISCSI_TCP=m | |||
469 | # CONFIG_SCSI_INIA100 is not set | 471 | # CONFIG_SCSI_INIA100 is not set |
470 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 472 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
471 | # CONFIG_SCSI_IPR is not set | 473 | # CONFIG_SCSI_IPR is not set |
472 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
473 | # CONFIG_SCSI_QLOGIC_1280 is not set | 474 | # CONFIG_SCSI_QLOGIC_1280 is not set |
474 | # CONFIG_SCSI_QLA_FC is not set | 475 | # CONFIG_SCSI_QLA_FC is not set |
475 | # CONFIG_SCSI_LPFC is not set | 476 | # CONFIG_SCSI_LPFC is not set |
@@ -671,6 +672,7 @@ CONFIG_HW_CONSOLE=y | |||
671 | # Non-8250 serial port support | 672 | # Non-8250 serial port support |
672 | # | 673 | # |
673 | # CONFIG_SERIAL_IP3106 is not set | 674 | # CONFIG_SERIAL_IP3106 is not set |
675 | # CONFIG_SERIAL_JSM is not set | ||
674 | CONFIG_UNIX98_PTYS=y | 676 | CONFIG_UNIX98_PTYS=y |
675 | CONFIG_LEGACY_PTYS=y | 677 | CONFIG_LEGACY_PTYS=y |
676 | CONFIG_LEGACY_PTY_COUNT=256 | 678 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -723,6 +725,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
723 | # | 725 | # |
724 | CONFIG_HWMON=y | 726 | CONFIG_HWMON=y |
725 | # CONFIG_HWMON_VID is not set | 727 | # CONFIG_HWMON_VID is not set |
728 | # CONFIG_SENSORS_F71805F is not set | ||
726 | # CONFIG_HWMON_DEBUG_CHIP is not set | 729 | # CONFIG_HWMON_DEBUG_CHIP is not set |
727 | 730 | ||
728 | # | 731 | # |
@@ -730,10 +733,6 @@ CONFIG_HWMON=y | |||
730 | # | 733 | # |
731 | 734 | ||
732 | # | 735 | # |
733 | # Multimedia Capabilities Port drivers | ||
734 | # | ||
735 | |||
736 | # | ||
737 | # Multimedia devices | 736 | # Multimedia devices |
738 | # | 737 | # |
739 | # CONFIG_VIDEO_DEV is not set | 738 | # CONFIG_VIDEO_DEV is not set |
@@ -742,6 +741,7 @@ CONFIG_HWMON=y | |||
742 | # Digital Video Broadcasting Devices | 741 | # Digital Video Broadcasting Devices |
743 | # | 742 | # |
744 | # CONFIG_DVB is not set | 743 | # CONFIG_DVB is not set |
744 | # CONFIG_USB_DABUSB is not set | ||
745 | 745 | ||
746 | # | 746 | # |
747 | # Graphics support | 747 | # Graphics support |
@@ -764,6 +764,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
764 | # | 764 | # |
765 | CONFIG_USB_ARCH_HAS_HCD=y | 765 | CONFIG_USB_ARCH_HAS_HCD=y |
766 | CONFIG_USB_ARCH_HAS_OHCI=y | 766 | CONFIG_USB_ARCH_HAS_OHCI=y |
767 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
767 | CONFIG_USB=y | 768 | CONFIG_USB=y |
768 | # CONFIG_USB_DEBUG is not set | 769 | # CONFIG_USB_DEBUG is not set |
769 | 770 | ||
@@ -827,9 +828,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
827 | # CONFIG_USB_ACECAD is not set | 828 | # CONFIG_USB_ACECAD is not set |
828 | # CONFIG_USB_KBTAB is not set | 829 | # CONFIG_USB_KBTAB is not set |
829 | # CONFIG_USB_POWERMATE is not set | 830 | # CONFIG_USB_POWERMATE is not set |
830 | # CONFIG_USB_MTOUCH is not set | 831 | # CONFIG_USB_TOUCHSCREEN is not set |
831 | # CONFIG_USB_ITMTOUCH is not set | ||
832 | # CONFIG_USB_EGALAX is not set | ||
833 | # CONFIG_USB_YEALINK is not set | 832 | # CONFIG_USB_YEALINK is not set |
834 | # CONFIG_USB_XPAD is not set | 833 | # CONFIG_USB_XPAD is not set |
835 | # CONFIG_USB_ATI_REMOTE is not set | 834 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -844,15 +843,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
844 | # CONFIG_USB_MICROTEK is not set | 843 | # CONFIG_USB_MICROTEK is not set |
845 | 844 | ||
846 | # | 845 | # |
847 | # USB Multimedia devices | ||
848 | # | ||
849 | # CONFIG_USB_DABUSB is not set | ||
850 | |||
851 | # | ||
852 | # Video4Linux support is needed for USB Multimedia device support | ||
853 | # | ||
854 | |||
855 | # | ||
856 | # USB Network Adapters | 846 | # USB Network Adapters |
857 | # | 847 | # |
858 | # CONFIG_USB_CATC is not set | 848 | # CONFIG_USB_CATC is not set |
@@ -902,13 +892,31 @@ CONFIG_USB_MON=y | |||
902 | # CONFIG_MMC is not set | 892 | # CONFIG_MMC is not set |
903 | 893 | ||
904 | # | 894 | # |
895 | # LED devices | ||
896 | # | ||
897 | # CONFIG_NEW_LEDS is not set | ||
898 | |||
899 | # | ||
900 | # LED drivers | ||
901 | # | ||
902 | |||
903 | # | ||
904 | # LED Triggers | ||
905 | # | ||
906 | |||
907 | # | ||
905 | # InfiniBand support | 908 | # InfiniBand support |
906 | # | 909 | # |
907 | # CONFIG_INFINIBAND is not set | 910 | # CONFIG_INFINIBAND is not set |
908 | 911 | ||
909 | # | 912 | # |
910 | # SN Devices | 913 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
914 | # | ||
915 | |||
916 | # | ||
917 | # Real Time Clock | ||
911 | # | 918 | # |
919 | # CONFIG_RTC_CLASS is not set | ||
912 | 920 | ||
913 | # | 921 | # |
914 | # File systems | 922 | # File systems |
@@ -956,7 +964,6 @@ CONFIG_SYSFS=y | |||
956 | CONFIG_TMPFS=y | 964 | CONFIG_TMPFS=y |
957 | # CONFIG_HUGETLB_PAGE is not set | 965 | # CONFIG_HUGETLB_PAGE is not set |
958 | CONFIG_RAMFS=y | 966 | CONFIG_RAMFS=y |
959 | # CONFIG_RELAYFS_FS is not set | ||
960 | # CONFIG_CONFIGFS_FS is not set | 967 | # CONFIG_CONFIGFS_FS is not set |
961 | 968 | ||
962 | # | 969 | # |
@@ -1067,6 +1074,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
1067 | CONFIG_DETECT_SOFTLOCKUP=y | 1074 | CONFIG_DETECT_SOFTLOCKUP=y |
1068 | # CONFIG_SCHEDSTATS is not set | 1075 | # CONFIG_SCHEDSTATS is not set |
1069 | CONFIG_DEBUG_SLAB=y | 1076 | CONFIG_DEBUG_SLAB=y |
1077 | # CONFIG_DEBUG_SLAB_LEAK is not set | ||
1070 | CONFIG_DEBUG_MUTEXES=y | 1078 | CONFIG_DEBUG_MUTEXES=y |
1071 | # CONFIG_DEBUG_SPINLOCK is not set | 1079 | # CONFIG_DEBUG_SPINLOCK is not set |
1072 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1080 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig index 4187287f0763..3c8f35162fec 100644 --- a/arch/mips/configs/pnx8550-v2pci_defconfig +++ b/arch/mips/configs/pnx8550-v2pci_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:28 2006 | 4 | # Mon Apr 24 14:51:14 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_PNX8550_V2PCI=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -114,12 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set |
116 | # CONFIG_64BIT_PHYS_ADDR is not set | 118 | # CONFIG_64BIT_PHYS_ADDR is not set |
117 | CONFIG_CPU_ADVANCED=y | ||
118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y |
119 | # CONFIG_CPU_HAS_WB is not set | ||
120 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y |
123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y |
124 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y |
125 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y |
@@ -137,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 138 | # Code maturity level options |
138 | # | 139 | # |
139 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 143 | ||
@@ -154,6 +154,7 @@ CONFIG_SYSCTL=y | |||
154 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set |
155 | CONFIG_IKCONFIG=y | 155 | CONFIG_IKCONFIG=y |
156 | CONFIG_IKCONFIG_PROC=y | 156 | CONFIG_IKCONFIG_PROC=y |
157 | # CONFIG_RELAY is not set | ||
157 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" |
158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
159 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y |
@@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 |
@@ -181,7 +178,6 @@ CONFIG_BASE_SMALL=0 | |||
181 | # | 178 | # |
182 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y |
183 | # CONFIG_MODULE_UNLOAD is not set | 180 | # CONFIG_MODULE_UNLOAD is not set |
184 | CONFIG_OBSOLETE_MODPARM=y | ||
185 | # CONFIG_MODVERSIONS is not set | 181 | # CONFIG_MODVERSIONS is not set |
186 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 182 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
187 | CONFIG_KMOD=y | 183 | CONFIG_KMOD=y |
@@ -190,6 +186,8 @@ CONFIG_KMOD=y | |||
190 | # Block layer | 186 | # Block layer |
191 | # | 187 | # |
192 | # CONFIG_LBD is not set | 188 | # CONFIG_LBD is not set |
189 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
190 | # CONFIG_LSF is not set | ||
193 | 191 | ||
194 | # | 192 | # |
195 | # IO Schedulers | 193 | # IO Schedulers |
@@ -209,7 +207,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
209 | # | 207 | # |
210 | CONFIG_HW_HAS_PCI=y | 208 | CONFIG_HW_HAS_PCI=y |
211 | CONFIG_PCI=y | 209 | CONFIG_PCI=y |
212 | # CONFIG_PCI_LEGACY_PROC is not set | ||
213 | CONFIG_MMU=y | 210 | CONFIG_MMU=y |
214 | 211 | ||
215 | # | 212 | # |
@@ -237,6 +234,7 @@ CONFIG_NET=y | |||
237 | # | 234 | # |
238 | # Networking options | 235 | # Networking options |
239 | # | 236 | # |
237 | # CONFIG_NETDEBUG is not set | ||
240 | CONFIG_PACKET=y | 238 | CONFIG_PACKET=y |
241 | # CONFIG_PACKET_MMAP is not set | 239 | # CONFIG_PACKET_MMAP is not set |
242 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y |
@@ -256,6 +254,7 @@ CONFIG_IP_PNP=y | |||
256 | # CONFIG_INET_AH is not set | 254 | # CONFIG_INET_AH is not set |
257 | # CONFIG_INET_ESP is not set | 255 | # CONFIG_INET_ESP is not set |
258 | # CONFIG_INET_IPCOMP is not set | 256 | # CONFIG_INET_IPCOMP is not set |
257 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
259 | # CONFIG_INET_TUNNEL is not set | 258 | # CONFIG_INET_TUNNEL is not set |
260 | CONFIG_INET_DIAG=y | 259 | CONFIG_INET_DIAG=y |
261 | CONFIG_INET_TCP_DIAG=y | 260 | CONFIG_INET_TCP_DIAG=y |
@@ -268,9 +267,12 @@ CONFIG_TCP_CONG_BIC=y | |||
268 | # CONFIG_IP_VS is not set | 267 | # CONFIG_IP_VS is not set |
269 | CONFIG_IPV6=m | 268 | CONFIG_IPV6=m |
270 | # CONFIG_IPV6_PRIVACY is not set | 269 | # CONFIG_IPV6_PRIVACY is not set |
270 | CONFIG_IPV6_ROUTER_PREF=y | ||
271 | CONFIG_IPV6_ROUTE_INFO=y | ||
271 | # CONFIG_INET6_AH is not set | 272 | # CONFIG_INET6_AH is not set |
272 | # CONFIG_INET6_ESP is not set | 273 | # CONFIG_INET6_ESP is not set |
273 | # CONFIG_INET6_IPCOMP is not set | 274 | # CONFIG_INET6_IPCOMP is not set |
275 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
274 | # CONFIG_INET6_TUNNEL is not set | 276 | # CONFIG_INET6_TUNNEL is not set |
275 | # CONFIG_IPV6_TUNNEL is not set | 277 | # CONFIG_IPV6_TUNNEL is not set |
276 | CONFIG_NETFILTER=y | 278 | CONFIG_NETFILTER=y |
@@ -287,10 +289,12 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
287 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 289 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
288 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 290 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
289 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 291 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
292 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
290 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 293 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
291 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 294 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
292 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 295 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
293 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 296 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
297 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
294 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 298 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
295 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 299 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
296 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 300 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -320,6 +324,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
320 | # SCTP Configuration (EXPERIMENTAL) | 324 | # SCTP Configuration (EXPERIMENTAL) |
321 | # | 325 | # |
322 | # CONFIG_IP_SCTP is not set | 326 | # CONFIG_IP_SCTP is not set |
327 | |||
328 | # | ||
329 | # TIPC Configuration (EXPERIMENTAL) | ||
330 | # | ||
331 | # CONFIG_TIPC is not set | ||
323 | # CONFIG_ATM is not set | 332 | # CONFIG_ATM is not set |
324 | # CONFIG_BRIDGE is not set | 333 | # CONFIG_BRIDGE is not set |
325 | # CONFIG_VLAN_8021Q is not set | 334 | # CONFIG_VLAN_8021Q is not set |
@@ -329,11 +338,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
329 | # CONFIG_ATALK is not set | 338 | # CONFIG_ATALK is not set |
330 | # CONFIG_X25 is not set | 339 | # CONFIG_X25 is not set |
331 | # CONFIG_LAPB is not set | 340 | # CONFIG_LAPB is not set |
332 | |||
333 | # | ||
334 | # TIPC Configuration (EXPERIMENTAL) | ||
335 | # | ||
336 | # CONFIG_TIPC is not set | ||
337 | # CONFIG_NET_DIVERT is not set | 341 | # CONFIG_NET_DIVERT is not set |
338 | # CONFIG_ECONET is not set | 342 | # CONFIG_ECONET is not set |
339 | # CONFIG_WAN_ROUTER is not set | 343 | # CONFIG_WAN_ROUTER is not set |
@@ -521,7 +525,6 @@ CONFIG_AIC7XXX_DEBUG_MASK=0 | |||
521 | # CONFIG_SCSI_INIA100 is not set | 525 | # CONFIG_SCSI_INIA100 is not set |
522 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 526 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
523 | # CONFIG_SCSI_IPR is not set | 527 | # CONFIG_SCSI_IPR is not set |
524 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
525 | # CONFIG_SCSI_QLOGIC_1280 is not set | 528 | # CONFIG_SCSI_QLOGIC_1280 is not set |
526 | # CONFIG_SCSI_QLA_FC is not set | 529 | # CONFIG_SCSI_QLA_FC is not set |
527 | # CONFIG_SCSI_LPFC is not set | 530 | # CONFIG_SCSI_LPFC is not set |
@@ -757,6 +760,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
757 | # Non-8250 serial port support | 760 | # Non-8250 serial port support |
758 | # | 761 | # |
759 | # CONFIG_SERIAL_IP3106 is not set | 762 | # CONFIG_SERIAL_IP3106 is not set |
763 | # CONFIG_SERIAL_JSM is not set | ||
760 | CONFIG_UNIX98_PTYS=y | 764 | CONFIG_UNIX98_PTYS=y |
761 | CONFIG_LEGACY_PTYS=y | 765 | CONFIG_LEGACY_PTYS=y |
762 | CONFIG_LEGACY_PTY_COUNT=256 | 766 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -816,7 +820,6 @@ CONFIG_I2C_ALGOBIT=m | |||
816 | # CONFIG_I2C_PARPORT_LIGHT is not set | 820 | # CONFIG_I2C_PARPORT_LIGHT is not set |
817 | # CONFIG_I2C_PROSAVAGE is not set | 821 | # CONFIG_I2C_PROSAVAGE is not set |
818 | # CONFIG_I2C_SAVAGE4 is not set | 822 | # CONFIG_I2C_SAVAGE4 is not set |
819 | # CONFIG_SCx200_ACB is not set | ||
820 | # CONFIG_I2C_SIS5595 is not set | 823 | # CONFIG_I2C_SIS5595 is not set |
821 | # CONFIG_I2C_SIS630 is not set | 824 | # CONFIG_I2C_SIS630 is not set |
822 | # CONFIG_I2C_SIS96X is not set | 825 | # CONFIG_I2C_SIS96X is not set |
@@ -835,9 +838,7 @@ CONFIG_I2C_ALGOBIT=m | |||
835 | # CONFIG_SENSORS_PCF8574 is not set | 838 | # CONFIG_SENSORS_PCF8574 is not set |
836 | # CONFIG_SENSORS_PCA9539 is not set | 839 | # CONFIG_SENSORS_PCA9539 is not set |
837 | # CONFIG_SENSORS_PCF8591 is not set | 840 | # CONFIG_SENSORS_PCF8591 is not set |
838 | # CONFIG_SENSORS_RTC8564 is not set | ||
839 | # CONFIG_SENSORS_MAX6875 is not set | 841 | # CONFIG_SENSORS_MAX6875 is not set |
840 | # CONFIG_RTC_X1205_I2C is not set | ||
841 | # CONFIG_I2C_DEBUG_CORE is not set | 842 | # CONFIG_I2C_DEBUG_CORE is not set |
842 | # CONFIG_I2C_DEBUG_ALGO is not set | 843 | # CONFIG_I2C_DEBUG_ALGO is not set |
843 | # CONFIG_I2C_DEBUG_BUS is not set | 844 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -867,6 +868,7 @@ CONFIG_HWMON=y | |||
867 | # CONFIG_SENSORS_ASB100 is not set | 868 | # CONFIG_SENSORS_ASB100 is not set |
868 | # CONFIG_SENSORS_ATXP1 is not set | 869 | # CONFIG_SENSORS_ATXP1 is not set |
869 | # CONFIG_SENSORS_DS1621 is not set | 870 | # CONFIG_SENSORS_DS1621 is not set |
871 | # CONFIG_SENSORS_F71805F is not set | ||
870 | # CONFIG_SENSORS_FSCHER is not set | 872 | # CONFIG_SENSORS_FSCHER is not set |
871 | # CONFIG_SENSORS_FSCPOS is not set | 873 | # CONFIG_SENSORS_FSCPOS is not set |
872 | # CONFIG_SENSORS_GL518SM is not set | 874 | # CONFIG_SENSORS_GL518SM is not set |
@@ -901,10 +903,6 @@ CONFIG_HWMON=y | |||
901 | # | 903 | # |
902 | 904 | ||
903 | # | 905 | # |
904 | # Multimedia Capabilities Port drivers | ||
905 | # | ||
906 | |||
907 | # | ||
908 | # Multimedia devices | 906 | # Multimedia devices |
909 | # | 907 | # |
910 | # CONFIG_VIDEO_DEV is not set | 908 | # CONFIG_VIDEO_DEV is not set |
@@ -913,6 +911,7 @@ CONFIG_HWMON=y | |||
913 | # Digital Video Broadcasting Devices | 911 | # Digital Video Broadcasting Devices |
914 | # | 912 | # |
915 | # CONFIG_DVB is not set | 913 | # CONFIG_DVB is not set |
914 | # CONFIG_USB_DABUSB is not set | ||
916 | 915 | ||
917 | # | 916 | # |
918 | # Graphics support | 917 | # Graphics support |
@@ -922,6 +921,7 @@ CONFIG_FB=y | |||
922 | # CONFIG_FB_CFB_COPYAREA is not set | 921 | # CONFIG_FB_CFB_COPYAREA is not set |
923 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 922 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
924 | # CONFIG_FB_MACMODES is not set | 923 | # CONFIG_FB_MACMODES is not set |
924 | CONFIG_FB_FIRMWARE_EDID=y | ||
925 | # CONFIG_FB_MODE_HELPERS is not set | 925 | # CONFIG_FB_MODE_HELPERS is not set |
926 | # CONFIG_FB_TILEBLITTING is not set | 926 | # CONFIG_FB_TILEBLITTING is not set |
927 | # CONFIG_FB_CIRRUS is not set | 927 | # CONFIG_FB_CIRRUS is not set |
@@ -933,7 +933,6 @@ CONFIG_FB=y | |||
933 | # CONFIG_FB_NVIDIA is not set | 933 | # CONFIG_FB_NVIDIA is not set |
934 | # CONFIG_FB_RIVA is not set | 934 | # CONFIG_FB_RIVA is not set |
935 | # CONFIG_FB_MATROX is not set | 935 | # CONFIG_FB_MATROX is not set |
936 | # CONFIG_FB_RADEON_OLD is not set | ||
937 | # CONFIG_FB_RADEON is not set | 936 | # CONFIG_FB_RADEON is not set |
938 | # CONFIG_FB_ATY128 is not set | 937 | # CONFIG_FB_ATY128 is not set |
939 | # CONFIG_FB_ATY is not set | 938 | # CONFIG_FB_ATY is not set |
@@ -970,6 +969,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
970 | # | 969 | # |
971 | CONFIG_USB_ARCH_HAS_HCD=y | 970 | CONFIG_USB_ARCH_HAS_HCD=y |
972 | CONFIG_USB_ARCH_HAS_OHCI=y | 971 | CONFIG_USB_ARCH_HAS_OHCI=y |
972 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
973 | CONFIG_USB=y | 973 | CONFIG_USB=y |
974 | # CONFIG_USB_DEBUG is not set | 974 | # CONFIG_USB_DEBUG is not set |
975 | 975 | ||
@@ -1030,9 +1030,7 @@ CONFIG_USB_HIDDEV=y | |||
1030 | # CONFIG_USB_ACECAD is not set | 1030 | # CONFIG_USB_ACECAD is not set |
1031 | # CONFIG_USB_KBTAB is not set | 1031 | # CONFIG_USB_KBTAB is not set |
1032 | # CONFIG_USB_POWERMATE is not set | 1032 | # CONFIG_USB_POWERMATE is not set |
1033 | # CONFIG_USB_MTOUCH is not set | 1033 | # CONFIG_USB_TOUCHSCREEN is not set |
1034 | # CONFIG_USB_ITMTOUCH is not set | ||
1035 | # CONFIG_USB_EGALAX is not set | ||
1036 | # CONFIG_USB_YEALINK is not set | 1034 | # CONFIG_USB_YEALINK is not set |
1037 | # CONFIG_USB_XPAD is not set | 1035 | # CONFIG_USB_XPAD is not set |
1038 | # CONFIG_USB_ATI_REMOTE is not set | 1036 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1047,15 +1045,6 @@ CONFIG_USB_HIDDEV=y | |||
1047 | # CONFIG_USB_MICROTEK is not set | 1045 | # CONFIG_USB_MICROTEK is not set |
1048 | 1046 | ||
1049 | # | 1047 | # |
1050 | # USB Multimedia devices | ||
1051 | # | ||
1052 | # CONFIG_USB_DABUSB is not set | ||
1053 | |||
1054 | # | ||
1055 | # Video4Linux support is needed for USB Multimedia device support | ||
1056 | # | ||
1057 | |||
1058 | # | ||
1059 | # USB Network Adapters | 1048 | # USB Network Adapters |
1060 | # | 1049 | # |
1061 | # CONFIG_USB_CATC is not set | 1050 | # CONFIG_USB_CATC is not set |
@@ -1106,13 +1095,31 @@ CONFIG_USB_MON=y | |||
1106 | # CONFIG_MMC is not set | 1095 | # CONFIG_MMC is not set |
1107 | 1096 | ||
1108 | # | 1097 | # |
1098 | # LED devices | ||
1099 | # | ||
1100 | # CONFIG_NEW_LEDS is not set | ||
1101 | |||
1102 | # | ||
1103 | # LED drivers | ||
1104 | # | ||
1105 | |||
1106 | # | ||
1107 | # LED Triggers | ||
1108 | # | ||
1109 | |||
1110 | # | ||
1109 | # InfiniBand support | 1111 | # InfiniBand support |
1110 | # | 1112 | # |
1111 | # CONFIG_INFINIBAND is not set | 1113 | # CONFIG_INFINIBAND is not set |
1112 | 1114 | ||
1113 | # | 1115 | # |
1114 | # SN Devices | 1116 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1117 | # | ||
1118 | |||
1119 | # | ||
1120 | # Real Time Clock | ||
1115 | # | 1121 | # |
1122 | # CONFIG_RTC_CLASS is not set | ||
1116 | 1123 | ||
1117 | # | 1124 | # |
1118 | # File systems | 1125 | # File systems |
@@ -1171,7 +1178,6 @@ CONFIG_SYSFS=y | |||
1171 | CONFIG_TMPFS=y | 1178 | CONFIG_TMPFS=y |
1172 | # CONFIG_HUGETLB_PAGE is not set | 1179 | # CONFIG_HUGETLB_PAGE is not set |
1173 | CONFIG_RAMFS=y | 1180 | CONFIG_RAMFS=y |
1174 | # CONFIG_RELAYFS_FS is not set | ||
1175 | # CONFIG_CONFIGFS_FS is not set | 1181 | # CONFIG_CONFIGFS_FS is not set |
1176 | 1182 | ||
1177 | # | 1183 | # |
@@ -1280,6 +1286,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1280 | # CONFIG_MAGIC_SYSRQ is not set | 1286 | # CONFIG_MAGIC_SYSRQ is not set |
1281 | # CONFIG_DEBUG_KERNEL is not set | 1287 | # CONFIG_DEBUG_KERNEL is not set |
1282 | CONFIG_LOG_BUF_SHIFT=14 | 1288 | CONFIG_LOG_BUF_SHIFT=14 |
1289 | # CONFIG_DEBUG_FS is not set | ||
1283 | CONFIG_CROSSCOMPILE=y | 1290 | CONFIG_CROSSCOMPILE=y |
1284 | CONFIG_CMDLINE="" | 1291 | CONFIG_CMDLINE="" |
1285 | 1292 | ||
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig index 31f5afabafa8..4bcc01dea041 100644 --- a/arch/mips/configs/qemu_defconfig +++ b/arch/mips/configs/qemu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Sun Feb 12 19:18:55 2006 | 4 | # Mon Apr 24 14:51:15 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_QEMU=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_COHERENT=y | 70 | CONFIG_DMA_COHERENT=y |
69 | CONFIG_GENERIC_ISA_DMA=y | 71 | CONFIG_GENERIC_ISA_DMA=y |
@@ -115,16 +117,17 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set |
117 | # CONFIG_64BIT_PHYS_ADDR is not set | 119 | # CONFIG_64BIT_PHYS_ADDR is not set |
118 | # CONFIG_CPU_ADVANCED is not set | ||
119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y |
124 | CONFIG_FLATMEM=y | 126 | CONFIG_FLATMEM=y |
125 | CONFIG_FLAT_NODE_MEM_MAP=y | 127 | CONFIG_FLAT_NODE_MEM_MAP=y |
126 | # CONFIG_SPARSEMEM_STATIC is not set | 128 | # CONFIG_SPARSEMEM_STATIC is not set |
127 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 129 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
130 | # CONFIG_SMP is not set | ||
128 | CONFIG_PREEMPT_NONE=y | 131 | CONFIG_PREEMPT_NONE=y |
129 | # CONFIG_PREEMPT_VOLUNTARY is not set | 132 | # CONFIG_PREEMPT_VOLUNTARY is not set |
130 | # CONFIG_PREEMPT is not set | 133 | # CONFIG_PREEMPT is not set |
@@ -147,6 +150,7 @@ CONFIG_LOCALVERSION_AUTO=y | |||
147 | CONFIG_SYSCTL=y | 150 | CONFIG_SYSCTL=y |
148 | # CONFIG_AUDIT is not set | 151 | # CONFIG_AUDIT is not set |
149 | # CONFIG_IKCONFIG is not set | 152 | # CONFIG_IKCONFIG is not set |
153 | CONFIG_RELAY=y | ||
150 | CONFIG_INITRAMFS_SOURCE="" | 154 | CONFIG_INITRAMFS_SOURCE="" |
151 | CONFIG_EMBEDDED=y | 155 | CONFIG_EMBEDDED=y |
152 | CONFIG_KALLSYMS=y | 156 | CONFIG_KALLSYMS=y |
@@ -159,10 +163,6 @@ CONFIG_ELF_CORE=y | |||
159 | # CONFIG_FUTEX is not set | 163 | # CONFIG_FUTEX is not set |
160 | # CONFIG_EPOLL is not set | 164 | # CONFIG_EPOLL is not set |
161 | # CONFIG_SHMEM is not set | 165 | # CONFIG_SHMEM is not set |
162 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
163 | CONFIG_CC_ALIGN_LABELS=0 | ||
164 | CONFIG_CC_ALIGN_LOOPS=0 | ||
165 | CONFIG_CC_ALIGN_JUMPS=0 | ||
166 | CONFIG_SLAB=y | 166 | CONFIG_SLAB=y |
167 | CONFIG_TINY_SHMEM=y | 167 | CONFIG_TINY_SHMEM=y |
168 | CONFIG_BASE_SMALL=1 | 168 | CONFIG_BASE_SMALL=1 |
@@ -177,6 +177,8 @@ CONFIG_BASE_SMALL=1 | |||
177 | # Block layer | 177 | # Block layer |
178 | # | 178 | # |
179 | # CONFIG_LBD is not set | 179 | # CONFIG_LBD is not set |
180 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
181 | # CONFIG_LSF is not set | ||
180 | 182 | ||
181 | # | 183 | # |
182 | # IO Schedulers | 184 | # IO Schedulers |
@@ -196,6 +198,7 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
196 | # | 198 | # |
197 | CONFIG_ISA=y | 199 | CONFIG_ISA=y |
198 | CONFIG_MMU=y | 200 | CONFIG_MMU=y |
201 | CONFIG_I8253=y | ||
199 | 202 | ||
200 | # | 203 | # |
201 | # PCCARD (PCMCIA/CardBus) support | 204 | # PCCARD (PCMCIA/CardBus) support |
@@ -241,12 +244,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
241 | # CONFIG_INET_AH is not set | 244 | # CONFIG_INET_AH is not set |
242 | # CONFIG_INET_ESP is not set | 245 | # CONFIG_INET_ESP is not set |
243 | # CONFIG_INET_IPCOMP is not set | 246 | # CONFIG_INET_IPCOMP is not set |
247 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
244 | # CONFIG_INET_TUNNEL is not set | 248 | # CONFIG_INET_TUNNEL is not set |
245 | CONFIG_INET_DIAG=y | 249 | CONFIG_INET_DIAG=y |
246 | CONFIG_INET_TCP_DIAG=y | 250 | CONFIG_INET_TCP_DIAG=y |
247 | # CONFIG_TCP_CONG_ADVANCED is not set | 251 | # CONFIG_TCP_CONG_ADVANCED is not set |
248 | CONFIG_TCP_CONG_BIC=y | 252 | CONFIG_TCP_CONG_BIC=y |
249 | # CONFIG_IPV6 is not set | 253 | # CONFIG_IPV6 is not set |
254 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
255 | # CONFIG_INET6_TUNNEL is not set | ||
250 | # CONFIG_NETFILTER is not set | 256 | # CONFIG_NETFILTER is not set |
251 | # CONFIG_BRIDGE is not set | 257 | # CONFIG_BRIDGE is not set |
252 | # CONFIG_VLAN_8021Q is not set | 258 | # CONFIG_VLAN_8021Q is not set |
@@ -308,7 +314,7 @@ CONFIG_PROC_EVENTS=y | |||
308 | # CONFIG_BLK_DEV_LOOP is not set | 314 | # CONFIG_BLK_DEV_LOOP is not set |
309 | # CONFIG_BLK_DEV_NBD is not set | 315 | # CONFIG_BLK_DEV_NBD is not set |
310 | # CONFIG_BLK_DEV_RAM is not set | 316 | # CONFIG_BLK_DEV_RAM is not set |
311 | CONFIG_BLK_DEV_RAM_COUNT=16 | 317 | # CONFIG_BLK_DEV_INITRD is not set |
312 | # CONFIG_CDROM_PKTCDVD is not set | 318 | # CONFIG_CDROM_PKTCDVD is not set |
313 | # CONFIG_ATA_OVER_ETH is not set | 319 | # CONFIG_ATA_OVER_ETH is not set |
314 | 320 | ||
@@ -530,10 +536,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
530 | # | 536 | # |
531 | 537 | ||
532 | # | 538 | # |
533 | # Multimedia Capabilities Port drivers | ||
534 | # | ||
535 | |||
536 | # | ||
537 | # Multimedia devices | 539 | # Multimedia devices |
538 | # | 540 | # |
539 | # CONFIG_VIDEO_DEV is not set | 541 | # CONFIG_VIDEO_DEV is not set |
@@ -552,6 +554,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
552 | # Console display driver support | 554 | # Console display driver support |
553 | # | 555 | # |
554 | CONFIG_VGA_CONSOLE=y | 556 | CONFIG_VGA_CONSOLE=y |
557 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
555 | # CONFIG_MDA_CONSOLE is not set | 558 | # CONFIG_MDA_CONSOLE is not set |
556 | CONFIG_DUMMY_CONSOLE=y | 559 | CONFIG_DUMMY_CONSOLE=y |
557 | 560 | ||
@@ -565,6 +568,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
565 | # | 568 | # |
566 | # CONFIG_USB_ARCH_HAS_HCD is not set | 569 | # CONFIG_USB_ARCH_HAS_HCD is not set |
567 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 570 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
571 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
568 | 572 | ||
569 | # | 573 | # |
570 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 574 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -581,15 +585,28 @@ CONFIG_DUMMY_CONSOLE=y | |||
581 | # CONFIG_MMC is not set | 585 | # CONFIG_MMC is not set |
582 | 586 | ||
583 | # | 587 | # |
588 | # LED devices | ||
589 | # | ||
590 | # CONFIG_NEW_LEDS is not set | ||
591 | |||
592 | # | ||
593 | # LED drivers | ||
594 | # | ||
595 | |||
596 | # | ||
597 | # LED Triggers | ||
598 | # | ||
599 | |||
600 | # | ||
584 | # InfiniBand support | 601 | # InfiniBand support |
585 | # | 602 | # |
586 | 603 | ||
587 | # | 604 | # |
588 | # SN Devices | 605 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
589 | # | 606 | # |
590 | 607 | ||
591 | # | 608 | # |
592 | # EDAC - error detection and reporting (RAS) | 609 | # Real Time Clock |
593 | # | 610 | # |
594 | 611 | ||
595 | # | 612 | # |
@@ -632,7 +649,6 @@ CONFIG_SYSFS=y | |||
632 | # CONFIG_TMPFS is not set | 649 | # CONFIG_TMPFS is not set |
633 | # CONFIG_HUGETLB_PAGE is not set | 650 | # CONFIG_HUGETLB_PAGE is not set |
634 | CONFIG_RAMFS=y | 651 | CONFIG_RAMFS=y |
635 | CONFIG_RELAYFS_FS=y | ||
636 | 652 | ||
637 | # | 653 | # |
638 | # Miscellaneous filesystems | 654 | # Miscellaneous filesystems |
@@ -680,6 +696,8 @@ CONFIG_MSDOS_PARTITION=y | |||
680 | # CONFIG_MAGIC_SYSRQ is not set | 696 | # CONFIG_MAGIC_SYSRQ is not set |
681 | # CONFIG_DEBUG_KERNEL is not set | 697 | # CONFIG_DEBUG_KERNEL is not set |
682 | CONFIG_LOG_BUF_SHIFT=14 | 698 | CONFIG_LOG_BUF_SHIFT=14 |
699 | # CONFIG_DEBUG_FS is not set | ||
700 | # CONFIG_UNWIND_INFO is not set | ||
683 | CONFIG_CROSSCOMPILE=y | 701 | CONFIG_CROSSCOMPILE=y |
684 | CONFIG_CMDLINE="" | 702 | CONFIG_CMDLINE="" |
685 | 703 | ||
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig index b126f763cf51..3d441932e43a 100644 --- a/arch/mips/configs/rbhma4500_defconfig +++ b/arch/mips/configs/rbhma4500_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:30 2006 | 4 | # Mon Apr 24 14:51:16 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -71,6 +71,8 @@ CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61=y | |||
71 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set | 71 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set |
72 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set | 72 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set |
73 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 73 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
74 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
75 | CONFIG_GENERIC_HWEIGHT=y | ||
74 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 76 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
75 | CONFIG_DMA_NONCOHERENT=y | 77 | CONFIG_DMA_NONCOHERENT=y |
76 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 78 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -121,10 +123,9 @@ CONFIG_PAGE_SIZE_4KB=y | |||
121 | # CONFIG_PAGE_SIZE_8KB is not set | 123 | # CONFIG_PAGE_SIZE_8KB is not set |
122 | # CONFIG_PAGE_SIZE_16KB is not set | 124 | # CONFIG_PAGE_SIZE_16KB is not set |
123 | # CONFIG_PAGE_SIZE_64KB is not set | 125 | # CONFIG_PAGE_SIZE_64KB is not set |
126 | CONFIG_CPU_HAS_PREFETCH=y | ||
124 | # CONFIG_MIPS_MT is not set | 127 | # CONFIG_MIPS_MT is not set |
125 | CONFIG_CPU_ADVANCED=y | ||
126 | CONFIG_CPU_HAS_LLSC=y | 128 | CONFIG_CPU_HAS_LLSC=y |
127 | CONFIG_CPU_HAS_WB=y | ||
128 | CONFIG_CPU_HAS_SYNC=y | 129 | CONFIG_CPU_HAS_SYNC=y |
129 | CONFIG_GENERIC_HARDIRQS=y | 130 | CONFIG_GENERIC_HARDIRQS=y |
130 | CONFIG_GENERIC_IRQ_PROBE=y | 131 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -145,7 +146,6 @@ CONFIG_PREEMPT_NONE=y | |||
145 | # Code maturity level options | 146 | # Code maturity level options |
146 | # | 147 | # |
147 | CONFIG_EXPERIMENTAL=y | 148 | CONFIG_EXPERIMENTAL=y |
148 | CONFIG_CLEAN_COMPILE=y | ||
149 | CONFIG_BROKEN_ON_SMP=y | 149 | CONFIG_BROKEN_ON_SMP=y |
150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
151 | 151 | ||
@@ -162,6 +162,7 @@ CONFIG_SYSCTL=y | |||
162 | # CONFIG_AUDIT is not set | 162 | # CONFIG_AUDIT is not set |
163 | CONFIG_IKCONFIG=y | 163 | CONFIG_IKCONFIG=y |
164 | CONFIG_IKCONFIG_PROC=y | 164 | CONFIG_IKCONFIG_PROC=y |
165 | CONFIG_RELAY=y | ||
165 | CONFIG_INITRAMFS_SOURCE="" | 166 | CONFIG_INITRAMFS_SOURCE="" |
166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 167 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
167 | CONFIG_EMBEDDED=y | 168 | CONFIG_EMBEDDED=y |
@@ -175,10 +176,6 @@ CONFIG_BASE_FULL=y | |||
175 | # CONFIG_FUTEX is not set | 176 | # CONFIG_FUTEX is not set |
176 | # CONFIG_EPOLL is not set | 177 | # CONFIG_EPOLL is not set |
177 | CONFIG_SHMEM=y | 178 | CONFIG_SHMEM=y |
178 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
179 | CONFIG_CC_ALIGN_LABELS=0 | ||
180 | CONFIG_CC_ALIGN_LOOPS=0 | ||
181 | CONFIG_CC_ALIGN_JUMPS=0 | ||
182 | CONFIG_SLAB=y | 179 | CONFIG_SLAB=y |
183 | # CONFIG_TINY_SHMEM is not set | 180 | # CONFIG_TINY_SHMEM is not set |
184 | CONFIG_BASE_SMALL=0 | 181 | CONFIG_BASE_SMALL=0 |
@@ -190,7 +187,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
190 | # | 187 | # |
191 | CONFIG_MODULES=y | 188 | CONFIG_MODULES=y |
192 | # CONFIG_MODULE_UNLOAD is not set | 189 | # CONFIG_MODULE_UNLOAD is not set |
193 | CONFIG_OBSOLETE_MODPARM=y | ||
194 | # CONFIG_MODVERSIONS is not set | 190 | # CONFIG_MODVERSIONS is not set |
195 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 191 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
196 | CONFIG_KMOD=y | 192 | CONFIG_KMOD=y |
@@ -199,6 +195,8 @@ CONFIG_KMOD=y | |||
199 | # Block layer | 195 | # Block layer |
200 | # | 196 | # |
201 | # CONFIG_LBD is not set | 197 | # CONFIG_LBD is not set |
198 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
199 | # CONFIG_LSF is not set | ||
202 | 200 | ||
203 | # | 201 | # |
204 | # IO Schedulers | 202 | # IO Schedulers |
@@ -218,7 +216,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
218 | # | 216 | # |
219 | CONFIG_HW_HAS_PCI=y | 217 | CONFIG_HW_HAS_PCI=y |
220 | CONFIG_PCI=y | 218 | CONFIG_PCI=y |
221 | # CONFIG_PCI_LEGACY_PROC is not set | ||
222 | CONFIG_ISA=y | 219 | CONFIG_ISA=y |
223 | CONFIG_MMU=y | 220 | CONFIG_MMU=y |
224 | 221 | ||
@@ -247,6 +244,7 @@ CONFIG_NET=y | |||
247 | # | 244 | # |
248 | # Networking options | 245 | # Networking options |
249 | # | 246 | # |
247 | # CONFIG_NETDEBUG is not set | ||
250 | CONFIG_PACKET=y | 248 | CONFIG_PACKET=y |
251 | # CONFIG_PACKET_MMAP is not set | 249 | # CONFIG_PACKET_MMAP is not set |
252 | CONFIG_UNIX=y | 250 | CONFIG_UNIX=y |
@@ -267,6 +265,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
267 | # CONFIG_INET_AH is not set | 265 | # CONFIG_INET_AH is not set |
268 | # CONFIG_INET_ESP is not set | 266 | # CONFIG_INET_ESP is not set |
269 | # CONFIG_INET_IPCOMP is not set | 267 | # CONFIG_INET_IPCOMP is not set |
268 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
270 | # CONFIG_INET_TUNNEL is not set | 269 | # CONFIG_INET_TUNNEL is not set |
271 | CONFIG_INET_DIAG=y | 270 | CONFIG_INET_DIAG=y |
272 | CONFIG_INET_TCP_DIAG=y | 271 | CONFIG_INET_TCP_DIAG=y |
@@ -279,9 +278,12 @@ CONFIG_TCP_CONG_BIC=y | |||
279 | # CONFIG_IP_VS is not set | 278 | # CONFIG_IP_VS is not set |
280 | CONFIG_IPV6=m | 279 | CONFIG_IPV6=m |
281 | # CONFIG_IPV6_PRIVACY is not set | 280 | # CONFIG_IPV6_PRIVACY is not set |
281 | CONFIG_IPV6_ROUTER_PREF=y | ||
282 | CONFIG_IPV6_ROUTE_INFO=y | ||
282 | # CONFIG_INET6_AH is not set | 283 | # CONFIG_INET6_AH is not set |
283 | # CONFIG_INET6_ESP is not set | 284 | # CONFIG_INET6_ESP is not set |
284 | # CONFIG_INET6_IPCOMP is not set | 285 | # CONFIG_INET6_IPCOMP is not set |
286 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
285 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set |
286 | # CONFIG_IPV6_TUNNEL is not set | 288 | # CONFIG_IPV6_TUNNEL is not set |
287 | CONFIG_NETFILTER=y | 289 | CONFIG_NETFILTER=y |
@@ -300,10 +302,12 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
300 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
301 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
302 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
305 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
303 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 306 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
304 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 307 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
305 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 308 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
306 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 309 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
310 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
307 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 311 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
308 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 312 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
309 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 313 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -333,6 +337,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
333 | # SCTP Configuration (EXPERIMENTAL) | 337 | # SCTP Configuration (EXPERIMENTAL) |
334 | # | 338 | # |
335 | # CONFIG_IP_SCTP is not set | 339 | # CONFIG_IP_SCTP is not set |
340 | |||
341 | # | ||
342 | # TIPC Configuration (EXPERIMENTAL) | ||
343 | # | ||
344 | # CONFIG_TIPC is not set | ||
336 | # CONFIG_ATM is not set | 345 | # CONFIG_ATM is not set |
337 | # CONFIG_BRIDGE is not set | 346 | # CONFIG_BRIDGE is not set |
338 | # CONFIG_VLAN_8021Q is not set | 347 | # CONFIG_VLAN_8021Q is not set |
@@ -342,11 +351,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
342 | # CONFIG_ATALK is not set | 351 | # CONFIG_ATALK is not set |
343 | # CONFIG_X25 is not set | 352 | # CONFIG_X25 is not set |
344 | # CONFIG_LAPB is not set | 353 | # CONFIG_LAPB is not set |
345 | |||
346 | # | ||
347 | # TIPC Configuration (EXPERIMENTAL) | ||
348 | # | ||
349 | # CONFIG_TIPC is not set | ||
350 | # CONFIG_NET_DIVERT is not set | 354 | # CONFIG_NET_DIVERT is not set |
351 | # CONFIG_ECONET is not set | 355 | # CONFIG_ECONET is not set |
352 | # CONFIG_WAN_ROUTER is not set | 356 | # CONFIG_WAN_ROUTER is not set |
@@ -369,6 +373,9 @@ CONFIG_IEEE80211=m | |||
369 | CONFIG_IEEE80211_CRYPT_WEP=m | 373 | CONFIG_IEEE80211_CRYPT_WEP=m |
370 | CONFIG_IEEE80211_CRYPT_CCMP=m | 374 | CONFIG_IEEE80211_CRYPT_CCMP=m |
371 | CONFIG_IEEE80211_CRYPT_TKIP=m | 375 | CONFIG_IEEE80211_CRYPT_TKIP=m |
376 | CONFIG_IEEE80211_SOFTMAC=m | ||
377 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
378 | CONFIG_WIRELESS_EXT=y | ||
372 | 379 | ||
373 | # | 380 | # |
374 | # Device Drivers | 381 | # Device Drivers |
@@ -425,7 +432,6 @@ CONFIG_MTD_CFI_I2=y | |||
425 | # CONFIG_MTD_CFI_I8 is not set | 432 | # CONFIG_MTD_CFI_I8 is not set |
426 | CONFIG_MTD_CFI_INTELEXT=y | 433 | CONFIG_MTD_CFI_INTELEXT=y |
427 | CONFIG_MTD_CFI_AMDSTD=y | 434 | CONFIG_MTD_CFI_AMDSTD=y |
428 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
429 | # CONFIG_MTD_CFI_STAA is not set | 435 | # CONFIG_MTD_CFI_STAA is not set |
430 | CONFIG_MTD_CFI_UTIL=y | 436 | CONFIG_MTD_CFI_UTIL=y |
431 | # CONFIG_MTD_RAM is not set | 437 | # CONFIG_MTD_RAM is not set |
@@ -447,7 +453,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
447 | # CONFIG_MTD_SLRAM is not set | 453 | # CONFIG_MTD_SLRAM is not set |
448 | # CONFIG_MTD_PHRAM is not set | 454 | # CONFIG_MTD_PHRAM is not set |
449 | # CONFIG_MTD_MTDRAM is not set | 455 | # CONFIG_MTD_MTDRAM is not set |
450 | # CONFIG_MTD_BLKMTD is not set | ||
451 | # CONFIG_MTD_BLOCK2MTD is not set | 456 | # CONFIG_MTD_BLOCK2MTD is not set |
452 | 457 | ||
453 | # | 458 | # |
@@ -702,6 +707,7 @@ CONFIG_NET_PCI=y | |||
702 | # Wireless LAN (non-hamradio) | 707 | # Wireless LAN (non-hamradio) |
703 | # | 708 | # |
704 | CONFIG_NET_RADIO=y | 709 | CONFIG_NET_RADIO=y |
710 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
705 | 711 | ||
706 | # | 712 | # |
707 | # Obsolete Wireless cards support (pre-802.11) | 713 | # Obsolete Wireless cards support (pre-802.11) |
@@ -715,6 +721,8 @@ CONFIG_NET_RADIO=y | |||
715 | # | 721 | # |
716 | # CONFIG_IPW2100 is not set | 722 | # CONFIG_IPW2100 is not set |
717 | CONFIG_IPW2200=m | 723 | CONFIG_IPW2200=m |
724 | # CONFIG_IPW2200_MONITOR is not set | ||
725 | # CONFIG_IPW_QOS is not set | ||
718 | # CONFIG_IPW2200_DEBUG is not set | 726 | # CONFIG_IPW2200_DEBUG is not set |
719 | # CONFIG_HERMES is not set | 727 | # CONFIG_HERMES is not set |
720 | # CONFIG_ATMEL is not set | 728 | # CONFIG_ATMEL is not set |
@@ -724,6 +732,7 @@ CONFIG_IPW2200=m | |||
724 | # | 732 | # |
725 | # CONFIG_PRISM54 is not set | 733 | # CONFIG_PRISM54 is not set |
726 | # CONFIG_HOSTAP is not set | 734 | # CONFIG_HOSTAP is not set |
735 | # CONFIG_BCM43XX is not set | ||
727 | CONFIG_NET_WIRELESS=y | 736 | CONFIG_NET_WIRELESS=y |
728 | 737 | ||
729 | # | 738 | # |
@@ -821,7 +830,12 @@ CONFIG_HW_CONSOLE=y | |||
821 | # | 830 | # |
822 | # Non-8250 serial port support | 831 | # Non-8250 serial port support |
823 | # | 832 | # |
833 | CONFIG_SERIAL_CORE=y | ||
834 | CONFIG_SERIAL_TXX9=y | ||
824 | CONFIG_HAS_TXX9_SERIAL=y | 835 | CONFIG_HAS_TXX9_SERIAL=y |
836 | # CONFIG_SERIAL_TXX9_CONSOLE is not set | ||
837 | # CONFIG_SERIAL_TXX9_STDSERIAL is not set | ||
838 | # CONFIG_SERIAL_JSM is not set | ||
825 | CONFIG_UNIX98_PTYS=y | 839 | CONFIG_UNIX98_PTYS=y |
826 | CONFIG_LEGACY_PTYS=y | 840 | CONFIG_LEGACY_PTYS=y |
827 | CONFIG_LEGACY_PTY_COUNT=256 | 841 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -874,6 +888,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
874 | # | 888 | # |
875 | CONFIG_HWMON=y | 889 | CONFIG_HWMON=y |
876 | # CONFIG_HWMON_VID is not set | 890 | # CONFIG_HWMON_VID is not set |
891 | # CONFIG_SENSORS_F71805F is not set | ||
877 | # CONFIG_HWMON_DEBUG_CHIP is not set | 892 | # CONFIG_HWMON_DEBUG_CHIP is not set |
878 | 893 | ||
879 | # | 894 | # |
@@ -881,10 +896,6 @@ CONFIG_HWMON=y | |||
881 | # | 896 | # |
882 | 897 | ||
883 | # | 898 | # |
884 | # Multimedia Capabilities Port drivers | ||
885 | # | ||
886 | |||
887 | # | ||
888 | # Multimedia devices | 899 | # Multimedia devices |
889 | # | 900 | # |
890 | # CONFIG_VIDEO_DEV is not set | 901 | # CONFIG_VIDEO_DEV is not set |
@@ -893,6 +904,7 @@ CONFIG_HWMON=y | |||
893 | # Digital Video Broadcasting Devices | 904 | # Digital Video Broadcasting Devices |
894 | # | 905 | # |
895 | # CONFIG_DVB is not set | 906 | # CONFIG_DVB is not set |
907 | # CONFIG_USB_DABUSB is not set | ||
896 | 908 | ||
897 | # | 909 | # |
898 | # Graphics support | 910 | # Graphics support |
@@ -902,6 +914,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
902 | CONFIG_FB_CFB_COPYAREA=y | 914 | CONFIG_FB_CFB_COPYAREA=y |
903 | CONFIG_FB_CFB_IMAGEBLIT=y | 915 | CONFIG_FB_CFB_IMAGEBLIT=y |
904 | # CONFIG_FB_MACMODES is not set | 916 | # CONFIG_FB_MACMODES is not set |
917 | CONFIG_FB_FIRMWARE_EDID=y | ||
905 | # CONFIG_FB_MODE_HELPERS is not set | 918 | # CONFIG_FB_MODE_HELPERS is not set |
906 | # CONFIG_FB_TILEBLITTING is not set | 919 | # CONFIG_FB_TILEBLITTING is not set |
907 | # CONFIG_FB_CIRRUS is not set | 920 | # CONFIG_FB_CIRRUS is not set |
@@ -913,7 +926,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
913 | # CONFIG_FB_NVIDIA is not set | 926 | # CONFIG_FB_NVIDIA is not set |
914 | # CONFIG_FB_RIVA is not set | 927 | # CONFIG_FB_RIVA is not set |
915 | # CONFIG_FB_MATROX is not set | 928 | # CONFIG_FB_MATROX is not set |
916 | # CONFIG_FB_RADEON_OLD is not set | ||
917 | # CONFIG_FB_RADEON is not set | 929 | # CONFIG_FB_RADEON is not set |
918 | # CONFIG_FB_ATY128 is not set | 930 | # CONFIG_FB_ATY128 is not set |
919 | CONFIG_FB_ATY=y | 931 | CONFIG_FB_ATY=y |
@@ -934,6 +946,7 @@ CONFIG_FB_ATY_CT=y | |||
934 | # Console display driver support | 946 | # Console display driver support |
935 | # | 947 | # |
936 | CONFIG_VGA_CONSOLE=y | 948 | CONFIG_VGA_CONSOLE=y |
949 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
937 | # CONFIG_MDA_CONSOLE is not set | 950 | # CONFIG_MDA_CONSOLE is not set |
938 | CONFIG_DUMMY_CONSOLE=y | 951 | CONFIG_DUMMY_CONSOLE=y |
939 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 952 | # CONFIG_FRAMEBUFFER_CONSOLE is not set |
@@ -954,6 +967,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
954 | # | 967 | # |
955 | CONFIG_USB_ARCH_HAS_HCD=y | 968 | CONFIG_USB_ARCH_HAS_HCD=y |
956 | CONFIG_USB_ARCH_HAS_OHCI=y | 969 | CONFIG_USB_ARCH_HAS_OHCI=y |
970 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
957 | CONFIG_USB=y | 971 | CONFIG_USB=y |
958 | # CONFIG_USB_DEBUG is not set | 972 | # CONFIG_USB_DEBUG is not set |
959 | 973 | ||
@@ -1003,9 +1017,7 @@ CONFIG_USB_HIDDEV=y | |||
1003 | # CONFIG_USB_ACECAD is not set | 1017 | # CONFIG_USB_ACECAD is not set |
1004 | # CONFIG_USB_KBTAB is not set | 1018 | # CONFIG_USB_KBTAB is not set |
1005 | # CONFIG_USB_POWERMATE is not set | 1019 | # CONFIG_USB_POWERMATE is not set |
1006 | # CONFIG_USB_MTOUCH is not set | 1020 | # CONFIG_USB_TOUCHSCREEN is not set |
1007 | # CONFIG_USB_ITMTOUCH is not set | ||
1008 | # CONFIG_USB_EGALAX is not set | ||
1009 | CONFIG_USB_YEALINK=m | 1021 | CONFIG_USB_YEALINK=m |
1010 | # CONFIG_USB_XPAD is not set | 1022 | # CONFIG_USB_XPAD is not set |
1011 | # CONFIG_USB_ATI_REMOTE is not set | 1023 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1019,15 +1031,6 @@ CONFIG_USB_YEALINK=m | |||
1019 | # CONFIG_USB_MDC800 is not set | 1031 | # CONFIG_USB_MDC800 is not set |
1020 | 1032 | ||
1021 | # | 1033 | # |
1022 | # USB Multimedia devices | ||
1023 | # | ||
1024 | # CONFIG_USB_DABUSB is not set | ||
1025 | |||
1026 | # | ||
1027 | # Video4Linux support is needed for USB Multimedia device support | ||
1028 | # | ||
1029 | |||
1030 | # | ||
1031 | # USB Network Adapters | 1034 | # USB Network Adapters |
1032 | # | 1035 | # |
1033 | # CONFIG_USB_CATC is not set | 1036 | # CONFIG_USB_CATC is not set |
@@ -1078,13 +1081,31 @@ CONFIG_USB_MON=y | |||
1078 | # CONFIG_MMC is not set | 1081 | # CONFIG_MMC is not set |
1079 | 1082 | ||
1080 | # | 1083 | # |
1084 | # LED devices | ||
1085 | # | ||
1086 | # CONFIG_NEW_LEDS is not set | ||
1087 | |||
1088 | # | ||
1089 | # LED drivers | ||
1090 | # | ||
1091 | |||
1092 | # | ||
1093 | # LED Triggers | ||
1094 | # | ||
1095 | |||
1096 | # | ||
1081 | # InfiniBand support | 1097 | # InfiniBand support |
1082 | # | 1098 | # |
1083 | # CONFIG_INFINIBAND is not set | 1099 | # CONFIG_INFINIBAND is not set |
1084 | 1100 | ||
1085 | # | 1101 | # |
1086 | # SN Devices | 1102 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1103 | # | ||
1104 | |||
1105 | # | ||
1106 | # Real Time Clock | ||
1087 | # | 1107 | # |
1108 | # CONFIG_RTC_CLASS is not set | ||
1088 | 1109 | ||
1089 | # | 1110 | # |
1090 | # File systems | 1111 | # File systems |
@@ -1148,7 +1169,6 @@ CONFIG_SYSFS=y | |||
1148 | CONFIG_TMPFS=y | 1169 | CONFIG_TMPFS=y |
1149 | # CONFIG_HUGETLB_PAGE is not set | 1170 | # CONFIG_HUGETLB_PAGE is not set |
1150 | CONFIG_RAMFS=y | 1171 | CONFIG_RAMFS=y |
1151 | CONFIG_RELAYFS_FS=m | ||
1152 | # CONFIG_CONFIGFS_FS is not set | 1172 | # CONFIG_CONFIGFS_FS is not set |
1153 | 1173 | ||
1154 | # | 1174 | # |
@@ -1266,6 +1286,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1266 | # CONFIG_MAGIC_SYSRQ is not set | 1286 | # CONFIG_MAGIC_SYSRQ is not set |
1267 | # CONFIG_DEBUG_KERNEL is not set | 1287 | # CONFIG_DEBUG_KERNEL is not set |
1268 | CONFIG_LOG_BUF_SHIFT=14 | 1288 | CONFIG_LOG_BUF_SHIFT=14 |
1289 | # CONFIG_DEBUG_FS is not set | ||
1269 | CONFIG_CROSSCOMPILE=y | 1290 | CONFIG_CROSSCOMPILE=y |
1270 | CONFIG_CMDLINE="" | 1291 | CONFIG_CMDLINE="" |
1271 | 1292 | ||
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig index 463ed3dbf6ae..edfb9679a25a 100644 --- a/arch/mips/configs/rm200_defconfig +++ b/arch/mips/configs/rm200_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:31 2006 | 4 | # Mon Apr 24 14:51:16 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_SNI_RM200_PCI=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y |
69 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 71 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
@@ -122,7 +124,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
122 | # CONFIG_PAGE_SIZE_64KB is not set | 124 | # CONFIG_PAGE_SIZE_64KB is not set |
123 | # CONFIG_MIPS_MT is not set | 125 | # CONFIG_MIPS_MT is not set |
124 | # CONFIG_64BIT_PHYS_ADDR is not set | 126 | # CONFIG_64BIT_PHYS_ADDR is not set |
125 | # CONFIG_CPU_ADVANCED is not set | ||
126 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y |
127 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y |
128 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y |
@@ -145,7 +146,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
145 | # Code maturity level options | 146 | # Code maturity level options |
146 | # | 147 | # |
147 | CONFIG_EXPERIMENTAL=y | 148 | CONFIG_EXPERIMENTAL=y |
148 | CONFIG_CLEAN_COMPILE=y | ||
149 | CONFIG_BROKEN_ON_SMP=y | 149 | CONFIG_BROKEN_ON_SMP=y |
150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
151 | 151 | ||
@@ -163,6 +163,7 @@ CONFIG_SYSCTL=y | |||
163 | # CONFIG_AUDIT is not set | 163 | # CONFIG_AUDIT is not set |
164 | CONFIG_IKCONFIG=y | 164 | CONFIG_IKCONFIG=y |
165 | CONFIG_IKCONFIG_PROC=y | 165 | CONFIG_IKCONFIG_PROC=y |
166 | CONFIG_RELAY=y | ||
166 | CONFIG_INITRAMFS_SOURCE="" | 167 | CONFIG_INITRAMFS_SOURCE="" |
167 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 168 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
168 | CONFIG_EMBEDDED=y | 169 | CONFIG_EMBEDDED=y |
@@ -176,10 +177,6 @@ CONFIG_BASE_FULL=y | |||
176 | CONFIG_FUTEX=y | 177 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 178 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 179 | CONFIG_SHMEM=y |
179 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
180 | CONFIG_CC_ALIGN_LABELS=0 | ||
181 | CONFIG_CC_ALIGN_LOOPS=0 | ||
182 | CONFIG_CC_ALIGN_JUMPS=0 | ||
183 | CONFIG_SLAB=y | 180 | CONFIG_SLAB=y |
184 | # CONFIG_TINY_SHMEM is not set | 181 | # CONFIG_TINY_SHMEM is not set |
185 | CONFIG_BASE_SMALL=0 | 182 | CONFIG_BASE_SMALL=0 |
@@ -191,7 +188,6 @@ CONFIG_BASE_SMALL=0 | |||
191 | CONFIG_MODULES=y | 188 | CONFIG_MODULES=y |
192 | CONFIG_MODULE_UNLOAD=y | 189 | CONFIG_MODULE_UNLOAD=y |
193 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 190 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
194 | CONFIG_OBSOLETE_MODPARM=y | ||
195 | CONFIG_MODVERSIONS=y | 191 | CONFIG_MODVERSIONS=y |
196 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 192 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
197 | CONFIG_KMOD=y | 193 | CONFIG_KMOD=y |
@@ -200,6 +196,8 @@ CONFIG_KMOD=y | |||
200 | # Block layer | 196 | # Block layer |
201 | # | 197 | # |
202 | # CONFIG_LBD is not set | 198 | # CONFIG_LBD is not set |
199 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
200 | # CONFIG_LSF is not set | ||
203 | 201 | ||
204 | # | 202 | # |
205 | # IO Schedulers | 203 | # IO Schedulers |
@@ -220,10 +218,10 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
220 | CONFIG_HW_HAS_EISA=y | 218 | CONFIG_HW_HAS_EISA=y |
221 | CONFIG_HW_HAS_PCI=y | 219 | CONFIG_HW_HAS_PCI=y |
222 | CONFIG_PCI=y | 220 | CONFIG_PCI=y |
223 | CONFIG_PCI_LEGACY_PROC=y | ||
224 | CONFIG_ISA=y | 221 | CONFIG_ISA=y |
225 | # CONFIG_EISA is not set | 222 | # CONFIG_EISA is not set |
226 | CONFIG_MMU=y | 223 | CONFIG_MMU=y |
224 | CONFIG_I8253=y | ||
227 | 225 | ||
228 | # | 226 | # |
229 | # PCCARD (PCMCIA/CardBus) support | 227 | # PCCARD (PCMCIA/CardBus) support |
@@ -250,6 +248,7 @@ CONFIG_NET=y | |||
250 | # | 248 | # |
251 | # Networking options | 249 | # Networking options |
252 | # | 250 | # |
251 | # CONFIG_NETDEBUG is not set | ||
253 | CONFIG_PACKET=m | 252 | CONFIG_PACKET=m |
254 | CONFIG_PACKET_MMAP=y | 253 | CONFIG_PACKET_MMAP=y |
255 | CONFIG_UNIX=y | 254 | CONFIG_UNIX=y |
@@ -272,6 +271,7 @@ CONFIG_IP_PIMSM_V2=y | |||
272 | # CONFIG_INET_AH is not set | 271 | # CONFIG_INET_AH is not set |
273 | # CONFIG_INET_ESP is not set | 272 | # CONFIG_INET_ESP is not set |
274 | # CONFIG_INET_IPCOMP is not set | 273 | # CONFIG_INET_IPCOMP is not set |
274 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
275 | CONFIG_INET_TUNNEL=m | 275 | CONFIG_INET_TUNNEL=m |
276 | CONFIG_INET_DIAG=y | 276 | CONFIG_INET_DIAG=y |
277 | CONFIG_INET_TCP_DIAG=y | 277 | CONFIG_INET_TCP_DIAG=y |
@@ -284,9 +284,12 @@ CONFIG_TCP_CONG_BIC=y | |||
284 | # CONFIG_IP_VS is not set | 284 | # CONFIG_IP_VS is not set |
285 | CONFIG_IPV6=m | 285 | CONFIG_IPV6=m |
286 | CONFIG_IPV6_PRIVACY=y | 286 | CONFIG_IPV6_PRIVACY=y |
287 | CONFIG_IPV6_ROUTER_PREF=y | ||
288 | CONFIG_IPV6_ROUTE_INFO=y | ||
287 | CONFIG_INET6_AH=m | 289 | CONFIG_INET6_AH=m |
288 | CONFIG_INET6_ESP=m | 290 | CONFIG_INET6_ESP=m |
289 | CONFIG_INET6_IPCOMP=m | 291 | CONFIG_INET6_IPCOMP=m |
292 | CONFIG_INET6_XFRM_TUNNEL=m | ||
290 | CONFIG_INET6_TUNNEL=m | 293 | CONFIG_INET6_TUNNEL=m |
291 | CONFIG_IPV6_TUNNEL=m | 294 | CONFIG_IPV6_TUNNEL=m |
292 | CONFIG_NETFILTER=y | 295 | CONFIG_NETFILTER=y |
@@ -309,11 +312,14 @@ CONFIG_NETFILTER_XT_MATCH_COMMENT=m | |||
309 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 312 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
310 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 313 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
311 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 314 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
315 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
312 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 316 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
313 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 317 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
314 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 318 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
315 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 319 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
316 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 320 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
321 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
322 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
317 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 323 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m |
318 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 324 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
319 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 325 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
@@ -337,20 +343,19 @@ CONFIG_IP_NF_IRC=m | |||
337 | CONFIG_IP_NF_TFTP=m | 343 | CONFIG_IP_NF_TFTP=m |
338 | CONFIG_IP_NF_AMANDA=m | 344 | CONFIG_IP_NF_AMANDA=m |
339 | CONFIG_IP_NF_PPTP=m | 345 | CONFIG_IP_NF_PPTP=m |
346 | CONFIG_IP_NF_H323=m | ||
340 | CONFIG_IP_NF_QUEUE=m | 347 | CONFIG_IP_NF_QUEUE=m |
341 | CONFIG_IP_NF_IPTABLES=m | 348 | CONFIG_IP_NF_IPTABLES=m |
342 | CONFIG_IP_NF_MATCH_IPRANGE=m | 349 | CONFIG_IP_NF_MATCH_IPRANGE=m |
343 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
344 | CONFIG_IP_NF_MATCH_TOS=m | 350 | CONFIG_IP_NF_MATCH_TOS=m |
345 | CONFIG_IP_NF_MATCH_RECENT=m | 351 | CONFIG_IP_NF_MATCH_RECENT=m |
346 | CONFIG_IP_NF_MATCH_ECN=m | 352 | CONFIG_IP_NF_MATCH_ECN=m |
347 | CONFIG_IP_NF_MATCH_DSCP=m | 353 | CONFIG_IP_NF_MATCH_DSCP=m |
348 | CONFIG_IP_NF_MATCH_AH_ESP=m | 354 | CONFIG_IP_NF_MATCH_AH=m |
349 | CONFIG_IP_NF_MATCH_TTL=m | 355 | CONFIG_IP_NF_MATCH_TTL=m |
350 | CONFIG_IP_NF_MATCH_OWNER=m | 356 | CONFIG_IP_NF_MATCH_OWNER=m |
351 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 357 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
352 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 358 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
353 | CONFIG_IP_NF_MATCH_POLICY=m | ||
354 | CONFIG_IP_NF_FILTER=m | 359 | CONFIG_IP_NF_FILTER=m |
355 | CONFIG_IP_NF_TARGET_REJECT=m | 360 | CONFIG_IP_NF_TARGET_REJECT=m |
356 | CONFIG_IP_NF_TARGET_LOG=m | 361 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -368,6 +373,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
368 | CONFIG_IP_NF_NAT_TFTP=m | 373 | CONFIG_IP_NF_NAT_TFTP=m |
369 | CONFIG_IP_NF_NAT_AMANDA=m | 374 | CONFIG_IP_NF_NAT_AMANDA=m |
370 | CONFIG_IP_NF_NAT_PPTP=m | 375 | CONFIG_IP_NF_NAT_PPTP=m |
376 | CONFIG_IP_NF_NAT_H323=m | ||
371 | CONFIG_IP_NF_MANGLE=m | 377 | CONFIG_IP_NF_MANGLE=m |
372 | CONFIG_IP_NF_TARGET_TOS=m | 378 | CONFIG_IP_NF_TARGET_TOS=m |
373 | CONFIG_IP_NF_TARGET_ECN=m | 379 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -388,12 +394,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
388 | CONFIG_IP6_NF_MATCH_OPTS=m | 394 | CONFIG_IP6_NF_MATCH_OPTS=m |
389 | CONFIG_IP6_NF_MATCH_FRAG=m | 395 | CONFIG_IP6_NF_MATCH_FRAG=m |
390 | CONFIG_IP6_NF_MATCH_HL=m | 396 | CONFIG_IP6_NF_MATCH_HL=m |
391 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
392 | CONFIG_IP6_NF_MATCH_OWNER=m | 397 | CONFIG_IP6_NF_MATCH_OWNER=m |
393 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 398 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
394 | CONFIG_IP6_NF_MATCH_AHESP=m | 399 | CONFIG_IP6_NF_MATCH_AH=m |
395 | CONFIG_IP6_NF_MATCH_EUI64=m | 400 | CONFIG_IP6_NF_MATCH_EUI64=m |
396 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
397 | CONFIG_IP6_NF_FILTER=m | 401 | CONFIG_IP6_NF_FILTER=m |
398 | CONFIG_IP6_NF_TARGET_LOG=m | 402 | CONFIG_IP6_NF_TARGET_LOG=m |
399 | CONFIG_IP6_NF_TARGET_REJECT=m | 403 | CONFIG_IP6_NF_TARGET_REJECT=m |
@@ -439,21 +443,22 @@ CONFIG_BRIDGE_EBT_ULOG=m | |||
439 | # SCTP Configuration (EXPERIMENTAL) | 443 | # SCTP Configuration (EXPERIMENTAL) |
440 | # | 444 | # |
441 | # CONFIG_IP_SCTP is not set | 445 | # CONFIG_IP_SCTP is not set |
446 | |||
447 | # | ||
448 | # TIPC Configuration (EXPERIMENTAL) | ||
449 | # | ||
450 | # CONFIG_TIPC is not set | ||
442 | # CONFIG_ATM is not set | 451 | # CONFIG_ATM is not set |
443 | CONFIG_BRIDGE=m | 452 | CONFIG_BRIDGE=m |
444 | # CONFIG_VLAN_8021Q is not set | 453 | # CONFIG_VLAN_8021Q is not set |
445 | CONFIG_DECNET=m | 454 | CONFIG_DECNET=m |
446 | # CONFIG_DECNET_ROUTER is not set | 455 | # CONFIG_DECNET_ROUTER is not set |
456 | CONFIG_LLC=m | ||
447 | # CONFIG_LLC2 is not set | 457 | # CONFIG_LLC2 is not set |
448 | # CONFIG_IPX is not set | 458 | # CONFIG_IPX is not set |
449 | # CONFIG_ATALK is not set | 459 | # CONFIG_ATALK is not set |
450 | # CONFIG_X25 is not set | 460 | # CONFIG_X25 is not set |
451 | # CONFIG_LAPB is not set | 461 | # CONFIG_LAPB is not set |
452 | |||
453 | # | ||
454 | # TIPC Configuration (EXPERIMENTAL) | ||
455 | # | ||
456 | # CONFIG_TIPC is not set | ||
457 | # CONFIG_NET_DIVERT is not set | 462 | # CONFIG_NET_DIVERT is not set |
458 | # CONFIG_ECONET is not set | 463 | # CONFIG_ECONET is not set |
459 | # CONFIG_WAN_ROUTER is not set | 464 | # CONFIG_WAN_ROUTER is not set |
@@ -533,6 +538,9 @@ CONFIG_IEEE80211=m | |||
533 | # CONFIG_IEEE80211_DEBUG is not set | 538 | # CONFIG_IEEE80211_DEBUG is not set |
534 | CONFIG_IEEE80211_CRYPT_WEP=m | 539 | CONFIG_IEEE80211_CRYPT_WEP=m |
535 | CONFIG_IEEE80211_CRYPT_CCMP=m | 540 | CONFIG_IEEE80211_CRYPT_CCMP=m |
541 | CONFIG_IEEE80211_SOFTMAC=m | ||
542 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
543 | CONFIG_WIRELESS_EXT=y | ||
536 | 544 | ||
537 | # | 545 | # |
538 | # Device Drivers | 546 | # Device Drivers |
@@ -620,6 +628,7 @@ CONFIG_BLK_DEV_UB=m | |||
620 | CONFIG_BLK_DEV_RAM=m | 628 | CONFIG_BLK_DEV_RAM=m |
621 | CONFIG_BLK_DEV_RAM_COUNT=16 | 629 | CONFIG_BLK_DEV_RAM_COUNT=16 |
622 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 630 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
631 | # CONFIG_BLK_DEV_INITRD is not set | ||
623 | CONFIG_CDROM_PKTCDVD=m | 632 | CONFIG_CDROM_PKTCDVD=m |
624 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 633 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
625 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 634 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -700,12 +709,11 @@ CONFIG_SCSI_SYM53C8XX_2=y | |||
700 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 | 709 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 |
701 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 710 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 |
702 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 711 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 |
703 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | 712 | CONFIG_SCSI_SYM53C8XX_MMIO=y |
704 | # CONFIG_SCSI_IPR is not set | 713 | # CONFIG_SCSI_IPR is not set |
705 | # CONFIG_SCSI_PAS16 is not set | 714 | # CONFIG_SCSI_PAS16 is not set |
706 | # CONFIG_SCSI_PSI240I is not set | 715 | # CONFIG_SCSI_PSI240I is not set |
707 | # CONFIG_SCSI_QLOGIC_FAS is not set | 716 | # CONFIG_SCSI_QLOGIC_FAS is not set |
708 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
709 | # CONFIG_SCSI_QLOGIC_1280 is not set | 717 | # CONFIG_SCSI_QLOGIC_1280 is not set |
710 | # CONFIG_SCSI_QLA_FC is not set | 718 | # CONFIG_SCSI_QLA_FC is not set |
711 | # CONFIG_SCSI_LPFC is not set | 719 | # CONFIG_SCSI_LPFC is not set |
@@ -731,6 +739,7 @@ CONFIG_MD_RAID0=m | |||
731 | CONFIG_MD_RAID1=m | 739 | CONFIG_MD_RAID1=m |
732 | CONFIG_MD_RAID10=m | 740 | CONFIG_MD_RAID10=m |
733 | CONFIG_MD_RAID5=m | 741 | CONFIG_MD_RAID5=m |
742 | CONFIG_MD_RAID5_RESHAPE=y | ||
734 | # CONFIG_MD_RAID6 is not set | 743 | # CONFIG_MD_RAID6 is not set |
735 | CONFIG_MD_MULTIPATH=m | 744 | CONFIG_MD_MULTIPATH=m |
736 | CONFIG_MD_FAULTY=m | 745 | CONFIG_MD_FAULTY=m |
@@ -965,6 +974,7 @@ CONFIG_HW_CONSOLE=y | |||
965 | # Serial drivers | 974 | # Serial drivers |
966 | # | 975 | # |
967 | CONFIG_SERIAL_8250=m | 976 | CONFIG_SERIAL_8250=m |
977 | CONFIG_SERIAL_8250_PCI=m | ||
968 | CONFIG_SERIAL_8250_NR_UARTS=4 | 978 | CONFIG_SERIAL_8250_NR_UARTS=4 |
969 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 979 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
970 | CONFIG_SERIAL_8250_EXTENDED=y | 980 | CONFIG_SERIAL_8250_EXTENDED=y |
@@ -977,6 +987,7 @@ CONFIG_SERIAL_8250_RSA=y | |||
977 | # Non-8250 serial port support | 987 | # Non-8250 serial port support |
978 | # | 988 | # |
979 | CONFIG_SERIAL_CORE=m | 989 | CONFIG_SERIAL_CORE=m |
990 | # CONFIG_SERIAL_JSM is not set | ||
980 | CONFIG_UNIX98_PTYS=y | 991 | CONFIG_UNIX98_PTYS=y |
981 | CONFIG_LEGACY_PTYS=y | 992 | CONFIG_LEGACY_PTYS=y |
982 | CONFIG_LEGACY_PTY_COUNT=256 | 993 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -1027,12 +1038,19 @@ CONFIG_RTC=m | |||
1027 | # Dallas's 1-wire bus | 1038 | # Dallas's 1-wire bus |
1028 | # | 1039 | # |
1029 | CONFIG_W1=m | 1040 | CONFIG_W1=m |
1030 | CONFIG_W1_MATROX=m | 1041 | |
1031 | CONFIG_W1_DS9490=m | 1042 | # |
1032 | # CONFIG_W1_DS9490_BRIDGE is not set | 1043 | # 1-wire Bus Masters |
1033 | CONFIG_W1_THERM=m | 1044 | # |
1034 | CONFIG_W1_SMEM=m | 1045 | # CONFIG_W1_MASTER_MATROX is not set |
1035 | # CONFIG_W1_DS2433 is not set | 1046 | # CONFIG_W1_MASTER_DS9490 is not set |
1047 | |||
1048 | # | ||
1049 | # 1-wire Slaves | ||
1050 | # | ||
1051 | # CONFIG_W1_SLAVE_THERM is not set | ||
1052 | # CONFIG_W1_SLAVE_SMEM is not set | ||
1053 | # CONFIG_W1_SLAVE_DS2433 is not set | ||
1036 | 1054 | ||
1037 | # | 1055 | # |
1038 | # Hardware Monitoring support | 1056 | # Hardware Monitoring support |
@@ -1045,10 +1063,6 @@ CONFIG_W1_SMEM=m | |||
1045 | # | 1063 | # |
1046 | 1064 | ||
1047 | # | 1065 | # |
1048 | # Multimedia Capabilities Port drivers | ||
1049 | # | ||
1050 | |||
1051 | # | ||
1052 | # Multimedia devices | 1066 | # Multimedia devices |
1053 | # | 1067 | # |
1054 | # CONFIG_VIDEO_DEV is not set | 1068 | # CONFIG_VIDEO_DEV is not set |
@@ -1057,6 +1071,7 @@ CONFIG_W1_SMEM=m | |||
1057 | # Digital Video Broadcasting Devices | 1071 | # Digital Video Broadcasting Devices |
1058 | # | 1072 | # |
1059 | # CONFIG_DVB is not set | 1073 | # CONFIG_DVB is not set |
1074 | CONFIG_USB_DABUSB=m | ||
1060 | 1075 | ||
1061 | # | 1076 | # |
1062 | # Graphics support | 1077 | # Graphics support |
@@ -1067,6 +1082,7 @@ CONFIG_W1_SMEM=m | |||
1067 | # Console display driver support | 1082 | # Console display driver support |
1068 | # | 1083 | # |
1069 | CONFIG_VGA_CONSOLE=y | 1084 | CONFIG_VGA_CONSOLE=y |
1085 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
1070 | # CONFIG_MDA_CONSOLE is not set | 1086 | # CONFIG_MDA_CONSOLE is not set |
1071 | CONFIG_DUMMY_CONSOLE=y | 1087 | CONFIG_DUMMY_CONSOLE=y |
1072 | 1088 | ||
@@ -1080,6 +1096,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
1080 | # | 1096 | # |
1081 | CONFIG_USB_ARCH_HAS_HCD=y | 1097 | CONFIG_USB_ARCH_HAS_HCD=y |
1082 | CONFIG_USB_ARCH_HAS_OHCI=y | 1098 | CONFIG_USB_ARCH_HAS_OHCI=y |
1099 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1083 | CONFIG_USB=m | 1100 | CONFIG_USB=m |
1084 | # CONFIG_USB_DEBUG is not set | 1101 | # CONFIG_USB_DEBUG is not set |
1085 | 1102 | ||
@@ -1151,9 +1168,7 @@ CONFIG_USB_WACOM=m | |||
1151 | # CONFIG_USB_ACECAD is not set | 1168 | # CONFIG_USB_ACECAD is not set |
1152 | CONFIG_USB_KBTAB=m | 1169 | CONFIG_USB_KBTAB=m |
1153 | CONFIG_USB_POWERMATE=m | 1170 | CONFIG_USB_POWERMATE=m |
1154 | # CONFIG_USB_MTOUCH is not set | 1171 | # CONFIG_USB_TOUCHSCREEN is not set |
1155 | # CONFIG_USB_ITMTOUCH is not set | ||
1156 | CONFIG_USB_EGALAX=m | ||
1157 | CONFIG_USB_YEALINK=m | 1172 | CONFIG_USB_YEALINK=m |
1158 | CONFIG_USB_XPAD=m | 1173 | CONFIG_USB_XPAD=m |
1159 | # CONFIG_USB_ATI_REMOTE is not set | 1174 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1168,15 +1183,6 @@ CONFIG_USB_MDC800=m | |||
1168 | CONFIG_USB_MICROTEK=m | 1183 | CONFIG_USB_MICROTEK=m |
1169 | 1184 | ||
1170 | # | 1185 | # |
1171 | # USB Multimedia devices | ||
1172 | # | ||
1173 | CONFIG_USB_DABUSB=m | ||
1174 | |||
1175 | # | ||
1176 | # Video4Linux support is needed for USB Multimedia device support | ||
1177 | # | ||
1178 | |||
1179 | # | ||
1180 | # USB Network Adapters | 1186 | # USB Network Adapters |
1181 | # | 1187 | # |
1182 | CONFIG_USB_CATC=m | 1188 | CONFIG_USB_CATC=m |
@@ -1213,6 +1219,7 @@ CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m | |||
1213 | CONFIG_USB_SERIAL_CYPRESS_M8=m | 1219 | CONFIG_USB_SERIAL_CYPRESS_M8=m |
1214 | CONFIG_USB_SERIAL_EMPEG=m | 1220 | CONFIG_USB_SERIAL_EMPEG=m |
1215 | CONFIG_USB_SERIAL_FTDI_SIO=m | 1221 | CONFIG_USB_SERIAL_FTDI_SIO=m |
1222 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
1216 | CONFIG_USB_SERIAL_VISOR=m | 1223 | CONFIG_USB_SERIAL_VISOR=m |
1217 | CONFIG_USB_SERIAL_IPAQ=m | 1224 | CONFIG_USB_SERIAL_IPAQ=m |
1218 | CONFIG_USB_SERIAL_IR=m | 1225 | CONFIG_USB_SERIAL_IR=m |
@@ -1237,6 +1244,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1237 | CONFIG_USB_SERIAL_KLSI=m | 1244 | CONFIG_USB_SERIAL_KLSI=m |
1238 | CONFIG_USB_SERIAL_KOBIL_SCT=m | 1245 | CONFIG_USB_SERIAL_KOBIL_SCT=m |
1239 | CONFIG_USB_SERIAL_MCT_U232=m | 1246 | CONFIG_USB_SERIAL_MCT_U232=m |
1247 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1240 | CONFIG_USB_SERIAL_PL2303=m | 1248 | CONFIG_USB_SERIAL_PL2303=m |
1241 | CONFIG_USB_SERIAL_HP4X=m | 1249 | CONFIG_USB_SERIAL_HP4X=m |
1242 | CONFIG_USB_SERIAL_SAFE=m | 1250 | CONFIG_USB_SERIAL_SAFE=m |
@@ -1281,13 +1289,31 @@ CONFIG_USB_TEST=m | |||
1281 | # CONFIG_MMC is not set | 1289 | # CONFIG_MMC is not set |
1282 | 1290 | ||
1283 | # | 1291 | # |
1292 | # LED devices | ||
1293 | # | ||
1294 | # CONFIG_NEW_LEDS is not set | ||
1295 | |||
1296 | # | ||
1297 | # LED drivers | ||
1298 | # | ||
1299 | |||
1300 | # | ||
1301 | # LED Triggers | ||
1302 | # | ||
1303 | |||
1304 | # | ||
1284 | # InfiniBand support | 1305 | # InfiniBand support |
1285 | # | 1306 | # |
1286 | # CONFIG_INFINIBAND is not set | 1307 | # CONFIG_INFINIBAND is not set |
1287 | 1308 | ||
1288 | # | 1309 | # |
1289 | # SN Devices | 1310 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1311 | # | ||
1312 | |||
1313 | # | ||
1314 | # Real Time Clock | ||
1290 | # | 1315 | # |
1316 | # CONFIG_RTC_CLASS is not set | ||
1291 | 1317 | ||
1292 | # | 1318 | # |
1293 | # File systems | 1319 | # File systems |
@@ -1358,7 +1384,6 @@ CONFIG_SYSFS=y | |||
1358 | # CONFIG_TMPFS is not set | 1384 | # CONFIG_TMPFS is not set |
1359 | # CONFIG_HUGETLB_PAGE is not set | 1385 | # CONFIG_HUGETLB_PAGE is not set |
1360 | CONFIG_RAMFS=y | 1386 | CONFIG_RAMFS=y |
1361 | CONFIG_RELAYFS_FS=m | ||
1362 | # CONFIG_CONFIGFS_FS is not set | 1387 | # CONFIG_CONFIGFS_FS is not set |
1363 | 1388 | ||
1364 | # | 1389 | # |
@@ -1379,7 +1404,6 @@ CONFIG_HPFS_FS=m | |||
1379 | CONFIG_QNX4FS_FS=m | 1404 | CONFIG_QNX4FS_FS=m |
1380 | CONFIG_SYSV_FS=m | 1405 | CONFIG_SYSV_FS=m |
1381 | CONFIG_UFS_FS=m | 1406 | CONFIG_UFS_FS=m |
1382 | # CONFIG_UFS_FS_WRITE is not set | ||
1383 | 1407 | ||
1384 | # | 1408 | # |
1385 | # Network File Systems | 1409 | # Network File Systems |
@@ -1500,6 +1524,7 @@ CONFIG_NLS_UTF8=m | |||
1500 | # CONFIG_MAGIC_SYSRQ is not set | 1524 | # CONFIG_MAGIC_SYSRQ is not set |
1501 | # CONFIG_DEBUG_KERNEL is not set | 1525 | # CONFIG_DEBUG_KERNEL is not set |
1502 | CONFIG_LOG_BUF_SHIFT=14 | 1526 | CONFIG_LOG_BUF_SHIFT=14 |
1527 | # CONFIG_DEBUG_FS is not set | ||
1503 | CONFIG_CROSSCOMPILE=y | 1528 | CONFIG_CROSSCOMPILE=y |
1504 | CONFIG_CMDLINE="" | 1529 | CONFIG_CMDLINE="" |
1505 | 1530 | ||
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index da68c3f72050..e388a3dae0a9 100644 --- a/arch/mips/configs/sb1250-swarm_defconfig +++ b/arch/mips/configs/sb1250-swarm_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:32 2006 | 4 | # Mon Apr 24 14:51:17 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -81,6 +81,8 @@ CONFIG_SIBYTE_CFE=y | |||
81 | # CONFIG_SIBYTE_SB1250_PROF is not set | 81 | # CONFIG_SIBYTE_SB1250_PROF is not set |
82 | # CONFIG_SIBYTE_TBPROF is not set | 82 | # CONFIG_SIBYTE_TBPROF is not set |
83 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 83 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
84 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
85 | CONFIG_GENERIC_HWEIGHT=y | ||
84 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 86 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
85 | CONFIG_DMA_COHERENT=y | 87 | CONFIG_DMA_COHERENT=y |
86 | CONFIG_CPU_BIG_ENDIAN=y | 88 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -158,7 +160,6 @@ CONFIG_PREEMPT_BKL=y | |||
158 | # Code maturity level options | 160 | # Code maturity level options |
159 | # | 161 | # |
160 | CONFIG_EXPERIMENTAL=y | 162 | CONFIG_EXPERIMENTAL=y |
161 | CONFIG_CLEAN_COMPILE=y | ||
162 | CONFIG_LOCK_KERNEL=y | 163 | CONFIG_LOCK_KERNEL=y |
163 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 164 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
164 | 165 | ||
@@ -175,6 +176,7 @@ CONFIG_SYSCTL=y | |||
175 | # CONFIG_AUDIT is not set | 176 | # CONFIG_AUDIT is not set |
176 | # CONFIG_IKCONFIG is not set | 177 | # CONFIG_IKCONFIG is not set |
177 | CONFIG_CPUSETS=y | 178 | CONFIG_CPUSETS=y |
179 | CONFIG_RELAY=y | ||
178 | CONFIG_INITRAMFS_SOURCE="" | 180 | CONFIG_INITRAMFS_SOURCE="" |
179 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 181 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
180 | CONFIG_EMBEDDED=y | 182 | CONFIG_EMBEDDED=y |
@@ -188,10 +190,6 @@ CONFIG_BASE_FULL=y | |||
188 | CONFIG_FUTEX=y | 190 | CONFIG_FUTEX=y |
189 | CONFIG_EPOLL=y | 191 | CONFIG_EPOLL=y |
190 | CONFIG_SHMEM=y | 192 | CONFIG_SHMEM=y |
191 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
192 | CONFIG_CC_ALIGN_LABELS=0 | ||
193 | CONFIG_CC_ALIGN_LOOPS=0 | ||
194 | CONFIG_CC_ALIGN_JUMPS=0 | ||
195 | CONFIG_SLAB=y | 193 | CONFIG_SLAB=y |
196 | # CONFIG_TINY_SHMEM is not set | 194 | # CONFIG_TINY_SHMEM is not set |
197 | CONFIG_BASE_SMALL=0 | 195 | CONFIG_BASE_SMALL=0 |
@@ -203,7 +201,6 @@ CONFIG_BASE_SMALL=0 | |||
203 | CONFIG_MODULES=y | 201 | CONFIG_MODULES=y |
204 | CONFIG_MODULE_UNLOAD=y | 202 | CONFIG_MODULE_UNLOAD=y |
205 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 203 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
206 | CONFIG_OBSOLETE_MODPARM=y | ||
207 | CONFIG_MODVERSIONS=y | 204 | CONFIG_MODVERSIONS=y |
208 | CONFIG_MODULE_SRCVERSION_ALL=y | 205 | CONFIG_MODULE_SRCVERSION_ALL=y |
209 | CONFIG_KMOD=y | 206 | CONFIG_KMOD=y |
@@ -212,6 +209,7 @@ CONFIG_STOP_MACHINE=y | |||
212 | # | 209 | # |
213 | # Block layer | 210 | # Block layer |
214 | # | 211 | # |
212 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
215 | 213 | ||
216 | # | 214 | # |
217 | # IO Schedulers | 215 | # IO Schedulers |
@@ -231,7 +229,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
231 | # | 229 | # |
232 | CONFIG_HW_HAS_PCI=y | 230 | CONFIG_HW_HAS_PCI=y |
233 | CONFIG_PCI=y | 231 | CONFIG_PCI=y |
234 | CONFIG_PCI_LEGACY_PROC=y | ||
235 | CONFIG_MMU=y | 232 | CONFIG_MMU=y |
236 | 233 | ||
237 | # | 234 | # |
@@ -249,6 +246,7 @@ CONFIG_MMU=y | |||
249 | # | 246 | # |
250 | CONFIG_BINFMT_ELF=y | 247 | CONFIG_BINFMT_ELF=y |
251 | # CONFIG_BINFMT_MISC is not set | 248 | # CONFIG_BINFMT_MISC is not set |
249 | # CONFIG_BUILD_ELF64 is not set | ||
252 | CONFIG_MIPS32_COMPAT=y | 250 | CONFIG_MIPS32_COMPAT=y |
253 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y |
254 | CONFIG_MIPS32_O32=y | 252 | CONFIG_MIPS32_O32=y |
@@ -263,6 +261,7 @@ CONFIG_NET=y | |||
263 | # | 261 | # |
264 | # Networking options | 262 | # Networking options |
265 | # | 263 | # |
264 | # CONFIG_NETDEBUG is not set | ||
266 | CONFIG_PACKET=y | 265 | CONFIG_PACKET=y |
267 | CONFIG_PACKET_MMAP=y | 266 | CONFIG_PACKET_MMAP=y |
268 | CONFIG_UNIX=y | 267 | CONFIG_UNIX=y |
@@ -284,12 +283,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
284 | # CONFIG_INET_AH is not set | 283 | # CONFIG_INET_AH is not set |
285 | # CONFIG_INET_ESP is not set | 284 | # CONFIG_INET_ESP is not set |
286 | # CONFIG_INET_IPCOMP is not set | 285 | # CONFIG_INET_IPCOMP is not set |
287 | CONFIG_INET_TUNNEL=m | 286 | # CONFIG_INET_XFRM_TUNNEL is not set |
287 | # CONFIG_INET_TUNNEL is not set | ||
288 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y |
289 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y |
290 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set |
291 | CONFIG_TCP_CONG_BIC=y | 291 | CONFIG_TCP_CONG_BIC=y |
292 | # CONFIG_IPV6 is not set | 292 | # CONFIG_IPV6 is not set |
293 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
294 | # CONFIG_INET6_TUNNEL is not set | ||
293 | # CONFIG_NETFILTER is not set | 295 | # CONFIG_NETFILTER is not set |
294 | 296 | ||
295 | # | 297 | # |
@@ -301,6 +303,11 @@ CONFIG_TCP_CONG_BIC=y | |||
301 | # SCTP Configuration (EXPERIMENTAL) | 303 | # SCTP Configuration (EXPERIMENTAL) |
302 | # | 304 | # |
303 | # CONFIG_IP_SCTP is not set | 305 | # CONFIG_IP_SCTP is not set |
306 | |||
307 | # | ||
308 | # TIPC Configuration (EXPERIMENTAL) | ||
309 | # | ||
310 | # CONFIG_TIPC is not set | ||
304 | # CONFIG_ATM is not set | 311 | # CONFIG_ATM is not set |
305 | # CONFIG_BRIDGE is not set | 312 | # CONFIG_BRIDGE is not set |
306 | # CONFIG_VLAN_8021Q is not set | 313 | # CONFIG_VLAN_8021Q is not set |
@@ -310,11 +317,6 @@ CONFIG_TCP_CONG_BIC=y | |||
310 | # CONFIG_ATALK is not set | 317 | # CONFIG_ATALK is not set |
311 | # CONFIG_X25 is not set | 318 | # CONFIG_X25 is not set |
312 | # CONFIG_LAPB is not set | 319 | # CONFIG_LAPB is not set |
313 | |||
314 | # | ||
315 | # TIPC Configuration (EXPERIMENTAL) | ||
316 | # | ||
317 | # CONFIG_TIPC is not set | ||
318 | # CONFIG_NET_DIVERT is not set | 320 | # CONFIG_NET_DIVERT is not set |
319 | # CONFIG_ECONET is not set | 321 | # CONFIG_ECONET is not set |
320 | # CONFIG_WAN_ROUTER is not set | 322 | # CONFIG_WAN_ROUTER is not set |
@@ -335,6 +337,9 @@ CONFIG_IEEE80211=m | |||
335 | # CONFIG_IEEE80211_DEBUG is not set | 337 | # CONFIG_IEEE80211_DEBUG is not set |
336 | CONFIG_IEEE80211_CRYPT_WEP=m | 338 | CONFIG_IEEE80211_CRYPT_WEP=m |
337 | CONFIG_IEEE80211_CRYPT_CCMP=m | 339 | CONFIG_IEEE80211_CRYPT_CCMP=m |
340 | CONFIG_IEEE80211_SOFTMAC=m | ||
341 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
342 | CONFIG_WIRELESS_EXT=y | ||
338 | 343 | ||
339 | # | 344 | # |
340 | # Device Drivers | 345 | # Device Drivers |
@@ -589,6 +594,7 @@ CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y | |||
589 | # | 594 | # |
590 | # Non-8250 serial port support | 595 | # Non-8250 serial port support |
591 | # | 596 | # |
597 | # CONFIG_SERIAL_JSM is not set | ||
592 | CONFIG_UNIX98_PTYS=y | 598 | CONFIG_UNIX98_PTYS=y |
593 | CONFIG_LEGACY_PTYS=y | 599 | CONFIG_LEGACY_PTYS=y |
594 | CONFIG_LEGACY_PTY_COUNT=256 | 600 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -647,10 +653,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
647 | # | 653 | # |
648 | 654 | ||
649 | # | 655 | # |
650 | # Multimedia Capabilities Port drivers | ||
651 | # | ||
652 | |||
653 | # | ||
654 | # Multimedia devices | 656 | # Multimedia devices |
655 | # | 657 | # |
656 | # CONFIG_VIDEO_DEV is not set | 658 | # CONFIG_VIDEO_DEV is not set |
@@ -675,6 +677,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
675 | # | 677 | # |
676 | CONFIG_USB_ARCH_HAS_HCD=y | 678 | CONFIG_USB_ARCH_HAS_HCD=y |
677 | CONFIG_USB_ARCH_HAS_OHCI=y | 679 | CONFIG_USB_ARCH_HAS_OHCI=y |
680 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
678 | # CONFIG_USB is not set | 681 | # CONFIG_USB is not set |
679 | 682 | ||
680 | # | 683 | # |
@@ -692,13 +695,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
692 | # CONFIG_MMC is not set | 695 | # CONFIG_MMC is not set |
693 | 696 | ||
694 | # | 697 | # |
698 | # LED devices | ||
699 | # | ||
700 | # CONFIG_NEW_LEDS is not set | ||
701 | |||
702 | # | ||
703 | # LED drivers | ||
704 | # | ||
705 | |||
706 | # | ||
707 | # LED Triggers | ||
708 | # | ||
709 | |||
710 | # | ||
695 | # InfiniBand support | 711 | # InfiniBand support |
696 | # | 712 | # |
697 | # CONFIG_INFINIBAND is not set | 713 | # CONFIG_INFINIBAND is not set |
698 | 714 | ||
699 | # | 715 | # |
700 | # SN Devices | 716 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
717 | # | ||
718 | |||
719 | # | ||
720 | # Real Time Clock | ||
701 | # | 721 | # |
722 | # CONFIG_RTC_CLASS is not set | ||
702 | 723 | ||
703 | # | 724 | # |
704 | # File systems | 725 | # File systems |
@@ -746,7 +767,6 @@ CONFIG_SYSFS=y | |||
746 | # CONFIG_TMPFS is not set | 767 | # CONFIG_TMPFS is not set |
747 | # CONFIG_HUGETLB_PAGE is not set | 768 | # CONFIG_HUGETLB_PAGE is not set |
748 | CONFIG_RAMFS=y | 769 | CONFIG_RAMFS=y |
749 | CONFIG_RELAYFS_FS=m | ||
750 | # CONFIG_CONFIGFS_FS is not set | 770 | # CONFIG_CONFIGFS_FS is not set |
751 | 771 | ||
752 | # | 772 | # |
@@ -812,6 +832,7 @@ CONFIG_MSDOS_PARTITION=y | |||
812 | # CONFIG_MAGIC_SYSRQ is not set | 832 | # CONFIG_MAGIC_SYSRQ is not set |
813 | # CONFIG_DEBUG_KERNEL is not set | 833 | # CONFIG_DEBUG_KERNEL is not set |
814 | CONFIG_LOG_BUF_SHIFT=15 | 834 | CONFIG_LOG_BUF_SHIFT=15 |
835 | # CONFIG_DEBUG_FS is not set | ||
815 | CONFIG_CROSSCOMPILE=y | 836 | CONFIG_CROSSCOMPILE=y |
816 | CONFIG_CMDLINE="" | 837 | CONFIG_CMDLINE="" |
817 | # CONFIG_SB1XXX_CORELIS is not set | 838 | # CONFIG_SB1XXX_CORELIS is not set |
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig index 9a936d7b7c0c..6b8a6a416a25 100644 --- a/arch/mips/configs/sead_defconfig +++ b/arch/mips/configs/sead_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:33 2006 | 4 | # Mon Apr 24 14:51:17 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_MIPS_SEAD=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -118,11 +120,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
118 | CONFIG_CPU_HAS_PREFETCH=y | 120 | CONFIG_CPU_HAS_PREFETCH=y |
119 | # CONFIG_MIPS_MT is not set | 121 | # CONFIG_MIPS_MT is not set |
120 | # CONFIG_64BIT_PHYS_ADDR is not set | 122 | # CONFIG_64BIT_PHYS_ADDR is not set |
121 | # CONFIG_CPU_ADVANCED is not set | ||
122 | CONFIG_CPU_HAS_LLSC=y | 123 | CONFIG_CPU_HAS_LLSC=y |
123 | CONFIG_CPU_HAS_SYNC=y | 124 | CONFIG_CPU_HAS_SYNC=y |
124 | CONFIG_GENERIC_HARDIRQS=y | 125 | CONFIG_GENERIC_HARDIRQS=y |
125 | CONFIG_GENERIC_IRQ_PROBE=y | 126 | CONFIG_GENERIC_IRQ_PROBE=y |
127 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
126 | CONFIG_ARCH_FLATMEM_ENABLE=y | 128 | CONFIG_ARCH_FLATMEM_ENABLE=y |
127 | CONFIG_SELECT_MEMORY_MODEL=y | 129 | CONFIG_SELECT_MEMORY_MODEL=y |
128 | CONFIG_FLATMEM_MANUAL=y | 130 | CONFIG_FLATMEM_MANUAL=y |
@@ -140,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
140 | # Code maturity level options | 142 | # Code maturity level options |
141 | # | 143 | # |
142 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y |
143 | CONFIG_CLEAN_COMPILE=y | ||
144 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y |
145 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
146 | 147 | ||
@@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
154 | # CONFIG_BSD_PROCESS_ACCT is not set | 155 | # CONFIG_BSD_PROCESS_ACCT is not set |
155 | CONFIG_SYSCTL=y | 156 | CONFIG_SYSCTL=y |
156 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set |
158 | CONFIG_RELAY=y | ||
157 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" |
158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
159 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y |
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y |
168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y |
169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y |
170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
171 | CONFIG_CC_ALIGN_LABELS=0 | ||
172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y |
175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set |
176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 |
@@ -185,6 +183,8 @@ CONFIG_BASE_SMALL=0 | |||
185 | # Block layer | 183 | # Block layer |
186 | # | 184 | # |
187 | # CONFIG_LBD is not set | 185 | # CONFIG_LBD is not set |
186 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
187 | # CONFIG_LSF is not set | ||
188 | 188 | ||
189 | # | 189 | # |
190 | # IO Schedulers | 190 | # IO Schedulers |
@@ -296,12 +296,6 @@ CONFIG_RAID_ATTRS=y | |||
296 | # | 296 | # |
297 | 297 | ||
298 | # | 298 | # |
299 | # Network device support | ||
300 | # | ||
301 | # CONFIG_NETPOLL is not set | ||
302 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
303 | |||
304 | # | ||
305 | # ISDN subsystem | 299 | # ISDN subsystem |
306 | # | 300 | # |
307 | 301 | ||
@@ -397,10 +391,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
397 | # | 391 | # |
398 | 392 | ||
399 | # | 393 | # |
400 | # Multimedia Capabilities Port drivers | ||
401 | # | ||
402 | |||
403 | # | ||
404 | # Multimedia devices | 394 | # Multimedia devices |
405 | # | 395 | # |
406 | # CONFIG_VIDEO_DEV is not set | 396 | # CONFIG_VIDEO_DEV is not set |
@@ -424,6 +414,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
424 | # | 414 | # |
425 | # CONFIG_USB_ARCH_HAS_HCD is not set | 415 | # CONFIG_USB_ARCH_HAS_HCD is not set |
426 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 416 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
417 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
427 | 418 | ||
428 | # | 419 | # |
429 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 420 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -440,12 +431,30 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
440 | # CONFIG_MMC is not set | 431 | # CONFIG_MMC is not set |
441 | 432 | ||
442 | # | 433 | # |
434 | # LED devices | ||
435 | # | ||
436 | # CONFIG_NEW_LEDS is not set | ||
437 | |||
438 | # | ||
439 | # LED drivers | ||
440 | # | ||
441 | |||
442 | # | ||
443 | # LED Triggers | ||
444 | # | ||
445 | |||
446 | # | ||
443 | # InfiniBand support | 447 | # InfiniBand support |
444 | # | 448 | # |
445 | 449 | ||
446 | # | 450 | # |
447 | # SN Devices | 451 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
452 | # | ||
453 | |||
454 | # | ||
455 | # Real Time Clock | ||
448 | # | 456 | # |
457 | # CONFIG_RTC_CLASS is not set | ||
449 | 458 | ||
450 | # | 459 | # |
451 | # File systems | 460 | # File systems |
@@ -489,7 +498,6 @@ CONFIG_SYSFS=y | |||
489 | # CONFIG_TMPFS is not set | 498 | # CONFIG_TMPFS is not set |
490 | # CONFIG_HUGETLB_PAGE is not set | 499 | # CONFIG_HUGETLB_PAGE is not set |
491 | CONFIG_RAMFS=y | 500 | CONFIG_RAMFS=y |
492 | CONFIG_RELAYFS_FS=y | ||
493 | # CONFIG_CONFIGFS_FS is not set | 501 | # CONFIG_CONFIGFS_FS is not set |
494 | 502 | ||
495 | # | 503 | # |
@@ -543,6 +551,8 @@ CONFIG_PARTITION_ADVANCED=y | |||
543 | # CONFIG_MAGIC_SYSRQ is not set | 551 | # CONFIG_MAGIC_SYSRQ is not set |
544 | # CONFIG_DEBUG_KERNEL is not set | 552 | # CONFIG_DEBUG_KERNEL is not set |
545 | CONFIG_LOG_BUF_SHIFT=14 | 553 | CONFIG_LOG_BUF_SHIFT=14 |
554 | # CONFIG_DEBUG_FS is not set | ||
555 | # CONFIG_UNWIND_INFO is not set | ||
546 | CONFIG_CROSSCOMPILE=y | 556 | CONFIG_CROSSCOMPILE=y |
547 | CONFIG_CMDLINE="" | 557 | CONFIG_CMDLINE="" |
548 | 558 | ||
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index c2dee0d1c72c..dba0bdcdcf29 100644 --- a/arch/mips/configs/tb0226_defconfig +++ b/arch/mips/configs/tb0226_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:34 2006 | 4 | # Tue Apr 25 00:08:41 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -68,12 +68,14 @@ CONFIG_MACH_VR41XX=y | |||
68 | # CONFIG_NEC_CMBVR4133 is not set | 68 | # CONFIG_NEC_CMBVR4133 is not set |
69 | CONFIG_TANBAC_TB022X=y | 69 | CONFIG_TANBAC_TB022X=y |
70 | CONFIG_TANBAC_TB0226=y | 70 | CONFIG_TANBAC_TB0226=y |
71 | CONFIG_TANBAC_TB0287=y | 71 | # CONFIG_TANBAC_TB0287 is not set |
72 | # CONFIG_VICTOR_MPC30X is not set | 72 | # CONFIG_VICTOR_MPC30X is not set |
73 | # CONFIG_ZAO_CAPCELLA is not set | 73 | # CONFIG_ZAO_CAPCELLA is not set |
74 | CONFIG_PCI_VR41XX=y | 74 | CONFIG_PCI_VR41XX=y |
75 | # CONFIG_VRC4173 is not set | 75 | # CONFIG_VRC4173 is not set |
76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
77 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
78 | CONFIG_GENERIC_HWEIGHT=y | ||
77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 79 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
78 | CONFIG_DMA_NONCOHERENT=y | 80 | CONFIG_DMA_NONCOHERENT=y |
79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 81 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -92,7 +94,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
92 | # CONFIG_CPU_MIPS64_R2 is not set | 94 | # CONFIG_CPU_MIPS64_R2 is not set |
93 | # CONFIG_CPU_R3000 is not set | 95 | # CONFIG_CPU_R3000 is not set |
94 | # CONFIG_CPU_TX39XX is not set | 96 | # CONFIG_CPU_TX39XX is not set |
95 | # CONFIG_CPU_VR41XX is not set | 97 | CONFIG_CPU_VR41XX=y |
96 | # CONFIG_CPU_R4300 is not set | 98 | # CONFIG_CPU_R4300 is not set |
97 | # CONFIG_CPU_R4X00 is not set | 99 | # CONFIG_CPU_R4X00 is not set |
98 | # CONFIG_CPU_TX49XX is not set | 100 | # CONFIG_CPU_TX49XX is not set |
@@ -105,18 +107,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
105 | # CONFIG_CPU_RM7000 is not set | 107 | # CONFIG_CPU_RM7000 is not set |
106 | # CONFIG_CPU_RM9000 is not set | 108 | # CONFIG_CPU_RM9000 is not set |
107 | # CONFIG_CPU_SB1 is not set | 109 | # CONFIG_CPU_SB1 is not set |
110 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
111 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
112 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
113 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
108 | 114 | ||
109 | # | 115 | # |
110 | # Kernel type | 116 | # Kernel type |
111 | # | 117 | # |
112 | # CONFIG_32BIT is not set | 118 | CONFIG_32BIT=y |
113 | # CONFIG_64BIT is not set | 119 | # CONFIG_64BIT is not set |
114 | CONFIG_PAGE_SIZE_4KB=y | 120 | CONFIG_PAGE_SIZE_4KB=y |
115 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set |
116 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set |
117 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
118 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set |
119 | CONFIG_CPU_HAS_LLSC=y | ||
120 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 127 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -137,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 142 | # Code maturity level options |
138 | # | 143 | # |
139 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 147 | ||
@@ -153,6 +157,7 @@ CONFIG_SYSVIPC=y | |||
153 | CONFIG_SYSCTL=y | 157 | CONFIG_SYSCTL=y |
154 | # CONFIG_AUDIT is not set | 158 | # CONFIG_AUDIT is not set |
155 | # CONFIG_IKCONFIG is not set | 159 | # CONFIG_IKCONFIG is not set |
160 | # CONFIG_RELAY is not set | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 163 | CONFIG_EMBEDDED=y |
@@ -166,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
166 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y |
167 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y |
168 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y |
169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
170 | CONFIG_CC_ALIGN_LABELS=0 | ||
171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
173 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y |
174 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 |
@@ -181,7 +182,6 @@ CONFIG_BASE_SMALL=0 | |||
181 | CONFIG_MODULES=y | 182 | CONFIG_MODULES=y |
182 | CONFIG_MODULE_UNLOAD=y | 183 | CONFIG_MODULE_UNLOAD=y |
183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
184 | CONFIG_OBSOLETE_MODPARM=y | ||
185 | CONFIG_MODVERSIONS=y | 185 | CONFIG_MODVERSIONS=y |
186 | CONFIG_MODULE_SRCVERSION_ALL=y | 186 | CONFIG_MODULE_SRCVERSION_ALL=y |
187 | CONFIG_KMOD=y | 187 | CONFIG_KMOD=y |
@@ -189,6 +189,9 @@ CONFIG_KMOD=y | |||
189 | # | 189 | # |
190 | # Block layer | 190 | # Block layer |
191 | # | 191 | # |
192 | # CONFIG_LBD is not set | ||
193 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
194 | # CONFIG_LSF is not set | ||
192 | 195 | ||
193 | # | 196 | # |
194 | # IO Schedulers | 197 | # IO Schedulers |
@@ -208,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
208 | # | 211 | # |
209 | CONFIG_HW_HAS_PCI=y | 212 | CONFIG_HW_HAS_PCI=y |
210 | CONFIG_PCI=y | 213 | CONFIG_PCI=y |
211 | # CONFIG_PCI_LEGACY_PROC is not set | ||
212 | CONFIG_MMU=y | 214 | CONFIG_MMU=y |
213 | 215 | ||
214 | # | 216 | # |
@@ -226,6 +228,7 @@ CONFIG_MMU=y | |||
226 | # | 228 | # |
227 | CONFIG_BINFMT_ELF=y | 229 | CONFIG_BINFMT_ELF=y |
228 | # CONFIG_BINFMT_MISC is not set | 230 | # CONFIG_BINFMT_MISC is not set |
231 | CONFIG_TRAD_SIGNALS=y | ||
229 | 232 | ||
230 | # | 233 | # |
231 | # Networking | 234 | # Networking |
@@ -235,11 +238,10 @@ CONFIG_NET=y | |||
235 | # | 238 | # |
236 | # Networking options | 239 | # Networking options |
237 | # | 240 | # |
241 | # CONFIG_NETDEBUG is not set | ||
238 | CONFIG_PACKET=y | 242 | CONFIG_PACKET=y |
239 | # CONFIG_PACKET_MMAP is not set | 243 | # CONFIG_PACKET_MMAP is not set |
240 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y |
241 | CONFIG_XFRM=y | ||
242 | CONFIG_XFRM_USER=m | ||
243 | # CONFIG_NET_KEY is not set | 245 | # CONFIG_NET_KEY is not set |
244 | CONFIG_INET=y | 246 | CONFIG_INET=y |
245 | CONFIG_IP_MULTICAST=y | 247 | CONFIG_IP_MULTICAST=y |
@@ -263,12 +265,15 @@ CONFIG_SYN_COOKIES=y | |||
263 | # CONFIG_INET_AH is not set | 265 | # CONFIG_INET_AH is not set |
264 | # CONFIG_INET_ESP is not set | 266 | # CONFIG_INET_ESP is not set |
265 | # CONFIG_INET_IPCOMP is not set | 267 | # CONFIG_INET_IPCOMP is not set |
266 | CONFIG_INET_TUNNEL=m | 268 | # CONFIG_INET_XFRM_TUNNEL is not set |
269 | # CONFIG_INET_TUNNEL is not set | ||
267 | CONFIG_INET_DIAG=y | 270 | CONFIG_INET_DIAG=y |
268 | CONFIG_INET_TCP_DIAG=y | 271 | CONFIG_INET_TCP_DIAG=y |
269 | # CONFIG_TCP_CONG_ADVANCED is not set | 272 | # CONFIG_TCP_CONG_ADVANCED is not set |
270 | CONFIG_TCP_CONG_BIC=y | 273 | CONFIG_TCP_CONG_BIC=y |
271 | # CONFIG_IPV6 is not set | 274 | # CONFIG_IPV6 is not set |
275 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
276 | # CONFIG_INET6_TUNNEL is not set | ||
272 | # CONFIG_NETFILTER is not set | 277 | # CONFIG_NETFILTER is not set |
273 | 278 | ||
274 | # | 279 | # |
@@ -280,6 +285,11 @@ CONFIG_TCP_CONG_BIC=y | |||
280 | # SCTP Configuration (EXPERIMENTAL) | 285 | # SCTP Configuration (EXPERIMENTAL) |
281 | # | 286 | # |
282 | # CONFIG_IP_SCTP is not set | 287 | # CONFIG_IP_SCTP is not set |
288 | |||
289 | # | ||
290 | # TIPC Configuration (EXPERIMENTAL) | ||
291 | # | ||
292 | # CONFIG_TIPC is not set | ||
283 | # CONFIG_ATM is not set | 293 | # CONFIG_ATM is not set |
284 | # CONFIG_BRIDGE is not set | 294 | # CONFIG_BRIDGE is not set |
285 | # CONFIG_VLAN_8021Q is not set | 295 | # CONFIG_VLAN_8021Q is not set |
@@ -289,11 +299,6 @@ CONFIG_TCP_CONG_BIC=y | |||
289 | # CONFIG_ATALK is not set | 299 | # CONFIG_ATALK is not set |
290 | # CONFIG_X25 is not set | 300 | # CONFIG_X25 is not set |
291 | # CONFIG_LAPB is not set | 301 | # CONFIG_LAPB is not set |
292 | |||
293 | # | ||
294 | # TIPC Configuration (EXPERIMENTAL) | ||
295 | # | ||
296 | # CONFIG_TIPC is not set | ||
297 | # CONFIG_NET_DIVERT is not set | 302 | # CONFIG_NET_DIVERT is not set |
298 | # CONFIG_ECONET is not set | 303 | # CONFIG_ECONET is not set |
299 | # CONFIG_WAN_ROUTER is not set | 304 | # CONFIG_WAN_ROUTER is not set |
@@ -310,10 +315,7 @@ CONFIG_TCP_CONG_BIC=y | |||
310 | # CONFIG_HAMRADIO is not set | 315 | # CONFIG_HAMRADIO is not set |
311 | # CONFIG_IRDA is not set | 316 | # CONFIG_IRDA is not set |
312 | # CONFIG_BT is not set | 317 | # CONFIG_BT is not set |
313 | CONFIG_IEEE80211=m | 318 | # CONFIG_IEEE80211 is not set |
314 | # CONFIG_IEEE80211_DEBUG is not set | ||
315 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
316 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
317 | 319 | ||
318 | # | 320 | # |
319 | # Device Drivers | 321 | # Device Drivers |
@@ -358,11 +360,12 @@ CONFIG_BLK_DEV_LOOP=m | |||
358 | CONFIG_BLK_DEV_NBD=m | 360 | CONFIG_BLK_DEV_NBD=m |
359 | # CONFIG_BLK_DEV_SX8 is not set | 361 | # CONFIG_BLK_DEV_SX8 is not set |
360 | # CONFIG_BLK_DEV_UB is not set | 362 | # CONFIG_BLK_DEV_UB is not set |
361 | CONFIG_BLK_DEV_RAM=m | 363 | CONFIG_BLK_DEV_RAM=y |
362 | CONFIG_BLK_DEV_RAM_COUNT=16 | 364 | CONFIG_BLK_DEV_RAM_COUNT=16 |
363 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 365 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
366 | # CONFIG_BLK_DEV_INITRD is not set | ||
364 | # CONFIG_CDROM_PKTCDVD is not set | 367 | # CONFIG_CDROM_PKTCDVD is not set |
365 | CONFIG_ATA_OVER_ETH=m | 368 | # CONFIG_ATA_OVER_ETH is not set |
366 | 369 | ||
367 | # | 370 | # |
368 | # ATA/ATAPI/MFM/RLL support | 371 | # ATA/ATAPI/MFM/RLL support |
@@ -397,14 +400,14 @@ CONFIG_SCSI_MULTI_LUN=y | |||
397 | # SCSI Transport Attributes | 400 | # SCSI Transport Attributes |
398 | # | 401 | # |
399 | # CONFIG_SCSI_SPI_ATTRS is not set | 402 | # CONFIG_SCSI_SPI_ATTRS is not set |
400 | CONFIG_SCSI_FC_ATTRS=y | 403 | # CONFIG_SCSI_FC_ATTRS is not set |
401 | CONFIG_SCSI_ISCSI_ATTRS=m | 404 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
402 | # CONFIG_SCSI_SAS_ATTRS is not set | 405 | # CONFIG_SCSI_SAS_ATTRS is not set |
403 | 406 | ||
404 | # | 407 | # |
405 | # SCSI low-level drivers | 408 | # SCSI low-level drivers |
406 | # | 409 | # |
407 | CONFIG_ISCSI_TCP=m | 410 | # CONFIG_ISCSI_TCP is not set |
408 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 411 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
409 | # CONFIG_SCSI_3W_9XXX is not set | 412 | # CONFIG_SCSI_3W_9XXX is not set |
410 | # CONFIG_SCSI_ACARD is not set | 413 | # CONFIG_SCSI_ACARD is not set |
@@ -424,7 +427,6 @@ CONFIG_ISCSI_TCP=m | |||
424 | # CONFIG_SCSI_INIA100 is not set | 427 | # CONFIG_SCSI_INIA100 is not set |
425 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 428 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
426 | # CONFIG_SCSI_IPR is not set | 429 | # CONFIG_SCSI_IPR is not set |
427 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
428 | # CONFIG_SCSI_QLOGIC_1280 is not set | 430 | # CONFIG_SCSI_QLOGIC_1280 is not set |
429 | # CONFIG_SCSI_QLA_FC is not set | 431 | # CONFIG_SCSI_QLA_FC is not set |
430 | # CONFIG_SCSI_LPFC is not set | 432 | # CONFIG_SCSI_LPFC is not set |
@@ -507,8 +509,8 @@ CONFIG_NET_PCI=y | |||
507 | # CONFIG_B44 is not set | 509 | # CONFIG_B44 is not set |
508 | # CONFIG_FORCEDETH is not set | 510 | # CONFIG_FORCEDETH is not set |
509 | # CONFIG_DGRS is not set | 511 | # CONFIG_DGRS is not set |
510 | CONFIG_EEPRO100=y | 512 | # CONFIG_EEPRO100 is not set |
511 | # CONFIG_E100 is not set | 513 | CONFIG_E100=y |
512 | # CONFIG_FEALNX is not set | 514 | # CONFIG_FEALNX is not set |
513 | # CONFIG_NATSEMI is not set | 515 | # CONFIG_NATSEMI is not set |
514 | # CONFIG_NE2K_PCI is not set | 516 | # CONFIG_NE2K_PCI is not set |
@@ -625,6 +627,11 @@ CONFIG_HW_CONSOLE=y | |||
625 | # | 627 | # |
626 | # Non-8250 serial port support | 628 | # Non-8250 serial port support |
627 | # | 629 | # |
630 | CONFIG_SERIAL_CORE=y | ||
631 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
632 | CONFIG_SERIAL_VR41XX=y | ||
633 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
634 | # CONFIG_SERIAL_JSM is not set | ||
628 | CONFIG_UNIX98_PTYS=y | 635 | CONFIG_UNIX98_PTYS=y |
629 | CONFIG_LEGACY_PTYS=y | 636 | CONFIG_LEGACY_PTYS=y |
630 | CONFIG_LEGACY_PTY_COUNT=256 | 637 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -685,10 +692,6 @@ CONFIG_GPIO_VR41XX=y | |||
685 | # | 692 | # |
686 | 693 | ||
687 | # | 694 | # |
688 | # Multimedia Capabilities Port drivers | ||
689 | # | ||
690 | |||
691 | # | ||
692 | # Multimedia devices | 695 | # Multimedia devices |
693 | # | 696 | # |
694 | # CONFIG_VIDEO_DEV is not set | 697 | # CONFIG_VIDEO_DEV is not set |
@@ -697,6 +700,7 @@ CONFIG_GPIO_VR41XX=y | |||
697 | # Digital Video Broadcasting Devices | 700 | # Digital Video Broadcasting Devices |
698 | # | 701 | # |
699 | # CONFIG_DVB is not set | 702 | # CONFIG_DVB is not set |
703 | # CONFIG_USB_DABUSB is not set | ||
700 | 704 | ||
701 | # | 705 | # |
702 | # Graphics support | 706 | # Graphics support |
@@ -719,6 +723,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
719 | # | 723 | # |
720 | CONFIG_USB_ARCH_HAS_HCD=y | 724 | CONFIG_USB_ARCH_HAS_HCD=y |
721 | CONFIG_USB_ARCH_HAS_OHCI=y | 725 | CONFIG_USB_ARCH_HAS_OHCI=y |
726 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
722 | CONFIG_USB=y | 727 | CONFIG_USB=y |
723 | # CONFIG_USB_DEBUG is not set | 728 | # CONFIG_USB_DEBUG is not set |
724 | 729 | ||
@@ -756,7 +761,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
756 | # | 761 | # |
757 | # may also be needed; see USB_STORAGE Help for more information | 762 | # may also be needed; see USB_STORAGE Help for more information |
758 | # | 763 | # |
759 | CONFIG_USB_STORAGE=m | 764 | CONFIG_USB_STORAGE=y |
760 | # CONFIG_USB_STORAGE_DEBUG is not set | 765 | # CONFIG_USB_STORAGE_DEBUG is not set |
761 | # CONFIG_USB_STORAGE_DATAFAB is not set | 766 | # CONFIG_USB_STORAGE_DATAFAB is not set |
762 | # CONFIG_USB_STORAGE_FREECOM is not set | 767 | # CONFIG_USB_STORAGE_FREECOM is not set |
@@ -783,9 +788,7 @@ CONFIG_USB_STORAGE=m | |||
783 | # CONFIG_USB_ACECAD is not set | 788 | # CONFIG_USB_ACECAD is not set |
784 | # CONFIG_USB_KBTAB is not set | 789 | # CONFIG_USB_KBTAB is not set |
785 | # CONFIG_USB_POWERMATE is not set | 790 | # CONFIG_USB_POWERMATE is not set |
786 | # CONFIG_USB_MTOUCH is not set | 791 | # CONFIG_USB_TOUCHSCREEN is not set |
787 | # CONFIG_USB_ITMTOUCH is not set | ||
788 | # CONFIG_USB_EGALAX is not set | ||
789 | # CONFIG_USB_YEALINK is not set | 792 | # CONFIG_USB_YEALINK is not set |
790 | # CONFIG_USB_XPAD is not set | 793 | # CONFIG_USB_XPAD is not set |
791 | # CONFIG_USB_ATI_REMOTE is not set | 794 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -800,15 +803,6 @@ CONFIG_USB_STORAGE=m | |||
800 | # CONFIG_USB_MICROTEK is not set | 803 | # CONFIG_USB_MICROTEK is not set |
801 | 804 | ||
802 | # | 805 | # |
803 | # USB Multimedia devices | ||
804 | # | ||
805 | # CONFIG_USB_DABUSB is not set | ||
806 | |||
807 | # | ||
808 | # Video4Linux support is needed for USB Multimedia device support | ||
809 | # | ||
810 | |||
811 | # | ||
812 | # USB Network Adapters | 806 | # USB Network Adapters |
813 | # | 807 | # |
814 | # CONFIG_USB_CATC is not set | 808 | # CONFIG_USB_CATC is not set |
@@ -816,7 +810,7 @@ CONFIG_USB_STORAGE=m | |||
816 | # CONFIG_USB_PEGASUS is not set | 810 | # CONFIG_USB_PEGASUS is not set |
817 | # CONFIG_USB_RTL8150 is not set | 811 | # CONFIG_USB_RTL8150 is not set |
818 | # CONFIG_USB_USBNET is not set | 812 | # CONFIG_USB_USBNET is not set |
819 | CONFIG_USB_MON=y | 813 | # CONFIG_USB_MON is not set |
820 | 814 | ||
821 | # | 815 | # |
822 | # USB port drivers | 816 | # USB port drivers |
@@ -860,13 +854,48 @@ CONFIG_USB_MON=y | |||
860 | # CONFIG_MMC is not set | 854 | # CONFIG_MMC is not set |
861 | 855 | ||
862 | # | 856 | # |
857 | # LED devices | ||
858 | # | ||
859 | # CONFIG_NEW_LEDS is not set | ||
860 | |||
861 | # | ||
862 | # LED drivers | ||
863 | # | ||
864 | |||
865 | # | ||
866 | # LED Triggers | ||
867 | # | ||
868 | |||
869 | # | ||
863 | # InfiniBand support | 870 | # InfiniBand support |
864 | # | 871 | # |
865 | # CONFIG_INFINIBAND is not set | 872 | # CONFIG_INFINIBAND is not set |
866 | 873 | ||
867 | # | 874 | # |
868 | # SN Devices | 875 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
876 | # | ||
877 | |||
878 | # | ||
879 | # Real Time Clock | ||
880 | # | ||
881 | CONFIG_RTC_LIB=y | ||
882 | CONFIG_RTC_CLASS=y | ||
883 | CONFIG_RTC_HCTOSYS=y | ||
884 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
885 | |||
886 | # | ||
887 | # RTC interfaces | ||
888 | # | ||
889 | CONFIG_RTC_INTF_SYSFS=y | ||
890 | CONFIG_RTC_INTF_PROC=y | ||
891 | CONFIG_RTC_INTF_DEV=y | ||
892 | |||
893 | # | ||
894 | # RTC drivers | ||
869 | # | 895 | # |
896 | # CONFIG_RTC_DRV_M48T86 is not set | ||
897 | CONFIG_RTC_DRV_VR41XX=y | ||
898 | # CONFIG_RTC_DRV_TEST is not set | ||
870 | 899 | ||
871 | # | 900 | # |
872 | # File systems | 901 | # File systems |
@@ -911,7 +940,6 @@ CONFIG_SYSFS=y | |||
911 | CONFIG_TMPFS=y | 940 | CONFIG_TMPFS=y |
912 | # CONFIG_HUGETLB_PAGE is not set | 941 | # CONFIG_HUGETLB_PAGE is not set |
913 | CONFIG_RAMFS=y | 942 | CONFIG_RAMFS=y |
914 | CONFIG_RELAYFS_FS=m | ||
915 | # CONFIG_CONFIGFS_FS is not set | 943 | # CONFIG_CONFIGFS_FS is not set |
916 | 944 | ||
917 | # | 945 | # |
@@ -952,9 +980,7 @@ CONFIG_NFS_COMMON=y | |||
952 | CONFIG_SUNRPC=y | 980 | CONFIG_SUNRPC=y |
953 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 981 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
954 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 982 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
955 | CONFIG_SMB_FS=m | 983 | # CONFIG_SMB_FS is not set |
956 | CONFIG_SMB_NLS_DEFAULT=y | ||
957 | CONFIG_SMB_NLS_REMOTE="cp932" | ||
958 | # CONFIG_CIFS is not set | 984 | # CONFIG_CIFS is not set |
959 | # CONFIG_NCP_FS is not set | 985 | # CONFIG_NCP_FS is not set |
960 | # CONFIG_CODA_FS is not set | 986 | # CONFIG_CODA_FS is not set |
@@ -970,46 +996,7 @@ CONFIG_MSDOS_PARTITION=y | |||
970 | # | 996 | # |
971 | # Native Language Support | 997 | # Native Language Support |
972 | # | 998 | # |
973 | CONFIG_NLS=y | 999 | # CONFIG_NLS is not set |
974 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
975 | CONFIG_NLS_CODEPAGE_437=m | ||
976 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
977 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
978 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
979 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
980 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
981 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
982 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
983 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
984 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
985 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
986 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
987 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
988 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
989 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
990 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
991 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
992 | CONFIG_NLS_CODEPAGE_932=m | ||
993 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
994 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
995 | # CONFIG_NLS_ISO8859_8 is not set | ||
996 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
997 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
998 | # CONFIG_NLS_ASCII is not set | ||
999 | CONFIG_NLS_ISO8859_1=m | ||
1000 | # CONFIG_NLS_ISO8859_2 is not set | ||
1001 | # CONFIG_NLS_ISO8859_3 is not set | ||
1002 | # CONFIG_NLS_ISO8859_4 is not set | ||
1003 | # CONFIG_NLS_ISO8859_5 is not set | ||
1004 | # CONFIG_NLS_ISO8859_6 is not set | ||
1005 | # CONFIG_NLS_ISO8859_7 is not set | ||
1006 | # CONFIG_NLS_ISO8859_9 is not set | ||
1007 | # CONFIG_NLS_ISO8859_13 is not set | ||
1008 | # CONFIG_NLS_ISO8859_14 is not set | ||
1009 | # CONFIG_NLS_ISO8859_15 is not set | ||
1010 | # CONFIG_NLS_KOI8_R is not set | ||
1011 | # CONFIG_NLS_KOI8_U is not set | ||
1012 | # CONFIG_NLS_UTF8 is not set | ||
1013 | 1000 | ||
1014 | # | 1001 | # |
1015 | # Profiling support | 1002 | # Profiling support |
@@ -1023,44 +1010,20 @@ CONFIG_NLS_ISO8859_1=m | |||
1023 | # CONFIG_MAGIC_SYSRQ is not set | 1010 | # CONFIG_MAGIC_SYSRQ is not set |
1024 | # CONFIG_DEBUG_KERNEL is not set | 1011 | # CONFIG_DEBUG_KERNEL is not set |
1025 | CONFIG_LOG_BUF_SHIFT=14 | 1012 | CONFIG_LOG_BUF_SHIFT=14 |
1013 | # CONFIG_DEBUG_FS is not set | ||
1026 | CONFIG_CROSSCOMPILE=y | 1014 | CONFIG_CROSSCOMPILE=y |
1027 | CONFIG_CMDLINE="mem=32M console=ttyVR0,115200" | 1015 | CONFIG_CMDLINE="mem=32M console=ttyVR0,115200" |
1028 | 1016 | ||
1029 | # | 1017 | # |
1030 | # Security options | 1018 | # Security options |
1031 | # | 1019 | # |
1032 | CONFIG_KEYS=y | 1020 | # CONFIG_KEYS is not set |
1033 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
1034 | # CONFIG_SECURITY is not set | 1021 | # CONFIG_SECURITY is not set |
1035 | 1022 | ||
1036 | # | 1023 | # |
1037 | # Cryptographic options | 1024 | # Cryptographic options |
1038 | # | 1025 | # |
1039 | CONFIG_CRYPTO=y | 1026 | # CONFIG_CRYPTO is not set |
1040 | CONFIG_CRYPTO_HMAC=y | ||
1041 | CONFIG_CRYPTO_NULL=m | ||
1042 | CONFIG_CRYPTO_MD4=m | ||
1043 | CONFIG_CRYPTO_MD5=m | ||
1044 | CONFIG_CRYPTO_SHA1=m | ||
1045 | CONFIG_CRYPTO_SHA256=m | ||
1046 | CONFIG_CRYPTO_SHA512=m | ||
1047 | CONFIG_CRYPTO_WP512=m | ||
1048 | CONFIG_CRYPTO_TGR192=m | ||
1049 | CONFIG_CRYPTO_DES=m | ||
1050 | CONFIG_CRYPTO_BLOWFISH=m | ||
1051 | CONFIG_CRYPTO_TWOFISH=m | ||
1052 | CONFIG_CRYPTO_SERPENT=m | ||
1053 | CONFIG_CRYPTO_AES=m | ||
1054 | CONFIG_CRYPTO_CAST5=m | ||
1055 | CONFIG_CRYPTO_CAST6=m | ||
1056 | CONFIG_CRYPTO_TEA=m | ||
1057 | CONFIG_CRYPTO_ARC4=m | ||
1058 | CONFIG_CRYPTO_KHAZAD=m | ||
1059 | CONFIG_CRYPTO_ANUBIS=m | ||
1060 | CONFIG_CRYPTO_DEFLATE=m | ||
1061 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1062 | CONFIG_CRYPTO_CRC32C=m | ||
1063 | # CONFIG_CRYPTO_TEST is not set | ||
1064 | 1027 | ||
1065 | # | 1028 | # |
1066 | # Hardware crypto devices | 1029 | # Hardware crypto devices |
@@ -1069,9 +1032,8 @@ CONFIG_CRYPTO_CRC32C=m | |||
1069 | # | 1032 | # |
1070 | # Library routines | 1033 | # Library routines |
1071 | # | 1034 | # |
1072 | CONFIG_CRC_CCITT=m | 1035 | # CONFIG_CRC_CCITT is not set |
1073 | CONFIG_CRC16=m | 1036 | # CONFIG_CRC16 is not set |
1074 | CONFIG_CRC32=m | 1037 | # CONFIG_CRC32 is not set |
1075 | CONFIG_LIBCRC32C=m | 1038 | # CONFIG_LIBCRC32C is not set |
1076 | CONFIG_ZLIB_INFLATE=m | 1039 | CONFIG_ZLIB_INFLATE=m |
1077 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig index be99261d7997..5a924c1a5803 100644 --- a/arch/mips/configs/tb0229_defconfig +++ b/arch/mips/configs/tb0229_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:35 2006 | 4 | # Tue Apr 25 00:08:59 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -68,12 +68,14 @@ CONFIG_MACH_VR41XX=y | |||
68 | # CONFIG_NEC_CMBVR4133 is not set | 68 | # CONFIG_NEC_CMBVR4133 is not set |
69 | CONFIG_TANBAC_TB022X=y | 69 | CONFIG_TANBAC_TB022X=y |
70 | # CONFIG_TANBAC_TB0226 is not set | 70 | # CONFIG_TANBAC_TB0226 is not set |
71 | CONFIG_TANBAC_TB0287=y | 71 | # CONFIG_TANBAC_TB0287 is not set |
72 | # CONFIG_VICTOR_MPC30X is not set | 72 | # CONFIG_VICTOR_MPC30X is not set |
73 | # CONFIG_ZAO_CAPCELLA is not set | 73 | # CONFIG_ZAO_CAPCELLA is not set |
74 | CONFIG_PCI_VR41XX=y | 74 | CONFIG_PCI_VR41XX=y |
75 | # CONFIG_VRC4173 is not set | 75 | # CONFIG_VRC4173 is not set |
76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
77 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
78 | CONFIG_GENERIC_HWEIGHT=y | ||
77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 79 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
78 | CONFIG_DMA_NONCOHERENT=y | 80 | CONFIG_DMA_NONCOHERENT=y |
79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 81 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -92,7 +94,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
92 | # CONFIG_CPU_MIPS64_R2 is not set | 94 | # CONFIG_CPU_MIPS64_R2 is not set |
93 | # CONFIG_CPU_R3000 is not set | 95 | # CONFIG_CPU_R3000 is not set |
94 | # CONFIG_CPU_TX39XX is not set | 96 | # CONFIG_CPU_TX39XX is not set |
95 | # CONFIG_CPU_VR41XX is not set | 97 | CONFIG_CPU_VR41XX=y |
96 | # CONFIG_CPU_R4300 is not set | 98 | # CONFIG_CPU_R4300 is not set |
97 | # CONFIG_CPU_R4X00 is not set | 99 | # CONFIG_CPU_R4X00 is not set |
98 | # CONFIG_CPU_TX49XX is not set | 100 | # CONFIG_CPU_TX49XX is not set |
@@ -105,18 +107,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
105 | # CONFIG_CPU_RM7000 is not set | 107 | # CONFIG_CPU_RM7000 is not set |
106 | # CONFIG_CPU_RM9000 is not set | 108 | # CONFIG_CPU_RM9000 is not set |
107 | # CONFIG_CPU_SB1 is not set | 109 | # CONFIG_CPU_SB1 is not set |
110 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
111 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
112 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
113 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
108 | 114 | ||
109 | # | 115 | # |
110 | # Kernel type | 116 | # Kernel type |
111 | # | 117 | # |
112 | # CONFIG_32BIT is not set | 118 | CONFIG_32BIT=y |
113 | # CONFIG_64BIT is not set | 119 | # CONFIG_64BIT is not set |
114 | CONFIG_PAGE_SIZE_4KB=y | 120 | CONFIG_PAGE_SIZE_4KB=y |
115 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set |
116 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set |
117 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
118 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set |
119 | CONFIG_CPU_HAS_LLSC=y | ||
120 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 127 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -137,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
137 | # Code maturity level options | 142 | # Code maturity level options |
138 | # | 143 | # |
139 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y |
140 | CONFIG_CLEAN_COMPILE=y | ||
141 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y |
142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
143 | 147 | ||
@@ -153,6 +157,7 @@ CONFIG_SYSVIPC=y | |||
153 | CONFIG_SYSCTL=y | 157 | CONFIG_SYSCTL=y |
154 | # CONFIG_AUDIT is not set | 158 | # CONFIG_AUDIT is not set |
155 | # CONFIG_IKCONFIG is not set | 159 | # CONFIG_IKCONFIG is not set |
160 | # CONFIG_RELAY is not set | ||
156 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" |
157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
158 | CONFIG_EMBEDDED=y | 163 | CONFIG_EMBEDDED=y |
@@ -166,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
166 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y |
167 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y |
168 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y |
169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
170 | CONFIG_CC_ALIGN_LABELS=0 | ||
171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
173 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y |
174 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 |
@@ -181,7 +182,6 @@ CONFIG_BASE_SMALL=0 | |||
181 | CONFIG_MODULES=y | 182 | CONFIG_MODULES=y |
182 | CONFIG_MODULE_UNLOAD=y | 183 | CONFIG_MODULE_UNLOAD=y |
183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
184 | CONFIG_OBSOLETE_MODPARM=y | ||
185 | CONFIG_MODVERSIONS=y | 185 | CONFIG_MODVERSIONS=y |
186 | CONFIG_MODULE_SRCVERSION_ALL=y | 186 | CONFIG_MODULE_SRCVERSION_ALL=y |
187 | CONFIG_KMOD=y | 187 | CONFIG_KMOD=y |
@@ -189,6 +189,9 @@ CONFIG_KMOD=y | |||
189 | # | 189 | # |
190 | # Block layer | 190 | # Block layer |
191 | # | 191 | # |
192 | # CONFIG_LBD is not set | ||
193 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
194 | # CONFIG_LSF is not set | ||
192 | 195 | ||
193 | # | 196 | # |
194 | # IO Schedulers | 197 | # IO Schedulers |
@@ -208,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
208 | # | 211 | # |
209 | CONFIG_HW_HAS_PCI=y | 212 | CONFIG_HW_HAS_PCI=y |
210 | CONFIG_PCI=y | 213 | CONFIG_PCI=y |
211 | # CONFIG_PCI_LEGACY_PROC is not set | ||
212 | CONFIG_MMU=y | 214 | CONFIG_MMU=y |
213 | 215 | ||
214 | # | 216 | # |
@@ -226,6 +228,7 @@ CONFIG_MMU=y | |||
226 | # | 228 | # |
227 | CONFIG_BINFMT_ELF=y | 229 | CONFIG_BINFMT_ELF=y |
228 | # CONFIG_BINFMT_MISC is not set | 230 | # CONFIG_BINFMT_MISC is not set |
231 | CONFIG_TRAD_SIGNALS=y | ||
229 | 232 | ||
230 | # | 233 | # |
231 | # Networking | 234 | # Networking |
@@ -235,11 +238,10 @@ CONFIG_NET=y | |||
235 | # | 238 | # |
236 | # Networking options | 239 | # Networking options |
237 | # | 240 | # |
241 | # CONFIG_NETDEBUG is not set | ||
238 | CONFIG_PACKET=y | 242 | CONFIG_PACKET=y |
239 | # CONFIG_PACKET_MMAP is not set | 243 | # CONFIG_PACKET_MMAP is not set |
240 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y |
241 | CONFIG_XFRM=y | ||
242 | CONFIG_XFRM_USER=m | ||
243 | # CONFIG_NET_KEY is not set | 245 | # CONFIG_NET_KEY is not set |
244 | CONFIG_INET=y | 246 | CONFIG_INET=y |
245 | CONFIG_IP_MULTICAST=y | 247 | CONFIG_IP_MULTICAST=y |
@@ -264,12 +266,15 @@ CONFIG_SYN_COOKIES=y | |||
264 | # CONFIG_INET_AH is not set | 266 | # CONFIG_INET_AH is not set |
265 | # CONFIG_INET_ESP is not set | 267 | # CONFIG_INET_ESP is not set |
266 | # CONFIG_INET_IPCOMP is not set | 268 | # CONFIG_INET_IPCOMP is not set |
269 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
267 | CONFIG_INET_TUNNEL=m | 270 | CONFIG_INET_TUNNEL=m |
268 | CONFIG_INET_DIAG=y | 271 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 272 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 273 | # CONFIG_TCP_CONG_ADVANCED is not set |
271 | CONFIG_TCP_CONG_BIC=y | 274 | CONFIG_TCP_CONG_BIC=y |
272 | # CONFIG_IPV6 is not set | 275 | # CONFIG_IPV6 is not set |
276 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
277 | # CONFIG_INET6_TUNNEL is not set | ||
273 | # CONFIG_NETFILTER is not set | 278 | # CONFIG_NETFILTER is not set |
274 | 279 | ||
275 | # | 280 | # |
@@ -281,6 +286,11 @@ CONFIG_TCP_CONG_BIC=y | |||
281 | # SCTP Configuration (EXPERIMENTAL) | 286 | # SCTP Configuration (EXPERIMENTAL) |
282 | # | 287 | # |
283 | # CONFIG_IP_SCTP is not set | 288 | # CONFIG_IP_SCTP is not set |
289 | |||
290 | # | ||
291 | # TIPC Configuration (EXPERIMENTAL) | ||
292 | # | ||
293 | # CONFIG_TIPC is not set | ||
284 | # CONFIG_ATM is not set | 294 | # CONFIG_ATM is not set |
285 | # CONFIG_BRIDGE is not set | 295 | # CONFIG_BRIDGE is not set |
286 | # CONFIG_VLAN_8021Q is not set | 296 | # CONFIG_VLAN_8021Q is not set |
@@ -290,11 +300,6 @@ CONFIG_TCP_CONG_BIC=y | |||
290 | # CONFIG_ATALK is not set | 300 | # CONFIG_ATALK is not set |
291 | # CONFIG_X25 is not set | 301 | # CONFIG_X25 is not set |
292 | # CONFIG_LAPB is not set | 302 | # CONFIG_LAPB is not set |
293 | |||
294 | # | ||
295 | # TIPC Configuration (EXPERIMENTAL) | ||
296 | # | ||
297 | # CONFIG_TIPC is not set | ||
298 | # CONFIG_NET_DIVERT is not set | 303 | # CONFIG_NET_DIVERT is not set |
299 | # CONFIG_ECONET is not set | 304 | # CONFIG_ECONET is not set |
300 | # CONFIG_WAN_ROUTER is not set | 305 | # CONFIG_WAN_ROUTER is not set |
@@ -311,10 +316,7 @@ CONFIG_TCP_CONG_BIC=y | |||
311 | # CONFIG_HAMRADIO is not set | 316 | # CONFIG_HAMRADIO is not set |
312 | # CONFIG_IRDA is not set | 317 | # CONFIG_IRDA is not set |
313 | # CONFIG_BT is not set | 318 | # CONFIG_BT is not set |
314 | CONFIG_IEEE80211=m | 319 | # CONFIG_IEEE80211 is not set |
315 | # CONFIG_IEEE80211_DEBUG is not set | ||
316 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
317 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
318 | 320 | ||
319 | # | 321 | # |
320 | # Device Drivers | 322 | # Device Drivers |
@@ -325,12 +327,12 @@ CONFIG_IEEE80211_CRYPT_CCMP=m | |||
325 | # | 327 | # |
326 | CONFIG_STANDALONE=y | 328 | CONFIG_STANDALONE=y |
327 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 329 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
328 | CONFIG_FW_LOADER=m | 330 | # CONFIG_FW_LOADER is not set |
329 | 331 | ||
330 | # | 332 | # |
331 | # Connector - unified userspace <-> kernelspace linker | 333 | # Connector - unified userspace <-> kernelspace linker |
332 | # | 334 | # |
333 | CONFIG_CONNECTOR=m | 335 | # CONFIG_CONNECTOR is not set |
334 | 336 | ||
335 | # | 337 | # |
336 | # Memory Technology Devices (MTD) | 338 | # Memory Technology Devices (MTD) |
@@ -363,10 +365,8 @@ CONFIG_BLK_DEV_RAM=y | |||
363 | CONFIG_BLK_DEV_RAM_COUNT=16 | 365 | CONFIG_BLK_DEV_RAM_COUNT=16 |
364 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 366 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
365 | # CONFIG_BLK_DEV_INITRD is not set | 367 | # CONFIG_BLK_DEV_INITRD is not set |
366 | CONFIG_CDROM_PKTCDVD=m | 368 | # CONFIG_CDROM_PKTCDVD is not set |
367 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 369 | # CONFIG_ATA_OVER_ETH is not set |
368 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
369 | CONFIG_ATA_OVER_ETH=m | ||
370 | 370 | ||
371 | # | 371 | # |
372 | # ATA/ATAPI/MFM/RLL support | 372 | # ATA/ATAPI/MFM/RLL support |
@@ -443,30 +443,7 @@ CONFIG_MII=y | |||
443 | # | 443 | # |
444 | # CONFIG_NET_TULIP is not set | 444 | # CONFIG_NET_TULIP is not set |
445 | # CONFIG_HP100 is not set | 445 | # CONFIG_HP100 is not set |
446 | CONFIG_NET_PCI=y | 446 | # CONFIG_NET_PCI is not set |
447 | # CONFIG_PCNET32 is not set | ||
448 | # CONFIG_AMD8111_ETH is not set | ||
449 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
450 | # CONFIG_B44 is not set | ||
451 | # CONFIG_FORCEDETH is not set | ||
452 | # CONFIG_DGRS is not set | ||
453 | CONFIG_EEPRO100=y | ||
454 | # CONFIG_E100 is not set | ||
455 | # CONFIG_FEALNX is not set | ||
456 | # CONFIG_NATSEMI is not set | ||
457 | # CONFIG_NE2K_PCI is not set | ||
458 | # CONFIG_8139CP is not set | ||
459 | CONFIG_8139TOO=y | ||
460 | CONFIG_8139TOO_PIO=y | ||
461 | # CONFIG_8139TOO_TUNE_TWISTER is not set | ||
462 | # CONFIG_8139TOO_8129 is not set | ||
463 | # CONFIG_8139_OLD_RX_RESET is not set | ||
464 | # CONFIG_SIS900 is not set | ||
465 | # CONFIG_EPIC100 is not set | ||
466 | # CONFIG_SUNDANCE is not set | ||
467 | # CONFIG_TLAN is not set | ||
468 | # CONFIG_VIA_RHINE is not set | ||
469 | # CONFIG_LAN_SAA9730 is not set | ||
470 | 447 | ||
471 | # | 448 | # |
472 | # Ethernet (1000 Mbit) | 449 | # Ethernet (1000 Mbit) |
@@ -483,7 +460,6 @@ CONFIG_R8169=y | |||
483 | # CONFIG_SKGE is not set | 460 | # CONFIG_SKGE is not set |
484 | # CONFIG_SKY2 is not set | 461 | # CONFIG_SKY2 is not set |
485 | # CONFIG_SK98LIN is not set | 462 | # CONFIG_SK98LIN is not set |
486 | # CONFIG_VIA_VELOCITY is not set | ||
487 | # CONFIG_TIGON3 is not set | 463 | # CONFIG_TIGON3 is not set |
488 | # CONFIG_BNX2 is not set | 464 | # CONFIG_BNX2 is not set |
489 | 465 | ||
@@ -510,19 +486,8 @@ CONFIG_R8169=y | |||
510 | # CONFIG_WAN is not set | 486 | # CONFIG_WAN is not set |
511 | # CONFIG_FDDI is not set | 487 | # CONFIG_FDDI is not set |
512 | # CONFIG_HIPPI is not set | 488 | # CONFIG_HIPPI is not set |
513 | CONFIG_PPP=m | 489 | # CONFIG_PPP is not set |
514 | CONFIG_PPP_MULTILINK=y | 490 | # CONFIG_SLIP is not set |
515 | CONFIG_PPP_FILTER=y | ||
516 | CONFIG_PPP_ASYNC=m | ||
517 | CONFIG_PPP_SYNC_TTY=m | ||
518 | CONFIG_PPP_DEFLATE=m | ||
519 | CONFIG_PPP_BSDCOMP=m | ||
520 | CONFIG_PPP_MPPE=m | ||
521 | CONFIG_PPPOE=m | ||
522 | CONFIG_SLIP=m | ||
523 | CONFIG_SLIP_COMPRESSED=y | ||
524 | CONFIG_SLIP_SMART=y | ||
525 | CONFIG_SLIP_MODE_SLIP6=y | ||
526 | # CONFIG_SHAPER is not set | 491 | # CONFIG_SHAPER is not set |
527 | # CONFIG_NETCONSOLE is not set | 492 | # CONFIG_NETCONSOLE is not set |
528 | # CONFIG_NETPOLL is not set | 493 | # CONFIG_NETPOLL is not set |
@@ -583,6 +548,11 @@ CONFIG_HW_CONSOLE=y | |||
583 | # | 548 | # |
584 | # Non-8250 serial port support | 549 | # Non-8250 serial port support |
585 | # | 550 | # |
551 | CONFIG_SERIAL_CORE=y | ||
552 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
553 | CONFIG_SERIAL_VR41XX=y | ||
554 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
555 | # CONFIG_SERIAL_JSM is not set | ||
586 | CONFIG_UNIX98_PTYS=y | 556 | CONFIG_UNIX98_PTYS=y |
587 | CONFIG_LEGACY_PTYS=y | 557 | CONFIG_LEGACY_PTYS=y |
588 | CONFIG_LEGACY_PTY_COUNT=256 | 558 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -607,6 +577,7 @@ CONFIG_TANBAC_TB0219=y | |||
607 | # Ftape, the floppy tape device driver | 577 | # Ftape, the floppy tape device driver |
608 | # | 578 | # |
609 | # CONFIG_DRM is not set | 579 | # CONFIG_DRM is not set |
580 | CONFIG_GPIO_VR41XX=y | ||
610 | # CONFIG_RAW_DRIVER is not set | 581 | # CONFIG_RAW_DRIVER is not set |
611 | 582 | ||
612 | # | 583 | # |
@@ -642,10 +613,6 @@ CONFIG_TANBAC_TB0219=y | |||
642 | # | 613 | # |
643 | 614 | ||
644 | # | 615 | # |
645 | # Multimedia Capabilities Port drivers | ||
646 | # | ||
647 | |||
648 | # | ||
649 | # Multimedia devices | 616 | # Multimedia devices |
650 | # | 617 | # |
651 | # CONFIG_VIDEO_DEV is not set | 618 | # CONFIG_VIDEO_DEV is not set |
@@ -654,6 +621,7 @@ CONFIG_TANBAC_TB0219=y | |||
654 | # Digital Video Broadcasting Devices | 621 | # Digital Video Broadcasting Devices |
655 | # | 622 | # |
656 | # CONFIG_DVB is not set | 623 | # CONFIG_DVB is not set |
624 | # CONFIG_USB_DABUSB is not set | ||
657 | 625 | ||
658 | # | 626 | # |
659 | # Graphics support | 627 | # Graphics support |
@@ -676,6 +644,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
676 | # | 644 | # |
677 | CONFIG_USB_ARCH_HAS_HCD=y | 645 | CONFIG_USB_ARCH_HAS_HCD=y |
678 | CONFIG_USB_ARCH_HAS_OHCI=y | 646 | CONFIG_USB_ARCH_HAS_OHCI=y |
647 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
679 | CONFIG_USB=m | 648 | CONFIG_USB=m |
680 | # CONFIG_USB_DEBUG is not set | 649 | # CONFIG_USB_DEBUG is not set |
681 | 650 | ||
@@ -731,9 +700,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
731 | # CONFIG_USB_ACECAD is not set | 700 | # CONFIG_USB_ACECAD is not set |
732 | # CONFIG_USB_KBTAB is not set | 701 | # CONFIG_USB_KBTAB is not set |
733 | # CONFIG_USB_POWERMATE is not set | 702 | # CONFIG_USB_POWERMATE is not set |
734 | # CONFIG_USB_MTOUCH is not set | 703 | # CONFIG_USB_TOUCHSCREEN is not set |
735 | # CONFIG_USB_ITMTOUCH is not set | ||
736 | # CONFIG_USB_EGALAX is not set | ||
737 | # CONFIG_USB_YEALINK is not set | 704 | # CONFIG_USB_YEALINK is not set |
738 | # CONFIG_USB_XPAD is not set | 705 | # CONFIG_USB_XPAD is not set |
739 | # CONFIG_USB_ATI_REMOTE is not set | 706 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -747,15 +714,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
747 | # CONFIG_USB_MDC800 is not set | 714 | # CONFIG_USB_MDC800 is not set |
748 | 715 | ||
749 | # | 716 | # |
750 | # USB Multimedia devices | ||
751 | # | ||
752 | # CONFIG_USB_DABUSB is not set | ||
753 | |||
754 | # | ||
755 | # Video4Linux support is needed for USB Multimedia device support | ||
756 | # | ||
757 | |||
758 | # | ||
759 | # USB Network Adapters | 717 | # USB Network Adapters |
760 | # | 718 | # |
761 | # CONFIG_USB_CATC is not set | 719 | # CONFIG_USB_CATC is not set |
@@ -807,13 +765,48 @@ CONFIG_USB_MON=y | |||
807 | # CONFIG_MMC is not set | 765 | # CONFIG_MMC is not set |
808 | 766 | ||
809 | # | 767 | # |
768 | # LED devices | ||
769 | # | ||
770 | # CONFIG_NEW_LEDS is not set | ||
771 | |||
772 | # | ||
773 | # LED drivers | ||
774 | # | ||
775 | |||
776 | # | ||
777 | # LED Triggers | ||
778 | # | ||
779 | |||
780 | # | ||
810 | # InfiniBand support | 781 | # InfiniBand support |
811 | # | 782 | # |
812 | # CONFIG_INFINIBAND is not set | 783 | # CONFIG_INFINIBAND is not set |
813 | 784 | ||
814 | # | 785 | # |
815 | # SN Devices | 786 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
787 | # | ||
788 | |||
789 | # | ||
790 | # Real Time Clock | ||
791 | # | ||
792 | CONFIG_RTC_LIB=y | ||
793 | CONFIG_RTC_CLASS=y | ||
794 | CONFIG_RTC_HCTOSYS=y | ||
795 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
796 | |||
797 | # | ||
798 | # RTC interfaces | ||
799 | # | ||
800 | CONFIG_RTC_INTF_SYSFS=y | ||
801 | CONFIG_RTC_INTF_PROC=y | ||
802 | CONFIG_RTC_INTF_DEV=y | ||
803 | |||
804 | # | ||
805 | # RTC drivers | ||
816 | # | 806 | # |
807 | # CONFIG_RTC_DRV_M48T86 is not set | ||
808 | CONFIG_RTC_DRV_VR41XX=y | ||
809 | # CONFIG_RTC_DRV_TEST is not set | ||
817 | 810 | ||
818 | # | 811 | # |
819 | # File systems | 812 | # File systems |
@@ -821,32 +814,16 @@ CONFIG_USB_MON=y | |||
821 | CONFIG_EXT2_FS=y | 814 | CONFIG_EXT2_FS=y |
822 | # CONFIG_EXT2_FS_XATTR is not set | 815 | # CONFIG_EXT2_FS_XATTR is not set |
823 | # CONFIG_EXT2_FS_XIP is not set | 816 | # CONFIG_EXT2_FS_XIP is not set |
824 | CONFIG_EXT3_FS=m | 817 | # CONFIG_EXT3_FS is not set |
825 | CONFIG_EXT3_FS_XATTR=y | ||
826 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
827 | CONFIG_EXT3_FS_SECURITY=y | ||
828 | CONFIG_JBD=m | ||
829 | # CONFIG_JBD_DEBUG is not set | ||
830 | CONFIG_FS_MBCACHE=y | ||
831 | # CONFIG_REISERFS_FS is not set | 818 | # CONFIG_REISERFS_FS is not set |
832 | CONFIG_JFS_FS=m | 819 | # CONFIG_JFS_FS is not set |
833 | # CONFIG_JFS_POSIX_ACL is not set | ||
834 | # CONFIG_JFS_SECURITY is not set | ||
835 | # CONFIG_JFS_DEBUG is not set | ||
836 | # CONFIG_JFS_STATISTICS is not set | ||
837 | # CONFIG_FS_POSIX_ACL is not set | 820 | # CONFIG_FS_POSIX_ACL is not set |
838 | CONFIG_XFS_FS=y | 821 | # CONFIG_XFS_FS is not set |
839 | CONFIG_XFS_EXPORT=y | ||
840 | CONFIG_XFS_QUOTA=y | ||
841 | # CONFIG_XFS_SECURITY is not set | ||
842 | CONFIG_XFS_POSIX_ACL=y | ||
843 | # CONFIG_XFS_RT is not set | ||
844 | # CONFIG_OCFS2_FS is not set | 822 | # CONFIG_OCFS2_FS is not set |
845 | # CONFIG_MINIX_FS is not set | 823 | # CONFIG_MINIX_FS is not set |
846 | CONFIG_ROMFS_FS=m | 824 | CONFIG_ROMFS_FS=m |
847 | CONFIG_INOTIFY=y | 825 | CONFIG_INOTIFY=y |
848 | # CONFIG_QUOTA is not set | 826 | # CONFIG_QUOTA is not set |
849 | CONFIG_QUOTACTL=y | ||
850 | CONFIG_DNOTIFY=y | 827 | CONFIG_DNOTIFY=y |
851 | # CONFIG_AUTOFS_FS is not set | 828 | # CONFIG_AUTOFS_FS is not set |
852 | CONFIG_AUTOFS4_FS=y | 829 | CONFIG_AUTOFS4_FS=y |
@@ -855,20 +832,14 @@ CONFIG_FUSE_FS=m | |||
855 | # | 832 | # |
856 | # CD-ROM/DVD Filesystems | 833 | # CD-ROM/DVD Filesystems |
857 | # | 834 | # |
858 | CONFIG_ISO9660_FS=y | 835 | # CONFIG_ISO9660_FS is not set |
859 | CONFIG_JOLIET=y | ||
860 | CONFIG_ZISOFS=y | ||
861 | CONFIG_ZISOFS_FS=y | ||
862 | # CONFIG_UDF_FS is not set | 836 | # CONFIG_UDF_FS is not set |
863 | 837 | ||
864 | # | 838 | # |
865 | # DOS/FAT/NT Filesystems | 839 | # DOS/FAT/NT Filesystems |
866 | # | 840 | # |
867 | CONFIG_FAT_FS=m | 841 | # CONFIG_MSDOS_FS is not set |
868 | CONFIG_MSDOS_FS=m | 842 | # CONFIG_VFAT_FS is not set |
869 | CONFIG_VFAT_FS=m | ||
870 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
871 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
872 | # CONFIG_NTFS_FS is not set | 843 | # CONFIG_NTFS_FS is not set |
873 | 844 | ||
874 | # | 845 | # |
@@ -880,7 +851,6 @@ CONFIG_SYSFS=y | |||
880 | CONFIG_TMPFS=y | 851 | CONFIG_TMPFS=y |
881 | # CONFIG_HUGETLB_PAGE is not set | 852 | # CONFIG_HUGETLB_PAGE is not set |
882 | CONFIG_RAMFS=y | 853 | CONFIG_RAMFS=y |
883 | CONFIG_RELAYFS_FS=m | ||
884 | # CONFIG_CONFIGFS_FS is not set | 854 | # CONFIG_CONFIGFS_FS is not set |
885 | 855 | ||
886 | # | 856 | # |
@@ -921,9 +891,7 @@ CONFIG_NFS_COMMON=y | |||
921 | CONFIG_SUNRPC=y | 891 | CONFIG_SUNRPC=y |
922 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 892 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
923 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 893 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
924 | CONFIG_SMB_FS=m | 894 | # CONFIG_SMB_FS is not set |
925 | CONFIG_SMB_NLS_DEFAULT=y | ||
926 | CONFIG_SMB_NLS_REMOTE="cp932" | ||
927 | # CONFIG_CIFS is not set | 895 | # CONFIG_CIFS is not set |
928 | # CONFIG_NCP_FS is not set | 896 | # CONFIG_NCP_FS is not set |
929 | # CONFIG_CODA_FS is not set | 897 | # CONFIG_CODA_FS is not set |
@@ -939,46 +907,7 @@ CONFIG_MSDOS_PARTITION=y | |||
939 | # | 907 | # |
940 | # Native Language Support | 908 | # Native Language Support |
941 | # | 909 | # |
942 | CONFIG_NLS=y | 910 | # CONFIG_NLS is not set |
943 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
944 | CONFIG_NLS_CODEPAGE_437=m | ||
945 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
946 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
947 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
948 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
949 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
950 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
951 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
952 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
953 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
954 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
955 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
956 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
957 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
958 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
959 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
960 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
961 | CONFIG_NLS_CODEPAGE_932=m | ||
962 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
963 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
964 | # CONFIG_NLS_ISO8859_8 is not set | ||
965 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
966 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
967 | # CONFIG_NLS_ASCII is not set | ||
968 | CONFIG_NLS_ISO8859_1=m | ||
969 | # CONFIG_NLS_ISO8859_2 is not set | ||
970 | # CONFIG_NLS_ISO8859_3 is not set | ||
971 | # CONFIG_NLS_ISO8859_4 is not set | ||
972 | # CONFIG_NLS_ISO8859_5 is not set | ||
973 | # CONFIG_NLS_ISO8859_6 is not set | ||
974 | # CONFIG_NLS_ISO8859_7 is not set | ||
975 | # CONFIG_NLS_ISO8859_9 is not set | ||
976 | # CONFIG_NLS_ISO8859_13 is not set | ||
977 | # CONFIG_NLS_ISO8859_14 is not set | ||
978 | # CONFIG_NLS_ISO8859_15 is not set | ||
979 | # CONFIG_NLS_KOI8_R is not set | ||
980 | # CONFIG_NLS_KOI8_U is not set | ||
981 | # CONFIG_NLS_UTF8 is not set | ||
982 | 911 | ||
983 | # | 912 | # |
984 | # Profiling support | 913 | # Profiling support |
@@ -992,44 +921,20 @@ CONFIG_NLS_ISO8859_1=m | |||
992 | # CONFIG_MAGIC_SYSRQ is not set | 921 | # CONFIG_MAGIC_SYSRQ is not set |
993 | # CONFIG_DEBUG_KERNEL is not set | 922 | # CONFIG_DEBUG_KERNEL is not set |
994 | CONFIG_LOG_BUF_SHIFT=14 | 923 | CONFIG_LOG_BUF_SHIFT=14 |
924 | # CONFIG_DEBUG_FS is not set | ||
995 | CONFIG_CROSSCOMPILE=y | 925 | CONFIG_CROSSCOMPILE=y |
996 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | 926 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" |
997 | 927 | ||
998 | # | 928 | # |
999 | # Security options | 929 | # Security options |
1000 | # | 930 | # |
1001 | CONFIG_KEYS=y | 931 | # CONFIG_KEYS is not set |
1002 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
1003 | # CONFIG_SECURITY is not set | 932 | # CONFIG_SECURITY is not set |
1004 | 933 | ||
1005 | # | 934 | # |
1006 | # Cryptographic options | 935 | # Cryptographic options |
1007 | # | 936 | # |
1008 | CONFIG_CRYPTO=y | 937 | # CONFIG_CRYPTO is not set |
1009 | CONFIG_CRYPTO_HMAC=y | ||
1010 | CONFIG_CRYPTO_NULL=m | ||
1011 | CONFIG_CRYPTO_MD4=m | ||
1012 | CONFIG_CRYPTO_MD5=m | ||
1013 | CONFIG_CRYPTO_SHA1=m | ||
1014 | CONFIG_CRYPTO_SHA256=m | ||
1015 | CONFIG_CRYPTO_SHA512=m | ||
1016 | CONFIG_CRYPTO_WP512=m | ||
1017 | CONFIG_CRYPTO_TGR192=m | ||
1018 | CONFIG_CRYPTO_DES=m | ||
1019 | CONFIG_CRYPTO_BLOWFISH=m | ||
1020 | CONFIG_CRYPTO_TWOFISH=m | ||
1021 | CONFIG_CRYPTO_SERPENT=m | ||
1022 | CONFIG_CRYPTO_AES=m | ||
1023 | CONFIG_CRYPTO_CAST5=m | ||
1024 | CONFIG_CRYPTO_CAST6=m | ||
1025 | CONFIG_CRYPTO_TEA=m | ||
1026 | CONFIG_CRYPTO_ARC4=m | ||
1027 | CONFIG_CRYPTO_KHAZAD=m | ||
1028 | CONFIG_CRYPTO_ANUBIS=m | ||
1029 | CONFIG_CRYPTO_DEFLATE=m | ||
1030 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1031 | CONFIG_CRYPTO_CRC32C=m | ||
1032 | # CONFIG_CRYPTO_TEST is not set | ||
1033 | 938 | ||
1034 | # | 939 | # |
1035 | # Hardware crypto devices | 940 | # Hardware crypto devices |
@@ -1038,9 +943,8 @@ CONFIG_CRYPTO_CRC32C=m | |||
1038 | # | 943 | # |
1039 | # Library routines | 944 | # Library routines |
1040 | # | 945 | # |
1041 | CONFIG_CRC_CCITT=m | 946 | # CONFIG_CRC_CCITT is not set |
1042 | CONFIG_CRC16=m | 947 | # CONFIG_CRC16 is not set |
1043 | CONFIG_CRC32=y | 948 | CONFIG_CRC32=y |
1044 | CONFIG_LIBCRC32C=m | 949 | # CONFIG_LIBCRC32C is not set |
1045 | CONFIG_ZLIB_INFLATE=y | 950 | CONFIG_ZLIB_INFLATE=m |
1046 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig new file mode 100644 index 000000000000..9f215ea350dc --- /dev/null +++ b/arch/mips/configs/tb0287_defconfig | |||
@@ -0,0 +1,1132 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.17-rc2 | ||
4 | # Tue Apr 25 00:09:17 2006 | ||
5 | # | ||
6 | CONFIG_MIPS=y | ||
7 | |||
8 | # | ||
9 | # Machine selection | ||
10 | # | ||
11 | # CONFIG_MIPS_MTX1 is not set | ||
12 | # CONFIG_MIPS_BOSPORUS is not set | ||
13 | # CONFIG_MIPS_PB1000 is not set | ||
14 | # CONFIG_MIPS_PB1100 is not set | ||
15 | # CONFIG_MIPS_PB1500 is not set | ||
16 | # CONFIG_MIPS_PB1550 is not set | ||
17 | # CONFIG_MIPS_PB1200 is not set | ||
18 | # CONFIG_MIPS_DB1000 is not set | ||
19 | # CONFIG_MIPS_DB1100 is not set | ||
20 | # CONFIG_MIPS_DB1500 is not set | ||
21 | # CONFIG_MIPS_DB1550 is not set | ||
22 | # CONFIG_MIPS_DB1200 is not set | ||
23 | # CONFIG_MIPS_MIRAGE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | ||
25 | # CONFIG_MACH_DECSTATION is not set | ||
26 | # CONFIG_MIPS_EV64120 is not set | ||
27 | # CONFIG_MIPS_EV96100 is not set | ||
28 | # CONFIG_MIPS_IVR is not set | ||
29 | # CONFIG_MIPS_ITE8172 is not set | ||
30 | # CONFIG_MACH_JAZZ is not set | ||
31 | # CONFIG_LASAT is not set | ||
32 | # CONFIG_MIPS_ATLAS is not set | ||
33 | # CONFIG_MIPS_MALTA is not set | ||
34 | # CONFIG_MIPS_SEAD is not set | ||
35 | # CONFIG_MIPS_SIM is not set | ||
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | ||
37 | # CONFIG_MOMENCO_OCELOT is not set | ||
38 | # CONFIG_MOMENCO_OCELOT_3 is not set | ||
39 | # CONFIG_MOMENCO_OCELOT_C is not set | ||
40 | # CONFIG_MOMENCO_OCELOT_G is not set | ||
41 | # CONFIG_MIPS_XXS1500 is not set | ||
42 | # CONFIG_PNX8550_V2PCI is not set | ||
43 | # CONFIG_PNX8550_JBS is not set | ||
44 | # CONFIG_DDB5074 is not set | ||
45 | # CONFIG_DDB5476 is not set | ||
46 | # CONFIG_DDB5477 is not set | ||
47 | CONFIG_MACH_VR41XX=y | ||
48 | # CONFIG_PMC_YOSEMITE is not set | ||
49 | # CONFIG_QEMU is not set | ||
50 | # CONFIG_SGI_IP22 is not set | ||
51 | # CONFIG_SGI_IP27 is not set | ||
52 | # CONFIG_SGI_IP32 is not set | ||
53 | # CONFIG_SIBYTE_BIGSUR is not set | ||
54 | # CONFIG_SIBYTE_SWARM is not set | ||
55 | # CONFIG_SIBYTE_SENTOSA is not set | ||
56 | # CONFIG_SIBYTE_RHONE is not set | ||
57 | # CONFIG_SIBYTE_CARMEL is not set | ||
58 | # CONFIG_SIBYTE_PTSWARM is not set | ||
59 | # CONFIG_SIBYTE_LITTLESUR is not set | ||
60 | # CONFIG_SIBYTE_CRHINE is not set | ||
61 | # CONFIG_SIBYTE_CRHONE is not set | ||
62 | # CONFIG_SNI_RM200_PCI is not set | ||
63 | # CONFIG_TOSHIBA_JMR3927 is not set | ||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | ||
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | ||
66 | # CONFIG_CASIO_E55 is not set | ||
67 | # CONFIG_IBM_WORKPAD is not set | ||
68 | # CONFIG_NEC_CMBVR4133 is not set | ||
69 | CONFIG_TANBAC_TB022X=y | ||
70 | # CONFIG_TANBAC_TB0226 is not set | ||
71 | CONFIG_TANBAC_TB0287=y | ||
72 | # CONFIG_VICTOR_MPC30X is not set | ||
73 | # CONFIG_ZAO_CAPCELLA is not set | ||
74 | CONFIG_PCI_VR41XX=y | ||
75 | # CONFIG_VRC4173 is not set | ||
76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
77 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
78 | CONFIG_GENERIC_HWEIGHT=y | ||
79 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
80 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
81 | CONFIG_DMA_NONCOHERENT=y | ||
82 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | ||
83 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
84 | CONFIG_CPU_LITTLE_ENDIAN=y | ||
85 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y | ||
86 | CONFIG_IRQ_CPU=y | ||
87 | CONFIG_MIPS_L1_CACHE_SHIFT=5 | ||
88 | |||
89 | # | ||
90 | # CPU selection | ||
91 | # | ||
92 | # CONFIG_CPU_MIPS32_R1 is not set | ||
93 | # CONFIG_CPU_MIPS32_R2 is not set | ||
94 | # CONFIG_CPU_MIPS64_R1 is not set | ||
95 | # CONFIG_CPU_MIPS64_R2 is not set | ||
96 | # CONFIG_CPU_R3000 is not set | ||
97 | # CONFIG_CPU_TX39XX is not set | ||
98 | CONFIG_CPU_VR41XX=y | ||
99 | # CONFIG_CPU_R4300 is not set | ||
100 | # CONFIG_CPU_R4X00 is not set | ||
101 | # CONFIG_CPU_TX49XX is not set | ||
102 | # CONFIG_CPU_R5000 is not set | ||
103 | # CONFIG_CPU_R5432 is not set | ||
104 | # CONFIG_CPU_R6000 is not set | ||
105 | # CONFIG_CPU_NEVADA is not set | ||
106 | # CONFIG_CPU_R8000 is not set | ||
107 | # CONFIG_CPU_R10000 is not set | ||
108 | # CONFIG_CPU_RM7000 is not set | ||
109 | # CONFIG_CPU_RM9000 is not set | ||
110 | # CONFIG_CPU_SB1 is not set | ||
111 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
112 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
113 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
114 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
115 | |||
116 | # | ||
117 | # Kernel type | ||
118 | # | ||
119 | CONFIG_32BIT=y | ||
120 | # CONFIG_64BIT is not set | ||
121 | CONFIG_PAGE_SIZE_4KB=y | ||
122 | # CONFIG_PAGE_SIZE_8KB is not set | ||
123 | # CONFIG_PAGE_SIZE_16KB is not set | ||
124 | # CONFIG_PAGE_SIZE_64KB is not set | ||
125 | # CONFIG_MIPS_MT is not set | ||
126 | CONFIG_CPU_HAS_SYNC=y | ||
127 | CONFIG_GENERIC_HARDIRQS=y | ||
128 | CONFIG_GENERIC_IRQ_PROBE=y | ||
129 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
130 | CONFIG_SELECT_MEMORY_MODEL=y | ||
131 | CONFIG_FLATMEM_MANUAL=y | ||
132 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
133 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
134 | CONFIG_FLATMEM=y | ||
135 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
136 | # CONFIG_SPARSEMEM_STATIC is not set | ||
137 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
138 | CONFIG_PREEMPT_NONE=y | ||
139 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
140 | # CONFIG_PREEMPT is not set | ||
141 | |||
142 | # | ||
143 | # Code maturity level options | ||
144 | # | ||
145 | CONFIG_EXPERIMENTAL=y | ||
146 | CONFIG_BROKEN_ON_SMP=y | ||
147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
148 | |||
149 | # | ||
150 | # General setup | ||
151 | # | ||
152 | CONFIG_LOCALVERSION="" | ||
153 | CONFIG_LOCALVERSION_AUTO=y | ||
154 | CONFIG_SWAP=y | ||
155 | CONFIG_SYSVIPC=y | ||
156 | # CONFIG_POSIX_MQUEUE is not set | ||
157 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
158 | CONFIG_SYSCTL=y | ||
159 | # CONFIG_AUDIT is not set | ||
160 | # CONFIG_IKCONFIG is not set | ||
161 | # CONFIG_RELAY is not set | ||
162 | CONFIG_INITRAMFS_SOURCE="" | ||
163 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
164 | CONFIG_EMBEDDED=y | ||
165 | CONFIG_KALLSYMS=y | ||
166 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
167 | # CONFIG_HOTPLUG is not set | ||
168 | CONFIG_PRINTK=y | ||
169 | CONFIG_BUG=y | ||
170 | CONFIG_ELF_CORE=y | ||
171 | CONFIG_BASE_FULL=y | ||
172 | CONFIG_FUTEX=y | ||
173 | CONFIG_EPOLL=y | ||
174 | CONFIG_SHMEM=y | ||
175 | CONFIG_SLAB=y | ||
176 | # CONFIG_TINY_SHMEM is not set | ||
177 | CONFIG_BASE_SMALL=0 | ||
178 | # CONFIG_SLOB is not set | ||
179 | |||
180 | # | ||
181 | # Loadable module support | ||
182 | # | ||
183 | CONFIG_MODULES=y | ||
184 | CONFIG_MODULE_UNLOAD=y | ||
185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
186 | CONFIG_MODVERSIONS=y | ||
187 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
188 | CONFIG_KMOD=y | ||
189 | |||
190 | # | ||
191 | # Block layer | ||
192 | # | ||
193 | # CONFIG_LBD is not set | ||
194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
195 | # CONFIG_LSF is not set | ||
196 | |||
197 | # | ||
198 | # IO Schedulers | ||
199 | # | ||
200 | CONFIG_IOSCHED_NOOP=y | ||
201 | CONFIG_IOSCHED_AS=y | ||
202 | CONFIG_IOSCHED_DEADLINE=y | ||
203 | CONFIG_IOSCHED_CFQ=y | ||
204 | CONFIG_DEFAULT_AS=y | ||
205 | # CONFIG_DEFAULT_DEADLINE is not set | ||
206 | # CONFIG_DEFAULT_CFQ is not set | ||
207 | # CONFIG_DEFAULT_NOOP is not set | ||
208 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
209 | |||
210 | # | ||
211 | # Bus options (PCI, PCMCIA, EISA, ISA, TC) | ||
212 | # | ||
213 | CONFIG_HW_HAS_PCI=y | ||
214 | CONFIG_PCI=y | ||
215 | CONFIG_MMU=y | ||
216 | |||
217 | # | ||
218 | # PCCARD (PCMCIA/CardBus) support | ||
219 | # | ||
220 | # CONFIG_PCCARD is not set | ||
221 | |||
222 | # | ||
223 | # PCI Hotplug Support | ||
224 | # | ||
225 | # CONFIG_HOTPLUG_PCI is not set | ||
226 | |||
227 | # | ||
228 | # Executable file formats | ||
229 | # | ||
230 | CONFIG_BINFMT_ELF=y | ||
231 | # CONFIG_BINFMT_MISC is not set | ||
232 | CONFIG_TRAD_SIGNALS=y | ||
233 | |||
234 | # | ||
235 | # Networking | ||
236 | # | ||
237 | CONFIG_NET=y | ||
238 | |||
239 | # | ||
240 | # Networking options | ||
241 | # | ||
242 | # CONFIG_NETDEBUG is not set | ||
243 | CONFIG_PACKET=y | ||
244 | # CONFIG_PACKET_MMAP is not set | ||
245 | CONFIG_UNIX=y | ||
246 | # CONFIG_NET_KEY is not set | ||
247 | CONFIG_INET=y | ||
248 | CONFIG_IP_MULTICAST=y | ||
249 | CONFIG_IP_ADVANCED_ROUTER=y | ||
250 | CONFIG_ASK_IP_FIB_HASH=y | ||
251 | # CONFIG_IP_FIB_TRIE is not set | ||
252 | CONFIG_IP_FIB_HASH=y | ||
253 | CONFIG_IP_MULTIPLE_TABLES=y | ||
254 | CONFIG_IP_ROUTE_MULTIPATH=y | ||
255 | # CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set | ||
256 | CONFIG_IP_ROUTE_VERBOSE=y | ||
257 | CONFIG_IP_PNP=y | ||
258 | # CONFIG_IP_PNP_DHCP is not set | ||
259 | CONFIG_IP_PNP_BOOTP=y | ||
260 | # CONFIG_IP_PNP_RARP is not set | ||
261 | CONFIG_NET_IPIP=m | ||
262 | CONFIG_NET_IPGRE=m | ||
263 | # CONFIG_NET_IPGRE_BROADCAST is not set | ||
264 | # CONFIG_IP_MROUTE is not set | ||
265 | # CONFIG_ARPD is not set | ||
266 | CONFIG_SYN_COOKIES=y | ||
267 | # CONFIG_INET_AH is not set | ||
268 | # CONFIG_INET_ESP is not set | ||
269 | # CONFIG_INET_IPCOMP is not set | ||
270 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
271 | CONFIG_INET_TUNNEL=m | ||
272 | CONFIG_INET_DIAG=y | ||
273 | CONFIG_INET_TCP_DIAG=y | ||
274 | CONFIG_TCP_CONG_ADVANCED=y | ||
275 | |||
276 | # | ||
277 | # TCP congestion control | ||
278 | # | ||
279 | CONFIG_TCP_CONG_BIC=y | ||
280 | CONFIG_TCP_CONG_CUBIC=m | ||
281 | CONFIG_TCP_CONG_WESTWOOD=m | ||
282 | CONFIG_TCP_CONG_HTCP=m | ||
283 | # CONFIG_TCP_CONG_HSTCP is not set | ||
284 | # CONFIG_TCP_CONG_HYBLA is not set | ||
285 | # CONFIG_TCP_CONG_VEGAS is not set | ||
286 | # CONFIG_TCP_CONG_SCALABLE is not set | ||
287 | # CONFIG_IPV6 is not set | ||
288 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
289 | # CONFIG_INET6_TUNNEL is not set | ||
290 | # CONFIG_NETFILTER is not set | ||
291 | |||
292 | # | ||
293 | # DCCP Configuration (EXPERIMENTAL) | ||
294 | # | ||
295 | # CONFIG_IP_DCCP is not set | ||
296 | |||
297 | # | ||
298 | # SCTP Configuration (EXPERIMENTAL) | ||
299 | # | ||
300 | # CONFIG_IP_SCTP is not set | ||
301 | |||
302 | # | ||
303 | # TIPC Configuration (EXPERIMENTAL) | ||
304 | # | ||
305 | # CONFIG_TIPC is not set | ||
306 | # CONFIG_ATM is not set | ||
307 | # CONFIG_BRIDGE is not set | ||
308 | # CONFIG_VLAN_8021Q is not set | ||
309 | # CONFIG_DECNET is not set | ||
310 | # CONFIG_LLC2 is not set | ||
311 | # CONFIG_IPX is not set | ||
312 | # CONFIG_ATALK is not set | ||
313 | # CONFIG_X25 is not set | ||
314 | # CONFIG_LAPB is not set | ||
315 | # CONFIG_NET_DIVERT is not set | ||
316 | # CONFIG_ECONET is not set | ||
317 | # CONFIG_WAN_ROUTER is not set | ||
318 | |||
319 | # | ||
320 | # QoS and/or fair queueing | ||
321 | # | ||
322 | # CONFIG_NET_SCHED is not set | ||
323 | |||
324 | # | ||
325 | # Network testing | ||
326 | # | ||
327 | # CONFIG_NET_PKTGEN is not set | ||
328 | # CONFIG_HAMRADIO is not set | ||
329 | # CONFIG_IRDA is not set | ||
330 | # CONFIG_BT is not set | ||
331 | # CONFIG_IEEE80211 is not set | ||
332 | |||
333 | # | ||
334 | # Device Drivers | ||
335 | # | ||
336 | |||
337 | # | ||
338 | # Generic Driver Options | ||
339 | # | ||
340 | CONFIG_STANDALONE=y | ||
341 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
342 | # CONFIG_FW_LOADER is not set | ||
343 | |||
344 | # | ||
345 | # Connector - unified userspace <-> kernelspace linker | ||
346 | # | ||
347 | # CONFIG_CONNECTOR is not set | ||
348 | |||
349 | # | ||
350 | # Memory Technology Devices (MTD) | ||
351 | # | ||
352 | # CONFIG_MTD is not set | ||
353 | |||
354 | # | ||
355 | # Parallel port support | ||
356 | # | ||
357 | # CONFIG_PARPORT is not set | ||
358 | |||
359 | # | ||
360 | # Plug and Play support | ||
361 | # | ||
362 | |||
363 | # | ||
364 | # Block devices | ||
365 | # | ||
366 | # CONFIG_BLK_CPQ_DA is not set | ||
367 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
368 | # CONFIG_BLK_DEV_DAC960 is not set | ||
369 | # CONFIG_BLK_DEV_UMEM is not set | ||
370 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
371 | CONFIG_BLK_DEV_LOOP=m | ||
372 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
373 | CONFIG_BLK_DEV_NBD=m | ||
374 | # CONFIG_BLK_DEV_SX8 is not set | ||
375 | # CONFIG_BLK_DEV_UB is not set | ||
376 | CONFIG_BLK_DEV_RAM=y | ||
377 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
378 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
379 | # CONFIG_BLK_DEV_INITRD is not set | ||
380 | # CONFIG_CDROM_PKTCDVD is not set | ||
381 | # CONFIG_ATA_OVER_ETH is not set | ||
382 | |||
383 | # | ||
384 | # ATA/ATAPI/MFM/RLL support | ||
385 | # | ||
386 | CONFIG_IDE=y | ||
387 | CONFIG_BLK_DEV_IDE=y | ||
388 | |||
389 | # | ||
390 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
391 | # | ||
392 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
393 | CONFIG_BLK_DEV_IDEDISK=y | ||
394 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
395 | # CONFIG_BLK_DEV_IDECD is not set | ||
396 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
397 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
398 | # CONFIG_BLK_DEV_IDESCSI is not set | ||
399 | # CONFIG_IDE_TASK_IOCTL is not set | ||
400 | |||
401 | # | ||
402 | # IDE chipset support/bugfixes | ||
403 | # | ||
404 | CONFIG_IDE_GENERIC=y | ||
405 | CONFIG_BLK_DEV_IDEPCI=y | ||
406 | # CONFIG_IDEPCI_SHARE_IRQ is not set | ||
407 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
408 | # CONFIG_BLK_DEV_GENERIC is not set | ||
409 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
410 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
411 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
412 | # CONFIG_IDEDMA_PCI_AUTO is not set | ||
413 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
414 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
415 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
416 | # CONFIG_BLK_DEV_CMD64X is not set | ||
417 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
418 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
419 | # CONFIG_BLK_DEV_CS5520 is not set | ||
420 | # CONFIG_BLK_DEV_CS5530 is not set | ||
421 | # CONFIG_BLK_DEV_HPT34X is not set | ||
422 | # CONFIG_BLK_DEV_HPT366 is not set | ||
423 | # CONFIG_BLK_DEV_SC1200 is not set | ||
424 | # CONFIG_BLK_DEV_PIIX is not set | ||
425 | # CONFIG_BLK_DEV_IT821X is not set | ||
426 | # CONFIG_BLK_DEV_NS87415 is not set | ||
427 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
428 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
429 | # CONFIG_BLK_DEV_SVWKS is not set | ||
430 | CONFIG_BLK_DEV_SIIMAGE=y | ||
431 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
432 | # CONFIG_BLK_DEV_TRM290 is not set | ||
433 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
434 | # CONFIG_IDE_ARM is not set | ||
435 | CONFIG_BLK_DEV_IDEDMA=y | ||
436 | # CONFIG_IDEDMA_IVB is not set | ||
437 | # CONFIG_IDEDMA_AUTO is not set | ||
438 | # CONFIG_BLK_DEV_HD is not set | ||
439 | |||
440 | # | ||
441 | # SCSI device support | ||
442 | # | ||
443 | # CONFIG_RAID_ATTRS is not set | ||
444 | CONFIG_SCSI=y | ||
445 | CONFIG_SCSI_PROC_FS=y | ||
446 | |||
447 | # | ||
448 | # SCSI support type (disk, tape, CD-ROM) | ||
449 | # | ||
450 | CONFIG_BLK_DEV_SD=y | ||
451 | # CONFIG_CHR_DEV_ST is not set | ||
452 | # CONFIG_CHR_DEV_OSST is not set | ||
453 | # CONFIG_BLK_DEV_SR is not set | ||
454 | # CONFIG_CHR_DEV_SG is not set | ||
455 | # CONFIG_CHR_DEV_SCH is not set | ||
456 | |||
457 | # | ||
458 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
459 | # | ||
460 | # CONFIG_SCSI_MULTI_LUN is not set | ||
461 | # CONFIG_SCSI_CONSTANTS is not set | ||
462 | # CONFIG_SCSI_LOGGING is not set | ||
463 | |||
464 | # | ||
465 | # SCSI Transport Attributes | ||
466 | # | ||
467 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
468 | # CONFIG_SCSI_FC_ATTRS is not set | ||
469 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
470 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
471 | |||
472 | # | ||
473 | # SCSI low-level drivers | ||
474 | # | ||
475 | # CONFIG_ISCSI_TCP is not set | ||
476 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
477 | # CONFIG_SCSI_3W_9XXX is not set | ||
478 | # CONFIG_SCSI_ACARD is not set | ||
479 | # CONFIG_SCSI_AACRAID is not set | ||
480 | # CONFIG_SCSI_AIC7XXX is not set | ||
481 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
482 | # CONFIG_SCSI_AIC79XX is not set | ||
483 | # CONFIG_SCSI_DPT_I2O is not set | ||
484 | # CONFIG_MEGARAID_NEWGEN is not set | ||
485 | # CONFIG_MEGARAID_LEGACY is not set | ||
486 | # CONFIG_MEGARAID_SAS is not set | ||
487 | # CONFIG_SCSI_SATA is not set | ||
488 | # CONFIG_SCSI_DMX3191D is not set | ||
489 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
490 | # CONFIG_SCSI_IPS is not set | ||
491 | # CONFIG_SCSI_INITIO is not set | ||
492 | # CONFIG_SCSI_INIA100 is not set | ||
493 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
494 | # CONFIG_SCSI_IPR is not set | ||
495 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
496 | # CONFIG_SCSI_QLA_FC is not set | ||
497 | # CONFIG_SCSI_LPFC is not set | ||
498 | # CONFIG_SCSI_DC395x is not set | ||
499 | # CONFIG_SCSI_DC390T is not set | ||
500 | # CONFIG_SCSI_NSP32 is not set | ||
501 | # CONFIG_SCSI_DEBUG is not set | ||
502 | |||
503 | # | ||
504 | # Multi-device support (RAID and LVM) | ||
505 | # | ||
506 | # CONFIG_MD is not set | ||
507 | |||
508 | # | ||
509 | # Fusion MPT device support | ||
510 | # | ||
511 | # CONFIG_FUSION is not set | ||
512 | # CONFIG_FUSION_SPI is not set | ||
513 | # CONFIG_FUSION_FC is not set | ||
514 | # CONFIG_FUSION_SAS is not set | ||
515 | |||
516 | # | ||
517 | # IEEE 1394 (FireWire) support | ||
518 | # | ||
519 | CONFIG_IEEE1394=m | ||
520 | |||
521 | # | ||
522 | # Subsystem Options | ||
523 | # | ||
524 | # CONFIG_IEEE1394_VERBOSEDEBUG is not set | ||
525 | # CONFIG_IEEE1394_OUI_DB is not set | ||
526 | CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y | ||
527 | CONFIG_IEEE1394_CONFIG_ROM_IP1394=y | ||
528 | # CONFIG_IEEE1394_EXPORT_FULL_API is not set | ||
529 | |||
530 | # | ||
531 | # Device Drivers | ||
532 | # | ||
533 | |||
534 | # | ||
535 | # Texas Instruments PCILynx requires I2C | ||
536 | # | ||
537 | CONFIG_IEEE1394_OHCI1394=m | ||
538 | |||
539 | # | ||
540 | # Protocol Drivers | ||
541 | # | ||
542 | CONFIG_IEEE1394_VIDEO1394=m | ||
543 | CONFIG_IEEE1394_SBP2=m | ||
544 | # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set | ||
545 | CONFIG_IEEE1394_ETH1394=m | ||
546 | CONFIG_IEEE1394_DV1394=m | ||
547 | CONFIG_IEEE1394_RAWIO=m | ||
548 | |||
549 | # | ||
550 | # I2O device support | ||
551 | # | ||
552 | # CONFIG_I2O is not set | ||
553 | |||
554 | # | ||
555 | # Network device support | ||
556 | # | ||
557 | CONFIG_NETDEVICES=y | ||
558 | CONFIG_DUMMY=m | ||
559 | # CONFIG_BONDING is not set | ||
560 | # CONFIG_EQUALIZER is not set | ||
561 | # CONFIG_TUN is not set | ||
562 | |||
563 | # | ||
564 | # ARCnet devices | ||
565 | # | ||
566 | # CONFIG_ARCNET is not set | ||
567 | |||
568 | # | ||
569 | # PHY device support | ||
570 | # | ||
571 | # CONFIG_PHYLIB is not set | ||
572 | |||
573 | # | ||
574 | # Ethernet (10 or 100Mbit) | ||
575 | # | ||
576 | CONFIG_NET_ETHERNET=y | ||
577 | CONFIG_MII=y | ||
578 | # CONFIG_HAPPYMEAL is not set | ||
579 | # CONFIG_SUNGEM is not set | ||
580 | # CONFIG_CASSINI is not set | ||
581 | # CONFIG_NET_VENDOR_3COM is not set | ||
582 | # CONFIG_DM9000 is not set | ||
583 | |||
584 | # | ||
585 | # Tulip family network device support | ||
586 | # | ||
587 | # CONFIG_NET_TULIP is not set | ||
588 | # CONFIG_HP100 is not set | ||
589 | # CONFIG_NET_PCI is not set | ||
590 | |||
591 | # | ||
592 | # Ethernet (1000 Mbit) | ||
593 | # | ||
594 | # CONFIG_ACENIC is not set | ||
595 | # CONFIG_DL2K is not set | ||
596 | # CONFIG_E1000 is not set | ||
597 | # CONFIG_NS83820 is not set | ||
598 | # CONFIG_HAMACHI is not set | ||
599 | # CONFIG_YELLOWFIN is not set | ||
600 | CONFIG_R8169=y | ||
601 | # CONFIG_R8169_NAPI is not set | ||
602 | # CONFIG_SIS190 is not set | ||
603 | # CONFIG_SKGE is not set | ||
604 | # CONFIG_SKY2 is not set | ||
605 | # CONFIG_SK98LIN is not set | ||
606 | # CONFIG_TIGON3 is not set | ||
607 | # CONFIG_BNX2 is not set | ||
608 | |||
609 | # | ||
610 | # Ethernet (10000 Mbit) | ||
611 | # | ||
612 | # CONFIG_CHELSIO_T1 is not set | ||
613 | # CONFIG_IXGB is not set | ||
614 | # CONFIG_S2IO is not set | ||
615 | |||
616 | # | ||
617 | # Token Ring devices | ||
618 | # | ||
619 | # CONFIG_TR is not set | ||
620 | |||
621 | # | ||
622 | # Wireless LAN (non-hamradio) | ||
623 | # | ||
624 | # CONFIG_NET_RADIO is not set | ||
625 | |||
626 | # | ||
627 | # Wan interfaces | ||
628 | # | ||
629 | # CONFIG_WAN is not set | ||
630 | # CONFIG_FDDI is not set | ||
631 | # CONFIG_HIPPI is not set | ||
632 | # CONFIG_PPP is not set | ||
633 | # CONFIG_SLIP is not set | ||
634 | # CONFIG_NET_FC is not set | ||
635 | # CONFIG_SHAPER is not set | ||
636 | # CONFIG_NETCONSOLE is not set | ||
637 | # CONFIG_NETPOLL is not set | ||
638 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
639 | |||
640 | # | ||
641 | # ISDN subsystem | ||
642 | # | ||
643 | # CONFIG_ISDN is not set | ||
644 | |||
645 | # | ||
646 | # Telephony Support | ||
647 | # | ||
648 | # CONFIG_PHONE is not set | ||
649 | |||
650 | # | ||
651 | # Input device support | ||
652 | # | ||
653 | CONFIG_INPUT=y | ||
654 | |||
655 | # | ||
656 | # Userland interfaces | ||
657 | # | ||
658 | # CONFIG_INPUT_MOUSEDEV is not set | ||
659 | # CONFIG_INPUT_JOYDEV is not set | ||
660 | # CONFIG_INPUT_TSDEV is not set | ||
661 | # CONFIG_INPUT_EVDEV is not set | ||
662 | # CONFIG_INPUT_EVBUG is not set | ||
663 | |||
664 | # | ||
665 | # Input Device Drivers | ||
666 | # | ||
667 | # CONFIG_INPUT_KEYBOARD is not set | ||
668 | # CONFIG_INPUT_MOUSE is not set | ||
669 | # CONFIG_INPUT_JOYSTICK is not set | ||
670 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
671 | # CONFIG_INPUT_MISC is not set | ||
672 | |||
673 | # | ||
674 | # Hardware I/O ports | ||
675 | # | ||
676 | # CONFIG_SERIO is not set | ||
677 | # CONFIG_GAMEPORT is not set | ||
678 | |||
679 | # | ||
680 | # Character devices | ||
681 | # | ||
682 | CONFIG_VT=y | ||
683 | CONFIG_VT_CONSOLE=y | ||
684 | CONFIG_HW_CONSOLE=y | ||
685 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
686 | |||
687 | # | ||
688 | # Serial drivers | ||
689 | # | ||
690 | # CONFIG_SERIAL_8250 is not set | ||
691 | |||
692 | # | ||
693 | # Non-8250 serial port support | ||
694 | # | ||
695 | CONFIG_SERIAL_CORE=y | ||
696 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
697 | CONFIG_SERIAL_VR41XX=y | ||
698 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
699 | # CONFIG_SERIAL_JSM is not set | ||
700 | CONFIG_UNIX98_PTYS=y | ||
701 | CONFIG_LEGACY_PTYS=y | ||
702 | CONFIG_LEGACY_PTY_COUNT=256 | ||
703 | |||
704 | # | ||
705 | # IPMI | ||
706 | # | ||
707 | # CONFIG_IPMI_HANDLER is not set | ||
708 | |||
709 | # | ||
710 | # Watchdog Cards | ||
711 | # | ||
712 | # CONFIG_WATCHDOG is not set | ||
713 | # CONFIG_RTC is not set | ||
714 | # CONFIG_GEN_RTC is not set | ||
715 | # CONFIG_DTLK is not set | ||
716 | # CONFIG_R3964 is not set | ||
717 | # CONFIG_APPLICOM is not set | ||
718 | # CONFIG_TANBAC_TB0219 is not set | ||
719 | |||
720 | # | ||
721 | # Ftape, the floppy tape device driver | ||
722 | # | ||
723 | # CONFIG_DRM is not set | ||
724 | CONFIG_GPIO_VR41XX=y | ||
725 | # CONFIG_RAW_DRIVER is not set | ||
726 | |||
727 | # | ||
728 | # TPM devices | ||
729 | # | ||
730 | # CONFIG_TCG_TPM is not set | ||
731 | # CONFIG_TELCLOCK is not set | ||
732 | |||
733 | # | ||
734 | # I2C support | ||
735 | # | ||
736 | # CONFIG_I2C is not set | ||
737 | |||
738 | # | ||
739 | # SPI support | ||
740 | # | ||
741 | # CONFIG_SPI is not set | ||
742 | # CONFIG_SPI_MASTER is not set | ||
743 | |||
744 | # | ||
745 | # Dallas's 1-wire bus | ||
746 | # | ||
747 | # CONFIG_W1 is not set | ||
748 | |||
749 | # | ||
750 | # Hardware Monitoring support | ||
751 | # | ||
752 | # CONFIG_HWMON is not set | ||
753 | # CONFIG_HWMON_VID is not set | ||
754 | |||
755 | # | ||
756 | # Misc devices | ||
757 | # | ||
758 | |||
759 | # | ||
760 | # Multimedia devices | ||
761 | # | ||
762 | # CONFIG_VIDEO_DEV is not set | ||
763 | |||
764 | # | ||
765 | # Digital Video Broadcasting Devices | ||
766 | # | ||
767 | # CONFIG_DVB is not set | ||
768 | # CONFIG_USB_DABUSB is not set | ||
769 | |||
770 | # | ||
771 | # Graphics support | ||
772 | # | ||
773 | CONFIG_FB=y | ||
774 | CONFIG_FB_CFB_FILLRECT=y | ||
775 | CONFIG_FB_CFB_COPYAREA=y | ||
776 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
777 | # CONFIG_FB_MACMODES is not set | ||
778 | CONFIG_FB_FIRMWARE_EDID=y | ||
779 | # CONFIG_FB_MODE_HELPERS is not set | ||
780 | # CONFIG_FB_TILEBLITTING is not set | ||
781 | # CONFIG_FB_CIRRUS is not set | ||
782 | # CONFIG_FB_PM2 is not set | ||
783 | # CONFIG_FB_CYBER2000 is not set | ||
784 | # CONFIG_FB_ASILIANT is not set | ||
785 | # CONFIG_FB_IMSTT is not set | ||
786 | # CONFIG_FB_S1D13XXX is not set | ||
787 | # CONFIG_FB_NVIDIA is not set | ||
788 | # CONFIG_FB_RIVA is not set | ||
789 | # CONFIG_FB_MATROX is not set | ||
790 | # CONFIG_FB_RADEON is not set | ||
791 | # CONFIG_FB_ATY128 is not set | ||
792 | # CONFIG_FB_ATY is not set | ||
793 | # CONFIG_FB_SAVAGE is not set | ||
794 | # CONFIG_FB_SIS is not set | ||
795 | # CONFIG_FB_NEOMAGIC is not set | ||
796 | # CONFIG_FB_KYRO is not set | ||
797 | # CONFIG_FB_3DFX is not set | ||
798 | # CONFIG_FB_VOODOO1 is not set | ||
799 | CONFIG_FB_SMIVGX=y | ||
800 | # CONFIG_FB_TRIDENT is not set | ||
801 | # CONFIG_FB_VIRTUAL is not set | ||
802 | |||
803 | # | ||
804 | # Console display driver support | ||
805 | # | ||
806 | # CONFIG_VGA_CONSOLE is not set | ||
807 | CONFIG_DUMMY_CONSOLE=y | ||
808 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | ||
809 | |||
810 | # | ||
811 | # Logo configuration | ||
812 | # | ||
813 | # CONFIG_LOGO is not set | ||
814 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
815 | |||
816 | # | ||
817 | # Sound | ||
818 | # | ||
819 | # CONFIG_SOUND is not set | ||
820 | |||
821 | # | ||
822 | # USB support | ||
823 | # | ||
824 | CONFIG_USB_ARCH_HAS_HCD=y | ||
825 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
826 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
827 | CONFIG_USB=m | ||
828 | # CONFIG_USB_DEBUG is not set | ||
829 | |||
830 | # | ||
831 | # Miscellaneous USB options | ||
832 | # | ||
833 | # CONFIG_USB_DEVICEFS is not set | ||
834 | # CONFIG_USB_BANDWIDTH is not set | ||
835 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
836 | # CONFIG_USB_OTG is not set | ||
837 | |||
838 | # | ||
839 | # USB Host Controller Drivers | ||
840 | # | ||
841 | CONFIG_USB_EHCI_HCD=m | ||
842 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | ||
843 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | ||
844 | # CONFIG_USB_ISP116X_HCD is not set | ||
845 | CONFIG_USB_OHCI_HCD=m | ||
846 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
847 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
848 | # CONFIG_USB_UHCI_HCD is not set | ||
849 | # CONFIG_USB_SL811_HCD is not set | ||
850 | |||
851 | # | ||
852 | # USB Device Class drivers | ||
853 | # | ||
854 | # CONFIG_USB_ACM is not set | ||
855 | # CONFIG_USB_PRINTER is not set | ||
856 | |||
857 | # | ||
858 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
859 | # | ||
860 | |||
861 | # | ||
862 | # may also be needed; see USB_STORAGE Help for more information | ||
863 | # | ||
864 | CONFIG_USB_STORAGE=m | ||
865 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
866 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
867 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
868 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
869 | # CONFIG_USB_STORAGE_DPCM is not set | ||
870 | # CONFIG_USB_STORAGE_USBAT is not set | ||
871 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
872 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
873 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
874 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
875 | # CONFIG_USB_LIBUSUAL is not set | ||
876 | |||
877 | # | ||
878 | # USB Input Devices | ||
879 | # | ||
880 | CONFIG_USB_HID=m | ||
881 | CONFIG_USB_HIDINPUT=y | ||
882 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
883 | # CONFIG_HID_FF is not set | ||
884 | # CONFIG_USB_HIDDEV is not set | ||
885 | |||
886 | # | ||
887 | # USB HID Boot Protocol drivers | ||
888 | # | ||
889 | # CONFIG_USB_KBD is not set | ||
890 | # CONFIG_USB_MOUSE is not set | ||
891 | # CONFIG_USB_AIPTEK is not set | ||
892 | # CONFIG_USB_WACOM is not set | ||
893 | # CONFIG_USB_ACECAD is not set | ||
894 | # CONFIG_USB_KBTAB is not set | ||
895 | # CONFIG_USB_POWERMATE is not set | ||
896 | # CONFIG_USB_TOUCHSCREEN is not set | ||
897 | # CONFIG_USB_YEALINK is not set | ||
898 | # CONFIG_USB_XPAD is not set | ||
899 | # CONFIG_USB_ATI_REMOTE is not set | ||
900 | # CONFIG_USB_ATI_REMOTE2 is not set | ||
901 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
902 | # CONFIG_USB_APPLETOUCH is not set | ||
903 | |||
904 | # | ||
905 | # USB Imaging devices | ||
906 | # | ||
907 | # CONFIG_USB_MDC800 is not set | ||
908 | # CONFIG_USB_MICROTEK is not set | ||
909 | |||
910 | # | ||
911 | # USB Network Adapters | ||
912 | # | ||
913 | # CONFIG_USB_CATC is not set | ||
914 | # CONFIG_USB_KAWETH is not set | ||
915 | # CONFIG_USB_PEGASUS is not set | ||
916 | # CONFIG_USB_RTL8150 is not set | ||
917 | # CONFIG_USB_USBNET is not set | ||
918 | CONFIG_USB_MON=y | ||
919 | |||
920 | # | ||
921 | # USB port drivers | ||
922 | # | ||
923 | |||
924 | # | ||
925 | # USB Serial Converter support | ||
926 | # | ||
927 | # CONFIG_USB_SERIAL is not set | ||
928 | |||
929 | # | ||
930 | # USB Miscellaneous drivers | ||
931 | # | ||
932 | # CONFIG_USB_EMI62 is not set | ||
933 | # CONFIG_USB_EMI26 is not set | ||
934 | # CONFIG_USB_AUERSWALD is not set | ||
935 | # CONFIG_USB_RIO500 is not set | ||
936 | # CONFIG_USB_LEGOTOWER is not set | ||
937 | # CONFIG_USB_LCD is not set | ||
938 | # CONFIG_USB_LED is not set | ||
939 | # CONFIG_USB_CYTHERM is not set | ||
940 | # CONFIG_USB_PHIDGETKIT is not set | ||
941 | # CONFIG_USB_PHIDGETSERVO is not set | ||
942 | # CONFIG_USB_IDMOUSE is not set | ||
943 | # CONFIG_USB_SISUSBVGA is not set | ||
944 | # CONFIG_USB_LD is not set | ||
945 | |||
946 | # | ||
947 | # USB DSL modem support | ||
948 | # | ||
949 | |||
950 | # | ||
951 | # USB Gadget Support | ||
952 | # | ||
953 | # CONFIG_USB_GADGET is not set | ||
954 | |||
955 | # | ||
956 | # MMC/SD Card support | ||
957 | # | ||
958 | # CONFIG_MMC is not set | ||
959 | |||
960 | # | ||
961 | # LED devices | ||
962 | # | ||
963 | # CONFIG_NEW_LEDS is not set | ||
964 | |||
965 | # | ||
966 | # LED drivers | ||
967 | # | ||
968 | |||
969 | # | ||
970 | # LED Triggers | ||
971 | # | ||
972 | |||
973 | # | ||
974 | # InfiniBand support | ||
975 | # | ||
976 | # CONFIG_INFINIBAND is not set | ||
977 | |||
978 | # | ||
979 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
980 | # | ||
981 | |||
982 | # | ||
983 | # Real Time Clock | ||
984 | # | ||
985 | # CONFIG_RTC_CLASS is not set | ||
986 | |||
987 | # | ||
988 | # File systems | ||
989 | # | ||
990 | CONFIG_EXT2_FS=y | ||
991 | # CONFIG_EXT2_FS_XATTR is not set | ||
992 | # CONFIG_EXT2_FS_XIP is not set | ||
993 | CONFIG_EXT3_FS=y | ||
994 | CONFIG_EXT3_FS_XATTR=y | ||
995 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
996 | # CONFIG_EXT3_FS_SECURITY is not set | ||
997 | CONFIG_JBD=y | ||
998 | # CONFIG_JBD_DEBUG is not set | ||
999 | CONFIG_FS_MBCACHE=y | ||
1000 | # CONFIG_REISERFS_FS is not set | ||
1001 | # CONFIG_JFS_FS is not set | ||
1002 | # CONFIG_FS_POSIX_ACL is not set | ||
1003 | CONFIG_XFS_FS=y | ||
1004 | CONFIG_XFS_QUOTA=y | ||
1005 | # CONFIG_XFS_SECURITY is not set | ||
1006 | CONFIG_XFS_POSIX_ACL=y | ||
1007 | # CONFIG_XFS_RT is not set | ||
1008 | # CONFIG_OCFS2_FS is not set | ||
1009 | # CONFIG_MINIX_FS is not set | ||
1010 | CONFIG_ROMFS_FS=m | ||
1011 | CONFIG_INOTIFY=y | ||
1012 | # CONFIG_QUOTA is not set | ||
1013 | CONFIG_QUOTACTL=y | ||
1014 | # CONFIG_DNOTIFY is not set | ||
1015 | # CONFIG_AUTOFS_FS is not set | ||
1016 | CONFIG_AUTOFS4_FS=y | ||
1017 | # CONFIG_FUSE_FS is not set | ||
1018 | |||
1019 | # | ||
1020 | # CD-ROM/DVD Filesystems | ||
1021 | # | ||
1022 | # CONFIG_ISO9660_FS is not set | ||
1023 | # CONFIG_UDF_FS is not set | ||
1024 | |||
1025 | # | ||
1026 | # DOS/FAT/NT Filesystems | ||
1027 | # | ||
1028 | # CONFIG_MSDOS_FS is not set | ||
1029 | # CONFIG_VFAT_FS is not set | ||
1030 | # CONFIG_NTFS_FS is not set | ||
1031 | |||
1032 | # | ||
1033 | # Pseudo filesystems | ||
1034 | # | ||
1035 | CONFIG_PROC_FS=y | ||
1036 | CONFIG_PROC_KCORE=y | ||
1037 | CONFIG_SYSFS=y | ||
1038 | CONFIG_TMPFS=y | ||
1039 | # CONFIG_HUGETLB_PAGE is not set | ||
1040 | CONFIG_RAMFS=y | ||
1041 | # CONFIG_CONFIGFS_FS is not set | ||
1042 | |||
1043 | # | ||
1044 | # Miscellaneous filesystems | ||
1045 | # | ||
1046 | # CONFIG_ADFS_FS is not set | ||
1047 | # CONFIG_AFFS_FS is not set | ||
1048 | # CONFIG_HFS_FS is not set | ||
1049 | # CONFIG_HFSPLUS_FS is not set | ||
1050 | # CONFIG_BEFS_FS is not set | ||
1051 | # CONFIG_BFS_FS is not set | ||
1052 | # CONFIG_EFS_FS is not set | ||
1053 | CONFIG_CRAMFS=m | ||
1054 | # CONFIG_VXFS_FS is not set | ||
1055 | # CONFIG_HPFS_FS is not set | ||
1056 | # CONFIG_QNX4FS_FS is not set | ||
1057 | # CONFIG_SYSV_FS is not set | ||
1058 | # CONFIG_UFS_FS is not set | ||
1059 | |||
1060 | # | ||
1061 | # Network File Systems | ||
1062 | # | ||
1063 | CONFIG_NFS_FS=y | ||
1064 | CONFIG_NFS_V3=y | ||
1065 | # CONFIG_NFS_V3_ACL is not set | ||
1066 | # CONFIG_NFS_V4 is not set | ||
1067 | # CONFIG_NFS_DIRECTIO is not set | ||
1068 | # CONFIG_NFSD is not set | ||
1069 | CONFIG_ROOT_NFS=y | ||
1070 | CONFIG_LOCKD=y | ||
1071 | CONFIG_LOCKD_V4=y | ||
1072 | CONFIG_NFS_COMMON=y | ||
1073 | CONFIG_SUNRPC=y | ||
1074 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1075 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1076 | # CONFIG_SMB_FS is not set | ||
1077 | # CONFIG_CIFS is not set | ||
1078 | # CONFIG_NCP_FS is not set | ||
1079 | # CONFIG_CODA_FS is not set | ||
1080 | # CONFIG_AFS_FS is not set | ||
1081 | # CONFIG_9P_FS is not set | ||
1082 | |||
1083 | # | ||
1084 | # Partition Types | ||
1085 | # | ||
1086 | # CONFIG_PARTITION_ADVANCED is not set | ||
1087 | CONFIG_MSDOS_PARTITION=y | ||
1088 | |||
1089 | # | ||
1090 | # Native Language Support | ||
1091 | # | ||
1092 | # CONFIG_NLS is not set | ||
1093 | |||
1094 | # | ||
1095 | # Profiling support | ||
1096 | # | ||
1097 | # CONFIG_PROFILING is not set | ||
1098 | |||
1099 | # | ||
1100 | # Kernel hacking | ||
1101 | # | ||
1102 | # CONFIG_PRINTK_TIME is not set | ||
1103 | # CONFIG_MAGIC_SYSRQ is not set | ||
1104 | # CONFIG_DEBUG_KERNEL is not set | ||
1105 | CONFIG_LOG_BUF_SHIFT=14 | ||
1106 | # CONFIG_DEBUG_FS is not set | ||
1107 | CONFIG_CROSSCOMPILE=y | ||
1108 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | ||
1109 | |||
1110 | # | ||
1111 | # Security options | ||
1112 | # | ||
1113 | # CONFIG_KEYS is not set | ||
1114 | # CONFIG_SECURITY is not set | ||
1115 | |||
1116 | # | ||
1117 | # Cryptographic options | ||
1118 | # | ||
1119 | # CONFIG_CRYPTO is not set | ||
1120 | |||
1121 | # | ||
1122 | # Hardware crypto devices | ||
1123 | # | ||
1124 | |||
1125 | # | ||
1126 | # Library routines | ||
1127 | # | ||
1128 | # CONFIG_CRC_CCITT is not set | ||
1129 | # CONFIG_CRC16 is not set | ||
1130 | CONFIG_CRC32=y | ||
1131 | # CONFIG_LIBCRC32C is not set | ||
1132 | CONFIG_ZLIB_INFLATE=m | ||
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig index 7132e296d40a..ac7765eb8da7 100644 --- a/arch/mips/configs/workpad_defconfig +++ b/arch/mips/configs/workpad_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:36 2006 | 4 | # Tue Apr 25 00:09:33 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -70,6 +70,8 @@ CONFIG_IBM_WORKPAD=y | |||
70 | # CONFIG_VICTOR_MPC30X is not set | 70 | # CONFIG_VICTOR_MPC30X is not set |
71 | # CONFIG_ZAO_CAPCELLA is not set | 71 | # CONFIG_ZAO_CAPCELLA is not set |
72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
74 | CONFIG_GENERIC_HWEIGHT=y | ||
73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
74 | CONFIG_DMA_NONCOHERENT=y | 76 | CONFIG_DMA_NONCOHERENT=y |
75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -88,7 +90,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
88 | # CONFIG_CPU_MIPS64_R2 is not set | 90 | # CONFIG_CPU_MIPS64_R2 is not set |
89 | # CONFIG_CPU_R3000 is not set | 91 | # CONFIG_CPU_R3000 is not set |
90 | # CONFIG_CPU_TX39XX is not set | 92 | # CONFIG_CPU_TX39XX is not set |
91 | # CONFIG_CPU_VR41XX is not set | 93 | CONFIG_CPU_VR41XX=y |
92 | # CONFIG_CPU_R4300 is not set | 94 | # CONFIG_CPU_R4300 is not set |
93 | # CONFIG_CPU_R4X00 is not set | 95 | # CONFIG_CPU_R4X00 is not set |
94 | # CONFIG_CPU_TX49XX is not set | 96 | # CONFIG_CPU_TX49XX is not set |
@@ -101,18 +103,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
101 | # CONFIG_CPU_RM7000 is not set | 103 | # CONFIG_CPU_RM7000 is not set |
102 | # CONFIG_CPU_RM9000 is not set | 104 | # CONFIG_CPU_RM9000 is not set |
103 | # CONFIG_CPU_SB1 is not set | 105 | # CONFIG_CPU_SB1 is not set |
106 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
107 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
108 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
109 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
104 | 110 | ||
105 | # | 111 | # |
106 | # Kernel type | 112 | # Kernel type |
107 | # | 113 | # |
108 | # CONFIG_32BIT is not set | 114 | CONFIG_32BIT=y |
109 | # CONFIG_64BIT is not set | 115 | # CONFIG_64BIT is not set |
110 | CONFIG_PAGE_SIZE_4KB=y | 116 | CONFIG_PAGE_SIZE_4KB=y |
111 | # CONFIG_PAGE_SIZE_8KB is not set | 117 | # CONFIG_PAGE_SIZE_8KB is not set |
112 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | # CONFIG_MIPS_MT is not set | 120 | # CONFIG_MIPS_MT is not set |
115 | CONFIG_CPU_HAS_LLSC=y | ||
116 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
117 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
118 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -133,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
133 | # Code maturity level options | 138 | # Code maturity level options |
134 | # | 139 | # |
135 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y |
136 | CONFIG_CLEAN_COMPILE=y | ||
137 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y |
138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
139 | 143 | ||
@@ -149,6 +153,7 @@ CONFIG_SYSVIPC=y | |||
149 | CONFIG_SYSCTL=y | 153 | CONFIG_SYSCTL=y |
150 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set |
151 | # CONFIG_IKCONFIG is not set | 155 | # CONFIG_IKCONFIG is not set |
156 | # CONFIG_RELAY is not set | ||
152 | CONFIG_INITRAMFS_SOURCE="" | 157 | CONFIG_INITRAMFS_SOURCE="" |
153 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
154 | CONFIG_EMBEDDED=y | 159 | CONFIG_EMBEDDED=y |
@@ -162,10 +167,6 @@ CONFIG_BASE_FULL=y | |||
162 | CONFIG_FUTEX=y | 167 | CONFIG_FUTEX=y |
163 | CONFIG_EPOLL=y | 168 | CONFIG_EPOLL=y |
164 | CONFIG_SHMEM=y | 169 | CONFIG_SHMEM=y |
165 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
166 | CONFIG_CC_ALIGN_LABELS=0 | ||
167 | CONFIG_CC_ALIGN_LOOPS=0 | ||
168 | CONFIG_CC_ALIGN_JUMPS=0 | ||
169 | CONFIG_SLAB=y | 170 | CONFIG_SLAB=y |
170 | # CONFIG_TINY_SHMEM is not set | 171 | # CONFIG_TINY_SHMEM is not set |
171 | CONFIG_BASE_SMALL=0 | 172 | CONFIG_BASE_SMALL=0 |
@@ -177,7 +178,6 @@ CONFIG_BASE_SMALL=0 | |||
177 | CONFIG_MODULES=y | 178 | CONFIG_MODULES=y |
178 | CONFIG_MODULE_UNLOAD=y | 179 | CONFIG_MODULE_UNLOAD=y |
179 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 180 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
180 | CONFIG_OBSOLETE_MODPARM=y | ||
181 | CONFIG_MODVERSIONS=y | 181 | CONFIG_MODVERSIONS=y |
182 | CONFIG_MODULE_SRCVERSION_ALL=y | 182 | CONFIG_MODULE_SRCVERSION_ALL=y |
183 | CONFIG_KMOD=y | 183 | CONFIG_KMOD=y |
@@ -185,6 +185,9 @@ CONFIG_KMOD=y | |||
185 | # | 185 | # |
186 | # Block layer | 186 | # Block layer |
187 | # | 187 | # |
188 | # CONFIG_LBD is not set | ||
189 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
190 | # CONFIG_LSF is not set | ||
188 | 191 | ||
189 | # | 192 | # |
190 | # IO Schedulers | 193 | # IO Schedulers |
@@ -220,6 +223,7 @@ CONFIG_PCMCIA_IOCTL=y | |||
220 | # CONFIG_I82365 is not set | 223 | # CONFIG_I82365 is not set |
221 | # CONFIG_TCIC is not set | 224 | # CONFIG_TCIC is not set |
222 | CONFIG_PCMCIA_PROBE=y | 225 | CONFIG_PCMCIA_PROBE=y |
226 | CONFIG_PCMCIA_VRC4171=y | ||
223 | 227 | ||
224 | # | 228 | # |
225 | # PCI Hotplug Support | 229 | # PCI Hotplug Support |
@@ -230,6 +234,7 @@ CONFIG_PCMCIA_PROBE=y | |||
230 | # | 234 | # |
231 | CONFIG_BINFMT_ELF=y | 235 | CONFIG_BINFMT_ELF=y |
232 | # CONFIG_BINFMT_MISC is not set | 236 | # CONFIG_BINFMT_MISC is not set |
237 | CONFIG_TRAD_SIGNALS=y | ||
233 | 238 | ||
234 | # | 239 | # |
235 | # Networking | 240 | # Networking |
@@ -239,6 +244,7 @@ CONFIG_NET=y | |||
239 | # | 244 | # |
240 | # Networking options | 245 | # Networking options |
241 | # | 246 | # |
247 | # CONFIG_NETDEBUG is not set | ||
242 | CONFIG_PACKET=y | 248 | CONFIG_PACKET=y |
243 | CONFIG_PACKET_MMAP=y | 249 | CONFIG_PACKET_MMAP=y |
244 | CONFIG_UNIX=y | 250 | CONFIG_UNIX=y |
@@ -258,12 +264,15 @@ CONFIG_IP_FIB_HASH=y | |||
258 | # CONFIG_INET_AH is not set | 264 | # CONFIG_INET_AH is not set |
259 | # CONFIG_INET_ESP is not set | 265 | # CONFIG_INET_ESP is not set |
260 | # CONFIG_INET_IPCOMP is not set | 266 | # CONFIG_INET_IPCOMP is not set |
261 | CONFIG_INET_TUNNEL=m | 267 | # CONFIG_INET_XFRM_TUNNEL is not set |
268 | # CONFIG_INET_TUNNEL is not set | ||
262 | CONFIG_INET_DIAG=y | 269 | CONFIG_INET_DIAG=y |
263 | CONFIG_INET_TCP_DIAG=y | 270 | CONFIG_INET_TCP_DIAG=y |
264 | # CONFIG_TCP_CONG_ADVANCED is not set | 271 | # CONFIG_TCP_CONG_ADVANCED is not set |
265 | CONFIG_TCP_CONG_BIC=y | 272 | CONFIG_TCP_CONG_BIC=y |
266 | # CONFIG_IPV6 is not set | 273 | # CONFIG_IPV6 is not set |
274 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
275 | # CONFIG_INET6_TUNNEL is not set | ||
267 | # CONFIG_NETFILTER is not set | 276 | # CONFIG_NETFILTER is not set |
268 | 277 | ||
269 | # | 278 | # |
@@ -275,6 +284,11 @@ CONFIG_TCP_CONG_BIC=y | |||
275 | # SCTP Configuration (EXPERIMENTAL) | 284 | # SCTP Configuration (EXPERIMENTAL) |
276 | # | 285 | # |
277 | # CONFIG_IP_SCTP is not set | 286 | # CONFIG_IP_SCTP is not set |
287 | |||
288 | # | ||
289 | # TIPC Configuration (EXPERIMENTAL) | ||
290 | # | ||
291 | # CONFIG_TIPC is not set | ||
278 | # CONFIG_ATM is not set | 292 | # CONFIG_ATM is not set |
279 | # CONFIG_BRIDGE is not set | 293 | # CONFIG_BRIDGE is not set |
280 | # CONFIG_VLAN_8021Q is not set | 294 | # CONFIG_VLAN_8021Q is not set |
@@ -284,11 +298,6 @@ CONFIG_TCP_CONG_BIC=y | |||
284 | # CONFIG_ATALK is not set | 298 | # CONFIG_ATALK is not set |
285 | # CONFIG_X25 is not set | 299 | # CONFIG_X25 is not set |
286 | # CONFIG_LAPB is not set | 300 | # CONFIG_LAPB is not set |
287 | |||
288 | # | ||
289 | # TIPC Configuration (EXPERIMENTAL) | ||
290 | # | ||
291 | # CONFIG_TIPC is not set | ||
292 | # CONFIG_NET_DIVERT is not set | 301 | # CONFIG_NET_DIVERT is not set |
293 | # CONFIG_ECONET is not set | 302 | # CONFIG_ECONET is not set |
294 | # CONFIG_WAN_ROUTER is not set | 303 | # CONFIG_WAN_ROUTER is not set |
@@ -305,10 +314,8 @@ CONFIG_TCP_CONG_BIC=y | |||
305 | # CONFIG_HAMRADIO is not set | 314 | # CONFIG_HAMRADIO is not set |
306 | # CONFIG_IRDA is not set | 315 | # CONFIG_IRDA is not set |
307 | # CONFIG_BT is not set | 316 | # CONFIG_BT is not set |
308 | CONFIG_IEEE80211=m | 317 | # CONFIG_IEEE80211 is not set |
309 | # CONFIG_IEEE80211_DEBUG is not set | 318 | CONFIG_WIRELESS_EXT=y |
310 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
311 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
312 | 319 | ||
313 | # | 320 | # |
314 | # Device Drivers | 321 | # Device Drivers |
@@ -347,10 +354,12 @@ CONFIG_CONNECTOR=m | |||
347 | # CONFIG_BLK_DEV_COW_COMMON is not set | 354 | # CONFIG_BLK_DEV_COW_COMMON is not set |
348 | # CONFIG_BLK_DEV_LOOP is not set | 355 | # CONFIG_BLK_DEV_LOOP is not set |
349 | # CONFIG_BLK_DEV_NBD is not set | 356 | # CONFIG_BLK_DEV_NBD is not set |
350 | # CONFIG_BLK_DEV_RAM is not set | 357 | CONFIG_BLK_DEV_RAM=m |
351 | CONFIG_BLK_DEV_RAM_COUNT=16 | 358 | CONFIG_BLK_DEV_RAM_COUNT=16 |
359 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
360 | # CONFIG_BLK_DEV_INITRD is not set | ||
352 | # CONFIG_CDROM_PKTCDVD is not set | 361 | # CONFIG_CDROM_PKTCDVD is not set |
353 | CONFIG_ATA_OVER_ETH=m | 362 | # CONFIG_ATA_OVER_ETH is not set |
354 | 363 | ||
355 | # | 364 | # |
356 | # ATA/ATAPI/MFM/RLL support | 365 | # ATA/ATAPI/MFM/RLL support |
@@ -468,7 +477,38 @@ CONFIG_MII=m | |||
468 | # | 477 | # |
469 | # Wireless LAN (non-hamradio) | 478 | # Wireless LAN (non-hamradio) |
470 | # | 479 | # |
471 | # CONFIG_NET_RADIO is not set | 480 | CONFIG_NET_RADIO=y |
481 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
482 | |||
483 | # | ||
484 | # Obsolete Wireless cards support (pre-802.11) | ||
485 | # | ||
486 | # CONFIG_STRIP is not set | ||
487 | # CONFIG_ARLAN is not set | ||
488 | # CONFIG_WAVELAN is not set | ||
489 | # CONFIG_PCMCIA_WAVELAN is not set | ||
490 | # CONFIG_PCMCIA_NETWAVE is not set | ||
491 | |||
492 | # | ||
493 | # Wireless 802.11 Frequency Hopping cards support | ||
494 | # | ||
495 | # CONFIG_PCMCIA_RAYCS is not set | ||
496 | |||
497 | # | ||
498 | # Wireless 802.11b ISA/PCI cards support | ||
499 | # | ||
500 | CONFIG_HERMES=m | ||
501 | # CONFIG_ATMEL is not set | ||
502 | |||
503 | # | ||
504 | # Wireless 802.11b Pcmcia/Cardbus cards support | ||
505 | # | ||
506 | CONFIG_PCMCIA_HERMES=m | ||
507 | # CONFIG_PCMCIA_SPECTRUM is not set | ||
508 | # CONFIG_AIRO_CS is not set | ||
509 | # CONFIG_PCMCIA_WL3501 is not set | ||
510 | # CONFIG_HOSTAP is not set | ||
511 | CONFIG_NET_WIRELESS=y | ||
472 | 512 | ||
473 | # | 513 | # |
474 | # PCMCIA network device support | 514 | # PCMCIA network device support |
@@ -512,10 +552,7 @@ CONFIG_INPUT=y | |||
512 | # | 552 | # |
513 | # Userland interfaces | 553 | # Userland interfaces |
514 | # | 554 | # |
515 | CONFIG_INPUT_MOUSEDEV=y | 555 | # CONFIG_INPUT_MOUSEDEV is not set |
516 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
517 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
518 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
519 | # CONFIG_INPUT_JOYDEV is not set | 556 | # CONFIG_INPUT_JOYDEV is not set |
520 | # CONFIG_INPUT_TSDEV is not set | 557 | # CONFIG_INPUT_TSDEV is not set |
521 | # CONFIG_INPUT_EVDEV is not set | 558 | # CONFIG_INPUT_EVDEV is not set |
@@ -533,11 +570,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
533 | # | 570 | # |
534 | # Hardware I/O ports | 571 | # Hardware I/O ports |
535 | # | 572 | # |
536 | CONFIG_SERIO=y | 573 | # CONFIG_SERIO is not set |
537 | # CONFIG_SERIO_I8042 is not set | ||
538 | CONFIG_SERIO_SERPORT=y | ||
539 | # CONFIG_SERIO_LIBPS2 is not set | ||
540 | CONFIG_SERIO_RAW=m | ||
541 | # CONFIG_GAMEPORT is not set | 574 | # CONFIG_GAMEPORT is not set |
542 | 575 | ||
543 | # | 576 | # |
@@ -556,6 +589,10 @@ CONFIG_HW_CONSOLE=y | |||
556 | # | 589 | # |
557 | # Non-8250 serial port support | 590 | # Non-8250 serial port support |
558 | # | 591 | # |
592 | CONFIG_SERIAL_CORE=y | ||
593 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
594 | CONFIG_SERIAL_VR41XX=y | ||
595 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
559 | CONFIG_UNIX98_PTYS=y | 596 | CONFIG_UNIX98_PTYS=y |
560 | CONFIG_LEGACY_PTYS=y | 597 | CONFIG_LEGACY_PTYS=y |
561 | CONFIG_LEGACY_PTY_COUNT=256 | 598 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -568,20 +605,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
568 | # | 605 | # |
569 | # Watchdog Cards | 606 | # Watchdog Cards |
570 | # | 607 | # |
571 | CONFIG_WATCHDOG=y | 608 | # CONFIG_WATCHDOG is not set |
572 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
573 | |||
574 | # | ||
575 | # Watchdog Device Drivers | ||
576 | # | ||
577 | # CONFIG_SOFT_WATCHDOG is not set | ||
578 | |||
579 | # | ||
580 | # ISA-based Watchdog Cards | ||
581 | # | ||
582 | # CONFIG_PCWATCHDOG is not set | ||
583 | # CONFIG_MIXCOMWD is not set | ||
584 | # CONFIG_WDT is not set | ||
585 | # CONFIG_RTC is not set | 609 | # CONFIG_RTC is not set |
586 | # CONFIG_GEN_RTC is not set | 610 | # CONFIG_GEN_RTC is not set |
587 | # CONFIG_DTLK is not set | 611 | # CONFIG_DTLK is not set |
@@ -597,6 +621,7 @@ CONFIG_WATCHDOG=y | |||
597 | # CONFIG_SYNCLINK_CS is not set | 621 | # CONFIG_SYNCLINK_CS is not set |
598 | # CONFIG_CARDMAN_4000 is not set | 622 | # CONFIG_CARDMAN_4000 is not set |
599 | # CONFIG_CARDMAN_4040 is not set | 623 | # CONFIG_CARDMAN_4040 is not set |
624 | # CONFIG_GPIO_VR41XX is not set | ||
600 | # CONFIG_RAW_DRIVER is not set | 625 | # CONFIG_RAW_DRIVER is not set |
601 | 626 | ||
602 | # | 627 | # |
@@ -632,10 +657,6 @@ CONFIG_WATCHDOG=y | |||
632 | # | 657 | # |
633 | 658 | ||
634 | # | 659 | # |
635 | # Multimedia Capabilities Port drivers | ||
636 | # | ||
637 | |||
638 | # | ||
639 | # Multimedia devices | 660 | # Multimedia devices |
640 | # | 661 | # |
641 | # CONFIG_VIDEO_DEV is not set | 662 | # CONFIG_VIDEO_DEV is not set |
@@ -667,6 +688,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
667 | # | 688 | # |
668 | # CONFIG_USB_ARCH_HAS_HCD is not set | 689 | # CONFIG_USB_ARCH_HAS_HCD is not set |
669 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 690 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
691 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
670 | 692 | ||
671 | # | 693 | # |
672 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 694 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -683,12 +705,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
683 | # CONFIG_MMC is not set | 705 | # CONFIG_MMC is not set |
684 | 706 | ||
685 | # | 707 | # |
708 | # LED devices | ||
709 | # | ||
710 | # CONFIG_NEW_LEDS is not set | ||
711 | |||
712 | # | ||
713 | # LED drivers | ||
714 | # | ||
715 | |||
716 | # | ||
717 | # LED Triggers | ||
718 | # | ||
719 | |||
720 | # | ||
686 | # InfiniBand support | 721 | # InfiniBand support |
687 | # | 722 | # |
688 | 723 | ||
689 | # | 724 | # |
690 | # SN Devices | 725 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
726 | # | ||
727 | |||
728 | # | ||
729 | # Real Time Clock | ||
691 | # | 730 | # |
731 | # CONFIG_RTC_CLASS is not set | ||
692 | 732 | ||
693 | # | 733 | # |
694 | # File systems | 734 | # File systems |
@@ -710,7 +750,7 @@ CONFIG_FS_POSIX_ACL=y | |||
710 | CONFIG_INOTIFY=y | 750 | CONFIG_INOTIFY=y |
711 | # CONFIG_QUOTA is not set | 751 | # CONFIG_QUOTA is not set |
712 | CONFIG_DNOTIFY=y | 752 | CONFIG_DNOTIFY=y |
713 | CONFIG_AUTOFS_FS=y | 753 | # CONFIG_AUTOFS_FS is not set |
714 | CONFIG_AUTOFS4_FS=y | 754 | CONFIG_AUTOFS4_FS=y |
715 | CONFIG_FUSE_FS=m | 755 | CONFIG_FUSE_FS=m |
716 | 756 | ||
@@ -733,10 +773,9 @@ CONFIG_FUSE_FS=m | |||
733 | CONFIG_PROC_FS=y | 773 | CONFIG_PROC_FS=y |
734 | CONFIG_PROC_KCORE=y | 774 | CONFIG_PROC_KCORE=y |
735 | CONFIG_SYSFS=y | 775 | CONFIG_SYSFS=y |
736 | # CONFIG_TMPFS is not set | 776 | CONFIG_TMPFS=y |
737 | # CONFIG_HUGETLB_PAGE is not set | 777 | # CONFIG_HUGETLB_PAGE is not set |
738 | CONFIG_RAMFS=y | 778 | CONFIG_RAMFS=y |
739 | CONFIG_RELAYFS_FS=m | ||
740 | # CONFIG_CONFIGFS_FS is not set | 779 | # CONFIG_CONFIGFS_FS is not set |
741 | 780 | ||
742 | # | 781 | # |
@@ -802,44 +841,20 @@ CONFIG_MSDOS_PARTITION=y | |||
802 | # CONFIG_MAGIC_SYSRQ is not set | 841 | # CONFIG_MAGIC_SYSRQ is not set |
803 | # CONFIG_DEBUG_KERNEL is not set | 842 | # CONFIG_DEBUG_KERNEL is not set |
804 | CONFIG_LOG_BUF_SHIFT=14 | 843 | CONFIG_LOG_BUF_SHIFT=14 |
844 | # CONFIG_DEBUG_FS is not set | ||
805 | CONFIG_CROSSCOMPILE=y | 845 | CONFIG_CROSSCOMPILE=y |
806 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M" | 846 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M" |
807 | 847 | ||
808 | # | 848 | # |
809 | # Security options | 849 | # Security options |
810 | # | 850 | # |
811 | CONFIG_KEYS=y | 851 | # CONFIG_KEYS is not set |
812 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
813 | # CONFIG_SECURITY is not set | 852 | # CONFIG_SECURITY is not set |
814 | 853 | ||
815 | # | 854 | # |
816 | # Cryptographic options | 855 | # Cryptographic options |
817 | # | 856 | # |
818 | CONFIG_CRYPTO=y | 857 | # CONFIG_CRYPTO is not set |
819 | CONFIG_CRYPTO_HMAC=y | ||
820 | CONFIG_CRYPTO_NULL=m | ||
821 | CONFIG_CRYPTO_MD4=m | ||
822 | CONFIG_CRYPTO_MD5=m | ||
823 | CONFIG_CRYPTO_SHA1=m | ||
824 | CONFIG_CRYPTO_SHA256=m | ||
825 | CONFIG_CRYPTO_SHA512=m | ||
826 | CONFIG_CRYPTO_WP512=m | ||
827 | CONFIG_CRYPTO_TGR192=m | ||
828 | CONFIG_CRYPTO_DES=m | ||
829 | CONFIG_CRYPTO_BLOWFISH=m | ||
830 | CONFIG_CRYPTO_TWOFISH=m | ||
831 | CONFIG_CRYPTO_SERPENT=m | ||
832 | CONFIG_CRYPTO_AES=m | ||
833 | CONFIG_CRYPTO_CAST5=m | ||
834 | CONFIG_CRYPTO_CAST6=m | ||
835 | CONFIG_CRYPTO_TEA=m | ||
836 | CONFIG_CRYPTO_ARC4=m | ||
837 | CONFIG_CRYPTO_KHAZAD=m | ||
838 | CONFIG_CRYPTO_ANUBIS=m | ||
839 | CONFIG_CRYPTO_DEFLATE=m | ||
840 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
841 | CONFIG_CRYPTO_CRC32C=m | ||
842 | # CONFIG_CRYPTO_TEST is not set | ||
843 | 858 | ||
844 | # | 859 | # |
845 | # Hardware crypto devices | 860 | # Hardware crypto devices |
@@ -849,8 +864,6 @@ CONFIG_CRYPTO_CRC32C=m | |||
849 | # Library routines | 864 | # Library routines |
850 | # | 865 | # |
851 | # CONFIG_CRC_CCITT is not set | 866 | # CONFIG_CRC_CCITT is not set |
852 | CONFIG_CRC16=m | 867 | # CONFIG_CRC16 is not set |
853 | CONFIG_CRC32=y | 868 | CONFIG_CRC32=y |
854 | CONFIG_LIBCRC32C=m | 869 | # CONFIG_LIBCRC32C is not set |
855 | CONFIG_ZLIB_INFLATE=m | ||
856 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig index 67457850941d..b52d709de962 100644 --- a/arch/mips/configs/yosemite_defconfig +++ b/arch/mips/configs/yosemite_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:40:37 2006 | 4 | # Mon Apr 24 14:51:20 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -65,6 +65,8 @@ CONFIG_PMC_YOSEMITE=y | |||
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | # CONFIG_HYPERTRANSPORT is not set | 66 | # CONFIG_HYPERTRANSPORT is not set |
67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
69 | CONFIG_DMA_COHERENT=y | 71 | CONFIG_DMA_COHERENT=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 72 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -116,7 +118,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
116 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y |
117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set |
118 | # CONFIG_64BIT_PHYS_ADDR is not set | 120 | # CONFIG_64BIT_PHYS_ADDR is not set |
119 | # CONFIG_CPU_ADVANCED is not set | ||
120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y |
121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y |
@@ -140,7 +141,6 @@ CONFIG_PREEMPT_BKL=y | |||
140 | # Code maturity level options | 141 | # Code maturity level options |
141 | # | 142 | # |
142 | # CONFIG_EXPERIMENTAL is not set | 143 | # CONFIG_EXPERIMENTAL is not set |
143 | CONFIG_CLEAN_COMPILE=y | ||
144 | CONFIG_LOCK_KERNEL=y | 144 | CONFIG_LOCK_KERNEL=y |
145 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 145 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
146 | 146 | ||
@@ -157,6 +157,7 @@ CONFIG_SYSCTL=y | |||
157 | CONFIG_IKCONFIG=y | 157 | CONFIG_IKCONFIG=y |
158 | CONFIG_IKCONFIG_PROC=y | 158 | CONFIG_IKCONFIG_PROC=y |
159 | # CONFIG_CPUSETS is not set | 159 | # CONFIG_CPUSETS is not set |
160 | CONFIG_RELAY=y | ||
160 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" |
161 | CONFIG_EMBEDDED=y | 162 | CONFIG_EMBEDDED=y |
162 | CONFIG_KALLSYMS=y | 163 | CONFIG_KALLSYMS=y |
@@ -170,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
170 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y |
171 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y |
172 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y |
173 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
174 | CONFIG_CC_ALIGN_LABELS=0 | ||
175 | CONFIG_CC_ALIGN_LOOPS=0 | ||
176 | CONFIG_CC_ALIGN_JUMPS=0 | ||
177 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y |
178 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set |
179 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 |
@@ -184,7 +181,6 @@ CONFIG_BASE_SMALL=0 | |||
184 | # | 181 | # |
185 | CONFIG_MODULES=y | 182 | CONFIG_MODULES=y |
186 | CONFIG_MODULE_UNLOAD=y | 183 | CONFIG_MODULE_UNLOAD=y |
187 | CONFIG_OBSOLETE_MODPARM=y | ||
188 | # CONFIG_MODVERSIONS is not set | 184 | # CONFIG_MODVERSIONS is not set |
189 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 185 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
190 | CONFIG_KMOD=y | 186 | CONFIG_KMOD=y |
@@ -194,6 +190,8 @@ CONFIG_STOP_MACHINE=y | |||
194 | # Block layer | 190 | # Block layer |
195 | # | 191 | # |
196 | # CONFIG_LBD is not set | 192 | # CONFIG_LBD is not set |
193 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
194 | # CONFIG_LSF is not set | ||
197 | 195 | ||
198 | # | 196 | # |
199 | # IO Schedulers | 197 | # IO Schedulers |
@@ -213,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
213 | # | 211 | # |
214 | CONFIG_HW_HAS_PCI=y | 212 | CONFIG_HW_HAS_PCI=y |
215 | CONFIG_PCI=y | 213 | CONFIG_PCI=y |
216 | CONFIG_PCI_LEGACY_PROC=y | ||
217 | # CONFIG_PCI_DEBUG is not set | 214 | # CONFIG_PCI_DEBUG is not set |
218 | CONFIG_MMU=y | 215 | CONFIG_MMU=y |
219 | 216 | ||
@@ -241,6 +238,7 @@ CONFIG_NET=y | |||
241 | # | 238 | # |
242 | # Networking options | 239 | # Networking options |
243 | # | 240 | # |
241 | # CONFIG_NETDEBUG is not set | ||
244 | CONFIG_PACKET=m | 242 | CONFIG_PACKET=m |
245 | CONFIG_PACKET_MMAP=y | 243 | CONFIG_PACKET_MMAP=y |
246 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y |
@@ -261,16 +259,19 @@ CONFIG_IP_PNP_BOOTP=y | |||
261 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set |
262 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set |
263 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set |
264 | CONFIG_INET_TUNNEL=m | 262 | # CONFIG_INET_XFRM_TUNNEL is not set |
263 | # CONFIG_INET_TUNNEL is not set | ||
265 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y |
266 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y |
267 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set |
268 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y |
269 | CONFIG_IPV6=m | 268 | CONFIG_IPV6=m |
270 | CONFIG_IPV6_PRIVACY=y | 269 | CONFIG_IPV6_PRIVACY=y |
270 | CONFIG_IPV6_ROUTER_PREF=y | ||
271 | CONFIG_INET6_AH=m | 271 | CONFIG_INET6_AH=m |
272 | CONFIG_INET6_ESP=m | 272 | CONFIG_INET6_ESP=m |
273 | CONFIG_INET6_IPCOMP=m | 273 | CONFIG_INET6_IPCOMP=m |
274 | CONFIG_INET6_XFRM_TUNNEL=m | ||
274 | CONFIG_INET6_TUNNEL=m | 275 | CONFIG_INET6_TUNNEL=m |
275 | CONFIG_IPV6_TUNNEL=m | 276 | CONFIG_IPV6_TUNNEL=m |
276 | # CONFIG_NETFILTER is not set | 277 | # CONFIG_NETFILTER is not set |
@@ -340,10 +341,9 @@ CONFIG_CONNECTOR=m | |||
340 | # CONFIG_BLK_DEV_NBD is not set | 341 | # CONFIG_BLK_DEV_NBD is not set |
341 | # CONFIG_BLK_DEV_SX8 is not set | 342 | # CONFIG_BLK_DEV_SX8 is not set |
342 | # CONFIG_BLK_DEV_RAM is not set | 343 | # CONFIG_BLK_DEV_RAM is not set |
343 | CONFIG_BLK_DEV_RAM_COUNT=16 | 344 | # CONFIG_BLK_DEV_INITRD is not set |
344 | CONFIG_CDROM_PKTCDVD=m | 345 | CONFIG_CDROM_PKTCDVD=m |
345 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 346 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
346 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
347 | CONFIG_ATA_OVER_ETH=m | 347 | CONFIG_ATA_OVER_ETH=m |
348 | 348 | ||
349 | # | 349 | # |
@@ -433,6 +433,7 @@ CONFIG_MII=y | |||
433 | # CONFIG_HAMACHI is not set | 433 | # CONFIG_HAMACHI is not set |
434 | # CONFIG_R8169 is not set | 434 | # CONFIG_R8169 is not set |
435 | # CONFIG_SIS190 is not set | 435 | # CONFIG_SIS190 is not set |
436 | # CONFIG_SKGE is not set | ||
436 | # CONFIG_SK98LIN is not set | 437 | # CONFIG_SK98LIN is not set |
437 | # CONFIG_TIGON3 is not set | 438 | # CONFIG_TIGON3 is not set |
438 | # CONFIG_BNX2 is not set | 439 | # CONFIG_BNX2 is not set |
@@ -497,6 +498,7 @@ CONFIG_TITAN_GE=y | |||
497 | # | 498 | # |
498 | CONFIG_SERIAL_8250=y | 499 | CONFIG_SERIAL_8250=y |
499 | CONFIG_SERIAL_8250_CONSOLE=y | 500 | CONFIG_SERIAL_8250_CONSOLE=y |
501 | CONFIG_SERIAL_8250_PCI=y | ||
500 | CONFIG_SERIAL_8250_NR_UARTS=4 | 502 | CONFIG_SERIAL_8250_NR_UARTS=4 |
501 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 503 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
502 | # CONFIG_SERIAL_8250_EXTENDED is not set | 504 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -506,6 +508,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
506 | # | 508 | # |
507 | CONFIG_SERIAL_CORE=y | 509 | CONFIG_SERIAL_CORE=y |
508 | CONFIG_SERIAL_CORE_CONSOLE=y | 510 | CONFIG_SERIAL_CORE_CONSOLE=y |
511 | # CONFIG_SERIAL_JSM is not set | ||
509 | CONFIG_UNIX98_PTYS=y | 512 | CONFIG_UNIX98_PTYS=y |
510 | CONFIG_LEGACY_PTYS=y | 513 | CONFIG_LEGACY_PTYS=y |
511 | CONFIG_LEGACY_PTY_COUNT=256 | 514 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -563,10 +566,6 @@ CONFIG_GEN_RTC_X=y | |||
563 | # | 566 | # |
564 | 567 | ||
565 | # | 568 | # |
566 | # Multimedia Capabilities Port drivers | ||
567 | # | ||
568 | |||
569 | # | ||
570 | # Multimedia devices | 569 | # Multimedia devices |
571 | # | 570 | # |
572 | # CONFIG_VIDEO_DEV is not set | 571 | # CONFIG_VIDEO_DEV is not set |
@@ -591,6 +590,7 @@ CONFIG_GEN_RTC_X=y | |||
591 | # | 590 | # |
592 | CONFIG_USB_ARCH_HAS_HCD=y | 591 | CONFIG_USB_ARCH_HAS_HCD=y |
593 | CONFIG_USB_ARCH_HAS_OHCI=y | 592 | CONFIG_USB_ARCH_HAS_OHCI=y |
593 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
594 | # CONFIG_USB is not set | 594 | # CONFIG_USB is not set |
595 | 595 | ||
596 | # | 596 | # |
@@ -608,12 +608,29 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
608 | # CONFIG_MMC is not set | 608 | # CONFIG_MMC is not set |
609 | 609 | ||
610 | # | 610 | # |
611 | # LED devices | ||
612 | # | ||
613 | # CONFIG_NEW_LEDS is not set | ||
614 | |||
615 | # | ||
616 | # LED drivers | ||
617 | # | ||
618 | |||
619 | # | ||
620 | # LED Triggers | ||
621 | # | ||
622 | |||
623 | # | ||
611 | # InfiniBand support | 624 | # InfiniBand support |
612 | # | 625 | # |
613 | # CONFIG_INFINIBAND is not set | 626 | # CONFIG_INFINIBAND is not set |
614 | 627 | ||
615 | # | 628 | # |
616 | # SN Devices | 629 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
630 | # | ||
631 | |||
632 | # | ||
633 | # Real Time Clock | ||
617 | # | 634 | # |
618 | 635 | ||
619 | # | 636 | # |
@@ -656,7 +673,6 @@ CONFIG_SYSFS=y | |||
656 | CONFIG_TMPFS=y | 673 | CONFIG_TMPFS=y |
657 | # CONFIG_HUGETLB_PAGE is not set | 674 | # CONFIG_HUGETLB_PAGE is not set |
658 | CONFIG_RAMFS=y | 675 | CONFIG_RAMFS=y |
659 | CONFIG_RELAYFS_FS=m | ||
660 | 676 | ||
661 | # | 677 | # |
662 | # Miscellaneous filesystems | 678 | # Miscellaneous filesystems |
diff --git a/arch/mips/ddb5xxx/ddb5074/Makefile b/arch/mips/ddb5xxx/ddb5074/Makefile index 488206b8d94e..304c02107b46 100644 --- a/arch/mips/ddb5xxx/ddb5074/Makefile +++ b/arch/mips/ddb5xxx/ddb5074/Makefile | |||
@@ -3,6 +3,6 @@ | |||
3 | # under Linux. | 3 | # under Linux. |
4 | # | 4 | # |
5 | 5 | ||
6 | obj-y += setup.o irq.o int-handler.o nile4_pic.o | 6 | obj-y += setup.o irq.o nile4_pic.o |
7 | 7 | ||
8 | EXTRA_AFLAGS := $(CFLAGS) | 8 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/ddb5xxx/ddb5074/int-handler.S b/arch/mips/ddb5xxx/ddb5074/int-handler.S deleted file mode 100644 index a78644150b37..000000000000 --- a/arch/mips/ddb5xxx/ddb5074/int-handler.S +++ /dev/null | |||
@@ -1,120 +0,0 @@ | |||
1 | /* | ||
2 | * arch/mips/ddb5074/int-handler.S -- NEC DDB Vrc-5074 interrupt handler | ||
3 | * | ||
4 | * Based on arch/mips/sgi/kernel/indyIRQ.S | ||
5 | * | ||
6 | * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) | ||
7 | * | ||
8 | * Copyright (C) 2000 Geert Uytterhoeven <geert@sonycom.com> | ||
9 | * Sony Software Development Center Europe (SDCE), Brussels | ||
10 | */ | ||
11 | #include <asm/asm.h> | ||
12 | #include <asm/mipsregs.h> | ||
13 | #include <asm/regdef.h> | ||
14 | #include <asm/stackframe.h> | ||
15 | |||
16 | /* A lot of complication here is taken away because: | ||
17 | * | ||
18 | * 1) We handle one interrupt and return, sitting in a loop and moving across | ||
19 | * all the pending IRQ bits in the cause register is _NOT_ the answer, the | ||
20 | * common case is one pending IRQ so optimize in that direction. | ||
21 | * | ||
22 | * 2) We need not check against bits in the status register IRQ mask, that | ||
23 | * would make this routine slow as hell. | ||
24 | * | ||
25 | * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in | ||
26 | * between like BSD spl() brain-damage. | ||
27 | * | ||
28 | * Furthermore, the IRQs on the INDY look basically (barring software IRQs | ||
29 | * which we don't use at all) like: | ||
30 | * | ||
31 | * MIPS IRQ Source | ||
32 | * -------- ------ | ||
33 | * 0 Software (ignored) | ||
34 | * 1 Software (ignored) | ||
35 | * 2 Local IRQ level zero | ||
36 | * 3 Local IRQ level one | ||
37 | * 4 8254 Timer zero | ||
38 | * 5 8254 Timer one | ||
39 | * 6 Bus Error | ||
40 | * 7 R4k timer (what we use) | ||
41 | * | ||
42 | * We handle the IRQ according to _our_ priority which is: | ||
43 | * | ||
44 | * Highest ---- R4k Timer | ||
45 | * Local IRQ zero | ||
46 | * Local IRQ one | ||
47 | * Bus Error | ||
48 | * 8254 Timer zero | ||
49 | * Lowest ---- 8254 Timer one | ||
50 | * | ||
51 | * then we just return, if multiple IRQs are pending then we will just take | ||
52 | * another exception, big deal. | ||
53 | */ | ||
54 | |||
55 | .text | ||
56 | .set noreorder | ||
57 | .set noat | ||
58 | .align 5 | ||
59 | NESTED(ddbIRQ, PT_SIZE, sp) | ||
60 | SAVE_ALL | ||
61 | CLI | ||
62 | .set at | ||
63 | mfc0 s0, CP0_CAUSE # get irq mask | ||
64 | |||
65 | #if 1 | ||
66 | mfc0 t2,CP0_STATUS # get enabled interrupts | ||
67 | and s0,t2 # isolate allowed ones | ||
68 | #endif | ||
69 | /* First we check for r4k counter/timer IRQ. */ | ||
70 | andi a0, s0, CAUSEF_IP2 # delay slot, check local level zero | ||
71 | beq a0, zero, 1f | ||
72 | andi a0, s0, CAUSEF_IP3 # delay slot, check local level one | ||
73 | |||
74 | /* Wheee, local level zero interrupt. */ | ||
75 | jal ddb_local0_irqdispatch | ||
76 | move a0, sp # delay slot | ||
77 | |||
78 | j ret_from_irq | ||
79 | nop # delay slot | ||
80 | |||
81 | 1: | ||
82 | beq a0, zero, 1f | ||
83 | andi a0, s0, CAUSEF_IP6 # delay slot, check bus error | ||
84 | |||
85 | /* Wheee, local level one interrupt. */ | ||
86 | move a0, sp | ||
87 | jal ddb_local1_irqdispatch | ||
88 | nop | ||
89 | |||
90 | j ret_from_irq | ||
91 | nop | ||
92 | |||
93 | 1: | ||
94 | beq a0, zero, 1f | ||
95 | nop | ||
96 | |||
97 | /* Wheee, an asynchronous bus error... */ | ||
98 | move a0, sp | ||
99 | jal ddb_buserror_irq | ||
100 | nop | ||
101 | |||
102 | j ret_from_irq | ||
103 | nop | ||
104 | |||
105 | 1: | ||
106 | /* Here by mistake? This is possible, what can happen | ||
107 | * is that by the time we take the exception the IRQ | ||
108 | * pin goes low, so just leave if this is the case. | ||
109 | */ | ||
110 | andi a0, s0, (CAUSEF_IP4 | CAUSEF_IP5) | ||
111 | beq a0, zero, 1f | ||
112 | |||
113 | /* Must be one of the 8254 timers... */ | ||
114 | move a0, sp | ||
115 | jal ddb_8254timer_irq | ||
116 | nop | ||
117 | 1: | ||
118 | j ret_from_irq | ||
119 | nop | ||
120 | END(ddbIRQ) | ||
diff --git a/arch/mips/ddb5xxx/ddb5074/irq.c b/arch/mips/ddb5xxx/ddb5074/irq.c index 45088a1be414..60c087b7738c 100644 --- a/arch/mips/ddb5xxx/ddb5074/irq.c +++ b/arch/mips/ddb5xxx/ddb5074/irq.c | |||
@@ -21,8 +21,6 @@ | |||
21 | #include <asm/ddb5xxx/ddb5074.h> | 21 | #include <asm/ddb5xxx/ddb5074.h> |
22 | 22 | ||
23 | 23 | ||
24 | extern asmlinkage void ddbIRQ(void); | ||
25 | |||
26 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; | 24 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; |
27 | 25 | ||
28 | #define M1543_PNP_CONFIG 0x03f0 /* PnP Config Port */ | 26 | #define M1543_PNP_CONFIG 0x03f0 /* PnP Config Port */ |
@@ -90,7 +88,7 @@ static void m1543_irq_setup(void) | |||
90 | 88 | ||
91 | } | 89 | } |
92 | 90 | ||
93 | void ddb_local0_irqdispatch(struct pt_regs *regs) | 91 | static void ddb_local0_irqdispatch(struct pt_regs *regs) |
94 | { | 92 | { |
95 | u32 mask; | 93 | u32 mask; |
96 | int nile4_irq; | 94 | int nile4_irq; |
@@ -118,29 +116,41 @@ void ddb_local0_irqdispatch(struct pt_regs *regs) | |||
118 | } | 116 | } |
119 | } | 117 | } |
120 | 118 | ||
121 | void ddb_local1_irqdispatch(void) | 119 | static void ddb_local1_irqdispatch(void) |
122 | { | 120 | { |
123 | printk("ddb_local1_irqdispatch called\n"); | 121 | printk("ddb_local1_irqdispatch called\n"); |
124 | } | 122 | } |
125 | 123 | ||
126 | void ddb_buserror_irq(void) | 124 | static void ddb_buserror_irq(void) |
127 | { | 125 | { |
128 | printk("ddb_buserror_irq called\n"); | 126 | printk("ddb_buserror_irq called\n"); |
129 | } | 127 | } |
130 | 128 | ||
131 | void ddb_8254timer_irq(void) | 129 | static void ddb_8254timer_irq(void) |
132 | { | 130 | { |
133 | printk("ddb_8254timer_irq called\n"); | 131 | printk("ddb_8254timer_irq called\n"); |
134 | } | 132 | } |
135 | 133 | ||
134 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
135 | { | ||
136 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
137 | |||
138 | if (pending & CAUSEF_IP2) | ||
139 | ddb_local0_irqdispatch(regs); | ||
140 | else if (pending & CAUSEF_IP3) | ||
141 | ddb_local1_irqdispatch(); | ||
142 | else if (pending & CAUSEF_IP6) | ||
143 | ddb_buserror_irq(); | ||
144 | else if (pending & (CAUSEF_IP4 | CAUSEF_IP5)) | ||
145 | ddb_8254timer_irq(); | ||
146 | } | ||
147 | |||
136 | void __init arch_init_irq(void) | 148 | void __init arch_init_irq(void) |
137 | { | 149 | { |
138 | /* setup cascade interrupts */ | 150 | /* setup cascade interrupts */ |
139 | setup_irq(NILE4_IRQ_BASE + NILE4_INT_INTE, &irq_cascade); | 151 | setup_irq(NILE4_IRQ_BASE + NILE4_INT_INTE, &irq_cascade); |
140 | setup_irq(CPU_IRQ_BASE + CPU_NILE4_CASCADE, &irq_cascade); | 152 | setup_irq(CPU_IRQ_BASE + CPU_NILE4_CASCADE, &irq_cascade); |
141 | 153 | ||
142 | set_except_vector(0, ddbIRQ); | ||
143 | |||
144 | nile4_irq_setup(NILE4_IRQ_BASE); | 154 | nile4_irq_setup(NILE4_IRQ_BASE); |
145 | m1543_irq_setup(); | 155 | m1543_irq_setup(); |
146 | init_i8259_irqs(); | 156 | init_i8259_irqs(); |
diff --git a/arch/mips/ddb5xxx/ddb5476/Makefile b/arch/mips/ddb5xxx/ddb5476/Makefile index 61eec363cb02..ab0312cb47b4 100644 --- a/arch/mips/ddb5xxx/ddb5476/Makefile +++ b/arch/mips/ddb5xxx/ddb5476/Makefile | |||
@@ -3,7 +3,7 @@ | |||
3 | # under Linux. | 3 | # under Linux. |
4 | # | 4 | # |
5 | 5 | ||
6 | obj-y += setup.o irq.o int-handler.o nile4_pic.o vrc5476_irq.o | 6 | obj-y += setup.o irq.o nile4_pic.o vrc5476_irq.o |
7 | obj-$(CONFIG_KGDB) += dbg_io.o | 7 | obj-$(CONFIG_KGDB) += dbg_io.o |
8 | 8 | ||
9 | EXTRA_AFLAGS := $(CFLAGS) | 9 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/ddb5xxx/ddb5476/int-handler.S b/arch/mips/ddb5xxx/ddb5476/int-handler.S deleted file mode 100644 index 12c292e189ba..000000000000 --- a/arch/mips/ddb5xxx/ddb5476/int-handler.S +++ /dev/null | |||
@@ -1,112 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: jsun@mvista.com or jsun@junsun.net | ||
4 | * | ||
5 | * First-level interrupt dispatcher for ddb5476 | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | #include <asm/asm.h> | ||
13 | #include <asm/mipsregs.h> | ||
14 | #include <asm/addrspace.h> | ||
15 | #include <asm/regdef.h> | ||
16 | #include <asm/stackframe.h> | ||
17 | |||
18 | #include <asm/ddb5xxx/ddb5476.h> | ||
19 | |||
20 | /* | ||
21 | * first level interrupt dispatcher for ocelot board - | ||
22 | * We check for the timer first, then check PCI ints A and D. | ||
23 | * Then check for serial IRQ and fall through. | ||
24 | */ | ||
25 | .align 5 | ||
26 | NESTED(ddb5476_handle_int, PT_SIZE, sp) | ||
27 | SAVE_ALL | ||
28 | CLI | ||
29 | .set at | ||
30 | .set noreorder | ||
31 | mfc0 t0, CP0_CAUSE | ||
32 | mfc0 t2, CP0_STATUS | ||
33 | |||
34 | and t0, t2 | ||
35 | |||
36 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
37 | bnez t1, ll_cpu_ip7 | ||
38 | andi t1, t0, STATUSF_IP2 /* vrc5476 & i8259 */ | ||
39 | bnez t1, ll_cpu_ip2 | ||
40 | andi t1, t0, STATUSF_IP3 | ||
41 | bnez t1, ll_cpu_ip3 | ||
42 | andi t1, t0, STATUSF_IP4 | ||
43 | bnez t1, ll_cpu_ip4 | ||
44 | andi t1, t0, STATUSF_IP5 | ||
45 | bnez t1, ll_cpu_ip5 | ||
46 | andi t1, t0, STATUSF_IP6 | ||
47 | bnez t1, ll_cpu_ip6 | ||
48 | andi t1, t0, STATUSF_IP0 /* software int 0 */ | ||
49 | bnez t1, ll_cpu_ip0 | ||
50 | andi t1, t0, STATUSF_IP1 /* software int 1 */ | ||
51 | bnez t1, ll_cpu_ip1 | ||
52 | nop | ||
53 | |||
54 | .set reorder | ||
55 | |||
56 | /* wrong alarm or masked ... */ | ||
57 | // j spurious_interrupt | ||
58 | move a0, sp | ||
59 | jal vrc5476_irq_dispatch | ||
60 | j ret_from_irq | ||
61 | nop | ||
62 | |||
63 | .align 5 | ||
64 | |||
65 | ll_cpu_ip0: | ||
66 | li a0, CPU_IRQ_BASE + 0 | ||
67 | move a1, sp | ||
68 | jal do_IRQ | ||
69 | j ret_from_irq | ||
70 | |||
71 | ll_cpu_ip1: | ||
72 | li a0, CPU_IRQ_BASE + 1 | ||
73 | move a1, sp | ||
74 | jal do_IRQ | ||
75 | j ret_from_irq | ||
76 | |||
77 | ll_cpu_ip2: /* jump to second-level dispatching */ | ||
78 | move a0, sp | ||
79 | jal vrc5476_irq_dispatch | ||
80 | j ret_from_irq | ||
81 | |||
82 | ll_cpu_ip3: | ||
83 | li a0, CPU_IRQ_BASE + 3 | ||
84 | move a1, sp | ||
85 | jal do_IRQ | ||
86 | j ret_from_irq | ||
87 | |||
88 | ll_cpu_ip4: | ||
89 | li a0, CPU_IRQ_BASE + 4 | ||
90 | move a1, sp | ||
91 | jal do_IRQ | ||
92 | j ret_from_irq | ||
93 | |||
94 | ll_cpu_ip5: | ||
95 | li a0, CPU_IRQ_BASE + 5 | ||
96 | move a1, sp | ||
97 | jal do_IRQ | ||
98 | j ret_from_irq | ||
99 | |||
100 | ll_cpu_ip6: | ||
101 | li a0, CPU_IRQ_BASE + 6 | ||
102 | move a1, sp | ||
103 | jal do_IRQ | ||
104 | j ret_from_irq | ||
105 | |||
106 | ll_cpu_ip7: | ||
107 | li a0, CPU_IRQ_BASE + 7 | ||
108 | move a1, sp | ||
109 | jal do_IRQ | ||
110 | j ret_from_irq | ||
111 | |||
112 | END(ddb5476_handle_int) | ||
diff --git a/arch/mips/ddb5xxx/ddb5476/irq.c b/arch/mips/ddb5xxx/ddb5476/irq.c index 5388b5868c4a..7583a1f30711 100644 --- a/arch/mips/ddb5xxx/ddb5476/irq.c +++ b/arch/mips/ddb5xxx/ddb5476/irq.c | |||
@@ -110,11 +110,36 @@ static void nile4_irq_setup(void) | |||
110 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; | 110 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; |
111 | static struct irqaction irq_error = { no_action, 0, CPU_MASK_NONE, "error", NULL, NULL }; | 111 | static struct irqaction irq_error = { no_action, 0, CPU_MASK_NONE, "error", NULL, NULL }; |
112 | 112 | ||
113 | extern asmlinkage void ddb5476_handle_int(void); | ||
114 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); | 113 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); |
115 | extern void mips_cpu_irq_init(u32 irq_base); | 114 | extern void mips_cpu_irq_init(u32 irq_base); |
116 | extern void vrc5476_irq_init(u32 irq_base); | 115 | extern void vrc5476_irq_init(u32 irq_base); |
117 | 116 | ||
117 | extern void vrc5476_irq_dispatch(struct pt_regs *regs); | ||
118 | |||
119 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
120 | { | ||
121 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
122 | |||
123 | if (pending & STATUSF_IP7) | ||
124 | do_IRQ(CPU_IRQ_BASE + 7, regs); | ||
125 | else if (pending & STATUSF_IP2) | ||
126 | vrc5476_irq_dispatch(regs); | ||
127 | else if (pending & STATUSF_IP3) | ||
128 | do_IRQ(CPU_IRQ_BASE + 3, regs); | ||
129 | else if (pending & STATUSF_IP4) | ||
130 | do_IRQ(CPU_IRQ_BASE + 4, regs); | ||
131 | else if (pending & STATUSF_IP5) | ||
132 | do_IRQ(CPU_IRQ_BASE + 5, regs); | ||
133 | else if (pending & STATUSF_IP6) | ||
134 | do_IRQ(CPU_IRQ_BASE + 6, regs); | ||
135 | else if (pending & STATUSF_IP0) | ||
136 | do_IRQ(CPU_IRQ_BASE, regs); | ||
137 | else if (pending & STATUSF_IP1) | ||
138 | do_IRQ(CPU_IRQ_BASE + 1, regs); | ||
139 | |||
140 | vrc5476_irq_dispatch(regs); | ||
141 | } | ||
142 | |||
118 | void __init arch_init_irq(void) | 143 | void __init arch_init_irq(void) |
119 | { | 144 | { |
120 | /* hardware initialization */ | 145 | /* hardware initialization */ |
@@ -137,7 +162,4 @@ void __init arch_init_irq(void) | |||
137 | setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_LBRT, &irq_error); | 162 | setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_LBRT, &irq_error); |
138 | setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCIS, &irq_error); | 163 | setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCIS, &irq_error); |
139 | setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCI, &irq_error); | 164 | setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCI, &irq_error); |
140 | |||
141 | /* setup the grandpa intr vector */ | ||
142 | set_except_vector(0, ddb5476_handle_int); | ||
143 | } | 165 | } |
diff --git a/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c b/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c index f66fe5b58636..a3c5e7b18018 100644 --- a/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c +++ b/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c | |||
@@ -77,11 +77,9 @@ vrc5476_irq_init(u32 base) | |||
77 | } | 77 | } |
78 | 78 | ||
79 | 79 | ||
80 | asmlinkage void | 80 | void |
81 | vrc5476_irq_dispatch(struct pt_regs *regs) | 81 | vrc5476_irq_dispatch(struct pt_regs *regs) |
82 | { | 82 | { |
83 | extern void spurious_interrupt(void); | ||
84 | |||
85 | u32 mask; | 83 | u32 mask; |
86 | int nile4_irq; | 84 | int nile4_irq; |
87 | 85 | ||
@@ -107,5 +105,5 @@ vrc5476_irq_dispatch(struct pt_regs *regs) | |||
107 | return; | 105 | return; |
108 | } | 106 | } |
109 | } | 107 | } |
110 | spurious_interrupt(); | 108 | spurious_interrupt(regs); |
111 | } | 109 | } |
diff --git a/arch/mips/ddb5xxx/ddb5477/Makefile b/arch/mips/ddb5xxx/ddb5477/Makefile index b79b43c9f93b..ea68815ad17a 100644 --- a/arch/mips/ddb5xxx/ddb5477/Makefile +++ b/arch/mips/ddb5xxx/ddb5477/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for NEC DDB-Vrc5477 board | 2 | # Makefile for NEC DDB-Vrc5477 board |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += int-handler.o irq.o irq_5477.o setup.o lcd44780.o | 5 | obj-y += irq.o irq_5477.o setup.o lcd44780.o |
6 | 6 | ||
7 | obj-$(CONFIG_RUNTIME_DEBUG) += debug.o | 7 | obj-$(CONFIG_RUNTIME_DEBUG) += debug.o |
8 | obj-$(CONFIG_KGDB) += kgdb_io.o | 8 | obj-$(CONFIG_KGDB) += kgdb_io.o |
diff --git a/arch/mips/ddb5xxx/ddb5477/int-handler.S b/arch/mips/ddb5xxx/ddb5477/int-handler.S deleted file mode 100644 index a2502a14400e..000000000000 --- a/arch/mips/ddb5xxx/ddb5477/int-handler.S +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: jsun@mvista.com or jsun@junsun.net | ||
4 | * | ||
5 | * First-level interrupt dispatcher for ddb5477 | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | #include <asm/asm.h> | ||
13 | #include <asm/mipsregs.h> | ||
14 | #include <asm/addrspace.h> | ||
15 | #include <asm/regdef.h> | ||
16 | #include <asm/stackframe.h> | ||
17 | #include <asm/ddb5xxx/ddb5477.h> | ||
18 | |||
19 | /* | ||
20 | * first level interrupt dispatcher for ocelot board - | ||
21 | * We check for the timer first, then check PCI ints A and D. | ||
22 | * Then check for serial IRQ and fall through. | ||
23 | */ | ||
24 | .align 5 | ||
25 | NESTED(ddb5477_handle_int, PT_SIZE, sp) | ||
26 | SAVE_ALL | ||
27 | CLI | ||
28 | .set at | ||
29 | .set noreorder | ||
30 | mfc0 t0, CP0_CAUSE | ||
31 | mfc0 t2, CP0_STATUS | ||
32 | |||
33 | and t0, t2 | ||
34 | |||
35 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
36 | bnez t1, ll_cputimer_irq | ||
37 | andi t1, t0, (STATUSF_IP2 | STATUSF_IP3 | STATUSF_IP4 | STATUSF_IP5 | STATUSF_IP6 ) | ||
38 | bnez t1, ll_vrc5477_irq | ||
39 | andi t1, t0, STATUSF_IP0 /* software int 0 */ | ||
40 | bnez t1, ll_cpu_ip0 | ||
41 | andi t1, t0, STATUSF_IP1 /* software int 1 */ | ||
42 | bnez t1, ll_cpu_ip1 | ||
43 | nop | ||
44 | .set reorder | ||
45 | |||
46 | /* wrong alarm or masked ... */ | ||
47 | j spurious_interrupt | ||
48 | nop | ||
49 | END(ddb5477_handle_int) | ||
50 | |||
51 | .align 5 | ||
52 | |||
53 | ll_vrc5477_irq: | ||
54 | move a0, sp | ||
55 | jal vrc5477_irq_dispatch | ||
56 | j ret_from_irq | ||
57 | |||
58 | ll_cputimer_irq: | ||
59 | li a0, CPU_IRQ_BASE + 7 | ||
60 | move a1, sp | ||
61 | jal do_IRQ | ||
62 | j ret_from_irq | ||
63 | |||
64 | |||
65 | ll_cpu_ip0: | ||
66 | li a0, CPU_IRQ_BASE + 0 | ||
67 | move a1, sp | ||
68 | jal do_IRQ | ||
69 | j ret_from_irq | ||
70 | |||
71 | ll_cpu_ip1: | ||
72 | li a0, CPU_IRQ_BASE + 1 | ||
73 | move a1, sp | ||
74 | jal do_IRQ | ||
75 | j ret_from_irq | ||
diff --git a/arch/mips/ddb5xxx/ddb5477/irq.c b/arch/mips/ddb5xxx/ddb5477/irq.c index 9ffe1a9142ca..de433cf9fb50 100644 --- a/arch/mips/ddb5xxx/ddb5477/irq.c +++ b/arch/mips/ddb5xxx/ddb5477/irq.c | |||
@@ -75,7 +75,6 @@ set_pci_int_attr(u32 pci, u32 intn, u32 active, u32 trigger) | |||
75 | 75 | ||
76 | extern void vrc5477_irq_init(u32 base); | 76 | extern void vrc5477_irq_init(u32 base); |
77 | extern void mips_cpu_irq_init(u32 base); | 77 | extern void mips_cpu_irq_init(u32 base); |
78 | extern asmlinkage void ddb5477_handle_int(void); | ||
79 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); | 78 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); |
80 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; | 79 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; |
81 | 80 | ||
@@ -135,9 +134,6 @@ void __init arch_init_irq(void) | |||
135 | /* setup cascade interrupts */ | 134 | /* setup cascade interrupts */ |
136 | setup_irq(VRC5477_IRQ_BASE + VRC5477_I8259_CASCADE, &irq_cascade); | 135 | setup_irq(VRC5477_IRQ_BASE + VRC5477_I8259_CASCADE, &irq_cascade); |
137 | setup_irq(CPU_IRQ_BASE + CPU_VRC5477_CASCADE, &irq_cascade); | 136 | setup_irq(CPU_IRQ_BASE + CPU_VRC5477_CASCADE, &irq_cascade); |
138 | |||
139 | /* hook up the first-level interrupt handler */ | ||
140 | set_except_vector(0, ddb5477_handle_int); | ||
141 | } | 137 | } |
142 | 138 | ||
143 | u8 i8259_interrupt_ack(void) | 139 | u8 i8259_interrupt_ack(void) |
@@ -159,7 +155,7 @@ u8 i8259_interrupt_ack(void) | |||
159 | * the first level int-handler will jump here if it is a vrc5477 irq | 155 | * the first level int-handler will jump here if it is a vrc5477 irq |
160 | */ | 156 | */ |
161 | #define NUM_5477_IRQS 32 | 157 | #define NUM_5477_IRQS 32 |
162 | asmlinkage void | 158 | static void |
163 | vrc5477_irq_dispatch(struct pt_regs *regs) | 159 | vrc5477_irq_dispatch(struct pt_regs *regs) |
164 | { | 160 | { |
165 | u32 intStatus; | 161 | u32 intStatus; |
@@ -197,3 +193,21 @@ vrc5477_irq_dispatch(struct pt_regs *regs) | |||
197 | } | 193 | } |
198 | } | 194 | } |
199 | } | 195 | } |
196 | |||
197 | #define VR5477INTS (STATUSF_IP2|STATUSF_IP3|STATUSF_IP4|STATUSF_IP5|STATUSF_IP6) | ||
198 | |||
199 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
200 | { | ||
201 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
202 | |||
203 | if (pending & STATUSF_IP7) | ||
204 | do_IRQ(CPU_IRQ_BASE + 7, regs); | ||
205 | else if (pending & VR5477INTS) | ||
206 | vrc5477_irq_dispatch(regs); | ||
207 | else if (pending & STATUSF_IP0) | ||
208 | do_IRQ(CPU_IRQ_BASE, regs); | ||
209 | else if (pending & STATUSF_IP1) | ||
210 | do_IRQ(CPU_IRQ_BASE + 1, regs); | ||
211 | else | ||
212 | spurious_interrupt(regs); | ||
213 | } | ||
diff --git a/arch/mips/dec/boot/decstation.c b/arch/mips/dec/boot/decstation.c index 56fd4277555e..4db8bacaf22d 100644 --- a/arch/mips/dec/boot/decstation.c +++ b/arch/mips/dec/boot/decstation.c | |||
@@ -1,6 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * arch/mips/dec/decstation.c | 2 | * arch/mips/dec/decstation.c |
3 | */ | 3 | */ |
4 | #include <asm/sections.h> | ||
4 | 5 | ||
5 | #define RELOC | 6 | #define RELOC |
6 | #define INITRD | 7 | #define INITRD |
@@ -24,7 +25,7 @@ | |||
24 | #define INITRD_START (*(unsigned long *) (PARAM+0x218)) | 25 | #define INITRD_START (*(unsigned long *) (PARAM+0x218)) |
25 | #define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c)) | 26 | #define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c)) |
26 | 27 | ||
27 | extern int _ftext, _end; /* begin and end of kernel image */ | 28 | extern int _ftext; /* begin and end of kernel image */ |
28 | extern void kernel_entry(int, char **, unsigned long, int *); | 29 | extern void kernel_entry(int, char **, unsigned long, int *); |
29 | 30 | ||
30 | void * memcpy(void * dest, const void *src, unsigned int count) | 31 | void * memcpy(void * dest, const void *src, unsigned int count) |
diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S index 41fa372007bf..e8ec93e33fe6 100644 --- a/arch/mips/dec/int-handler.S +++ b/arch/mips/dec/int-handler.S | |||
@@ -36,7 +36,7 @@ | |||
36 | .text | 36 | .text |
37 | .set noreorder | 37 | .set noreorder |
38 | /* | 38 | /* |
39 | * decstation_handle_int: Interrupt handler for DECstations | 39 | * plat_irq_dispatch: Interrupt handler for DECstations |
40 | * | 40 | * |
41 | * We follow the model in the Indy interrupt code by David Miller, where he | 41 | * We follow the model in the Indy interrupt code by David Miller, where he |
42 | * says: a lot of complication here is taken away because: | 42 | * says: a lot of complication here is taken away because: |
@@ -125,11 +125,7 @@ | |||
125 | * just take another exception, big deal. | 125 | * just take another exception, big deal. |
126 | */ | 126 | */ |
127 | .align 5 | 127 | .align 5 |
128 | NESTED(decstation_handle_int, PT_SIZE, ra) | 128 | NESTED(plat_irq_dispatch, PT_SIZE, ra) |
129 | .set noat | ||
130 | SAVE_ALL | ||
131 | CLI # TEST: interrupts should be off | ||
132 | .set at | ||
133 | .set noreorder | 129 | .set noreorder |
134 | 130 | ||
135 | /* | 131 | /* |
@@ -282,9 +278,11 @@ fpu: | |||
282 | #endif | 278 | #endif |
283 | 279 | ||
284 | spurious: | 280 | spurious: |
285 | j spurious_interrupt | 281 | jal spurious_interrupt |
286 | nop | 282 | nop |
287 | END(decstation_handle_int) | 283 | j ret_from_irq |
284 | nop | ||
285 | END(plat_irq_dispatch) | ||
288 | 286 | ||
289 | /* | 287 | /* |
290 | * Generic unimplemented interrupt routines -- cpu_mask_nr_tbl | 288 | * Generic unimplemented interrupt routines -- cpu_mask_nr_tbl |
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c index 7c1ca8f6330e..ad5d436d80c1 100644 --- a/arch/mips/dec/setup.c +++ b/arch/mips/dec/setup.c | |||
@@ -48,8 +48,6 @@ extern void dec_machine_halt(void); | |||
48 | extern void dec_machine_power_off(void); | 48 | extern void dec_machine_power_off(void); |
49 | extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs); | 49 | extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs); |
50 | 50 | ||
51 | extern asmlinkage void decstation_handle_int(void); | ||
52 | |||
53 | unsigned long dec_kn_slot_base, dec_kn_slot_size; | 51 | unsigned long dec_kn_slot_base, dec_kn_slot_size; |
54 | 52 | ||
55 | EXPORT_SYMBOL(dec_kn_slot_base); | 53 | EXPORT_SYMBOL(dec_kn_slot_base); |
@@ -744,7 +742,6 @@ void __init arch_init_irq(void) | |||
744 | panic("Don't know how to set this up!"); | 742 | panic("Don't know how to set this up!"); |
745 | break; | 743 | break; |
746 | } | 744 | } |
747 | set_except_vector(0, decstation_handle_int); | ||
748 | 745 | ||
749 | /* Free the FPU interrupt if the exception is present. */ | 746 | /* Free the FPU interrupt if the exception is present. */ |
750 | if (!cpu_has_nofpuex) { | 747 | if (!cpu_has_nofpuex) { |
diff --git a/arch/mips/defconfig b/arch/mips/defconfig index 42d5cd7927cb..607e2985ffe3 100644 --- a/arch/mips/defconfig +++ b/arch/mips/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 |
4 | # Fri Jan 27 15:39:51 2006 | 4 | # Mon Apr 24 14:50:54 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -64,6 +64,8 @@ CONFIG_SGI_IP22=y | |||
64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set |
65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set |
66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
68 | CONFIG_GENERIC_HWEIGHT=y | ||
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y |
69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y |
@@ -121,7 +123,6 @@ CONFIG_BOARD_SCACHE=y | |||
121 | CONFIG_IP22_CPU_SCACHE=y | 123 | CONFIG_IP22_CPU_SCACHE=y |
122 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set |
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | # CONFIG_CPU_ADVANCED is not set | ||
125 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
127 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y |
@@ -143,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
143 | # Code maturity level options | 144 | # Code maturity level options |
144 | # | 145 | # |
145 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y |
146 | CONFIG_CLEAN_COMPILE=y | ||
147 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y |
148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
149 | 149 | ||
@@ -160,6 +160,7 @@ CONFIG_SYSCTL=y | |||
160 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set |
161 | CONFIG_IKCONFIG=y | 161 | CONFIG_IKCONFIG=y |
162 | CONFIG_IKCONFIG_PROC=y | 162 | CONFIG_IKCONFIG_PROC=y |
163 | CONFIG_RELAY=y | ||
163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" |
164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
165 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y |
@@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
173 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y |
174 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y |
175 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y |
176 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
177 | CONFIG_CC_ALIGN_LABELS=0 | ||
178 | CONFIG_CC_ALIGN_LOOPS=0 | ||
179 | CONFIG_CC_ALIGN_JUMPS=0 | ||
180 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y |
181 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set |
182 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 |
@@ -188,7 +185,6 @@ CONFIG_BASE_SMALL=0 | |||
188 | CONFIG_MODULES=y | 185 | CONFIG_MODULES=y |
189 | CONFIG_MODULE_UNLOAD=y | 186 | CONFIG_MODULE_UNLOAD=y |
190 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 187 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
191 | CONFIG_OBSOLETE_MODPARM=y | ||
192 | CONFIG_MODVERSIONS=y | 188 | CONFIG_MODVERSIONS=y |
193 | CONFIG_MODULE_SRCVERSION_ALL=y | 189 | CONFIG_MODULE_SRCVERSION_ALL=y |
194 | CONFIG_KMOD=y | 190 | CONFIG_KMOD=y |
@@ -197,6 +193,8 @@ CONFIG_KMOD=y | |||
197 | # Block layer | 193 | # Block layer |
198 | # | 194 | # |
199 | # CONFIG_LBD is not set | 195 | # CONFIG_LBD is not set |
196 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
197 | # CONFIG_LSF is not set | ||
200 | 198 | ||
201 | # | 199 | # |
202 | # IO Schedulers | 200 | # IO Schedulers |
@@ -242,6 +240,7 @@ CONFIG_NET=y | |||
242 | # | 240 | # |
243 | # Networking options | 241 | # Networking options |
244 | # | 242 | # |
243 | # CONFIG_NETDEBUG is not set | ||
245 | CONFIG_PACKET=y | 244 | CONFIG_PACKET=y |
246 | CONFIG_PACKET_MMAP=y | 245 | CONFIG_PACKET_MMAP=y |
247 | CONFIG_UNIX=y | 246 | CONFIG_UNIX=y |
@@ -264,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
264 | CONFIG_INET_AH=m | 263 | CONFIG_INET_AH=m |
265 | CONFIG_INET_ESP=m | 264 | CONFIG_INET_ESP=m |
266 | CONFIG_INET_IPCOMP=m | 265 | CONFIG_INET_IPCOMP=m |
266 | CONFIG_INET_XFRM_TUNNEL=m | ||
267 | CONFIG_INET_TUNNEL=m | 267 | CONFIG_INET_TUNNEL=m |
268 | CONFIG_INET_DIAG=y | 268 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 269 | CONFIG_INET_TCP_DIAG=y |
@@ -305,9 +305,12 @@ CONFIG_IP_VS_NQ=m | |||
305 | CONFIG_IP_VS_FTP=m | 305 | CONFIG_IP_VS_FTP=m |
306 | CONFIG_IPV6=m | 306 | CONFIG_IPV6=m |
307 | CONFIG_IPV6_PRIVACY=y | 307 | CONFIG_IPV6_PRIVACY=y |
308 | CONFIG_IPV6_ROUTER_PREF=y | ||
309 | CONFIG_IPV6_ROUTE_INFO=y | ||
308 | CONFIG_INET6_AH=m | 310 | CONFIG_INET6_AH=m |
309 | CONFIG_INET6_ESP=m | 311 | CONFIG_INET6_ESP=m |
310 | CONFIG_INET6_IPCOMP=m | 312 | CONFIG_INET6_IPCOMP=m |
313 | CONFIG_INET6_XFRM_TUNNEL=m | ||
311 | CONFIG_INET6_TUNNEL=m | 314 | CONFIG_INET6_TUNNEL=m |
312 | CONFIG_IPV6_TUNNEL=m | 315 | CONFIG_IPV6_TUNNEL=m |
313 | CONFIG_NETFILTER=y | 316 | CONFIG_NETFILTER=y |
@@ -330,11 +333,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
330 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 333 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
331 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 334 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
332 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 335 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
336 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
333 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 337 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
334 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 338 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
335 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 339 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
336 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 340 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
337 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 341 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
342 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
343 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
338 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 344 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
339 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 345 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
340 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 346 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -357,20 +363,19 @@ CONFIG_IP_NF_IRC=m | |||
357 | CONFIG_IP_NF_TFTP=m | 363 | CONFIG_IP_NF_TFTP=m |
358 | CONFIG_IP_NF_AMANDA=m | 364 | CONFIG_IP_NF_AMANDA=m |
359 | CONFIG_IP_NF_PPTP=m | 365 | CONFIG_IP_NF_PPTP=m |
366 | CONFIG_IP_NF_H323=m | ||
360 | CONFIG_IP_NF_QUEUE=m | 367 | CONFIG_IP_NF_QUEUE=m |
361 | CONFIG_IP_NF_IPTABLES=m | 368 | CONFIG_IP_NF_IPTABLES=m |
362 | CONFIG_IP_NF_MATCH_IPRANGE=m | 369 | CONFIG_IP_NF_MATCH_IPRANGE=m |
363 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
364 | CONFIG_IP_NF_MATCH_TOS=m | 370 | CONFIG_IP_NF_MATCH_TOS=m |
365 | CONFIG_IP_NF_MATCH_RECENT=m | 371 | CONFIG_IP_NF_MATCH_RECENT=m |
366 | CONFIG_IP_NF_MATCH_ECN=m | 372 | CONFIG_IP_NF_MATCH_ECN=m |
367 | CONFIG_IP_NF_MATCH_DSCP=m | 373 | CONFIG_IP_NF_MATCH_DSCP=m |
368 | CONFIG_IP_NF_MATCH_AH_ESP=m | 374 | CONFIG_IP_NF_MATCH_AH=m |
369 | CONFIG_IP_NF_MATCH_TTL=m | 375 | CONFIG_IP_NF_MATCH_TTL=m |
370 | CONFIG_IP_NF_MATCH_OWNER=m | 376 | CONFIG_IP_NF_MATCH_OWNER=m |
371 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 377 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
372 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 378 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
373 | CONFIG_IP_NF_MATCH_POLICY=m | ||
374 | CONFIG_IP_NF_FILTER=m | 379 | CONFIG_IP_NF_FILTER=m |
375 | CONFIG_IP_NF_TARGET_REJECT=m | 380 | CONFIG_IP_NF_TARGET_REJECT=m |
376 | CONFIG_IP_NF_TARGET_LOG=m | 381 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -388,6 +393,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
388 | CONFIG_IP_NF_NAT_TFTP=m | 393 | CONFIG_IP_NF_NAT_TFTP=m |
389 | CONFIG_IP_NF_NAT_AMANDA=m | 394 | CONFIG_IP_NF_NAT_AMANDA=m |
390 | CONFIG_IP_NF_NAT_PPTP=m | 395 | CONFIG_IP_NF_NAT_PPTP=m |
396 | CONFIG_IP_NF_NAT_H323=m | ||
391 | CONFIG_IP_NF_MANGLE=m | 397 | CONFIG_IP_NF_MANGLE=m |
392 | CONFIG_IP_NF_TARGET_TOS=m | 398 | CONFIG_IP_NF_TARGET_TOS=m |
393 | CONFIG_IP_NF_TARGET_ECN=m | 399 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -408,12 +414,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
408 | CONFIG_IP6_NF_MATCH_OPTS=m | 414 | CONFIG_IP6_NF_MATCH_OPTS=m |
409 | CONFIG_IP6_NF_MATCH_FRAG=m | 415 | CONFIG_IP6_NF_MATCH_FRAG=m |
410 | CONFIG_IP6_NF_MATCH_HL=m | 416 | CONFIG_IP6_NF_MATCH_HL=m |
411 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
412 | CONFIG_IP6_NF_MATCH_OWNER=m | 417 | CONFIG_IP6_NF_MATCH_OWNER=m |
413 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 418 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
414 | CONFIG_IP6_NF_MATCH_AHESP=m | 419 | CONFIG_IP6_NF_MATCH_AH=m |
415 | CONFIG_IP6_NF_MATCH_EUI64=m | 420 | CONFIG_IP6_NF_MATCH_EUI64=m |
416 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
417 | CONFIG_IP6_NF_FILTER=m | 421 | CONFIG_IP6_NF_FILTER=m |
418 | CONFIG_IP6_NF_TARGET_LOG=m | 422 | CONFIG_IP6_NF_TARGET_LOG=m |
419 | CONFIG_IP6_NF_TARGET_REJECT=m | 423 | CONFIG_IP6_NF_TARGET_REJECT=m |
@@ -435,6 +439,11 @@ CONFIG_IP_SCTP=m | |||
435 | # CONFIG_SCTP_HMAC_NONE is not set | 439 | # CONFIG_SCTP_HMAC_NONE is not set |
436 | # CONFIG_SCTP_HMAC_SHA1 is not set | 440 | # CONFIG_SCTP_HMAC_SHA1 is not set |
437 | CONFIG_SCTP_HMAC_MD5=y | 441 | CONFIG_SCTP_HMAC_MD5=y |
442 | |||
443 | # | ||
444 | # TIPC Configuration (EXPERIMENTAL) | ||
445 | # | ||
446 | # CONFIG_TIPC is not set | ||
438 | # CONFIG_ATM is not set | 447 | # CONFIG_ATM is not set |
439 | # CONFIG_BRIDGE is not set | 448 | # CONFIG_BRIDGE is not set |
440 | # CONFIG_VLAN_8021Q is not set | 449 | # CONFIG_VLAN_8021Q is not set |
@@ -444,11 +453,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
444 | # CONFIG_ATALK is not set | 453 | # CONFIG_ATALK is not set |
445 | # CONFIG_X25 is not set | 454 | # CONFIG_X25 is not set |
446 | # CONFIG_LAPB is not set | 455 | # CONFIG_LAPB is not set |
447 | |||
448 | # | ||
449 | # TIPC Configuration (EXPERIMENTAL) | ||
450 | # | ||
451 | # CONFIG_TIPC is not set | ||
452 | CONFIG_NET_DIVERT=y | 456 | CONFIG_NET_DIVERT=y |
453 | # CONFIG_ECONET is not set | 457 | # CONFIG_ECONET is not set |
454 | # CONFIG_WAN_ROUTER is not set | 458 | # CONFIG_WAN_ROUTER is not set |
@@ -508,6 +512,9 @@ CONFIG_IEEE80211=m | |||
508 | # CONFIG_IEEE80211_DEBUG is not set | 512 | # CONFIG_IEEE80211_DEBUG is not set |
509 | CONFIG_IEEE80211_CRYPT_WEP=m | 513 | CONFIG_IEEE80211_CRYPT_WEP=m |
510 | CONFIG_IEEE80211_CRYPT_CCMP=m | 514 | CONFIG_IEEE80211_CRYPT_CCMP=m |
515 | CONFIG_IEEE80211_SOFTMAC=m | ||
516 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
517 | CONFIG_WIRELESS_EXT=y | ||
511 | 518 | ||
512 | # | 519 | # |
513 | # Device Drivers | 520 | # Device Drivers |
@@ -546,7 +553,7 @@ CONFIG_CONNECTOR=m | |||
546 | # CONFIG_BLK_DEV_LOOP is not set | 553 | # CONFIG_BLK_DEV_LOOP is not set |
547 | # CONFIG_BLK_DEV_NBD is not set | 554 | # CONFIG_BLK_DEV_NBD is not set |
548 | # CONFIG_BLK_DEV_RAM is not set | 555 | # CONFIG_BLK_DEV_RAM is not set |
549 | CONFIG_BLK_DEV_RAM_COUNT=16 | 556 | # CONFIG_BLK_DEV_INITRD is not set |
550 | CONFIG_CDROM_PKTCDVD=m | 557 | CONFIG_CDROM_PKTCDVD=m |
551 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 558 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 |
552 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 559 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set |
@@ -812,10 +819,6 @@ CONFIG_MAX_RAW_DEVS=256 | |||
812 | # | 819 | # |
813 | 820 | ||
814 | # | 821 | # |
815 | # Multimedia Capabilities Port drivers | ||
816 | # | ||
817 | |||
818 | # | ||
819 | # Multimedia devices | 822 | # Multimedia devices |
820 | # | 823 | # |
821 | # CONFIG_VIDEO_DEV is not set | 824 | # CONFIG_VIDEO_DEV is not set |
@@ -857,6 +860,7 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
857 | # | 860 | # |
858 | # CONFIG_USB_ARCH_HAS_HCD is not set | 861 | # CONFIG_USB_ARCH_HAS_HCD is not set |
859 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 862 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
863 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
860 | 864 | ||
861 | # | 865 | # |
862 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 866 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -873,12 +877,30 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
873 | # CONFIG_MMC is not set | 877 | # CONFIG_MMC is not set |
874 | 878 | ||
875 | # | 879 | # |
880 | # LED devices | ||
881 | # | ||
882 | # CONFIG_NEW_LEDS is not set | ||
883 | |||
884 | # | ||
885 | # LED drivers | ||
886 | # | ||
887 | |||
888 | # | ||
889 | # LED Triggers | ||
890 | # | ||
891 | |||
892 | # | ||
876 | # InfiniBand support | 893 | # InfiniBand support |
877 | # | 894 | # |
878 | 895 | ||
879 | # | 896 | # |
880 | # SN Devices | 897 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
898 | # | ||
899 | |||
900 | # | ||
901 | # Real Time Clock | ||
881 | # | 902 | # |
903 | # CONFIG_RTC_CLASS is not set | ||
882 | 904 | ||
883 | # | 905 | # |
884 | # File systems | 906 | # File systems |
@@ -944,7 +966,6 @@ CONFIG_SYSFS=y | |||
944 | # CONFIG_TMPFS is not set | 966 | # CONFIG_TMPFS is not set |
945 | # CONFIG_HUGETLB_PAGE is not set | 967 | # CONFIG_HUGETLB_PAGE is not set |
946 | CONFIG_RAMFS=y | 968 | CONFIG_RAMFS=y |
947 | CONFIG_RELAYFS_FS=m | ||
948 | # CONFIG_CONFIGFS_FS is not set | 969 | # CONFIG_CONFIGFS_FS is not set |
949 | 970 | ||
950 | # | 971 | # |
@@ -963,7 +984,6 @@ CONFIG_EFS_FS=m | |||
963 | # CONFIG_QNX4FS_FS is not set | 984 | # CONFIG_QNX4FS_FS is not set |
964 | # CONFIG_SYSV_FS is not set | 985 | # CONFIG_SYSV_FS is not set |
965 | CONFIG_UFS_FS=m | 986 | CONFIG_UFS_FS=m |
966 | # CONFIG_UFS_FS_WRITE is not set | ||
967 | 987 | ||
968 | # | 988 | # |
969 | # Network File Systems | 989 | # Network File Systems |
@@ -1078,6 +1098,7 @@ CONFIG_NLS_UTF8=m | |||
1078 | # CONFIG_MAGIC_SYSRQ is not set | 1098 | # CONFIG_MAGIC_SYSRQ is not set |
1079 | # CONFIG_DEBUG_KERNEL is not set | 1099 | # CONFIG_DEBUG_KERNEL is not set |
1080 | CONFIG_LOG_BUF_SHIFT=14 | 1100 | CONFIG_LOG_BUF_SHIFT=14 |
1101 | # CONFIG_DEBUG_FS is not set | ||
1081 | CONFIG_CROSSCOMPILE=y | 1102 | CONFIG_CROSSCOMPILE=y |
1082 | CONFIG_CMDLINE="" | 1103 | CONFIG_CMDLINE="" |
1083 | 1104 | ||
diff --git a/arch/mips/galileo-boards/ev96100/Makefile b/arch/mips/galileo-boards/ev96100/Makefile index 58c02f9db69d..cd868ec78cbc 100644 --- a/arch/mips/galileo-boards/ev96100/Makefile +++ b/arch/mips/galileo-boards/ev96100/Makefile | |||
@@ -6,4 +6,4 @@ | |||
6 | # Makefile for the Galileo EV96100 board. | 6 | # Makefile for the Galileo EV96100 board. |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += init.o irq.o puts.o reset.o time.o int-handler.o setup.o | 9 | obj-y += init.o irq.o puts.o reset.o time.o setup.o |
diff --git a/arch/mips/galileo-boards/ev96100/int-handler.S b/arch/mips/galileo-boards/ev96100/int-handler.S deleted file mode 100644 index ff4d10a38859..000000000000 --- a/arch/mips/galileo-boards/ev96100/int-handler.S +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | #include <asm/asm.h> | ||
2 | #include <asm/mipsregs.h> | ||
3 | #include <asm/regdef.h> | ||
4 | #include <asm/stackframe.h> | ||
5 | |||
6 | .set noat | ||
7 | .align 5 | ||
8 | |||
9 | NESTED(ev96100IRQ, PT_SIZE, sp) | ||
10 | SAVE_ALL | ||
11 | CLI # Important: mark KERNEL mode ! | ||
12 | |||
13 | mfc0 t0, CP0_CAUSE # get pending interrupts | ||
14 | mfc0 t1, CP0_STATUS # get enabled interrupts | ||
15 | and t0, t1 # isolate allowed ones | ||
16 | |||
17 | # FIX ME add R7000 extensions | ||
18 | andi t0,0xff00 # isolate pending bits | ||
19 | andi a0, t0, CAUSEF_IP7 | ||
20 | beq a0, zero, 1f | ||
21 | move a0, sp | ||
22 | jal mips_timer_interrupt | ||
23 | j ret_from_irq | ||
24 | |||
25 | 1: beqz t0, 3f # spurious interrupt | ||
26 | |||
27 | move a0, t0 | ||
28 | move a1, sp | ||
29 | jal ev96100_cpu_irq | ||
30 | j ret_from_irq | ||
31 | |||
32 | 3: j spurious_interrupt | ||
33 | END(ev96100IRQ) | ||
diff --git a/arch/mips/galileo-boards/ev96100/irq.c b/arch/mips/galileo-boards/ev96100/irq.c index 97bf094da4fe..ee5d6720f23b 100644 --- a/arch/mips/galileo-boards/ev96100/irq.c +++ b/arch/mips/galileo-boards/ev96100/irq.c | |||
@@ -40,8 +40,6 @@ | |||
40 | #include <linux/interrupt.h> | 40 | #include <linux/interrupt.h> |
41 | #include <asm/irq_cpu.h> | 41 | #include <asm/irq_cpu.h> |
42 | 42 | ||
43 | extern asmlinkage void ev96100IRQ(void); | ||
44 | |||
45 | static inline unsigned int ffz8(unsigned int word) | 43 | static inline unsigned int ffz8(unsigned int word) |
46 | { | 44 | { |
47 | unsigned long k; | 45 | unsigned long k; |
@@ -54,13 +52,26 @@ static inline unsigned int ffz8(unsigned int word) | |||
54 | return k; | 52 | return k; |
55 | } | 53 | } |
56 | 54 | ||
57 | asmlinkage void ev96100_cpu_irq(unsigned int pendin) | 55 | extern void mips_timer_interrupt(struct pt_regs *regs); |
56 | |||
57 | asmlinkage void ev96100_cpu_irq(unsigned int pending, struct pt_regs *regs) | ||
58 | { | 58 | { |
59 | do_IRQ(ffz8(pending >> 8), regs); | 59 | do_IRQ(ffz8(pending >> 8), regs); |
60 | } | 60 | } |
61 | 61 | ||
62 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
63 | { | ||
64 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
65 | |||
66 | if (pending & CAUSEF_IP7) | ||
67 | mips_timer_interrupt(regs); | ||
68 | else if (pending) | ||
69 | ev96100_cpu_irq(pending, regs); | ||
70 | else | ||
71 | spurious_interrupt(regs); | ||
72 | } | ||
73 | |||
62 | void __init arch_init_irq(void) | 74 | void __init arch_init_irq(void) |
63 | { | 75 | { |
64 | set_except_vector(0, ev96100IRQ); | ||
65 | mips_cpu_irq_init(0); | 76 | mips_cpu_irq_init(0); |
66 | } | 77 | } |
diff --git a/arch/mips/gt64120/ev64120/Makefile b/arch/mips/gt64120/ev64120/Makefile index ebe91c57e173..b2c53a8f8718 100644 --- a/arch/mips/gt64120/ev64120/Makefile +++ b/arch/mips/gt64120/ev64120/Makefile | |||
@@ -6,6 +6,6 @@ | |||
6 | # Makefile for the Galileo EV64120 board. | 6 | # Makefile for the Galileo EV64120 board. |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += int-handler.o irq.o promcon.o reset.o serialGT.o setup.o | 9 | obj-y += irq.o promcon.o reset.o serialGT.o setup.o |
10 | 10 | ||
11 | EXTRA_AFLAGS := $(CFLAGS) | 11 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/gt64120/ev64120/int-handler.S b/arch/mips/gt64120/ev64120/int-handler.S deleted file mode 100644 index 752435faf2de..000000000000 --- a/arch/mips/gt64120/ev64120/int-handler.S +++ /dev/null | |||
@@ -1,113 +0,0 @@ | |||
1 | /* | ||
2 | * int-handler.S | ||
3 | * | ||
4 | * Based on the cobalt handler. | ||
5 | */ | ||
6 | #include <asm/asm.h> | ||
7 | #include <asm/mipsregs.h> | ||
8 | #include <asm/addrspace.h> | ||
9 | #include <asm/regdef.h> | ||
10 | #include <asm/stackframe.h> | ||
11 | |||
12 | /* | ||
13 | * galileo_handle_int - | ||
14 | * We check for the timer first, then check PCI ints A and D. | ||
15 | * Then check for serial IRQ and fall through. | ||
16 | */ | ||
17 | .align 5 | ||
18 | .set reorder | ||
19 | .set noat | ||
20 | NESTED(galileo_handle_int, PT_SIZE, sp) | ||
21 | SAVE_ALL | ||
22 | CLI | ||
23 | .set at | ||
24 | mfc0 t0,CP0_CAUSE | ||
25 | mfc0 t2,CP0_STATUS | ||
26 | |||
27 | and t0,t2 | ||
28 | |||
29 | andi t1,t0,STATUSF_IP4 /* int2 hardware line (timer) */ | ||
30 | bnez t1,ll_gt64120_irq | ||
31 | andi t1,t0,STATUSF_IP2 /* int0 hardware line */ | ||
32 | bnez t1,ll_pci_intA | ||
33 | andi t1,t0,STATUSF_IP5 /* int3 hardware line */ | ||
34 | bnez t1,ll_pci_intD | ||
35 | andi t1,t0,STATUSF_IP6 /* int4 hardware line */ | ||
36 | bnez t1,ll_serial_irq | ||
37 | andi t1,t0,STATUSF_IP7 /* compare int */ | ||
38 | bnez t1,ll_compare_irq | ||
39 | nop | ||
40 | |||
41 | /* wrong alarm or masked ... */ | ||
42 | j spurious_interrupt | ||
43 | nop | ||
44 | END(galileo_handle_int) | ||
45 | |||
46 | |||
47 | .align 5 | ||
48 | .set reorder | ||
49 | ll_gt64120_irq: | ||
50 | li a0,4 | ||
51 | move a1,sp | ||
52 | jal do_IRQ | ||
53 | nop | ||
54 | j ret_from_irq | ||
55 | nop | ||
56 | |||
57 | .align 5 | ||
58 | .set reorder | ||
59 | ll_compare_irq: | ||
60 | li a0,7 | ||
61 | move a1,sp | ||
62 | jal do_IRQ | ||
63 | nop | ||
64 | j ret_from_irq | ||
65 | nop | ||
66 | |||
67 | .align 5 | ||
68 | .set reorder | ||
69 | ll_pci_intA: | ||
70 | move a0,sp | ||
71 | jal pci_intA | ||
72 | nop | ||
73 | j ret_from_irq | ||
74 | nop | ||
75 | |||
76 | #if 0 | ||
77 | .align 5 | ||
78 | .set reorder | ||
79 | ll_pci_intB: | ||
80 | move a0,sp | ||
81 | jal pci_intB | ||
82 | nop | ||
83 | j ret_from_irq | ||
84 | nop | ||
85 | |||
86 | .align 5 | ||
87 | .set reorder | ||
88 | ll_pci_intC: | ||
89 | move a0,sp | ||
90 | jal pci_intC | ||
91 | nop | ||
92 | j ret_from_irq | ||
93 | nop | ||
94 | #endif | ||
95 | |||
96 | .align 5 | ||
97 | .set reorder | ||
98 | ll_pci_intD: | ||
99 | move a0,sp | ||
100 | jal pci_intD | ||
101 | nop | ||
102 | j ret_from_irq | ||
103 | nop | ||
104 | |||
105 | .align 5 | ||
106 | .set reorder | ||
107 | ll_serial_irq: | ||
108 | li a0,6 | ||
109 | move a1,sp | ||
110 | jal do_IRQ | ||
111 | nop | ||
112 | j ret_from_irq | ||
113 | nop | ||
diff --git a/arch/mips/gt64120/ev64120/irq.c b/arch/mips/gt64120/ev64120/irq.c index 3b186159b21a..46c468b26b30 100644 --- a/arch/mips/gt64120/ev64120/irq.c +++ b/arch/mips/gt64120/ev64120/irq.c | |||
@@ -46,14 +46,22 @@ | |||
46 | #include <asm/system.h> | 46 | #include <asm/system.h> |
47 | #include <asm/gt64120.h> | 47 | #include <asm/gt64120.h> |
48 | 48 | ||
49 | asmlinkage inline void pci_intA(struct pt_regs *regs) | 49 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
50 | { | 50 | { |
51 | do_IRQ(GT_INTA, regs); | 51 | unsigned int pending = read_c0_status() & read_c0_cause(); |
52 | } | 52 | |
53 | 53 | if (pending & STATUSF_IP4) /* int2 hardware line (timer) */ | |
54 | asmlinkage inline void pci_intD(struct pt_regs *regs) | 54 | do_IRQ(4, regs); |
55 | { | 55 | else if (pending & STATUSF_IP2) /* int0 hardware line */ |
56 | do_IRQ(GT_INTD, regs); | 56 | do_IRQ(GT_INTA, regs); |
57 | else if (pending & STATUSF_IP5) /* int3 hardware line */ | ||
58 | do_IRQ(GT_INTD, regs); | ||
59 | else if (pending & STATUSF_IP6) /* int4 hardware line */ | ||
60 | do_IRQ(6, regs); | ||
61 | else if (pending & STATUSF_IP7) /* compare int */ | ||
62 | do_IRQ(7, regs); | ||
63 | else | ||
64 | spurious_interrupt(regs); | ||
57 | } | 65 | } |
58 | 66 | ||
59 | static void disable_ev64120_irq(unsigned int irq_nr) | 67 | static void disable_ev64120_irq(unsigned int irq_nr) |
@@ -109,16 +117,11 @@ static struct hw_interrupt_type ev64120_irq_type = { | |||
109 | 117 | ||
110 | void gt64120_irq_setup(void) | 118 | void gt64120_irq_setup(void) |
111 | { | 119 | { |
112 | extern asmlinkage void galileo_handle_int(void); | ||
113 | |||
114 | /* | 120 | /* |
115 | * Clear all of the interrupts while we change the able around a bit. | 121 | * Clear all of the interrupts while we change the able around a bit. |
116 | */ | 122 | */ |
117 | clear_c0_status(ST0_IM); | 123 | clear_c0_status(ST0_IM); |
118 | 124 | ||
119 | /* Sets the exception_handler array. */ | ||
120 | set_except_vector(0, galileo_handle_int); | ||
121 | |||
122 | local_irq_disable(); | 125 | local_irq_disable(); |
123 | 126 | ||
124 | /* | 127 | /* |
diff --git a/arch/mips/gt64120/momenco_ocelot/Makefile b/arch/mips/gt64120/momenco_ocelot/Makefile index 7b59c6567c79..6f708df8373b 100644 --- a/arch/mips/gt64120/momenco_ocelot/Makefile +++ b/arch/mips/gt64120/momenco_ocelot/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for Momentum's Ocelot board. | 2 | # Makefile for Momentum's Ocelot board. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += int-handler.o irq.o prom.o reset.o setup.o | 5 | obj-y += irq.o prom.o reset.o setup.o |
6 | 6 | ||
7 | obj-$(CONFIG_KGDB) += dbg_io.o | 7 | obj-$(CONFIG_KGDB) += dbg_io.o |
8 | 8 | ||
diff --git a/arch/mips/gt64120/momenco_ocelot/int-handler.S b/arch/mips/gt64120/momenco_ocelot/int-handler.S deleted file mode 100644 index 808acef248cc..000000000000 --- a/arch/mips/gt64120/momenco_ocelot/int-handler.S +++ /dev/null | |||
@@ -1,131 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: jsun@mvista.com or jsun@junsun.net | ||
4 | * | ||
5 | * First-level interrupt dispatcher for ocelot board. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | #include <asm/asm.h> | ||
13 | #include <asm/mipsregs.h> | ||
14 | #include <asm/addrspace.h> | ||
15 | #include <asm/regdef.h> | ||
16 | #include <asm/stackframe.h> | ||
17 | |||
18 | /* | ||
19 | * first level interrupt dispatcher for ocelot board - | ||
20 | * We check for the timer first, then check PCI ints A and D. | ||
21 | * Then check for serial IRQ and fall through. | ||
22 | */ | ||
23 | .align 5 | ||
24 | NESTED(ocelot_handle_int, PT_SIZE, sp) | ||
25 | SAVE_ALL | ||
26 | CLI | ||
27 | .set at | ||
28 | mfc0 t0, CP0_CAUSE | ||
29 | mfc0 t2, CP0_STATUS | ||
30 | |||
31 | and t0, t2 | ||
32 | |||
33 | andi t1, t0, STATUSF_IP2 /* int0 hardware line */ | ||
34 | bnez t1, ll_pri_enet_irq | ||
35 | andi t1, t0, STATUSF_IP3 /* int1 hardware line */ | ||
36 | bnez t1, ll_sec_enet_irq | ||
37 | andi t1, t0, STATUSF_IP4 /* int2 hardware line */ | ||
38 | bnez t1, ll_uart1_irq | ||
39 | andi t1, t0, STATUSF_IP5 /* int3 hardware line */ | ||
40 | bnez t1, ll_cpci_irq | ||
41 | andi t1, t0, STATUSF_IP6 /* int4 hardware line */ | ||
42 | bnez t1, ll_galileo_irq | ||
43 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
44 | bnez t1, ll_cputimer_irq | ||
45 | |||
46 | /* now look at the extended interrupts */ | ||
47 | mfc0 t0, CP0_CAUSE | ||
48 | cfc0 t1, CP0_S1_INTCONTROL | ||
49 | |||
50 | /* shift the mask 8 bits left to line up the bits */ | ||
51 | sll t2, t1, 8 | ||
52 | |||
53 | and t0, t2 | ||
54 | srl t0, t0, 16 | ||
55 | |||
56 | andi t1, t0, STATUSF_IP8 /* int6 hardware line */ | ||
57 | bnez t1, ll_pmc1_irq | ||
58 | andi t1, t0, STATUSF_IP9 /* int7 hardware line */ | ||
59 | bnez t1, ll_pmc2_irq | ||
60 | andi t1, t0, STATUSF_IP10 /* int8 hardware line */ | ||
61 | bnez t1, ll_cpci_abcd_irq | ||
62 | andi t1, t0, STATUSF_IP11 /* int9 hardware line */ | ||
63 | bnez t1, ll_uart2_irq | ||
64 | |||
65 | .set reorder | ||
66 | |||
67 | /* wrong alarm or masked ... */ | ||
68 | j spurious_interrupt | ||
69 | nop | ||
70 | END(ocelot_handle_int) | ||
71 | |||
72 | .align 5 | ||
73 | ll_pri_enet_irq: | ||
74 | li a0, 2 | ||
75 | move a1, sp | ||
76 | jal do_IRQ | ||
77 | j ret_from_irq | ||
78 | |||
79 | ll_sec_enet_irq: | ||
80 | li a0, 3 | ||
81 | move a1, sp | ||
82 | jal do_IRQ | ||
83 | j ret_from_irq | ||
84 | |||
85 | ll_uart1_irq: | ||
86 | li a0, 4 | ||
87 | move a1, sp | ||
88 | jal do_IRQ | ||
89 | j ret_from_irq | ||
90 | |||
91 | ll_cpci_irq: | ||
92 | li a0, 5 | ||
93 | move a1, sp | ||
94 | jal do_IRQ | ||
95 | j ret_from_irq | ||
96 | |||
97 | ll_galileo_irq: | ||
98 | li a0, 6 | ||
99 | move a1, sp | ||
100 | jal do_IRQ | ||
101 | j ret_from_irq | ||
102 | |||
103 | ll_cputimer_irq: | ||
104 | li a0, 7 | ||
105 | move a1, sp | ||
106 | jal do_IRQ | ||
107 | j ret_from_irq | ||
108 | |||
109 | ll_pmc1_irq: | ||
110 | li a0, 8 | ||
111 | move a1, sp | ||
112 | jal do_IRQ | ||
113 | j ret_from_irq | ||
114 | |||
115 | ll_pmc2_irq: | ||
116 | li a0, 9 | ||
117 | move a1, sp | ||
118 | jal do_IRQ | ||
119 | j ret_from_irq | ||
120 | |||
121 | ll_cpci_abcd_irq: | ||
122 | li a0, 10 | ||
123 | move a1, sp | ||
124 | jal do_IRQ | ||
125 | j ret_from_irq | ||
126 | |||
127 | ll_uart2_irq: | ||
128 | li a0, 11 | ||
129 | move a1, sp | ||
130 | jal do_IRQ | ||
131 | j ret_from_irq | ||
diff --git a/arch/mips/gt64120/momenco_ocelot/irq.c b/arch/mips/gt64120/momenco_ocelot/irq.c index 4f108da71b23..885f67f32ea3 100644 --- a/arch/mips/gt64120/momenco_ocelot/irq.c +++ b/arch/mips/gt64120/momenco_ocelot/irq.c | |||
@@ -48,7 +48,38 @@ | |||
48 | #include <asm/mipsregs.h> | 48 | #include <asm/mipsregs.h> |
49 | #include <asm/system.h> | 49 | #include <asm/system.h> |
50 | 50 | ||
51 | extern asmlinkage void ocelot_handle_int(void); | 51 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
52 | { | ||
53 | unsigned int pending = read_c0_status() & read_c0_cause(); | ||
54 | |||
55 | if (pending & STATUSF_IP2) /* int0 hardware line */ | ||
56 | do_IRQ(2, regs); | ||
57 | else if (pending & STATUSF_IP3) /* int1 hardware line */ | ||
58 | do_IRQ(3, regs); | ||
59 | else if (pending & STATUSF_IP4) /* int2 hardware line */ | ||
60 | do_IRQ(4, regs); | ||
61 | else if (pending & STATUSF_IP5) /* int3 hardware line */ | ||
62 | do_IRQ(5, regs); | ||
63 | else if (pending & STATUSF_IP6) /* int4 hardware line */ | ||
64 | do_IRQ(6, regs); | ||
65 | else if (pending & STATUSF_IP7) /* cpu timer */ | ||
66 | do_IRQ(7, regs); | ||
67 | else { | ||
68 | /* | ||
69 | * Now look at the extended interrupts | ||
70 | */ | ||
71 | pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16; | ||
72 | |||
73 | if (pending & STATUSF_IP8) /* int6 hardware line */ | ||
74 | do_IRQ(8, regs); | ||
75 | else if (pending & STATUSF_IP9) /* int7 hardware line */ | ||
76 | do_IRQ(9, regs); | ||
77 | else if (pending & STATUSF_IP10) /* int8 hardware line */ | ||
78 | do_IRQ(10, regs); | ||
79 | else if (pending & STATUSF_IP11) /* int9 hardware line */ | ||
80 | do_IRQ(11, regs); | ||
81 | } | ||
82 | } | ||
52 | 83 | ||
53 | void __init arch_init_irq(void) | 84 | void __init arch_init_irq(void) |
54 | { | 85 | { |
@@ -59,9 +90,6 @@ void __init arch_init_irq(void) | |||
59 | clear_c0_status(ST0_IM); | 90 | clear_c0_status(ST0_IM); |
60 | local_irq_disable(); | 91 | local_irq_disable(); |
61 | 92 | ||
62 | /* Sets the first-level interrupt dispatcher. */ | ||
63 | set_except_vector(0, ocelot_handle_int); | ||
64 | |||
65 | mips_cpu_irq_init(0); | 93 | mips_cpu_irq_init(0); |
66 | rm7k_cpu_irq_init(8); | 94 | rm7k_cpu_irq_init(8); |
67 | } | 95 | } |
diff --git a/arch/mips/ite-boards/generic/Makefile b/arch/mips/ite-boards/generic/Makefile index 0e7853f43983..63431538d0ec 100644 --- a/arch/mips/ite-boards/generic/Makefile +++ b/arch/mips/ite-boards/generic/Makefile | |||
@@ -6,7 +6,7 @@ | |||
6 | # Makefile for the ITE 8172 (qed-4n-s01b) board, generic files. | 6 | # Makefile for the ITE 8172 (qed-4n-s01b) board, generic files. |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += it8172_setup.o irq.o int-handler.o pmon_prom.o \ | 9 | obj-y += it8172_setup.o irq.o pmon_prom.o \ |
10 | time.o lpc.o puts.o reset.o | 10 | time.o lpc.o puts.o reset.o |
11 | 11 | ||
12 | obj-$(CONFIG_IT8172_CIR)+= it8172_cir.o | 12 | obj-$(CONFIG_IT8172_CIR)+= it8172_cir.o |
diff --git a/arch/mips/ite-boards/generic/int-handler.S b/arch/mips/ite-boards/generic/int-handler.S deleted file mode 100644 index d190d8add9cb..000000000000 --- a/arch/mips/ite-boards/generic/int-handler.S +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | #include <asm/asm.h> | ||
2 | #include <asm/mipsregs.h> | ||
3 | #include <asm/regdef.h> | ||
4 | #include <asm/stackframe.h> | ||
5 | |||
6 | .text | ||
7 | .set macro | ||
8 | .set noat | ||
9 | .align 5 | ||
10 | |||
11 | NESTED(it8172_IRQ, PT_SIZE, sp) | ||
12 | SAVE_ALL | ||
13 | CLI # Important: mark KERNEL mode ! | ||
14 | |||
15 | /* We're working with 'reorder' set at this point. */ | ||
16 | /* | ||
17 | * Get pending interrupts | ||
18 | */ | ||
19 | |||
20 | mfc0 t0,CP0_CAUSE # get pending interrupts | ||
21 | mfc0 t1,CP0_STATUS # get enabled interrupts | ||
22 | and t0,t1 # isolate allowed ones | ||
23 | |||
24 | andi t0,0xff00 # isolate pending bits | ||
25 | beqz t0, 3f # spurious interrupt | ||
26 | |||
27 | andi a0, t0, CAUSEF_IP7 | ||
28 | beq a0, zero, 1f | ||
29 | |||
30 | li a0, 127 # MIPS_CPU_TIMER_IRQ = (NR_IRQS-1) | ||
31 | move a1, sp | ||
32 | jal ll_timer_interrupt | ||
33 | j ret_from_irq | ||
34 | nop | ||
35 | |||
36 | 1: | ||
37 | andi a0, t0, CAUSEF_IP2 # the only int we expect at this time | ||
38 | beq a0, zero, 3f | ||
39 | move a0,sp | ||
40 | jal it8172_hw0_irqdispatch | ||
41 | |||
42 | mfc0 t0,CP0_STATUS # disable interrupts | ||
43 | ori t0,1 | ||
44 | xori t0,1 | ||
45 | mtc0 t0,CP0_STATUS | ||
46 | nop | ||
47 | nop | ||
48 | nop | ||
49 | |||
50 | la a1, ret_from_irq | ||
51 | jr a1 | ||
52 | nop | ||
53 | |||
54 | 3: | ||
55 | move a0, sp | ||
56 | jal mips_spurious_interrupt | ||
57 | nop | ||
58 | la a1, ret_from_irq | ||
59 | jr a1 | ||
60 | nop | ||
61 | |||
62 | END(it8172_IRQ) | ||
63 | |||
diff --git a/arch/mips/ite-boards/generic/irq.c b/arch/mips/ite-boards/generic/irq.c index e67f96129491..77be7216bdd0 100644 --- a/arch/mips/ite-boards/generic/irq.c +++ b/arch/mips/ite-boards/generic/irq.c | |||
@@ -62,12 +62,8 @@ | |||
62 | 62 | ||
63 | #define ALLINTS_NOTIMER (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4) | 63 | #define ALLINTS_NOTIMER (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4) |
64 | 64 | ||
65 | void disable_it8172_irq(unsigned int irq_nr); | ||
66 | void enable_it8172_irq(unsigned int irq_nr); | ||
67 | |||
68 | extern void set_debug_traps(void); | 65 | extern void set_debug_traps(void); |
69 | extern void mips_timer_interrupt(int irq, struct pt_regs *regs); | 66 | extern void mips_timer_interrupt(int irq, struct pt_regs *regs); |
70 | extern asmlinkage void it8172_IRQ(void); | ||
71 | 67 | ||
72 | struct it8172_intc_regs volatile *it8172_hw0_icregs = | 68 | struct it8172_intc_regs volatile *it8172_hw0_icregs = |
73 | (struct it8172_intc_regs volatile *)(KSEG1ADDR(IT8172_PCI_IO_BASE + IT_INTC_BASE)); | 69 | (struct it8172_intc_regs volatile *)(KSEG1ADDR(IT8172_PCI_IO_BASE + IT_INTC_BASE)); |
@@ -181,8 +177,6 @@ void __init arch_init_irq(void) | |||
181 | int i; | 177 | int i; |
182 | unsigned long flags; | 178 | unsigned long flags; |
183 | 179 | ||
184 | set_except_vector(0, it8172_IRQ); | ||
185 | |||
186 | /* mask all interrupts */ | 180 | /* mask all interrupts */ |
187 | it8172_hw0_icregs->lb_mask = 0xffff; | 181 | it8172_hw0_icregs->lb_mask = 0xffff; |
188 | it8172_hw0_icregs->lpc_mask = 0xffff; | 182 | it8172_hw0_icregs->lpc_mask = 0xffff; |
@@ -282,6 +276,18 @@ void it8172_hw0_irqdispatch(struct pt_regs *regs) | |||
282 | do_IRQ(irq, regs); | 276 | do_IRQ(irq, regs); |
283 | } | 277 | } |
284 | 278 | ||
279 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
280 | { | ||
281 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
282 | |||
283 | if (!pending) | ||
284 | mips_spurious_interrupt(regs); | ||
285 | else if (pending & CAUSEF_IP7) | ||
286 | ll_timer_interrupt(127, regs); | ||
287 | else if (pending & CAUSEF_IP2) | ||
288 | it8172_hw0_irqdispatch(regs); | ||
289 | } | ||
290 | |||
285 | void show_pending_irqs(void) | 291 | void show_pending_irqs(void) |
286 | { | 292 | { |
287 | fputs("intstatus: "); | 293 | fputs("intstatus: "); |
diff --git a/arch/mips/ite-boards/generic/time.c b/arch/mips/ite-boards/generic/time.c index b79817bb6cce..dee497a91807 100644 --- a/arch/mips/ite-boards/generic/time.c +++ b/arch/mips/ite-boards/generic/time.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/sched.h> | 29 | #include <linux/sched.h> |
30 | #include <linux/time.h> | 30 | #include <linux/time.h> |
31 | #include <linux/spinlock.h> | 31 | #include <linux/spinlock.h> |
32 | #include <linux/mc146818rtc.h> | ||
32 | 33 | ||
33 | #include <asm/time.h> | 34 | #include <asm/time.h> |
34 | #include <asm/mipsregs.h> | 35 | #include <asm/mipsregs.h> |
diff --git a/arch/mips/ite-boards/ivr/init.c b/arch/mips/ite-boards/ivr/init.c index b774db035b31..05cf9218c432 100644 --- a/arch/mips/ite-boards/ivr/init.c +++ b/arch/mips/ite-boards/ivr/init.c | |||
@@ -34,13 +34,13 @@ | |||
34 | #include <asm/bootinfo.h> | 34 | #include <asm/bootinfo.h> |
35 | #include <linux/string.h> | 35 | #include <linux/string.h> |
36 | #include <linux/kernel.h> | 36 | #include <linux/kernel.h> |
37 | #include <asm/sections.h> | ||
37 | #include <asm/it8172/it8172.h> | 38 | #include <asm/it8172/it8172.h> |
38 | #include <asm/it8172/it8172_dbg.h> | 39 | #include <asm/it8172/it8172_dbg.h> |
39 | 40 | ||
40 | int prom_argc; | 41 | int prom_argc; |
41 | char **prom_argv, **prom_envp; | 42 | char **prom_argv, **prom_envp; |
42 | 43 | ||
43 | extern char _end; | ||
44 | extern void __init prom_init_cmdline(void); | 44 | extern void __init prom_init_cmdline(void); |
45 | extern unsigned long __init prom_get_memsize(void); | 45 | extern unsigned long __init prom_get_memsize(void); |
46 | extern void __init it8172_init_ram_resource(unsigned long memsize); | 46 | extern void __init it8172_init_ram_resource(unsigned long memsize); |
diff --git a/arch/mips/ite-boards/qed-4n-s01b/init.c b/arch/mips/ite-boards/qed-4n-s01b/init.c index e8ec8be66a80..ea2a754cafe5 100644 --- a/arch/mips/ite-boards/qed-4n-s01b/init.c +++ b/arch/mips/ite-boards/qed-4n-s01b/init.c | |||
@@ -34,13 +34,13 @@ | |||
34 | #include <asm/bootinfo.h> | 34 | #include <asm/bootinfo.h> |
35 | #include <linux/string.h> | 35 | #include <linux/string.h> |
36 | #include <linux/kernel.h> | 36 | #include <linux/kernel.h> |
37 | #include <asm/sections.h> | ||
37 | #include <asm/it8172/it8172.h> | 38 | #include <asm/it8172/it8172.h> |
38 | #include <asm/it8172/it8172_dbg.h> | 39 | #include <asm/it8172/it8172_dbg.h> |
39 | 40 | ||
40 | int prom_argc; | 41 | int prom_argc; |
41 | char **prom_argv, **prom_envp; | 42 | char **prom_argv, **prom_envp; |
42 | 43 | ||
43 | extern char _end; | ||
44 | extern void __init prom_init_cmdline(void); | 44 | extern void __init prom_init_cmdline(void); |
45 | extern unsigned long __init prom_get_memsize(void); | 45 | extern unsigned long __init prom_get_memsize(void); |
46 | extern void __init it8172_init_ram_resource(unsigned long memsize); | 46 | extern void __init it8172_init_ram_resource(unsigned long memsize); |
diff --git a/arch/mips/jazz/Makefile b/arch/mips/jazz/Makefile index 85749246a671..02bd39add891 100644 --- a/arch/mips/jazz/Makefile +++ b/arch/mips/jazz/Makefile | |||
@@ -2,6 +2,6 @@ | |||
2 | # Makefile for the Jazz family specific parts of the kernel | 2 | # Makefile for the Jazz family specific parts of the kernel |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := int-handler.o irq.o jazzdma.o reset.o setup.o | 5 | obj-y := irq.o jazzdma.o reset.o setup.o |
6 | 6 | ||
7 | EXTRA_AFLAGS := $(CFLAGS) | 7 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/jazz/int-handler.S b/arch/mips/jazz/int-handler.S deleted file mode 100644 index dc752c67b528..000000000000 --- a/arch/mips/jazz/int-handler.S +++ /dev/null | |||
@@ -1,282 +0,0 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1995, 1996, 1997, 1998 by Ralf Baechle and Andreas Busse | ||
7 | * | ||
8 | * Jazz family specific interrupt stuff | ||
9 | * | ||
10 | * To do: On Jazz machines we remap some non-ISA interrupts to ISA | ||
11 | * interrupts. These interrupts should use their own vectors. | ||
12 | * Squeeze the last cycles out of the handlers. Only a dead | ||
13 | * cycle is a good cycle. | ||
14 | */ | ||
15 | #include <asm/asm.h> | ||
16 | #include <asm/mipsregs.h> | ||
17 | #include <asm/jazz.h> | ||
18 | #include <asm/regdef.h> | ||
19 | #include <asm/stackframe.h> | ||
20 | |||
21 | /* | ||
22 | * jazz_handle_int: Interrupt handler for the ACER Pica-61 boards | ||
23 | */ | ||
24 | .set noreorder | ||
25 | |||
26 | NESTED(jazz_handle_int, PT_SIZE, ra) | ||
27 | .set noat | ||
28 | SAVE_ALL | ||
29 | CLI | ||
30 | .set at | ||
31 | |||
32 | /* | ||
33 | * Get pending interrupts | ||
34 | */ | ||
35 | mfc0 t0,CP0_CAUSE # get pending interrupts | ||
36 | mfc0 t1,CP0_STATUS # get enabled interrupts | ||
37 | and t0,t1 # isolate allowed ones | ||
38 | andi t0,0xff00 # isolate pending bits | ||
39 | beqz t0,3f | ||
40 | sll t0,16 # delay slot | ||
41 | |||
42 | /* | ||
43 | * Find irq with highest priority | ||
44 | * FIXME: This is slow - use binary search | ||
45 | */ | ||
46 | la t1,ll_vectors | ||
47 | 1: bltz t0,2f # found pending irq | ||
48 | sll t0,1 | ||
49 | b 1b | ||
50 | subu t1,PTRSIZE # delay slot | ||
51 | |||
52 | /* | ||
53 | * Do the low-level stuff | ||
54 | */ | ||
55 | 2: lw t0,(t1) | ||
56 | jr t0 | ||
57 | nop # delay slot | ||
58 | END(jazz_handle_int) | ||
59 | |||
60 | ll_sw0: li s1,~IE_SW0 | ||
61 | mfc0 t0,CP0_CAUSE | ||
62 | and t0,s1 | ||
63 | mtc0 t0,CP0_CAUSE | ||
64 | PANIC("Unimplemented sw0 handler") | ||
65 | |||
66 | ll_sw1: li s1,~IE_SW1 | ||
67 | mfc0 t0,CP0_CAUSE | ||
68 | and t0,s1 | ||
69 | mtc0 t0,CP0_CAUSE | ||
70 | PANIC("Unimplemented sw1 handler") | ||
71 | |||
72 | ll_local_dma: li s1,~IE_IRQ0 | ||
73 | PANIC("Unimplemented local_dma handler") | ||
74 | |||
75 | ll_local_dev: lbu t0,JAZZ_IO_IRQ_SOURCE | ||
76 | #if PTRSIZE == 8 /* True 64 bit kernel */ | ||
77 | dsll t0,1 | ||
78 | #endif | ||
79 | .set reorder | ||
80 | LONG_L t0,local_vector(t0) | ||
81 | jr t0 | ||
82 | .set noreorder | ||
83 | |||
84 | /* | ||
85 | * The braindead PICA hardware gives us no way to distinguish if we really | ||
86 | * received interrupt 7 from the (E)ISA bus or if we just received an | ||
87 | * interrupt with no findable cause. This sometimes happens with braindead | ||
88 | * cards. Oh well - for all the Jazz boxes slots are more or less just | ||
89 | * whistles and bells and we're aware of the problem. | ||
90 | */ | ||
91 | ll_isa_irq: lw a0, JAZZ_EISA_IRQ_ACK | ||
92 | |||
93 | jal do_IRQ | ||
94 | move a1,sp | ||
95 | |||
96 | j ret_from_irq | ||
97 | nop | ||
98 | |||
99 | /* | ||
100 | * Hmm... This is not just a plain PC clone so the question is | ||
101 | * which devices on Jazz machines can generate an (E)ISA NMI? | ||
102 | * (Writing to nonexistent memory?) | ||
103 | */ | ||
104 | ll_isa_nmi: li s1,~IE_IRQ3 | ||
105 | PANIC("Unimplemented isa_nmi handler") | ||
106 | |||
107 | /* | ||
108 | * Timer IRQ - remapped to be more similar to an IBM compatible. | ||
109 | * | ||
110 | * The timer interrupt is handled specially to ensure that the jiffies | ||
111 | * variable is updated at all times. Specifically, the timer interrupt is | ||
112 | * just like the complete handlers except that it is invoked with interrupts | ||
113 | * disabled and should never re-enable them. If other interrupts were | ||
114 | * allowed to be processed while the timer interrupt is active, then the | ||
115 | * other interrupts would have to avoid using the jiffies variable for delay | ||
116 | * and interval timing operations to avoid hanging the system. | ||
117 | */ | ||
118 | ll_timer: lw zero,JAZZ_TIMER_REGISTER # timer irq cleared on read | ||
119 | li s1,~IE_IRQ4 | ||
120 | |||
121 | li a0, JAZZ_TIMER_IRQ | ||
122 | jal do_IRQ | ||
123 | move a1,sp | ||
124 | |||
125 | mfc0 t0,CP0_STATUS # disable interrupts again | ||
126 | ori t0,1 | ||
127 | xori t0,1 | ||
128 | mtc0 t0,CP0_STATUS | ||
129 | |||
130 | j ret_from_irq | ||
131 | nop | ||
132 | |||
133 | /* | ||
134 | * CPU count/compare IRQ (unused) | ||
135 | */ | ||
136 | ll_count: j ret_from_irq | ||
137 | mtc0 zero,CP0_COMPARE | ||
138 | |||
139 | #if 0 | ||
140 | /* | ||
141 | * Call the handler for the interrupt | ||
142 | * (Currently unused) | ||
143 | */ | ||
144 | call_real: /* | ||
145 | * temporarily disable interrupt | ||
146 | */ | ||
147 | mfc0 t2,CP0_STATUS | ||
148 | and t2,s1 | ||
149 | mtc0 t2,CP0_STATUS | ||
150 | nor s1,zero,s1 | ||
151 | jal do_IRQ | ||
152 | |||
153 | /* | ||
154 | * reenable interrupt | ||
155 | */ | ||
156 | mfc0 t2,CP0_STATUS | ||
157 | or t2,s1 | ||
158 | mtc0 t2,CP0_STATUS | ||
159 | j ret_from_irq | ||
160 | #endif | ||
161 | |||
162 | .data | ||
163 | PTR ll_sw0 # SW0 | ||
164 | PTR ll_sw1 # SW1 | ||
165 | PTR ll_local_dma # Local DMA | ||
166 | PTR ll_local_dev # Local devices | ||
167 | PTR ll_isa_irq # ISA IRQ | ||
168 | PTR ll_isa_nmi # ISA NMI | ||
169 | PTR ll_timer # Timer | ||
170 | ll_vectors: PTR ll_count # Count/Compare IRQ | ||
171 | |||
172 | /* | ||
173 | * Interrupt handlers for local devices. | ||
174 | */ | ||
175 | .text | ||
176 | .set reorder | ||
177 | loc_no_irq: PANIC("Unimplemented loc_no_irq handler") | ||
178 | /* | ||
179 | * Parallel port IRQ | ||
180 | */ | ||
181 | loc_parallel: li s1,~JAZZ_IE_PARALLEL | ||
182 | li a0,JAZZ_PARALLEL_IRQ | ||
183 | b loc_call | ||
184 | |||
185 | /* | ||
186 | * Floppy IRQ | ||
187 | */ | ||
188 | loc_floppy: li s1,~JAZZ_IE_FLOPPY | ||
189 | li a0,JAZZ_FLOPPY_IRQ | ||
190 | b loc_call | ||
191 | |||
192 | /* | ||
193 | * Sound IRQ | ||
194 | */ | ||
195 | loc_sound: PANIC("Unimplemented loc_sound handler") | ||
196 | loc_video: PANIC("Unimplemented loc_video handler") | ||
197 | |||
198 | /* | ||
199 | * Ethernet interrupt handler | ||
200 | */ | ||
201 | loc_ethernet: li s1,~JAZZ_IE_ETHERNET | ||
202 | li a0,JAZZ_ETHERNET_IRQ | ||
203 | b loc_call | ||
204 | |||
205 | /* | ||
206 | * SCSI interrupt handler | ||
207 | */ | ||
208 | loc_scsi: li s1,~JAZZ_IE_SCSI | ||
209 | li a0,JAZZ_SCSI_IRQ | ||
210 | b loc_call | ||
211 | |||
212 | /* | ||
213 | * Keyboard interrupt handler | ||
214 | */ | ||
215 | loc_keyboard: li s1,~JAZZ_IE_KEYBOARD | ||
216 | li a0,JAZZ_KEYBOARD_IRQ | ||
217 | b loc_call | ||
218 | |||
219 | /* | ||
220 | * Mouse interrupt handler | ||
221 | */ | ||
222 | loc_mouse: li s1,~JAZZ_IE_MOUSE | ||
223 | li a0,JAZZ_MOUSE_IRQ | ||
224 | b loc_call | ||
225 | |||
226 | /* | ||
227 | * Serial port 1 IRQ | ||
228 | */ | ||
229 | loc_serial1: li s1,~JAZZ_IE_SERIAL1 | ||
230 | li a0,JAZZ_SERIAL1_IRQ | ||
231 | b loc_call | ||
232 | |||
233 | /* | ||
234 | * Serial port 2 IRQ | ||
235 | */ | ||
236 | loc_serial2: li s1,~JAZZ_IE_SERIAL2 | ||
237 | li a0,JAZZ_SERIAL2_IRQ | ||
238 | b loc_call | ||
239 | |||
240 | /* | ||
241 | * Call the interrupt handler for an interrupt generated by a | ||
242 | * local device. | ||
243 | */ | ||
244 | loc_call: /* | ||
245 | * Temporarily disable interrupt source | ||
246 | */ | ||
247 | lhu t2,JAZZ_IO_IRQ_ENABLE | ||
248 | and t2,s1 | ||
249 | sh t2,JAZZ_IO_IRQ_ENABLE | ||
250 | |||
251 | nor s1,zero,s1 | ||
252 | jal do_IRQ | ||
253 | |||
254 | /* | ||
255 | * Reenable interrupt | ||
256 | */ | ||
257 | lhu t2,JAZZ_IO_IRQ_ENABLE | ||
258 | or t2,s1 | ||
259 | sh t2,JAZZ_IO_IRQ_ENABLE | ||
260 | |||
261 | j ret_from_irq | ||
262 | |||
263 | /* | ||
264 | * "Jump extender" to reach spurious_interrupt | ||
265 | */ | ||
266 | 3: j spurious_interrupt | ||
267 | |||
268 | /* | ||
269 | * Vectors for interrupts generated by local devices | ||
270 | */ | ||
271 | .data | ||
272 | local_vector: PTR loc_no_irq | ||
273 | PTR loc_parallel | ||
274 | PTR loc_floppy | ||
275 | PTR loc_sound | ||
276 | PTR loc_video | ||
277 | PTR loc_ethernet | ||
278 | PTR loc_scsi | ||
279 | PTR loc_keyboard | ||
280 | PTR loc_mouse | ||
281 | PTR loc_serial1 | ||
282 | PTR loc_serial2 | ||
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c index b309b1bcf2e8..becc9accd495 100644 --- a/arch/mips/jazz/irq.c +++ b/arch/mips/jazz/irq.c | |||
@@ -15,8 +15,6 @@ | |||
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/jazz.h> | 16 | #include <asm/jazz.h> |
17 | 17 | ||
18 | extern asmlinkage void jazz_handle_int(void); | ||
19 | |||
20 | static DEFINE_SPINLOCK(r4030_lock); | 18 | static DEFINE_SPINLOCK(r4030_lock); |
21 | 19 | ||
22 | static void enable_r4030_irq(unsigned int irq) | 20 | static void enable_r4030_irq(unsigned int irq) |
@@ -90,10 +88,82 @@ void __init init_r4030_ints(void) | |||
90 | */ | 88 | */ |
91 | void __init arch_init_irq(void) | 89 | void __init arch_init_irq(void) |
92 | { | 90 | { |
93 | set_except_vector(0, jazz_handle_int); | ||
94 | |||
95 | init_i8259_irqs(); /* Integrated i8259 */ | 91 | init_i8259_irqs(); /* Integrated i8259 */ |
96 | init_r4030_ints(); | 92 | init_r4030_ints(); |
97 | 93 | ||
98 | change_c0_status(ST0_IM, IE_IRQ4 | IE_IRQ3 | IE_IRQ2 | IE_IRQ1); | 94 | change_c0_status(ST0_IM, IE_IRQ4 | IE_IRQ3 | IE_IRQ2 | IE_IRQ1); |
99 | } | 95 | } |
96 | |||
97 | static void loc_call(unsigned int irq, struct pt_regs *regs, unsigned int mask) | ||
98 | { | ||
99 | r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, | ||
100 | r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) & mask); | ||
101 | do_IRQ(irq, regs); | ||
102 | r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, | ||
103 | r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) | mask); | ||
104 | } | ||
105 | |||
106 | static void ll_local_dev(struct pt_regs *regs) | ||
107 | { | ||
108 | switch (r4030_read_reg32(JAZZ_IO_IRQ_SOURCE)) { | ||
109 | case 0: | ||
110 | panic("Unimplemented loc_no_irq handler"); | ||
111 | break; | ||
112 | case 4: | ||
113 | loc_call(JAZZ_PARALLEL_IRQ, regs, JAZZ_IE_PARALLEL); | ||
114 | break; | ||
115 | case 8: | ||
116 | loc_call(JAZZ_PARALLEL_IRQ, regs, JAZZ_IE_FLOPPY); | ||
117 | break; | ||
118 | case 12: | ||
119 | panic("Unimplemented loc_sound handler"); | ||
120 | break; | ||
121 | case 16: | ||
122 | panic("Unimplemented loc_video handler"); | ||
123 | break; | ||
124 | case 20: | ||
125 | loc_call(JAZZ_ETHERNET_IRQ, regs, JAZZ_IE_ETHERNET); | ||
126 | break; | ||
127 | case 24: | ||
128 | loc_call(JAZZ_SCSI_IRQ, regs, JAZZ_IE_SCSI); | ||
129 | break; | ||
130 | case 28: | ||
131 | loc_call(JAZZ_KEYBOARD_IRQ, regs, JAZZ_IE_KEYBOARD); | ||
132 | break; | ||
133 | case 32: | ||
134 | loc_call(JAZZ_MOUSE_IRQ, regs, JAZZ_IE_MOUSE); | ||
135 | break; | ||
136 | case 36: | ||
137 | loc_call(JAZZ_SERIAL1_IRQ, regs, JAZZ_IE_SERIAL1); | ||
138 | break; | ||
139 | case 40: | ||
140 | loc_call(JAZZ_SERIAL2_IRQ, regs, JAZZ_IE_SERIAL2); | ||
141 | break; | ||
142 | } | ||
143 | } | ||
144 | |||
145 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
146 | { | ||
147 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
148 | |||
149 | if (pending & IE_IRQ5) | ||
150 | write_c0_compare(0); | ||
151 | else if (pending & IE_IRQ4) { | ||
152 | r4030_read_reg32(JAZZ_TIMER_REGISTER); | ||
153 | do_IRQ(JAZZ_TIMER_IRQ, regs); | ||
154 | } else if (pending & IE_IRQ3) | ||
155 | panic("Unimplemented ISA NMI handler"); | ||
156 | else if (pending & IE_IRQ2) | ||
157 | do_IRQ(r4030_read_reg32(JAZZ_EISA_IRQ_ACK), regs); | ||
158 | else if (pending & IE_IRQ1) { | ||
159 | ll_local_dev(regs); | ||
160 | } else if (unlikely(pending & IE_IRQ0)) | ||
161 | panic("Unimplemented local_dma handler"); | ||
162 | else if (pending & IE_SW1) { | ||
163 | clear_c0_cause(IE_SW1); | ||
164 | panic("Unimplemented sw1 handler"); | ||
165 | } else if (pending & IE_SW0) { | ||
166 | clear_c0_cause(IE_SW0); | ||
167 | panic("Unimplemented sw0 handler"); | ||
168 | } | ||
169 | } | ||
diff --git a/arch/mips/jmr3927/common/rtc_ds1742.c b/arch/mips/jmr3927/common/rtc_ds1742.c index a6bd3f4d3049..e6561345d12a 100644 --- a/arch/mips/jmr3927/common/rtc_ds1742.c +++ b/arch/mips/jmr3927/common/rtc_ds1742.c | |||
@@ -60,15 +60,15 @@ rtc_ds1742_get_time(void) | |||
60 | unsigned long flags; | 60 | unsigned long flags; |
61 | 61 | ||
62 | spin_lock_irqsave(&rtc_lock, flags); | 62 | spin_lock_irqsave(&rtc_lock, flags); |
63 | CMOS_WRITE(RTC_READ, RTC_CONTROL); | 63 | rtc_write(RTC_READ, RTC_CONTROL); |
64 | second = BCD2BIN(CMOS_READ(RTC_SECONDS) & RTC_SECONDS_MASK); | 64 | second = BCD2BIN(rtc_read(RTC_SECONDS) & RTC_SECONDS_MASK); |
65 | minute = BCD2BIN(CMOS_READ(RTC_MINUTES)); | 65 | minute = BCD2BIN(rtc_read(RTC_MINUTES)); |
66 | hour = BCD2BIN(CMOS_READ(RTC_HOURS)); | 66 | hour = BCD2BIN(rtc_read(RTC_HOURS)); |
67 | day = BCD2BIN(CMOS_READ(RTC_DATE)); | 67 | day = BCD2BIN(rtc_read(RTC_DATE)); |
68 | month = BCD2BIN(CMOS_READ(RTC_MONTH)); | 68 | month = BCD2BIN(rtc_read(RTC_MONTH)); |
69 | year = BCD2BIN(CMOS_READ(RTC_YEAR)); | 69 | year = BCD2BIN(rtc_read(RTC_YEAR)); |
70 | century = BCD2BIN(CMOS_READ(RTC_CENTURY) & RTC_CENTURY_MASK); | 70 | century = BCD2BIN(rtc_read(RTC_CENTURY) & RTC_CENTURY_MASK); |
71 | CMOS_WRITE(0, RTC_CONTROL); | 71 | rtc_write(0, RTC_CONTROL); |
72 | spin_unlock_irqrestore(&rtc_lock, flags); | 72 | spin_unlock_irqrestore(&rtc_lock, flags); |
73 | 73 | ||
74 | year += century * 100; | 74 | year += century * 100; |
@@ -87,16 +87,16 @@ rtc_ds1742_set_time(unsigned long t) | |||
87 | unsigned long flags; | 87 | unsigned long flags; |
88 | 88 | ||
89 | spin_lock_irqsave(&rtc_lock, flags); | 89 | spin_lock_irqsave(&rtc_lock, flags); |
90 | CMOS_WRITE(RTC_READ, RTC_CONTROL); | 90 | rtc_write(RTC_READ, RTC_CONTROL); |
91 | cmos_second = (u8)(CMOS_READ(RTC_SECONDS) & RTC_SECONDS_MASK); | 91 | cmos_second = (u8)(rtc_read(RTC_SECONDS) & RTC_SECONDS_MASK); |
92 | cmos_minute = (u8)CMOS_READ(RTC_MINUTES); | 92 | cmos_minute = (u8)rtc_read(RTC_MINUTES); |
93 | cmos_hour = (u8)CMOS_READ(RTC_HOURS); | 93 | cmos_hour = (u8)rtc_read(RTC_HOURS); |
94 | cmos_day = (u8)CMOS_READ(RTC_DATE); | 94 | cmos_day = (u8)rtc_read(RTC_DATE); |
95 | cmos_month = (u8)CMOS_READ(RTC_MONTH); | 95 | cmos_month = (u8)rtc_read(RTC_MONTH); |
96 | cmos_year = (u8)CMOS_READ(RTC_YEAR); | 96 | cmos_year = (u8)rtc_read(RTC_YEAR); |
97 | cmos_century = CMOS_READ(RTC_CENTURY) & RTC_CENTURY_MASK; | 97 | cmos_century = rtc_read(RTC_CENTURY) & RTC_CENTURY_MASK; |
98 | 98 | ||
99 | CMOS_WRITE(RTC_WRITE, RTC_CONTROL); | 99 | rtc_write(RTC_WRITE, RTC_CONTROL); |
100 | 100 | ||
101 | /* convert */ | 101 | /* convert */ |
102 | to_tm(t, &tm); | 102 | to_tm(t, &tm); |
@@ -104,18 +104,18 @@ rtc_ds1742_set_time(unsigned long t) | |||
104 | /* check each field one by one */ | 104 | /* check each field one by one */ |
105 | year = BIN2BCD(tm.tm_year - EPOCH); | 105 | year = BIN2BCD(tm.tm_year - EPOCH); |
106 | if (year != cmos_year) { | 106 | if (year != cmos_year) { |
107 | CMOS_WRITE(year,RTC_YEAR); | 107 | rtc_write(year,RTC_YEAR); |
108 | } | 108 | } |
109 | 109 | ||
110 | month = BIN2BCD(tm.tm_mon); | 110 | month = BIN2BCD(tm.tm_mon); |
111 | if (month != (cmos_month & 0x1f)) { | 111 | if (month != (cmos_month & 0x1f)) { |
112 | CMOS_WRITE((month & 0x1f) | (cmos_month & ~0x1f),RTC_MONTH); | 112 | rtc_write((month & 0x1f) | (cmos_month & ~0x1f),RTC_MONTH); |
113 | } | 113 | } |
114 | 114 | ||
115 | day = BIN2BCD(tm.tm_mday); | 115 | day = BIN2BCD(tm.tm_mday); |
116 | if (day != cmos_day) { | 116 | if (day != cmos_day) { |
117 | 117 | ||
118 | CMOS_WRITE(day, RTC_DATE); | 118 | rtc_write(day, RTC_DATE); |
119 | } | 119 | } |
120 | 120 | ||
121 | if (cmos_hour & 0x40) { | 121 | if (cmos_hour & 0x40) { |
@@ -130,20 +130,20 @@ rtc_ds1742_set_time(unsigned long t) | |||
130 | /* 24 hour format */ | 130 | /* 24 hour format */ |
131 | hour = BIN2BCD(tm.tm_hour) & 0x3f; | 131 | hour = BIN2BCD(tm.tm_hour) & 0x3f; |
132 | } | 132 | } |
133 | if (hour != cmos_hour) CMOS_WRITE(hour, RTC_HOURS); | 133 | if (hour != cmos_hour) rtc_write(hour, RTC_HOURS); |
134 | 134 | ||
135 | minute = BIN2BCD(tm.tm_min); | 135 | minute = BIN2BCD(tm.tm_min); |
136 | if (minute != cmos_minute) { | 136 | if (minute != cmos_minute) { |
137 | CMOS_WRITE(minute, RTC_MINUTES); | 137 | rtc_write(minute, RTC_MINUTES); |
138 | } | 138 | } |
139 | 139 | ||
140 | second = BIN2BCD(tm.tm_sec); | 140 | second = BIN2BCD(tm.tm_sec); |
141 | if (second != cmos_second) { | 141 | if (second != cmos_second) { |
142 | CMOS_WRITE(second & RTC_SECONDS_MASK,RTC_SECONDS); | 142 | rtc_write(second & RTC_SECONDS_MASK,RTC_SECONDS); |
143 | } | 143 | } |
144 | 144 | ||
145 | /* RTC_CENTURY and RTC_CONTROL share same address... */ | 145 | /* RTC_CENTURY and RTC_CONTROL share same address... */ |
146 | CMOS_WRITE(cmos_century, RTC_CONTROL); | 146 | rtc_write(cmos_century, RTC_CONTROL); |
147 | spin_unlock_irqrestore(&rtc_lock, flags); | 147 | spin_unlock_irqrestore(&rtc_lock, flags); |
148 | 148 | ||
149 | return 0; | 149 | return 0; |
@@ -163,9 +163,9 @@ rtc_ds1742_init(unsigned long base) | |||
163 | rtc_mips_set_time = rtc_ds1742_set_time; | 163 | rtc_mips_set_time = rtc_ds1742_set_time; |
164 | 164 | ||
165 | /* clear oscillator stop bit */ | 165 | /* clear oscillator stop bit */ |
166 | CMOS_WRITE(RTC_READ, RTC_CONTROL); | 166 | rtc_write(RTC_READ, RTC_CONTROL); |
167 | cmos_second = (u8)(CMOS_READ(RTC_SECONDS) & RTC_SECONDS_MASK); | 167 | cmos_second = (u8)(rtc_read(RTC_SECONDS) & RTC_SECONDS_MASK); |
168 | CMOS_WRITE(RTC_WRITE, RTC_CONTROL); | 168 | rtc_write(RTC_WRITE, RTC_CONTROL); |
169 | CMOS_WRITE(cmos_second, RTC_SECONDS); /* clear msb */ | 169 | rtc_write(cmos_second, RTC_SECONDS); /* clear msb */ |
170 | CMOS_WRITE(0, RTC_CONTROL); | 170 | rtc_write(0, RTC_CONTROL); |
171 | } | 171 | } |
diff --git a/arch/mips/jmr3927/rbhma3100/Makefile b/arch/mips/jmr3927/rbhma3100/Makefile index 75bf418b94c0..baf5077813c1 100644 --- a/arch/mips/jmr3927/rbhma3100/Makefile +++ b/arch/mips/jmr3927/rbhma3100/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for TOSHIBA JMR-TX3927 board | 2 | # Makefile for TOSHIBA JMR-TX3927 board |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += init.o int-handler.o irq.o setup.o | 5 | obj-y += init.o irq.o setup.o |
6 | obj-$(CONFIG_RUNTIME_DEBUG) += debug.o | 6 | obj-$(CONFIG_RUNTIME_DEBUG) += debug.o |
7 | obj-$(CONFIG_KGDB) += kgdb_io.o | 7 | obj-$(CONFIG_KGDB) += kgdb_io.o |
8 | 8 | ||
diff --git a/arch/mips/jmr3927/rbhma3100/int-handler.S b/arch/mips/jmr3927/rbhma3100/int-handler.S deleted file mode 100644 index f85bbf407542..000000000000 --- a/arch/mips/jmr3927/rbhma3100/int-handler.S +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: MontaVista Software, Inc. | ||
4 | * ahennessy@mvista.com | ||
5 | * | ||
6 | * Based on arch/mips/tsdb/kernel/int-handler.S | ||
7 | * | ||
8 | * Copyright (C) 2000-2001 Toshiba Corporation | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | * | ||
15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
16 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
17 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
18 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
21 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
22 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License along | ||
27 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
28 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
29 | */ | ||
30 | |||
31 | #include <asm/asm.h> | ||
32 | #include <asm/mipsregs.h> | ||
33 | #include <asm/regdef.h> | ||
34 | #include <asm/stackframe.h> | ||
35 | #include <asm/jmr3927/jmr3927.h> | ||
36 | |||
37 | /* A lot of complication here is taken away because: | ||
38 | * | ||
39 | * 1) We handle one interrupt and return, sitting in a loop | ||
40 | * and moving across all the pending IRQ bits in the cause | ||
41 | * register is _NOT_ the answer, the common case is one | ||
42 | * pending IRQ so optimize in that direction. | ||
43 | * | ||
44 | * 2) We need not check against bits in the status register | ||
45 | * IRQ mask, that would make this routine slow as hell. | ||
46 | * | ||
47 | * 3) Linux only thinks in terms of all IRQs on or all IRQs | ||
48 | * off, nothing in between like BSD spl() brain-damage. | ||
49 | * | ||
50 | */ | ||
51 | |||
52 | /* Flush write buffer (needed?) | ||
53 | * NOTE: TX39xx performs "non-blocking load", so explicitly use the target | ||
54 | * register of LBU to flush immediately. | ||
55 | */ | ||
56 | #define FLUSH_WB(tmp) \ | ||
57 | la tmp, JMR3927_IOC_REV_ADDR; \ | ||
58 | lbu tmp, (tmp); \ | ||
59 | move tmp, zero; | ||
60 | |||
61 | .text | ||
62 | .set noreorder | ||
63 | .set noat | ||
64 | .align 5 | ||
65 | NESTED(jmr3927_IRQ, PT_SIZE, sp) | ||
66 | SAVE_ALL | ||
67 | CLI | ||
68 | .set at | ||
69 | jal jmr3927_irc_irqdispatch | ||
70 | move a0, sp | ||
71 | FLUSH_WB(t0) | ||
72 | j ret_from_irq | ||
73 | nop | ||
74 | END(jmr3927_IRQ) | ||
diff --git a/arch/mips/jmr3927/rbhma3100/irq.c b/arch/mips/jmr3927/rbhma3100/irq.c index 2810727f1d4e..11304d1354f4 100644 --- a/arch/mips/jmr3927/rbhma3100/irq.c +++ b/arch/mips/jmr3927/rbhma3100/irq.c | |||
@@ -77,8 +77,6 @@ static int jmr3927_gen_iack(void) | |||
77 | } | 77 | } |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | extern asmlinkage void jmr3927_IRQ(void); | ||
81 | |||
82 | #define irc_dlevel 0 | 80 | #define irc_dlevel 0 |
83 | #define irc_elevel 1 | 81 | #define irc_elevel 1 |
84 | 82 | ||
@@ -262,7 +260,7 @@ void jmr3927_spurious(struct pt_regs *regs) | |||
262 | regs->cp0_cause, regs->cp0_epc, regs->regs[31]); | 260 | regs->cp0_cause, regs->cp0_epc, regs->regs[31]); |
263 | } | 261 | } |
264 | 262 | ||
265 | void jmr3927_irc_irqdispatch(struct pt_regs *regs) | 263 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
266 | { | 264 | { |
267 | int irq; | 265 | int irq; |
268 | 266 | ||
@@ -398,8 +396,6 @@ void __init arch_init_irq(void) | |||
398 | 396 | ||
399 | jmr3927_irq_init(NR_ISA_IRQS); | 397 | jmr3927_irq_init(NR_ISA_IRQS); |
400 | 398 | ||
401 | set_except_vector(0, jmr3927_IRQ); | ||
402 | |||
403 | /* setup irq space */ | 399 | /* setup irq space */ |
404 | add_tb_irq_space(&jmr3927_isac_irqspace); | 400 | add_tb_irq_space(&jmr3927_isac_irqspace); |
405 | add_tb_irq_space(&jmr3927_ioc_irqspace); | 401 | add_tb_irq_space(&jmr3927_ioc_irqspace); |
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile index 309d54cceda3..34e8a256765c 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile | |||
@@ -34,8 +34,11 @@ obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o | |||
34 | 34 | ||
35 | obj-$(CONFIG_SMP) += smp.o | 35 | obj-$(CONFIG_SMP) += smp.o |
36 | 36 | ||
37 | obj-$(CONFIG_MIPS_MT_SMP) += smp_mt.o | 37 | obj-$(CONFIG_MIPS_MT) += mips-mt.o |
38 | obj-$(CONFIG_MIPS_MT_SMTC) += smtc.o smtc-asm.o smtc-proc.o | ||
39 | obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o | ||
38 | 40 | ||
41 | obj-$(CONFIG_MIPS_APSP_KSPD) += kspd.o | ||
39 | obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o | 42 | obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o |
40 | obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o | 43 | obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o |
41 | 44 | ||
diff --git a/arch/mips/kernel/asm-offsets.c b/arch/mips/kernel/asm-offsets.c index ca6b03c773be..92b28b674d6f 100644 --- a/arch/mips/kernel/asm-offsets.c +++ b/arch/mips/kernel/asm-offsets.c | |||
@@ -69,6 +69,9 @@ void output_ptreg_defines(void) | |||
69 | offset("#define PT_BVADDR ", struct pt_regs, cp0_badvaddr); | 69 | offset("#define PT_BVADDR ", struct pt_regs, cp0_badvaddr); |
70 | offset("#define PT_STATUS ", struct pt_regs, cp0_status); | 70 | offset("#define PT_STATUS ", struct pt_regs, cp0_status); |
71 | offset("#define PT_CAUSE ", struct pt_regs, cp0_cause); | 71 | offset("#define PT_CAUSE ", struct pt_regs, cp0_cause); |
72 | #ifdef CONFIG_MIPS_MT_SMTC | ||
73 | offset("#define PT_TCSTATUS ", struct pt_regs, cp0_tcstatus); | ||
74 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
72 | size("#define PT_SIZE ", struct pt_regs); | 75 | size("#define PT_SIZE ", struct pt_regs); |
73 | linefeed; | 76 | linefeed; |
74 | } | 77 | } |
diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c index 374de839558d..b6232d9033cb 100644 --- a/arch/mips/kernel/branch.c +++ b/arch/mips/kernel/branch.c | |||
@@ -184,7 +184,7 @@ int __compute_return_epc(struct pt_regs *regs) | |||
184 | bit = (insn.i_format.rt >> 2); | 184 | bit = (insn.i_format.rt >> 2); |
185 | bit += (bit != 0); | 185 | bit += (bit != 0); |
186 | bit += 23; | 186 | bit += 23; |
187 | switch (insn.i_format.rt) { | 187 | switch (insn.i_format.rt & 3) { |
188 | case 0: /* bc1f */ | 188 | case 0: /* bc1f */ |
189 | case 2: /* bc1fl */ | 189 | case 2: /* bc1fl */ |
190 | if (~fcr31 & (1 << bit)) | 190 | if (~fcr31 & (1 << bit)) |
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index 83c87fe4ee4f..d101d2fb24ca 100644 --- a/arch/mips/kernel/entry.S +++ b/arch/mips/kernel/entry.S | |||
@@ -17,6 +17,9 @@ | |||
17 | #include <asm/isadep.h> | 17 | #include <asm/isadep.h> |
18 | #include <asm/thread_info.h> | 18 | #include <asm/thread_info.h> |
19 | #include <asm/war.h> | 19 | #include <asm/war.h> |
20 | #ifdef CONFIG_MIPS_MT_SMTC | ||
21 | #include <asm/mipsmtregs.h> | ||
22 | #endif | ||
20 | 23 | ||
21 | #ifdef CONFIG_PREEMPT | 24 | #ifdef CONFIG_PREEMPT |
22 | .macro preempt_stop | 25 | .macro preempt_stop |
@@ -75,6 +78,37 @@ FEXPORT(syscall_exit) | |||
75 | bnez t0, syscall_exit_work | 78 | bnez t0, syscall_exit_work |
76 | 79 | ||
77 | FEXPORT(restore_all) # restore full frame | 80 | FEXPORT(restore_all) # restore full frame |
81 | #ifdef CONFIG_MIPS_MT_SMTC | ||
82 | /* Detect and execute deferred IPI "interrupts" */ | ||
83 | move a0,sp | ||
84 | jal deferred_smtc_ipi | ||
85 | /* Re-arm any temporarily masked interrupts not explicitly "acked" */ | ||
86 | mfc0 v0, CP0_TCSTATUS | ||
87 | ori v1, v0, TCSTATUS_IXMT | ||
88 | mtc0 v1, CP0_TCSTATUS | ||
89 | andi v0, TCSTATUS_IXMT | ||
90 | ehb | ||
91 | mfc0 t0, CP0_TCCONTEXT | ||
92 | DMT 9 # dmt t1 | ||
93 | jal mips_ihb | ||
94 | mfc0 t2, CP0_STATUS | ||
95 | andi t3, t0, 0xff00 | ||
96 | or t2, t2, t3 | ||
97 | mtc0 t2, CP0_STATUS | ||
98 | ehb | ||
99 | andi t1, t1, VPECONTROL_TE | ||
100 | beqz t1, 1f | ||
101 | EMT | ||
102 | 1: | ||
103 | mfc0 v1, CP0_TCSTATUS | ||
104 | /* We set IXMT above, XOR should cler it here */ | ||
105 | xori v1, v1, TCSTATUS_IXMT | ||
106 | or v1, v0, v1 | ||
107 | mtc0 v1, CP0_TCSTATUS | ||
108 | ehb | ||
109 | xor t0, t0, t3 | ||
110 | mtc0 t0, CP0_TCCONTEXT | ||
111 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
78 | .set noat | 112 | .set noat |
79 | RESTORE_TEMP | 113 | RESTORE_TEMP |
80 | RESTORE_AT | 114 | RESTORE_AT |
@@ -120,28 +154,17 @@ syscall_exit_work: | |||
120 | jal do_syscall_trace | 154 | jal do_syscall_trace |
121 | b resume_userspace | 155 | b resume_userspace |
122 | 156 | ||
157 | #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_MIPS_MT) | ||
158 | |||
123 | /* | 159 | /* |
124 | * Common spurious interrupt handler. | 160 | * MIPS32R2 Instruction Hazard Barrier - must be called |
161 | * | ||
162 | * For C code use the inline version named instruction_hazard(). | ||
125 | */ | 163 | */ |
126 | LEAF(spurious_interrupt) | 164 | LEAF(mips_ihb) |
127 | /* | 165 | .set mips32r2 |
128 | * Someone tried to fool us by sending an interrupt but we | 166 | jr.hb ra |
129 | * couldn't find a cause for it. | 167 | nop |
130 | */ | 168 | END(mips_ihb) |
131 | PTR_LA t1, irq_err_count | 169 | |
132 | #ifdef CONFIG_SMP | 170 | #endif /* CONFIG_CPU_MIPSR2 or CONFIG_MIPS_MT */ |
133 | 1: ll t0, (t1) | ||
134 | addiu t0, 1 | ||
135 | sc t0, (t1) | ||
136 | #if R10000_LLSC_WAR | ||
137 | beqzl t0, 1b | ||
138 | #else | ||
139 | beqz t0, 1b | ||
140 | #endif | ||
141 | #else | ||
142 | lw t0, (t1) | ||
143 | addiu t0, 1 | ||
144 | sw t0, (t1) | ||
145 | #endif | ||
146 | j ret_from_irq | ||
147 | END(spurious_interrupt) | ||
diff --git a/arch/mips/kernel/gdb-low.S b/arch/mips/kernel/gdb-low.S index 235ad9f6bd35..10f28fb9f008 100644 --- a/arch/mips/kernel/gdb-low.S +++ b/arch/mips/kernel/gdb-low.S | |||
@@ -283,11 +283,33 @@ | |||
283 | */ | 283 | */ |
284 | 284 | ||
285 | 3: | 285 | 3: |
286 | #ifdef CONFIG_MIPS_MT_SMTC | ||
287 | /* Read-modify write of Status must be atomic */ | ||
288 | mfc0 t2, CP0_TCSTATUS | ||
289 | ori t1, t2, TCSTATUS_IXMT | ||
290 | mtc0 t1, CP0_TCSTATUS | ||
291 | andi t2, t2, TCSTATUS_IXMT | ||
292 | ehb | ||
293 | DMT 9 # dmt t1 | ||
294 | jal mips_ihb | ||
295 | nop | ||
296 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
286 | mfc0 t0, CP0_STATUS | 297 | mfc0 t0, CP0_STATUS |
287 | ori t0, 0x1f | 298 | ori t0, 0x1f |
288 | xori t0, 0x1f | 299 | xori t0, 0x1f |
289 | mtc0 t0, CP0_STATUS | 300 | mtc0 t0, CP0_STATUS |
290 | 301 | #ifdef CONFIG_MIPS_MT_SMTC | |
302 | andi t1, t1, VPECONTROL_TE | ||
303 | beqz t1, 9f | ||
304 | nop | ||
305 | EMT # emt | ||
306 | 9: | ||
307 | mfc0 t1, CP0_TCSTATUS | ||
308 | xori t1, t1, TCSTATUS_IXMT | ||
309 | or t1, t1, t2 | ||
310 | mtc0 t1, CP0_TCSTATUS | ||
311 | ehb | ||
312 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
291 | LONG_L v0, GDB_FR_STATUS(sp) | 313 | LONG_L v0, GDB_FR_STATUS(sp) |
292 | LONG_L v1, GDB_FR_EPC(sp) | 314 | LONG_L v1, GDB_FR_EPC(sp) |
293 | mtc0 v0, CP0_STATUS | 315 | mtc0 v0, CP0_STATUS |
diff --git a/arch/mips/kernel/gdb-stub.c b/arch/mips/kernel/gdb-stub.c index d4f88e0af24c..6ecbdc1fefd1 100644 --- a/arch/mips/kernel/gdb-stub.c +++ b/arch/mips/kernel/gdb-stub.c | |||
@@ -140,6 +140,7 @@ | |||
140 | #include <asm/system.h> | 140 | #include <asm/system.h> |
141 | #include <asm/gdb-stub.h> | 141 | #include <asm/gdb-stub.h> |
142 | #include <asm/inst.h> | 142 | #include <asm/inst.h> |
143 | #include <asm/smp.h> | ||
143 | 144 | ||
144 | /* | 145 | /* |
145 | * external low-level support routines | 146 | * external low-level support routines |
@@ -669,6 +670,64 @@ static void kgdb_wait(void *arg) | |||
669 | local_irq_restore(flags); | 670 | local_irq_restore(flags); |
670 | } | 671 | } |
671 | 672 | ||
673 | /* | ||
674 | * GDB stub needs to call kgdb_wait on all processor with interrupts | ||
675 | * disabled, so it uses it's own special variant. | ||
676 | */ | ||
677 | static int kgdb_smp_call_kgdb_wait(void) | ||
678 | { | ||
679 | #ifdef CONFIG_SMP | ||
680 | struct call_data_struct data; | ||
681 | int i, cpus = num_online_cpus() - 1; | ||
682 | int cpu = smp_processor_id(); | ||
683 | |||
684 | /* | ||
685 | * Can die spectacularly if this CPU isn't yet marked online | ||
686 | */ | ||
687 | BUG_ON(!cpu_online(cpu)); | ||
688 | |||
689 | if (!cpus) | ||
690 | return 0; | ||
691 | |||
692 | if (spin_is_locked(&smp_call_lock)) { | ||
693 | /* | ||
694 | * Some other processor is trying to make us do something | ||
695 | * but we're not going to respond... give up | ||
696 | */ | ||
697 | return -1; | ||
698 | } | ||
699 | |||
700 | /* | ||
701 | * We will continue here, accepting the fact that | ||
702 | * the kernel may deadlock if another CPU attempts | ||
703 | * to call smp_call_function now... | ||
704 | */ | ||
705 | |||
706 | data.func = kgdb_wait; | ||
707 | data.info = NULL; | ||
708 | atomic_set(&data.started, 0); | ||
709 | data.wait = 0; | ||
710 | |||
711 | spin_lock(&smp_call_lock); | ||
712 | call_data = &data; | ||
713 | mb(); | ||
714 | |||
715 | /* Send a message to all other CPUs and wait for them to respond */ | ||
716 | for (i = 0; i < NR_CPUS; i++) | ||
717 | if (cpu_online(i) && i != cpu) | ||
718 | core_send_ipi(i, SMP_CALL_FUNCTION); | ||
719 | |||
720 | /* Wait for response */ | ||
721 | /* FIXME: lock-up detection, backtrace on lock-up */ | ||
722 | while (atomic_read(&data.started) != cpus) | ||
723 | barrier(); | ||
724 | |||
725 | call_data = NULL; | ||
726 | spin_unlock(&smp_call_lock); | ||
727 | #endif | ||
728 | |||
729 | return 0; | ||
730 | } | ||
672 | 731 | ||
673 | /* | 732 | /* |
674 | * This function does all command processing for interfacing to gdb. It | 733 | * This function does all command processing for interfacing to gdb. It |
@@ -718,7 +777,7 @@ void handle_exception (struct gdb_regs *regs) | |||
718 | /* | 777 | /* |
719 | * force other cpus to enter kgdb | 778 | * force other cpus to enter kgdb |
720 | */ | 779 | */ |
721 | smp_call_function(kgdb_wait, NULL, 0, 0); | 780 | kgdb_smp_call_kgdb_wait(); |
722 | 781 | ||
723 | /* | 782 | /* |
724 | * If we're in breakpoint() increment the PC | 783 | * If we're in breakpoint() increment the PC |
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S index 13f22d1d0e8b..ff7af369f286 100644 --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | 13 | ||
14 | #include <asm/asm.h> | 14 | #include <asm/asm.h> |
15 | #include <asm/asmmacro.h> | ||
15 | #include <asm/cacheops.h> | 16 | #include <asm/cacheops.h> |
16 | #include <asm/regdef.h> | 17 | #include <asm/regdef.h> |
17 | #include <asm/fpregdef.h> | 18 | #include <asm/fpregdef.h> |
@@ -122,6 +123,20 @@ handle_vcei: | |||
122 | .set pop | 123 | .set pop |
123 | END(except_vec3_r4000) | 124 | END(except_vec3_r4000) |
124 | 125 | ||
126 | __FINIT | ||
127 | |||
128 | .align 5 | ||
129 | NESTED(handle_int, PT_SIZE, sp) | ||
130 | SAVE_ALL | ||
131 | CLI | ||
132 | |||
133 | PTR_LA ra, ret_from_irq | ||
134 | move a0, sp | ||
135 | j plat_irq_dispatch | ||
136 | END(handle_int) | ||
137 | |||
138 | __INIT | ||
139 | |||
125 | /* | 140 | /* |
126 | * Special interrupt vector for MIPS64 ISA & embedded MIPS processors. | 141 | * Special interrupt vector for MIPS64 ISA & embedded MIPS processors. |
127 | * This is a dedicated interrupt exception vector which reduces the | 142 | * This is a dedicated interrupt exception vector which reduces the |
@@ -157,6 +172,15 @@ NESTED(except_vec_vi, 0, sp) | |||
157 | SAVE_AT | 172 | SAVE_AT |
158 | .set push | 173 | .set push |
159 | .set noreorder | 174 | .set noreorder |
175 | #ifdef CONFIG_MIPS_MT_SMTC | ||
176 | /* | ||
177 | * To keep from blindly blocking *all* interrupts | ||
178 | * during service by SMTC kernel, we also want to | ||
179 | * pass the IM value to be cleared. | ||
180 | */ | ||
181 | EXPORT(except_vec_vi_mori) | ||
182 | ori a0, $0, 0 | ||
183 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
160 | EXPORT(except_vec_vi_lui) | 184 | EXPORT(except_vec_vi_lui) |
161 | lui v0, 0 /* Patched */ | 185 | lui v0, 0 /* Patched */ |
162 | j except_vec_vi_handler | 186 | j except_vec_vi_handler |
@@ -173,6 +197,25 @@ EXPORT(except_vec_vi_end) | |||
173 | NESTED(except_vec_vi_handler, 0, sp) | 197 | NESTED(except_vec_vi_handler, 0, sp) |
174 | SAVE_TEMP | 198 | SAVE_TEMP |
175 | SAVE_STATIC | 199 | SAVE_STATIC |
200 | #ifdef CONFIG_MIPS_MT_SMTC | ||
201 | /* | ||
202 | * SMTC has an interesting problem that interrupts are level-triggered, | ||
203 | * and the CLI macro will clear EXL, potentially causing a duplicate | ||
204 | * interrupt service invocation. So we need to clear the associated | ||
205 | * IM bit of Status prior to doing CLI, and restore it after the | ||
206 | * service routine has been invoked - we must assume that the | ||
207 | * service routine will have cleared the state, and any active | ||
208 | * level represents a new or otherwised unserviced event... | ||
209 | */ | ||
210 | mfc0 t1, CP0_STATUS | ||
211 | and t0, a0, t1 | ||
212 | mfc0 t2, CP0_TCCONTEXT | ||
213 | or t0, t0, t2 | ||
214 | mtc0 t0, CP0_TCCONTEXT | ||
215 | xor t1, t1, t0 | ||
216 | mtc0 t1, CP0_STATUS | ||
217 | ehb | ||
218 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
176 | CLI | 219 | CLI |
177 | move a0, sp | 220 | move a0, sp |
178 | jalr v0 | 221 | jalr v0 |
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S index 2e9122a4213a..bdf6f6eff721 100644 --- a/arch/mips/kernel/head.S +++ b/arch/mips/kernel/head.S | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/threads.h> | 18 | #include <linux/threads.h> |
19 | 19 | ||
20 | #include <asm/asm.h> | 20 | #include <asm/asm.h> |
21 | #include <asm/asmmacro.h> | ||
21 | #include <asm/regdef.h> | 22 | #include <asm/regdef.h> |
22 | #include <asm/page.h> | 23 | #include <asm/page.h> |
23 | #include <asm/mipsregs.h> | 24 | #include <asm/mipsregs.h> |
@@ -82,12 +83,33 @@ | |||
82 | */ | 83 | */ |
83 | .macro setup_c0_status set clr | 84 | .macro setup_c0_status set clr |
84 | .set push | 85 | .set push |
86 | #ifdef CONFIG_MIPS_MT_SMTC | ||
87 | /* | ||
88 | * For SMTC, we need to set privilege and disable interrupts only for | ||
89 | * the current TC, using the TCStatus register. | ||
90 | */ | ||
91 | mfc0 t0, CP0_TCSTATUS | ||
92 | /* Fortunately CU 0 is in the same place in both registers */ | ||
93 | /* Set TCU0, TMX, TKSU (for later inversion) and IXMT */ | ||
94 | li t1, ST0_CU0 | 0x08001c00 | ||
95 | or t0, t1 | ||
96 | /* Clear TKSU, leave IXMT */ | ||
97 | xori t0, 0x00001800 | ||
98 | mtc0 t0, CP0_TCSTATUS | ||
99 | ehb | ||
100 | /* We need to leave the global IE bit set, but clear EXL...*/ | ||
101 | mfc0 t0, CP0_STATUS | ||
102 | or t0, ST0_CU0 | ST0_EXL | ST0_ERL | \set | \clr | ||
103 | xor t0, ST0_EXL | ST0_ERL | \clr | ||
104 | mtc0 t0, CP0_STATUS | ||
105 | #else | ||
85 | mfc0 t0, CP0_STATUS | 106 | mfc0 t0, CP0_STATUS |
86 | or t0, ST0_CU0|\set|0x1f|\clr | 107 | or t0, ST0_CU0|\set|0x1f|\clr |
87 | xor t0, 0x1f|\clr | 108 | xor t0, 0x1f|\clr |
88 | mtc0 t0, CP0_STATUS | 109 | mtc0 t0, CP0_STATUS |
89 | .set noreorder | 110 | .set noreorder |
90 | sll zero,3 # ehb | 111 | sll zero,3 # ehb |
112 | #endif | ||
91 | .set pop | 113 | .set pop |
92 | .endm | 114 | .endm |
93 | 115 | ||
@@ -134,6 +156,24 @@ NESTED(kernel_entry, 16, sp) # kernel entry point | |||
134 | 156 | ||
135 | ARC64_TWIDDLE_PC | 157 | ARC64_TWIDDLE_PC |
136 | 158 | ||
159 | #ifdef CONFIG_MIPS_MT_SMTC | ||
160 | /* | ||
161 | * In SMTC kernel, "CLI" is thread-specific, in TCStatus. | ||
162 | * We still need to enable interrupts globally in Status, | ||
163 | * and clear EXL/ERL. | ||
164 | * | ||
165 | * TCContext is used to track interrupt levels under | ||
166 | * service in SMTC kernel. Clear for boot TC before | ||
167 | * allowing any interrupts. | ||
168 | */ | ||
169 | mtc0 zero, CP0_TCCONTEXT | ||
170 | |||
171 | mfc0 t0, CP0_STATUS | ||
172 | ori t0, t0, 0xff1f | ||
173 | xori t0, t0, 0x001e | ||
174 | mtc0 t0, CP0_STATUS | ||
175 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
176 | |||
137 | PTR_LA t0, __bss_start # clear .bss | 177 | PTR_LA t0, __bss_start # clear .bss |
138 | LONG_S zero, (t0) | 178 | LONG_S zero, (t0) |
139 | PTR_LA t1, __bss_stop - LONGSIZE | 179 | PTR_LA t1, __bss_stop - LONGSIZE |
@@ -166,8 +206,25 @@ NESTED(kernel_entry, 16, sp) # kernel entry point | |||
166 | * function after setting up the stack and gp registers. | 206 | * function after setting up the stack and gp registers. |
167 | */ | 207 | */ |
168 | NESTED(smp_bootstrap, 16, sp) | 208 | NESTED(smp_bootstrap, 16, sp) |
209 | #ifdef CONFIG_MIPS_MT_SMTC | ||
210 | /* | ||
211 | * Read-modify-writes of Status must be atomic, and this | ||
212 | * is one case where CLI is invoked without EXL being | ||
213 | * necessarily set. The CLI and setup_c0_status will | ||
214 | * in fact be redundant for all but the first TC of | ||
215 | * each VPE being booted. | ||
216 | */ | ||
217 | DMT 10 # dmt t2 /* t0, t1 are used by CLI and setup_c0_status() */ | ||
218 | jal mips_ihb | ||
219 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
169 | setup_c0_status_sec | 220 | setup_c0_status_sec |
170 | smp_slave_setup | 221 | smp_slave_setup |
222 | #ifdef CONFIG_MIPS_MT_SMTC | ||
223 | andi t2, t2, VPECONTROL_TE | ||
224 | beqz t2, 2f | ||
225 | EMT # emt | ||
226 | 2: | ||
227 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
171 | j start_secondary | 228 | j start_secondary |
172 | END(smp_bootstrap) | 229 | END(smp_bootstrap) |
173 | #endif /* CONFIG_SMP */ | 230 | #endif /* CONFIG_SMP */ |
diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c index b974ac9057f6..2125ba5f1d9b 100644 --- a/arch/mips/kernel/i8259.c +++ b/arch/mips/kernel/i8259.c | |||
@@ -187,6 +187,10 @@ handle_real_irq: | |||
187 | outb(cached_21,0x21); | 187 | outb(cached_21,0x21); |
188 | outb(0x60+irq,0x20); /* 'Specific EOI' to master */ | 188 | outb(0x60+irq,0x20); /* 'Specific EOI' to master */ |
189 | } | 189 | } |
190 | #ifdef CONFIG_MIPS_MT_SMTC | ||
191 | if (irq_hwmask[irq] & ST0_IM) | ||
192 | set_c0_status(irq_hwmask[irq] & ST0_IM); | ||
193 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
190 | spin_unlock_irqrestore(&i8259A_lock, flags); | 194 | spin_unlock_irqrestore(&i8259A_lock, flags); |
191 | return; | 195 | return; |
192 | 196 | ||
diff --git a/arch/mips/kernel/irq-msc01.c b/arch/mips/kernel/irq-msc01.c index 3f653c7cfbf3..97ebdc754b9e 100644 --- a/arch/mips/kernel/irq-msc01.c +++ b/arch/mips/kernel/irq-msc01.c | |||
@@ -76,6 +76,11 @@ static void level_mask_and_ack_msc_irq(unsigned int irq) | |||
76 | mask_msc_irq(irq); | 76 | mask_msc_irq(irq); |
77 | if (!cpu_has_veic) | 77 | if (!cpu_has_veic) |
78 | MSCIC_WRITE(MSC01_IC_EOI, 0); | 78 | MSCIC_WRITE(MSC01_IC_EOI, 0); |
79 | #ifdef CONFIG_MIPS_MT_SMTC | ||
80 | /* This actually needs to be a call into platform code */ | ||
81 | if (irq_hwmask[irq] & ST0_IM) | ||
82 | set_c0_status(irq_hwmask[irq] & ST0_IM); | ||
83 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
79 | } | 84 | } |
80 | 85 | ||
81 | /* | 86 | /* |
@@ -92,6 +97,10 @@ static void edge_mask_and_ack_msc_irq(unsigned int irq) | |||
92 | MSCIC_WRITE(MSC01_IC_SUP+irq*8, r | ~MSC01_IC_SUP_EDGE_BIT); | 97 | MSCIC_WRITE(MSC01_IC_SUP+irq*8, r | ~MSC01_IC_SUP_EDGE_BIT); |
93 | MSCIC_WRITE(MSC01_IC_SUP+irq*8, r); | 98 | MSCIC_WRITE(MSC01_IC_SUP+irq*8, r); |
94 | } | 99 | } |
100 | #ifdef CONFIG_MIPS_MT_SMTC | ||
101 | if (irq_hwmask[irq] & ST0_IM) | ||
102 | set_c0_status(irq_hwmask[irq] & ST0_IM); | ||
103 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
95 | } | 104 | } |
96 | 105 | ||
97 | /* | 106 | /* |
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 3dd76b3d2967..3dce742e716f 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c | |||
@@ -38,6 +38,15 @@ void ack_bad_irq(unsigned int irq) | |||
38 | 38 | ||
39 | atomic_t irq_err_count; | 39 | atomic_t irq_err_count; |
40 | 40 | ||
41 | #ifdef CONFIG_MIPS_MT_SMTC | ||
42 | /* | ||
43 | * SMTC Kernel needs to manipulate low-level CPU interrupt mask | ||
44 | * in do_IRQ. These are passed in setup_irq_smtc() and stored | ||
45 | * in this table. | ||
46 | */ | ||
47 | unsigned long irq_hwmask[NR_IRQS]; | ||
48 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
49 | |||
41 | #undef do_IRQ | 50 | #undef do_IRQ |
42 | 51 | ||
43 | /* | 52 | /* |
@@ -49,6 +58,7 @@ asmlinkage unsigned int do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
49 | { | 58 | { |
50 | irq_enter(); | 59 | irq_enter(); |
51 | 60 | ||
61 | __DO_IRQ_SMTC_HOOK(); | ||
52 | __do_IRQ(irq, regs); | 62 | __do_IRQ(irq, regs); |
53 | 63 | ||
54 | irq_exit(); | 64 | irq_exit(); |
@@ -101,6 +111,11 @@ skip: | |||
101 | return 0; | 111 | return 0; |
102 | } | 112 | } |
103 | 113 | ||
114 | asmlinkage void spurious_interrupt(struct pt_regs *regs) | ||
115 | { | ||
116 | atomic_inc(&irq_err_count); | ||
117 | } | ||
118 | |||
104 | #ifdef CONFIG_KGDB | 119 | #ifdef CONFIG_KGDB |
105 | extern void breakpoint(void); | 120 | extern void breakpoint(void); |
106 | extern void set_debug_traps(void); | 121 | extern void set_debug_traps(void); |
@@ -124,6 +139,9 @@ void __init init_IRQ(void) | |||
124 | irq_desc[i].depth = 1; | 139 | irq_desc[i].depth = 1; |
125 | irq_desc[i].handler = &no_irq_type; | 140 | irq_desc[i].handler = &no_irq_type; |
126 | spin_lock_init(&irq_desc[i].lock); | 141 | spin_lock_init(&irq_desc[i].lock); |
142 | #ifdef CONFIG_MIPS_MT_SMTC | ||
143 | irq_hwmask[i] = 0; | ||
144 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
127 | } | 145 | } |
128 | 146 | ||
129 | arch_init_irq(); | 147 | arch_init_irq(); |
diff --git a/arch/mips/kernel/kspd.c b/arch/mips/kernel/kspd.c new file mode 100644 index 000000000000..f06a144c7881 --- /dev/null +++ b/arch/mips/kernel/kspd.c | |||
@@ -0,0 +1,398 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved. | ||
3 | * | ||
4 | * This program is free software; you can distribute it and/or modify it | ||
5 | * under the terms of the GNU General Public License (Version 2) as | ||
6 | * published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
11 | * for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License along | ||
14 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
15 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
16 | * | ||
17 | */ | ||
18 | #include <linux/kernel.h> | ||
19 | #include <linux/module.h> | ||
20 | #include <linux/unistd.h> | ||
21 | #include <linux/file.h> | ||
22 | #include <linux/fs.h> | ||
23 | #include <linux/syscalls.h> | ||
24 | #include <linux/workqueue.h> | ||
25 | #include <linux/errno.h> | ||
26 | #include <linux/list.h> | ||
27 | |||
28 | #include <asm/vpe.h> | ||
29 | #include <asm/rtlx.h> | ||
30 | #include <asm/kspd.h> | ||
31 | |||
32 | static struct workqueue_struct *workqueue = NULL; | ||
33 | static struct work_struct work; | ||
34 | |||
35 | extern unsigned long cpu_khz; | ||
36 | |||
37 | struct mtsp_syscall { | ||
38 | int cmd; | ||
39 | unsigned char abi; | ||
40 | unsigned char size; | ||
41 | }; | ||
42 | |||
43 | struct mtsp_syscall_ret { | ||
44 | int retval; | ||
45 | int errno; | ||
46 | }; | ||
47 | |||
48 | struct mtsp_syscall_generic { | ||
49 | int arg0; | ||
50 | int arg1; | ||
51 | int arg2; | ||
52 | int arg3; | ||
53 | int arg4; | ||
54 | int arg5; | ||
55 | int arg6; | ||
56 | }; | ||
57 | |||
58 | static struct list_head kspd_notifylist; | ||
59 | static int sp_stopping = 0; | ||
60 | |||
61 | /* these should match with those in the SDE kit */ | ||
62 | #define MTSP_SYSCALL_BASE 0 | ||
63 | #define MTSP_SYSCALL_EXIT (MTSP_SYSCALL_BASE + 0) | ||
64 | #define MTSP_SYSCALL_OPEN (MTSP_SYSCALL_BASE + 1) | ||
65 | #define MTSP_SYSCALL_READ (MTSP_SYSCALL_BASE + 2) | ||
66 | #define MTSP_SYSCALL_WRITE (MTSP_SYSCALL_BASE + 3) | ||
67 | #define MTSP_SYSCALL_CLOSE (MTSP_SYSCALL_BASE + 4) | ||
68 | #define MTSP_SYSCALL_LSEEK32 (MTSP_SYSCALL_BASE + 5) | ||
69 | #define MTSP_SYSCALL_ISATTY (MTSP_SYSCALL_BASE + 6) | ||
70 | #define MTSP_SYSCALL_GETTIME (MTSP_SYSCALL_BASE + 7) | ||
71 | #define MTSP_SYSCALL_PIPEFREQ (MTSP_SYSCALL_BASE + 8) | ||
72 | #define MTSP_SYSCALL_GETTOD (MTSP_SYSCALL_BASE + 9) | ||
73 | |||
74 | #define MTSP_O_RDONLY 0x0000 | ||
75 | #define MTSP_O_WRONLY 0x0001 | ||
76 | #define MTSP_O_RDWR 0x0002 | ||
77 | #define MTSP_O_NONBLOCK 0x0004 | ||
78 | #define MTSP_O_APPEND 0x0008 | ||
79 | #define MTSP_O_SHLOCK 0x0010 | ||
80 | #define MTSP_O_EXLOCK 0x0020 | ||
81 | #define MTSP_O_ASYNC 0x0040 | ||
82 | #define MTSP_O_FSYNC O_SYNC | ||
83 | #define MTSP_O_NOFOLLOW 0x0100 | ||
84 | #define MTSP_O_SYNC 0x0080 | ||
85 | #define MTSP_O_CREAT 0x0200 | ||
86 | #define MTSP_O_TRUNC 0x0400 | ||
87 | #define MTSP_O_EXCL 0x0800 | ||
88 | #define MTSP_O_BINARY 0x8000 | ||
89 | |||
90 | #define SP_VPE 1 | ||
91 | |||
92 | struct apsp_table { | ||
93 | int sp; | ||
94 | int ap; | ||
95 | }; | ||
96 | |||
97 | /* we might want to do the mode flags too */ | ||
98 | struct apsp_table open_flags_table[] = { | ||
99 | { MTSP_O_RDWR, O_RDWR }, | ||
100 | { MTSP_O_WRONLY, O_WRONLY }, | ||
101 | { MTSP_O_CREAT, O_CREAT }, | ||
102 | { MTSP_O_TRUNC, O_TRUNC }, | ||
103 | { MTSP_O_NONBLOCK, O_NONBLOCK }, | ||
104 | { MTSP_O_APPEND, O_APPEND }, | ||
105 | { MTSP_O_NOFOLLOW, O_NOFOLLOW } | ||
106 | }; | ||
107 | |||
108 | struct apsp_table syscall_command_table[] = { | ||
109 | { MTSP_SYSCALL_OPEN, __NR_open }, | ||
110 | { MTSP_SYSCALL_CLOSE, __NR_close }, | ||
111 | { MTSP_SYSCALL_READ, __NR_read }, | ||
112 | { MTSP_SYSCALL_WRITE, __NR_write }, | ||
113 | { MTSP_SYSCALL_LSEEK32, __NR_lseek } | ||
114 | }; | ||
115 | |||
116 | static int sp_syscall(int num, int arg0, int arg1, int arg2, int arg3) | ||
117 | { | ||
118 | register long int _num __asm__ ("$2") = num; | ||
119 | register long int _arg0 __asm__ ("$4") = arg0; | ||
120 | register long int _arg1 __asm__ ("$5") = arg1; | ||
121 | register long int _arg2 __asm__ ("$6") = arg2; | ||
122 | register long int _arg3 __asm__ ("$7") = arg3; | ||
123 | |||
124 | mm_segment_t old_fs; | ||
125 | |||
126 | old_fs = get_fs(); | ||
127 | set_fs(KERNEL_DS); | ||
128 | |||
129 | __asm__ __volatile__ ( | ||
130 | " syscall \n" | ||
131 | : "=r" (_num), "=r" (_arg3) | ||
132 | : "r" (_num), "r" (_arg0), "r" (_arg1), "r" (_arg2), "r" (_arg3)); | ||
133 | |||
134 | set_fs(old_fs); | ||
135 | |||
136 | /* $a3 is error flag */ | ||
137 | if (_arg3) | ||
138 | return -_num; | ||
139 | |||
140 | return _num; | ||
141 | } | ||
142 | |||
143 | static int translate_syscall_command(int cmd) | ||
144 | { | ||
145 | int i; | ||
146 | int ret = -1; | ||
147 | |||
148 | for (i = 0; i < ARRAY_SIZE(syscall_command_table); i++) { | ||
149 | if ((cmd == syscall_command_table[i].sp)) | ||
150 | return syscall_command_table[i].ap; | ||
151 | } | ||
152 | |||
153 | return ret; | ||
154 | } | ||
155 | |||
156 | static unsigned int translate_open_flags(int flags) | ||
157 | { | ||
158 | int i; | ||
159 | unsigned int ret = 0; | ||
160 | |||
161 | for (i = 0; i < (sizeof(open_flags_table) / sizeof(struct apsp_table)); | ||
162 | i++) { | ||
163 | if( (flags & open_flags_table[i].sp) ) { | ||
164 | ret |= open_flags_table[i].ap; | ||
165 | } | ||
166 | } | ||
167 | |||
168 | return ret; | ||
169 | } | ||
170 | |||
171 | |||
172 | static void sp_setfsuidgid( uid_t uid, gid_t gid) | ||
173 | { | ||
174 | current->fsuid = uid; | ||
175 | current->fsgid = gid; | ||
176 | |||
177 | key_fsuid_changed(current); | ||
178 | key_fsgid_changed(current); | ||
179 | } | ||
180 | |||
181 | /* | ||
182 | * Expects a request to be on the sysio channel. Reads it. Decides whether | ||
183 | * its a linux syscall and runs it, or whatever. Puts the return code back | ||
184 | * into the request and sends the whole thing back. | ||
185 | */ | ||
186 | void sp_work_handle_request(void) | ||
187 | { | ||
188 | struct mtsp_syscall sc; | ||
189 | struct mtsp_syscall_generic generic; | ||
190 | struct mtsp_syscall_ret ret; | ||
191 | struct kspd_notifications *n; | ||
192 | struct timeval tv; | ||
193 | struct timezone tz; | ||
194 | int cmd; | ||
195 | |||
196 | char *vcwd; | ||
197 | mm_segment_t old_fs; | ||
198 | int size; | ||
199 | |||
200 | ret.retval = -1; | ||
201 | |||
202 | if (!rtlx_read(RTLX_CHANNEL_SYSIO, &sc, sizeof(struct mtsp_syscall), 0)) { | ||
203 | printk(KERN_ERR "Expected request but nothing to read\n"); | ||
204 | return; | ||
205 | } | ||
206 | |||
207 | size = sc.size; | ||
208 | |||
209 | if (size) { | ||
210 | if (!rtlx_read(RTLX_CHANNEL_SYSIO, &generic, size, 0)) { | ||
211 | printk(KERN_ERR "Expected request but nothing to read\n"); | ||
212 | return; | ||
213 | } | ||
214 | } | ||
215 | |||
216 | /* Run the syscall at the priviledge of the user who loaded the | ||
217 | SP program */ | ||
218 | |||
219 | if (vpe_getuid(SP_VPE)) | ||
220 | sp_setfsuidgid( vpe_getuid(SP_VPE), vpe_getgid(SP_VPE)); | ||
221 | |||
222 | switch (sc.cmd) { | ||
223 | /* needs the flags argument translating from SDE kit to | ||
224 | linux */ | ||
225 | case MTSP_SYSCALL_PIPEFREQ: | ||
226 | ret.retval = cpu_khz * 1000; | ||
227 | ret.errno = 0; | ||
228 | break; | ||
229 | |||
230 | case MTSP_SYSCALL_GETTOD: | ||
231 | memset(&tz, 0, sizeof(tz)); | ||
232 | if ((ret.retval = sp_syscall(__NR_gettimeofday, (int)&tv, | ||
233 | (int)&tz, 0,0)) == 0) | ||
234 | ret.retval = tv.tv_sec; | ||
235 | |||
236 | ret.errno = errno; | ||
237 | break; | ||
238 | |||
239 | case MTSP_SYSCALL_EXIT: | ||
240 | list_for_each_entry(n, &kspd_notifylist, list) | ||
241 | n->kspd_sp_exit(SP_VPE); | ||
242 | sp_stopping = 1; | ||
243 | |||
244 | printk(KERN_DEBUG "KSPD got exit syscall from SP exitcode %d\n", | ||
245 | generic.arg0); | ||
246 | break; | ||
247 | |||
248 | case MTSP_SYSCALL_OPEN: | ||
249 | generic.arg1 = translate_open_flags(generic.arg1); | ||
250 | |||
251 | vcwd = vpe_getcwd(SP_VPE); | ||
252 | |||
253 | /* change to the cwd of the process that loaded the SP program */ | ||
254 | old_fs = get_fs(); | ||
255 | set_fs(KERNEL_DS); | ||
256 | sys_chdir(vcwd); | ||
257 | set_fs(old_fs); | ||
258 | |||
259 | sc.cmd = __NR_open; | ||
260 | |||
261 | /* fall through */ | ||
262 | |||
263 | default: | ||
264 | if ((sc.cmd >= __NR_Linux) && | ||
265 | (sc.cmd <= (__NR_Linux + __NR_Linux_syscalls)) ) | ||
266 | cmd = sc.cmd; | ||
267 | else | ||
268 | cmd = translate_syscall_command(sc.cmd); | ||
269 | |||
270 | if (cmd >= 0) { | ||
271 | ret.retval = sp_syscall(cmd, generic.arg0, generic.arg1, | ||
272 | generic.arg2, generic.arg3); | ||
273 | ret.errno = errno; | ||
274 | } else | ||
275 | printk(KERN_WARNING | ||
276 | "KSPD: Unknown SP syscall number %d\n", sc.cmd); | ||
277 | break; | ||
278 | } /* switch */ | ||
279 | |||
280 | if (vpe_getuid(SP_VPE)) | ||
281 | sp_setfsuidgid( 0, 0); | ||
282 | |||
283 | if ((rtlx_write(RTLX_CHANNEL_SYSIO, &ret, sizeof(struct mtsp_syscall_ret), 0)) | ||
284 | < sizeof(struct mtsp_syscall_ret)) | ||
285 | printk("KSPD: sp_work_handle_request failed to send to SP\n"); | ||
286 | } | ||
287 | |||
288 | static void sp_cleanup(void) | ||
289 | { | ||
290 | struct files_struct *files = current->files; | ||
291 | int i, j; | ||
292 | struct fdtable *fdt; | ||
293 | |||
294 | j = 0; | ||
295 | |||
296 | /* | ||
297 | * It is safe to dereference the fd table without RCU or | ||
298 | * ->file_lock | ||
299 | */ | ||
300 | fdt = files_fdtable(files); | ||
301 | for (;;) { | ||
302 | unsigned long set; | ||
303 | i = j * __NFDBITS; | ||
304 | if (i >= fdt->max_fdset || i >= fdt->max_fds) | ||
305 | break; | ||
306 | set = fdt->open_fds->fds_bits[j++]; | ||
307 | while (set) { | ||
308 | if (set & 1) { | ||
309 | struct file * file = xchg(&fdt->fd[i], NULL); | ||
310 | if (file) | ||
311 | filp_close(file, files); | ||
312 | } | ||
313 | i++; | ||
314 | set >>= 1; | ||
315 | } | ||
316 | } | ||
317 | } | ||
318 | |||
319 | static int channel_open = 0; | ||
320 | |||
321 | /* the work handler */ | ||
322 | static void sp_work(void *data) | ||
323 | { | ||
324 | if (!channel_open) { | ||
325 | if( rtlx_open(RTLX_CHANNEL_SYSIO, 1) != 0) { | ||
326 | printk("KSPD: unable to open sp channel\n"); | ||
327 | sp_stopping = 1; | ||
328 | } else { | ||
329 | channel_open++; | ||
330 | printk(KERN_DEBUG "KSPD: SP channel opened\n"); | ||
331 | } | ||
332 | } else { | ||
333 | /* wait for some data, allow it to sleep */ | ||
334 | rtlx_read_poll(RTLX_CHANNEL_SYSIO, 1); | ||
335 | |||
336 | /* Check we haven't been woken because we are stopping */ | ||
337 | if (!sp_stopping) | ||
338 | sp_work_handle_request(); | ||
339 | } | ||
340 | |||
341 | if (!sp_stopping) | ||
342 | queue_work(workqueue, &work); | ||
343 | else | ||
344 | sp_cleanup(); | ||
345 | } | ||
346 | |||
347 | static void startwork(int vpe) | ||
348 | { | ||
349 | sp_stopping = channel_open = 0; | ||
350 | |||
351 | if (workqueue == NULL) { | ||
352 | if ((workqueue = create_singlethread_workqueue("kspd")) == NULL) { | ||
353 | printk(KERN_ERR "unable to start kspd\n"); | ||
354 | return; | ||
355 | } | ||
356 | |||
357 | INIT_WORK(&work, sp_work, NULL); | ||
358 | queue_work(workqueue, &work); | ||
359 | } else | ||
360 | queue_work(workqueue, &work); | ||
361 | |||
362 | } | ||
363 | |||
364 | static void stopwork(int vpe) | ||
365 | { | ||
366 | sp_stopping = 1; | ||
367 | |||
368 | printk(KERN_DEBUG "KSPD: SP stopping\n"); | ||
369 | } | ||
370 | |||
371 | void kspd_notify(struct kspd_notifications *notify) | ||
372 | { | ||
373 | list_add(¬ify->list, &kspd_notifylist); | ||
374 | } | ||
375 | |||
376 | static struct vpe_notifications notify; | ||
377 | static int kspd_module_init(void) | ||
378 | { | ||
379 | INIT_LIST_HEAD(&kspd_notifylist); | ||
380 | |||
381 | notify.start = startwork; | ||
382 | notify.stop = stopwork; | ||
383 | vpe_notify(SP_VPE, ¬ify); | ||
384 | |||
385 | return 0; | ||
386 | } | ||
387 | |||
388 | static void kspd_module_exit(void) | ||
389 | { | ||
390 | |||
391 | } | ||
392 | |||
393 | module_init(kspd_module_init); | ||
394 | module_exit(kspd_module_exit); | ||
395 | |||
396 | MODULE_DESCRIPTION("MIPS KSPD"); | ||
397 | MODULE_AUTHOR("Elizabeth Oldham, MIPS Technologies, Inc."); | ||
398 | MODULE_LICENSE("GPL"); | ||
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 3f40c37a9ee6..a7d2bb3cf835 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
@@ -356,73 +356,13 @@ asmlinkage int sys32_llseek(unsigned int fd, unsigned int offset_high, | |||
356 | asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, | 356 | asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, |
357 | size_t count, u32 unused, u64 a4, u64 a5) | 357 | size_t count, u32 unused, u64 a4, u64 a5) |
358 | { | 358 | { |
359 | ssize_t ret; | 359 | return sys_pread64(fd, buf, count, merge_64(a4, a5)); |
360 | struct file * file; | ||
361 | ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); | ||
362 | loff_t pos; | ||
363 | |||
364 | ret = -EBADF; | ||
365 | file = fget(fd); | ||
366 | if (!file) | ||
367 | goto bad_file; | ||
368 | if (!(file->f_mode & FMODE_READ)) | ||
369 | goto out; | ||
370 | pos = merge_64(a4, a5); | ||
371 | ret = rw_verify_area(READ, file, &pos, count); | ||
372 | if (ret < 0) | ||
373 | goto out; | ||
374 | ret = -EINVAL; | ||
375 | if (!file->f_op || !(read = file->f_op->read)) | ||
376 | goto out; | ||
377 | if (pos < 0) | ||
378 | goto out; | ||
379 | ret = -ESPIPE; | ||
380 | if (!(file->f_mode & FMODE_PREAD)) | ||
381 | goto out; | ||
382 | ret = read(file, buf, count, &pos); | ||
383 | if (ret > 0) | ||
384 | dnotify_parent(file->f_dentry, DN_ACCESS); | ||
385 | out: | ||
386 | fput(file); | ||
387 | bad_file: | ||
388 | return ret; | ||
389 | } | 360 | } |
390 | 361 | ||
391 | asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, | 362 | asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, |
392 | size_t count, u32 unused, u64 a4, u64 a5) | 363 | size_t count, u32 unused, u64 a4, u64 a5) |
393 | { | 364 | { |
394 | ssize_t ret; | 365 | return sys_pwrite64(fd, buf, count, merge_64(a4, a5)); |
395 | struct file * file; | ||
396 | ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *); | ||
397 | loff_t pos; | ||
398 | |||
399 | ret = -EBADF; | ||
400 | file = fget(fd); | ||
401 | if (!file) | ||
402 | goto bad_file; | ||
403 | if (!(file->f_mode & FMODE_WRITE)) | ||
404 | goto out; | ||
405 | pos = merge_64(a4, a5); | ||
406 | ret = rw_verify_area(WRITE, file, &pos, count); | ||
407 | if (ret < 0) | ||
408 | goto out; | ||
409 | ret = -EINVAL; | ||
410 | if (!file->f_op || !(write = file->f_op->write)) | ||
411 | goto out; | ||
412 | if (pos < 0) | ||
413 | goto out; | ||
414 | |||
415 | ret = -ESPIPE; | ||
416 | if (!(file->f_mode & FMODE_PWRITE)) | ||
417 | goto out; | ||
418 | |||
419 | ret = write(file, buf, count, &pos); | ||
420 | if (ret > 0) | ||
421 | dnotify_parent(file->f_dentry, DN_MODIFY); | ||
422 | out: | ||
423 | fput(file); | ||
424 | bad_file: | ||
425 | return ret; | ||
426 | } | 366 | } |
427 | 367 | ||
428 | asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, | 368 | asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, |
@@ -1182,6 +1122,16 @@ asmlinkage ssize_t sys32_readahead(int fd, u32 pad0, u64 a2, u64 a3, | |||
1182 | return sys_readahead(fd, merge_64(a2, a3), count); | 1122 | return sys_readahead(fd, merge_64(a2, a3), count); |
1183 | } | 1123 | } |
1184 | 1124 | ||
1125 | asmlinkage long sys32_sync_file_range(int fd, int __pad, | ||
1126 | unsigned long a2, unsigned long a3, | ||
1127 | unsigned long a4, unsigned long a5, | ||
1128 | int flags) | ||
1129 | { | ||
1130 | return sys_sync_file_range(fd, | ||
1131 | merge_64(a2, a3), merge_64(a4, a5), | ||
1132 | flags); | ||
1133 | } | ||
1134 | |||
1185 | /* Argument list sizes for sys_socketcall */ | 1135 | /* Argument list sizes for sys_socketcall */ |
1186 | #define AL(x) ((x) * sizeof(unsigned int)) | 1136 | #define AL(x) ((x) * sizeof(unsigned int)) |
1187 | static unsigned char socketcall_nargs[18]={AL(0),AL(3),AL(3),AL(3),AL(2),AL(3), | 1137 | static unsigned char socketcall_nargs[18]={AL(0),AL(3),AL(3),AL(3),AL(2),AL(3), |
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c new file mode 100644 index 000000000000..02237a685ec7 --- /dev/null +++ b/arch/mips/kernel/mips-mt.c | |||
@@ -0,0 +1,449 @@ | |||
1 | /* | ||
2 | * General MIPS MT support routines, usable in AP/SP, SMVP, or SMTC kernels | ||
3 | * Copyright (C) 2005 Mips Technologies, Inc | ||
4 | */ | ||
5 | |||
6 | #include <linux/kernel.h> | ||
7 | #include <linux/sched.h> | ||
8 | #include <linux/cpumask.h> | ||
9 | #include <linux/interrupt.h> | ||
10 | |||
11 | #include <asm/cpu.h> | ||
12 | #include <asm/processor.h> | ||
13 | #include <asm/atomic.h> | ||
14 | #include <asm/system.h> | ||
15 | #include <asm/hardirq.h> | ||
16 | #include <asm/mmu_context.h> | ||
17 | #include <asm/smp.h> | ||
18 | #include <asm/mipsmtregs.h> | ||
19 | #include <asm/r4kcache.h> | ||
20 | #include <asm/cacheflush.h> | ||
21 | |||
22 | /* | ||
23 | * CPU mask used to set process affinity for MT VPEs/TCs with FPUs | ||
24 | */ | ||
25 | |||
26 | cpumask_t mt_fpu_cpumask; | ||
27 | |||
28 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
29 | |||
30 | #include <linux/cpu.h> | ||
31 | #include <linux/delay.h> | ||
32 | #include <asm/uaccess.h> | ||
33 | |||
34 | unsigned long mt_fpemul_threshold = 0; | ||
35 | |||
36 | /* | ||
37 | * Replacement functions for the sys_sched_setaffinity() and | ||
38 | * sys_sched_getaffinity() system calls, so that we can integrate | ||
39 | * FPU affinity with the user's requested processor affinity. | ||
40 | * This code is 98% identical with the sys_sched_setaffinity() | ||
41 | * and sys_sched_getaffinity() system calls, and should be | ||
42 | * updated when kernel/sched.c changes. | ||
43 | */ | ||
44 | |||
45 | /* | ||
46 | * find_process_by_pid - find a process with a matching PID value. | ||
47 | * used in sys_sched_set/getaffinity() in kernel/sched.c, so | ||
48 | * cloned here. | ||
49 | */ | ||
50 | static inline task_t *find_process_by_pid(pid_t pid) | ||
51 | { | ||
52 | return pid ? find_task_by_pid(pid) : current; | ||
53 | } | ||
54 | |||
55 | |||
56 | /* | ||
57 | * mipsmt_sys_sched_setaffinity - set the cpu affinity of a process | ||
58 | */ | ||
59 | asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len, | ||
60 | unsigned long __user *user_mask_ptr) | ||
61 | { | ||
62 | cpumask_t new_mask; | ||
63 | cpumask_t effective_mask; | ||
64 | int retval; | ||
65 | task_t *p; | ||
66 | |||
67 | if (len < sizeof(new_mask)) | ||
68 | return -EINVAL; | ||
69 | |||
70 | if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask))) | ||
71 | return -EFAULT; | ||
72 | |||
73 | lock_cpu_hotplug(); | ||
74 | read_lock(&tasklist_lock); | ||
75 | |||
76 | p = find_process_by_pid(pid); | ||
77 | if (!p) { | ||
78 | read_unlock(&tasklist_lock); | ||
79 | unlock_cpu_hotplug(); | ||
80 | return -ESRCH; | ||
81 | } | ||
82 | |||
83 | /* | ||
84 | * It is not safe to call set_cpus_allowed with the | ||
85 | * tasklist_lock held. We will bump the task_struct's | ||
86 | * usage count and drop tasklist_lock before invoking | ||
87 | * set_cpus_allowed. | ||
88 | */ | ||
89 | get_task_struct(p); | ||
90 | |||
91 | retval = -EPERM; | ||
92 | if ((current->euid != p->euid) && (current->euid != p->uid) && | ||
93 | !capable(CAP_SYS_NICE)) { | ||
94 | read_unlock(&tasklist_lock); | ||
95 | goto out_unlock; | ||
96 | } | ||
97 | |||
98 | /* Record new user-specified CPU set for future reference */ | ||
99 | p->thread.user_cpus_allowed = new_mask; | ||
100 | |||
101 | /* Unlock the task list */ | ||
102 | read_unlock(&tasklist_lock); | ||
103 | |||
104 | /* Compute new global allowed CPU set if necessary */ | ||
105 | if( (p->thread.mflags & MF_FPUBOUND) | ||
106 | && cpus_intersects(new_mask, mt_fpu_cpumask)) { | ||
107 | cpus_and(effective_mask, new_mask, mt_fpu_cpumask); | ||
108 | retval = set_cpus_allowed(p, effective_mask); | ||
109 | } else { | ||
110 | p->thread.mflags &= ~MF_FPUBOUND; | ||
111 | retval = set_cpus_allowed(p, new_mask); | ||
112 | } | ||
113 | |||
114 | |||
115 | out_unlock: | ||
116 | put_task_struct(p); | ||
117 | unlock_cpu_hotplug(); | ||
118 | return retval; | ||
119 | } | ||
120 | |||
121 | /* | ||
122 | * mipsmt_sys_sched_getaffinity - get the cpu affinity of a process | ||
123 | */ | ||
124 | asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len, | ||
125 | unsigned long __user *user_mask_ptr) | ||
126 | { | ||
127 | unsigned int real_len; | ||
128 | cpumask_t mask; | ||
129 | int retval; | ||
130 | task_t *p; | ||
131 | |||
132 | real_len = sizeof(mask); | ||
133 | if (len < real_len) | ||
134 | return -EINVAL; | ||
135 | |||
136 | lock_cpu_hotplug(); | ||
137 | read_lock(&tasklist_lock); | ||
138 | |||
139 | retval = -ESRCH; | ||
140 | p = find_process_by_pid(pid); | ||
141 | if (!p) | ||
142 | goto out_unlock; | ||
143 | |||
144 | retval = 0; | ||
145 | |||
146 | cpus_and(mask, p->thread.user_cpus_allowed, cpu_possible_map); | ||
147 | |||
148 | out_unlock: | ||
149 | read_unlock(&tasklist_lock); | ||
150 | unlock_cpu_hotplug(); | ||
151 | if (retval) | ||
152 | return retval; | ||
153 | if (copy_to_user(user_mask_ptr, &mask, real_len)) | ||
154 | return -EFAULT; | ||
155 | return real_len; | ||
156 | } | ||
157 | |||
158 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
159 | |||
160 | /* | ||
161 | * Dump new MIPS MT state for the core. Does not leave TCs halted. | ||
162 | * Takes an argument which taken to be a pre-call MVPControl value. | ||
163 | */ | ||
164 | |||
165 | void mips_mt_regdump(unsigned long mvpctl) | ||
166 | { | ||
167 | unsigned long flags; | ||
168 | unsigned long vpflags; | ||
169 | unsigned long mvpconf0; | ||
170 | int nvpe; | ||
171 | int ntc; | ||
172 | int i; | ||
173 | int tc; | ||
174 | unsigned long haltval; | ||
175 | unsigned long tcstatval; | ||
176 | #ifdef CONFIG_MIPS_MT_SMTC | ||
177 | void smtc_soft_dump(void); | ||
178 | #endif /* CONFIG_MIPT_MT_SMTC */ | ||
179 | |||
180 | local_irq_save(flags); | ||
181 | vpflags = dvpe(); | ||
182 | printk("=== MIPS MT State Dump ===\n"); | ||
183 | printk("-- Global State --\n"); | ||
184 | printk(" MVPControl Passed: %08lx\n", mvpctl); | ||
185 | printk(" MVPControl Read: %08lx\n", vpflags); | ||
186 | printk(" MVPConf0 : %08lx\n", (mvpconf0 = read_c0_mvpconf0())); | ||
187 | nvpe = ((mvpconf0 & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1; | ||
188 | ntc = ((mvpconf0 & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1; | ||
189 | printk("-- per-VPE State --\n"); | ||
190 | for(i = 0; i < nvpe; i++) { | ||
191 | for(tc = 0; tc < ntc; tc++) { | ||
192 | settc(tc); | ||
193 | if((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) { | ||
194 | printk(" VPE %d\n", i); | ||
195 | printk(" VPEControl : %08lx\n", read_vpe_c0_vpecontrol()); | ||
196 | printk(" VPEConf0 : %08lx\n", read_vpe_c0_vpeconf0()); | ||
197 | printk(" VPE%d.Status : %08lx\n", | ||
198 | i, read_vpe_c0_status()); | ||
199 | printk(" VPE%d.EPC : %08lx\n", i, read_vpe_c0_epc()); | ||
200 | printk(" VPE%d.Cause : %08lx\n", i, read_vpe_c0_cause()); | ||
201 | printk(" VPE%d.Config7 : %08lx\n", | ||
202 | i, read_vpe_c0_config7()); | ||
203 | break; /* Next VPE */ | ||
204 | } | ||
205 | } | ||
206 | } | ||
207 | printk("-- per-TC State --\n"); | ||
208 | for(tc = 0; tc < ntc; tc++) { | ||
209 | settc(tc); | ||
210 | if(read_tc_c0_tcbind() == read_c0_tcbind()) { | ||
211 | /* Are we dumping ourself? */ | ||
212 | haltval = 0; /* Then we're not halted, and mustn't be */ | ||
213 | tcstatval = flags; /* And pre-dump TCStatus is flags */ | ||
214 | printk(" TC %d (current TC with VPE EPC above)\n", tc); | ||
215 | } else { | ||
216 | haltval = read_tc_c0_tchalt(); | ||
217 | write_tc_c0_tchalt(1); | ||
218 | tcstatval = read_tc_c0_tcstatus(); | ||
219 | printk(" TC %d\n", tc); | ||
220 | } | ||
221 | printk(" TCStatus : %08lx\n", tcstatval); | ||
222 | printk(" TCBind : %08lx\n", read_tc_c0_tcbind()); | ||
223 | printk(" TCRestart : %08lx\n", read_tc_c0_tcrestart()); | ||
224 | printk(" TCHalt : %08lx\n", haltval); | ||
225 | printk(" TCContext : %08lx\n", read_tc_c0_tccontext()); | ||
226 | if (!haltval) | ||
227 | write_tc_c0_tchalt(0); | ||
228 | } | ||
229 | #ifdef CONFIG_MIPS_MT_SMTC | ||
230 | smtc_soft_dump(); | ||
231 | #endif /* CONFIG_MIPT_MT_SMTC */ | ||
232 | printk("===========================\n"); | ||
233 | evpe(vpflags); | ||
234 | local_irq_restore(flags); | ||
235 | } | ||
236 | |||
237 | static int mt_opt_norps = 0; | ||
238 | static int mt_opt_rpsctl = -1; | ||
239 | static int mt_opt_nblsu = -1; | ||
240 | static int mt_opt_forceconfig7 = 0; | ||
241 | static int mt_opt_config7 = -1; | ||
242 | |||
243 | static int __init rps_disable(char *s) | ||
244 | { | ||
245 | mt_opt_norps = 1; | ||
246 | return 1; | ||
247 | } | ||
248 | __setup("norps", rps_disable); | ||
249 | |||
250 | static int __init rpsctl_set(char *str) | ||
251 | { | ||
252 | get_option(&str, &mt_opt_rpsctl); | ||
253 | return 1; | ||
254 | } | ||
255 | __setup("rpsctl=", rpsctl_set); | ||
256 | |||
257 | static int __init nblsu_set(char *str) | ||
258 | { | ||
259 | get_option(&str, &mt_opt_nblsu); | ||
260 | return 1; | ||
261 | } | ||
262 | __setup("nblsu=", nblsu_set); | ||
263 | |||
264 | static int __init config7_set(char *str) | ||
265 | { | ||
266 | get_option(&str, &mt_opt_config7); | ||
267 | mt_opt_forceconfig7 = 1; | ||
268 | return 1; | ||
269 | } | ||
270 | __setup("config7=", config7_set); | ||
271 | |||
272 | /* Experimental cache flush control parameters that should go away some day */ | ||
273 | int mt_protiflush = 0; | ||
274 | int mt_protdflush = 0; | ||
275 | int mt_n_iflushes = 1; | ||
276 | int mt_n_dflushes = 1; | ||
277 | |||
278 | static int __init set_protiflush(char *s) | ||
279 | { | ||
280 | mt_protiflush = 1; | ||
281 | return 1; | ||
282 | } | ||
283 | __setup("protiflush", set_protiflush); | ||
284 | |||
285 | static int __init set_protdflush(char *s) | ||
286 | { | ||
287 | mt_protdflush = 1; | ||
288 | return 1; | ||
289 | } | ||
290 | __setup("protdflush", set_protdflush); | ||
291 | |||
292 | static int __init niflush(char *s) | ||
293 | { | ||
294 | get_option(&s, &mt_n_iflushes); | ||
295 | return 1; | ||
296 | } | ||
297 | __setup("niflush=", niflush); | ||
298 | |||
299 | static int __init ndflush(char *s) | ||
300 | { | ||
301 | get_option(&s, &mt_n_dflushes); | ||
302 | return 1; | ||
303 | } | ||
304 | __setup("ndflush=", ndflush); | ||
305 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
306 | static int fpaff_threshold = -1; | ||
307 | |||
308 | static int __init fpaff_thresh(char *str) | ||
309 | { | ||
310 | get_option(&str, &fpaff_threshold); | ||
311 | return 1; | ||
312 | } | ||
313 | |||
314 | __setup("fpaff=", fpaff_thresh); | ||
315 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
316 | |||
317 | static unsigned int itc_base = 0; | ||
318 | |||
319 | static int __init set_itc_base(char *str) | ||
320 | { | ||
321 | get_option(&str, &itc_base); | ||
322 | return 1; | ||
323 | } | ||
324 | |||
325 | __setup("itcbase=", set_itc_base); | ||
326 | |||
327 | void mips_mt_set_cpuoptions(void) | ||
328 | { | ||
329 | unsigned int oconfig7 = read_c0_config7(); | ||
330 | unsigned int nconfig7 = oconfig7; | ||
331 | |||
332 | if (mt_opt_norps) { | ||
333 | printk("\"norps\" option deprectated: use \"rpsctl=\"\n"); | ||
334 | } | ||
335 | if (mt_opt_rpsctl >= 0) { | ||
336 | printk("34K return prediction stack override set to %d.\n", | ||
337 | mt_opt_rpsctl); | ||
338 | if (mt_opt_rpsctl) | ||
339 | nconfig7 |= (1 << 2); | ||
340 | else | ||
341 | nconfig7 &= ~(1 << 2); | ||
342 | } | ||
343 | if (mt_opt_nblsu >= 0) { | ||
344 | printk("34K ALU/LSU sync override set to %d.\n", mt_opt_nblsu); | ||
345 | if (mt_opt_nblsu) | ||
346 | nconfig7 |= (1 << 5); | ||
347 | else | ||
348 | nconfig7 &= ~(1 << 5); | ||
349 | } | ||
350 | if (mt_opt_forceconfig7) { | ||
351 | printk("CP0.Config7 forced to 0x%08x.\n", mt_opt_config7); | ||
352 | nconfig7 = mt_opt_config7; | ||
353 | } | ||
354 | if (oconfig7 != nconfig7) { | ||
355 | __asm__ __volatile("sync"); | ||
356 | write_c0_config7(nconfig7); | ||
357 | ehb (); | ||
358 | printk("Config7: 0x%08x\n", read_c0_config7()); | ||
359 | } | ||
360 | |||
361 | /* Report Cache management debug options */ | ||
362 | if (mt_protiflush) | ||
363 | printk("I-cache flushes single-threaded\n"); | ||
364 | if (mt_protdflush) | ||
365 | printk("D-cache flushes single-threaded\n"); | ||
366 | if (mt_n_iflushes != 1) | ||
367 | printk("I-Cache Flushes Repeated %d times\n", mt_n_iflushes); | ||
368 | if (mt_n_dflushes != 1) | ||
369 | printk("D-Cache Flushes Repeated %d times\n", mt_n_dflushes); | ||
370 | |||
371 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
372 | /* FPU Use Factor empirically derived from experiments on 34K */ | ||
373 | #define FPUSEFACTOR 333 | ||
374 | |||
375 | if (fpaff_threshold >= 0) { | ||
376 | mt_fpemul_threshold = fpaff_threshold; | ||
377 | } else { | ||
378 | mt_fpemul_threshold = | ||
379 | (FPUSEFACTOR * (loops_per_jiffy/(500000/HZ))) / HZ; | ||
380 | } | ||
381 | printk("FPU Affinity set after %ld emulations\n", | ||
382 | mt_fpemul_threshold); | ||
383 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
384 | |||
385 | if (itc_base != 0) { | ||
386 | /* | ||
387 | * Configure ITC mapping. This code is very | ||
388 | * specific to the 34K core family, which uses | ||
389 | * a special mode bit ("ITC") in the ErrCtl | ||
390 | * register to enable access to ITC control | ||
391 | * registers via cache "tag" operations. | ||
392 | */ | ||
393 | unsigned long ectlval; | ||
394 | unsigned long itcblkgrn; | ||
395 | |||
396 | /* ErrCtl register is known as "ecc" to Linux */ | ||
397 | ectlval = read_c0_ecc(); | ||
398 | write_c0_ecc(ectlval | (0x1 << 26)); | ||
399 | ehb(); | ||
400 | #define INDEX_0 (0x80000000) | ||
401 | #define INDEX_8 (0x80000008) | ||
402 | /* Read "cache tag" for Dcache pseudo-index 8 */ | ||
403 | cache_op(Index_Load_Tag_D, INDEX_8); | ||
404 | ehb(); | ||
405 | itcblkgrn = read_c0_dtaglo(); | ||
406 | itcblkgrn &= 0xfffe0000; | ||
407 | /* Set for 128 byte pitch of ITC cells */ | ||
408 | itcblkgrn |= 0x00000c00; | ||
409 | /* Stage in Tag register */ | ||
410 | write_c0_dtaglo(itcblkgrn); | ||
411 | ehb(); | ||
412 | /* Write out to ITU with CACHE op */ | ||
413 | cache_op(Index_Store_Tag_D, INDEX_8); | ||
414 | /* Now set base address, and turn ITC on with 0x1 bit */ | ||
415 | write_c0_dtaglo((itc_base & 0xfffffc00) | 0x1 ); | ||
416 | ehb(); | ||
417 | /* Write out to ITU with CACHE op */ | ||
418 | cache_op(Index_Store_Tag_D, INDEX_0); | ||
419 | write_c0_ecc(ectlval); | ||
420 | ehb(); | ||
421 | printk("Mapped %ld ITC cells starting at 0x%08x\n", | ||
422 | ((itcblkgrn & 0x7fe00000) >> 20), itc_base); | ||
423 | } | ||
424 | } | ||
425 | |||
426 | /* | ||
427 | * Function to protect cache flushes from concurrent execution | ||
428 | * depends on MP software model chosen. | ||
429 | */ | ||
430 | |||
431 | void mt_cflush_lockdown(void) | ||
432 | { | ||
433 | #ifdef CONFIG_MIPS_MT_SMTC | ||
434 | void smtc_cflush_lockdown(void); | ||
435 | |||
436 | smtc_cflush_lockdown(); | ||
437 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
438 | /* FILL IN VSMP and AP/SP VERSIONS HERE */ | ||
439 | } | ||
440 | |||
441 | void mt_cflush_release(void) | ||
442 | { | ||
443 | #ifdef CONFIG_MIPS_MT_SMTC | ||
444 | void smtc_cflush_release(void); | ||
445 | |||
446 | smtc_cflush_release(); | ||
447 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
448 | /* FILL IN VSMP and AP/SP VERSIONS HERE */ | ||
449 | } | ||
diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c index e042f9d2ba31..0a71a4c33716 100644 --- a/arch/mips/kernel/mips_ksyms.c +++ b/arch/mips/kernel/mips_ksyms.c | |||
@@ -28,21 +28,9 @@ extern long __strnlen_user_asm(const char *s); | |||
28 | /* | 28 | /* |
29 | * String functions | 29 | * String functions |
30 | */ | 30 | */ |
31 | EXPORT_SYMBOL(memchr); | ||
32 | EXPORT_SYMBOL(memcmp); | ||
33 | EXPORT_SYMBOL(memset); | 31 | EXPORT_SYMBOL(memset); |
34 | EXPORT_SYMBOL(memcpy); | 32 | EXPORT_SYMBOL(memcpy); |
35 | EXPORT_SYMBOL(memmove); | 33 | EXPORT_SYMBOL(memmove); |
36 | EXPORT_SYMBOL(strcat); | ||
37 | EXPORT_SYMBOL(strchr); | ||
38 | #ifdef CONFIG_64BIT | ||
39 | EXPORT_SYMBOL(strncmp); | ||
40 | #endif | ||
41 | EXPORT_SYMBOL(strlen); | ||
42 | EXPORT_SYMBOL(strncat); | ||
43 | EXPORT_SYMBOL(strnlen); | ||
44 | EXPORT_SYMBOL(strrchr); | ||
45 | EXPORT_SYMBOL(strstr); | ||
46 | 34 | ||
47 | EXPORT_SYMBOL(kernel_thread); | 35 | EXPORT_SYMBOL(kernel_thread); |
48 | 36 | ||
@@ -61,6 +49,3 @@ EXPORT_SYMBOL(__strnlen_user_asm); | |||
61 | EXPORT_SYMBOL(csum_partial); | 49 | EXPORT_SYMBOL(csum_partial); |
62 | 50 | ||
63 | EXPORT_SYMBOL(invalid_pte_table); | 51 | EXPORT_SYMBOL(invalid_pte_table); |
64 | #ifdef CONFIG_GENERIC_IRQ_PROBE | ||
65 | EXPORT_SYMBOL(probe_irq_mask); | ||
66 | #endif | ||
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index c66db5e5ab62..199a06e873c6 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
@@ -41,6 +41,10 @@ | |||
41 | #include <asm/elf.h> | 41 | #include <asm/elf.h> |
42 | #include <asm/isadep.h> | 42 | #include <asm/isadep.h> |
43 | #include <asm/inst.h> | 43 | #include <asm/inst.h> |
44 | #ifdef CONFIG_MIPS_MT_SMTC | ||
45 | #include <asm/mipsmtregs.h> | ||
46 | extern void smtc_idle_loop_hook(void); | ||
47 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
44 | 48 | ||
45 | /* | 49 | /* |
46 | * The idle thread. There's no useful work to be done, so just try to conserve | 50 | * The idle thread. There's no useful work to be done, so just try to conserve |
@@ -51,9 +55,13 @@ ATTRIB_NORET void cpu_idle(void) | |||
51 | { | 55 | { |
52 | /* endless idle loop with no priority at all */ | 56 | /* endless idle loop with no priority at all */ |
53 | while (1) { | 57 | while (1) { |
54 | while (!need_resched()) | 58 | while (!need_resched()) { |
59 | #ifdef CONFIG_MIPS_MT_SMTC | ||
60 | smtc_idle_loop_hook(); | ||
61 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
55 | if (cpu_wait) | 62 | if (cpu_wait) |
56 | (*cpu_wait)(); | 63 | (*cpu_wait)(); |
64 | } | ||
57 | preempt_enable_no_resched(); | 65 | preempt_enable_no_resched(); |
58 | schedule(); | 66 | schedule(); |
59 | preempt_disable(); | 67 | preempt_disable(); |
@@ -177,6 +185,17 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
177 | childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); | 185 | childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); |
178 | clear_tsk_thread_flag(p, TIF_USEDFPU); | 186 | clear_tsk_thread_flag(p, TIF_USEDFPU); |
179 | 187 | ||
188 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
189 | /* | ||
190 | * FPU affinity support is cleaner if we track the | ||
191 | * user-visible CPU affinity from the very beginning. | ||
192 | * The generic cpus_allowed mask will already have | ||
193 | * been copied from the parent before copy_thread | ||
194 | * is invoked. | ||
195 | */ | ||
196 | p->thread.user_cpus_allowed = p->cpus_allowed; | ||
197 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
198 | |||
180 | if (clone_flags & CLONE_SETTLS) | 199 | if (clone_flags & CLONE_SETTLS) |
181 | ti->tp_value = regs->regs[7]; | 200 | ti->tp_value = regs->regs[7]; |
182 | 201 | ||
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c index f838b36cc765..9b4733c12395 100644 --- a/arch/mips/kernel/ptrace.c +++ b/arch/mips/kernel/ptrace.c | |||
@@ -248,10 +248,20 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
248 | break; | 248 | break; |
249 | case FPC_EIR: { /* implementation / version register */ | 249 | case FPC_EIR: { /* implementation / version register */ |
250 | unsigned int flags; | 250 | unsigned int flags; |
251 | #ifdef CONFIG_MIPS_MT_SMTC | ||
252 | unsigned int irqflags; | ||
253 | unsigned int mtflags; | ||
254 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
251 | 255 | ||
252 | if (!cpu_has_fpu) | 256 | if (!cpu_has_fpu) |
253 | break; | 257 | break; |
254 | 258 | ||
259 | #ifdef CONFIG_MIPS_MT_SMTC | ||
260 | /* Read-modify-write of Status must be atomic */ | ||
261 | local_irq_save(irqflags); | ||
262 | mtflags = dmt(); | ||
263 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
264 | |||
255 | preempt_disable(); | 265 | preempt_disable(); |
256 | if (cpu_has_mipsmt) { | 266 | if (cpu_has_mipsmt) { |
257 | unsigned int vpflags = dvpe(); | 267 | unsigned int vpflags = dvpe(); |
@@ -266,6 +276,10 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
266 | __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp)); | 276 | __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp)); |
267 | write_c0_status(flags); | 277 | write_c0_status(flags); |
268 | } | 278 | } |
279 | #ifdef CONFIG_MIPS_MT_SMTC | ||
280 | emt(mtflags); | ||
281 | local_irq_restore(irqflags); | ||
282 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
269 | preempt_enable(); | 283 | preempt_enable(); |
270 | break; | 284 | break; |
271 | } | 285 | } |
@@ -469,7 +483,7 @@ static inline int audit_arch(void) | |||
469 | asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) | 483 | asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) |
470 | { | 484 | { |
471 | if (unlikely(current->audit_context) && entryexit) | 485 | if (unlikely(current->audit_context) && entryexit) |
472 | audit_syscall_exit(current, AUDITSC_RESULT(regs->regs[2]), | 486 | audit_syscall_exit(AUDITSC_RESULT(regs->regs[2]), |
473 | regs->regs[2]); | 487 | regs->regs[2]); |
474 | 488 | ||
475 | if (!(current->ptrace & PT_PTRACED)) | 489 | if (!(current->ptrace & PT_PTRACED)) |
@@ -493,7 +507,7 @@ asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) | |||
493 | } | 507 | } |
494 | out: | 508 | out: |
495 | if (unlikely(current->audit_context) && !entryexit) | 509 | if (unlikely(current->audit_context) && !entryexit) |
496 | audit_syscall_entry(current, audit_arch(), regs->regs[2], | 510 | audit_syscall_entry(audit_arch(), regs->regs[2], |
497 | regs->regs[4], regs->regs[5], | 511 | regs->regs[4], regs->regs[5], |
498 | regs->regs[6], regs->regs[7]); | 512 | regs->regs[6], regs->regs[7]); |
499 | } | 513 | } |
diff --git a/arch/mips/kernel/ptrace32.c b/arch/mips/kernel/ptrace32.c index 0d5cf97af727..8704dc0496ea 100644 --- a/arch/mips/kernel/ptrace32.c +++ b/arch/mips/kernel/ptrace32.c | |||
@@ -173,12 +173,22 @@ asmlinkage int sys32_ptrace(int request, int pid, int addr, int data) | |||
173 | break; | 173 | break; |
174 | case FPC_EIR: { /* implementation / version register */ | 174 | case FPC_EIR: { /* implementation / version register */ |
175 | unsigned int flags; | 175 | unsigned int flags; |
176 | #ifdef CONFIG_MIPS_MT_SMTC | ||
177 | unsigned int irqflags; | ||
178 | unsigned int mtflags; | ||
179 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
176 | 180 | ||
177 | if (!cpu_has_fpu) { | 181 | if (!cpu_has_fpu) { |
178 | tmp = 0; | 182 | tmp = 0; |
179 | break; | 183 | break; |
180 | } | 184 | } |
181 | 185 | ||
186 | #ifdef CONFIG_MIPS_MT_SMTC | ||
187 | /* Read-modify-write of Status must be atomic */ | ||
188 | local_irq_save(irqflags); | ||
189 | mtflags = dmt(); | ||
190 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
191 | |||
182 | preempt_disable(); | 192 | preempt_disable(); |
183 | if (cpu_has_mipsmt) { | 193 | if (cpu_has_mipsmt) { |
184 | unsigned int vpflags = dvpe(); | 194 | unsigned int vpflags = dvpe(); |
@@ -193,6 +203,10 @@ asmlinkage int sys32_ptrace(int request, int pid, int addr, int data) | |||
193 | __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp)); | 203 | __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp)); |
194 | write_c0_status(flags); | 204 | write_c0_status(flags); |
195 | } | 205 | } |
206 | #ifdef CONFIG_MIPS_MT_SMTC | ||
207 | emt(mtflags); | ||
208 | local_irq_restore(irqflags); | ||
209 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
196 | preempt_enable(); | 210 | preempt_enable(); |
197 | break; | 211 | break; |
198 | } | 212 | } |
diff --git a/arch/mips/kernel/r4k_switch.S b/arch/mips/kernel/r4k_switch.S index d2afbd19a9c8..0b1b54acee9f 100644 --- a/arch/mips/kernel/r4k_switch.S +++ b/arch/mips/kernel/r4k_switch.S | |||
@@ -88,7 +88,18 @@ | |||
88 | 88 | ||
89 | PTR_ADDIU t0, $28, _THREAD_SIZE - 32 | 89 | PTR_ADDIU t0, $28, _THREAD_SIZE - 32 |
90 | set_saved_sp t0, t1, t2 | 90 | set_saved_sp t0, t1, t2 |
91 | 91 | #ifdef CONFIG_MIPS_MT_SMTC | |
92 | /* Read-modify-writes of Status must be atomic on a VPE */ | ||
93 | mfc0 t2, CP0_TCSTATUS | ||
94 | ori t1, t2, TCSTATUS_IXMT | ||
95 | mtc0 t1, CP0_TCSTATUS | ||
96 | andi t2, t2, TCSTATUS_IXMT | ||
97 | ehb | ||
98 | DMT 8 # dmt t0 | ||
99 | move t1,ra | ||
100 | jal mips_ihb | ||
101 | move ra,t1 | ||
102 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
92 | mfc0 t1, CP0_STATUS /* Do we really need this? */ | 103 | mfc0 t1, CP0_STATUS /* Do we really need this? */ |
93 | li a3, 0xff01 | 104 | li a3, 0xff01 |
94 | and t1, a3 | 105 | and t1, a3 |
@@ -97,6 +108,18 @@ | |||
97 | and a2, a3 | 108 | and a2, a3 |
98 | or a2, t1 | 109 | or a2, t1 |
99 | mtc0 a2, CP0_STATUS | 110 | mtc0 a2, CP0_STATUS |
111 | #ifdef CONFIG_MIPS_MT_SMTC | ||
112 | ehb | ||
113 | andi t0, t0, VPECONTROL_TE | ||
114 | beqz t0, 1f | ||
115 | emt | ||
116 | 1: | ||
117 | mfc0 t1, CP0_TCSTATUS | ||
118 | xori t1, t1, TCSTATUS_IXMT | ||
119 | or t1, t1, t2 | ||
120 | mtc0 t1, CP0_TCSTATUS | ||
121 | ehb | ||
122 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
100 | move v0, a0 | 123 | move v0, a0 |
101 | jr ra | 124 | jr ra |
102 | END(resume) | 125 | END(resume) |
@@ -131,10 +154,19 @@ LEAF(_restore_fp) | |||
131 | #define FPU_DEFAULT 0x00000000 | 154 | #define FPU_DEFAULT 0x00000000 |
132 | 155 | ||
133 | LEAF(_init_fpu) | 156 | LEAF(_init_fpu) |
157 | #ifdef CONFIG_MIPS_MT_SMTC | ||
158 | /* Rather than manipulate per-VPE Status, set per-TC bit in TCStatus */ | ||
159 | mfc0 t0, CP0_TCSTATUS | ||
160 | /* Bit position is the same for Status, TCStatus */ | ||
161 | li t1, ST0_CU1 | ||
162 | or t0, t1 | ||
163 | mtc0 t0, CP0_TCSTATUS | ||
164 | #else /* Normal MIPS CU1 enable */ | ||
134 | mfc0 t0, CP0_STATUS | 165 | mfc0 t0, CP0_STATUS |
135 | li t1, ST0_CU1 | 166 | li t1, ST0_CU1 |
136 | or t0, t1 | 167 | or t0, t1 |
137 | mtc0 t0, CP0_STATUS | 168 | mtc0 t0, CP0_STATUS |
169 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
138 | fpu_enable_hazard | 170 | fpu_enable_hazard |
139 | 171 | ||
140 | li t1, FPU_DEFAULT | 172 | li t1, FPU_DEFAULT |
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c index 986a9cf23067..caf777f83289 100644 --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c | |||
@@ -21,45 +21,44 @@ | |||
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <linux/fs.h> | 22 | #include <linux/fs.h> |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <asm/uaccess.h> | ||
25 | #include <linux/slab.h> | ||
26 | #include <linux/list.h> | ||
27 | #include <linux/vmalloc.h> | ||
28 | #include <linux/elf.h> | ||
29 | #include <linux/seq_file.h> | ||
30 | #include <linux/syscalls.h> | ||
31 | #include <linux/moduleloader.h> | ||
24 | #include <linux/interrupt.h> | 32 | #include <linux/interrupt.h> |
25 | #include <linux/irq.h> | ||
26 | #include <linux/poll.h> | 33 | #include <linux/poll.h> |
27 | #include <linux/sched.h> | 34 | #include <linux/sched.h> |
28 | #include <linux/wait.h> | 35 | #include <linux/wait.h> |
29 | |||
30 | #include <asm/mipsmtregs.h> | 36 | #include <asm/mipsmtregs.h> |
31 | #include <asm/bitops.h> | 37 | #include <asm/cacheflush.h> |
38 | #include <asm/atomic.h> | ||
32 | #include <asm/cpu.h> | 39 | #include <asm/cpu.h> |
33 | #include <asm/processor.h> | 40 | #include <asm/processor.h> |
41 | #include <asm/system.h> | ||
42 | #include <asm/vpe.h> | ||
34 | #include <asm/rtlx.h> | 43 | #include <asm/rtlx.h> |
35 | #include <asm/uaccess.h> | ||
36 | 44 | ||
37 | #define RTLX_TARG_VPE 1 | 45 | #define RTLX_TARG_VPE 1 |
38 | 46 | ||
39 | static struct rtlx_info *rtlx; | 47 | static struct rtlx_info *rtlx; |
40 | static int major; | 48 | static int major; |
41 | static char module_name[] = "rtlx"; | 49 | static char module_name[] = "rtlx"; |
42 | static struct irqaction irq; | ||
43 | static int irq_num; | ||
44 | |||
45 | static inline int spacefree(int read, int write, int size) | ||
46 | { | ||
47 | if (read == write) { | ||
48 | /* | ||
49 | * never fill the buffer completely, so indexes are always | ||
50 | * equal if empty and only empty, or !equal if data available | ||
51 | */ | ||
52 | return size - 1; | ||
53 | } | ||
54 | |||
55 | return ((read + size - write) % size) - 1; | ||
56 | } | ||
57 | 50 | ||
58 | static struct chan_waitqueues { | 51 | static struct chan_waitqueues { |
59 | wait_queue_head_t rt_queue; | 52 | wait_queue_head_t rt_queue; |
60 | wait_queue_head_t lx_queue; | 53 | wait_queue_head_t lx_queue; |
54 | int in_open; | ||
61 | } channel_wqs[RTLX_CHANNELS]; | 55 | } channel_wqs[RTLX_CHANNELS]; |
62 | 56 | ||
57 | static struct irqaction irq; | ||
58 | static int irq_num; | ||
59 | static struct vpe_notifications notify; | ||
60 | static int sp_stopping = 0; | ||
61 | |||
63 | extern void *vpe_get_shared(int index); | 62 | extern void *vpe_get_shared(int index); |
64 | 63 | ||
65 | static void rtlx_dispatch(struct pt_regs *regs) | 64 | static void rtlx_dispatch(struct pt_regs *regs) |
@@ -67,174 +66,298 @@ static void rtlx_dispatch(struct pt_regs *regs) | |||
67 | do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ, regs); | 66 | do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ, regs); |
68 | } | 67 | } |
69 | 68 | ||
69 | |||
70 | /* Interrupt handler may be called before rtlx_init has otherwise had | ||
71 | a chance to run. | ||
72 | */ | ||
70 | static irqreturn_t rtlx_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 73 | static irqreturn_t rtlx_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
71 | { | 74 | { |
72 | int i; | 75 | int i; |
73 | 76 | ||
74 | for (i = 0; i < RTLX_CHANNELS; i++) { | 77 | for (i = 0; i < RTLX_CHANNELS; i++) { |
75 | struct rtlx_channel *chan = &rtlx->channel[i]; | 78 | wake_up(&channel_wqs[i].lx_queue); |
76 | 79 | wake_up(&channel_wqs[i].rt_queue); | |
77 | if (chan->lx_read != chan->lx_write) | ||
78 | wake_up_interruptible(&channel_wqs[i].lx_queue); | ||
79 | } | 80 | } |
80 | 81 | ||
81 | return IRQ_HANDLED; | 82 | return IRQ_HANDLED; |
82 | } | 83 | } |
83 | 84 | ||
84 | /* call when we have the address of the shared structure from the SP side. */ | 85 | static __attribute_used__ void dump_rtlx(void) |
85 | static int rtlx_init(struct rtlx_info *rtlxi) | ||
86 | { | 86 | { |
87 | int i; | 87 | int i; |
88 | 88 | ||
89 | if (rtlxi->id != RTLX_ID) { | 89 | printk("id 0x%lx state %d\n", rtlx->id, rtlx->state); |
90 | printk(KERN_WARNING "no valid RTLX id at 0x%p\n", rtlxi); | ||
91 | return -ENOEXEC; | ||
92 | } | ||
93 | 90 | ||
94 | /* initialise the wait queues */ | ||
95 | for (i = 0; i < RTLX_CHANNELS; i++) { | 91 | for (i = 0; i < RTLX_CHANNELS; i++) { |
96 | init_waitqueue_head(&channel_wqs[i].rt_queue); | 92 | struct rtlx_channel *chan = &rtlx->channel[i]; |
97 | init_waitqueue_head(&channel_wqs[i].lx_queue); | ||
98 | } | ||
99 | 93 | ||
100 | /* set up for interrupt handling */ | 94 | printk(" rt_state %d lx_state %d buffer_size %d\n", |
101 | memset(&irq, 0, sizeof(struct irqaction)); | 95 | chan->rt_state, chan->lx_state, chan->buffer_size); |
102 | 96 | ||
103 | if (cpu_has_vint) | 97 | printk(" rt_read %d rt_write %d\n", |
104 | set_vi_handler(MIPS_CPU_RTLX_IRQ, rtlx_dispatch); | 98 | chan->rt_read, chan->rt_write); |
99 | |||
100 | printk(" lx_read %d lx_write %d\n", | ||
101 | chan->lx_read, chan->lx_write); | ||
105 | 102 | ||
106 | irq_num = MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ; | 103 | printk(" rt_buffer <%s>\n", chan->rt_buffer); |
107 | irq.handler = rtlx_interrupt; | 104 | printk(" lx_buffer <%s>\n", chan->lx_buffer); |
108 | irq.flags = SA_INTERRUPT; | 105 | } |
109 | irq.name = "RTLX"; | 106 | } |
110 | irq.dev_id = rtlx; | 107 | |
111 | setup_irq(irq_num, &irq); | 108 | /* call when we have the address of the shared structure from the SP side. */ |
109 | static int rtlx_init(struct rtlx_info *rtlxi) | ||
110 | { | ||
111 | if (rtlxi->id != RTLX_ID) { | ||
112 | printk(KERN_ERR "no valid RTLX id at 0x%p 0x%x\n", rtlxi, rtlxi->id); | ||
113 | return -ENOEXEC; | ||
114 | } | ||
112 | 115 | ||
113 | rtlx = rtlxi; | 116 | rtlx = rtlxi; |
114 | 117 | ||
115 | return 0; | 118 | return 0; |
116 | } | 119 | } |
117 | 120 | ||
118 | /* only allow one open process at a time to open each channel */ | 121 | /* notifications */ |
119 | static int rtlx_open(struct inode *inode, struct file *filp) | 122 | static void starting(int vpe) |
123 | { | ||
124 | int i; | ||
125 | sp_stopping = 0; | ||
126 | |||
127 | /* force a reload of rtlx */ | ||
128 | rtlx=NULL; | ||
129 | |||
130 | /* wake up any sleeping rtlx_open's */ | ||
131 | for (i = 0; i < RTLX_CHANNELS; i++) | ||
132 | wake_up_interruptible(&channel_wqs[i].lx_queue); | ||
133 | } | ||
134 | |||
135 | static void stopping(int vpe) | ||
120 | { | 136 | { |
121 | int minor, ret; | 137 | int i; |
138 | |||
139 | sp_stopping = 1; | ||
140 | for (i = 0; i < RTLX_CHANNELS; i++) | ||
141 | wake_up_interruptible(&channel_wqs[i].lx_queue); | ||
142 | } | ||
143 | |||
144 | |||
145 | int rtlx_open(int index, int can_sleep) | ||
146 | { | ||
147 | int ret; | ||
122 | struct rtlx_channel *chan; | 148 | struct rtlx_channel *chan; |
149 | volatile struct rtlx_info **p; | ||
123 | 150 | ||
124 | /* assume only 1 device at the mo. */ | 151 | if (index >= RTLX_CHANNELS) { |
125 | minor = MINOR(inode->i_rdev); | 152 | printk(KERN_DEBUG "rtlx_open index out of range\n"); |
153 | return -ENOSYS; | ||
154 | } | ||
155 | |||
156 | if (channel_wqs[index].in_open) { | ||
157 | printk(KERN_DEBUG "rtlx_open channel %d already opened\n", index); | ||
158 | return -EBUSY; | ||
159 | } | ||
160 | |||
161 | channel_wqs[index].in_open++; | ||
126 | 162 | ||
127 | if (rtlx == NULL) { | 163 | if (rtlx == NULL) { |
128 | struct rtlx_info **p; | ||
129 | if( (p = vpe_get_shared(RTLX_TARG_VPE)) == NULL) { | 164 | if( (p = vpe_get_shared(RTLX_TARG_VPE)) == NULL) { |
130 | printk(KERN_ERR "vpe_get_shared is NULL. " | 165 | if (can_sleep) { |
131 | "Has an SP program been loaded?\n"); | 166 | DECLARE_WAITQUEUE(wait, current); |
132 | return -EFAULT; | 167 | |
168 | /* go to sleep */ | ||
169 | add_wait_queue(&channel_wqs[index].lx_queue, &wait); | ||
170 | |||
171 | set_current_state(TASK_INTERRUPTIBLE); | ||
172 | while ((p = vpe_get_shared(RTLX_TARG_VPE)) == NULL) { | ||
173 | schedule(); | ||
174 | set_current_state(TASK_INTERRUPTIBLE); | ||
175 | } | ||
176 | |||
177 | set_current_state(TASK_RUNNING); | ||
178 | remove_wait_queue(&channel_wqs[index].lx_queue, &wait); | ||
179 | |||
180 | /* back running */ | ||
181 | } else { | ||
182 | printk( KERN_DEBUG "No SP program loaded, and device " | ||
183 | "opened with O_NONBLOCK\n"); | ||
184 | channel_wqs[index].in_open = 0; | ||
185 | return -ENOSYS; | ||
186 | } | ||
133 | } | 187 | } |
134 | 188 | ||
135 | if (*p == NULL) { | 189 | if (*p == NULL) { |
136 | printk(KERN_ERR "vpe_shared %p %p\n", p, *p); | 190 | if (can_sleep) { |
137 | return -EFAULT; | 191 | DECLARE_WAITQUEUE(wait, current); |
192 | |||
193 | /* go to sleep */ | ||
194 | add_wait_queue(&channel_wqs[index].lx_queue, &wait); | ||
195 | |||
196 | set_current_state(TASK_INTERRUPTIBLE); | ||
197 | while (*p == NULL) { | ||
198 | schedule(); | ||
199 | |||
200 | /* reset task state to interruptable otherwise | ||
201 | we'll whizz round here like a very fast loopy | ||
202 | thing. schedule() appears to return with state | ||
203 | set to TASK_RUNNING. | ||
204 | |||
205 | If the loaded SP program, for whatever reason, | ||
206 | doesn't set up the shared structure *p will never | ||
207 | become true. So whoever connected to either /dev/rt? | ||
208 | or if it was kspd, will then take up rather a lot of | ||
209 | processor cycles. | ||
210 | */ | ||
211 | |||
212 | set_current_state(TASK_INTERRUPTIBLE); | ||
213 | } | ||
214 | |||
215 | set_current_state(TASK_RUNNING); | ||
216 | remove_wait_queue(&channel_wqs[index].lx_queue, &wait); | ||
217 | |||
218 | /* back running */ | ||
219 | } | ||
220 | else { | ||
221 | printk(" *vpe_get_shared is NULL. " | ||
222 | "Has an SP program been loaded?\n"); | ||
223 | channel_wqs[index].in_open = 0; | ||
224 | return -ENOSYS; | ||
225 | } | ||
138 | } | 226 | } |
139 | 227 | ||
140 | if ((ret = rtlx_init(*p)) < 0) | 228 | if ((unsigned int)*p < KSEG0) { |
141 | return ret; | 229 | printk(KERN_WARNING "vpe_get_shared returned an invalid pointer " |
230 | "maybe an error code %d\n", (int)*p); | ||
231 | channel_wqs[index].in_open = 0; | ||
232 | return -ENOSYS; | ||
233 | } | ||
234 | |||
235 | if ((ret = rtlx_init(*p)) < 0) { | ||
236 | channel_wqs[index].in_open = 0; | ||
237 | return ret; | ||
238 | } | ||
142 | } | 239 | } |
143 | 240 | ||
144 | chan = &rtlx->channel[minor]; | 241 | chan = &rtlx->channel[index]; |
145 | 242 | ||
146 | if (test_and_set_bit(RTLX_STATE_OPENED, &chan->lx_state)) | 243 | if (chan->lx_state == RTLX_STATE_OPENED) { |
147 | return -EBUSY; | 244 | channel_wqs[index].in_open = 0; |
245 | return -EBUSY; | ||
246 | } | ||
148 | 247 | ||
248 | chan->lx_state = RTLX_STATE_OPENED; | ||
249 | channel_wqs[index].in_open = 0; | ||
149 | return 0; | 250 | return 0; |
150 | } | 251 | } |
151 | 252 | ||
152 | static int rtlx_release(struct inode *inode, struct file *filp) | 253 | int rtlx_release(int index) |
153 | { | 254 | { |
154 | int minor = MINOR(inode->i_rdev); | 255 | rtlx->channel[index].lx_state = RTLX_STATE_UNUSED; |
155 | |||
156 | clear_bit(RTLX_STATE_OPENED, &rtlx->channel[minor].lx_state); | ||
157 | smp_mb__after_clear_bit(); | ||
158 | |||
159 | return 0; | 256 | return 0; |
160 | } | 257 | } |
161 | 258 | ||
162 | static unsigned int rtlx_poll(struct file *file, poll_table * wait) | 259 | unsigned int rtlx_read_poll(int index, int can_sleep) |
163 | { | 260 | { |
164 | int minor; | 261 | struct rtlx_channel *chan; |
165 | unsigned int mask = 0; | ||
166 | struct rtlx_channel *chan; | ||
167 | 262 | ||
168 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 263 | if (rtlx == NULL) |
169 | chan = &rtlx->channel[minor]; | 264 | return 0; |
170 | 265 | ||
171 | poll_wait(file, &channel_wqs[minor].rt_queue, wait); | 266 | chan = &rtlx->channel[index]; |
172 | poll_wait(file, &channel_wqs[minor].lx_queue, wait); | ||
173 | 267 | ||
174 | /* data available to read? */ | 268 | /* data available to read? */ |
175 | if (chan->lx_read != chan->lx_write) | 269 | if (chan->lx_read == chan->lx_write) { |
176 | mask |= POLLIN | POLLRDNORM; | 270 | if (can_sleep) { |
271 | DECLARE_WAITQUEUE(wait, current); | ||
177 | 272 | ||
178 | /* space to write */ | 273 | /* go to sleep */ |
179 | if (spacefree(chan->rt_read, chan->rt_write, chan->buffer_size)) | 274 | add_wait_queue(&channel_wqs[index].lx_queue, &wait); |
180 | mask |= POLLOUT | POLLWRNORM; | ||
181 | 275 | ||
182 | return mask; | 276 | set_current_state(TASK_INTERRUPTIBLE); |
277 | while (chan->lx_read == chan->lx_write) { | ||
278 | schedule(); | ||
279 | |||
280 | set_current_state(TASK_INTERRUPTIBLE); | ||
281 | |||
282 | if (sp_stopping) { | ||
283 | set_current_state(TASK_RUNNING); | ||
284 | remove_wait_queue(&channel_wqs[index].lx_queue, &wait); | ||
285 | return 0; | ||
286 | } | ||
287 | } | ||
288 | |||
289 | set_current_state(TASK_RUNNING); | ||
290 | remove_wait_queue(&channel_wqs[index].lx_queue, &wait); | ||
291 | |||
292 | /* back running */ | ||
293 | } | ||
294 | else | ||
295 | return 0; | ||
296 | } | ||
297 | |||
298 | return (chan->lx_write + chan->buffer_size - chan->lx_read) | ||
299 | % chan->buffer_size; | ||
183 | } | 300 | } |
184 | 301 | ||
185 | static ssize_t rtlx_read(struct file *file, char __user * buffer, size_t count, | 302 | static inline int write_spacefree(int read, int write, int size) |
186 | loff_t * ppos) | ||
187 | { | 303 | { |
188 | unsigned long failed; | 304 | if (read == write) { |
189 | size_t fl = 0L; | 305 | /* |
190 | int minor; | 306 | * Never fill the buffer completely, so indexes are always |
191 | struct rtlx_channel *lx; | 307 | * equal if empty and only empty, or !equal if data available |
192 | DECLARE_WAITQUEUE(wait, current); | 308 | */ |
309 | return size - 1; | ||
310 | } | ||
193 | 311 | ||
194 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 312 | return ((read + size - write) % size) - 1; |
195 | lx = &rtlx->channel[minor]; | 313 | } |
196 | 314 | ||
197 | /* data available? */ | 315 | unsigned int rtlx_write_poll(int index) |
198 | if (lx->lx_write == lx->lx_read) { | 316 | { |
199 | if (file->f_flags & O_NONBLOCK) | 317 | struct rtlx_channel *chan = &rtlx->channel[index]; |
200 | return 0; /* -EAGAIN makes cat whinge */ | 318 | return write_spacefree(chan->rt_read, chan->rt_write, chan->buffer_size); |
319 | } | ||
201 | 320 | ||
202 | /* go to sleep */ | 321 | static inline void copy_to(void *dst, void *src, size_t count, int user) |
203 | add_wait_queue(&channel_wqs[minor].lx_queue, &wait); | 322 | { |
204 | set_current_state(TASK_INTERRUPTIBLE); | 323 | if (user) |
324 | copy_to_user(dst, src, count); | ||
325 | else | ||
326 | memcpy(dst, src, count); | ||
327 | } | ||
205 | 328 | ||
206 | while (lx->lx_write == lx->lx_read) | 329 | static inline void copy_from(void *dst, void *src, size_t count, int user) |
207 | schedule(); | 330 | { |
331 | if (user) | ||
332 | copy_from_user(dst, src, count); | ||
333 | else | ||
334 | memcpy(dst, src, count); | ||
335 | } | ||
208 | 336 | ||
209 | set_current_state(TASK_RUNNING); | 337 | ssize_t rtlx_read(int index, void *buff, size_t count, int user) |
210 | remove_wait_queue(&channel_wqs[minor].lx_queue, &wait); | 338 | { |
339 | size_t fl = 0L; | ||
340 | struct rtlx_channel *lx; | ||
211 | 341 | ||
212 | /* back running */ | 342 | if (rtlx == NULL) |
213 | } | 343 | return -ENOSYS; |
344 | |||
345 | lx = &rtlx->channel[index]; | ||
214 | 346 | ||
215 | /* find out how much in total */ | 347 | /* find out how much in total */ |
216 | count = min(count, | 348 | count = min(count, |
217 | (size_t)(lx->lx_write + lx->buffer_size - lx->lx_read) % lx->buffer_size); | 349 | (size_t)(lx->lx_write + lx->buffer_size - lx->lx_read) |
350 | % lx->buffer_size); | ||
218 | 351 | ||
219 | /* then how much from the read pointer onwards */ | 352 | /* then how much from the read pointer onwards */ |
220 | fl = min(count, (size_t)lx->buffer_size - lx->lx_read); | 353 | fl = min( count, (size_t)lx->buffer_size - lx->lx_read); |
221 | 354 | ||
222 | failed = copy_to_user (buffer, &lx->lx_buffer[lx->lx_read], fl); | 355 | copy_to(buff, &lx->lx_buffer[lx->lx_read], fl, user); |
223 | if (failed) { | ||
224 | count = fl - failed; | ||
225 | goto out; | ||
226 | } | ||
227 | 356 | ||
228 | /* and if there is anything left at the beginning of the buffer */ | 357 | /* and if there is anything left at the beginning of the buffer */ |
229 | if (count - fl) { | 358 | if ( count - fl ) |
230 | failed = copy_to_user (buffer + fl, lx->lx_buffer, count - fl); | 359 | copy_to (buff + fl, lx->lx_buffer, count - fl, user); |
231 | if (failed) { | ||
232 | count -= failed; | ||
233 | goto out; | ||
234 | } | ||
235 | } | ||
236 | 360 | ||
237 | out: | ||
238 | /* update the index */ | 361 | /* update the index */ |
239 | lx->lx_read += count; | 362 | lx->lx_read += count; |
240 | lx->lx_read %= lx->buffer_size; | 363 | lx->lx_read %= lx->buffer_size; |
@@ -242,20 +365,100 @@ out: | |||
242 | return count; | 365 | return count; |
243 | } | 366 | } |
244 | 367 | ||
245 | static ssize_t rtlx_write(struct file *file, const char __user * buffer, | 368 | ssize_t rtlx_write(int index, void *buffer, size_t count, int user) |
369 | { | ||
370 | struct rtlx_channel *rt; | ||
371 | size_t fl; | ||
372 | |||
373 | if (rtlx == NULL) | ||
374 | return(-ENOSYS); | ||
375 | |||
376 | rt = &rtlx->channel[index]; | ||
377 | |||
378 | /* total number of bytes to copy */ | ||
379 | count = min(count, | ||
380 | (size_t)write_spacefree(rt->rt_read, rt->rt_write, | ||
381 | rt->buffer_size)); | ||
382 | |||
383 | /* first bit from write pointer to the end of the buffer, or count */ | ||
384 | fl = min(count, (size_t) rt->buffer_size - rt->rt_write); | ||
385 | |||
386 | copy_from (&rt->rt_buffer[rt->rt_write], buffer, fl, user); | ||
387 | |||
388 | /* if there's any left copy to the beginning of the buffer */ | ||
389 | if( count - fl ) | ||
390 | copy_from (rt->rt_buffer, buffer + fl, count - fl, user); | ||
391 | |||
392 | rt->rt_write += count; | ||
393 | rt->rt_write %= rt->buffer_size; | ||
394 | |||
395 | return(count); | ||
396 | } | ||
397 | |||
398 | |||
399 | static int file_open(struct inode *inode, struct file *filp) | ||
400 | { | ||
401 | int minor = iminor(inode); | ||
402 | |||
403 | return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); | ||
404 | } | ||
405 | |||
406 | static int file_release(struct inode *inode, struct file *filp) | ||
407 | { | ||
408 | int minor = iminor(inode); | ||
409 | |||
410 | return rtlx_release(minor); | ||
411 | } | ||
412 | |||
413 | static unsigned int file_poll(struct file *file, poll_table * wait) | ||
414 | { | ||
415 | int minor; | ||
416 | unsigned int mask = 0; | ||
417 | |||
418 | minor = iminor(file->f_dentry->d_inode); | ||
419 | |||
420 | poll_wait(file, &channel_wqs[minor].rt_queue, wait); | ||
421 | poll_wait(file, &channel_wqs[minor].lx_queue, wait); | ||
422 | |||
423 | if (rtlx == NULL) | ||
424 | return 0; | ||
425 | |||
426 | /* data available to read? */ | ||
427 | if (rtlx_read_poll(minor, 0)) | ||
428 | mask |= POLLIN | POLLRDNORM; | ||
429 | |||
430 | /* space to write */ | ||
431 | if (rtlx_write_poll(minor)) | ||
432 | mask |= POLLOUT | POLLWRNORM; | ||
433 | |||
434 | return mask; | ||
435 | } | ||
436 | |||
437 | static ssize_t file_read(struct file *file, char __user * buffer, size_t count, | ||
438 | loff_t * ppos) | ||
439 | { | ||
440 | int minor = iminor(file->f_dentry->d_inode); | ||
441 | |||
442 | /* data available? */ | ||
443 | if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) { | ||
444 | return 0; // -EAGAIN makes cat whinge | ||
445 | } | ||
446 | |||
447 | return rtlx_read(minor, buffer, count, 1); | ||
448 | } | ||
449 | |||
450 | static ssize_t file_write(struct file *file, const char __user * buffer, | ||
246 | size_t count, loff_t * ppos) | 451 | size_t count, loff_t * ppos) |
247 | { | 452 | { |
248 | unsigned long failed; | ||
249 | int minor; | 453 | int minor; |
250 | struct rtlx_channel *rt; | 454 | struct rtlx_channel *rt; |
251 | size_t fl; | ||
252 | DECLARE_WAITQUEUE(wait, current); | 455 | DECLARE_WAITQUEUE(wait, current); |
253 | 456 | ||
254 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 457 | minor = iminor(file->f_dentry->d_inode); |
255 | rt = &rtlx->channel[minor]; | 458 | rt = &rtlx->channel[minor]; |
256 | 459 | ||
257 | /* any space left... */ | 460 | /* any space left... */ |
258 | if (!spacefree(rt->rt_read, rt->rt_write, rt->buffer_size)) { | 461 | if (!rtlx_write_poll(minor)) { |
259 | 462 | ||
260 | if (file->f_flags & O_NONBLOCK) | 463 | if (file->f_flags & O_NONBLOCK) |
261 | return -EAGAIN; | 464 | return -EAGAIN; |
@@ -263,61 +466,64 @@ static ssize_t rtlx_write(struct file *file, const char __user * buffer, | |||
263 | add_wait_queue(&channel_wqs[minor].rt_queue, &wait); | 466 | add_wait_queue(&channel_wqs[minor].rt_queue, &wait); |
264 | set_current_state(TASK_INTERRUPTIBLE); | 467 | set_current_state(TASK_INTERRUPTIBLE); |
265 | 468 | ||
266 | while (!spacefree(rt->rt_read, rt->rt_write, rt->buffer_size)) | 469 | while (!rtlx_write_poll(minor)) |
267 | schedule(); | 470 | schedule(); |
268 | 471 | ||
269 | set_current_state(TASK_RUNNING); | 472 | set_current_state(TASK_RUNNING); |
270 | remove_wait_queue(&channel_wqs[minor].rt_queue, &wait); | 473 | remove_wait_queue(&channel_wqs[minor].rt_queue, &wait); |
271 | } | 474 | } |
272 | 475 | ||
273 | /* total number of bytes to copy */ | 476 | return rtlx_write(minor, (void *)buffer, count, 1); |
274 | count = min(count, (size_t)spacefree(rt->rt_read, rt->rt_write, rt->buffer_size) ); | ||
275 | |||
276 | /* first bit from write pointer to the end of the buffer, or count */ | ||
277 | fl = min(count, (size_t) rt->buffer_size - rt->rt_write); | ||
278 | |||
279 | failed = copy_from_user(&rt->rt_buffer[rt->rt_write], buffer, fl); | ||
280 | if (failed) { | ||
281 | count = fl - failed; | ||
282 | goto out; | ||
283 | } | ||
284 | |||
285 | /* if there's any left copy to the beginning of the buffer */ | ||
286 | if (count - fl) { | ||
287 | failed = copy_from_user(rt->rt_buffer, buffer + fl, count - fl); | ||
288 | if (failed) { | ||
289 | count -= failed; | ||
290 | goto out; | ||
291 | } | ||
292 | } | ||
293 | |||
294 | out: | ||
295 | rt->rt_write += count; | ||
296 | rt->rt_write %= rt->buffer_size; | ||
297 | |||
298 | return count; | ||
299 | } | 477 | } |
300 | 478 | ||
301 | static struct file_operations rtlx_fops = { | 479 | static struct file_operations rtlx_fops = { |
302 | .owner = THIS_MODULE, | 480 | .owner = THIS_MODULE, |
303 | .open = rtlx_open, | 481 | .open = file_open, |
304 | .release = rtlx_release, | 482 | .release = file_release, |
305 | .write = rtlx_write, | 483 | .write = file_write, |
306 | .read = rtlx_read, | 484 | .read = file_read, |
307 | .poll = rtlx_poll | 485 | .poll = file_poll |
486 | }; | ||
487 | |||
488 | static struct irqaction rtlx_irq = { | ||
489 | .handler = rtlx_interrupt, | ||
490 | .flags = SA_INTERRUPT, | ||
491 | .name = "RTLX", | ||
308 | }; | 492 | }; |
309 | 493 | ||
494 | static int rtlx_irq_num = MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ; | ||
495 | |||
310 | static char register_chrdev_failed[] __initdata = | 496 | static char register_chrdev_failed[] __initdata = |
311 | KERN_ERR "rtlx_module_init: unable to register device\n"; | 497 | KERN_ERR "rtlx_module_init: unable to register device\n"; |
312 | 498 | ||
313 | static int __init rtlx_module_init(void) | 499 | static int rtlx_module_init(void) |
314 | { | 500 | { |
501 | int i; | ||
502 | |||
315 | major = register_chrdev(0, module_name, &rtlx_fops); | 503 | major = register_chrdev(0, module_name, &rtlx_fops); |
316 | if (major < 0) { | 504 | if (major < 0) { |
317 | printk(register_chrdev_failed); | 505 | printk(register_chrdev_failed); |
318 | return major; | 506 | return major; |
319 | } | 507 | } |
320 | 508 | ||
509 | /* initialise the wait queues */ | ||
510 | for (i = 0; i < RTLX_CHANNELS; i++) { | ||
511 | init_waitqueue_head(&channel_wqs[i].rt_queue); | ||
512 | init_waitqueue_head(&channel_wqs[i].lx_queue); | ||
513 | channel_wqs[i].in_open = 0; | ||
514 | } | ||
515 | |||
516 | /* set up notifiers */ | ||
517 | notify.start = starting; | ||
518 | notify.stop = stopping; | ||
519 | vpe_notify(RTLX_TARG_VPE, ¬ify); | ||
520 | |||
521 | if (cpu_has_vint) | ||
522 | set_vi_handler(MIPS_CPU_RTLX_IRQ, rtlx_dispatch); | ||
523 | |||
524 | rtlx_irq.dev_id = rtlx; | ||
525 | setup_irq(rtlx_irq_num, &rtlx_irq); | ||
526 | |||
321 | return 0; | 527 | return 0; |
322 | } | 528 | } |
323 | 529 | ||
@@ -330,5 +536,5 @@ module_init(rtlx_module_init); | |||
330 | module_exit(rtlx_module_exit); | 536 | module_exit(rtlx_module_exit); |
331 | 537 | ||
332 | MODULE_DESCRIPTION("MIPS RTLX"); | 538 | MODULE_DESCRIPTION("MIPS RTLX"); |
333 | MODULE_AUTHOR("Elizabeth Clarke, MIPS Technologies, Inc."); | 539 | MODULE_AUTHOR("Elizabeth Oldham, MIPS Technologies, Inc."); |
334 | MODULE_LICENSE("GPL"); | 540 | MODULE_LICENSE("GPL"); |
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S index 2f2dc54b2e26..a0ac0e5f61ad 100644 --- a/arch/mips/kernel/scall32-o32.S +++ b/arch/mips/kernel/scall32-o32.S | |||
@@ -569,8 +569,19 @@ einval: li v0, -EINVAL | |||
569 | sys sys_tkill 2 | 569 | sys sys_tkill 2 |
570 | sys sys_sendfile64 5 | 570 | sys sys_sendfile64 5 |
571 | sys sys_futex 6 | 571 | sys sys_futex 6 |
572 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
573 | /* | ||
574 | * For FPU affinity scheduling on MIPS MT processors, we need to | ||
575 | * intercept sys_sched_xxxaffinity() calls until we get a proper hook | ||
576 | * in kernel/sched.c. Considered only temporary we only support these | ||
577 | * hooks for the 32-bit kernel - there is no MIPS64 MT processor atm. | ||
578 | */ | ||
579 | sys mipsmt_sys_sched_setaffinity 3 | ||
580 | sys mipsmt_sys_sched_getaffinity 3 | ||
581 | #else | ||
572 | sys sys_sched_setaffinity 3 | 582 | sys sys_sched_setaffinity 3 |
573 | sys sys_sched_getaffinity 3 /* 4240 */ | 583 | sys sys_sched_getaffinity 3 /* 4240 */ |
584 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
574 | sys sys_io_setup 2 | 585 | sys sys_io_setup 2 |
575 | sys sys_io_destroy 1 | 586 | sys sys_io_destroy 1 |
576 | sys sys_io_getevents 5 | 587 | sys sys_io_getevents 5 |
@@ -634,6 +645,8 @@ einval: li v0, -EINVAL | |||
634 | sys sys_pselect6 6 | 645 | sys sys_pselect6 6 |
635 | sys sys_ppoll 5 | 646 | sys sys_ppoll 5 |
636 | sys sys_unshare 1 | 647 | sys sys_unshare 1 |
648 | sys sys_splice 4 | ||
649 | sys sys_sync_file_range 7 /* 4305 */ | ||
637 | .endm | 650 | .endm |
638 | 651 | ||
639 | /* We pre-compute the number of _instruction_ bytes needed to | 652 | /* We pre-compute the number of _instruction_ bytes needed to |
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S index 98bf25df56f3..9ba750887377 100644 --- a/arch/mips/kernel/scall64-64.S +++ b/arch/mips/kernel/scall64-64.S | |||
@@ -460,3 +460,5 @@ sys_call_table: | |||
460 | PTR sys_pselect6 /* 5260 */ | 460 | PTR sys_pselect6 /* 5260 */ |
461 | PTR sys_ppoll | 461 | PTR sys_ppoll |
462 | PTR sys_unshare | 462 | PTR sys_unshare |
463 | PTR sys_splice | ||
464 | PTR sys_sync_file_range | ||
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S index 05a2c0567dae..942aca26f9c4 100644 --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S | |||
@@ -386,3 +386,5 @@ EXPORT(sysn32_call_table) | |||
386 | PTR sys_pselect6 | 386 | PTR sys_pselect6 |
387 | PTR sys_ppoll /* 6265 */ | 387 | PTR sys_ppoll /* 6265 */ |
388 | PTR sys_unshare | 388 | PTR sys_unshare |
389 | PTR sys_splice | ||
390 | PTR sys_sync_file_range | ||
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S index 19c4ca481b02..b53a9207f530 100644 --- a/arch/mips/kernel/scall64-o32.S +++ b/arch/mips/kernel/scall64-o32.S | |||
@@ -508,4 +508,6 @@ sys_call_table: | |||
508 | PTR sys_pselect6 | 508 | PTR sys_pselect6 |
509 | PTR sys_ppoll | 509 | PTR sys_ppoll |
510 | PTR sys_unshare | 510 | PTR sys_unshare |
511 | PTR sys_splice | ||
512 | PTR sys32_sync_file_range /* 4305 */ | ||
511 | .size sys_call_table,.-sys_call_table | 513 | .size sys_call_table,.-sys_call_table |
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index dcbfd27071f0..bcf1b10e518f 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c | |||
@@ -529,7 +529,10 @@ void __init setup_arch(char **cmdline_p) | |||
529 | 529 | ||
530 | int __init fpu_disable(char *s) | 530 | int __init fpu_disable(char *s) |
531 | { | 531 | { |
532 | cpu_data[0].options &= ~MIPS_CPU_FPU; | 532 | int i; |
533 | |||
534 | for (i = 0; i < NR_CPUS; i++) | ||
535 | cpu_data[i].options &= ~MIPS_CPU_FPU; | ||
533 | 536 | ||
534 | return 1; | 537 | return 1; |
535 | } | 538 | } |
diff --git a/arch/mips/kernel/smp_mt.c b/arch/mips/kernel/smp-mt.c index 993b8bf56aaf..57770902b9ae 100644 --- a/arch/mips/kernel/smp_mt.c +++ b/arch/mips/kernel/smp-mt.c | |||
@@ -1,8 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2004, 2005 MIPS Technologies, Inc. All rights reserved. | ||
3 | * | ||
4 | * Elizabeth Clarke (beth@mips.com) | ||
5 | * | ||
6 | * This program is free software; you can distribute it and/or modify it | 2 | * This program is free software; you can distribute it and/or modify it |
7 | * under the terms of the GNU General Public License (Version 2) as | 3 | * under the terms of the GNU General Public License (Version 2) as |
8 | * published by the Free Software Foundation. | 4 | * published by the Free Software Foundation. |
@@ -16,6 +12,10 @@ | |||
16 | * with this program; if not, write to the Free Software Foundation, Inc., | 12 | * with this program; if not, write to the Free Software Foundation, Inc., |
17 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | 13 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. |
18 | * | 14 | * |
15 | * Copyright (C) 2004, 05, 06 MIPS Technologies, Inc. | ||
16 | * Elizabeth Clarke (beth@mips.com) | ||
17 | * Ralf Baechle (ralf@linux-mips.org) | ||
18 | * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) | ||
19 | */ | 19 | */ |
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/sched.h> | 21 | #include <linux/sched.h> |
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/compiler.h> | 24 | #include <linux/compiler.h> |
25 | 25 | ||
26 | #include <asm/atomic.h> | 26 | #include <asm/atomic.h> |
27 | #include <asm/cacheflush.h> | ||
27 | #include <asm/cpu.h> | 28 | #include <asm/cpu.h> |
28 | #include <asm/processor.h> | 29 | #include <asm/processor.h> |
29 | #include <asm/system.h> | 30 | #include <asm/system.h> |
@@ -33,8 +34,8 @@ | |||
33 | #include <asm/time.h> | 34 | #include <asm/time.h> |
34 | #include <asm/mipsregs.h> | 35 | #include <asm/mipsregs.h> |
35 | #include <asm/mipsmtregs.h> | 36 | #include <asm/mipsmtregs.h> |
36 | #include <asm/cacheflush.h> | 37 | #include <asm/mips_mt.h> |
37 | #include <asm/mips-boards/maltaint.h> | 38 | #include <asm/mips-boards/maltaint.h> /* This is f*cking wrong */ |
38 | 39 | ||
39 | #define MIPS_CPU_IPI_RESCHED_IRQ 0 | 40 | #define MIPS_CPU_IPI_RESCHED_IRQ 0 |
40 | #define MIPS_CPU_IPI_CALL_IRQ 1 | 41 | #define MIPS_CPU_IPI_CALL_IRQ 1 |
@@ -66,6 +67,7 @@ void __init sanitize_tlb_entries(void) | |||
66 | if (!cpu_has_mipsmt) | 67 | if (!cpu_has_mipsmt) |
67 | return; | 68 | return; |
68 | 69 | ||
70 | /* Enable VPC */ | ||
69 | set_c0_mvpcontrol(MVPCONTROL_VPC); | 71 | set_c0_mvpcontrol(MVPCONTROL_VPC); |
70 | 72 | ||
71 | back_to_back_c0_hazard(); | 73 | back_to_back_c0_hazard(); |
@@ -106,12 +108,12 @@ void __init sanitize_tlb_entries(void) | |||
106 | 108 | ||
107 | static void ipi_resched_dispatch (struct pt_regs *regs) | 109 | static void ipi_resched_dispatch (struct pt_regs *regs) |
108 | { | 110 | { |
109 | do_IRQ(MIPS_CPU_IPI_RESCHED_IRQ, regs); | 111 | do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_IPI_RESCHED_IRQ, regs); |
110 | } | 112 | } |
111 | 113 | ||
112 | static void ipi_call_dispatch (struct pt_regs *regs) | 114 | static void ipi_call_dispatch (struct pt_regs *regs) |
113 | { | 115 | { |
114 | do_IRQ(MIPS_CPU_IPI_CALL_IRQ, regs); | 116 | do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_IPI_CALL_IRQ, regs); |
115 | } | 117 | } |
116 | 118 | ||
117 | irqreturn_t ipi_resched_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 119 | irqreturn_t ipi_resched_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
@@ -148,6 +150,11 @@ void plat_smp_setup(void) | |||
148 | unsigned long val; | 150 | unsigned long val; |
149 | int i, num; | 151 | int i, num; |
150 | 152 | ||
153 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
154 | /* If we have an FPU, enroll ourselves in the FPU-full mask */ | ||
155 | if (cpu_has_fpu) | ||
156 | cpu_set(0, mt_fpu_cpumask); | ||
157 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
151 | if (!cpu_has_mipsmt) | 158 | if (!cpu_has_mipsmt) |
152 | return; | 159 | return; |
153 | 160 | ||
@@ -155,6 +162,8 @@ void plat_smp_setup(void) | |||
155 | dvpe(); | 162 | dvpe(); |
156 | dmt(); | 163 | dmt(); |
157 | 164 | ||
165 | mips_mt_set_cpuoptions(); | ||
166 | |||
158 | /* Put MVPE's into 'configuration state' */ | 167 | /* Put MVPE's into 'configuration state' */ |
159 | set_c0_mvpcontrol(MVPCONTROL_VPC); | 168 | set_c0_mvpcontrol(MVPCONTROL_VPC); |
160 | 169 | ||
@@ -189,11 +198,13 @@ void plat_smp_setup(void) | |||
189 | 198 | ||
190 | if (i != 0) { | 199 | if (i != 0) { |
191 | write_vpe_c0_status((read_c0_status() & ~(ST0_IM | ST0_IE | ST0_KSU)) | ST0_CU0); | 200 | write_vpe_c0_status((read_c0_status() & ~(ST0_IM | ST0_IE | ST0_KSU)) | ST0_CU0); |
192 | write_vpe_c0_cause(read_vpe_c0_cause() & ~CAUSEF_IP); | ||
193 | 201 | ||
194 | /* set config to be the same as vpe0, particularly kseg0 coherency alg */ | 202 | /* set config to be the same as vpe0, particularly kseg0 coherency alg */ |
195 | write_vpe_c0_config( read_c0_config()); | 203 | write_vpe_c0_config( read_c0_config()); |
196 | 204 | ||
205 | /* make sure there are no software interrupts pending */ | ||
206 | write_vpe_c0_cause(read_vpe_c0_cause() & ~(C_SW1|C_SW0)); | ||
207 | |||
197 | /* Propagate Config7 */ | 208 | /* Propagate Config7 */ |
198 | write_vpe_c0_config7(read_c0_config7()); | 209 | write_vpe_c0_config7(read_c0_config7()); |
199 | } | 210 | } |
@@ -233,16 +244,16 @@ void plat_smp_setup(void) | |||
233 | /* We'll wait until starting the secondaries before starting MVPE */ | 244 | /* We'll wait until starting the secondaries before starting MVPE */ |
234 | 245 | ||
235 | printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num); | 246 | printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num); |
247 | } | ||
236 | 248 | ||
249 | void __init plat_prepare_cpus(unsigned int max_cpus) | ||
250 | { | ||
237 | /* set up ipi interrupts */ | 251 | /* set up ipi interrupts */ |
238 | if (cpu_has_vint) { | 252 | if (cpu_has_vint) { |
239 | set_vi_handler (MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch); | 253 | set_vi_handler (MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch); |
240 | set_vi_handler (MIPS_CPU_IPI_CALL_IRQ, ipi_call_dispatch); | 254 | set_vi_handler (MIPS_CPU_IPI_CALL_IRQ, ipi_call_dispatch); |
241 | } | 255 | } |
242 | } | ||
243 | 256 | ||
244 | void __init plat_prepare_cpus(unsigned int max_cpus) | ||
245 | { | ||
246 | cpu_ipi_resched_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_RESCHED_IRQ; | 257 | cpu_ipi_resched_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_RESCHED_IRQ; |
247 | cpu_ipi_call_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_CALL_IRQ; | 258 | cpu_ipi_call_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_CALL_IRQ; |
248 | 259 | ||
@@ -287,7 +298,8 @@ void prom_boot_secondary(int cpu, struct task_struct *idle) | |||
287 | /* global pointer */ | 298 | /* global pointer */ |
288 | write_tc_gpr_gp((unsigned long)gp); | 299 | write_tc_gpr_gp((unsigned long)gp); |
289 | 300 | ||
290 | flush_icache_range((unsigned long)gp, (unsigned long)(gp + 1)); | 301 | flush_icache_range((unsigned long)gp, |
302 | (unsigned long)(gp + sizeof(struct thread_info))); | ||
291 | 303 | ||
292 | /* finally out of configuration and into chaos */ | 304 | /* finally out of configuration and into chaos */ |
293 | clear_c0_mvpcontrol(MVPCONTROL_VPC); | 305 | clear_c0_mvpcontrol(MVPCONTROL_VPC); |
@@ -305,6 +317,12 @@ void prom_smp_finish(void) | |||
305 | { | 317 | { |
306 | write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ)); | 318 | write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ)); |
307 | 319 | ||
320 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
321 | /* If we have an FPU, enroll ourselves in the FPU-full mask */ | ||
322 | if (cpu_has_fpu) | ||
323 | cpu_set(smp_processor_id(), mt_fpu_cpumask); | ||
324 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
325 | |||
308 | local_irq_enable(); | 326 | local_irq_enable(); |
309 | } | 327 | } |
310 | 328 | ||
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 78d171bfa331..d42f358754ad 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -38,6 +38,10 @@ | |||
38 | #include <asm/mmu_context.h> | 38 | #include <asm/mmu_context.h> |
39 | #include <asm/smp.h> | 39 | #include <asm/smp.h> |
40 | 40 | ||
41 | #ifdef CONFIG_MIPS_MT_SMTC | ||
42 | #include <asm/mipsmtregs.h> | ||
43 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
44 | |||
41 | cpumask_t phys_cpu_present_map; /* Bitmask of available CPUs */ | 45 | cpumask_t phys_cpu_present_map; /* Bitmask of available CPUs */ |
42 | volatile cpumask_t cpu_callin_map; /* Bitmask of started secondaries */ | 46 | volatile cpumask_t cpu_callin_map; /* Bitmask of started secondaries */ |
43 | cpumask_t cpu_online_map; /* Bitmask of currently online CPUs */ | 47 | cpumask_t cpu_online_map; /* Bitmask of currently online CPUs */ |
@@ -85,6 +89,10 @@ asmlinkage void start_secondary(void) | |||
85 | { | 89 | { |
86 | unsigned int cpu; | 90 | unsigned int cpu; |
87 | 91 | ||
92 | #ifdef CONFIG_MIPS_MT_SMTC | ||
93 | /* Only do cpu_probe for first TC of CPU */ | ||
94 | if ((read_c0_tcbind() & TCBIND_CURTC) == 0) | ||
95 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
88 | cpu_probe(); | 96 | cpu_probe(); |
89 | cpu_report(); | 97 | cpu_report(); |
90 | per_cpu_trap_init(); | 98 | per_cpu_trap_init(); |
@@ -179,11 +187,13 @@ int smp_call_function (void (*func) (void *info), void *info, int retry, | |||
179 | if (wait) | 187 | if (wait) |
180 | while (atomic_read(&data.finished) != cpus) | 188 | while (atomic_read(&data.finished) != cpus) |
181 | barrier(); | 189 | barrier(); |
190 | call_data = NULL; | ||
182 | spin_unlock(&smp_call_lock); | 191 | spin_unlock(&smp_call_lock); |
183 | 192 | ||
184 | return 0; | 193 | return 0; |
185 | } | 194 | } |
186 | 195 | ||
196 | |||
187 | void smp_call_function_interrupt(void) | 197 | void smp_call_function_interrupt(void) |
188 | { | 198 | { |
189 | void (*func) (void *info) = call_data->func; | 199 | void (*func) (void *info) = call_data->func; |
@@ -446,5 +456,3 @@ subsys_initcall(topology_init); | |||
446 | 456 | ||
447 | EXPORT_SYMBOL(flush_tlb_page); | 457 | EXPORT_SYMBOL(flush_tlb_page); |
448 | EXPORT_SYMBOL(flush_tlb_one); | 458 | EXPORT_SYMBOL(flush_tlb_one); |
449 | EXPORT_SYMBOL(cpu_data); | ||
450 | EXPORT_SYMBOL(synchronize_irq); | ||
diff --git a/arch/mips/kernel/smtc-asm.S b/arch/mips/kernel/smtc-asm.S new file mode 100644 index 000000000000..c9d65196d917 --- /dev/null +++ b/arch/mips/kernel/smtc-asm.S | |||
@@ -0,0 +1,130 @@ | |||
1 | /* | ||
2 | * Assembly Language Functions for MIPS MT SMTC support | ||
3 | */ | ||
4 | |||
5 | /* | ||
6 | * This file should be built into the kernel only if CONFIG_MIPS_MT_SMTC is set. */ | ||
7 | |||
8 | #include <asm/regdef.h> | ||
9 | #include <asm/asmmacro.h> | ||
10 | #include <asm/stackframe.h> | ||
11 | #include <asm/stackframe.h> | ||
12 | |||
13 | /* | ||
14 | * "Software Interrupt" linkage. | ||
15 | * | ||
16 | * This is invoked when an "Interrupt" is sent from one TC to another, | ||
17 | * where the TC to be interrupted is halted, has it's Restart address | ||
18 | * and Status values saved by the "remote control" thread, then modified | ||
19 | * to cause execution to begin here, in kenel mode. This code then | ||
20 | * disguises the TC state as that of an exception and transfers | ||
21 | * control to the general exception or vectored interrupt handler. | ||
22 | */ | ||
23 | .set noreorder | ||
24 | |||
25 | /* | ||
26 | The __smtc_ipi_vector would use k0 and k1 as temporaries and | ||
27 | 1) Set EXL (this is per-VPE, so this can't be done by proxy!) | ||
28 | 2) Restore the K/CU and IXMT bits to the pre "exception" state | ||
29 | (EXL means no interrupts and access to the kernel map). | ||
30 | 3) Set EPC to be the saved value of TCRestart. | ||
31 | 4) Jump to the exception handler entry point passed by the sender. | ||
32 | |||
33 | CAN WE PROVE THAT WE WON'T DO THIS IF INTS DISABLED?? | ||
34 | */ | ||
35 | |||
36 | /* | ||
37 | * Reviled and slandered vision: Set EXL and restore K/CU/IXMT | ||
38 | * state of pre-halt thread, then save everything and call | ||
39 | * thought some function pointer to imaginary_exception, which | ||
40 | * will parse a register value or memory message queue to | ||
41 | * deliver things like interprocessor interrupts. On return | ||
42 | * from that function, jump to the global ret_from_irq code | ||
43 | * to invoke the scheduler and return as appropriate. | ||
44 | */ | ||
45 | |||
46 | #define PT_PADSLOT4 (PT_R0-8) | ||
47 | #define PT_PADSLOT5 (PT_R0-4) | ||
48 | |||
49 | .text | ||
50 | .align 5 | ||
51 | FEXPORT(__smtc_ipi_vector) | ||
52 | .set noat | ||
53 | /* Disable thread scheduling to make Status update atomic */ | ||
54 | DMT 27 # dmt k1 | ||
55 | ehb | ||
56 | /* Set EXL */ | ||
57 | mfc0 k0,CP0_STATUS | ||
58 | ori k0,k0,ST0_EXL | ||
59 | mtc0 k0,CP0_STATUS | ||
60 | ehb | ||
61 | /* Thread scheduling now inhibited by EXL. Restore TE state. */ | ||
62 | andi k1,k1,VPECONTROL_TE | ||
63 | beqz k1,1f | ||
64 | emt | ||
65 | 1: | ||
66 | /* | ||
67 | * The IPI sender has put some information on the anticipated | ||
68 | * kernel stack frame. If we were in user mode, this will be | ||
69 | * built above the saved kernel SP. If we were already in the | ||
70 | * kernel, it will be built above the current CPU SP. | ||
71 | * | ||
72 | * Were we in kernel mode, as indicated by CU0? | ||
73 | */ | ||
74 | sll k1,k0,3 | ||
75 | .set noreorder | ||
76 | bltz k1,2f | ||
77 | move k1,sp | ||
78 | .set reorder | ||
79 | /* | ||
80 | * If previously in user mode, set CU0 and use kernel stack. | ||
81 | */ | ||
82 | li k1,ST0_CU0 | ||
83 | or k1,k1,k0 | ||
84 | mtc0 k1,CP0_STATUS | ||
85 | ehb | ||
86 | get_saved_sp | ||
87 | /* Interrupting TC will have pre-set values in slots in the new frame */ | ||
88 | 2: subu k1,k1,PT_SIZE | ||
89 | /* Load TCStatus Value */ | ||
90 | lw k0,PT_TCSTATUS(k1) | ||
91 | /* Write it to TCStatus to restore CU/KSU/IXMT state */ | ||
92 | mtc0 k0,$2,1 | ||
93 | ehb | ||
94 | lw k0,PT_EPC(k1) | ||
95 | mtc0 k0,CP0_EPC | ||
96 | /* Save all will redundantly recompute the SP, but use it for now */ | ||
97 | SAVE_ALL | ||
98 | CLI | ||
99 | move a0,sp | ||
100 | /* Function to be invoked passed stack pad slot 5 */ | ||
101 | lw t0,PT_PADSLOT5(sp) | ||
102 | /* Argument from sender passed in stack pad slot 4 */ | ||
103 | lw a1,PT_PADSLOT4(sp) | ||
104 | jalr t0 | ||
105 | nop | ||
106 | j ret_from_irq | ||
107 | nop | ||
108 | |||
109 | /* | ||
110 | * Called from idle loop to provoke processing of queued IPIs | ||
111 | * First IPI message in queue passed as argument. | ||
112 | */ | ||
113 | |||
114 | LEAF(self_ipi) | ||
115 | /* Before anything else, block interrupts */ | ||
116 | mfc0 t0,CP0_TCSTATUS | ||
117 | ori t1,t0,TCSTATUS_IXMT | ||
118 | mtc0 t1,CP0_TCSTATUS | ||
119 | ehb | ||
120 | /* We know we're in kernel mode, so prepare stack frame */ | ||
121 | subu t1,sp,PT_SIZE | ||
122 | sw ra,PT_EPC(t1) | ||
123 | sw a0,PT_PADSLOT4(t1) | ||
124 | la t2,ipi_decode | ||
125 | sw t2,PT_PADSLOT5(t1) | ||
126 | /* Save pre-disable value of TCStatus */ | ||
127 | sw t0,PT_TCSTATUS(t1) | ||
128 | j __smtc_ipi_vector | ||
129 | nop | ||
130 | END(self_ipi) | ||
diff --git a/arch/mips/kernel/smtc-proc.c b/arch/mips/kernel/smtc-proc.c new file mode 100644 index 000000000000..6f3709996172 --- /dev/null +++ b/arch/mips/kernel/smtc-proc.c | |||
@@ -0,0 +1,93 @@ | |||
1 | /* | ||
2 | * /proc hooks for SMTC kernel | ||
3 | * Copyright (C) 2005 Mips Technologies, Inc | ||
4 | */ | ||
5 | |||
6 | #include <linux/kernel.h> | ||
7 | #include <linux/sched.h> | ||
8 | #include <linux/cpumask.h> | ||
9 | #include <linux/interrupt.h> | ||
10 | |||
11 | #include <asm/cpu.h> | ||
12 | #include <asm/processor.h> | ||
13 | #include <asm/atomic.h> | ||
14 | #include <asm/system.h> | ||
15 | #include <asm/hardirq.h> | ||
16 | #include <asm/mmu_context.h> | ||
17 | #include <asm/smp.h> | ||
18 | #include <asm/mipsregs.h> | ||
19 | #include <asm/cacheflush.h> | ||
20 | #include <linux/proc_fs.h> | ||
21 | |||
22 | #include <asm/smtc_proc.h> | ||
23 | |||
24 | /* | ||
25 | * /proc diagnostic and statistics hooks | ||
26 | */ | ||
27 | |||
28 | /* | ||
29 | * Statistics gathered | ||
30 | */ | ||
31 | unsigned long selfipis[NR_CPUS]; | ||
32 | |||
33 | struct smtc_cpu_proc smtc_cpu_stats[NR_CPUS]; | ||
34 | |||
35 | static struct proc_dir_entry *smtc_stats; | ||
36 | |||
37 | atomic_t smtc_fpu_recoveries; | ||
38 | |||
39 | static int proc_read_smtc(char *page, char **start, off_t off, | ||
40 | int count, int *eof, void *data) | ||
41 | { | ||
42 | int totalen = 0; | ||
43 | int len; | ||
44 | int i; | ||
45 | extern unsigned long ebase; | ||
46 | |||
47 | len = sprintf(page, "SMTC Status Word: 0x%08x\n", smtc_status); | ||
48 | totalen += len; | ||
49 | page += len; | ||
50 | len = sprintf(page, "Config7: 0x%08x\n", read_c0_config7()); | ||
51 | totalen += len; | ||
52 | page += len; | ||
53 | len = sprintf(page, "EBASE: 0x%08lx\n", ebase); | ||
54 | totalen += len; | ||
55 | page += len; | ||
56 | len = sprintf(page, "Counter Interrupts taken per CPU (TC)\n"); | ||
57 | totalen += len; | ||
58 | page += len; | ||
59 | for (i=0; i < NR_CPUS; i++) { | ||
60 | len = sprintf(page, "%d: %ld\n", i, smtc_cpu_stats[i].timerints); | ||
61 | totalen += len; | ||
62 | page += len; | ||
63 | } | ||
64 | len = sprintf(page, "Self-IPIs by CPU:\n"); | ||
65 | totalen += len; | ||
66 | page += len; | ||
67 | for(i = 0; i < NR_CPUS; i++) { | ||
68 | len = sprintf(page, "%d: %ld\n", i, smtc_cpu_stats[i].selfipis); | ||
69 | totalen += len; | ||
70 | page += len; | ||
71 | } | ||
72 | len = sprintf(page, "%d Recoveries of \"stolen\" FPU\n", | ||
73 | atomic_read(&smtc_fpu_recoveries)); | ||
74 | totalen += len; | ||
75 | page += len; | ||
76 | |||
77 | return totalen; | ||
78 | } | ||
79 | |||
80 | void init_smtc_stats(void) | ||
81 | { | ||
82 | int i; | ||
83 | |||
84 | for (i=0; i<NR_CPUS; i++) { | ||
85 | smtc_cpu_stats[i].timerints = 0; | ||
86 | smtc_cpu_stats[i].selfipis = 0; | ||
87 | } | ||
88 | |||
89 | atomic_set(&smtc_fpu_recoveries, 0); | ||
90 | |||
91 | smtc_stats = create_proc_read_entry("smtc", 0444, NULL, | ||
92 | proc_read_smtc, NULL); | ||
93 | } | ||
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c new file mode 100644 index 000000000000..2e8e52c135e6 --- /dev/null +++ b/arch/mips/kernel/smtc.c | |||
@@ -0,0 +1,1322 @@ | |||
1 | /* Copyright (C) 2004 Mips Technologies, Inc */ | ||
2 | |||
3 | #include <linux/kernel.h> | ||
4 | #include <linux/sched.h> | ||
5 | #include <linux/cpumask.h> | ||
6 | #include <linux/interrupt.h> | ||
7 | |||
8 | #include <asm/cpu.h> | ||
9 | #include <asm/processor.h> | ||
10 | #include <asm/atomic.h> | ||
11 | #include <asm/system.h> | ||
12 | #include <asm/hardirq.h> | ||
13 | #include <asm/hazards.h> | ||
14 | #include <asm/mmu_context.h> | ||
15 | #include <asm/smp.h> | ||
16 | #include <asm/mipsregs.h> | ||
17 | #include <asm/cacheflush.h> | ||
18 | #include <asm/time.h> | ||
19 | #include <asm/addrspace.h> | ||
20 | #include <asm/smtc.h> | ||
21 | #include <asm/smtc_ipi.h> | ||
22 | #include <asm/smtc_proc.h> | ||
23 | |||
24 | /* | ||
25 | * This file should be built into the kernel only if CONFIG_MIPS_MT_SMTC is set. | ||
26 | */ | ||
27 | |||
28 | /* | ||
29 | * MIPSCPU_INT_BASE is identically defined in both | ||
30 | * asm-mips/mips-boards/maltaint.h and asm-mips/mips-boards/simint.h, | ||
31 | * but as yet there's no properly organized include structure that | ||
32 | * will ensure that the right *int.h file will be included for a | ||
33 | * given platform build. | ||
34 | */ | ||
35 | |||
36 | #define MIPSCPU_INT_BASE 16 | ||
37 | |||
38 | #define MIPS_CPU_IPI_IRQ 1 | ||
39 | |||
40 | #define LOCK_MT_PRA() \ | ||
41 | local_irq_save(flags); \ | ||
42 | mtflags = dmt() | ||
43 | |||
44 | #define UNLOCK_MT_PRA() \ | ||
45 | emt(mtflags); \ | ||
46 | local_irq_restore(flags) | ||
47 | |||
48 | #define LOCK_CORE_PRA() \ | ||
49 | local_irq_save(flags); \ | ||
50 | mtflags = dvpe() | ||
51 | |||
52 | #define UNLOCK_CORE_PRA() \ | ||
53 | evpe(mtflags); \ | ||
54 | local_irq_restore(flags) | ||
55 | |||
56 | /* | ||
57 | * Data structures purely associated with SMTC parallelism | ||
58 | */ | ||
59 | |||
60 | |||
61 | /* | ||
62 | * Table for tracking ASIDs whose lifetime is prolonged. | ||
63 | */ | ||
64 | |||
65 | asiduse smtc_live_asid[MAX_SMTC_TLBS][MAX_SMTC_ASIDS]; | ||
66 | |||
67 | /* | ||
68 | * Clock interrupt "latch" buffers, per "CPU" | ||
69 | */ | ||
70 | |||
71 | unsigned int ipi_timer_latch[NR_CPUS]; | ||
72 | |||
73 | /* | ||
74 | * Number of InterProcessor Interupt (IPI) message buffers to allocate | ||
75 | */ | ||
76 | |||
77 | #define IPIBUF_PER_CPU 4 | ||
78 | |||
79 | struct smtc_ipi_q IPIQ[NR_CPUS]; | ||
80 | struct smtc_ipi_q freeIPIq; | ||
81 | |||
82 | |||
83 | /* Forward declarations */ | ||
84 | |||
85 | void ipi_decode(struct pt_regs *, struct smtc_ipi *); | ||
86 | void post_direct_ipi(int cpu, struct smtc_ipi *pipi); | ||
87 | void setup_cross_vpe_interrupts(void); | ||
88 | void init_smtc_stats(void); | ||
89 | |||
90 | /* Global SMTC Status */ | ||
91 | |||
92 | unsigned int smtc_status = 0; | ||
93 | |||
94 | /* Boot command line configuration overrides */ | ||
95 | |||
96 | static int vpelimit = 0; | ||
97 | static int tclimit = 0; | ||
98 | static int ipibuffers = 0; | ||
99 | static int nostlb = 0; | ||
100 | static int asidmask = 0; | ||
101 | unsigned long smtc_asid_mask = 0xff; | ||
102 | |||
103 | static int __init maxvpes(char *str) | ||
104 | { | ||
105 | get_option(&str, &vpelimit); | ||
106 | return 1; | ||
107 | } | ||
108 | |||
109 | static int __init maxtcs(char *str) | ||
110 | { | ||
111 | get_option(&str, &tclimit); | ||
112 | return 1; | ||
113 | } | ||
114 | |||
115 | static int __init ipibufs(char *str) | ||
116 | { | ||
117 | get_option(&str, &ipibuffers); | ||
118 | return 1; | ||
119 | } | ||
120 | |||
121 | static int __init stlb_disable(char *s) | ||
122 | { | ||
123 | nostlb = 1; | ||
124 | return 1; | ||
125 | } | ||
126 | |||
127 | static int __init asidmask_set(char *str) | ||
128 | { | ||
129 | get_option(&str, &asidmask); | ||
130 | switch(asidmask) { | ||
131 | case 0x1: | ||
132 | case 0x3: | ||
133 | case 0x7: | ||
134 | case 0xf: | ||
135 | case 0x1f: | ||
136 | case 0x3f: | ||
137 | case 0x7f: | ||
138 | case 0xff: | ||
139 | smtc_asid_mask = (unsigned long)asidmask; | ||
140 | break; | ||
141 | default: | ||
142 | printk("ILLEGAL ASID mask 0x%x from command line\n", asidmask); | ||
143 | } | ||
144 | return 1; | ||
145 | } | ||
146 | |||
147 | __setup("maxvpes=", maxvpes); | ||
148 | __setup("maxtcs=", maxtcs); | ||
149 | __setup("ipibufs=", ipibufs); | ||
150 | __setup("nostlb", stlb_disable); | ||
151 | __setup("asidmask=", asidmask_set); | ||
152 | |||
153 | /* Enable additional debug checks before going into CPU idle loop */ | ||
154 | #define SMTC_IDLE_HOOK_DEBUG | ||
155 | |||
156 | #ifdef SMTC_IDLE_HOOK_DEBUG | ||
157 | |||
158 | static int hang_trig = 0; | ||
159 | |||
160 | static int __init hangtrig_enable(char *s) | ||
161 | { | ||
162 | hang_trig = 1; | ||
163 | return 1; | ||
164 | } | ||
165 | |||
166 | |||
167 | __setup("hangtrig", hangtrig_enable); | ||
168 | |||
169 | #define DEFAULT_BLOCKED_IPI_LIMIT 32 | ||
170 | |||
171 | static int timerq_limit = DEFAULT_BLOCKED_IPI_LIMIT; | ||
172 | |||
173 | static int __init tintq(char *str) | ||
174 | { | ||
175 | get_option(&str, &timerq_limit); | ||
176 | return 1; | ||
177 | } | ||
178 | |||
179 | __setup("tintq=", tintq); | ||
180 | |||
181 | int imstuckcount[2][8]; | ||
182 | /* vpemask represents IM/IE bits of per-VPE Status registers, low-to-high */ | ||
183 | int vpemask[2][8] = {{0,1,1,0,0,0,0,1},{0,1,0,0,0,0,0,1}}; | ||
184 | int tcnoprog[NR_CPUS]; | ||
185 | static atomic_t idle_hook_initialized = {0}; | ||
186 | static int clock_hang_reported[NR_CPUS]; | ||
187 | |||
188 | #endif /* SMTC_IDLE_HOOK_DEBUG */ | ||
189 | |||
190 | /* Initialize shared TLB - the should probably migrate to smtc_setup_cpus() */ | ||
191 | |||
192 | void __init sanitize_tlb_entries(void) | ||
193 | { | ||
194 | printk("Deprecated sanitize_tlb_entries() invoked\n"); | ||
195 | } | ||
196 | |||
197 | |||
198 | /* | ||
199 | * Configure shared TLB - VPC configuration bit must be set by caller | ||
200 | */ | ||
201 | |||
202 | void smtc_configure_tlb(void) | ||
203 | { | ||
204 | int i,tlbsiz,vpes; | ||
205 | unsigned long mvpconf0; | ||
206 | unsigned long config1val; | ||
207 | |||
208 | /* Set up ASID preservation table */ | ||
209 | for (vpes=0; vpes<MAX_SMTC_TLBS; vpes++) { | ||
210 | for(i = 0; i < MAX_SMTC_ASIDS; i++) { | ||
211 | smtc_live_asid[vpes][i] = 0; | ||
212 | } | ||
213 | } | ||
214 | mvpconf0 = read_c0_mvpconf0(); | ||
215 | |||
216 | if ((vpes = ((mvpconf0 & MVPCONF0_PVPE) | ||
217 | >> MVPCONF0_PVPE_SHIFT) + 1) > 1) { | ||
218 | /* If we have multiple VPEs, try to share the TLB */ | ||
219 | if ((mvpconf0 & MVPCONF0_TLBS) && !nostlb) { | ||
220 | /* | ||
221 | * If TLB sizing is programmable, shared TLB | ||
222 | * size is the total available complement. | ||
223 | * Otherwise, we have to take the sum of all | ||
224 | * static VPE TLB entries. | ||
225 | */ | ||
226 | if ((tlbsiz = ((mvpconf0 & MVPCONF0_PTLBE) | ||
227 | >> MVPCONF0_PTLBE_SHIFT)) == 0) { | ||
228 | /* | ||
229 | * If there's more than one VPE, there had better | ||
230 | * be more than one TC, because we need one to bind | ||
231 | * to each VPE in turn to be able to read | ||
232 | * its configuration state! | ||
233 | */ | ||
234 | settc(1); | ||
235 | /* Stop the TC from doing anything foolish */ | ||
236 | write_tc_c0_tchalt(TCHALT_H); | ||
237 | mips_ihb(); | ||
238 | /* No need to un-Halt - that happens later anyway */ | ||
239 | for (i=0; i < vpes; i++) { | ||
240 | write_tc_c0_tcbind(i); | ||
241 | /* | ||
242 | * To be 100% sure we're really getting the right | ||
243 | * information, we exit the configuration state | ||
244 | * and do an IHB after each rebinding. | ||
245 | */ | ||
246 | write_c0_mvpcontrol( | ||
247 | read_c0_mvpcontrol() & ~ MVPCONTROL_VPC ); | ||
248 | mips_ihb(); | ||
249 | /* | ||
250 | * Only count if the MMU Type indicated is TLB | ||
251 | */ | ||
252 | if(((read_vpe_c0_config() & MIPS_CONF_MT) >> 7) == 1) { | ||
253 | config1val = read_vpe_c0_config1(); | ||
254 | tlbsiz += ((config1val >> 25) & 0x3f) + 1; | ||
255 | } | ||
256 | |||
257 | /* Put core back in configuration state */ | ||
258 | write_c0_mvpcontrol( | ||
259 | read_c0_mvpcontrol() | MVPCONTROL_VPC ); | ||
260 | mips_ihb(); | ||
261 | } | ||
262 | } | ||
263 | write_c0_mvpcontrol(read_c0_mvpcontrol() | MVPCONTROL_STLB); | ||
264 | |||
265 | /* | ||
266 | * Setup kernel data structures to use software total, | ||
267 | * rather than read the per-VPE Config1 value. The values | ||
268 | * for "CPU 0" gets copied to all the other CPUs as part | ||
269 | * of their initialization in smtc_cpu_setup(). | ||
270 | */ | ||
271 | |||
272 | tlbsiz = tlbsiz & 0x3f; /* MIPS32 limits TLB indices to 64 */ | ||
273 | cpu_data[0].tlbsize = tlbsiz; | ||
274 | smtc_status |= SMTC_TLB_SHARED; | ||
275 | |||
276 | printk("TLB of %d entry pairs shared by %d VPEs\n", | ||
277 | tlbsiz, vpes); | ||
278 | } else { | ||
279 | printk("WARNING: TLB Not Sharable on SMTC Boot!\n"); | ||
280 | } | ||
281 | } | ||
282 | } | ||
283 | |||
284 | |||
285 | /* | ||
286 | * Incrementally build the CPU map out of constituent MIPS MT cores, | ||
287 | * using the specified available VPEs and TCs. Plaform code needs | ||
288 | * to ensure that each MIPS MT core invokes this routine on reset, | ||
289 | * one at a time(!). | ||
290 | * | ||
291 | * This version of the build_cpu_map and prepare_cpus routines assumes | ||
292 | * that *all* TCs of a MIPS MT core will be used for Linux, and that | ||
293 | * they will be spread across *all* available VPEs (to minimise the | ||
294 | * loss of efficiency due to exception service serialization). | ||
295 | * An improved version would pick up configuration information and | ||
296 | * possibly leave some TCs/VPEs as "slave" processors. | ||
297 | * | ||
298 | * Use c0_MVPConf0 to find out how many TCs are available, setting up | ||
299 | * phys_cpu_present_map and the logical/physical mappings. | ||
300 | */ | ||
301 | |||
302 | int __init mipsmt_build_cpu_map(int start_cpu_slot) | ||
303 | { | ||
304 | int i, ntcs; | ||
305 | |||
306 | /* | ||
307 | * The CPU map isn't actually used for anything at this point, | ||
308 | * so it's not clear what else we should do apart from set | ||
309 | * everything up so that "logical" = "physical". | ||
310 | */ | ||
311 | ntcs = ((read_c0_mvpconf0() & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1; | ||
312 | for (i=start_cpu_slot; i<NR_CPUS && i<ntcs; i++) { | ||
313 | cpu_set(i, phys_cpu_present_map); | ||
314 | __cpu_number_map[i] = i; | ||
315 | __cpu_logical_map[i] = i; | ||
316 | } | ||
317 | /* Initialize map of CPUs with FPUs */ | ||
318 | cpus_clear(mt_fpu_cpumask); | ||
319 | |||
320 | /* One of those TC's is the one booting, and not a secondary... */ | ||
321 | printk("%i available secondary CPU TC(s)\n", i - 1); | ||
322 | |||
323 | return i; | ||
324 | } | ||
325 | |||
326 | /* | ||
327 | * Common setup before any secondaries are started | ||
328 | * Make sure all CPU's are in a sensible state before we boot any of the | ||
329 | * secondaries. | ||
330 | * | ||
331 | * For MIPS MT "SMTC" operation, we set up all TCs, spread as evenly | ||
332 | * as possible across the available VPEs. | ||
333 | */ | ||
334 | |||
335 | static void smtc_tc_setup(int vpe, int tc, int cpu) | ||
336 | { | ||
337 | settc(tc); | ||
338 | write_tc_c0_tchalt(TCHALT_H); | ||
339 | mips_ihb(); | ||
340 | write_tc_c0_tcstatus((read_tc_c0_tcstatus() | ||
341 | & ~(TCSTATUS_TKSU | TCSTATUS_DA | TCSTATUS_IXMT)) | ||
342 | | TCSTATUS_A); | ||
343 | write_tc_c0_tccontext(0); | ||
344 | /* Bind tc to vpe */ | ||
345 | write_tc_c0_tcbind(vpe); | ||
346 | /* In general, all TCs should have the same cpu_data indications */ | ||
347 | memcpy(&cpu_data[cpu], &cpu_data[0], sizeof(struct cpuinfo_mips)); | ||
348 | /* For 34Kf, start with TC/CPU 0 as sole owner of single FPU context */ | ||
349 | if (cpu_data[0].cputype == CPU_34K) | ||
350 | cpu_data[cpu].options &= ~MIPS_CPU_FPU; | ||
351 | cpu_data[cpu].vpe_id = vpe; | ||
352 | cpu_data[cpu].tc_id = tc; | ||
353 | } | ||
354 | |||
355 | |||
356 | void mipsmt_prepare_cpus(void) | ||
357 | { | ||
358 | int i, vpe, tc, ntc, nvpe, tcpervpe, slop, cpu; | ||
359 | unsigned long flags; | ||
360 | unsigned long val; | ||
361 | int nipi; | ||
362 | struct smtc_ipi *pipi; | ||
363 | |||
364 | /* disable interrupts so we can disable MT */ | ||
365 | local_irq_save(flags); | ||
366 | /* disable MT so we can configure */ | ||
367 | dvpe(); | ||
368 | dmt(); | ||
369 | |||
370 | freeIPIq.lock = SPIN_LOCK_UNLOCKED; | ||
371 | |||
372 | /* | ||
373 | * We probably don't have as many VPEs as we do SMP "CPUs", | ||
374 | * but it's possible - and in any case we'll never use more! | ||
375 | */ | ||
376 | for (i=0; i<NR_CPUS; i++) { | ||
377 | IPIQ[i].head = IPIQ[i].tail = NULL; | ||
378 | IPIQ[i].lock = SPIN_LOCK_UNLOCKED; | ||
379 | IPIQ[i].depth = 0; | ||
380 | ipi_timer_latch[i] = 0; | ||
381 | } | ||
382 | |||
383 | /* cpu_data index starts at zero */ | ||
384 | cpu = 0; | ||
385 | cpu_data[cpu].vpe_id = 0; | ||
386 | cpu_data[cpu].tc_id = 0; | ||
387 | cpu++; | ||
388 | |||
389 | /* Report on boot-time options */ | ||
390 | mips_mt_set_cpuoptions (); | ||
391 | if (vpelimit > 0) | ||
392 | printk("Limit of %d VPEs set\n", vpelimit); | ||
393 | if (tclimit > 0) | ||
394 | printk("Limit of %d TCs set\n", tclimit); | ||
395 | if (nostlb) { | ||
396 | printk("Shared TLB Use Inhibited - UNSAFE for Multi-VPE Operation\n"); | ||
397 | } | ||
398 | if (asidmask) | ||
399 | printk("ASID mask value override to 0x%x\n", asidmask); | ||
400 | |||
401 | /* Temporary */ | ||
402 | #ifdef SMTC_IDLE_HOOK_DEBUG | ||
403 | if (hang_trig) | ||
404 | printk("Logic Analyser Trigger on suspected TC hang\n"); | ||
405 | #endif /* SMTC_IDLE_HOOK_DEBUG */ | ||
406 | |||
407 | /* Put MVPE's into 'configuration state' */ | ||
408 | write_c0_mvpcontrol( read_c0_mvpcontrol() | MVPCONTROL_VPC ); | ||
409 | |||
410 | val = read_c0_mvpconf0(); | ||
411 | nvpe = ((val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1; | ||
412 | if (vpelimit > 0 && nvpe > vpelimit) | ||
413 | nvpe = vpelimit; | ||
414 | ntc = ((val & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1; | ||
415 | if (ntc > NR_CPUS) | ||
416 | ntc = NR_CPUS; | ||
417 | if (tclimit > 0 && ntc > tclimit) | ||
418 | ntc = tclimit; | ||
419 | tcpervpe = ntc / nvpe; | ||
420 | slop = ntc % nvpe; /* Residual TCs, < NVPE */ | ||
421 | |||
422 | /* Set up shared TLB */ | ||
423 | smtc_configure_tlb(); | ||
424 | |||
425 | for (tc = 0, vpe = 0 ; (vpe < nvpe) && (tc < ntc) ; vpe++) { | ||
426 | /* | ||
427 | * Set the MVP bits. | ||
428 | */ | ||
429 | settc(tc); | ||
430 | write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_MVP); | ||
431 | if (vpe != 0) | ||
432 | printk(", "); | ||
433 | printk("VPE %d: TC", vpe); | ||
434 | for (i = 0; i < tcpervpe; i++) { | ||
435 | /* | ||
436 | * TC 0 is bound to VPE 0 at reset, | ||
437 | * and is presumably executing this | ||
438 | * code. Leave it alone! | ||
439 | */ | ||
440 | if (tc != 0) { | ||
441 | smtc_tc_setup(vpe,tc, cpu); | ||
442 | cpu++; | ||
443 | } | ||
444 | printk(" %d", tc); | ||
445 | tc++; | ||
446 | } | ||
447 | if (slop) { | ||
448 | if (tc != 0) { | ||
449 | smtc_tc_setup(vpe,tc, cpu); | ||
450 | cpu++; | ||
451 | } | ||
452 | printk(" %d", tc); | ||
453 | tc++; | ||
454 | slop--; | ||
455 | } | ||
456 | if (vpe != 0) { | ||
457 | /* | ||
458 | * Clear any stale software interrupts from VPE's Cause | ||
459 | */ | ||
460 | write_vpe_c0_cause(0); | ||
461 | |||
462 | /* | ||
463 | * Clear ERL/EXL of VPEs other than 0 | ||
464 | * and set restricted interrupt enable/mask. | ||
465 | */ | ||
466 | write_vpe_c0_status((read_vpe_c0_status() | ||
467 | & ~(ST0_BEV | ST0_ERL | ST0_EXL | ST0_IM)) | ||
468 | | (STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP7 | ||
469 | | ST0_IE)); | ||
470 | /* | ||
471 | * set config to be the same as vpe0, | ||
472 | * particularly kseg0 coherency alg | ||
473 | */ | ||
474 | write_vpe_c0_config(read_c0_config()); | ||
475 | /* Clear any pending timer interrupt */ | ||
476 | write_vpe_c0_compare(0); | ||
477 | /* Propagate Config7 */ | ||
478 | write_vpe_c0_config7(read_c0_config7()); | ||
479 | } | ||
480 | /* enable multi-threading within VPE */ | ||
481 | write_vpe_c0_vpecontrol(read_vpe_c0_vpecontrol() | VPECONTROL_TE); | ||
482 | /* enable the VPE */ | ||
483 | write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA); | ||
484 | } | ||
485 | |||
486 | /* | ||
487 | * Pull any physically present but unused TCs out of circulation. | ||
488 | */ | ||
489 | while (tc < (((val & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1)) { | ||
490 | cpu_clear(tc, phys_cpu_present_map); | ||
491 | cpu_clear(tc, cpu_present_map); | ||
492 | tc++; | ||
493 | } | ||
494 | |||
495 | /* release config state */ | ||
496 | write_c0_mvpcontrol( read_c0_mvpcontrol() & ~ MVPCONTROL_VPC ); | ||
497 | |||
498 | printk("\n"); | ||
499 | |||
500 | /* Set up coprocessor affinity CPU mask(s) */ | ||
501 | |||
502 | for (tc = 0; tc < ntc; tc++) { | ||
503 | if(cpu_data[tc].options & MIPS_CPU_FPU) | ||
504 | cpu_set(tc, mt_fpu_cpumask); | ||
505 | } | ||
506 | |||
507 | /* set up ipi interrupts... */ | ||
508 | |||
509 | /* If we have multiple VPEs running, set up the cross-VPE interrupt */ | ||
510 | |||
511 | if (nvpe > 1) | ||
512 | setup_cross_vpe_interrupts(); | ||
513 | |||
514 | /* Set up queue of free IPI "messages". */ | ||
515 | nipi = NR_CPUS * IPIBUF_PER_CPU; | ||
516 | if (ipibuffers > 0) | ||
517 | nipi = ipibuffers; | ||
518 | |||
519 | pipi = kmalloc(nipi *sizeof(struct smtc_ipi), GFP_KERNEL); | ||
520 | if (pipi == NULL) | ||
521 | panic("kmalloc of IPI message buffers failed\n"); | ||
522 | else | ||
523 | printk("IPI buffer pool of %d buffers\n", nipi); | ||
524 | for (i = 0; i < nipi; i++) { | ||
525 | smtc_ipi_nq(&freeIPIq, pipi); | ||
526 | pipi++; | ||
527 | } | ||
528 | |||
529 | /* Arm multithreading and enable other VPEs - but all TCs are Halted */ | ||
530 | emt(EMT_ENABLE); | ||
531 | evpe(EVPE_ENABLE); | ||
532 | local_irq_restore(flags); | ||
533 | /* Initialize SMTC /proc statistics/diagnostics */ | ||
534 | init_smtc_stats(); | ||
535 | } | ||
536 | |||
537 | |||
538 | /* | ||
539 | * Setup the PC, SP, and GP of a secondary processor and start it | ||
540 | * running! | ||
541 | * smp_bootstrap is the place to resume from | ||
542 | * __KSTK_TOS(idle) is apparently the stack pointer | ||
543 | * (unsigned long)idle->thread_info the gp | ||
544 | * | ||
545 | */ | ||
546 | void smtc_boot_secondary(int cpu, struct task_struct *idle) | ||
547 | { | ||
548 | extern u32 kernelsp[NR_CPUS]; | ||
549 | long flags; | ||
550 | int mtflags; | ||
551 | |||
552 | LOCK_MT_PRA(); | ||
553 | if (cpu_data[cpu].vpe_id != cpu_data[smp_processor_id()].vpe_id) { | ||
554 | dvpe(); | ||
555 | } | ||
556 | settc(cpu_data[cpu].tc_id); | ||
557 | |||
558 | /* pc */ | ||
559 | write_tc_c0_tcrestart((unsigned long)&smp_bootstrap); | ||
560 | |||
561 | /* stack pointer */ | ||
562 | kernelsp[cpu] = __KSTK_TOS(idle); | ||
563 | write_tc_gpr_sp(__KSTK_TOS(idle)); | ||
564 | |||
565 | /* global pointer */ | ||
566 | write_tc_gpr_gp((unsigned long)idle->thread_info); | ||
567 | |||
568 | smtc_status |= SMTC_MTC_ACTIVE; | ||
569 | write_tc_c0_tchalt(0); | ||
570 | if (cpu_data[cpu].vpe_id != cpu_data[smp_processor_id()].vpe_id) { | ||
571 | evpe(EVPE_ENABLE); | ||
572 | } | ||
573 | UNLOCK_MT_PRA(); | ||
574 | } | ||
575 | |||
576 | void smtc_init_secondary(void) | ||
577 | { | ||
578 | /* | ||
579 | * Start timer on secondary VPEs if necessary. | ||
580 | * mips_timer_setup should already have been invoked by init/main | ||
581 | * on "boot" TC. Like per_cpu_trap_init() hack, this assumes that | ||
582 | * SMTC init code assigns TCs consdecutively and in ascending order | ||
583 | * to across available VPEs. | ||
584 | */ | ||
585 | if(((read_c0_tcbind() & TCBIND_CURTC) != 0) | ||
586 | && ((read_c0_tcbind() & TCBIND_CURVPE) | ||
587 | != cpu_data[smp_processor_id() - 1].vpe_id)){ | ||
588 | write_c0_compare (read_c0_count() + mips_hpt_frequency/HZ); | ||
589 | } | ||
590 | |||
591 | local_irq_enable(); | ||
592 | } | ||
593 | |||
594 | void smtc_smp_finish(void) | ||
595 | { | ||
596 | printk("TC %d going on-line as CPU %d\n", | ||
597 | cpu_data[smp_processor_id()].tc_id, smp_processor_id()); | ||
598 | } | ||
599 | |||
600 | void smtc_cpus_done(void) | ||
601 | { | ||
602 | } | ||
603 | |||
604 | /* | ||
605 | * Support for SMTC-optimized driver IRQ registration | ||
606 | */ | ||
607 | |||
608 | /* | ||
609 | * SMTC Kernel needs to manipulate low-level CPU interrupt mask | ||
610 | * in do_IRQ. These are passed in setup_irq_smtc() and stored | ||
611 | * in this table. | ||
612 | */ | ||
613 | |||
614 | int setup_irq_smtc(unsigned int irq, struct irqaction * new, | ||
615 | unsigned long hwmask) | ||
616 | { | ||
617 | irq_hwmask[irq] = hwmask; | ||
618 | |||
619 | return setup_irq(irq, new); | ||
620 | } | ||
621 | |||
622 | /* | ||
623 | * IPI model for SMTC is tricky, because interrupts aren't TC-specific. | ||
624 | * Within a VPE one TC can interrupt another by different approaches. | ||
625 | * The easiest to get right would probably be to make all TCs except | ||
626 | * the target IXMT and set a software interrupt, but an IXMT-based | ||
627 | * scheme requires that a handler must run before a new IPI could | ||
628 | * be sent, which would break the "broadcast" loops in MIPS MT. | ||
629 | * A more gonzo approach within a VPE is to halt the TC, extract | ||
630 | * its Restart, Status, and a couple of GPRs, and program the Restart | ||
631 | * address to emulate an interrupt. | ||
632 | * | ||
633 | * Within a VPE, one can be confident that the target TC isn't in | ||
634 | * a critical EXL state when halted, since the write to the Halt | ||
635 | * register could not have issued on the writing thread if the | ||
636 | * halting thread had EXL set. So k0 and k1 of the target TC | ||
637 | * can be used by the injection code. Across VPEs, one can't | ||
638 | * be certain that the target TC isn't in a critical exception | ||
639 | * state. So we try a two-step process of sending a software | ||
640 | * interrupt to the target VPE, which either handles the event | ||
641 | * itself (if it was the target) or injects the event within | ||
642 | * the VPE. | ||
643 | */ | ||
644 | |||
645 | void smtc_ipi_qdump(void) | ||
646 | { | ||
647 | int i; | ||
648 | |||
649 | for (i = 0; i < NR_CPUS ;i++) { | ||
650 | printk("IPIQ[%d]: head = 0x%x, tail = 0x%x, depth = %d\n", | ||
651 | i, (unsigned)IPIQ[i].head, (unsigned)IPIQ[i].tail, | ||
652 | IPIQ[i].depth); | ||
653 | } | ||
654 | } | ||
655 | |||
656 | /* | ||
657 | * The standard atomic.h primitives don't quite do what we want | ||
658 | * here: We need an atomic add-and-return-previous-value (which | ||
659 | * could be done with atomic_add_return and a decrement) and an | ||
660 | * atomic set/zero-and-return-previous-value (which can't really | ||
661 | * be done with the atomic.h primitives). And since this is | ||
662 | * MIPS MT, we can assume that we have LL/SC. | ||
663 | */ | ||
664 | static __inline__ int atomic_postincrement(unsigned int *pv) | ||
665 | { | ||
666 | unsigned long result; | ||
667 | |||
668 | unsigned long temp; | ||
669 | |||
670 | __asm__ __volatile__( | ||
671 | "1: ll %0, %2 \n" | ||
672 | " addu %1, %0, 1 \n" | ||
673 | " sc %1, %2 \n" | ||
674 | " beqz %1, 1b \n" | ||
675 | " sync \n" | ||
676 | : "=&r" (result), "=&r" (temp), "=m" (*pv) | ||
677 | : "m" (*pv) | ||
678 | : "memory"); | ||
679 | |||
680 | return result; | ||
681 | } | ||
682 | |||
683 | /* No longer used in IPI dispatch, but retained for future recycling */ | ||
684 | |||
685 | static __inline__ int atomic_postclear(unsigned int *pv) | ||
686 | { | ||
687 | unsigned long result; | ||
688 | |||
689 | unsigned long temp; | ||
690 | |||
691 | __asm__ __volatile__( | ||
692 | "1: ll %0, %2 \n" | ||
693 | " or %1, $0, $0 \n" | ||
694 | " sc %1, %2 \n" | ||
695 | " beqz %1, 1b \n" | ||
696 | " sync \n" | ||
697 | : "=&r" (result), "=&r" (temp), "=m" (*pv) | ||
698 | : "m" (*pv) | ||
699 | : "memory"); | ||
700 | |||
701 | return result; | ||
702 | } | ||
703 | |||
704 | |||
705 | void smtc_send_ipi(int cpu, int type, unsigned int action) | ||
706 | { | ||
707 | int tcstatus; | ||
708 | struct smtc_ipi *pipi; | ||
709 | long flags; | ||
710 | int mtflags; | ||
711 | |||
712 | if (cpu == smp_processor_id()) { | ||
713 | printk("Cannot Send IPI to self!\n"); | ||
714 | return; | ||
715 | } | ||
716 | /* Set up a descriptor, to be delivered either promptly or queued */ | ||
717 | pipi = smtc_ipi_dq(&freeIPIq); | ||
718 | if (pipi == NULL) { | ||
719 | bust_spinlocks(1); | ||
720 | mips_mt_regdump(dvpe()); | ||
721 | panic("IPI Msg. Buffers Depleted\n"); | ||
722 | } | ||
723 | pipi->type = type; | ||
724 | pipi->arg = (void *)action; | ||
725 | pipi->dest = cpu; | ||
726 | if (cpu_data[cpu].vpe_id != cpu_data[smp_processor_id()].vpe_id) { | ||
727 | /* If not on same VPE, enqueue and send cross-VPE interupt */ | ||
728 | smtc_ipi_nq(&IPIQ[cpu], pipi); | ||
729 | LOCK_CORE_PRA(); | ||
730 | settc(cpu_data[cpu].tc_id); | ||
731 | write_vpe_c0_cause(read_vpe_c0_cause() | C_SW1); | ||
732 | UNLOCK_CORE_PRA(); | ||
733 | } else { | ||
734 | /* | ||
735 | * Not sufficient to do a LOCK_MT_PRA (dmt) here, | ||
736 | * since ASID shootdown on the other VPE may | ||
737 | * collide with this operation. | ||
738 | */ | ||
739 | LOCK_CORE_PRA(); | ||
740 | settc(cpu_data[cpu].tc_id); | ||
741 | /* Halt the targeted TC */ | ||
742 | write_tc_c0_tchalt(TCHALT_H); | ||
743 | mips_ihb(); | ||
744 | |||
745 | /* | ||
746 | * Inspect TCStatus - if IXMT is set, we have to queue | ||
747 | * a message. Otherwise, we set up the "interrupt" | ||
748 | * of the other TC | ||
749 | */ | ||
750 | tcstatus = read_tc_c0_tcstatus(); | ||
751 | |||
752 | if ((tcstatus & TCSTATUS_IXMT) != 0) { | ||
753 | /* | ||
754 | * Spin-waiting here can deadlock, | ||
755 | * so we queue the message for the target TC. | ||
756 | */ | ||
757 | write_tc_c0_tchalt(0); | ||
758 | UNLOCK_CORE_PRA(); | ||
759 | /* Try to reduce redundant timer interrupt messages */ | ||
760 | if(type == SMTC_CLOCK_TICK) { | ||
761 | if(atomic_postincrement(&ipi_timer_latch[cpu])!=0) { | ||
762 | smtc_ipi_nq(&freeIPIq, pipi); | ||
763 | return; | ||
764 | } | ||
765 | } | ||
766 | smtc_ipi_nq(&IPIQ[cpu], pipi); | ||
767 | } else { | ||
768 | post_direct_ipi(cpu, pipi); | ||
769 | write_tc_c0_tchalt(0); | ||
770 | UNLOCK_CORE_PRA(); | ||
771 | } | ||
772 | } | ||
773 | } | ||
774 | |||
775 | /* | ||
776 | * Send IPI message to Halted TC, TargTC/TargVPE already having been set | ||
777 | */ | ||
778 | void post_direct_ipi(int cpu, struct smtc_ipi *pipi) | ||
779 | { | ||
780 | struct pt_regs *kstack; | ||
781 | unsigned long tcstatus; | ||
782 | unsigned long tcrestart; | ||
783 | extern u32 kernelsp[NR_CPUS]; | ||
784 | extern void __smtc_ipi_vector(void); | ||
785 | |||
786 | /* Extract Status, EPC from halted TC */ | ||
787 | tcstatus = read_tc_c0_tcstatus(); | ||
788 | tcrestart = read_tc_c0_tcrestart(); | ||
789 | /* If TCRestart indicates a WAIT instruction, advance the PC */ | ||
790 | if ((tcrestart & 0x80000000) | ||
791 | && ((*(unsigned int *)tcrestart & 0xfe00003f) == 0x42000020)) { | ||
792 | tcrestart += 4; | ||
793 | } | ||
794 | /* | ||
795 | * Save on TC's future kernel stack | ||
796 | * | ||
797 | * CU bit of Status is indicator that TC was | ||
798 | * already running on a kernel stack... | ||
799 | */ | ||
800 | if(tcstatus & ST0_CU0) { | ||
801 | /* Note that this "- 1" is pointer arithmetic */ | ||
802 | kstack = ((struct pt_regs *)read_tc_gpr_sp()) - 1; | ||
803 | } else { | ||
804 | kstack = ((struct pt_regs *)kernelsp[cpu]) - 1; | ||
805 | } | ||
806 | |||
807 | kstack->cp0_epc = (long)tcrestart; | ||
808 | /* Save TCStatus */ | ||
809 | kstack->cp0_tcstatus = tcstatus; | ||
810 | /* Pass token of operation to be performed kernel stack pad area */ | ||
811 | kstack->pad0[4] = (unsigned long)pipi; | ||
812 | /* Pass address of function to be called likewise */ | ||
813 | kstack->pad0[5] = (unsigned long)&ipi_decode; | ||
814 | /* Set interrupt exempt and kernel mode */ | ||
815 | tcstatus |= TCSTATUS_IXMT; | ||
816 | tcstatus &= ~TCSTATUS_TKSU; | ||
817 | write_tc_c0_tcstatus(tcstatus); | ||
818 | ehb(); | ||
819 | /* Set TC Restart address to be SMTC IPI vector */ | ||
820 | write_tc_c0_tcrestart(__smtc_ipi_vector); | ||
821 | } | ||
822 | |||
823 | void ipi_resched_interrupt(struct pt_regs *regs) | ||
824 | { | ||
825 | /* Return from interrupt should be enough to cause scheduler check */ | ||
826 | } | ||
827 | |||
828 | |||
829 | void ipi_call_interrupt(struct pt_regs *regs) | ||
830 | { | ||
831 | /* Invoke generic function invocation code in smp.c */ | ||
832 | smp_call_function_interrupt(); | ||
833 | } | ||
834 | |||
835 | void ipi_decode(struct pt_regs *regs, struct smtc_ipi *pipi) | ||
836 | { | ||
837 | void *arg_copy = pipi->arg; | ||
838 | int type_copy = pipi->type; | ||
839 | int dest_copy = pipi->dest; | ||
840 | |||
841 | smtc_ipi_nq(&freeIPIq, pipi); | ||
842 | switch (type_copy) { | ||
843 | case SMTC_CLOCK_TICK: | ||
844 | /* Invoke Clock "Interrupt" */ | ||
845 | ipi_timer_latch[dest_copy] = 0; | ||
846 | #ifdef SMTC_IDLE_HOOK_DEBUG | ||
847 | clock_hang_reported[dest_copy] = 0; | ||
848 | #endif /* SMTC_IDLE_HOOK_DEBUG */ | ||
849 | local_timer_interrupt(0, NULL, regs); | ||
850 | break; | ||
851 | case LINUX_SMP_IPI: | ||
852 | switch ((int)arg_copy) { | ||
853 | case SMP_RESCHEDULE_YOURSELF: | ||
854 | ipi_resched_interrupt(regs); | ||
855 | break; | ||
856 | case SMP_CALL_FUNCTION: | ||
857 | ipi_call_interrupt(regs); | ||
858 | break; | ||
859 | default: | ||
860 | printk("Impossible SMTC IPI Argument 0x%x\n", | ||
861 | (int)arg_copy); | ||
862 | break; | ||
863 | } | ||
864 | break; | ||
865 | default: | ||
866 | printk("Impossible SMTC IPI Type 0x%x\n", type_copy); | ||
867 | break; | ||
868 | } | ||
869 | } | ||
870 | |||
871 | void deferred_smtc_ipi(struct pt_regs *regs) | ||
872 | { | ||
873 | struct smtc_ipi *pipi; | ||
874 | unsigned long flags; | ||
875 | /* DEBUG */ | ||
876 | int q = smp_processor_id(); | ||
877 | |||
878 | /* | ||
879 | * Test is not atomic, but much faster than a dequeue, | ||
880 | * and the vast majority of invocations will have a null queue. | ||
881 | */ | ||
882 | if(IPIQ[q].head != NULL) { | ||
883 | while((pipi = smtc_ipi_dq(&IPIQ[q])) != NULL) { | ||
884 | /* ipi_decode() should be called with interrupts off */ | ||
885 | local_irq_save(flags); | ||
886 | ipi_decode(regs, pipi); | ||
887 | local_irq_restore(flags); | ||
888 | } | ||
889 | } | ||
890 | } | ||
891 | |||
892 | /* | ||
893 | * Send clock tick to all TCs except the one executing the funtion | ||
894 | */ | ||
895 | |||
896 | void smtc_timer_broadcast(int vpe) | ||
897 | { | ||
898 | int cpu; | ||
899 | int myTC = cpu_data[smp_processor_id()].tc_id; | ||
900 | int myVPE = cpu_data[smp_processor_id()].vpe_id; | ||
901 | |||
902 | smtc_cpu_stats[smp_processor_id()].timerints++; | ||
903 | |||
904 | for_each_online_cpu(cpu) { | ||
905 | if (cpu_data[cpu].vpe_id == myVPE && | ||
906 | cpu_data[cpu].tc_id != myTC) | ||
907 | smtc_send_ipi(cpu, SMTC_CLOCK_TICK, 0); | ||
908 | } | ||
909 | } | ||
910 | |||
911 | /* | ||
912 | * Cross-VPE interrupts in the SMTC prototype use "software interrupts" | ||
913 | * set via cross-VPE MTTR manipulation of the Cause register. It would be | ||
914 | * in some regards preferable to have external logic for "doorbell" hardware | ||
915 | * interrupts. | ||
916 | */ | ||
917 | |||
918 | static int cpu_ipi_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_IRQ; | ||
919 | |||
920 | static irqreturn_t ipi_interrupt(int irq, void *dev_idm, struct pt_regs *regs) | ||
921 | { | ||
922 | int my_vpe = cpu_data[smp_processor_id()].vpe_id; | ||
923 | int my_tc = cpu_data[smp_processor_id()].tc_id; | ||
924 | int cpu; | ||
925 | struct smtc_ipi *pipi; | ||
926 | unsigned long tcstatus; | ||
927 | int sent; | ||
928 | long flags; | ||
929 | unsigned int mtflags; | ||
930 | unsigned int vpflags; | ||
931 | |||
932 | /* | ||
933 | * So long as cross-VPE interrupts are done via | ||
934 | * MFTR/MTTR read-modify-writes of Cause, we need | ||
935 | * to stop other VPEs whenever the local VPE does | ||
936 | * anything similar. | ||
937 | */ | ||
938 | local_irq_save(flags); | ||
939 | vpflags = dvpe(); | ||
940 | clear_c0_cause(0x100 << MIPS_CPU_IPI_IRQ); | ||
941 | set_c0_status(0x100 << MIPS_CPU_IPI_IRQ); | ||
942 | irq_enable_hazard(); | ||
943 | evpe(vpflags); | ||
944 | local_irq_restore(flags); | ||
945 | |||
946 | /* | ||
947 | * Cross-VPE Interrupt handler: Try to directly deliver IPIs | ||
948 | * queued for TCs on this VPE other than the current one. | ||
949 | * Return-from-interrupt should cause us to drain the queue | ||
950 | * for the current TC, so we ought not to have to do it explicitly here. | ||
951 | */ | ||
952 | |||
953 | for_each_online_cpu(cpu) { | ||
954 | if (cpu_data[cpu].vpe_id != my_vpe) | ||
955 | continue; | ||
956 | |||
957 | pipi = smtc_ipi_dq(&IPIQ[cpu]); | ||
958 | if (pipi != NULL) { | ||
959 | if (cpu_data[cpu].tc_id != my_tc) { | ||
960 | sent = 0; | ||
961 | LOCK_MT_PRA(); | ||
962 | settc(cpu_data[cpu].tc_id); | ||
963 | write_tc_c0_tchalt(TCHALT_H); | ||
964 | mips_ihb(); | ||
965 | tcstatus = read_tc_c0_tcstatus(); | ||
966 | if ((tcstatus & TCSTATUS_IXMT) == 0) { | ||
967 | post_direct_ipi(cpu, pipi); | ||
968 | sent = 1; | ||
969 | } | ||
970 | write_tc_c0_tchalt(0); | ||
971 | UNLOCK_MT_PRA(); | ||
972 | if (!sent) { | ||
973 | smtc_ipi_req(&IPIQ[cpu], pipi); | ||
974 | } | ||
975 | } else { | ||
976 | /* | ||
977 | * ipi_decode() should be called | ||
978 | * with interrupts off | ||
979 | */ | ||
980 | local_irq_save(flags); | ||
981 | ipi_decode(regs, pipi); | ||
982 | local_irq_restore(flags); | ||
983 | } | ||
984 | } | ||
985 | } | ||
986 | |||
987 | return IRQ_HANDLED; | ||
988 | } | ||
989 | |||
990 | static void ipi_irq_dispatch(struct pt_regs *regs) | ||
991 | { | ||
992 | do_IRQ(cpu_ipi_irq, regs); | ||
993 | } | ||
994 | |||
995 | static struct irqaction irq_ipi; | ||
996 | |||
997 | void setup_cross_vpe_interrupts(void) | ||
998 | { | ||
999 | if (!cpu_has_vint) | ||
1000 | panic("SMTC Kernel requires Vectored Interupt support"); | ||
1001 | |||
1002 | set_vi_handler(MIPS_CPU_IPI_IRQ, ipi_irq_dispatch); | ||
1003 | |||
1004 | irq_ipi.handler = ipi_interrupt; | ||
1005 | irq_ipi.flags = SA_INTERRUPT; | ||
1006 | irq_ipi.name = "SMTC_IPI"; | ||
1007 | |||
1008 | setup_irq_smtc(cpu_ipi_irq, &irq_ipi, (0x100 << MIPS_CPU_IPI_IRQ)); | ||
1009 | |||
1010 | irq_desc[cpu_ipi_irq].status |= IRQ_PER_CPU; | ||
1011 | } | ||
1012 | |||
1013 | /* | ||
1014 | * SMTC-specific hacks invoked from elsewhere in the kernel. | ||
1015 | */ | ||
1016 | |||
1017 | void smtc_idle_loop_hook(void) | ||
1018 | { | ||
1019 | #ifdef SMTC_IDLE_HOOK_DEBUG | ||
1020 | int im; | ||
1021 | int flags; | ||
1022 | int mtflags; | ||
1023 | int bit; | ||
1024 | int vpe; | ||
1025 | int tc; | ||
1026 | int hook_ntcs; | ||
1027 | /* | ||
1028 | * printk within DMT-protected regions can deadlock, | ||
1029 | * so buffer diagnostic messages for later output. | ||
1030 | */ | ||
1031 | char *pdb_msg; | ||
1032 | char id_ho_db_msg[768]; /* worst-case use should be less than 700 */ | ||
1033 | |||
1034 | if (atomic_read(&idle_hook_initialized) == 0) { /* fast test */ | ||
1035 | if (atomic_add_return(1, &idle_hook_initialized) == 1) { | ||
1036 | int mvpconf0; | ||
1037 | /* Tedious stuff to just do once */ | ||
1038 | mvpconf0 = read_c0_mvpconf0(); | ||
1039 | hook_ntcs = ((mvpconf0 & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1; | ||
1040 | if (hook_ntcs > NR_CPUS) | ||
1041 | hook_ntcs = NR_CPUS; | ||
1042 | for (tc = 0; tc < hook_ntcs; tc++) { | ||
1043 | tcnoprog[tc] = 0; | ||
1044 | clock_hang_reported[tc] = 0; | ||
1045 | } | ||
1046 | for (vpe = 0; vpe < 2; vpe++) | ||
1047 | for (im = 0; im < 8; im++) | ||
1048 | imstuckcount[vpe][im] = 0; | ||
1049 | printk("Idle loop test hook initialized for %d TCs\n", hook_ntcs); | ||
1050 | atomic_set(&idle_hook_initialized, 1000); | ||
1051 | } else { | ||
1052 | /* Someone else is initializing in parallel - let 'em finish */ | ||
1053 | while (atomic_read(&idle_hook_initialized) < 1000) | ||
1054 | ; | ||
1055 | } | ||
1056 | } | ||
1057 | |||
1058 | /* Have we stupidly left IXMT set somewhere? */ | ||
1059 | if (read_c0_tcstatus() & 0x400) { | ||
1060 | write_c0_tcstatus(read_c0_tcstatus() & ~0x400); | ||
1061 | ehb(); | ||
1062 | printk("Dangling IXMT in cpu_idle()\n"); | ||
1063 | } | ||
1064 | |||
1065 | /* Have we stupidly left an IM bit turned off? */ | ||
1066 | #define IM_LIMIT 2000 | ||
1067 | local_irq_save(flags); | ||
1068 | mtflags = dmt(); | ||
1069 | pdb_msg = &id_ho_db_msg[0]; | ||
1070 | im = read_c0_status(); | ||
1071 | vpe = cpu_data[smp_processor_id()].vpe_id; | ||
1072 | for (bit = 0; bit < 8; bit++) { | ||
1073 | /* | ||
1074 | * In current prototype, I/O interrupts | ||
1075 | * are masked for VPE > 0 | ||
1076 | */ | ||
1077 | if (vpemask[vpe][bit]) { | ||
1078 | if (!(im & (0x100 << bit))) | ||
1079 | imstuckcount[vpe][bit]++; | ||
1080 | else | ||
1081 | imstuckcount[vpe][bit] = 0; | ||
1082 | if (imstuckcount[vpe][bit] > IM_LIMIT) { | ||
1083 | set_c0_status(0x100 << bit); | ||
1084 | ehb(); | ||
1085 | imstuckcount[vpe][bit] = 0; | ||
1086 | pdb_msg += sprintf(pdb_msg, | ||
1087 | "Dangling IM %d fixed for VPE %d\n", bit, | ||
1088 | vpe); | ||
1089 | } | ||
1090 | } | ||
1091 | } | ||
1092 | |||
1093 | /* | ||
1094 | * Now that we limit outstanding timer IPIs, check for hung TC | ||
1095 | */ | ||
1096 | for (tc = 0; tc < NR_CPUS; tc++) { | ||
1097 | /* Don't check ourself - we'll dequeue IPIs just below */ | ||
1098 | if ((tc != smp_processor_id()) && | ||
1099 | ipi_timer_latch[tc] > timerq_limit) { | ||
1100 | if (clock_hang_reported[tc] == 0) { | ||
1101 | pdb_msg += sprintf(pdb_msg, | ||
1102 | "TC %d looks hung with timer latch at %d\n", | ||
1103 | tc, ipi_timer_latch[tc]); | ||
1104 | clock_hang_reported[tc]++; | ||
1105 | } | ||
1106 | } | ||
1107 | } | ||
1108 | emt(mtflags); | ||
1109 | local_irq_restore(flags); | ||
1110 | if (pdb_msg != &id_ho_db_msg[0]) | ||
1111 | printk("CPU%d: %s", smp_processor_id(), id_ho_db_msg); | ||
1112 | #endif /* SMTC_IDLE_HOOK_DEBUG */ | ||
1113 | /* | ||
1114 | * To the extent that we've ever turned interrupts off, | ||
1115 | * we may have accumulated deferred IPIs. This is subtle. | ||
1116 | * If we use the smtc_ipi_qdepth() macro, we'll get an | ||
1117 | * exact number - but we'll also disable interrupts | ||
1118 | * and create a window of failure where a new IPI gets | ||
1119 | * queued after we test the depth but before we re-enable | ||
1120 | * interrupts. So long as IXMT never gets set, however, | ||
1121 | * we should be OK: If we pick up something and dispatch | ||
1122 | * it here, that's great. If we see nothing, but concurrent | ||
1123 | * with this operation, another TC sends us an IPI, IXMT | ||
1124 | * is clear, and we'll handle it as a real pseudo-interrupt | ||
1125 | * and not a pseudo-pseudo interrupt. | ||
1126 | */ | ||
1127 | if (IPIQ[smp_processor_id()].depth > 0) { | ||
1128 | struct smtc_ipi *pipi; | ||
1129 | extern void self_ipi(struct smtc_ipi *); | ||
1130 | |||
1131 | if ((pipi = smtc_ipi_dq(&IPIQ[smp_processor_id()])) != NULL) { | ||
1132 | self_ipi(pipi); | ||
1133 | smtc_cpu_stats[smp_processor_id()].selfipis++; | ||
1134 | } | ||
1135 | } | ||
1136 | } | ||
1137 | |||
1138 | void smtc_soft_dump(void) | ||
1139 | { | ||
1140 | int i; | ||
1141 | |||
1142 | printk("Counter Interrupts taken per CPU (TC)\n"); | ||
1143 | for (i=0; i < NR_CPUS; i++) { | ||
1144 | printk("%d: %ld\n", i, smtc_cpu_stats[i].timerints); | ||
1145 | } | ||
1146 | printk("Self-IPI invocations:\n"); | ||
1147 | for (i=0; i < NR_CPUS; i++) { | ||
1148 | printk("%d: %ld\n", i, smtc_cpu_stats[i].selfipis); | ||
1149 | } | ||
1150 | smtc_ipi_qdump(); | ||
1151 | printk("Timer IPI Backlogs:\n"); | ||
1152 | for (i=0; i < NR_CPUS; i++) { | ||
1153 | printk("%d: %d\n", i, ipi_timer_latch[i]); | ||
1154 | } | ||
1155 | printk("%d Recoveries of \"stolen\" FPU\n", | ||
1156 | atomic_read(&smtc_fpu_recoveries)); | ||
1157 | } | ||
1158 | |||
1159 | |||
1160 | /* | ||
1161 | * TLB management routines special to SMTC | ||
1162 | */ | ||
1163 | |||
1164 | void smtc_get_new_mmu_context(struct mm_struct *mm, unsigned long cpu) | ||
1165 | { | ||
1166 | unsigned long flags, mtflags, tcstat, prevhalt, asid; | ||
1167 | int tlb, i; | ||
1168 | |||
1169 | /* | ||
1170 | * It would be nice to be able to use a spinlock here, | ||
1171 | * but this is invoked from within TLB flush routines | ||
1172 | * that protect themselves with DVPE, so if a lock is | ||
1173 | * held by another TC, it'll never be freed. | ||
1174 | * | ||
1175 | * DVPE/DMT must not be done with interrupts enabled, | ||
1176 | * so even so most callers will already have disabled | ||
1177 | * them, let's be really careful... | ||
1178 | */ | ||
1179 | |||
1180 | local_irq_save(flags); | ||
1181 | if (smtc_status & SMTC_TLB_SHARED) { | ||
1182 | mtflags = dvpe(); | ||
1183 | tlb = 0; | ||
1184 | } else { | ||
1185 | mtflags = dmt(); | ||
1186 | tlb = cpu_data[cpu].vpe_id; | ||
1187 | } | ||
1188 | asid = asid_cache(cpu); | ||
1189 | |||
1190 | do { | ||
1191 | if (!((asid += ASID_INC) & ASID_MASK) ) { | ||
1192 | if (cpu_has_vtag_icache) | ||
1193 | flush_icache_all(); | ||
1194 | /* Traverse all online CPUs (hack requires contigous range) */ | ||
1195 | for (i = 0; i < num_online_cpus(); i++) { | ||
1196 | /* | ||
1197 | * We don't need to worry about our own CPU, nor those of | ||
1198 | * CPUs who don't share our TLB. | ||
1199 | */ | ||
1200 | if ((i != smp_processor_id()) && | ||
1201 | ((smtc_status & SMTC_TLB_SHARED) || | ||
1202 | (cpu_data[i].vpe_id == cpu_data[cpu].vpe_id))) { | ||
1203 | settc(cpu_data[i].tc_id); | ||
1204 | prevhalt = read_tc_c0_tchalt() & TCHALT_H; | ||
1205 | if (!prevhalt) { | ||
1206 | write_tc_c0_tchalt(TCHALT_H); | ||
1207 | mips_ihb(); | ||
1208 | } | ||
1209 | tcstat = read_tc_c0_tcstatus(); | ||
1210 | smtc_live_asid[tlb][(tcstat & ASID_MASK)] |= (asiduse)(0x1 << i); | ||
1211 | if (!prevhalt) | ||
1212 | write_tc_c0_tchalt(0); | ||
1213 | } | ||
1214 | } | ||
1215 | if (!asid) /* fix version if needed */ | ||
1216 | asid = ASID_FIRST_VERSION; | ||
1217 | local_flush_tlb_all(); /* start new asid cycle */ | ||
1218 | } | ||
1219 | } while (smtc_live_asid[tlb][(asid & ASID_MASK)]); | ||
1220 | |||
1221 | /* | ||
1222 | * SMTC shares the TLB within VPEs and possibly across all VPEs. | ||
1223 | */ | ||
1224 | for (i = 0; i < num_online_cpus(); i++) { | ||
1225 | if ((smtc_status & SMTC_TLB_SHARED) || | ||
1226 | (cpu_data[i].vpe_id == cpu_data[cpu].vpe_id)) | ||
1227 | cpu_context(i, mm) = asid_cache(i) = asid; | ||
1228 | } | ||
1229 | |||
1230 | if (smtc_status & SMTC_TLB_SHARED) | ||
1231 | evpe(mtflags); | ||
1232 | else | ||
1233 | emt(mtflags); | ||
1234 | local_irq_restore(flags); | ||
1235 | } | ||
1236 | |||
1237 | /* | ||
1238 | * Invoked from macros defined in mmu_context.h | ||
1239 | * which must already have disabled interrupts | ||
1240 | * and done a DVPE or DMT as appropriate. | ||
1241 | */ | ||
1242 | |||
1243 | void smtc_flush_tlb_asid(unsigned long asid) | ||
1244 | { | ||
1245 | int entry; | ||
1246 | unsigned long ehi; | ||
1247 | |||
1248 | entry = read_c0_wired(); | ||
1249 | |||
1250 | /* Traverse all non-wired entries */ | ||
1251 | while (entry < current_cpu_data.tlbsize) { | ||
1252 | write_c0_index(entry); | ||
1253 | ehb(); | ||
1254 | tlb_read(); | ||
1255 | ehb(); | ||
1256 | ehi = read_c0_entryhi(); | ||
1257 | if((ehi & ASID_MASK) == asid) { | ||
1258 | /* | ||
1259 | * Invalidate only entries with specified ASID, | ||
1260 | * makiing sure all entries differ. | ||
1261 | */ | ||
1262 | write_c0_entryhi(CKSEG0 + (entry << (PAGE_SHIFT + 1))); | ||
1263 | write_c0_entrylo0(0); | ||
1264 | write_c0_entrylo1(0); | ||
1265 | mtc0_tlbw_hazard(); | ||
1266 | tlb_write_indexed(); | ||
1267 | } | ||
1268 | entry++; | ||
1269 | } | ||
1270 | write_c0_index(PARKED_INDEX); | ||
1271 | tlbw_use_hazard(); | ||
1272 | } | ||
1273 | |||
1274 | /* | ||
1275 | * Support for single-threading cache flush operations. | ||
1276 | */ | ||
1277 | |||
1278 | int halt_state_save[NR_CPUS]; | ||
1279 | |||
1280 | /* | ||
1281 | * To really, really be sure that nothing is being done | ||
1282 | * by other TCs, halt them all. This code assumes that | ||
1283 | * a DVPE has already been done, so while their Halted | ||
1284 | * state is theoretically architecturally unstable, in | ||
1285 | * practice, it's not going to change while we're looking | ||
1286 | * at it. | ||
1287 | */ | ||
1288 | |||
1289 | void smtc_cflush_lockdown(void) | ||
1290 | { | ||
1291 | int cpu; | ||
1292 | |||
1293 | for_each_online_cpu(cpu) { | ||
1294 | if (cpu != smp_processor_id()) { | ||
1295 | settc(cpu_data[cpu].tc_id); | ||
1296 | halt_state_save[cpu] = read_tc_c0_tchalt(); | ||
1297 | write_tc_c0_tchalt(TCHALT_H); | ||
1298 | } | ||
1299 | } | ||
1300 | mips_ihb(); | ||
1301 | } | ||
1302 | |||
1303 | /* It would be cheating to change the cpu_online states during a flush! */ | ||
1304 | |||
1305 | void smtc_cflush_release(void) | ||
1306 | { | ||
1307 | int cpu; | ||
1308 | |||
1309 | /* | ||
1310 | * Start with a hazard barrier to ensure | ||
1311 | * that all CACHE ops have played through. | ||
1312 | */ | ||
1313 | mips_ihb(); | ||
1314 | |||
1315 | for_each_online_cpu(cpu) { | ||
1316 | if (cpu != smp_processor_id()) { | ||
1317 | settc(cpu_data[cpu].tc_id); | ||
1318 | write_tc_c0_tchalt(halt_state_save[cpu]); | ||
1319 | } | ||
1320 | } | ||
1321 | mips_ihb(); | ||
1322 | } | ||
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 5e51a2d8f3f0..13ff4da598cd 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c | |||
@@ -116,8 +116,7 @@ static void c0_timer_ack(void) | |||
116 | write_c0_compare(expirelo); | 116 | write_c0_compare(expirelo); |
117 | 117 | ||
118 | /* Check to see if we have missed any timer interrupts. */ | 118 | /* Check to see if we have missed any timer interrupts. */ |
119 | count = read_c0_count(); | 119 | while (((count = read_c0_count()) - expirelo) < 0x7fffffff) { |
120 | if ((count - expirelo) < 0x7fffffff) { | ||
121 | /* missed_timer_count++; */ | 120 | /* missed_timer_count++; */ |
122 | expirelo = count + cycles_per_jiffy; | 121 | expirelo = count + cycles_per_jiffy; |
123 | write_c0_compare(expirelo); | 122 | write_c0_compare(expirelo); |
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index bed0eb6cf55d..4901f0a37fca 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <asm/watch.h> | 42 | #include <asm/watch.h> |
43 | #include <asm/types.h> | 43 | #include <asm/types.h> |
44 | 44 | ||
45 | extern asmlinkage void handle_int(void); | ||
45 | extern asmlinkage void handle_tlbm(void); | 46 | extern asmlinkage void handle_tlbm(void); |
46 | extern asmlinkage void handle_tlbl(void); | 47 | extern asmlinkage void handle_tlbl(void); |
47 | extern asmlinkage void handle_tlbs(void); | 48 | extern asmlinkage void handle_tlbs(void); |
@@ -279,9 +280,16 @@ static DEFINE_SPINLOCK(die_lock); | |||
279 | NORET_TYPE void ATTRIB_NORET die(const char * str, struct pt_regs * regs) | 280 | NORET_TYPE void ATTRIB_NORET die(const char * str, struct pt_regs * regs) |
280 | { | 281 | { |
281 | static int die_counter; | 282 | static int die_counter; |
283 | #ifdef CONFIG_MIPS_MT_SMTC | ||
284 | unsigned long dvpret = dvpe(); | ||
285 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
282 | 286 | ||
283 | console_verbose(); | 287 | console_verbose(); |
284 | spin_lock_irq(&die_lock); | 288 | spin_lock_irq(&die_lock); |
289 | bust_spinlocks(1); | ||
290 | #ifdef CONFIG_MIPS_MT_SMTC | ||
291 | mips_mt_regdump(dvpret); | ||
292 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
285 | printk("%s[#%d]:\n", str, ++die_counter); | 293 | printk("%s[#%d]:\n", str, ++die_counter); |
286 | show_registers(regs); | 294 | show_registers(regs); |
287 | spin_unlock_irq(&die_lock); | 295 | spin_unlock_irq(&die_lock); |
@@ -750,12 +758,43 @@ asmlinkage void do_cpu(struct pt_regs *regs) | |||
750 | ¤t->thread.fpu.soft); | 758 | ¤t->thread.fpu.soft); |
751 | if (sig) | 759 | if (sig) |
752 | force_sig(sig, current); | 760 | force_sig(sig, current); |
761 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
762 | else { | ||
763 | /* | ||
764 | * MIPS MT processors may have fewer FPU contexts | ||
765 | * than CPU threads. If we've emulated more than | ||
766 | * some threshold number of instructions, force | ||
767 | * migration to a "CPU" that has FP support. | ||
768 | */ | ||
769 | if(mt_fpemul_threshold > 0 | ||
770 | && ((current->thread.emulated_fp++ | ||
771 | > mt_fpemul_threshold))) { | ||
772 | /* | ||
773 | * If there's no FPU present, or if the | ||
774 | * application has already restricted | ||
775 | * the allowed set to exclude any CPUs | ||
776 | * with FPUs, we'll skip the procedure. | ||
777 | */ | ||
778 | if (cpus_intersects(current->cpus_allowed, | ||
779 | mt_fpu_cpumask)) { | ||
780 | cpumask_t tmask; | ||
781 | |||
782 | cpus_and(tmask, | ||
783 | current->thread.user_cpus_allowed, | ||
784 | mt_fpu_cpumask); | ||
785 | set_cpus_allowed(current, tmask); | ||
786 | current->thread.mflags |= MF_FPUBOUND; | ||
787 | } | ||
788 | } | ||
789 | } | ||
790 | #endif /* CONFIG_MIPS_MT_FPAFF */ | ||
753 | } | 791 | } |
754 | 792 | ||
755 | return; | 793 | return; |
756 | 794 | ||
757 | case 2: | 795 | case 2: |
758 | case 3: | 796 | case 3: |
797 | die_if_kernel("do_cpu invoked from kernel context!", regs); | ||
759 | break; | 798 | break; |
760 | } | 799 | } |
761 | 800 | ||
@@ -793,6 +832,36 @@ asmlinkage void do_mcheck(struct pt_regs *regs) | |||
793 | 832 | ||
794 | asmlinkage void do_mt(struct pt_regs *regs) | 833 | asmlinkage void do_mt(struct pt_regs *regs) |
795 | { | 834 | { |
835 | int subcode; | ||
836 | |||
837 | die_if_kernel("MIPS MT Thread exception in kernel", regs); | ||
838 | |||
839 | subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT) | ||
840 | >> VPECONTROL_EXCPT_SHIFT; | ||
841 | switch (subcode) { | ||
842 | case 0: | ||
843 | printk(KERN_ERR "Thread Underflow\n"); | ||
844 | break; | ||
845 | case 1: | ||
846 | printk(KERN_ERR "Thread Overflow\n"); | ||
847 | break; | ||
848 | case 2: | ||
849 | printk(KERN_ERR "Invalid YIELD Qualifier\n"); | ||
850 | break; | ||
851 | case 3: | ||
852 | printk(KERN_ERR "Gating Storage Exception\n"); | ||
853 | break; | ||
854 | case 4: | ||
855 | printk(KERN_ERR "YIELD Scheduler Exception\n"); | ||
856 | break; | ||
857 | case 5: | ||
858 | printk(KERN_ERR "Gating Storage Schedulier Exception\n"); | ||
859 | break; | ||
860 | default: | ||
861 | printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n", | ||
862 | subcode); | ||
863 | break; | ||
864 | } | ||
796 | die_if_kernel("MIPS MT Thread exception in kernel", regs); | 865 | die_if_kernel("MIPS MT Thread exception in kernel", regs); |
797 | 866 | ||
798 | force_sig(SIGILL, current); | 867 | force_sig(SIGILL, current); |
@@ -928,7 +997,15 @@ void ejtag_exception_handler(struct pt_regs *regs) | |||
928 | */ | 997 | */ |
929 | void nmi_exception_handler(struct pt_regs *regs) | 998 | void nmi_exception_handler(struct pt_regs *regs) |
930 | { | 999 | { |
1000 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1001 | unsigned long dvpret = dvpe(); | ||
1002 | bust_spinlocks(1); | ||
1003 | printk("NMI taken!!!!\n"); | ||
1004 | mips_mt_regdump(dvpret); | ||
1005 | #else | ||
1006 | bust_spinlocks(1); | ||
931 | printk("NMI taken!!!!\n"); | 1007 | printk("NMI taken!!!!\n"); |
1008 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
932 | die("NMI", regs); | 1009 | die("NMI", regs); |
933 | while(1) ; | 1010 | while(1) ; |
934 | } | 1011 | } |
@@ -960,27 +1037,29 @@ void *set_except_vector(int n, void *addr) | |||
960 | 1037 | ||
961 | #ifdef CONFIG_CPU_MIPSR2 | 1038 | #ifdef CONFIG_CPU_MIPSR2 |
962 | /* | 1039 | /* |
963 | * Shadow register allocation | 1040 | * MIPSR2 shadow register set allocation |
964 | * FIXME: SMP... | 1041 | * FIXME: SMP... |
965 | */ | 1042 | */ |
966 | 1043 | ||
967 | /* MIPSR2 shadow register sets */ | 1044 | static struct shadow_registers { |
968 | struct shadow_registers { | 1045 | /* |
969 | spinlock_t sr_lock; /* */ | 1046 | * Number of shadow register sets supported |
970 | int sr_supported; /* Number of shadow register sets supported */ | 1047 | */ |
971 | int sr_allocated; /* Bitmap of allocated shadow registers */ | 1048 | unsigned long sr_supported; |
1049 | /* | ||
1050 | * Bitmap of allocated shadow registers | ||
1051 | */ | ||
1052 | unsigned long sr_allocated; | ||
972 | } shadow_registers; | 1053 | } shadow_registers; |
973 | 1054 | ||
974 | void mips_srs_init(void) | 1055 | static void mips_srs_init(void) |
975 | { | 1056 | { |
976 | #ifdef CONFIG_CPU_MIPSR2_SRS | 1057 | #ifdef CONFIG_CPU_MIPSR2_SRS |
977 | shadow_registers.sr_supported = ((read_c0_srsctl() >> 26) & 0x0f) + 1; | 1058 | shadow_registers.sr_supported = ((read_c0_srsctl() >> 26) & 0x0f) + 1; |
978 | printk ("%d MIPSR2 register sets available\n", shadow_registers.sr_supported); | 1059 | printk(KERN_INFO "%d MIPSR2 register sets available\n", |
979 | #else | 1060 | shadow_registers.sr_supported); |
980 | shadow_registers.sr_supported = 1; | ||
981 | #endif | 1061 | #endif |
982 | shadow_registers.sr_allocated = 1; /* Set 0 used by kernel */ | 1062 | shadow_registers.sr_allocated = 1; /* Set 0 used by kernel */ |
983 | spin_lock_init(&shadow_registers.sr_lock); | ||
984 | } | 1063 | } |
985 | 1064 | ||
986 | int mips_srs_max(void) | 1065 | int mips_srs_max(void) |
@@ -988,38 +1067,30 @@ int mips_srs_max(void) | |||
988 | return shadow_registers.sr_supported; | 1067 | return shadow_registers.sr_supported; |
989 | } | 1068 | } |
990 | 1069 | ||
991 | int mips_srs_alloc (void) | 1070 | int mips_srs_alloc(void) |
992 | { | 1071 | { |
993 | struct shadow_registers *sr = &shadow_registers; | 1072 | struct shadow_registers *sr = &shadow_registers; |
994 | unsigned long flags; | ||
995 | int set; | 1073 | int set; |
996 | 1074 | ||
997 | spin_lock_irqsave(&sr->sr_lock, flags); | 1075 | again: |
1076 | set = find_first_zero_bit(&sr->sr_allocated, sr->sr_supported); | ||
1077 | if (set >= sr->sr_supported) | ||
1078 | return -1; | ||
998 | 1079 | ||
999 | for (set = 0; set < sr->sr_supported; set++) { | 1080 | if (test_and_set_bit(set, &sr->sr_allocated)) |
1000 | if ((sr->sr_allocated & (1 << set)) == 0) { | 1081 | goto again; |
1001 | sr->sr_allocated |= 1 << set; | ||
1002 | spin_unlock_irqrestore(&sr->sr_lock, flags); | ||
1003 | return set; | ||
1004 | } | ||
1005 | } | ||
1006 | 1082 | ||
1007 | /* None available */ | 1083 | return set; |
1008 | spin_unlock_irqrestore(&sr->sr_lock, flags); | ||
1009 | return -1; | ||
1010 | } | 1084 | } |
1011 | 1085 | ||
1012 | void mips_srs_free (int set) | 1086 | void mips_srs_free(int set) |
1013 | { | 1087 | { |
1014 | struct shadow_registers *sr = &shadow_registers; | 1088 | struct shadow_registers *sr = &shadow_registers; |
1015 | unsigned long flags; | ||
1016 | 1089 | ||
1017 | spin_lock_irqsave(&sr->sr_lock, flags); | 1090 | clear_bit(set, &sr->sr_allocated); |
1018 | sr->sr_allocated &= ~(1 << set); | ||
1019 | spin_unlock_irqrestore(&sr->sr_lock, flags); | ||
1020 | } | 1091 | } |
1021 | 1092 | ||
1022 | void *set_vi_srs_handler (int n, void *addr, int srs) | 1093 | static void *set_vi_srs_handler(int n, void *addr, int srs) |
1023 | { | 1094 | { |
1024 | unsigned long handler; | 1095 | unsigned long handler; |
1025 | unsigned long old_handler = vi_handlers[n]; | 1096 | unsigned long old_handler = vi_handlers[n]; |
@@ -1032,8 +1103,7 @@ void *set_vi_srs_handler (int n, void *addr, int srs) | |||
1032 | if (addr == NULL) { | 1103 | if (addr == NULL) { |
1033 | handler = (unsigned long) do_default_vi; | 1104 | handler = (unsigned long) do_default_vi; |
1034 | srs = 0; | 1105 | srs = 0; |
1035 | } | 1106 | } else |
1036 | else | ||
1037 | handler = (unsigned long) addr; | 1107 | handler = (unsigned long) addr; |
1038 | vi_handlers[n] = (unsigned long) addr; | 1108 | vi_handlers[n] = (unsigned long) addr; |
1039 | 1109 | ||
@@ -1045,8 +1115,7 @@ void *set_vi_srs_handler (int n, void *addr, int srs) | |||
1045 | if (cpu_has_veic) { | 1115 | if (cpu_has_veic) { |
1046 | if (board_bind_eic_interrupt) | 1116 | if (board_bind_eic_interrupt) |
1047 | board_bind_eic_interrupt (n, srs); | 1117 | board_bind_eic_interrupt (n, srs); |
1048 | } | 1118 | } else if (cpu_has_vint) { |
1049 | else if (cpu_has_vint) { | ||
1050 | /* SRSMap is only defined if shadow sets are implemented */ | 1119 | /* SRSMap is only defined if shadow sets are implemented */ |
1051 | if (mips_srs_max() > 1) | 1120 | if (mips_srs_max() > 1) |
1052 | change_c0_srsmap (0xf << n*4, srs << n*4); | 1121 | change_c0_srsmap (0xf << n*4, srs << n*4); |
@@ -1060,6 +1129,15 @@ void *set_vi_srs_handler (int n, void *addr, int srs) | |||
1060 | 1129 | ||
1061 | extern char except_vec_vi, except_vec_vi_lui; | 1130 | extern char except_vec_vi, except_vec_vi_lui; |
1062 | extern char except_vec_vi_ori, except_vec_vi_end; | 1131 | extern char except_vec_vi_ori, except_vec_vi_end; |
1132 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1133 | /* | ||
1134 | * We need to provide the SMTC vectored interrupt handler | ||
1135 | * not only with the address of the handler, but with the | ||
1136 | * Status.IM bit to be masked before going there. | ||
1137 | */ | ||
1138 | extern char except_vec_vi_mori; | ||
1139 | const int mori_offset = &except_vec_vi_mori - &except_vec_vi; | ||
1140 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1063 | const int handler_len = &except_vec_vi_end - &except_vec_vi; | 1141 | const int handler_len = &except_vec_vi_end - &except_vec_vi; |
1064 | const int lui_offset = &except_vec_vi_lui - &except_vec_vi; | 1142 | const int lui_offset = &except_vec_vi_lui - &except_vec_vi; |
1065 | const int ori_offset = &except_vec_vi_ori - &except_vec_vi; | 1143 | const int ori_offset = &except_vec_vi_ori - &except_vec_vi; |
@@ -1073,6 +1151,12 @@ void *set_vi_srs_handler (int n, void *addr, int srs) | |||
1073 | } | 1151 | } |
1074 | 1152 | ||
1075 | memcpy (b, &except_vec_vi, handler_len); | 1153 | memcpy (b, &except_vec_vi, handler_len); |
1154 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1155 | if (n > 7) | ||
1156 | printk("Vector index %d exceeds SMTC maximum\n", n); | ||
1157 | w = (u32 *)(b + mori_offset); | ||
1158 | *w = (*w & 0xffff0000) | (0x100 << n); | ||
1159 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1076 | w = (u32 *)(b + lui_offset); | 1160 | w = (u32 *)(b + lui_offset); |
1077 | *w = (*w & 0xffff0000) | (((u32)handler >> 16) & 0xffff); | 1161 | *w = (*w & 0xffff0000) | (((u32)handler >> 16) & 0xffff); |
1078 | w = (u32 *)(b + ori_offset); | 1162 | w = (u32 *)(b + ori_offset); |
@@ -1095,9 +1179,9 @@ void *set_vi_srs_handler (int n, void *addr, int srs) | |||
1095 | return (void *)old_handler; | 1179 | return (void *)old_handler; |
1096 | } | 1180 | } |
1097 | 1181 | ||
1098 | void *set_vi_handler (int n, void *addr) | 1182 | void *set_vi_handler(int n, void *addr) |
1099 | { | 1183 | { |
1100 | return set_vi_srs_handler (n, addr, 0); | 1184 | return set_vi_srs_handler(n, addr, 0); |
1101 | } | 1185 | } |
1102 | #endif | 1186 | #endif |
1103 | 1187 | ||
@@ -1113,8 +1197,29 @@ extern asmlinkage int _restore_fp_context(struct sigcontext *sc); | |||
1113 | extern asmlinkage int fpu_emulator_save_context(struct sigcontext *sc); | 1197 | extern asmlinkage int fpu_emulator_save_context(struct sigcontext *sc); |
1114 | extern asmlinkage int fpu_emulator_restore_context(struct sigcontext *sc); | 1198 | extern asmlinkage int fpu_emulator_restore_context(struct sigcontext *sc); |
1115 | 1199 | ||
1200 | #ifdef CONFIG_SMP | ||
1201 | static int smp_save_fp_context(struct sigcontext *sc) | ||
1202 | { | ||
1203 | return cpu_has_fpu | ||
1204 | ? _save_fp_context(sc) | ||
1205 | : fpu_emulator_save_context(sc); | ||
1206 | } | ||
1207 | |||
1208 | static int smp_restore_fp_context(struct sigcontext *sc) | ||
1209 | { | ||
1210 | return cpu_has_fpu | ||
1211 | ? _restore_fp_context(sc) | ||
1212 | : fpu_emulator_restore_context(sc); | ||
1213 | } | ||
1214 | #endif | ||
1215 | |||
1116 | static inline void signal_init(void) | 1216 | static inline void signal_init(void) |
1117 | { | 1217 | { |
1218 | #ifdef CONFIG_SMP | ||
1219 | /* For now just do the cpu_has_fpu check when the functions are invoked */ | ||
1220 | save_fp_context = smp_save_fp_context; | ||
1221 | restore_fp_context = smp_restore_fp_context; | ||
1222 | #else | ||
1118 | if (cpu_has_fpu) { | 1223 | if (cpu_has_fpu) { |
1119 | save_fp_context = _save_fp_context; | 1224 | save_fp_context = _save_fp_context; |
1120 | restore_fp_context = _restore_fp_context; | 1225 | restore_fp_context = _restore_fp_context; |
@@ -1122,6 +1227,7 @@ static inline void signal_init(void) | |||
1122 | save_fp_context = fpu_emulator_save_context; | 1227 | save_fp_context = fpu_emulator_save_context; |
1123 | restore_fp_context = fpu_emulator_restore_context; | 1228 | restore_fp_context = fpu_emulator_restore_context; |
1124 | } | 1229 | } |
1230 | #endif | ||
1125 | } | 1231 | } |
1126 | 1232 | ||
1127 | #ifdef CONFIG_MIPS32_COMPAT | 1233 | #ifdef CONFIG_MIPS32_COMPAT |
@@ -1158,6 +1264,20 @@ void __init per_cpu_trap_init(void) | |||
1158 | { | 1264 | { |
1159 | unsigned int cpu = smp_processor_id(); | 1265 | unsigned int cpu = smp_processor_id(); |
1160 | unsigned int status_set = ST0_CU0; | 1266 | unsigned int status_set = ST0_CU0; |
1267 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1268 | int secondaryTC = 0; | ||
1269 | int bootTC = (cpu == 0); | ||
1270 | |||
1271 | /* | ||
1272 | * Only do per_cpu_trap_init() for first TC of Each VPE. | ||
1273 | * Note that this hack assumes that the SMTC init code | ||
1274 | * assigns TCs consecutively and in ascending order. | ||
1275 | */ | ||
1276 | |||
1277 | if (((read_c0_tcbind() & TCBIND_CURTC) != 0) && | ||
1278 | ((read_c0_tcbind() & TCBIND_CURVPE) == cpu_data[cpu - 1].vpe_id)) | ||
1279 | secondaryTC = 1; | ||
1280 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1161 | 1281 | ||
1162 | /* | 1282 | /* |
1163 | * Disable coprocessors and select 32-bit or 64-bit addressing | 1283 | * Disable coprocessors and select 32-bit or 64-bit addressing |
@@ -1180,6 +1300,10 @@ void __init per_cpu_trap_init(void) | |||
1180 | write_c0_hwrena (0x0000000f); /* Allow rdhwr to all registers */ | 1300 | write_c0_hwrena (0x0000000f); /* Allow rdhwr to all registers */ |
1181 | #endif | 1301 | #endif |
1182 | 1302 | ||
1303 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1304 | if (!secondaryTC) { | ||
1305 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1306 | |||
1183 | /* | 1307 | /* |
1184 | * Interrupt handling. | 1308 | * Interrupt handling. |
1185 | */ | 1309 | */ |
@@ -1196,6 +1320,9 @@ void __init per_cpu_trap_init(void) | |||
1196 | } else | 1320 | } else |
1197 | set_c0_cause(CAUSEF_IV); | 1321 | set_c0_cause(CAUSEF_IV); |
1198 | } | 1322 | } |
1323 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1324 | } | ||
1325 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1199 | 1326 | ||
1200 | cpu_data[cpu].asid_cache = ASID_FIRST_VERSION; | 1327 | cpu_data[cpu].asid_cache = ASID_FIRST_VERSION; |
1201 | TLBMISS_HANDLER_SETUP(); | 1328 | TLBMISS_HANDLER_SETUP(); |
@@ -1205,8 +1332,14 @@ void __init per_cpu_trap_init(void) | |||
1205 | BUG_ON(current->mm); | 1332 | BUG_ON(current->mm); |
1206 | enter_lazy_tlb(&init_mm, current); | 1333 | enter_lazy_tlb(&init_mm, current); |
1207 | 1334 | ||
1208 | cpu_cache_init(); | 1335 | #ifdef CONFIG_MIPS_MT_SMTC |
1209 | tlb_init(); | 1336 | if (bootTC) { |
1337 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1338 | cpu_cache_init(); | ||
1339 | tlb_init(); | ||
1340 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1341 | } | ||
1342 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
1210 | } | 1343 | } |
1211 | 1344 | ||
1212 | /* Install CPU exception handler */ | 1345 | /* Install CPU exception handler */ |
@@ -1278,7 +1411,7 @@ void __init trap_init(void) | |||
1278 | if (cpu_has_veic || cpu_has_vint) { | 1411 | if (cpu_has_veic || cpu_has_vint) { |
1279 | int nvec = cpu_has_veic ? 64 : 8; | 1412 | int nvec = cpu_has_veic ? 64 : 8; |
1280 | for (i = 0; i < nvec; i++) | 1413 | for (i = 0; i < nvec; i++) |
1281 | set_vi_handler (i, NULL); | 1414 | set_vi_handler(i, NULL); |
1282 | } | 1415 | } |
1283 | else if (cpu_has_divec) | 1416 | else if (cpu_has_divec) |
1284 | set_handler(0x200, &except_vec4, 0x8); | 1417 | set_handler(0x200, &except_vec4, 0x8); |
@@ -1297,6 +1430,7 @@ void __init trap_init(void) | |||
1297 | if (board_be_init) | 1430 | if (board_be_init) |
1298 | board_be_init(); | 1431 | board_be_init(); |
1299 | 1432 | ||
1433 | set_except_vector(0, handle_int); | ||
1300 | set_except_vector(1, handle_tlbm); | 1434 | set_except_vector(1, handle_tlbm); |
1301 | set_except_vector(2, handle_tlbl); | 1435 | set_except_vector(2, handle_tlbl); |
1302 | set_except_vector(3, handle_tlbs); | 1436 | set_except_vector(3, handle_tlbs); |
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 2ad0cedf29fe..14fa00e3cdfa 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S | |||
@@ -2,7 +2,7 @@ | |||
2 | #include <asm/asm-offsets.h> | 2 | #include <asm/asm-offsets.h> |
3 | #include <asm-generic/vmlinux.lds.h> | 3 | #include <asm-generic/vmlinux.lds.h> |
4 | 4 | ||
5 | #undef mips /* CPP really sucks for this job */ | 5 | #undef mips |
6 | #define mips mips | 6 | #define mips mips |
7 | OUTPUT_ARCH(mips) | 7 | OUTPUT_ARCH(mips) |
8 | ENTRY(kernel_entry) | 8 | ENTRY(kernel_entry) |
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index ae83b755cf4a..85d7df7b18e1 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c | |||
@@ -13,7 +13,6 @@ | |||
13 | * You should have received a copy of the GNU General Public License along | 13 | * You should have received a copy of the GNU General Public License along |
14 | * with this program; if not, write to the Free Software Foundation, Inc., | 14 | * with this program; if not, write to the Free Software Foundation, Inc., |
15 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | 15 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. |
16 | * | ||
17 | */ | 16 | */ |
18 | 17 | ||
19 | /* | 18 | /* |
@@ -27,11 +26,8 @@ | |||
27 | * | 26 | * |
28 | * To load and run, simply cat a SP 'program file' to /dev/vpe1. | 27 | * To load and run, simply cat a SP 'program file' to /dev/vpe1. |
29 | * i.e cat spapp >/dev/vpe1. | 28 | * i.e cat spapp >/dev/vpe1. |
30 | * | ||
31 | * You'll need to have the following device files. | ||
32 | * mknod /dev/vpe0 c 63 0 | ||
33 | * mknod /dev/vpe1 c 63 1 | ||
34 | */ | 29 | */ |
30 | |||
35 | #include <linux/config.h> | 31 | #include <linux/config.h> |
36 | #include <linux/kernel.h> | 32 | #include <linux/kernel.h> |
37 | #include <linux/module.h> | 33 | #include <linux/module.h> |
@@ -55,6 +51,8 @@ | |||
55 | #include <asm/cpu.h> | 51 | #include <asm/cpu.h> |
56 | #include <asm/processor.h> | 52 | #include <asm/processor.h> |
57 | #include <asm/system.h> | 53 | #include <asm/system.h> |
54 | #include <asm/vpe.h> | ||
55 | #include <asm/kspd.h> | ||
58 | 56 | ||
59 | typedef void *vpe_handle; | 57 | typedef void *vpe_handle; |
60 | 58 | ||
@@ -68,6 +66,11 @@ typedef void *vpe_handle; | |||
68 | static char module_name[] = "vpe"; | 66 | static char module_name[] = "vpe"; |
69 | static int major; | 67 | static int major; |
70 | 68 | ||
69 | #ifdef CONFIG_MIPS_APSP_KSPD | ||
70 | static struct kspd_notifications kspd_events; | ||
71 | static int kspd_events_reqd = 0; | ||
72 | #endif | ||
73 | |||
71 | /* grab the likely amount of memory we will need. */ | 74 | /* grab the likely amount of memory we will need. */ |
72 | #ifdef CONFIG_MIPS_VPE_LOADER_TOM | 75 | #ifdef CONFIG_MIPS_VPE_LOADER_TOM |
73 | #define P_SIZE (2 * 1024 * 1024) | 76 | #define P_SIZE (2 * 1024 * 1024) |
@@ -76,7 +79,10 @@ static int major; | |||
76 | #define P_SIZE (256 * 1024) | 79 | #define P_SIZE (256 * 1024) |
77 | #endif | 80 | #endif |
78 | 81 | ||
82 | extern unsigned long physical_memsize; | ||
83 | |||
79 | #define MAX_VPES 16 | 84 | #define MAX_VPES 16 |
85 | #define VPE_PATH_MAX 256 | ||
80 | 86 | ||
81 | enum vpe_state { | 87 | enum vpe_state { |
82 | VPE_STATE_UNUSED = 0, | 88 | VPE_STATE_UNUSED = 0, |
@@ -102,6 +108,8 @@ struct vpe { | |||
102 | unsigned long len; | 108 | unsigned long len; |
103 | char *pbuffer; | 109 | char *pbuffer; |
104 | unsigned long plen; | 110 | unsigned long plen; |
111 | unsigned int uid, gid; | ||
112 | char cwd[VPE_PATH_MAX]; | ||
105 | 113 | ||
106 | unsigned long __start; | 114 | unsigned long __start; |
107 | 115 | ||
@@ -113,6 +121,9 @@ struct vpe { | |||
113 | 121 | ||
114 | /* shared symbol address */ | 122 | /* shared symbol address */ |
115 | void *shared_ptr; | 123 | void *shared_ptr; |
124 | |||
125 | /* the list of who wants to know when something major happens */ | ||
126 | struct list_head notify; | ||
116 | }; | 127 | }; |
117 | 128 | ||
118 | struct tc { | 129 | struct tc { |
@@ -138,7 +149,7 @@ struct vpecontrol_ { | |||
138 | } vpecontrol; | 149 | } vpecontrol; |
139 | 150 | ||
140 | static void release_progmem(void *ptr); | 151 | static void release_progmem(void *ptr); |
141 | static void dump_vpe(struct vpe * v); | 152 | /* static __attribute_used__ void dump_vpe(struct vpe * v); */ |
142 | extern void save_gp_address(unsigned int secbase, unsigned int rel); | 153 | extern void save_gp_address(unsigned int secbase, unsigned int rel); |
143 | 154 | ||
144 | /* get the vpe associated with this minor */ | 155 | /* get the vpe associated with this minor */ |
@@ -146,12 +157,14 @@ struct vpe *get_vpe(int minor) | |||
146 | { | 157 | { |
147 | struct vpe *v; | 158 | struct vpe *v; |
148 | 159 | ||
160 | if (!cpu_has_mipsmt) | ||
161 | return NULL; | ||
162 | |||
149 | list_for_each_entry(v, &vpecontrol.vpe_list, list) { | 163 | list_for_each_entry(v, &vpecontrol.vpe_list, list) { |
150 | if (v->minor == minor) | 164 | if (v->minor == minor) |
151 | return v; | 165 | return v; |
152 | } | 166 | } |
153 | 167 | ||
154 | printk(KERN_DEBUG "VPE: get_vpe minor %d not found\n", minor); | ||
155 | return NULL; | 168 | return NULL; |
156 | } | 169 | } |
157 | 170 | ||
@@ -165,8 +178,6 @@ struct tc *get_tc(int index) | |||
165 | return t; | 178 | return t; |
166 | } | 179 | } |
167 | 180 | ||
168 | printk(KERN_DEBUG "VPE: get_tc index %d not found\n", index); | ||
169 | |||
170 | return NULL; | 181 | return NULL; |
171 | } | 182 | } |
172 | 183 | ||
@@ -179,8 +190,6 @@ struct tc *get_tc_unused(void) | |||
179 | return t; | 190 | return t; |
180 | } | 191 | } |
181 | 192 | ||
182 | printk(KERN_DEBUG "VPE: All TC's are in use\n"); | ||
183 | |||
184 | return NULL; | 193 | return NULL; |
185 | } | 194 | } |
186 | 195 | ||
@@ -190,13 +199,13 @@ struct vpe *alloc_vpe(int minor) | |||
190 | struct vpe *v; | 199 | struct vpe *v; |
191 | 200 | ||
192 | if ((v = kzalloc(sizeof(struct vpe), GFP_KERNEL)) == NULL) { | 201 | if ((v = kzalloc(sizeof(struct vpe), GFP_KERNEL)) == NULL) { |
193 | printk(KERN_WARNING "VPE: alloc_vpe no mem\n"); | ||
194 | return NULL; | 202 | return NULL; |
195 | } | 203 | } |
196 | 204 | ||
197 | INIT_LIST_HEAD(&v->tc); | 205 | INIT_LIST_HEAD(&v->tc); |
198 | list_add_tail(&v->list, &vpecontrol.vpe_list); | 206 | list_add_tail(&v->list, &vpecontrol.vpe_list); |
199 | 207 | ||
208 | INIT_LIST_HEAD(&v->notify); | ||
200 | v->minor = minor; | 209 | v->minor = minor; |
201 | return v; | 210 | return v; |
202 | } | 211 | } |
@@ -207,7 +216,6 @@ struct tc *alloc_tc(int index) | |||
207 | struct tc *t; | 216 | struct tc *t; |
208 | 217 | ||
209 | if ((t = kzalloc(sizeof(struct tc), GFP_KERNEL)) == NULL) { | 218 | if ((t = kzalloc(sizeof(struct tc), GFP_KERNEL)) == NULL) { |
210 | printk(KERN_WARNING "VPE: alloc_tc no mem\n"); | ||
211 | return NULL; | 219 | return NULL; |
212 | } | 220 | } |
213 | 221 | ||
@@ -236,20 +244,16 @@ void dump_mtregs(void) | |||
236 | printk("config3 0x%lx MT %ld\n", val, | 244 | printk("config3 0x%lx MT %ld\n", val, |
237 | (val & CONFIG3_MT) >> CONFIG3_MT_SHIFT); | 245 | (val & CONFIG3_MT) >> CONFIG3_MT_SHIFT); |
238 | 246 | ||
239 | val = read_c0_mvpconf0(); | ||
240 | printk("mvpconf0 0x%lx, PVPE %ld PTC %ld M %ld\n", val, | ||
241 | (val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT, | ||
242 | val & MVPCONF0_PTC, (val & MVPCONF0_M) >> MVPCONF0_M_SHIFT); | ||
243 | |||
244 | val = read_c0_mvpcontrol(); | 247 | val = read_c0_mvpcontrol(); |
245 | printk("MVPControl 0x%lx, STLB %ld VPC %ld EVP %ld\n", val, | 248 | printk("MVPControl 0x%lx, STLB %ld VPC %ld EVP %ld\n", val, |
246 | (val & MVPCONTROL_STLB) >> MVPCONTROL_STLB_SHIFT, | 249 | (val & MVPCONTROL_STLB) >> MVPCONTROL_STLB_SHIFT, |
247 | (val & MVPCONTROL_VPC) >> MVPCONTROL_VPC_SHIFT, | 250 | (val & MVPCONTROL_VPC) >> MVPCONTROL_VPC_SHIFT, |
248 | (val & MVPCONTROL_EVP)); | 251 | (val & MVPCONTROL_EVP)); |
249 | 252 | ||
250 | val = read_c0_vpeconf0(); | 253 | val = read_c0_mvpconf0(); |
251 | printk("VPEConf0 0x%lx MVP %ld\n", val, | 254 | printk("mvpconf0 0x%lx, PVPE %ld PTC %ld M %ld\n", val, |
252 | (val & VPECONF0_MVP) >> VPECONF0_MVP_SHIFT); | 255 | (val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT, |
256 | val & MVPCONF0_PTC, (val & MVPCONF0_M) >> MVPCONF0_M_SHIFT); | ||
253 | } | 257 | } |
254 | 258 | ||
255 | /* Find some VPE program space */ | 259 | /* Find some VPE program space */ |
@@ -354,9 +358,9 @@ static int apply_r_mips_gprel16(struct module *me, uint32_t *location, | |||
354 | } | 358 | } |
355 | 359 | ||
356 | if( (rel > 32768) || (rel < -32768) ) { | 360 | if( (rel > 32768) || (rel < -32768) ) { |
357 | printk(KERN_ERR | 361 | printk(KERN_DEBUG "VPE loader: apply_r_mips_gprel16: " |
358 | "apply_r_mips_gprel16: relative address out of range 0x%x %d\n", | 362 | "relative address 0x%x out of range of gp register\n", |
359 | rel, rel); | 363 | rel); |
360 | return -ENOEXEC; | 364 | return -ENOEXEC; |
361 | } | 365 | } |
362 | 366 | ||
@@ -374,8 +378,8 @@ static int apply_r_mips_pc16(struct module *me, uint32_t *location, | |||
374 | rel -= 1; // and one instruction less due to the branch delay slot. | 378 | rel -= 1; // and one instruction less due to the branch delay slot. |
375 | 379 | ||
376 | if( (rel > 32768) || (rel < -32768) ) { | 380 | if( (rel > 32768) || (rel < -32768) ) { |
377 | printk(KERN_ERR | 381 | printk(KERN_DEBUG "VPE loader: " |
378 | "apply_r_mips_pc16: relative address out of range 0x%x\n", rel); | 382 | "apply_r_mips_pc16: relative address out of range 0x%x\n", rel); |
379 | return -ENOEXEC; | 383 | return -ENOEXEC; |
380 | } | 384 | } |
381 | 385 | ||
@@ -396,7 +400,8 @@ static int apply_r_mips_26(struct module *me, uint32_t *location, | |||
396 | Elf32_Addr v) | 400 | Elf32_Addr v) |
397 | { | 401 | { |
398 | if (v % 4) { | 402 | if (v % 4) { |
399 | printk(KERN_ERR "module %s: dangerous relocation mod4\n", me->name); | 403 | printk(KERN_DEBUG "VPE loader: apply_r_mips_26 " |
404 | " unaligned relocation\n"); | ||
400 | return -ENOEXEC; | 405 | return -ENOEXEC; |
401 | } | 406 | } |
402 | 407 | ||
@@ -459,12 +464,13 @@ static int apply_r_mips_lo16(struct module *me, uint32_t *location, | |||
459 | /* | 464 | /* |
460 | * The value for the HI16 had best be the same. | 465 | * The value for the HI16 had best be the same. |
461 | */ | 466 | */ |
462 | if (v != l->value) { | 467 | if (v != l->value) { |
463 | printk("%d != %d\n", v, l->value); | 468 | printk(KERN_DEBUG "VPE loader: " |
464 | goto out_danger; | 469 | "apply_r_mips_lo16/hi16: " |
470 | "inconsistent value information\n"); | ||
471 | return -ENOEXEC; | ||
465 | } | 472 | } |
466 | 473 | ||
467 | |||
468 | /* | 474 | /* |
469 | * Do the HI16 relocation. Note that we actually don't | 475 | * Do the HI16 relocation. Note that we actually don't |
470 | * need to know anything about the LO16 itself, except | 476 | * need to know anything about the LO16 itself, except |
@@ -500,11 +506,6 @@ static int apply_r_mips_lo16(struct module *me, uint32_t *location, | |||
500 | *location = insnlo; | 506 | *location = insnlo; |
501 | 507 | ||
502 | return 0; | 508 | return 0; |
503 | |||
504 | out_danger: | ||
505 | printk(KERN_ERR "module %s: dangerous " "relocation\n", me->name); | ||
506 | |||
507 | return -ENOEXEC; | ||
508 | } | 509 | } |
509 | 510 | ||
510 | static int (*reloc_handlers[]) (struct module *me, uint32_t *location, | 511 | static int (*reloc_handlers[]) (struct module *me, uint32_t *location, |
@@ -518,6 +519,15 @@ static int (*reloc_handlers[]) (struct module *me, uint32_t *location, | |||
518 | [R_MIPS_PC16] = apply_r_mips_pc16 | 519 | [R_MIPS_PC16] = apply_r_mips_pc16 |
519 | }; | 520 | }; |
520 | 521 | ||
522 | static char *rstrs[] = { | ||
523 | [R_MIPS_NONE] = "MIPS_NONE", | ||
524 | [R_MIPS_32] = "MIPS_32", | ||
525 | [R_MIPS_26] = "MIPS_26", | ||
526 | [R_MIPS_HI16] = "MIPS_HI16", | ||
527 | [R_MIPS_LO16] = "MIPS_LO16", | ||
528 | [R_MIPS_GPREL16] = "MIPS_GPREL16", | ||
529 | [R_MIPS_PC16] = "MIPS_PC16" | ||
530 | }; | ||
521 | 531 | ||
522 | int apply_relocations(Elf32_Shdr *sechdrs, | 532 | int apply_relocations(Elf32_Shdr *sechdrs, |
523 | const char *strtab, | 533 | const char *strtab, |
@@ -552,15 +562,13 @@ int apply_relocations(Elf32_Shdr *sechdrs, | |||
552 | 562 | ||
553 | res = reloc_handlers[ELF32_R_TYPE(r_info)](me, location, v); | 563 | res = reloc_handlers[ELF32_R_TYPE(r_info)](me, location, v); |
554 | if( res ) { | 564 | if( res ) { |
555 | printk(KERN_DEBUG | 565 | char *r = rstrs[ELF32_R_TYPE(r_info)]; |
556 | "relocation error 0x%x sym refer <%s> value 0x%x " | 566 | printk(KERN_WARNING "VPE loader: .text+0x%x " |
557 | "type 0x%x r_info 0x%x\n", | 567 | "relocation type %s for symbol \"%s\" failed\n", |
558 | (unsigned int)location, strtab + sym->st_name, v, | 568 | rel[i].r_offset, r ? r : "UNKNOWN", |
559 | r_info, ELF32_R_TYPE(r_info)); | 569 | strtab + sym->st_name); |
560 | } | ||
561 | |||
562 | if (res) | ||
563 | return res; | 570 | return res; |
571 | } | ||
564 | } | 572 | } |
565 | 573 | ||
566 | return 0; | 574 | return 0; |
@@ -576,7 +584,7 @@ void save_gp_address(unsigned int secbase, unsigned int rel) | |||
576 | 584 | ||
577 | 585 | ||
578 | /* Change all symbols so that sh_value encodes the pointer directly. */ | 586 | /* Change all symbols so that sh_value encodes the pointer directly. */ |
579 | static int simplify_symbols(Elf_Shdr * sechdrs, | 587 | static void simplify_symbols(Elf_Shdr * sechdrs, |
580 | unsigned int symindex, | 588 | unsigned int symindex, |
581 | const char *strtab, | 589 | const char *strtab, |
582 | const char *secstrings, | 590 | const char *secstrings, |
@@ -585,18 +593,21 @@ static int simplify_symbols(Elf_Shdr * sechdrs, | |||
585 | Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr; | 593 | Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr; |
586 | unsigned long secbase, bssbase = 0; | 594 | unsigned long secbase, bssbase = 0; |
587 | unsigned int i, n = sechdrs[symindex].sh_size / sizeof(Elf_Sym); | 595 | unsigned int i, n = sechdrs[symindex].sh_size / sizeof(Elf_Sym); |
588 | int ret = 0, size; | 596 | int size; |
589 | 597 | ||
590 | /* find the .bss section for COMMON symbols */ | 598 | /* find the .bss section for COMMON symbols */ |
591 | for (i = 0; i < nsecs; i++) { | 599 | for (i = 0; i < nsecs; i++) { |
592 | if (strncmp(secstrings + sechdrs[i].sh_name, ".bss", 4) == 0) | 600 | if (strncmp(secstrings + sechdrs[i].sh_name, ".bss", 4) == 0) { |
593 | bssbase = sechdrs[i].sh_addr; | 601 | bssbase = sechdrs[i].sh_addr; |
602 | break; | ||
603 | } | ||
594 | } | 604 | } |
595 | 605 | ||
596 | for (i = 1; i < n; i++) { | 606 | for (i = 1; i < n; i++) { |
597 | switch (sym[i].st_shndx) { | 607 | switch (sym[i].st_shndx) { |
598 | case SHN_COMMON: | 608 | case SHN_COMMON: |
599 | /* Allocate space for the symbol in the .bss section. st_value is currently size. | 609 | /* Allocate space for the symbol in the .bss section. |
610 | st_value is currently size. | ||
600 | We want it to have the address of the symbol. */ | 611 | We want it to have the address of the symbol. */ |
601 | 612 | ||
602 | size = sym[i].st_value; | 613 | size = sym[i].st_value; |
@@ -614,11 +625,9 @@ static int simplify_symbols(Elf_Shdr * sechdrs, | |||
614 | break; | 625 | break; |
615 | 626 | ||
616 | case SHN_MIPS_SCOMMON: | 627 | case SHN_MIPS_SCOMMON: |
617 | 628 | printk(KERN_DEBUG "simplify_symbols: ignoring SHN_MIPS_SCOMMON" | |
618 | printk(KERN_DEBUG | 629 | "symbol <%s> st_shndx %d\n", strtab + sym[i].st_name, |
619 | "simplify_symbols: ignoring SHN_MIPS_SCOMMON symbol <%s> st_shndx %d\n", | 630 | sym[i].st_shndx); |
620 | strtab + sym[i].st_name, sym[i].st_shndx); | ||
621 | |||
622 | // .sbss section | 631 | // .sbss section |
623 | break; | 632 | break; |
624 | 633 | ||
@@ -632,10 +641,7 @@ static int simplify_symbols(Elf_Shdr * sechdrs, | |||
632 | sym[i].st_value += secbase; | 641 | sym[i].st_value += secbase; |
633 | break; | 642 | break; |
634 | } | 643 | } |
635 | |||
636 | } | 644 | } |
637 | |||
638 | return ret; | ||
639 | } | 645 | } |
640 | 646 | ||
641 | #ifdef DEBUG_ELFLOADER | 647 | #ifdef DEBUG_ELFLOADER |
@@ -655,9 +661,26 @@ static void dump_elfsymbols(Elf_Shdr * sechdrs, unsigned int symindex, | |||
655 | 661 | ||
656 | static void dump_tc(struct tc *t) | 662 | static void dump_tc(struct tc *t) |
657 | { | 663 | { |
658 | printk(KERN_WARNING "VPE: TC index %d TCStatus 0x%lx halt 0x%lx\n", | 664 | unsigned long val; |
659 | t->index, read_tc_c0_tcstatus(), read_tc_c0_tchalt()); | 665 | |
660 | printk(KERN_WARNING "VPE: tcrestart 0x%lx\n", read_tc_c0_tcrestart()); | 666 | settc(t->index); |
667 | printk(KERN_DEBUG "VPE loader: TC index %d targtc %ld " | ||
668 | "TCStatus 0x%lx halt 0x%lx\n", | ||
669 | t->index, read_c0_vpecontrol() & VPECONTROL_TARGTC, | ||
670 | read_tc_c0_tcstatus(), read_tc_c0_tchalt()); | ||
671 | |||
672 | printk(KERN_DEBUG " tcrestart 0x%lx\n", read_tc_c0_tcrestart()); | ||
673 | printk(KERN_DEBUG " tcbind 0x%lx\n", read_tc_c0_tcbind()); | ||
674 | |||
675 | val = read_c0_vpeconf0(); | ||
676 | printk(KERN_DEBUG " VPEConf0 0x%lx MVP %ld\n", val, | ||
677 | (val & VPECONF0_MVP) >> VPECONF0_MVP_SHIFT); | ||
678 | |||
679 | printk(KERN_DEBUG " c0 status 0x%lx\n", read_vpe_c0_status()); | ||
680 | printk(KERN_DEBUG " c0 cause 0x%lx\n", read_vpe_c0_cause()); | ||
681 | |||
682 | printk(KERN_DEBUG " c0 badvaddr 0x%lx\n", read_vpe_c0_badvaddr()); | ||
683 | printk(KERN_DEBUG " c0 epc 0x%lx\n", read_vpe_c0_epc()); | ||
661 | } | 684 | } |
662 | 685 | ||
663 | static void dump_tclist(void) | 686 | static void dump_tclist(void) |
@@ -672,96 +695,108 @@ static void dump_tclist(void) | |||
672 | /* We are prepared so configure and start the VPE... */ | 695 | /* We are prepared so configure and start the VPE... */ |
673 | int vpe_run(struct vpe * v) | 696 | int vpe_run(struct vpe * v) |
674 | { | 697 | { |
675 | unsigned long val; | 698 | struct vpe_notifications *n; |
699 | unsigned long val, dmt_flag; | ||
676 | struct tc *t; | 700 | struct tc *t; |
677 | 701 | ||
678 | /* check we are the Master VPE */ | 702 | /* check we are the Master VPE */ |
679 | val = read_c0_vpeconf0(); | 703 | val = read_c0_vpeconf0(); |
680 | if (!(val & VPECONF0_MVP)) { | 704 | if (!(val & VPECONF0_MVP)) { |
681 | printk(KERN_WARNING | 705 | printk(KERN_WARNING |
682 | "VPE: only Master VPE's are allowed to configure MT\n"); | 706 | "VPE loader: only Master VPE's are allowed to configure MT\n"); |
683 | return -1; | 707 | return -1; |
684 | } | 708 | } |
685 | 709 | ||
686 | /* disable MT (using dvpe) */ | 710 | /* disable MT (using dvpe) */ |
687 | dvpe(); | 711 | dvpe(); |
688 | 712 | ||
713 | if (!list_empty(&v->tc)) { | ||
714 | if ((t = list_entry(v->tc.next, struct tc, tc)) == NULL) { | ||
715 | printk(KERN_WARNING "VPE loader: TC %d is already in use.\n", | ||
716 | t->index); | ||
717 | return -ENOEXEC; | ||
718 | } | ||
719 | } else { | ||
720 | printk(KERN_WARNING "VPE loader: No TC's associated with VPE %d\n", | ||
721 | v->minor); | ||
722 | return -ENOEXEC; | ||
723 | } | ||
724 | |||
689 | /* Put MVPE's into 'configuration state' */ | 725 | /* Put MVPE's into 'configuration state' */ |
690 | set_c0_mvpcontrol(MVPCONTROL_VPC); | 726 | set_c0_mvpcontrol(MVPCONTROL_VPC); |
691 | 727 | ||
692 | if (!list_empty(&v->tc)) { | ||
693 | if ((t = list_entry(v->tc.next, struct tc, tc)) == NULL) { | ||
694 | printk(KERN_WARNING "VPE: TC %d is already in use.\n", | ||
695 | t->index); | ||
696 | return -ENOEXEC; | ||
697 | } | ||
698 | } else { | ||
699 | printk(KERN_WARNING "VPE: No TC's associated with VPE %d\n", | ||
700 | v->minor); | ||
701 | return -ENOEXEC; | ||
702 | } | ||
703 | |||
704 | settc(t->index); | 728 | settc(t->index); |
705 | 729 | ||
706 | val = read_vpe_c0_vpeconf0(); | ||
707 | |||
708 | /* should check it is halted, and not activated */ | 730 | /* should check it is halted, and not activated */ |
709 | if ((read_tc_c0_tcstatus() & TCSTATUS_A) || !(read_tc_c0_tchalt() & TCHALT_H)) { | 731 | if ((read_tc_c0_tcstatus() & TCSTATUS_A) || !(read_tc_c0_tchalt() & TCHALT_H)) { |
710 | printk(KERN_WARNING "VPE: TC %d is already doing something!\n", | 732 | printk(KERN_WARNING "VPE loader: TC %d is already doing something!\n", |
711 | t->index); | 733 | t->index); |
712 | |||
713 | dump_tclist(); | 734 | dump_tclist(); |
714 | return -ENOEXEC; | 735 | return -ENOEXEC; |
715 | } | 736 | } |
716 | 737 | ||
738 | /* | ||
739 | * Disable multi-threaded execution whilst we activate, clear the | ||
740 | * halt bit and bound the tc to the other VPE... | ||
741 | */ | ||
742 | dmt_flag = dmt(); | ||
743 | |||
717 | /* Write the address we want it to start running from in the TCPC register. */ | 744 | /* Write the address we want it to start running from in the TCPC register. */ |
718 | write_tc_c0_tcrestart((unsigned long)v->__start); | 745 | write_tc_c0_tcrestart((unsigned long)v->__start); |
719 | |||
720 | /* write the sivc_info address to tccontext */ | ||
721 | write_tc_c0_tccontext((unsigned long)0); | 746 | write_tc_c0_tccontext((unsigned long)0); |
722 | 747 | /* | |
723 | /* Set up the XTC bit in vpeconf0 to point at our tc */ | 748 | * Mark the TC as activated, not interrupt exempt and not dynamically |
724 | write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | (t->index << VPECONF0_XTC_SHIFT)); | 749 | * allocatable |
725 | 750 | */ | |
726 | /* mark the TC as activated, not interrupt exempt and not dynamically allocatable */ | ||
727 | val = read_tc_c0_tcstatus(); | 751 | val = read_tc_c0_tcstatus(); |
728 | val = (val & ~(TCSTATUS_DA | TCSTATUS_IXMT)) | TCSTATUS_A; | 752 | val = (val & ~(TCSTATUS_DA | TCSTATUS_IXMT)) | TCSTATUS_A; |
729 | write_tc_c0_tcstatus(val); | 753 | write_tc_c0_tcstatus(val); |
730 | 754 | ||
731 | write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H); | 755 | write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H); |
732 | 756 | ||
733 | /* set up VPE1 */ | ||
734 | write_vpe_c0_vpecontrol(read_vpe_c0_vpecontrol() & ~VPECONTROL_TE); // no multiple TC's | ||
735 | write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA); // enable this VPE | ||
736 | |||
737 | /* | 757 | /* |
738 | * The sde-kit passes 'memsize' to __start in $a3, so set something | 758 | * The sde-kit passes 'memsize' to __start in $a3, so set something |
739 | * here... | 759 | * here... Or set $a3 to zero and define DFLT_STACK_SIZE and |
740 | * Or set $a3 (register 7) to zero and define DFLT_STACK_SIZE and | ||
741 | * DFLT_HEAP_SIZE when you compile your program | 760 | * DFLT_HEAP_SIZE when you compile your program |
742 | */ | 761 | */ |
762 | mttgpr(7, physical_memsize); | ||
763 | |||
764 | |||
765 | /* set up VPE1 */ | ||
766 | /* | ||
767 | * bind the TC to VPE 1 as late as possible so we only have the final | ||
768 | * VPE registers to set up, and so an EJTAG probe can trigger on it | ||
769 | */ | ||
770 | write_tc_c0_tcbind((read_tc_c0_tcbind() & ~TCBIND_CURVPE) | v->minor); | ||
743 | 771 | ||
744 | mttgpr(7, 0); | 772 | /* Set up the XTC bit in vpeconf0 to point at our tc */ |
773 | write_vpe_c0_vpeconf0( (read_vpe_c0_vpeconf0() & ~(VPECONF0_XTC)) | ||
774 | | (t->index << VPECONF0_XTC_SHIFT)); | ||
745 | 775 | ||
746 | /* set config to be the same as vpe0, particularly kseg0 coherency alg */ | 776 | /* enable this VPE */ |
747 | write_vpe_c0_config(read_c0_config()); | 777 | write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA); |
748 | 778 | ||
749 | /* clear out any left overs from a previous program */ | 779 | /* clear out any left overs from a previous program */ |
780 | write_vpe_c0_status(0); | ||
750 | write_vpe_c0_cause(0); | 781 | write_vpe_c0_cause(0); |
751 | 782 | ||
752 | /* take system out of configuration state */ | 783 | /* take system out of configuration state */ |
753 | clear_c0_mvpcontrol(MVPCONTROL_VPC); | 784 | clear_c0_mvpcontrol(MVPCONTROL_VPC); |
754 | 785 | ||
755 | /* clear interrupts enabled IE, ERL, EXL, and KSU from c0 status */ | 786 | /* now safe to re-enable multi-threading */ |
756 | write_vpe_c0_status(read_vpe_c0_status() & ~(ST0_ERL | ST0_KSU | ST0_IE | ST0_EXL)); | 787 | emt(dmt_flag); |
757 | 788 | ||
758 | /* set it running */ | 789 | /* set it running */ |
759 | evpe(EVPE_ENABLE); | 790 | evpe(EVPE_ENABLE); |
760 | 791 | ||
792 | list_for_each_entry(n, &v->notify, list) { | ||
793 | n->start(v->minor); | ||
794 | } | ||
795 | |||
761 | return 0; | 796 | return 0; |
762 | } | 797 | } |
763 | 798 | ||
764 | static unsigned long find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs, | 799 | static int find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs, |
765 | unsigned int symindex, const char *strtab, | 800 | unsigned int symindex, const char *strtab, |
766 | struct module *mod) | 801 | struct module *mod) |
767 | { | 802 | { |
@@ -778,26 +813,28 @@ static unsigned long find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs, | |||
778 | } | 813 | } |
779 | } | 814 | } |
780 | 815 | ||
816 | if ( (v->__start == 0) || (v->shared_ptr == NULL)) | ||
817 | return -1; | ||
818 | |||
781 | return 0; | 819 | return 0; |
782 | } | 820 | } |
783 | 821 | ||
784 | /* | 822 | /* |
785 | * Allocates a VPE with some program code space(the load address), copies | 823 | * Allocates a VPE with some program code space(the load address), copies the |
786 | * the contents of the program (p)buffer performing relocatations/etc, | 824 | * contents of the program (p)buffer performing relocatations/etc, free's it |
787 | * free's it when finished. | 825 | * when finished. |
788 | */ | 826 | */ |
789 | int vpe_elfload(struct vpe * v) | 827 | int vpe_elfload(struct vpe * v) |
790 | { | 828 | { |
791 | Elf_Ehdr *hdr; | 829 | Elf_Ehdr *hdr; |
792 | Elf_Shdr *sechdrs; | 830 | Elf_Shdr *sechdrs; |
793 | long err = 0; | 831 | long err = 0; |
794 | char *secstrings, *strtab = NULL; | 832 | char *secstrings, *strtab = NULL; |
795 | unsigned int len, i, symindex = 0, strindex = 0; | 833 | unsigned int len, i, symindex = 0, strindex = 0, relocate = 0; |
796 | |||
797 | struct module mod; // so we can re-use the relocations code | 834 | struct module mod; // so we can re-use the relocations code |
798 | 835 | ||
799 | memset(&mod, 0, sizeof(struct module)); | 836 | memset(&mod, 0, sizeof(struct module)); |
800 | strcpy(mod.name, "VPE dummy prog module"); | 837 | strcpy(mod.name, "VPE loader"); |
801 | 838 | ||
802 | hdr = (Elf_Ehdr *) v->pbuffer; | 839 | hdr = (Elf_Ehdr *) v->pbuffer; |
803 | len = v->plen; | 840 | len = v->plen; |
@@ -805,16 +842,22 @@ int vpe_elfload(struct vpe * v) | |||
805 | /* Sanity checks against insmoding binaries or wrong arch, | 842 | /* Sanity checks against insmoding binaries or wrong arch, |
806 | weird elf version */ | 843 | weird elf version */ |
807 | if (memcmp(hdr->e_ident, ELFMAG, 4) != 0 | 844 | if (memcmp(hdr->e_ident, ELFMAG, 4) != 0 |
808 | || hdr->e_type != ET_REL || !elf_check_arch(hdr) | 845 | || (hdr->e_type != ET_REL && hdr->e_type != ET_EXEC) |
846 | || !elf_check_arch(hdr) | ||
809 | || hdr->e_shentsize != sizeof(*sechdrs)) { | 847 | || hdr->e_shentsize != sizeof(*sechdrs)) { |
810 | printk(KERN_WARNING | 848 | printk(KERN_WARNING |
811 | "VPE program, wrong arch or weird elf version\n"); | 849 | "VPE loader: program wrong arch or weird elf version\n"); |
812 | 850 | ||
813 | return -ENOEXEC; | 851 | return -ENOEXEC; |
814 | } | 852 | } |
815 | 853 | ||
854 | if (hdr->e_type == ET_REL) | ||
855 | relocate = 1; | ||
856 | |||
816 | if (len < hdr->e_shoff + hdr->e_shnum * sizeof(Elf_Shdr)) { | 857 | if (len < hdr->e_shoff + hdr->e_shnum * sizeof(Elf_Shdr)) { |
817 | printk(KERN_ERR "VPE program length %u truncated\n", len); | 858 | printk(KERN_ERR "VPE loader: program length %u truncated\n", |
859 | len); | ||
860 | |||
818 | return -ENOEXEC; | 861 | return -ENOEXEC; |
819 | } | 862 | } |
820 | 863 | ||
@@ -826,82 +869,126 @@ int vpe_elfload(struct vpe * v) | |||
826 | /* And these should exist, but gcc whinges if we don't init them */ | 869 | /* And these should exist, but gcc whinges if we don't init them */ |
827 | symindex = strindex = 0; | 870 | symindex = strindex = 0; |
828 | 871 | ||
829 | for (i = 1; i < hdr->e_shnum; i++) { | 872 | if (relocate) { |
830 | 873 | for (i = 1; i < hdr->e_shnum; i++) { | |
831 | if (sechdrs[i].sh_type != SHT_NOBITS | 874 | if (sechdrs[i].sh_type != SHT_NOBITS |
832 | && len < sechdrs[i].sh_offset + sechdrs[i].sh_size) { | 875 | && len < sechdrs[i].sh_offset + sechdrs[i].sh_size) { |
833 | printk(KERN_ERR "VPE program length %u truncated\n", | 876 | printk(KERN_ERR "VPE program length %u truncated\n", |
834 | len); | 877 | len); |
835 | return -ENOEXEC; | 878 | return -ENOEXEC; |
836 | } | 879 | } |
837 | 880 | ||
838 | /* Mark all sections sh_addr with their address in the | 881 | /* Mark all sections sh_addr with their address in the |
839 | temporary image. */ | 882 | temporary image. */ |
840 | sechdrs[i].sh_addr = (size_t) hdr + sechdrs[i].sh_offset; | 883 | sechdrs[i].sh_addr = (size_t) hdr + sechdrs[i].sh_offset; |
841 | 884 | ||
842 | /* Internal symbols and strings. */ | 885 | /* Internal symbols and strings. */ |
843 | if (sechdrs[i].sh_type == SHT_SYMTAB) { | 886 | if (sechdrs[i].sh_type == SHT_SYMTAB) { |
844 | symindex = i; | 887 | symindex = i; |
845 | strindex = sechdrs[i].sh_link; | 888 | strindex = sechdrs[i].sh_link; |
846 | strtab = (char *)hdr + sechdrs[strindex].sh_offset; | 889 | strtab = (char *)hdr + sechdrs[strindex].sh_offset; |
890 | } | ||
847 | } | 891 | } |
892 | layout_sections(&mod, hdr, sechdrs, secstrings); | ||
848 | } | 893 | } |
849 | 894 | ||
850 | layout_sections(&mod, hdr, sechdrs, secstrings); | ||
851 | |||
852 | v->load_addr = alloc_progmem(mod.core_size); | 895 | v->load_addr = alloc_progmem(mod.core_size); |
853 | memset(v->load_addr, 0, mod.core_size); | 896 | memset(v->load_addr, 0, mod.core_size); |
854 | 897 | ||
855 | printk("VPE elf_loader: loading to %p\n", v->load_addr); | 898 | printk("VPE loader: loading to %p\n", v->load_addr); |
856 | 899 | ||
857 | for (i = 0; i < hdr->e_shnum; i++) { | 900 | if (relocate) { |
858 | void *dest; | 901 | for (i = 0; i < hdr->e_shnum; i++) { |
902 | void *dest; | ||
859 | 903 | ||
860 | if (!(sechdrs[i].sh_flags & SHF_ALLOC)) | 904 | if (!(sechdrs[i].sh_flags & SHF_ALLOC)) |
861 | continue; | 905 | continue; |
862 | 906 | ||
863 | dest = v->load_addr + sechdrs[i].sh_entsize; | 907 | dest = v->load_addr + sechdrs[i].sh_entsize; |
864 | 908 | ||
865 | if (sechdrs[i].sh_type != SHT_NOBITS) | 909 | if (sechdrs[i].sh_type != SHT_NOBITS) |
866 | memcpy(dest, (void *)sechdrs[i].sh_addr, | 910 | memcpy(dest, (void *)sechdrs[i].sh_addr, |
867 | sechdrs[i].sh_size); | 911 | sechdrs[i].sh_size); |
868 | /* Update sh_addr to point to copy in image. */ | 912 | /* Update sh_addr to point to copy in image. */ |
869 | sechdrs[i].sh_addr = (unsigned long)dest; | 913 | sechdrs[i].sh_addr = (unsigned long)dest; |
870 | } | ||
871 | 914 | ||
872 | /* Fix up syms, so that st_value is a pointer to location. */ | 915 | printk(KERN_DEBUG " section sh_name %s sh_addr 0x%x\n", |
873 | err = | 916 | secstrings + sechdrs[i].sh_name, sechdrs[i].sh_addr); |
874 | simplify_symbols(sechdrs, symindex, strtab, secstrings, | 917 | } |
875 | hdr->e_shnum, &mod); | ||
876 | if (err < 0) { | ||
877 | printk(KERN_WARNING "VPE: unable to simplify symbols\n"); | ||
878 | goto cleanup; | ||
879 | } | ||
880 | 918 | ||
881 | /* Now do relocations. */ | 919 | /* Fix up syms, so that st_value is a pointer to location. */ |
882 | for (i = 1; i < hdr->e_shnum; i++) { | 920 | simplify_symbols(sechdrs, symindex, strtab, secstrings, |
883 | const char *strtab = (char *)sechdrs[strindex].sh_addr; | 921 | hdr->e_shnum, &mod); |
884 | unsigned int info = sechdrs[i].sh_info; | 922 | |
885 | 923 | /* Now do relocations. */ | |
886 | /* Not a valid relocation section? */ | 924 | for (i = 1; i < hdr->e_shnum; i++) { |
887 | if (info >= hdr->e_shnum) | 925 | const char *strtab = (char *)sechdrs[strindex].sh_addr; |
888 | continue; | 926 | unsigned int info = sechdrs[i].sh_info; |
889 | 927 | ||
890 | /* Don't bother with non-allocated sections */ | 928 | /* Not a valid relocation section? */ |
891 | if (!(sechdrs[info].sh_flags & SHF_ALLOC)) | 929 | if (info >= hdr->e_shnum) |
892 | continue; | 930 | continue; |
893 | 931 | ||
894 | if (sechdrs[i].sh_type == SHT_REL) | 932 | /* Don't bother with non-allocated sections */ |
895 | err = | 933 | if (!(sechdrs[info].sh_flags & SHF_ALLOC)) |
896 | apply_relocations(sechdrs, strtab, symindex, i, &mod); | 934 | continue; |
897 | else if (sechdrs[i].sh_type == SHT_RELA) | 935 | |
898 | err = apply_relocate_add(sechdrs, strtab, symindex, i, | 936 | if (sechdrs[i].sh_type == SHT_REL) |
899 | &mod); | 937 | err = apply_relocations(sechdrs, strtab, symindex, i, |
900 | if (err < 0) { | 938 | &mod); |
901 | printk(KERN_WARNING | 939 | else if (sechdrs[i].sh_type == SHT_RELA) |
902 | "vpe_elfload: error in relocations err %ld\n", | 940 | err = apply_relocate_add(sechdrs, strtab, symindex, i, |
903 | err); | 941 | &mod); |
904 | goto cleanup; | 942 | if (err < 0) |
943 | return err; | ||
944 | |||
945 | } | ||
946 | } else { | ||
947 | for (i = 0; i < hdr->e_shnum; i++) { | ||
948 | |||
949 | /* Internal symbols and strings. */ | ||
950 | if (sechdrs[i].sh_type == SHT_SYMTAB) { | ||
951 | symindex = i; | ||
952 | strindex = sechdrs[i].sh_link; | ||
953 | strtab = (char *)hdr + sechdrs[strindex].sh_offset; | ||
954 | |||
955 | /* mark the symtab's address for when we try to find the | ||
956 | magic symbols */ | ||
957 | sechdrs[i].sh_addr = (size_t) hdr + sechdrs[i].sh_offset; | ||
958 | } | ||
959 | |||
960 | /* filter sections we dont want in the final image */ | ||
961 | if (!(sechdrs[i].sh_flags & SHF_ALLOC) || | ||
962 | (sechdrs[i].sh_type == SHT_MIPS_REGINFO)) { | ||
963 | printk( KERN_DEBUG " ignoring section, " | ||
964 | "name %s type %x address 0x%x \n", | ||
965 | secstrings + sechdrs[i].sh_name, | ||
966 | sechdrs[i].sh_type, sechdrs[i].sh_addr); | ||
967 | continue; | ||
968 | } | ||
969 | |||
970 | if (sechdrs[i].sh_addr < (unsigned int)v->load_addr) { | ||
971 | printk( KERN_WARNING "VPE loader: " | ||
972 | "fully linked image has invalid section, " | ||
973 | "name %s type %x address 0x%x, before load " | ||
974 | "address of 0x%x\n", | ||
975 | secstrings + sechdrs[i].sh_name, | ||
976 | sechdrs[i].sh_type, sechdrs[i].sh_addr, | ||
977 | (unsigned int)v->load_addr); | ||
978 | return -ENOEXEC; | ||
979 | } | ||
980 | |||
981 | printk(KERN_DEBUG " copying section sh_name %s, sh_addr 0x%x " | ||
982 | "size 0x%x0 from x%p\n", | ||
983 | secstrings + sechdrs[i].sh_name, sechdrs[i].sh_addr, | ||
984 | sechdrs[i].sh_size, hdr + sechdrs[i].sh_offset); | ||
985 | |||
986 | if (sechdrs[i].sh_type != SHT_NOBITS) | ||
987 | memcpy((void *)sechdrs[i].sh_addr, | ||
988 | (char *)hdr + sechdrs[i].sh_offset, | ||
989 | sechdrs[i].sh_size); | ||
990 | else | ||
991 | memset((void *)sechdrs[i].sh_addr, 0, sechdrs[i].sh_size); | ||
905 | } | 992 | } |
906 | } | 993 | } |
907 | 994 | ||
@@ -910,71 +997,104 @@ int vpe_elfload(struct vpe * v) | |||
910 | (unsigned long)v->load_addr + v->len); | 997 | (unsigned long)v->load_addr + v->len); |
911 | 998 | ||
912 | if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) { | 999 | if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) { |
1000 | if (v->__start == 0) { | ||
1001 | printk(KERN_WARNING "VPE loader: program does not contain " | ||
1002 | "a __start symbol\n"); | ||
1003 | return -ENOEXEC; | ||
1004 | } | ||
913 | 1005 | ||
914 | printk(KERN_WARNING | 1006 | if (v->shared_ptr == NULL) |
915 | "VPE: program doesn't contain __start or vpe_shared symbols\n"); | 1007 | printk(KERN_WARNING "VPE loader: " |
916 | err = -ENOEXEC; | 1008 | "program does not contain vpe_shared symbol.\n" |
1009 | " Unable to use AMVP (AP/SP) facilities.\n"); | ||
917 | } | 1010 | } |
918 | 1011 | ||
919 | printk(" elf loaded\n"); | 1012 | printk(" elf loaded\n"); |
920 | 1013 | return 0; | |
921 | cleanup: | ||
922 | return err; | ||
923 | } | 1014 | } |
924 | 1015 | ||
925 | static void dump_vpe(struct vpe * v) | 1016 | __attribute_used__ void dump_vpe(struct vpe * v) |
926 | { | 1017 | { |
927 | struct tc *t; | 1018 | struct tc *t; |
928 | 1019 | ||
1020 | settc(v->minor); | ||
1021 | |||
929 | printk(KERN_DEBUG "VPEControl 0x%lx\n", read_vpe_c0_vpecontrol()); | 1022 | printk(KERN_DEBUG "VPEControl 0x%lx\n", read_vpe_c0_vpecontrol()); |
930 | printk(KERN_DEBUG "VPEConf0 0x%lx\n", read_vpe_c0_vpeconf0()); | 1023 | printk(KERN_DEBUG "VPEConf0 0x%lx\n", read_vpe_c0_vpeconf0()); |
931 | 1024 | ||
932 | list_for_each_entry(t, &vpecontrol.tc_list, list) { | 1025 | list_for_each_entry(t, &vpecontrol.tc_list, list) |
933 | dump_tc(t); | 1026 | dump_tc(t); |
934 | } | ||
935 | } | 1027 | } |
936 | 1028 | ||
937 | /* checks for VPE is unused and gets ready to load program */ | 1029 | static void cleanup_tc(struct tc *tc) |
1030 | { | ||
1031 | int tmp; | ||
1032 | |||
1033 | /* Put MVPE's into 'configuration state' */ | ||
1034 | set_c0_mvpcontrol(MVPCONTROL_VPC); | ||
1035 | |||
1036 | settc(tc->index); | ||
1037 | tmp = read_tc_c0_tcstatus(); | ||
1038 | |||
1039 | /* mark not allocated and not dynamically allocatable */ | ||
1040 | tmp &= ~(TCSTATUS_A | TCSTATUS_DA); | ||
1041 | tmp |= TCSTATUS_IXMT; /* interrupt exempt */ | ||
1042 | write_tc_c0_tcstatus(tmp); | ||
1043 | |||
1044 | write_tc_c0_tchalt(TCHALT_H); | ||
1045 | |||
1046 | /* bind it to anything other than VPE1 */ | ||
1047 | write_tc_c0_tcbind(read_tc_c0_tcbind() & ~TCBIND_CURVPE); // | TCBIND_CURVPE | ||
1048 | |||
1049 | clear_c0_mvpcontrol(MVPCONTROL_VPC); | ||
1050 | } | ||
1051 | |||
1052 | static int getcwd(char *buff, int size) | ||
1053 | { | ||
1054 | mm_segment_t old_fs; | ||
1055 | int ret; | ||
1056 | |||
1057 | old_fs = get_fs(); | ||
1058 | set_fs(KERNEL_DS); | ||
1059 | |||
1060 | ret = sys_getcwd(buff,size); | ||
1061 | |||
1062 | set_fs(old_fs); | ||
1063 | |||
1064 | return ret; | ||
1065 | } | ||
1066 | |||
1067 | /* checks VPE is unused and gets ready to load program */ | ||
938 | static int vpe_open(struct inode *inode, struct file *filp) | 1068 | static int vpe_open(struct inode *inode, struct file *filp) |
939 | { | 1069 | { |
940 | int minor; | 1070 | int minor, ret; |
941 | struct vpe *v; | 1071 | struct vpe *v; |
1072 | struct vpe_notifications *not; | ||
942 | 1073 | ||
943 | /* assume only 1 device at the mo. */ | 1074 | /* assume only 1 device at the mo. */ |
944 | if ((minor = MINOR(inode->i_rdev)) != 1) { | 1075 | if ((minor = iminor(inode)) != 1) { |
945 | printk(KERN_WARNING "VPE: only vpe1 is supported\n"); | 1076 | printk(KERN_WARNING "VPE loader: only vpe1 is supported\n"); |
946 | return -ENODEV; | 1077 | return -ENODEV; |
947 | } | 1078 | } |
948 | 1079 | ||
949 | if ((v = get_vpe(minor)) == NULL) { | 1080 | if ((v = get_vpe(minor)) == NULL) { |
950 | printk(KERN_WARNING "VPE: unable to get vpe\n"); | 1081 | printk(KERN_WARNING "VPE loader: unable to get vpe\n"); |
951 | return -ENODEV; | 1082 | return -ENODEV; |
952 | } | 1083 | } |
953 | 1084 | ||
954 | if (v->state != VPE_STATE_UNUSED) { | 1085 | if (v->state != VPE_STATE_UNUSED) { |
955 | unsigned long tmp; | ||
956 | struct tc *t; | ||
957 | |||
958 | printk(KERN_WARNING "VPE: device %d already in use\n", minor); | ||
959 | |||
960 | dvpe(); | 1086 | dvpe(); |
961 | dump_vpe(v); | ||
962 | |||
963 | printk(KERN_WARNING "VPE: re-initialising %d\n", minor); | ||
964 | |||
965 | release_progmem(v->load_addr); | ||
966 | 1087 | ||
967 | t = get_tc(minor); | 1088 | printk(KERN_DEBUG "VPE loader: tc in use dumping regs\n"); |
968 | settc(minor); | ||
969 | tmp = read_tc_c0_tcstatus(); | ||
970 | 1089 | ||
971 | /* mark not allocated and not dynamically allocatable */ | 1090 | dump_tc(get_tc(minor)); |
972 | tmp &= ~(TCSTATUS_A | TCSTATUS_DA); | ||
973 | tmp |= TCSTATUS_IXMT; /* interrupt exempt */ | ||
974 | write_tc_c0_tcstatus(tmp); | ||
975 | 1091 | ||
976 | write_tc_c0_tchalt(TCHALT_H); | 1092 | list_for_each_entry(not, &v->notify, list) { |
1093 | not->stop(minor); | ||
1094 | } | ||
977 | 1095 | ||
1096 | release_progmem(v->load_addr); | ||
1097 | cleanup_tc(get_tc(minor)); | ||
978 | } | 1098 | } |
979 | 1099 | ||
980 | // allocate it so when we get write ops we know it's expected. | 1100 | // allocate it so when we get write ops we know it's expected. |
@@ -986,6 +1106,24 @@ static int vpe_open(struct inode *inode, struct file *filp) | |||
986 | v->load_addr = NULL; | 1106 | v->load_addr = NULL; |
987 | v->len = 0; | 1107 | v->len = 0; |
988 | 1108 | ||
1109 | v->uid = filp->f_uid; | ||
1110 | v->gid = filp->f_gid; | ||
1111 | |||
1112 | #ifdef CONFIG_MIPS_APSP_KSPD | ||
1113 | /* get kspd to tell us when a syscall_exit happens */ | ||
1114 | if (!kspd_events_reqd) { | ||
1115 | kspd_notify(&kspd_events); | ||
1116 | kspd_events_reqd++; | ||
1117 | } | ||
1118 | #endif | ||
1119 | |||
1120 | v->cwd[0] = 0; | ||
1121 | ret = getcwd(v->cwd, VPE_PATH_MAX); | ||
1122 | if (ret < 0) | ||
1123 | printk(KERN_WARNING "VPE loader: open, getcwd returned %d\n", ret); | ||
1124 | |||
1125 | v->shared_ptr = NULL; | ||
1126 | v->__start = 0; | ||
989 | return 0; | 1127 | return 0; |
990 | } | 1128 | } |
991 | 1129 | ||
@@ -995,7 +1133,7 @@ static int vpe_release(struct inode *inode, struct file *filp) | |||
995 | struct vpe *v; | 1133 | struct vpe *v; |
996 | Elf_Ehdr *hdr; | 1134 | Elf_Ehdr *hdr; |
997 | 1135 | ||
998 | minor = MINOR(inode->i_rdev); | 1136 | minor = iminor(inode); |
999 | if ((v = get_vpe(minor)) == NULL) | 1137 | if ((v = get_vpe(minor)) == NULL) |
1000 | return -ENODEV; | 1138 | return -ENODEV; |
1001 | 1139 | ||
@@ -1006,14 +1144,22 @@ static int vpe_release(struct inode *inode, struct file *filp) | |||
1006 | if (vpe_elfload(v) >= 0) | 1144 | if (vpe_elfload(v) >= 0) |
1007 | vpe_run(v); | 1145 | vpe_run(v); |
1008 | else { | 1146 | else { |
1009 | printk(KERN_WARNING "VPE: ELF load failed.\n"); | 1147 | printk(KERN_WARNING "VPE loader: ELF load failed.\n"); |
1010 | ret = -ENOEXEC; | 1148 | ret = -ENOEXEC; |
1011 | } | 1149 | } |
1012 | } else { | 1150 | } else { |
1013 | printk(KERN_WARNING "VPE: only elf files are supported\n"); | 1151 | printk(KERN_WARNING "VPE loader: only elf files are supported\n"); |
1014 | ret = -ENOEXEC; | 1152 | ret = -ENOEXEC; |
1015 | } | 1153 | } |
1016 | 1154 | ||
1155 | /* It's good to be able to run the SP and if it chokes have a look at | ||
1156 | the /dev/rt?. But if we reset the pointer to the shared struct we | ||
1157 | loose what has happened. So perhaps if garbage is sent to the vpe | ||
1158 | device, use it as a trigger for the reset. Hopefully a nice | ||
1159 | executable will be along shortly. */ | ||
1160 | if (ret < 0) | ||
1161 | v->shared_ptr = NULL; | ||
1162 | |||
1017 | // cleanup any temp buffers | 1163 | // cleanup any temp buffers |
1018 | if (v->pbuffer) | 1164 | if (v->pbuffer) |
1019 | vfree(v->pbuffer); | 1165 | vfree(v->pbuffer); |
@@ -1028,26 +1174,24 @@ static ssize_t vpe_write(struct file *file, const char __user * buffer, | |||
1028 | size_t ret = count; | 1174 | size_t ret = count; |
1029 | struct vpe *v; | 1175 | struct vpe *v; |
1030 | 1176 | ||
1031 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 1177 | minor = iminor(file->f_dentry->d_inode); |
1032 | if ((v = get_vpe(minor)) == NULL) | 1178 | if ((v = get_vpe(minor)) == NULL) |
1033 | return -ENODEV; | 1179 | return -ENODEV; |
1034 | 1180 | ||
1035 | if (v->pbuffer == NULL) { | 1181 | if (v->pbuffer == NULL) { |
1036 | printk(KERN_ERR "vpe_write: no pbuffer\n"); | 1182 | printk(KERN_ERR "VPE loader: no buffer for program\n"); |
1037 | return -ENOMEM; | 1183 | return -ENOMEM; |
1038 | } | 1184 | } |
1039 | 1185 | ||
1040 | if ((count + v->len) > v->plen) { | 1186 | if ((count + v->len) > v->plen) { |
1041 | printk(KERN_WARNING | 1187 | printk(KERN_WARNING |
1042 | "VPE Loader: elf size too big. Perhaps strip uneeded symbols\n"); | 1188 | "VPE loader: elf size too big. Perhaps strip uneeded symbols\n"); |
1043 | return -ENOMEM; | 1189 | return -ENOMEM; |
1044 | } | 1190 | } |
1045 | 1191 | ||
1046 | count -= copy_from_user(v->pbuffer + v->len, buffer, count); | 1192 | count -= copy_from_user(v->pbuffer + v->len, buffer, count); |
1047 | if (!count) { | 1193 | if (!count) |
1048 | printk("vpe_write: copy_to_user failed\n"); | ||
1049 | return -EFAULT; | 1194 | return -EFAULT; |
1050 | } | ||
1051 | 1195 | ||
1052 | v->len += count; | 1196 | v->len += count; |
1053 | return ret; | 1197 | return ret; |
@@ -1149,16 +1293,70 @@ void *vpe_get_shared(int index) | |||
1149 | { | 1293 | { |
1150 | struct vpe *v; | 1294 | struct vpe *v; |
1151 | 1295 | ||
1152 | if ((v = get_vpe(index)) == NULL) { | 1296 | if ((v = get_vpe(index)) == NULL) |
1153 | printk(KERN_WARNING "vpe: invalid vpe index %d\n", index); | ||
1154 | return NULL; | 1297 | return NULL; |
1155 | } | ||
1156 | 1298 | ||
1157 | return v->shared_ptr; | 1299 | return v->shared_ptr; |
1158 | } | 1300 | } |
1159 | 1301 | ||
1160 | EXPORT_SYMBOL(vpe_get_shared); | 1302 | EXPORT_SYMBOL(vpe_get_shared); |
1161 | 1303 | ||
1304 | int vpe_getuid(int index) | ||
1305 | { | ||
1306 | struct vpe *v; | ||
1307 | |||
1308 | if ((v = get_vpe(index)) == NULL) | ||
1309 | return -1; | ||
1310 | |||
1311 | return v->uid; | ||
1312 | } | ||
1313 | |||
1314 | EXPORT_SYMBOL(vpe_getuid); | ||
1315 | |||
1316 | int vpe_getgid(int index) | ||
1317 | { | ||
1318 | struct vpe *v; | ||
1319 | |||
1320 | if ((v = get_vpe(index)) == NULL) | ||
1321 | return -1; | ||
1322 | |||
1323 | return v->gid; | ||
1324 | } | ||
1325 | |||
1326 | EXPORT_SYMBOL(vpe_getgid); | ||
1327 | |||
1328 | int vpe_notify(int index, struct vpe_notifications *notify) | ||
1329 | { | ||
1330 | struct vpe *v; | ||
1331 | |||
1332 | if ((v = get_vpe(index)) == NULL) | ||
1333 | return -1; | ||
1334 | |||
1335 | list_add(¬ify->list, &v->notify); | ||
1336 | return 0; | ||
1337 | } | ||
1338 | |||
1339 | EXPORT_SYMBOL(vpe_notify); | ||
1340 | |||
1341 | char *vpe_getcwd(int index) | ||
1342 | { | ||
1343 | struct vpe *v; | ||
1344 | |||
1345 | if ((v = get_vpe(index)) == NULL) | ||
1346 | return NULL; | ||
1347 | |||
1348 | return v->cwd; | ||
1349 | } | ||
1350 | |||
1351 | EXPORT_SYMBOL(vpe_getcwd); | ||
1352 | |||
1353 | #ifdef CONFIG_MIPS_APSP_KSPD | ||
1354 | static void kspd_sp_exit( int sp_id) | ||
1355 | { | ||
1356 | cleanup_tc(get_tc(sp_id)); | ||
1357 | } | ||
1358 | #endif | ||
1359 | |||
1162 | static int __init vpe_module_init(void) | 1360 | static int __init vpe_module_init(void) |
1163 | { | 1361 | { |
1164 | struct vpe *v = NULL; | 1362 | struct vpe *v = NULL; |
@@ -1201,7 +1399,8 @@ static int __init vpe_module_init(void) | |||
1201 | return -ENODEV; | 1399 | return -ENODEV; |
1202 | } | 1400 | } |
1203 | 1401 | ||
1204 | list_add(&t->tc, &v->tc); /* add the tc to the list of this vpe's tc's. */ | 1402 | /* add the tc to the list of this vpe's tc's. */ |
1403 | list_add(&t->tc, &v->tc); | ||
1205 | 1404 | ||
1206 | /* deactivate all but vpe0 */ | 1405 | /* deactivate all but vpe0 */ |
1207 | if (i != 0) { | 1406 | if (i != 0) { |
@@ -1222,10 +1421,12 @@ static int __init vpe_module_init(void) | |||
1222 | ~(ST0_IM | ST0_IE | ST0_KSU)) | 1421 | ~(ST0_IM | ST0_IE | ST0_KSU)) |
1223 | | ST0_CU0); | 1422 | | ST0_CU0); |
1224 | 1423 | ||
1225 | /* set config to be the same as vpe0, particularly kseg0 coherency alg */ | 1424 | /* |
1425 | * Set config to be the same as vpe0, | ||
1426 | * particularly kseg0 coherency alg | ||
1427 | */ | ||
1226 | write_vpe_c0_config(read_c0_config()); | 1428 | write_vpe_c0_config(read_c0_config()); |
1227 | } | 1429 | } |
1228 | |||
1229 | } | 1430 | } |
1230 | 1431 | ||
1231 | /* TC's */ | 1432 | /* TC's */ |
@@ -1234,23 +1435,28 @@ static int __init vpe_module_init(void) | |||
1234 | if (i != 0) { | 1435 | if (i != 0) { |
1235 | unsigned long tmp; | 1436 | unsigned long tmp; |
1236 | 1437 | ||
1237 | /* tc 0 will of course be running.... */ | ||
1238 | if (i == 0) | ||
1239 | t->state = TC_STATE_RUNNING; | ||
1240 | |||
1241 | settc(i); | 1438 | settc(i); |
1242 | 1439 | ||
1243 | /* bind a TC to each VPE, May as well put all excess TC's | 1440 | /* Any TC that is bound to VPE0 gets left as is - in case |
1244 | on the last VPE */ | 1441 | we are running SMTC on VPE0. A TC that is bound to any |
1245 | if (i >= (((val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1)) | 1442 | other VPE gets bound to VPE0, ideally I'd like to make |
1246 | write_tc_c0_tcbind(read_tc_c0_tcbind() | | 1443 | it homeless but it doesn't appear to let me bind a TC |
1247 | ((val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT)); | 1444 | to a non-existent VPE. Which is perfectly reasonable. |
1248 | else | 1445 | |
1249 | write_tc_c0_tcbind(read_tc_c0_tcbind() | i); | 1446 | The (un)bound state is visible to an EJTAG probe so may |
1447 | notify GDB... | ||
1448 | */ | ||
1449 | |||
1450 | if (((tmp = read_tc_c0_tcbind()) & TCBIND_CURVPE)) { | ||
1451 | /* tc is bound >vpe0 */ | ||
1452 | write_tc_c0_tcbind(tmp & ~TCBIND_CURVPE); | ||
1453 | |||
1454 | t->pvpe = get_vpe(0); /* set the parent vpe */ | ||
1455 | } | ||
1250 | 1456 | ||
1251 | tmp = read_tc_c0_tcstatus(); | 1457 | tmp = read_tc_c0_tcstatus(); |
1252 | 1458 | ||
1253 | /* mark not allocated and not dynamically allocatable */ | 1459 | /* mark not activated and not dynamically allocatable */ |
1254 | tmp &= ~(TCSTATUS_A | TCSTATUS_DA); | 1460 | tmp &= ~(TCSTATUS_A | TCSTATUS_DA); |
1255 | tmp |= TCSTATUS_IXMT; /* interrupt exempt */ | 1461 | tmp |= TCSTATUS_IXMT; /* interrupt exempt */ |
1256 | write_tc_c0_tcstatus(tmp); | 1462 | write_tc_c0_tcstatus(tmp); |
@@ -1262,6 +1468,9 @@ static int __init vpe_module_init(void) | |||
1262 | /* release config state */ | 1468 | /* release config state */ |
1263 | clear_c0_mvpcontrol(MVPCONTROL_VPC); | 1469 | clear_c0_mvpcontrol(MVPCONTROL_VPC); |
1264 | 1470 | ||
1471 | #ifdef CONFIG_MIPS_APSP_KSPD | ||
1472 | kspd_events.kspd_sp_exit = kspd_sp_exit; | ||
1473 | #endif | ||
1265 | return 0; | 1474 | return 0; |
1266 | } | 1475 | } |
1267 | 1476 | ||
@@ -1281,5 +1490,5 @@ static void __exit vpe_module_exit(void) | |||
1281 | module_init(vpe_module_init); | 1490 | module_init(vpe_module_init); |
1282 | module_exit(vpe_module_exit); | 1491 | module_exit(vpe_module_exit); |
1283 | MODULE_DESCRIPTION("MIPS VPE Loader"); | 1492 | MODULE_DESCRIPTION("MIPS VPE Loader"); |
1284 | MODULE_AUTHOR("Elizabeth Clarke, MIPS Technologies, Inc"); | 1493 | MODULE_AUTHOR("Elizabeth Oldham, MIPS Technologies, Inc."); |
1285 | MODULE_LICENSE("GPL"); | 1494 | MODULE_LICENSE("GPL"); |
diff --git a/arch/mips/lasat/Makefile b/arch/mips/lasat/Makefile index 0d5aec436725..99f5046fdf49 100644 --- a/arch/mips/lasat/Makefile +++ b/arch/mips/lasat/Makefile | |||
@@ -3,7 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += reset.o setup.o prom.o lasat_board.o \ | 5 | obj-y += reset.o setup.o prom.o lasat_board.o \ |
6 | at93c.o interrupt.o lasatIRQ.o | 6 | at93c.o interrupt.o |
7 | 7 | ||
8 | obj-$(CONFIG_LASAT_SYSCTL) += sysctl.o | 8 | obj-$(CONFIG_LASAT_SYSCTL) += sysctl.o |
9 | obj-$(CONFIG_DS1603) += ds1603.o | 9 | obj-$(CONFIG_DS1603) += ds1603.o |
diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c index 852a41901a5e..2d3472b21ebb 100644 --- a/arch/mips/lasat/interrupt.c +++ b/arch/mips/lasat/interrupt.c | |||
@@ -27,14 +27,13 @@ | |||
27 | #include <asm/bootinfo.h> | 27 | #include <asm/bootinfo.h> |
28 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
29 | #include <asm/lasat/lasatint.h> | 29 | #include <asm/lasat/lasatint.h> |
30 | #include <asm/time.h> | ||
30 | #include <asm/gdb-stub.h> | 31 | #include <asm/gdb-stub.h> |
31 | 32 | ||
32 | static volatile int *lasat_int_status = NULL; | 33 | static volatile int *lasat_int_status = NULL; |
33 | static volatile int *lasat_int_mask = NULL; | 34 | static volatile int *lasat_int_mask = NULL; |
34 | static volatile int lasat_int_mask_shift; | 35 | static volatile int lasat_int_mask_shift; |
35 | 36 | ||
36 | extern asmlinkage void lasatIRQ(void); | ||
37 | |||
38 | void disable_lasat_irq(unsigned int irq_nr) | 37 | void disable_lasat_irq(unsigned int irq_nr) |
39 | { | 38 | { |
40 | unsigned long flags; | 39 | unsigned long flags; |
@@ -109,11 +108,17 @@ static unsigned long get_int_status_200(void) | |||
109 | return int_status; | 108 | return int_status; |
110 | } | 109 | } |
111 | 110 | ||
112 | void lasat_hw0_irqdispatch(struct pt_regs *regs) | 111 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
113 | { | 112 | { |
114 | unsigned long int_status; | 113 | unsigned long int_status; |
114 | unsigned int cause = read_c0_cause(); | ||
115 | int irq; | 115 | int irq; |
116 | 116 | ||
117 | if (cause & CAUSEF_IP7) { /* R4000 count / compare IRQ */ | ||
118 | ll_timer_interrupt(7, regs); | ||
119 | return; | ||
120 | } | ||
121 | |||
117 | int_status = get_int_status(); | 122 | int_status = get_int_status(); |
118 | 123 | ||
119 | /* if int_status == 0, then the interrupt has already been cleared */ | 124 | /* if int_status == 0, then the interrupt has already been cleared */ |
@@ -147,9 +152,6 @@ void __init arch_init_irq(void) | |||
147 | panic("arch_init_irq: mips_machtype incorrect"); | 152 | panic("arch_init_irq: mips_machtype incorrect"); |
148 | } | 153 | } |
149 | 154 | ||
150 | /* Now safe to set the exception vector. */ | ||
151 | set_except_vector(0, lasatIRQ); | ||
152 | |||
153 | for (i = 0; i <= LASATINT_END; i++) { | 155 | for (i = 0; i <= LASATINT_END; i++) { |
154 | irq_desc[i].status = IRQ_DISABLED; | 156 | irq_desc[i].status = IRQ_DISABLED; |
155 | irq_desc[i].action = 0; | 157 | irq_desc[i].action = 0; |
diff --git a/arch/mips/lasat/lasatIRQ.S b/arch/mips/lasat/lasatIRQ.S deleted file mode 100644 index 2a2b0d056561..000000000000 --- a/arch/mips/lasat/lasatIRQ.S +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | /* | ||
2 | * Carsten Langgaard, carstenl@mips.com | ||
3 | * Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can distribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License (Version 2) as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
12 | * for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
17 | * | ||
18 | * Interrupt exception dispatch code. | ||
19 | */ | ||
20 | #include <asm/asm.h> | ||
21 | #include <asm/mipsregs.h> | ||
22 | #include <asm/regdef.h> | ||
23 | #include <asm/stackframe.h> | ||
24 | |||
25 | .text | ||
26 | .set noreorder | ||
27 | .align 5 | ||
28 | NESTED(lasatIRQ, PT_SIZE, sp) | ||
29 | .set noat | ||
30 | SAVE_ALL | ||
31 | CLI | ||
32 | .set at | ||
33 | .set noreorder | ||
34 | |||
35 | mfc0 s0, CP0_CAUSE # get irq mask | ||
36 | |||
37 | /* First we check for r4k counter/timer IRQ. */ | ||
38 | andi a0, s0, CAUSEF_IP7 | ||
39 | beq a0, zero, 1f | ||
40 | andi a0, s0, CAUSEF_IP2 # delay slot, check hw0 interrupt | ||
41 | |||
42 | /* Wheee, a timer interrupt. */ | ||
43 | li a0, 7 | ||
44 | jal ll_timer_interrupt | ||
45 | move a1, sp | ||
46 | |||
47 | j ret_from_irq | ||
48 | nop | ||
49 | |||
50 | 1: | ||
51 | /* Wheee, combined hardware level zero interrupt. */ | ||
52 | jal lasat_hw0_irqdispatch | ||
53 | move a0, sp # delay slot | ||
54 | |||
55 | j ret_from_irq | ||
56 | nop # delay slot | ||
57 | |||
58 | 1: | ||
59 | /* | ||
60 | * Here by mistake? This is possible, what can happen is that by the | ||
61 | * time we take the exception the IRQ pin goes low, so just leave if | ||
62 | * this is the case. | ||
63 | */ | ||
64 | move a1,s0 | ||
65 | mfc0 a1, CP0_EPC | ||
66 | |||
67 | j ret_from_irq | ||
68 | nop | ||
69 | END(lasatIRQ) | ||
diff --git a/arch/mips/mips-boards/atlas/atlas_int.c b/arch/mips/mips-boards/atlas/atlas_int.c index bc0ebc69bfb3..db53950b7cfb 100644 --- a/arch/mips/mips-boards/atlas/atlas_int.c +++ b/arch/mips/mips-boards/atlas/atlas_int.c | |||
@@ -39,8 +39,6 @@ | |||
39 | 39 | ||
40 | static struct atlas_ictrl_regs *atlas_hw0_icregs; | 40 | static struct atlas_ictrl_regs *atlas_hw0_icregs; |
41 | 41 | ||
42 | extern asmlinkage void mipsIRQ(void); | ||
43 | |||
44 | #if 0 | 42 | #if 0 |
45 | #define DEBUG_INT(x...) printk(x) | 43 | #define DEBUG_INT(x...) printk(x) |
46 | #else | 44 | #else |
@@ -98,7 +96,7 @@ static inline int ls1bit32(unsigned int x) | |||
98 | return b; | 96 | return b; |
99 | } | 97 | } |
100 | 98 | ||
101 | void atlas_hw0_irqdispatch(struct pt_regs *regs) | 99 | static inline void atlas_hw0_irqdispatch(struct pt_regs *regs) |
102 | { | 100 | { |
103 | unsigned long int_status; | 101 | unsigned long int_status; |
104 | int irq; | 102 | int irq; |
@@ -116,6 +114,91 @@ void atlas_hw0_irqdispatch(struct pt_regs *regs) | |||
116 | do_IRQ(irq, regs); | 114 | do_IRQ(irq, regs); |
117 | } | 115 | } |
118 | 116 | ||
117 | static inline int clz(unsigned long x) | ||
118 | { | ||
119 | __asm__ ( | ||
120 | " .set push \n" | ||
121 | " .set mips32 \n" | ||
122 | " clz %0, %1 \n" | ||
123 | " .set pop \n" | ||
124 | : "=r" (x) | ||
125 | : "r" (x)); | ||
126 | |||
127 | return x; | ||
128 | } | ||
129 | |||
130 | /* | ||
131 | * Version of ffs that only looks at bits 12..15. | ||
132 | */ | ||
133 | static inline unsigned int irq_ffs(unsigned int pending) | ||
134 | { | ||
135 | #if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) | ||
136 | return -clz(pending) + 31 - CAUSEB_IP; | ||
137 | #else | ||
138 | unsigned int a0 = 7; | ||
139 | unsigned int t0; | ||
140 | |||
141 | t0 = s0 & 0xf000; | ||
142 | t0 = t0 < 1; | ||
143 | t0 = t0 << 2; | ||
144 | a0 = a0 - t0; | ||
145 | s0 = s0 << t0; | ||
146 | |||
147 | t0 = s0 & 0xc000; | ||
148 | t0 = t0 < 1; | ||
149 | t0 = t0 << 1; | ||
150 | a0 = a0 - t0; | ||
151 | s0 = s0 << t0; | ||
152 | |||
153 | t0 = s0 & 0x8000; | ||
154 | t0 = t0 < 1; | ||
155 | //t0 = t0 << 2; | ||
156 | a0 = a0 - t0; | ||
157 | //s0 = s0 << t0; | ||
158 | |||
159 | return a0; | ||
160 | #endif | ||
161 | } | ||
162 | |||
163 | /* | ||
164 | * IRQs on the Atlas board look basically (barring software IRQs which we | ||
165 | * don't use at all and all external interrupt sources are combined together | ||
166 | * on hardware interrupt 0 (MIPS IRQ 2)) like: | ||
167 | * | ||
168 | * MIPS IRQ Source | ||
169 | * -------- ------ | ||
170 | * 0 Software (ignored) | ||
171 | * 1 Software (ignored) | ||
172 | * 2 Combined hardware interrupt (hw0) | ||
173 | * 3 Hardware (ignored) | ||
174 | * 4 Hardware (ignored) | ||
175 | * 5 Hardware (ignored) | ||
176 | * 6 Hardware (ignored) | ||
177 | * 7 R4k timer (what we use) | ||
178 | * | ||
179 | * We handle the IRQ according to _our_ priority which is: | ||
180 | * | ||
181 | * Highest ---- R4k Timer | ||
182 | * Lowest ---- Combined hardware interrupt | ||
183 | * | ||
184 | * then we just return, if multiple IRQs are pending then we will just take | ||
185 | * another exception, big deal. | ||
186 | */ | ||
187 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
188 | { | ||
189 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
190 | int irq; | ||
191 | |||
192 | irq = irq_ffs(pending); | ||
193 | |||
194 | if (irq == MIPSCPU_INT_ATLAS) | ||
195 | atlas_hw0_irqdispatch(regs); | ||
196 | else if (irq > 0) | ||
197 | do_IRQ(MIPSCPU_INT_BASE + irq, regs); | ||
198 | else | ||
199 | spurious_interrupt(regs); | ||
200 | } | ||
201 | |||
119 | void __init arch_init_irq(void) | 202 | void __init arch_init_irq(void) |
120 | { | 203 | { |
121 | int i; | 204 | int i; |
@@ -128,9 +211,6 @@ void __init arch_init_irq(void) | |||
128 | */ | 211 | */ |
129 | atlas_hw0_icregs->intrsten = 0xffffffff; | 212 | atlas_hw0_icregs->intrsten = 0xffffffff; |
130 | 213 | ||
131 | /* Now safe to set the exception vector. */ | ||
132 | set_except_vector(0, mipsIRQ); | ||
133 | |||
134 | for (i = ATLASINT_BASE; i <= ATLASINT_END; i++) { | 214 | for (i = ATLASINT_BASE; i <= ATLASINT_END; i++) { |
135 | irq_desc[i].status = IRQ_DISABLED; | 215 | irq_desc[i].status = IRQ_DISABLED; |
136 | irq_desc[i].action = 0; | 216 | irq_desc[i].action = 0; |
diff --git a/arch/mips/mips-boards/generic/Makefile b/arch/mips/mips-boards/generic/Makefile index b21bc6887fa8..be47c1c2bc80 100644 --- a/arch/mips/mips-boards/generic/Makefile +++ b/arch/mips/mips-boards/generic/Makefile | |||
@@ -18,8 +18,8 @@ | |||
18 | # Makefile for the MIPS boards generic routines under Linux. | 18 | # Makefile for the MIPS boards generic routines under Linux. |
19 | # | 19 | # |
20 | 20 | ||
21 | obj-y := mipsIRQ.o reset.o display.o init.o memory.o \ | 21 | obj-y := reset.o display.o init.o memory.o printf.o \ |
22 | printf.o cmdline.o time.o | 22 | cmdline.o time.o |
23 | obj-$(CONFIG_PCI) += pci.o | 23 | obj-$(CONFIG_PCI) += pci.o |
24 | obj-$(CONFIG_KGDB) += gdb_hook.o | 24 | obj-$(CONFIG_KGDB) += gdb_hook.o |
25 | 25 | ||
diff --git a/arch/mips/mips-boards/generic/gdb_hook.c b/arch/mips/mips-boards/generic/gdb_hook.c index 91a2ccbe3730..6a1854de4579 100644 --- a/arch/mips/mips-boards/generic/gdb_hook.c +++ b/arch/mips/mips-boards/generic/gdb_hook.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <asm/serial.h> | 25 | #include <asm/serial.h> |
26 | #include <asm/io.h> | 26 | #include <asm/io.h> |
27 | 27 | ||
28 | static struct serial_state rs_table[RS_TABLE_SIZE] = { | 28 | static struct serial_state rs_table[] = { |
29 | SERIAL_PORT_DFNS /* Defined in serial.h */ | 29 | SERIAL_PORT_DFNS /* Defined in serial.h */ |
30 | }; | 30 | }; |
31 | 31 | ||
diff --git a/arch/mips/mips-boards/generic/init.c b/arch/mips/mips-boards/generic/init.c index eab5a705e989..df4e94735604 100644 --- a/arch/mips/mips-boards/generic/init.c +++ b/arch/mips/mips-boards/generic/init.c | |||
@@ -220,7 +220,6 @@ void __init kgdb_config (void) | |||
220 | generic_putDebugChar (*s++); | 220 | generic_putDebugChar (*s++); |
221 | } | 221 | } |
222 | 222 | ||
223 | kgdb_enabled = 1; | ||
224 | /* Breakpoint is invoked after interrupts are initialised */ | 223 | /* Breakpoint is invoked after interrupts are initialised */ |
225 | } | 224 | } |
226 | } | 225 | } |
@@ -338,6 +337,7 @@ void __init prom_init(void) | |||
338 | case MIPS_REVISION_CORID_CORE_MSC: | 337 | case MIPS_REVISION_CORID_CORE_MSC: |
339 | case MIPS_REVISION_CORID_CORE_FPGA2: | 338 | case MIPS_REVISION_CORID_CORE_FPGA2: |
340 | case MIPS_REVISION_CORID_CORE_FPGA3: | 339 | case MIPS_REVISION_CORID_CORE_FPGA3: |
340 | case MIPS_REVISION_CORID_CORE_24K: | ||
341 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 341 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: |
342 | _pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000); | 342 | _pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000); |
343 | 343 | ||
diff --git a/arch/mips/mips-boards/generic/memory.c b/arch/mips/mips-boards/generic/memory.c index 32c9210373ac..bc4d093685bb 100644 --- a/arch/mips/mips-boards/generic/memory.c +++ b/arch/mips/mips-boards/generic/memory.c | |||
@@ -22,10 +22,12 @@ | |||
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/bootmem.h> | 24 | #include <linux/bootmem.h> |
25 | #include <linux/pfn.h> | ||
25 | #include <linux/string.h> | 26 | #include <linux/string.h> |
26 | 27 | ||
27 | #include <asm/bootinfo.h> | 28 | #include <asm/bootinfo.h> |
28 | #include <asm/page.h> | 29 | #include <asm/page.h> |
30 | #include <asm/sections.h> | ||
29 | 31 | ||
30 | #include <asm/mips-boards/prom.h> | 32 | #include <asm/mips-boards/prom.h> |
31 | 33 | ||
@@ -46,9 +48,6 @@ static char *mtypes[3] = { | |||
46 | }; | 48 | }; |
47 | #endif | 49 | #endif |
48 | 50 | ||
49 | /* References to section boundaries */ | ||
50 | extern char _end; | ||
51 | |||
52 | struct prom_pmemblock * __init prom_getmdesc(void) | 51 | struct prom_pmemblock * __init prom_getmdesc(void) |
53 | { | 52 | { |
54 | char *memsize_str; | 53 | char *memsize_str; |
@@ -106,10 +105,10 @@ struct prom_pmemblock * __init prom_getmdesc(void) | |||
106 | 105 | ||
107 | mdesc[3].type = yamon_dontuse; | 106 | mdesc[3].type = yamon_dontuse; |
108 | mdesc[3].base = 0x00100000; | 107 | mdesc[3].base = 0x00100000; |
109 | mdesc[3].size = CPHYSADDR(PAGE_ALIGN(&_end)) - mdesc[3].base; | 108 | mdesc[3].size = CPHYSADDR(PFN_ALIGN((unsigned long)&_end)) - mdesc[3].base; |
110 | 109 | ||
111 | mdesc[4].type = yamon_free; | 110 | mdesc[4].type = yamon_free; |
112 | mdesc[4].base = CPHYSADDR(PAGE_ALIGN(&_end)); | 111 | mdesc[4].base = CPHYSADDR(PFN_ALIGN(&_end)); |
113 | mdesc[4].size = memsize - mdesc[4].base; | 112 | mdesc[4].size = memsize - mdesc[4].base; |
114 | 113 | ||
115 | return &mdesc[0]; | 114 | return &mdesc[0]; |
diff --git a/arch/mips/mips-boards/generic/mipsIRQ.S b/arch/mips/mips-boards/generic/mipsIRQ.S deleted file mode 100644 index ddd5c73a2971..000000000000 --- a/arch/mips/mips-boards/generic/mipsIRQ.S +++ /dev/null | |||
@@ -1,155 +0,0 @@ | |||
1 | /* | ||
2 | * Carsten Langgaard, carstenl@mips.com | ||
3 | * Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved. | ||
4 | * | ||
5 | * ######################################################################## | ||
6 | * | ||
7 | * This program is free software; you can distribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License (Version 2) as | ||
9 | * published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
14 | * for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
19 | * | ||
20 | * ######################################################################## | ||
21 | * | ||
22 | * Interrupt exception dispatch code. | ||
23 | * | ||
24 | */ | ||
25 | #include <linux/config.h> | ||
26 | |||
27 | #include <asm/asm.h> | ||
28 | #include <asm/mipsregs.h> | ||
29 | #include <asm/regdef.h> | ||
30 | #include <asm/stackframe.h> | ||
31 | |||
32 | #ifdef CONFIG_MIPS_ATLAS | ||
33 | #include <asm/mips-boards/atlasint.h> | ||
34 | #define CASCADE_IRQ MIPSCPU_INT_ATLAS | ||
35 | #define CASCADE_DISPATCH atlas_hw0_irqdispatch | ||
36 | #endif | ||
37 | #ifdef CONFIG_MIPS_MALTA | ||
38 | #include <asm/mips-boards/maltaint.h> | ||
39 | #define CASCADE_IRQ MIPSCPU_INT_I8259A | ||
40 | #define CASCADE_DISPATCH malta_hw0_irqdispatch | ||
41 | #endif | ||
42 | #ifdef CONFIG_MIPS_SEAD | ||
43 | #include <asm/mips-boards/seadint.h> | ||
44 | #endif | ||
45 | |||
46 | /* A lot of complication here is taken away because: | ||
47 | * | ||
48 | * 1) We handle one interrupt and return, sitting in a loop and moving across | ||
49 | * all the pending IRQ bits in the cause register is _NOT_ the answer, the | ||
50 | * common case is one pending IRQ so optimize in that direction. | ||
51 | * | ||
52 | * 2) We need not check against bits in the status register IRQ mask, that | ||
53 | * would make this routine slow as hell. | ||
54 | * | ||
55 | * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in | ||
56 | * between like BSD spl() brain-damage. | ||
57 | * | ||
58 | * Furthermore, the IRQs on the MIPS board look basically (barring software | ||
59 | * IRQs which we don't use at all and all external interrupt sources are | ||
60 | * combined together on hardware interrupt 0 (MIPS IRQ 2)) like: | ||
61 | * | ||
62 | * MIPS IRQ Source | ||
63 | * -------- ------ | ||
64 | * 0 Software (ignored) | ||
65 | * 1 Software (ignored) | ||
66 | * 2 Combined hardware interrupt (hw0) | ||
67 | * 3 Hardware (ignored) | ||
68 | * 4 Hardware (ignored) | ||
69 | * 5 Hardware (ignored) | ||
70 | * 6 Hardware (ignored) | ||
71 | * 7 R4k timer (what we use) | ||
72 | * | ||
73 | * Note: On the SEAD board thing are a little bit different. | ||
74 | * Here IRQ 2 (hw0) is wired to the UART0 and IRQ 3 (hw1) is wired | ||
75 | * wired to UART1. | ||
76 | * | ||
77 | * We handle the IRQ according to _our_ priority which is: | ||
78 | * | ||
79 | * Highest ---- R4k Timer | ||
80 | * Lowest ---- Combined hardware interrupt | ||
81 | * | ||
82 | * then we just return, if multiple IRQs are pending then we will just take | ||
83 | * another exception, big deal. | ||
84 | */ | ||
85 | |||
86 | .text | ||
87 | .set noreorder | ||
88 | .set noat | ||
89 | .align 5 | ||
90 | NESTED(mipsIRQ, PT_SIZE, sp) | ||
91 | SAVE_ALL | ||
92 | CLI | ||
93 | .set at | ||
94 | |||
95 | mfc0 s0, CP0_CAUSE # get irq bits | ||
96 | mfc0 s1, CP0_STATUS # get irq mask | ||
97 | andi s0, ST0_IM # CAUSE.CE may be non-zero! | ||
98 | and s0, s1 | ||
99 | |||
100 | #if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) | ||
101 | .set mips32 | ||
102 | clz a0, s0 | ||
103 | .set mips0 | ||
104 | negu a0 | ||
105 | addu a0, 31-CAUSEB_IP | ||
106 | bltz a0, spurious | ||
107 | #else | ||
108 | beqz s0, spurious | ||
109 | li a0, 7 | ||
110 | |||
111 | and t0, s0, 0xf000 | ||
112 | sltiu t0, t0, 1 | ||
113 | sll t0, 2 | ||
114 | subu a0, t0 | ||
115 | sll s0, t0 | ||
116 | |||
117 | and t0, s0, 0xc000 | ||
118 | sltiu t0, t0, 1 | ||
119 | sll t0, 1 | ||
120 | subu a0, t0 | ||
121 | sll s0, t0 | ||
122 | |||
123 | and t0, s0, 0x8000 | ||
124 | sltiu t0, t0, 1 | ||
125 | # sll t0, 0 | ||
126 | subu a0, t0 | ||
127 | # sll s0, t0 | ||
128 | #endif | ||
129 | |||
130 | #ifdef CASCADE_IRQ | ||
131 | li a1, CASCADE_IRQ | ||
132 | bne a0, a1, 1f | ||
133 | addu a0, MIPSCPU_INT_BASE | ||
134 | |||
135 | jal CASCADE_DISPATCH | ||
136 | move a0, sp | ||
137 | |||
138 | j ret_from_irq | ||
139 | nop | ||
140 | 1: | ||
141 | #else | ||
142 | addu a0, MIPSCPU_INT_BASE | ||
143 | #endif | ||
144 | |||
145 | jal do_IRQ | ||
146 | move a1, sp | ||
147 | |||
148 | j ret_from_irq | ||
149 | nop | ||
150 | |||
151 | |||
152 | spurious: | ||
153 | j spurious_interrupt | ||
154 | nop | ||
155 | END(mipsIRQ) | ||
diff --git a/arch/mips/mips-boards/generic/pci.c b/arch/mips/mips-boards/generic/pci.c index 1f6f9df74ab2..9337f6c8873a 100644 --- a/arch/mips/mips-boards/generic/pci.c +++ b/arch/mips/mips-boards/generic/pci.c | |||
@@ -198,6 +198,7 @@ void __init mips_pcibios_init(void) | |||
198 | case MIPS_REVISION_CORID_CORE_MSC: | 198 | case MIPS_REVISION_CORID_CORE_MSC: |
199 | case MIPS_REVISION_CORID_CORE_FPGA2: | 199 | case MIPS_REVISION_CORID_CORE_FPGA2: |
200 | case MIPS_REVISION_CORID_CORE_FPGA3: | 200 | case MIPS_REVISION_CORID_CORE_FPGA3: |
201 | case MIPS_REVISION_CORID_CORE_24K: | ||
201 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 202 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: |
202 | /* Set up resource ranges from the controller's registers. */ | 203 | /* Set up resource ranges from the controller's registers. */ |
203 | MSC_READ(MSC01_PCI_SC2PMBASL, start); | 204 | MSC_READ(MSC01_PCI_SC2PMBASL, start); |
diff --git a/arch/mips/mips-boards/generic/time.c b/arch/mips/mips-boards/generic/time.c index 93f3bf2c2b22..a9f6124b3a22 100644 --- a/arch/mips/mips-boards/generic/time.c +++ b/arch/mips/mips-boards/generic/time.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/mc146818rtc.h> | 30 | #include <linux/mc146818rtc.h> |
31 | 31 | ||
32 | #include <asm/mipsregs.h> | 32 | #include <asm/mipsregs.h> |
33 | #include <asm/mipsmtregs.h> | ||
33 | #include <asm/ptrace.h> | 34 | #include <asm/ptrace.h> |
34 | #include <asm/hardirq.h> | 35 | #include <asm/hardirq.h> |
35 | #include <asm/irq.h> | 36 | #include <asm/irq.h> |
@@ -50,16 +51,23 @@ unsigned long cpu_khz; | |||
50 | static char display_string[] = " LINUX ON ATLAS "; | 51 | static char display_string[] = " LINUX ON ATLAS "; |
51 | #endif | 52 | #endif |
52 | #if defined(CONFIG_MIPS_MALTA) | 53 | #if defined(CONFIG_MIPS_MALTA) |
54 | #if defined(CONFIG_MIPS_MT_SMTC) | ||
55 | static char display_string[] = " SMTC LINUX ON MALTA "; | ||
56 | #else | ||
53 | static char display_string[] = " LINUX ON MALTA "; | 57 | static char display_string[] = " LINUX ON MALTA "; |
58 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
54 | #endif | 59 | #endif |
55 | #if defined(CONFIG_MIPS_SEAD) | 60 | #if defined(CONFIG_MIPS_SEAD) |
56 | static char display_string[] = " LINUX ON SEAD "; | 61 | static char display_string[] = " LINUX ON SEAD "; |
57 | #endif | 62 | #endif |
58 | static unsigned int display_count = 0; | 63 | static unsigned int display_count; |
59 | #define MAX_DISPLAY_COUNT (sizeof(display_string) - 8) | 64 | #define MAX_DISPLAY_COUNT (sizeof(display_string) - 8) |
60 | 65 | ||
61 | static unsigned int timer_tick_count=0; | 66 | #define CPUCTR_IMASKBIT (0x100 << MIPSCPU_INT_CPUCTR) |
67 | |||
68 | static unsigned int timer_tick_count; | ||
62 | static int mips_cpu_timer_irq; | 69 | static int mips_cpu_timer_irq; |
70 | extern void smtc_timer_broadcast(int); | ||
63 | 71 | ||
64 | static inline void scroll_display_message(void) | 72 | static inline void scroll_display_message(void) |
65 | { | 73 | { |
@@ -75,15 +83,55 @@ static void mips_timer_dispatch (struct pt_regs *regs) | |||
75 | do_IRQ (mips_cpu_timer_irq, regs); | 83 | do_IRQ (mips_cpu_timer_irq, regs); |
76 | } | 84 | } |
77 | 85 | ||
86 | /* | ||
87 | * Redeclare until I get around mopping the timer code insanity on MIPS. | ||
88 | */ | ||
78 | extern int null_perf_irq(struct pt_regs *regs); | 89 | extern int null_perf_irq(struct pt_regs *regs); |
79 | 90 | ||
80 | extern int (*perf_irq)(struct pt_regs *regs); | 91 | extern int (*perf_irq)(struct pt_regs *regs); |
81 | 92 | ||
82 | irqreturn_t mips_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 93 | irqreturn_t mips_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
83 | { | 94 | { |
84 | int r2 = cpu_has_mips_r2; | ||
85 | int cpu = smp_processor_id(); | 95 | int cpu = smp_processor_id(); |
96 | int r2 = cpu_has_mips_r2; | ||
97 | |||
98 | #ifdef CONFIG_MIPS_MT_SMTC | ||
99 | /* | ||
100 | * In an SMTC system, one Count/Compare set exists per VPE. | ||
101 | * Which TC within a VPE gets the interrupt is essentially | ||
102 | * random - we only know that it shouldn't be one with | ||
103 | * IXMT set. Whichever TC gets the interrupt needs to | ||
104 | * send special interprocessor interrupts to the other | ||
105 | * TCs to make sure that they schedule, etc. | ||
106 | * | ||
107 | * That code is specific to the SMTC kernel, not to | ||
108 | * the a particular platform, so it's invoked from | ||
109 | * the general MIPS timer_interrupt routine. | ||
110 | */ | ||
111 | |||
112 | /* | ||
113 | * DVPE is necessary so long as cross-VPE interrupts | ||
114 | * are done via read-modify-write of Cause register. | ||
115 | */ | ||
116 | int vpflags = dvpe(); | ||
117 | write_c0_compare (read_c0_count() - 1); | ||
118 | clear_c0_cause(CPUCTR_IMASKBIT); | ||
119 | evpe(vpflags); | ||
120 | |||
121 | if (cpu_data[cpu].vpe_id == 0) { | ||
122 | timer_interrupt(irq, dev_id, regs); | ||
123 | scroll_display_message(); | ||
124 | } else | ||
125 | write_c0_compare (read_c0_count() + ( mips_hpt_frequency/HZ)); | ||
126 | smtc_timer_broadcast(cpu_data[cpu].vpe_id); | ||
86 | 127 | ||
128 | if (cpu != 0) | ||
129 | /* | ||
130 | * Other CPUs should do profiling and process accounting | ||
131 | */ | ||
132 | local_timer_interrupt(irq, dev_id, regs); | ||
133 | |||
134 | #else /* CONFIG_MIPS_MT_SMTC */ | ||
87 | if (cpu == 0) { | 135 | if (cpu == 0) { |
88 | /* | 136 | /* |
89 | * CPU 0 handles the global timer interrupt job and process | 137 | * CPU 0 handles the global timer interrupt job and process |
@@ -107,12 +155,14 @@ irqreturn_t mips_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
107 | * More support needs to be added to kernel/time for | 155 | * More support needs to be added to kernel/time for |
108 | * counter/timer interrupts on multiple CPU's | 156 | * counter/timer interrupts on multiple CPU's |
109 | */ | 157 | */ |
110 | write_c0_compare (read_c0_count() + (mips_hpt_frequency/HZ)); | 158 | write_c0_compare(read_c0_count() + (mips_hpt_frequency/HZ)); |
159 | |||
111 | /* | 160 | /* |
112 | * other CPUs should do profiling and process accounting | 161 | * Other CPUs should do profiling and process accounting |
113 | */ | 162 | */ |
114 | local_timer_interrupt (irq, dev_id, regs); | 163 | local_timer_interrupt(irq, dev_id, regs); |
115 | } | 164 | } |
165 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
116 | 166 | ||
117 | out: | 167 | out: |
118 | return IRQ_HANDLED; | 168 | return IRQ_HANDLED; |
@@ -126,7 +176,7 @@ static unsigned int __init estimate_cpu_frequency(void) | |||
126 | unsigned int prid = read_c0_prid() & 0xffff00; | 176 | unsigned int prid = read_c0_prid() & 0xffff00; |
127 | unsigned int count; | 177 | unsigned int count; |
128 | 178 | ||
129 | #ifdef CONFIG_MIPS_SEAD | 179 | #if defined(CONFIG_MIPS_SEAD) || defined(CONFIG_MIPS_SIM) |
130 | /* | 180 | /* |
131 | * The SEAD board doesn't have a real time clock, so we can't | 181 | * The SEAD board doesn't have a real time clock, so we can't |
132 | * really calculate the timer frequency | 182 | * really calculate the timer frequency |
@@ -211,7 +261,11 @@ void __init mips_timer_setup(struct irqaction *irq) | |||
211 | 261 | ||
212 | /* we are using the cpu counter for timer interrupts */ | 262 | /* we are using the cpu counter for timer interrupts */ |
213 | irq->handler = mips_timer_interrupt; /* we use our own handler */ | 263 | irq->handler = mips_timer_interrupt; /* we use our own handler */ |
264 | #ifdef CONFIG_MIPS_MT_SMTC | ||
265 | setup_irq_smtc(mips_cpu_timer_irq, irq, CPUCTR_IMASKBIT); | ||
266 | #else | ||
214 | setup_irq(mips_cpu_timer_irq, irq); | 267 | setup_irq(mips_cpu_timer_irq, irq); |
268 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
215 | 269 | ||
216 | #ifdef CONFIG_SMP | 270 | #ifdef CONFIG_SMP |
217 | /* irq_desc(riptor) is a global resource, when the interrupt overlaps | 271 | /* irq_desc(riptor) is a global resource, when the interrupt overlaps |
diff --git a/arch/mips/mips-boards/malta/Makefile b/arch/mips/mips-boards/malta/Makefile index fd4c143c0e2f..77ee5c6d33c1 100644 --- a/arch/mips/mips-boards/malta/Makefile +++ b/arch/mips/mips-boards/malta/Makefile | |||
@@ -20,3 +20,4 @@ | |||
20 | # | 20 | # |
21 | 21 | ||
22 | obj-y := malta_int.o malta_setup.o | 22 | obj-y := malta_int.o malta_setup.o |
23 | obj-$(CONFIG_SMP) += malta_smp.o | ||
diff --git a/arch/mips/mips-boards/malta/malta_int.c b/arch/mips/mips-boards/malta/malta_int.c index d06dc5ad6c9e..7cc0ba4f553a 100644 --- a/arch/mips/mips-boards/malta/malta_int.c +++ b/arch/mips/mips-boards/malta/malta_int.c | |||
@@ -40,7 +40,6 @@ | |||
40 | #include <asm/mips-boards/msc01_pci.h> | 40 | #include <asm/mips-boards/msc01_pci.h> |
41 | #include <asm/msc01_ic.h> | 41 | #include <asm/msc01_ic.h> |
42 | 42 | ||
43 | extern asmlinkage void mipsIRQ(void); | ||
44 | extern void mips_timer_interrupt(void); | 43 | extern void mips_timer_interrupt(void); |
45 | 44 | ||
46 | static DEFINE_SPINLOCK(mips_irq_lock); | 45 | static DEFINE_SPINLOCK(mips_irq_lock); |
@@ -58,6 +57,7 @@ static inline int mips_pcibios_iack(void) | |||
58 | case MIPS_REVISION_CORID_CORE_MSC: | 57 | case MIPS_REVISION_CORID_CORE_MSC: |
59 | case MIPS_REVISION_CORID_CORE_FPGA2: | 58 | case MIPS_REVISION_CORID_CORE_FPGA2: |
60 | case MIPS_REVISION_CORID_CORE_FPGA3: | 59 | case MIPS_REVISION_CORID_CORE_FPGA3: |
60 | case MIPS_REVISION_CORID_CORE_24K: | ||
61 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 61 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: |
62 | MSC_READ(MSC01_PCI_IACK, irq); | 62 | MSC_READ(MSC01_PCI_IACK, irq); |
63 | irq &= 0xff; | 63 | irq &= 0xff; |
@@ -114,13 +114,14 @@ static inline int get_int(void) | |||
114 | return irq; | 114 | return irq; |
115 | } | 115 | } |
116 | 116 | ||
117 | void malta_hw0_irqdispatch(struct pt_regs *regs) | 117 | static void malta_hw0_irqdispatch(struct pt_regs *regs) |
118 | { | 118 | { |
119 | int irq; | 119 | int irq; |
120 | 120 | ||
121 | irq = get_int(); | 121 | irq = get_int(); |
122 | if (irq < 0) | 122 | if (irq < 0) { |
123 | return; /* interrupt has already been cleared */ | 123 | return; /* interrupt has already been cleared */ |
124 | } | ||
124 | 125 | ||
125 | do_IRQ(MALTA_INT_BASE+irq, regs); | 126 | do_IRQ(MALTA_INT_BASE+irq, regs); |
126 | } | 127 | } |
@@ -143,6 +144,7 @@ void corehi_irqdispatch(struct pt_regs *regs) | |||
143 | case MIPS_REVISION_CORID_CORE_MSC: | 144 | case MIPS_REVISION_CORID_CORE_MSC: |
144 | case MIPS_REVISION_CORID_CORE_FPGA2: | 145 | case MIPS_REVISION_CORID_CORE_FPGA2: |
145 | case MIPS_REVISION_CORID_CORE_FPGA3: | 146 | case MIPS_REVISION_CORID_CORE_FPGA3: |
147 | case MIPS_REVISION_CORID_CORE_24K: | ||
146 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 148 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: |
147 | ll_msc_irq(regs); | 149 | ll_msc_irq(regs); |
148 | break; | 150 | break; |
@@ -182,6 +184,92 @@ void corehi_irqdispatch(struct pt_regs *regs) | |||
182 | die("CoreHi interrupt", regs); | 184 | die("CoreHi interrupt", regs); |
183 | } | 185 | } |
184 | 186 | ||
187 | static inline int clz(unsigned long x) | ||
188 | { | ||
189 | __asm__ ( | ||
190 | " .set push \n" | ||
191 | " .set mips32 \n" | ||
192 | " clz %0, %1 \n" | ||
193 | " .set pop \n" | ||
194 | : "=r" (x) | ||
195 | : "r" (x)); | ||
196 | |||
197 | return x; | ||
198 | } | ||
199 | |||
200 | /* | ||
201 | * Version of ffs that only looks at bits 12..15. | ||
202 | */ | ||
203 | static inline unsigned int irq_ffs(unsigned int pending) | ||
204 | { | ||
205 | #if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) | ||
206 | return -clz(pending) + 31 - CAUSEB_IP; | ||
207 | #else | ||
208 | unsigned int a0 = 7; | ||
209 | unsigned int t0; | ||
210 | |||
211 | t0 = s0 & 0xf000; | ||
212 | t0 = t0 < 1; | ||
213 | t0 = t0 << 2; | ||
214 | a0 = a0 - t0; | ||
215 | s0 = s0 << t0; | ||
216 | |||
217 | t0 = s0 & 0xc000; | ||
218 | t0 = t0 < 1; | ||
219 | t0 = t0 << 1; | ||
220 | a0 = a0 - t0; | ||
221 | s0 = s0 << t0; | ||
222 | |||
223 | t0 = s0 & 0x8000; | ||
224 | t0 = t0 < 1; | ||
225 | //t0 = t0 << 2; | ||
226 | a0 = a0 - t0; | ||
227 | //s0 = s0 << t0; | ||
228 | |||
229 | return a0; | ||
230 | #endif | ||
231 | } | ||
232 | |||
233 | /* | ||
234 | * IRQs on the Malta board look basically (barring software IRQs which we | ||
235 | * don't use at all and all external interrupt sources are combined together | ||
236 | * on hardware interrupt 0 (MIPS IRQ 2)) like: | ||
237 | * | ||
238 | * MIPS IRQ Source | ||
239 | * -------- ------ | ||
240 | * 0 Software (ignored) | ||
241 | * 1 Software (ignored) | ||
242 | * 2 Combined hardware interrupt (hw0) | ||
243 | * 3 Hardware (ignored) | ||
244 | * 4 Hardware (ignored) | ||
245 | * 5 Hardware (ignored) | ||
246 | * 6 Hardware (ignored) | ||
247 | * 7 R4k timer (what we use) | ||
248 | * | ||
249 | * We handle the IRQ according to _our_ priority which is: | ||
250 | * | ||
251 | * Highest ---- R4k Timer | ||
252 | * Lowest ---- Combined hardware interrupt | ||
253 | * | ||
254 | * then we just return, if multiple IRQs are pending then we will just take | ||
255 | * another exception, big deal. | ||
256 | */ | ||
257 | |||
258 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
259 | { | ||
260 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
261 | int irq; | ||
262 | |||
263 | irq = irq_ffs(pending); | ||
264 | |||
265 | if (irq == MIPSCPU_INT_I8259A) | ||
266 | malta_hw0_irqdispatch(regs); | ||
267 | else if (irq > 0) | ||
268 | do_IRQ(MIPSCPU_INT_BASE + irq, regs); | ||
269 | else | ||
270 | spurious_interrupt(regs); | ||
271 | } | ||
272 | |||
185 | static struct irqaction i8259irq = { | 273 | static struct irqaction i8259irq = { |
186 | .handler = no_action, | 274 | .handler = no_action, |
187 | .name = "XT-PIC cascade" | 275 | .name = "XT-PIC cascade" |
@@ -214,7 +302,6 @@ int __initdata msc_nr_eicirqs = sizeof(msc_eicirqmap)/sizeof(msc_irqmap_t); | |||
214 | 302 | ||
215 | void __init arch_init_irq(void) | 303 | void __init arch_init_irq(void) |
216 | { | 304 | { |
217 | set_except_vector(0, mipsIRQ); | ||
218 | init_i8259_irqs(); | 305 | init_i8259_irqs(); |
219 | 306 | ||
220 | if (!cpu_has_veic) | 307 | if (!cpu_has_veic) |
@@ -224,6 +311,7 @@ void __init arch_init_irq(void) | |||
224 | case MIPS_REVISION_CORID_CORE_MSC: | 311 | case MIPS_REVISION_CORID_CORE_MSC: |
225 | case MIPS_REVISION_CORID_CORE_FPGA2: | 312 | case MIPS_REVISION_CORID_CORE_FPGA2: |
226 | case MIPS_REVISION_CORID_CORE_FPGA3: | 313 | case MIPS_REVISION_CORID_CORE_FPGA3: |
314 | case MIPS_REVISION_CORID_CORE_24K: | ||
227 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 315 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: |
228 | if (cpu_has_veic) | 316 | if (cpu_has_veic) |
229 | init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); | 317 | init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); |
@@ -240,12 +328,17 @@ void __init arch_init_irq(void) | |||
240 | else if (cpu_has_vint) { | 328 | else if (cpu_has_vint) { |
241 | set_vi_handler (MIPSCPU_INT_I8259A, malta_hw0_irqdispatch); | 329 | set_vi_handler (MIPSCPU_INT_I8259A, malta_hw0_irqdispatch); |
242 | set_vi_handler (MIPSCPU_INT_COREHI, corehi_irqdispatch); | 330 | set_vi_handler (MIPSCPU_INT_COREHI, corehi_irqdispatch); |
243 | 331 | #ifdef CONFIG_MIPS_MT_SMTC | |
332 | setup_irq_smtc (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq, | ||
333 | (0x100 << MIPSCPU_INT_I8259A)); | ||
334 | setup_irq_smtc (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, | ||
335 | &corehi_irqaction, (0x100 << MIPSCPU_INT_COREHI)); | ||
336 | #else /* Not SMTC */ | ||
244 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq); | 337 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq); |
245 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction); | 338 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction); |
339 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
246 | } | 340 | } |
247 | else { | 341 | else { |
248 | set_except_vector(0, mipsIRQ); | ||
249 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq); | 342 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq); |
250 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction); | 343 | setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction); |
251 | } | 344 | } |
diff --git a/arch/mips/mips-boards/malta/malta_smp.c b/arch/mips/mips-boards/malta/malta_smp.c new file mode 100644 index 000000000000..6c6c8eeedbce --- /dev/null +++ b/arch/mips/mips-boards/malta/malta_smp.c | |||
@@ -0,0 +1,128 @@ | |||
1 | /* | ||
2 | * Malta Platform-specific hooks for SMP operation | ||
3 | */ | ||
4 | |||
5 | #include <linux/kernel.h> | ||
6 | #include <linux/sched.h> | ||
7 | #include <linux/cpumask.h> | ||
8 | #include <linux/interrupt.h> | ||
9 | |||
10 | #include <asm/atomic.h> | ||
11 | #include <asm/cpu.h> | ||
12 | #include <asm/processor.h> | ||
13 | #include <asm/system.h> | ||
14 | #include <asm/hardirq.h> | ||
15 | #include <asm/mmu_context.h> | ||
16 | #include <asm/smp.h> | ||
17 | #ifdef CONFIG_MIPS_MT_SMTC | ||
18 | #include <asm/smtc_ipi.h> | ||
19 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
20 | |||
21 | /* VPE/SMP Prototype implements platform interfaces directly */ | ||
22 | #if !defined(CONFIG_MIPS_MT_SMP) | ||
23 | |||
24 | /* | ||
25 | * Cause the specified action to be performed on a targeted "CPU" | ||
26 | */ | ||
27 | |||
28 | void core_send_ipi(int cpu, unsigned int action) | ||
29 | { | ||
30 | /* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */ | ||
31 | #ifdef CONFIG_MIPS_MT_SMTC | ||
32 | smtc_send_ipi(cpu, LINUX_SMP_IPI, action); | ||
33 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
34 | } | ||
35 | |||
36 | /* | ||
37 | * Detect available CPUs/VPEs/TCs and populate phys_cpu_present_map | ||
38 | */ | ||
39 | |||
40 | void __init prom_build_cpu_map(void) | ||
41 | { | ||
42 | int nextslot; | ||
43 | |||
44 | /* | ||
45 | * As of November, 2004, MIPSsim only simulates one core | ||
46 | * at a time. However, that core may be a MIPS MT core | ||
47 | * with multiple virtual processors and thread contexts. | ||
48 | */ | ||
49 | |||
50 | if (read_c0_config3() & (1<<2)) { | ||
51 | nextslot = mipsmt_build_cpu_map(1); | ||
52 | } | ||
53 | } | ||
54 | |||
55 | /* | ||
56 | * Platform "CPU" startup hook | ||
57 | */ | ||
58 | |||
59 | void prom_boot_secondary(int cpu, struct task_struct *idle) | ||
60 | { | ||
61 | #ifdef CONFIG_MIPS_MT_SMTC | ||
62 | smtc_boot_secondary(cpu, idle); | ||
63 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
64 | } | ||
65 | |||
66 | /* | ||
67 | * Post-config but pre-boot cleanup entry point | ||
68 | */ | ||
69 | |||
70 | void prom_init_secondary(void) | ||
71 | { | ||
72 | #ifdef CONFIG_MIPS_MT_SMTC | ||
73 | void smtc_init_secondary(void); | ||
74 | int myvpe; | ||
75 | |||
76 | /* Don't enable Malta I/O interrupts (IP2) for secondary VPEs */ | ||
77 | myvpe = read_c0_tcbind() & TCBIND_CURVPE; | ||
78 | if (myvpe != 0) { | ||
79 | /* Ideally, this should be done only once per VPE, but... */ | ||
80 | clear_c0_status(STATUSF_IP2); | ||
81 | set_c0_status(STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP3 | ||
82 | | STATUSF_IP4 | STATUSF_IP5 | STATUSF_IP6 | ||
83 | | STATUSF_IP7); | ||
84 | } | ||
85 | |||
86 | smtc_init_secondary(); | ||
87 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
88 | } | ||
89 | |||
90 | /* | ||
91 | * Platform SMP pre-initialization | ||
92 | * | ||
93 | * As noted above, we can assume a single CPU for now | ||
94 | * but it may be multithreaded. | ||
95 | */ | ||
96 | |||
97 | void plat_smp_setup(void) | ||
98 | { | ||
99 | if (read_c0_config3() & (1<<2)) | ||
100 | mipsmt_build_cpu_map(0); | ||
101 | } | ||
102 | |||
103 | void __init plat_prepare_cpus(unsigned int max_cpus) | ||
104 | { | ||
105 | if (read_c0_config3() & (1<<2)) | ||
106 | mipsmt_prepare_cpus(); | ||
107 | } | ||
108 | |||
109 | /* | ||
110 | * SMP initialization finalization entry point | ||
111 | */ | ||
112 | |||
113 | void prom_smp_finish(void) | ||
114 | { | ||
115 | #ifdef CONFIG_MIPS_MT_SMTC | ||
116 | smtc_smp_finish(); | ||
117 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
118 | } | ||
119 | |||
120 | /* | ||
121 | * Hook for after all CPUs are online | ||
122 | */ | ||
123 | |||
124 | void prom_cpus_done(void) | ||
125 | { | ||
126 | } | ||
127 | |||
128 | #endif /* CONFIG_MIPS32R2_MT_SMP */ | ||
diff --git a/arch/mips/mips-boards/sead/sead_int.c b/arch/mips/mips-boards/sead/sead_int.c index 90fda0d9915f..9168d934c661 100644 --- a/arch/mips/mips-boards/sead/sead_int.c +++ b/arch/mips/mips-boards/sead/sead_int.c | |||
@@ -24,16 +24,94 @@ | |||
24 | #include <linux/irq.h> | 24 | #include <linux/irq.h> |
25 | 25 | ||
26 | #include <asm/irq_cpu.h> | 26 | #include <asm/irq_cpu.h> |
27 | #include <asm/mipsregs.h> | ||
27 | #include <asm/system.h> | 28 | #include <asm/system.h> |
28 | 29 | ||
29 | #include <asm/mips-boards/seadint.h> | 30 | #include <asm/mips-boards/seadint.h> |
30 | 31 | ||
31 | extern asmlinkage void mipsIRQ(void); | 32 | static inline int clz(unsigned long x) |
33 | { | ||
34 | __asm__ ( | ||
35 | " .set push \n" | ||
36 | " .set mips32 \n" | ||
37 | " clz %0, %1 \n" | ||
38 | " .set pop \n" | ||
39 | : "=r" (x) | ||
40 | : "r" (x)); | ||
41 | |||
42 | return x; | ||
43 | } | ||
44 | |||
45 | /* | ||
46 | * Version of ffs that only looks at bits 12..15. | ||
47 | */ | ||
48 | static inline unsigned int irq_ffs(unsigned int pending) | ||
49 | { | ||
50 | #if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) | ||
51 | return -clz(pending) + 31 - CAUSEB_IP; | ||
52 | #else | ||
53 | unsigned int a0 = 7; | ||
54 | unsigned int t0; | ||
55 | |||
56 | t0 = s0 & 0xf000; | ||
57 | t0 = t0 < 1; | ||
58 | t0 = t0 << 2; | ||
59 | a0 = a0 - t0; | ||
60 | s0 = s0 << t0; | ||
61 | |||
62 | t0 = s0 & 0xc000; | ||
63 | t0 = t0 < 1; | ||
64 | t0 = t0 << 1; | ||
65 | a0 = a0 - t0; | ||
66 | s0 = s0 << t0; | ||
67 | |||
68 | t0 = s0 & 0x8000; | ||
69 | t0 = t0 < 1; | ||
70 | //t0 = t0 << 2; | ||
71 | a0 = a0 - t0; | ||
72 | //s0 = s0 << t0; | ||
73 | |||
74 | return a0; | ||
75 | #endif | ||
76 | } | ||
77 | |||
78 | /* | ||
79 | * IRQs on the SEAD board look basically are combined together on hardware | ||
80 | * interrupt 0 (MIPS IRQ 2)) like: | ||
81 | * | ||
82 | * MIPS IRQ Source | ||
83 | * -------- ------ | ||
84 | * 0 Software (ignored) | ||
85 | * 1 Software (ignored) | ||
86 | * 2 UART0 (hw0) | ||
87 | * 3 UART1 (hw1) | ||
88 | * 4 Hardware (ignored) | ||
89 | * 5 Hardware (ignored) | ||
90 | * 6 Hardware (ignored) | ||
91 | * 7 R4k timer (what we use) | ||
92 | * | ||
93 | * We handle the IRQ according to _our_ priority which is: | ||
94 | * | ||
95 | * Highest ---- R4k Timer | ||
96 | * Lowest ---- Combined hardware interrupt | ||
97 | * | ||
98 | * then we just return, if multiple IRQs are pending then we will just take | ||
99 | * another exception, big deal. | ||
100 | */ | ||
101 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
102 | { | ||
103 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
104 | int irq; | ||
105 | |||
106 | irq = irq_ffs(pending); | ||
107 | |||
108 | if (irq >= 0) | ||
109 | do_IRQ(MIPSCPU_INT_BASE + irq, regs); | ||
110 | else | ||
111 | spurious_interrupt(regs); | ||
112 | } | ||
32 | 113 | ||
33 | void __init arch_init_irq(void) | 114 | void __init arch_init_irq(void) |
34 | { | 115 | { |
35 | mips_cpu_irq_init(MIPSCPU_INT_BASE); | 116 | mips_cpu_irq_init(MIPSCPU_INT_BASE); |
36 | |||
37 | /* Now safe to set the exception vector. */ | ||
38 | set_except_vector(0, mipsIRQ); | ||
39 | } | 117 | } |
diff --git a/arch/mips/mips-boards/sim/cmdline.c b/arch/mips/mips-boards/sim/cmdline.c deleted file mode 100644 index fef9fbd8e710..000000000000 --- a/arch/mips/mips-boards/sim/cmdline.c +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | /* | ||
2 | * Carsten Langgaard, carstenl@mips.com | ||
3 | * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can distribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License (Version 2) as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
12 | * for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
17 | * | ||
18 | * Kernel command line creation using the prom monitor (YAMON) argc/argv. | ||
19 | */ | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/string.h> | ||
22 | |||
23 | #include <asm/bootinfo.h> | ||
24 | |||
25 | extern int prom_argc; | ||
26 | extern int *_prom_argv; | ||
27 | |||
28 | /* | ||
29 | * YAMON (32-bit PROM) pass arguments and environment as 32-bit pointer. | ||
30 | * This macro take care of sign extension. | ||
31 | */ | ||
32 | #define prom_argv(index) ((char *)(((int *)(int)_prom_argv)[(index)])) | ||
33 | |||
34 | char arcs_cmdline[CL_SIZE]; | ||
35 | |||
36 | char * __init prom_getcmdline(void) | ||
37 | { | ||
38 | return &(arcs_cmdline[0]); | ||
39 | } | ||
40 | |||
41 | |||
42 | void __init prom_init_cmdline(void) | ||
43 | { | ||
44 | char *cp; | ||
45 | int actr; | ||
46 | |||
47 | actr = 1; /* Always ignore argv[0] */ | ||
48 | |||
49 | cp = &(arcs_cmdline[0]); | ||
50 | while(actr < prom_argc) { | ||
51 | strcpy(cp, prom_argv(actr)); | ||
52 | cp += strlen(prom_argv(actr)); | ||
53 | *cp++ = ' '; | ||
54 | actr++; | ||
55 | } | ||
56 | if (cp != &(arcs_cmdline[0])) /* get rid of trailing space */ | ||
57 | --cp; | ||
58 | *cp = '\0'; | ||
59 | } | ||
diff --git a/arch/mips/mips-boards/sim/sim_cmdline.c b/arch/mips/mips-boards/sim/sim_cmdline.c index 9df37c6fca36..c63021a5dc6c 100644 --- a/arch/mips/mips-boards/sim/sim_cmdline.c +++ b/arch/mips/mips-boards/sim/sim_cmdline.c | |||
@@ -26,8 +26,10 @@ char * __init prom_getcmdline(void) | |||
26 | return arcs_cmdline; | 26 | return arcs_cmdline; |
27 | } | 27 | } |
28 | 28 | ||
29 | |||
30 | void __init prom_init_cmdline(void) | 29 | void __init prom_init_cmdline(void) |
31 | { | 30 | { |
32 | /* nothing to do */ | 31 | char *cp; |
32 | cp = arcs_cmdline; | ||
33 | /* Get boot line from environment? */ | ||
34 | *cp = '\0'; | ||
33 | } | 35 | } |
diff --git a/arch/mips/mips-boards/sim/sim_int.c b/arch/mips/mips-boards/sim/sim_int.c index a4d0a2c05031..2c15c8efec4e 100644 --- a/arch/mips/mips-boards/sim/sim_int.c +++ b/arch/mips/mips-boards/sim/sim_int.c | |||
@@ -25,17 +25,71 @@ | |||
25 | 25 | ||
26 | extern void mips_cpu_irq_init(int); | 26 | extern void mips_cpu_irq_init(int); |
27 | 27 | ||
28 | extern asmlinkage void simIRQ(void); | 28 | static inline int clz(unsigned long x) |
29 | { | ||
30 | __asm__ ( | ||
31 | " .set push \n" | ||
32 | " .set mips32 \n" | ||
33 | " clz %0, %1 \n" | ||
34 | " .set pop \n" | ||
35 | : "=r" (x) | ||
36 | : "r" (x)); | ||
37 | |||
38 | return x; | ||
39 | } | ||
40 | |||
41 | /* | ||
42 | * Version of ffs that only looks at bits 12..15. | ||
43 | */ | ||
44 | static inline unsigned int irq_ffs(unsigned int pending) | ||
45 | { | ||
46 | #if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) | ||
47 | return -clz(pending) + 31 - CAUSEB_IP; | ||
48 | #else | ||
49 | unsigned int a0 = 7; | ||
50 | unsigned int t0; | ||
51 | |||
52 | t0 = s0 & 0xf000; | ||
53 | t0 = t0 < 1; | ||
54 | t0 = t0 << 2; | ||
55 | a0 = a0 - t0; | ||
56 | s0 = s0 << t0; | ||
57 | |||
58 | t0 = s0 & 0xc000; | ||
59 | t0 = t0 < 1; | ||
60 | t0 = t0 << 1; | ||
61 | a0 = a0 - t0; | ||
62 | s0 = s0 << t0; | ||
29 | 63 | ||
30 | asmlinkage void sim_hw0_irqdispatch(struct pt_regs *regs) | 64 | t0 = s0 & 0x8000; |
65 | t0 = t0 < 1; | ||
66 | //t0 = t0 << 2; | ||
67 | a0 = a0 - t0; | ||
68 | //s0 = s0 << t0; | ||
69 | |||
70 | return a0; | ||
71 | #endif | ||
72 | } | ||
73 | |||
74 | static inline void sim_hw0_irqdispatch(struct pt_regs *regs) | ||
31 | { | 75 | { |
32 | do_IRQ(2, regs); | 76 | do_IRQ(2, regs); |
33 | } | 77 | } |
34 | 78 | ||
35 | void __init arch_init_irq(void) | 79 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
36 | { | 80 | { |
37 | /* Now safe to set the exception vector. */ | 81 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; |
38 | set_except_vector(0, simIRQ); | 82 | int irq; |
83 | |||
84 | irq = irq_ffs(pending); | ||
39 | 85 | ||
86 | if (irq > 0) | ||
87 | do_IRQ(MIPSCPU_INT_BASE + irq, regs); | ||
88 | else | ||
89 | spurious_interrupt(regs); | ||
90 | } | ||
91 | |||
92 | void __init arch_init_irq(void) | ||
93 | { | ||
40 | mips_cpu_irq_init(MIPSCPU_INT_BASE); | 94 | mips_cpu_irq_init(MIPSCPU_INT_BASE); |
41 | } | 95 | } |
diff --git a/arch/mips/mips-boards/sim/sim_irq.S b/arch/mips/mips-boards/sim/sim_irq.S index da52297a2216..d16cf3822076 100644 --- a/arch/mips/mips-boards/sim/sim_irq.S +++ b/arch/mips/mips-boards/sim/sim_irq.S | |||
@@ -94,6 +94,8 @@ | |||
94 | 94 | ||
95 | 95 | ||
96 | spurious: | 96 | spurious: |
97 | j spurious_interrupt | 97 | jal spurious_interrupt |
98 | nop | ||
99 | j ret_from_irq | ||
98 | nop | 100 | nop |
99 | END(simIRQ) | 101 | END(simIRQ) |
diff --git a/arch/mips/mips-boards/sim/sim_mem.c b/arch/mips/mips-boards/sim/sim_mem.c index e57f737bab10..f7ce76983328 100644 --- a/arch/mips/mips-boards/sim/sim_mem.c +++ b/arch/mips/mips-boards/sim/sim_mem.c | |||
@@ -18,9 +18,11 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/bootmem.h> | 20 | #include <linux/bootmem.h> |
21 | #include <linux/pfn.h> | ||
21 | 22 | ||
22 | #include <asm/bootinfo.h> | 23 | #include <asm/bootinfo.h> |
23 | #include <asm/page.h> | 24 | #include <asm/page.h> |
25 | #include <asm/sections.h> | ||
24 | 26 | ||
25 | #include <asm/mips-boards/prom.h> | 27 | #include <asm/mips-boards/prom.h> |
26 | 28 | ||
@@ -39,9 +41,6 @@ static char *mtypes[3] = { | |||
39 | }; | 41 | }; |
40 | #endif | 42 | #endif |
41 | 43 | ||
42 | /* References to section boundaries */ | ||
43 | extern char _end; | ||
44 | |||
45 | struct prom_pmemblock * __init prom_getmdesc(void) | 44 | struct prom_pmemblock * __init prom_getmdesc(void) |
46 | { | 45 | { |
47 | unsigned int memsize; | 46 | unsigned int memsize; |
@@ -61,10 +60,10 @@ struct prom_pmemblock * __init prom_getmdesc(void) | |||
61 | 60 | ||
62 | mdesc[2].type = simmem_reserved; | 61 | mdesc[2].type = simmem_reserved; |
63 | mdesc[2].base = 0x00100000; | 62 | mdesc[2].base = 0x00100000; |
64 | mdesc[2].size = CPHYSADDR(PAGE_ALIGN(&_end)) - mdesc[2].base; | 63 | mdesc[2].size = CPHYSADDR(PFN_ALIGN(&_end)) - mdesc[2].base; |
65 | 64 | ||
66 | mdesc[3].type = simmem_free; | 65 | mdesc[3].type = simmem_free; |
67 | mdesc[3].base = CPHYSADDR(PAGE_ALIGN(&_end)); | 66 | mdesc[3].base = CPHYSADDR(PFN_ALIGN(&_end)); |
68 | mdesc[3].size = memsize - mdesc[3].base; | 67 | mdesc[3].size = memsize - mdesc[3].base; |
69 | 68 | ||
70 | return &mdesc[0]; | 69 | return &mdesc[0]; |
diff --git a/arch/mips/mips-boards/sim/sim_smp.c b/arch/mips/mips-boards/sim/sim_smp.c index a9f0c2bfe4ad..b7084e7c4bf9 100644 --- a/arch/mips/mips-boards/sim/sim_smp.c +++ b/arch/mips/mips-boards/sim/sim_smp.c | |||
@@ -44,8 +44,6 @@ | |||
44 | void core_send_ipi(int cpu, unsigned int action) | 44 | void core_send_ipi(int cpu, unsigned int action) |
45 | { | 45 | { |
46 | #ifdef CONFIG_MIPS_MT_SMTC | 46 | #ifdef CONFIG_MIPS_MT_SMTC |
47 | void smtc_send_ipi(int, int, unsigned int); | ||
48 | |||
49 | smtc_send_ipi(cpu, LINUX_SMP_IPI, action); | 47 | smtc_send_ipi(cpu, LINUX_SMP_IPI, action); |
50 | #endif /* CONFIG_MIPS_MT_SMTC */ | 48 | #endif /* CONFIG_MIPS_MT_SMTC */ |
51 | /* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */ | 49 | /* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */ |
@@ -59,15 +57,8 @@ void core_send_ipi(int cpu, unsigned int action) | |||
59 | void __init prom_build_cpu_map(void) | 57 | void __init prom_build_cpu_map(void) |
60 | { | 58 | { |
61 | #ifdef CONFIG_MIPS_MT_SMTC | 59 | #ifdef CONFIG_MIPS_MT_SMTC |
62 | extern int mipsmt_build_cpu_map(int startslot); | ||
63 | int nextslot; | 60 | int nextslot; |
64 | 61 | ||
65 | cpus_clear(phys_cpu_present_map); | ||
66 | |||
67 | /* Register the boot CPU */ | ||
68 | |||
69 | smp_prepare_boot_cpu(); | ||
70 | |||
71 | /* | 62 | /* |
72 | * As of November, 2004, MIPSsim only simulates one core | 63 | * As of November, 2004, MIPSsim only simulates one core |
73 | * at a time. However, that core may be a MIPS MT core | 64 | * at a time. However, that core may be a MIPS MT core |
@@ -87,8 +78,6 @@ void __init prom_build_cpu_map(void) | |||
87 | void prom_boot_secondary(int cpu, struct task_struct *idle) | 78 | void prom_boot_secondary(int cpu, struct task_struct *idle) |
88 | { | 79 | { |
89 | #ifdef CONFIG_MIPS_MT_SMTC | 80 | #ifdef CONFIG_MIPS_MT_SMTC |
90 | extern void smtc_boot_secondary(int cpu, struct task_struct *t); | ||
91 | |||
92 | smtc_boot_secondary(cpu, idle); | 81 | smtc_boot_secondary(cpu, idle); |
93 | #endif /* CONFIG_MIPS_MT_SMTC */ | 82 | #endif /* CONFIG_MIPS_MT_SMTC */ |
94 | } | 83 | } |
@@ -113,7 +102,6 @@ void prom_init_secondary(void) | |||
113 | void prom_prepare_cpus(unsigned int max_cpus) | 102 | void prom_prepare_cpus(unsigned int max_cpus) |
114 | { | 103 | { |
115 | #ifdef CONFIG_MIPS_MT_SMTC | 104 | #ifdef CONFIG_MIPS_MT_SMTC |
116 | void mipsmt_prepare_cpus(int c); | ||
117 | /* | 105 | /* |
118 | * As noted above, we can assume a single CPU for now | 106 | * As noted above, we can assume a single CPU for now |
119 | * but it may be multithreaded. | 107 | * but it may be multithreaded. |
@@ -132,8 +120,6 @@ void prom_prepare_cpus(unsigned int max_cpus) | |||
132 | void prom_smp_finish(void) | 120 | void prom_smp_finish(void) |
133 | { | 121 | { |
134 | #ifdef CONFIG_MIPS_MT_SMTC | 122 | #ifdef CONFIG_MIPS_MT_SMTC |
135 | void smtc_smp_finish(void); | ||
136 | |||
137 | smtc_smp_finish(); | 123 | smtc_smp_finish(); |
138 | #endif /* CONFIG_MIPS_MT_SMTC */ | 124 | #endif /* CONFIG_MIPS_MT_SMTC */ |
139 | } | 125 | } |
diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c index 9dd1352d5748..bb041a22f20a 100644 --- a/arch/mips/mm/c-r3k.c +++ b/arch/mips/mm/c-r3k.c | |||
@@ -260,6 +260,10 @@ static void r3k_flush_cache_page(struct vm_area_struct *vma, unsigned long page, | |||
260 | { | 260 | { |
261 | } | 261 | } |
262 | 262 | ||
263 | static void local_r3k_flush_data_cache_page(unsigned long addr) | ||
264 | { | ||
265 | } | ||
266 | |||
263 | static void r3k_flush_data_cache_page(unsigned long addr) | 267 | static void r3k_flush_data_cache_page(unsigned long addr) |
264 | { | 268 | { |
265 | } | 269 | } |
@@ -335,6 +339,7 @@ void __init r3k_cache_init(void) | |||
335 | flush_icache_range = r3k_flush_icache_range; | 339 | flush_icache_range = r3k_flush_icache_range; |
336 | 340 | ||
337 | flush_cache_sigtramp = r3k_flush_cache_sigtramp; | 341 | flush_cache_sigtramp = r3k_flush_cache_sigtramp; |
342 | local_flush_data_cache_page = local_r3k_flush_data_cache_page; | ||
338 | flush_data_cache_page = r3k_flush_data_cache_page; | 343 | flush_data_cache_page = r3k_flush_data_cache_page; |
339 | 344 | ||
340 | _dma_cache_wback_inv = r3k_dma_cache_wback_inv; | 345 | _dma_cache_wback_inv = r3k_dma_cache_wback_inv; |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 32b7f6aeb983..4182e1176fae 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -154,7 +154,8 @@ static inline void blast_icache32_r4600_v1_page_indexed(unsigned long page) | |||
154 | 154 | ||
155 | static inline void tx49_blast_icache32_page_indexed(unsigned long page) | 155 | static inline void tx49_blast_icache32_page_indexed(unsigned long page) |
156 | { | 156 | { |
157 | unsigned long start = page; | 157 | unsigned long indexmask = current_cpu_data.icache.waysize - 1; |
158 | unsigned long start = INDEX_BASE + (page & indexmask); | ||
158 | unsigned long end = start + PAGE_SIZE; | 159 | unsigned long end = start + PAGE_SIZE; |
159 | unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit; | 160 | unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit; |
160 | unsigned long ws_end = current_cpu_data.icache.ways << | 161 | unsigned long ws_end = current_cpu_data.icache.ways << |
@@ -749,12 +750,12 @@ static void __init probe_pcache(void) | |||
749 | icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); | 750 | icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); |
750 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); | 751 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); |
751 | c->icache.ways = 2; | 752 | c->icache.ways = 2; |
752 | c->icache.waybit = ffs(icache_size/2) - 1; | 753 | c->icache.waybit = __ffs(icache_size/2); |
753 | 754 | ||
754 | dcache_size = 1 << (12 + ((config & CONF_DC) >> 6)); | 755 | dcache_size = 1 << (12 + ((config & CONF_DC) >> 6)); |
755 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); | 756 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); |
756 | c->dcache.ways = 2; | 757 | c->dcache.ways = 2; |
757 | c->dcache.waybit= ffs(dcache_size/2) - 1; | 758 | c->dcache.waybit= __ffs(dcache_size/2); |
758 | 759 | ||
759 | c->options |= MIPS_CPU_CACHE_CDEX_P; | 760 | c->options |= MIPS_CPU_CACHE_CDEX_P; |
760 | break; | 761 | break; |
@@ -837,12 +838,12 @@ static void __init probe_pcache(void) | |||
837 | icache_size = 1 << (10 + ((config & CONF_IC) >> 9)); | 838 | icache_size = 1 << (10 + ((config & CONF_IC) >> 9)); |
838 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); | 839 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); |
839 | c->icache.ways = 2; | 840 | c->icache.ways = 2; |
840 | c->icache.waybit = ffs(icache_size/2) - 1; | 841 | c->icache.waybit = __ffs(icache_size/2); |
841 | 842 | ||
842 | dcache_size = 1 << (10 + ((config & CONF_DC) >> 6)); | 843 | dcache_size = 1 << (10 + ((config & CONF_DC) >> 6)); |
843 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); | 844 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); |
844 | c->dcache.ways = 2; | 845 | c->dcache.ways = 2; |
845 | c->dcache.waybit = ffs(dcache_size/2) - 1; | 846 | c->dcache.waybit = __ffs(dcache_size/2); |
846 | 847 | ||
847 | c->options |= MIPS_CPU_CACHE_CDEX_P; | 848 | c->options |= MIPS_CPU_CACHE_CDEX_P; |
848 | break; | 849 | break; |
@@ -873,12 +874,12 @@ static void __init probe_pcache(void) | |||
873 | icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); | 874 | icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); |
874 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); | 875 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); |
875 | c->icache.ways = 4; | 876 | c->icache.ways = 4; |
876 | c->icache.waybit = ffs(icache_size / c->icache.ways) - 1; | 877 | c->icache.waybit = __ffs(icache_size / c->icache.ways); |
877 | 878 | ||
878 | dcache_size = 1 << (12 + ((config & CONF_DC) >> 6)); | 879 | dcache_size = 1 << (12 + ((config & CONF_DC) >> 6)); |
879 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); | 880 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); |
880 | c->dcache.ways = 4; | 881 | c->dcache.ways = 4; |
881 | c->dcache.waybit = ffs(dcache_size / c->dcache.ways) - 1; | 882 | c->dcache.waybit = __ffs(dcache_size / c->dcache.ways); |
882 | 883 | ||
883 | #if !defined(CONFIG_SMP) || !defined(RM9000_CDEX_SMP_WAR) | 884 | #if !defined(CONFIG_SMP) || !defined(RM9000_CDEX_SMP_WAR) |
884 | c->options |= MIPS_CPU_CACHE_CDEX_P; | 885 | c->options |= MIPS_CPU_CACHE_CDEX_P; |
@@ -906,7 +907,7 @@ static void __init probe_pcache(void) | |||
906 | icache_size = c->icache.sets * | 907 | icache_size = c->icache.sets * |
907 | c->icache.ways * | 908 | c->icache.ways * |
908 | c->icache.linesz; | 909 | c->icache.linesz; |
909 | c->icache.waybit = ffs(icache_size/c->icache.ways) - 1; | 910 | c->icache.waybit = __ffs(icache_size/c->icache.ways); |
910 | 911 | ||
911 | if (config & 0x8) /* VI bit */ | 912 | if (config & 0x8) /* VI bit */ |
912 | c->icache.flags |= MIPS_CACHE_VTAG; | 913 | c->icache.flags |= MIPS_CACHE_VTAG; |
@@ -926,7 +927,7 @@ static void __init probe_pcache(void) | |||
926 | dcache_size = c->dcache.sets * | 927 | dcache_size = c->dcache.sets * |
927 | c->dcache.ways * | 928 | c->dcache.ways * |
928 | c->dcache.linesz; | 929 | c->dcache.linesz; |
929 | c->dcache.waybit = ffs(dcache_size/c->dcache.ways) - 1; | 930 | c->dcache.waybit = __ffs(dcache_size/c->dcache.ways); |
930 | 931 | ||
931 | c->options |= MIPS_CPU_PREFETCH; | 932 | c->options |= MIPS_CPU_PREFETCH; |
932 | break; | 933 | break; |
@@ -1198,6 +1199,7 @@ void __init r4k_cache_init(void) | |||
1198 | 1199 | ||
1199 | flush_cache_sigtramp = r4k_flush_cache_sigtramp; | 1200 | flush_cache_sigtramp = r4k_flush_cache_sigtramp; |
1200 | flush_icache_all = r4k_flush_icache_all; | 1201 | flush_icache_all = r4k_flush_icache_all; |
1202 | local_flush_data_cache_page = local_r4k_flush_data_cache_page; | ||
1201 | flush_data_cache_page = r4k_flush_data_cache_page; | 1203 | flush_data_cache_page = r4k_flush_data_cache_page; |
1202 | flush_icache_range = r4k_flush_icache_range; | 1204 | flush_icache_range = r4k_flush_icache_range; |
1203 | 1205 | ||
diff --git a/arch/mips/mm/c-sb1.c b/arch/mips/mm/c-sb1.c index 2f08b535f20e..f9b129491b1e 100644 --- a/arch/mips/mm/c-sb1.c +++ b/arch/mips/mm/c-sb1.c | |||
@@ -528,6 +528,7 @@ void sb1_cache_init(void) | |||
528 | flush_cache_page = sb1_flush_cache_page; | 528 | flush_cache_page = sb1_flush_cache_page; |
529 | 529 | ||
530 | flush_cache_sigtramp = sb1_flush_cache_sigtramp; | 530 | flush_cache_sigtramp = sb1_flush_cache_sigtramp; |
531 | local_flush_data_cache_page = (void *) sb1_nop; | ||
531 | flush_data_cache_page = (void *) sb1_nop; | 532 | flush_data_cache_page = (void *) sb1_nop; |
532 | 533 | ||
533 | /* Full flush */ | 534 | /* Full flush */ |
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c index fe232e3988e3..5dfc9b1901f6 100644 --- a/arch/mips/mm/c-tx39.c +++ b/arch/mips/mm/c-tx39.c | |||
@@ -216,6 +216,11 @@ static void tx39_flush_cache_page(struct vm_area_struct *vma, unsigned long page | |||
216 | tx39_blast_icache_page_indexed(page); | 216 | tx39_blast_icache_page_indexed(page); |
217 | } | 217 | } |
218 | 218 | ||
219 | static void local_tx39_flush_data_cache_page(void * addr) | ||
220 | { | ||
221 | tx39_blast_dcache_page(addr); | ||
222 | } | ||
223 | |||
219 | static void tx39_flush_data_cache_page(unsigned long addr) | 224 | static void tx39_flush_data_cache_page(unsigned long addr) |
220 | { | 225 | { |
221 | tx39_blast_dcache_page(addr); | 226 | tx39_blast_dcache_page(addr); |
@@ -381,6 +386,7 @@ void __init tx39_cache_init(void) | |||
381 | flush_icache_range = (void *) tx39h_flush_icache_all; | 386 | flush_icache_range = (void *) tx39h_flush_icache_all; |
382 | 387 | ||
383 | flush_cache_sigtramp = (void *) tx39h_flush_icache_all; | 388 | flush_cache_sigtramp = (void *) tx39h_flush_icache_all; |
389 | local_flush_data_cache_page = (void *) tx39h_flush_icache_all; | ||
384 | flush_data_cache_page = (void *) tx39h_flush_icache_all; | 390 | flush_data_cache_page = (void *) tx39h_flush_icache_all; |
385 | 391 | ||
386 | _dma_cache_wback_inv = tx39h_dma_cache_wback_inv; | 392 | _dma_cache_wback_inv = tx39h_dma_cache_wback_inv; |
@@ -406,6 +412,7 @@ void __init tx39_cache_init(void) | |||
406 | flush_icache_range = tx39_flush_icache_range; | 412 | flush_icache_range = tx39_flush_icache_range; |
407 | 413 | ||
408 | flush_cache_sigtramp = tx39_flush_cache_sigtramp; | 414 | flush_cache_sigtramp = tx39_flush_cache_sigtramp; |
415 | local_flush_data_cache_page = local_tx39_flush_data_cache_page; | ||
409 | flush_data_cache_page = tx39_flush_data_cache_page; | 416 | flush_data_cache_page = tx39_flush_data_cache_page; |
410 | 417 | ||
411 | _dma_cache_wback_inv = tx39_dma_cache_wback_inv; | 418 | _dma_cache_wback_inv = tx39_dma_cache_wback_inv; |
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c index 591c22b080e4..83a56296be86 100644 --- a/arch/mips/mm/cache.c +++ b/arch/mips/mm/cache.c | |||
@@ -30,6 +30,7 @@ void (*flush_icache_page)(struct vm_area_struct *vma, struct page *page); | |||
30 | 30 | ||
31 | /* MIPS specific cache operations */ | 31 | /* MIPS specific cache operations */ |
32 | void (*flush_cache_sigtramp)(unsigned long addr); | 32 | void (*flush_cache_sigtramp)(unsigned long addr); |
33 | void (*local_flush_data_cache_page)(void * addr); | ||
33 | void (*flush_data_cache_page)(unsigned long addr); | 34 | void (*flush_data_cache_page)(unsigned long addr); |
34 | void (*flush_icache_all)(void); | 35 | void (*flush_icache_all)(void); |
35 | 36 | ||
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c index 2d9624fd10ec..e3a617224868 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c | |||
@@ -157,7 +157,6 @@ no_context: | |||
157 | * Oops. The kernel tried to access some bad page. We'll have to | 157 | * Oops. The kernel tried to access some bad page. We'll have to |
158 | * terminate things with extreme prejudice. | 158 | * terminate things with extreme prejudice. |
159 | */ | 159 | */ |
160 | |||
161 | bust_spinlocks(1); | 160 | bust_spinlocks(1); |
162 | 161 | ||
163 | printk(KERN_ALERT "CPU %d Unable to handle kernel paging request at " | 162 | printk(KERN_ALERT "CPU %d Unable to handle kernel paging request at " |
@@ -188,11 +187,20 @@ do_sigbus: | |||
188 | /* Kernel mode? Handle exceptions or die */ | 187 | /* Kernel mode? Handle exceptions or die */ |
189 | if (!user_mode(regs)) | 188 | if (!user_mode(regs)) |
190 | goto no_context; | 189 | goto no_context; |
191 | 190 | else | |
192 | /* | 191 | /* |
193 | * Send a sigbus, regardless of whether we were in kernel | 192 | * Send a sigbus, regardless of whether we were in kernel |
194 | * or user mode. | 193 | * or user mode. |
195 | */ | 194 | */ |
195 | #if 0 | ||
196 | printk("do_page_fault() #3: sending SIGBUS to %s for " | ||
197 | "invalid %s\n%0*lx (epc == %0*lx, ra == %0*lx)\n", | ||
198 | tsk->comm, | ||
199 | write ? "write access to" : "read access from", | ||
200 | field, address, | ||
201 | field, (unsigned long) regs->cp0_epc, | ||
202 | field, (unsigned long) regs->regs[31]); | ||
203 | #endif | ||
196 | tsk->thread.cp0_badvaddr = address; | 204 | tsk->thread.cp0_badvaddr = address; |
197 | info.si_signo = SIGBUS; | 205 | info.si_signo = SIGBUS; |
198 | info.si_errno = 0; | 206 | info.si_errno = 0; |
@@ -201,7 +209,6 @@ do_sigbus: | |||
201 | force_sig_info(SIGBUS, &info, tsk); | 209 | force_sig_info(SIGBUS, &info, tsk); |
202 | 210 | ||
203 | return; | 211 | return; |
204 | |||
205 | vmalloc_fault: | 212 | vmalloc_fault: |
206 | { | 213 | { |
207 | /* | 214 | /* |
diff --git a/arch/mips/mm/highmem.c b/arch/mips/mm/highmem.c index 1f7b37b38f5c..0c544375b856 100644 --- a/arch/mips/mm/highmem.c +++ b/arch/mips/mm/highmem.c | |||
@@ -83,6 +83,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type) | |||
83 | preempt_check_resched(); | 83 | preempt_check_resched(); |
84 | } | 84 | } |
85 | 85 | ||
86 | #ifndef CONFIG_LIMITED_DMA | ||
86 | /* | 87 | /* |
87 | * This is the same as kmap_atomic() but can map memory that doesn't | 88 | * This is the same as kmap_atomic() but can map memory that doesn't |
88 | * have a struct page associated with it. | 89 | * have a struct page associated with it. |
@@ -101,6 +102,7 @@ void *kmap_atomic_pfn(unsigned long pfn, enum km_type type) | |||
101 | 102 | ||
102 | return (void*) vaddr; | 103 | return (void*) vaddr; |
103 | } | 104 | } |
105 | #endif /* CONFIG_LIMITED_DMA */ | ||
104 | 106 | ||
105 | struct page *__kmap_atomic_to_page(void *ptr) | 107 | struct page *__kmap_atomic_to_page(void *ptr) |
106 | { | 108 | { |
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index ad89c442f299..c22308b93ff0 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
@@ -276,6 +276,20 @@ void __init mem_init(void) | |||
276 | } | 276 | } |
277 | #endif /* !CONFIG_NEED_MULTIPLE_NODES */ | 277 | #endif /* !CONFIG_NEED_MULTIPLE_NODES */ |
278 | 278 | ||
279 | void free_init_pages(char *what, unsigned long begin, unsigned long end) | ||
280 | { | ||
281 | unsigned long addr; | ||
282 | |||
283 | for (addr = begin; addr < end; addr += PAGE_SIZE) { | ||
284 | ClearPageReserved(virt_to_page(addr)); | ||
285 | init_page_count(virt_to_page(addr)); | ||
286 | memset((void *)addr, 0xcc, PAGE_SIZE); | ||
287 | free_page(addr); | ||
288 | totalram_pages++; | ||
289 | } | ||
290 | printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10); | ||
291 | } | ||
292 | |||
279 | #ifdef CONFIG_BLK_DEV_INITRD | 293 | #ifdef CONFIG_BLK_DEV_INITRD |
280 | void free_initrd_mem(unsigned long start, unsigned long end) | 294 | void free_initrd_mem(unsigned long start, unsigned long end) |
281 | { | 295 | { |
@@ -284,16 +298,7 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
284 | start = (unsigned long)phys_to_virt(CPHYSADDR(start)); | 298 | start = (unsigned long)phys_to_virt(CPHYSADDR(start)); |
285 | end = (unsigned long)phys_to_virt(CPHYSADDR(end)); | 299 | end = (unsigned long)phys_to_virt(CPHYSADDR(end)); |
286 | #endif | 300 | #endif |
287 | if (start < end) | 301 | free_init_pages("initrd memory", start, end); |
288 | printk(KERN_INFO "Freeing initrd memory: %ldk freed\n", | ||
289 | (end - start) >> 10); | ||
290 | |||
291 | for (; start < end; start += PAGE_SIZE) { | ||
292 | ClearPageReserved(virt_to_page(start)); | ||
293 | init_page_count(virt_to_page(start)); | ||
294 | free_page(start); | ||
295 | totalram_pages++; | ||
296 | } | ||
297 | } | 302 | } |
298 | #endif | 303 | #endif |
299 | 304 | ||
@@ -301,24 +306,17 @@ extern unsigned long prom_free_prom_memory(void); | |||
301 | 306 | ||
302 | void free_initmem(void) | 307 | void free_initmem(void) |
303 | { | 308 | { |
304 | unsigned long addr, page, freed; | 309 | unsigned long start, end, freed; |
305 | 310 | ||
306 | freed = prom_free_prom_memory(); | 311 | freed = prom_free_prom_memory(); |
312 | if (freed) | ||
313 | printk(KERN_INFO "Freeing firmware memory: %ldk freed\n",freed); | ||
307 | 314 | ||
308 | addr = (unsigned long) &__init_begin; | 315 | start = (unsigned long)(&__init_begin); |
309 | while (addr < (unsigned long) &__init_end) { | 316 | end = (unsigned long)(&__init_end); |
310 | #ifdef CONFIG_64BIT | 317 | #ifdef CONFIG_64BIT |
311 | page = PAGE_OFFSET | CPHYSADDR(addr); | 318 | start = PAGE_OFFSET | CPHYSADDR(start); |
312 | #else | 319 | end = PAGE_OFFSET | CPHYSADDR(end); |
313 | page = addr; | ||
314 | #endif | 320 | #endif |
315 | ClearPageReserved(virt_to_page(page)); | 321 | free_init_pages("unused kernel memory", start, end); |
316 | init_page_count(virt_to_page(page)); | ||
317 | free_page(page); | ||
318 | totalram_pages++; | ||
319 | freed += PAGE_SIZE; | ||
320 | addr += PAGE_SIZE; | ||
321 | } | ||
322 | printk(KERN_INFO "Freeing unused kernel memory: %ldk freed\n", | ||
323 | freed >> 10); | ||
324 | } | 322 | } |
diff --git a/arch/mips/mm/sc-rm7k.c b/arch/mips/mm/sc-rm7k.c index 3b6cc9ba1b05..31ec73052423 100644 --- a/arch/mips/mm/sc-rm7k.c +++ b/arch/mips/mm/sc-rm7k.c | |||
@@ -138,7 +138,7 @@ void __init rm7k_sc_init(void) | |||
138 | 138 | ||
139 | c->scache.linesz = sc_lsize; | 139 | c->scache.linesz = sc_lsize; |
140 | c->scache.ways = 4; | 140 | c->scache.ways = 4; |
141 | c->scache.waybit= ffs(scache_size / c->scache.ways) - 1; | 141 | c->scache.waybit= __ffs(scache_size / c->scache.ways); |
142 | c->scache.waysize = scache_size / c->scache.ways; | 142 | c->scache.waysize = scache_size / c->scache.ways; |
143 | c->scache.sets = scache_size / (c->scache.linesz * c->scache.ways); | 143 | c->scache.sets = scache_size / (c->scache.linesz * c->scache.ways); |
144 | printk(KERN_INFO "Secondary cache size %dK, linesize %d bytes.\n", | 144 | printk(KERN_INFO "Secondary cache size %dK, linesize %d bytes.\n", |
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c index a865f2394cb0..9dca099ba16b 100644 --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c | |||
@@ -32,13 +32,35 @@ extern void build_tlb_refill_handler(void); | |||
32 | "nop; nop; nop; nop; nop; nop;\n\t" \ | 32 | "nop; nop; nop; nop; nop; nop;\n\t" \ |
33 | ".set reorder\n\t") | 33 | ".set reorder\n\t") |
34 | 34 | ||
35 | /* Atomicity and interruptability */ | ||
36 | #ifdef CONFIG_MIPS_MT_SMTC | ||
37 | |||
38 | #include <asm/smtc.h> | ||
39 | #include <asm/mipsmtregs.h> | ||
40 | |||
41 | #define ENTER_CRITICAL(flags) \ | ||
42 | { \ | ||
43 | unsigned int mvpflags; \ | ||
44 | local_irq_save(flags);\ | ||
45 | mvpflags = dvpe() | ||
46 | #define EXIT_CRITICAL(flags) \ | ||
47 | evpe(mvpflags); \ | ||
48 | local_irq_restore(flags); \ | ||
49 | } | ||
50 | #else | ||
51 | |||
52 | #define ENTER_CRITICAL(flags) local_irq_save(flags) | ||
53 | #define EXIT_CRITICAL(flags) local_irq_restore(flags) | ||
54 | |||
55 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
56 | |||
35 | void local_flush_tlb_all(void) | 57 | void local_flush_tlb_all(void) |
36 | { | 58 | { |
37 | unsigned long flags; | 59 | unsigned long flags; |
38 | unsigned long old_ctx; | 60 | unsigned long old_ctx; |
39 | int entry; | 61 | int entry; |
40 | 62 | ||
41 | local_irq_save(flags); | 63 | ENTER_CRITICAL(flags); |
42 | /* Save old context and create impossible VPN2 value */ | 64 | /* Save old context and create impossible VPN2 value */ |
43 | old_ctx = read_c0_entryhi(); | 65 | old_ctx = read_c0_entryhi(); |
44 | write_c0_entrylo0(0); | 66 | write_c0_entrylo0(0); |
@@ -57,7 +79,7 @@ void local_flush_tlb_all(void) | |||
57 | } | 79 | } |
58 | tlbw_use_hazard(); | 80 | tlbw_use_hazard(); |
59 | write_c0_entryhi(old_ctx); | 81 | write_c0_entryhi(old_ctx); |
60 | local_irq_restore(flags); | 82 | EXIT_CRITICAL(flags); |
61 | } | 83 | } |
62 | 84 | ||
63 | /* All entries common to a mm share an asid. To effectively flush | 85 | /* All entries common to a mm share an asid. To effectively flush |
@@ -87,6 +109,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |||
87 | unsigned long flags; | 109 | unsigned long flags; |
88 | int size; | 110 | int size; |
89 | 111 | ||
112 | ENTER_CRITICAL(flags); | ||
90 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | 113 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; |
91 | size = (size + 1) >> 1; | 114 | size = (size + 1) >> 1; |
92 | local_irq_save(flags); | 115 | local_irq_save(flags); |
@@ -120,7 +143,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |||
120 | } else { | 143 | } else { |
121 | drop_mmu_context(mm, cpu); | 144 | drop_mmu_context(mm, cpu); |
122 | } | 145 | } |
123 | local_irq_restore(flags); | 146 | EXIT_CRITICAL(flags); |
124 | } | 147 | } |
125 | } | 148 | } |
126 | 149 | ||
@@ -129,9 +152,9 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) | |||
129 | unsigned long flags; | 152 | unsigned long flags; |
130 | int size; | 153 | int size; |
131 | 154 | ||
155 | ENTER_CRITICAL(flags); | ||
132 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | 156 | size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; |
133 | size = (size + 1) >> 1; | 157 | size = (size + 1) >> 1; |
134 | local_irq_save(flags); | ||
135 | if (size <= current_cpu_data.tlbsize / 2) { | 158 | if (size <= current_cpu_data.tlbsize / 2) { |
136 | int pid = read_c0_entryhi(); | 159 | int pid = read_c0_entryhi(); |
137 | 160 | ||
@@ -162,7 +185,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) | |||
162 | } else { | 185 | } else { |
163 | local_flush_tlb_all(); | 186 | local_flush_tlb_all(); |
164 | } | 187 | } |
165 | local_irq_restore(flags); | 188 | EXIT_CRITICAL(flags); |
166 | } | 189 | } |
167 | 190 | ||
168 | void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) | 191 | void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) |
@@ -175,7 +198,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) | |||
175 | 198 | ||
176 | newpid = cpu_asid(cpu, vma->vm_mm); | 199 | newpid = cpu_asid(cpu, vma->vm_mm); |
177 | page &= (PAGE_MASK << 1); | 200 | page &= (PAGE_MASK << 1); |
178 | local_irq_save(flags); | 201 | ENTER_CRITICAL(flags); |
179 | oldpid = read_c0_entryhi(); | 202 | oldpid = read_c0_entryhi(); |
180 | write_c0_entryhi(page | newpid); | 203 | write_c0_entryhi(page | newpid); |
181 | mtc0_tlbw_hazard(); | 204 | mtc0_tlbw_hazard(); |
@@ -194,7 +217,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) | |||
194 | 217 | ||
195 | finish: | 218 | finish: |
196 | write_c0_entryhi(oldpid); | 219 | write_c0_entryhi(oldpid); |
197 | local_irq_restore(flags); | 220 | EXIT_CRITICAL(flags); |
198 | } | 221 | } |
199 | } | 222 | } |
200 | 223 | ||
@@ -207,7 +230,7 @@ void local_flush_tlb_one(unsigned long page) | |||
207 | unsigned long flags; | 230 | unsigned long flags; |
208 | int oldpid, idx; | 231 | int oldpid, idx; |
209 | 232 | ||
210 | local_irq_save(flags); | 233 | ENTER_CRITICAL(flags); |
211 | oldpid = read_c0_entryhi(); | 234 | oldpid = read_c0_entryhi(); |
212 | page &= (PAGE_MASK << 1); | 235 | page &= (PAGE_MASK << 1); |
213 | write_c0_entryhi(page); | 236 | write_c0_entryhi(page); |
@@ -226,7 +249,7 @@ void local_flush_tlb_one(unsigned long page) | |||
226 | } | 249 | } |
227 | write_c0_entryhi(oldpid); | 250 | write_c0_entryhi(oldpid); |
228 | 251 | ||
229 | local_irq_restore(flags); | 252 | EXIT_CRITICAL(flags); |
230 | } | 253 | } |
231 | 254 | ||
232 | /* | 255 | /* |
@@ -249,7 +272,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) | |||
249 | if (current->active_mm != vma->vm_mm) | 272 | if (current->active_mm != vma->vm_mm) |
250 | return; | 273 | return; |
251 | 274 | ||
252 | local_irq_save(flags); | 275 | ENTER_CRITICAL(flags); |
253 | 276 | ||
254 | pid = read_c0_entryhi() & ASID_MASK; | 277 | pid = read_c0_entryhi() & ASID_MASK; |
255 | address &= (PAGE_MASK << 1); | 278 | address &= (PAGE_MASK << 1); |
@@ -277,7 +300,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) | |||
277 | else | 300 | else |
278 | tlb_write_indexed(); | 301 | tlb_write_indexed(); |
279 | tlbw_use_hazard(); | 302 | tlbw_use_hazard(); |
280 | local_irq_restore(flags); | 303 | EXIT_CRITICAL(flags); |
281 | } | 304 | } |
282 | 305 | ||
283 | #if 0 | 306 | #if 0 |
@@ -291,7 +314,7 @@ static void r4k_update_mmu_cache_hwbug(struct vm_area_struct * vma, | |||
291 | pte_t *ptep; | 314 | pte_t *ptep; |
292 | int idx; | 315 | int idx; |
293 | 316 | ||
294 | local_irq_save(flags); | 317 | ENTER_CRITICAL(flags); |
295 | address &= (PAGE_MASK << 1); | 318 | address &= (PAGE_MASK << 1); |
296 | asid = read_c0_entryhi() & ASID_MASK; | 319 | asid = read_c0_entryhi() & ASID_MASK; |
297 | write_c0_entryhi(address | asid); | 320 | write_c0_entryhi(address | asid); |
@@ -310,7 +333,7 @@ static void r4k_update_mmu_cache_hwbug(struct vm_area_struct * vma, | |||
310 | else | 333 | else |
311 | tlb_write_indexed(); | 334 | tlb_write_indexed(); |
312 | tlbw_use_hazard(); | 335 | tlbw_use_hazard(); |
313 | local_irq_restore(flags); | 336 | EXIT_CRITICAL(flags); |
314 | } | 337 | } |
315 | #endif | 338 | #endif |
316 | 339 | ||
@@ -322,7 +345,7 @@ void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1, | |||
322 | unsigned long old_pagemask; | 345 | unsigned long old_pagemask; |
323 | unsigned long old_ctx; | 346 | unsigned long old_ctx; |
324 | 347 | ||
325 | local_irq_save(flags); | 348 | ENTER_CRITICAL(flags); |
326 | /* Save old context and create impossible VPN2 value */ | 349 | /* Save old context and create impossible VPN2 value */ |
327 | old_ctx = read_c0_entryhi(); | 350 | old_ctx = read_c0_entryhi(); |
328 | old_pagemask = read_c0_pagemask(); | 351 | old_pagemask = read_c0_pagemask(); |
@@ -342,7 +365,7 @@ void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1, | |||
342 | BARRIER; | 365 | BARRIER; |
343 | write_c0_pagemask(old_pagemask); | 366 | write_c0_pagemask(old_pagemask); |
344 | local_flush_tlb_all(); | 367 | local_flush_tlb_all(); |
345 | local_irq_restore(flags); | 368 | EXIT_CRITICAL(flags); |
346 | } | 369 | } |
347 | 370 | ||
348 | /* | 371 | /* |
@@ -362,7 +385,7 @@ __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, | |||
362 | unsigned long old_pagemask; | 385 | unsigned long old_pagemask; |
363 | unsigned long old_ctx; | 386 | unsigned long old_ctx; |
364 | 387 | ||
365 | local_irq_save(flags); | 388 | ENTER_CRITICAL(flags); |
366 | /* Save old context and create impossible VPN2 value */ | 389 | /* Save old context and create impossible VPN2 value */ |
367 | old_ctx = read_c0_entryhi(); | 390 | old_ctx = read_c0_entryhi(); |
368 | old_pagemask = read_c0_pagemask(); | 391 | old_pagemask = read_c0_pagemask(); |
@@ -386,10 +409,11 @@ __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, | |||
386 | write_c0_entryhi(old_ctx); | 409 | write_c0_entryhi(old_ctx); |
387 | write_c0_pagemask(old_pagemask); | 410 | write_c0_pagemask(old_pagemask); |
388 | out: | 411 | out: |
389 | local_irq_restore(flags); | 412 | EXIT_CRITICAL(flags); |
390 | return ret; | 413 | return ret; |
391 | } | 414 | } |
392 | 415 | ||
416 | extern void __init sanitize_tlb_entries(void); | ||
393 | static void __init probe_tlb(unsigned long config) | 417 | static void __init probe_tlb(unsigned long config) |
394 | { | 418 | { |
395 | struct cpuinfo_mips *c = ¤t_cpu_data; | 419 | struct cpuinfo_mips *c = ¤t_cpu_data; |
@@ -402,6 +426,14 @@ static void __init probe_tlb(unsigned long config) | |||
402 | */ | 426 | */ |
403 | if ((c->processor_id & 0xff0000) == PRID_COMP_LEGACY) | 427 | if ((c->processor_id & 0xff0000) == PRID_COMP_LEGACY) |
404 | return; | 428 | return; |
429 | #ifdef CONFIG_MIPS_MT_SMTC | ||
430 | /* | ||
431 | * If TLB is shared in SMTC system, total size already | ||
432 | * has been calculated and written into cpu_data tlbsize | ||
433 | */ | ||
434 | if((smtc_status & SMTC_TLB_SHARED) == SMTC_TLB_SHARED) | ||
435 | return; | ||
436 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
405 | 437 | ||
406 | reg = read_c0_config1(); | 438 | reg = read_c0_config1(); |
407 | if (!((config >> 7) & 3)) | 439 | if (!((config >> 7) & 3)) |
@@ -410,6 +442,15 @@ static void __init probe_tlb(unsigned long config) | |||
410 | c->tlbsize = ((reg >> 25) & 0x3f) + 1; | 442 | c->tlbsize = ((reg >> 25) & 0x3f) + 1; |
411 | } | 443 | } |
412 | 444 | ||
445 | static int __initdata ntlb = 0; | ||
446 | static int __init set_ntlb(char *str) | ||
447 | { | ||
448 | get_option(&str, &ntlb); | ||
449 | return 1; | ||
450 | } | ||
451 | |||
452 | __setup("ntlb=", set_ntlb); | ||
453 | |||
413 | void __init tlb_init(void) | 454 | void __init tlb_init(void) |
414 | { | 455 | { |
415 | unsigned int config = read_c0_config(); | 456 | unsigned int config = read_c0_config(); |
@@ -432,5 +473,15 @@ void __init tlb_init(void) | |||
432 | 473 | ||
433 | /* Did I tell you that ARC SUCKS? */ | 474 | /* Did I tell you that ARC SUCKS? */ |
434 | 475 | ||
476 | if (ntlb) { | ||
477 | if (ntlb > 1 && ntlb <= current_cpu_data.tlbsize) { | ||
478 | int wired = current_cpu_data.tlbsize - ntlb; | ||
479 | write_c0_wired(wired); | ||
480 | write_c0_index(wired-1); | ||
481 | printk ("Restricting TLB to %d entries\n", ntlb); | ||
482 | } else | ||
483 | printk("Ignoring invalid argument ntlb=%d\n", ntlb); | ||
484 | } | ||
485 | |||
435 | build_tlb_refill_handler(); | 486 | build_tlb_refill_handler(); |
436 | } | 487 | } |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index 599b3c297186..053dbacac56b 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -7,6 +7,16 @@ | |||
7 | * | 7 | * |
8 | * Copyright (C) 2004,2005 by Thiemo Seufer | 8 | * Copyright (C) 2004,2005 by Thiemo Seufer |
9 | * Copyright (C) 2005 Maciej W. Rozycki | 9 | * Copyright (C) 2005 Maciej W. Rozycki |
10 | * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) | ||
11 | * | ||
12 | * ... and the days got worse and worse and now you see | ||
13 | * I've gone completly out of my mind. | ||
14 | * | ||
15 | * They're coming to take me a away haha | ||
16 | * they're coming to take me a away hoho hihi haha | ||
17 | * to the funny farm where code is beautiful all the time ... | ||
18 | * | ||
19 | * (Condolences to Napoleon XIV) | ||
10 | */ | 20 | */ |
11 | 21 | ||
12 | #include <stdarg.h> | 22 | #include <stdarg.h> |
@@ -68,6 +78,7 @@ enum fields | |||
68 | BIMM = 0x040, | 78 | BIMM = 0x040, |
69 | JIMM = 0x080, | 79 | JIMM = 0x080, |
70 | FUNC = 0x100, | 80 | FUNC = 0x100, |
81 | SET = 0x200 | ||
71 | }; | 82 | }; |
72 | 83 | ||
73 | #define OP_MASK 0x2f | 84 | #define OP_MASK 0x2f |
@@ -86,6 +97,8 @@ enum fields | |||
86 | #define JIMM_SH 0 | 97 | #define JIMM_SH 0 |
87 | #define FUNC_MASK 0x2f | 98 | #define FUNC_MASK 0x2f |
88 | #define FUNC_SH 0 | 99 | #define FUNC_SH 0 |
100 | #define SET_MASK 0x7 | ||
101 | #define SET_SH 0 | ||
89 | 102 | ||
90 | enum opcode { | 103 | enum opcode { |
91 | insn_invalid, | 104 | insn_invalid, |
@@ -129,8 +142,8 @@ static __initdata struct insn insn_table[] = { | |||
129 | { insn_bne, M(bne_op,0,0,0,0,0), RS | RT | BIMM }, | 142 | { insn_bne, M(bne_op,0,0,0,0,0), RS | RT | BIMM }, |
130 | { insn_daddiu, M(daddiu_op,0,0,0,0,0), RS | RT | SIMM }, | 143 | { insn_daddiu, M(daddiu_op,0,0,0,0,0), RS | RT | SIMM }, |
131 | { insn_daddu, M(spec_op,0,0,0,0,daddu_op), RS | RT | RD }, | 144 | { insn_daddu, M(spec_op,0,0,0,0,daddu_op), RS | RT | RD }, |
132 | { insn_dmfc0, M(cop0_op,dmfc_op,0,0,0,0), RT | RD }, | 145 | { insn_dmfc0, M(cop0_op,dmfc_op,0,0,0,0), RT | RD | SET}, |
133 | { insn_dmtc0, M(cop0_op,dmtc_op,0,0,0,0), RT | RD }, | 146 | { insn_dmtc0, M(cop0_op,dmtc_op,0,0,0,0), RT | RD | SET}, |
134 | { insn_dsll, M(spec_op,0,0,0,0,dsll_op), RT | RD | RE }, | 147 | { insn_dsll, M(spec_op,0,0,0,0,dsll_op), RT | RD | RE }, |
135 | { insn_dsll32, M(spec_op,0,0,0,0,dsll32_op), RT | RD | RE }, | 148 | { insn_dsll32, M(spec_op,0,0,0,0,dsll32_op), RT | RD | RE }, |
136 | { insn_dsra, M(spec_op,0,0,0,0,dsra_op), RT | RD | RE }, | 149 | { insn_dsra, M(spec_op,0,0,0,0,dsra_op), RT | RD | RE }, |
@@ -145,8 +158,8 @@ static __initdata struct insn insn_table[] = { | |||
145 | { insn_lld, M(lld_op,0,0,0,0,0), RS | RT | SIMM }, | 158 | { insn_lld, M(lld_op,0,0,0,0,0), RS | RT | SIMM }, |
146 | { insn_lui, M(lui_op,0,0,0,0,0), RT | SIMM }, | 159 | { insn_lui, M(lui_op,0,0,0,0,0), RT | SIMM }, |
147 | { insn_lw, M(lw_op,0,0,0,0,0), RS | RT | SIMM }, | 160 | { insn_lw, M(lw_op,0,0,0,0,0), RS | RT | SIMM }, |
148 | { insn_mfc0, M(cop0_op,mfc_op,0,0,0,0), RT | RD }, | 161 | { insn_mfc0, M(cop0_op,mfc_op,0,0,0,0), RT | RD | SET}, |
149 | { insn_mtc0, M(cop0_op,mtc_op,0,0,0,0), RT | RD }, | 162 | { insn_mtc0, M(cop0_op,mtc_op,0,0,0,0), RT | RD | SET}, |
150 | { insn_ori, M(ori_op,0,0,0,0,0), RS | RT | UIMM }, | 163 | { insn_ori, M(ori_op,0,0,0,0,0), RS | RT | UIMM }, |
151 | { insn_rfe, M(cop0_op,cop_op,0,0,0,rfe_op), 0 }, | 164 | { insn_rfe, M(cop0_op,cop_op,0,0,0,rfe_op), 0 }, |
152 | { insn_sc, M(sc_op,0,0,0,0,0), RS | RT | SIMM }, | 165 | { insn_sc, M(sc_op,0,0,0,0,0), RS | RT | SIMM }, |
@@ -242,6 +255,14 @@ static __init u32 build_func(u32 arg) | |||
242 | return arg & FUNC_MASK; | 255 | return arg & FUNC_MASK; |
243 | } | 256 | } |
244 | 257 | ||
258 | static __init u32 build_set(u32 arg) | ||
259 | { | ||
260 | if (arg & ~SET_MASK) | ||
261 | printk(KERN_WARNING "TLB synthesizer field overflow\n"); | ||
262 | |||
263 | return arg & SET_MASK; | ||
264 | } | ||
265 | |||
245 | /* | 266 | /* |
246 | * The order of opcode arguments is implicitly left to right, | 267 | * The order of opcode arguments is implicitly left to right, |
247 | * starting with RS and ending with FUNC or IMM. | 268 | * starting with RS and ending with FUNC or IMM. |
@@ -273,6 +294,7 @@ static void __init build_insn(u32 **buf, enum opcode opc, ...) | |||
273 | if (ip->fields & BIMM) op |= build_bimm(va_arg(ap, s32)); | 294 | if (ip->fields & BIMM) op |= build_bimm(va_arg(ap, s32)); |
274 | if (ip->fields & JIMM) op |= build_jimm(va_arg(ap, u32)); | 295 | if (ip->fields & JIMM) op |= build_jimm(va_arg(ap, u32)); |
275 | if (ip->fields & FUNC) op |= build_func(va_arg(ap, u32)); | 296 | if (ip->fields & FUNC) op |= build_func(va_arg(ap, u32)); |
297 | if (ip->fields & SET) op |= build_set(va_arg(ap, u32)); | ||
276 | va_end(ap); | 298 | va_end(ap); |
277 | 299 | ||
278 | **buf = op; | 300 | **buf = op; |
@@ -358,8 +380,8 @@ I_u1s2(_bgezl); | |||
358 | I_u1s2(_bltz); | 380 | I_u1s2(_bltz); |
359 | I_u1s2(_bltzl); | 381 | I_u1s2(_bltzl); |
360 | I_u1u2s3(_bne); | 382 | I_u1u2s3(_bne); |
361 | I_u1u2(_dmfc0); | 383 | I_u1u2u3(_dmfc0); |
362 | I_u1u2(_dmtc0); | 384 | I_u1u2u3(_dmtc0); |
363 | I_u2u1s3(_daddiu); | 385 | I_u2u1s3(_daddiu); |
364 | I_u3u1u2(_daddu); | 386 | I_u3u1u2(_daddu); |
365 | I_u2u1u3(_dsll); | 387 | I_u2u1u3(_dsll); |
@@ -376,8 +398,8 @@ I_u2s3u1(_ll); | |||
376 | I_u2s3u1(_lld); | 398 | I_u2s3u1(_lld); |
377 | I_u1s2(_lui); | 399 | I_u1s2(_lui); |
378 | I_u2s3u1(_lw); | 400 | I_u2s3u1(_lw); |
379 | I_u1u2(_mfc0); | 401 | I_u1u2u3(_mfc0); |
380 | I_u1u2(_mtc0); | 402 | I_u1u2u3(_mtc0); |
381 | I_u2u1u3(_ori); | 403 | I_u2u1u3(_ori); |
382 | I_0(_rfe); | 404 | I_0(_rfe); |
383 | I_u2s3u1(_sc); | 405 | I_u2s3u1(_sc); |
@@ -451,8 +473,8 @@ L_LA(_r3000_write_probe_fail) | |||
451 | # define i_SLL(buf, rs, rt, sh) i_dsll(buf, rs, rt, sh) | 473 | # define i_SLL(buf, rs, rt, sh) i_dsll(buf, rs, rt, sh) |
452 | # define i_SRA(buf, rs, rt, sh) i_dsra(buf, rs, rt, sh) | 474 | # define i_SRA(buf, rs, rt, sh) i_dsra(buf, rs, rt, sh) |
453 | # define i_SRL(buf, rs, rt, sh) i_dsrl(buf, rs, rt, sh) | 475 | # define i_SRL(buf, rs, rt, sh) i_dsrl(buf, rs, rt, sh) |
454 | # define i_MFC0(buf, rt, rd) i_dmfc0(buf, rt, rd) | 476 | # define i_MFC0(buf, rt, rd...) i_dmfc0(buf, rt, rd) |
455 | # define i_MTC0(buf, rt, rd) i_dmtc0(buf, rt, rd) | 477 | # define i_MTC0(buf, rt, rd...) i_dmtc0(buf, rt, rd) |
456 | # define i_ADDIU(buf, rs, rt, val) i_daddiu(buf, rs, rt, val) | 478 | # define i_ADDIU(buf, rs, rt, val) i_daddiu(buf, rs, rt, val) |
457 | # define i_ADDU(buf, rs, rt, rd) i_daddu(buf, rs, rt, rd) | 479 | # define i_ADDU(buf, rs, rt, rd) i_daddu(buf, rs, rt, rd) |
458 | # define i_SUBU(buf, rs, rt, rd) i_dsubu(buf, rs, rt, rd) | 480 | # define i_SUBU(buf, rs, rt, rd) i_dsubu(buf, rs, rt, rd) |
@@ -464,8 +486,8 @@ L_LA(_r3000_write_probe_fail) | |||
464 | # define i_SLL(buf, rs, rt, sh) i_sll(buf, rs, rt, sh) | 486 | # define i_SLL(buf, rs, rt, sh) i_sll(buf, rs, rt, sh) |
465 | # define i_SRA(buf, rs, rt, sh) i_sra(buf, rs, rt, sh) | 487 | # define i_SRA(buf, rs, rt, sh) i_sra(buf, rs, rt, sh) |
466 | # define i_SRL(buf, rs, rt, sh) i_srl(buf, rs, rt, sh) | 488 | # define i_SRL(buf, rs, rt, sh) i_srl(buf, rs, rt, sh) |
467 | # define i_MFC0(buf, rt, rd) i_mfc0(buf, rt, rd) | 489 | # define i_MFC0(buf, rt, rd...) i_mfc0(buf, rt, rd) |
468 | # define i_MTC0(buf, rt, rd) i_mtc0(buf, rt, rd) | 490 | # define i_MTC0(buf, rt, rd...) i_mtc0(buf, rt, rd) |
469 | # define i_ADDIU(buf, rs, rt, val) i_addiu(buf, rs, rt, val) | 491 | # define i_ADDIU(buf, rs, rt, val) i_addiu(buf, rs, rt, val) |
470 | # define i_ADDU(buf, rs, rt, rd) i_addu(buf, rs, rt, rd) | 492 | # define i_ADDU(buf, rs, rt, rd) i_addu(buf, rs, rt, rd) |
471 | # define i_SUBU(buf, rs, rt, rd) i_subu(buf, rs, rt, rd) | 493 | # define i_SUBU(buf, rs, rt, rd) i_subu(buf, rs, rt, rd) |
@@ -670,14 +692,15 @@ static void __init il_bgezl(u32 **p, struct reloc **r, unsigned int reg, | |||
670 | #define K1 27 | 692 | #define K1 27 |
671 | 693 | ||
672 | /* Some CP0 registers */ | 694 | /* Some CP0 registers */ |
673 | #define C0_INDEX 0 | 695 | #define C0_INDEX 0, 0 |
674 | #define C0_ENTRYLO0 2 | 696 | #define C0_ENTRYLO0 2, 0 |
675 | #define C0_ENTRYLO1 3 | 697 | #define C0_TCBIND 2, 2 |
676 | #define C0_CONTEXT 4 | 698 | #define C0_ENTRYLO1 3, 0 |
677 | #define C0_BADVADDR 8 | 699 | #define C0_CONTEXT 4, 0 |
678 | #define C0_ENTRYHI 10 | 700 | #define C0_BADVADDR 8, 0 |
679 | #define C0_EPC 14 | 701 | #define C0_ENTRYHI 10, 0 |
680 | #define C0_XCONTEXT 20 | 702 | #define C0_EPC 14, 0 |
703 | #define C0_XCONTEXT 20, 0 | ||
681 | 704 | ||
682 | #ifdef CONFIG_64BIT | 705 | #ifdef CONFIG_64BIT |
683 | # define GET_CONTEXT(buf, reg) i_MFC0(buf, reg, C0_XCONTEXT) | 706 | # define GET_CONTEXT(buf, reg) i_MFC0(buf, reg, C0_XCONTEXT) |
@@ -742,7 +765,7 @@ static void __init build_r3000_tlb_refill_handler(void) | |||
742 | } | 765 | } |
743 | #endif | 766 | #endif |
744 | 767 | ||
745 | memcpy((void *)CAC_BASE, tlb_handler, 0x80); | 768 | memcpy((void *)ebase, tlb_handler, 0x80); |
746 | } | 769 | } |
747 | 770 | ||
748 | /* | 771 | /* |
@@ -951,12 +974,20 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r, | |||
951 | /* No i_nop needed here, since the next insn doesn't touch TMP. */ | 974 | /* No i_nop needed here, since the next insn doesn't touch TMP. */ |
952 | 975 | ||
953 | #ifdef CONFIG_SMP | 976 | #ifdef CONFIG_SMP |
977 | # ifdef CONFIG_MIPS_MT_SMTC | ||
978 | /* | ||
979 | * SMTC uses TCBind value as "CPU" index | ||
980 | */ | ||
981 | i_mfc0(p, ptr, C0_TCBIND); | ||
982 | i_dsrl(p, ptr, ptr, 19); | ||
983 | # else | ||
954 | /* | 984 | /* |
955 | * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 | 985 | * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 |
956 | * stored in CONTEXT. | 986 | * stored in CONTEXT. |
957 | */ | 987 | */ |
958 | i_dmfc0(p, ptr, C0_CONTEXT); | 988 | i_dmfc0(p, ptr, C0_CONTEXT); |
959 | i_dsrl(p, ptr, ptr, 23); | 989 | i_dsrl(p, ptr, ptr, 23); |
990 | #endif | ||
960 | i_LA_mostly(p, tmp, pgdc); | 991 | i_LA_mostly(p, tmp, pgdc); |
961 | i_daddu(p, ptr, ptr, tmp); | 992 | i_daddu(p, ptr, ptr, tmp); |
962 | i_dmfc0(p, tmp, C0_BADVADDR); | 993 | i_dmfc0(p, tmp, C0_BADVADDR); |
@@ -1014,9 +1045,21 @@ build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr) | |||
1014 | 1045 | ||
1015 | /* 32 bit SMP has smp_processor_id() stored in CONTEXT. */ | 1046 | /* 32 bit SMP has smp_processor_id() stored in CONTEXT. */ |
1016 | #ifdef CONFIG_SMP | 1047 | #ifdef CONFIG_SMP |
1048 | #ifdef CONFIG_MIPS_MT_SMTC | ||
1049 | /* | ||
1050 | * SMTC uses TCBind value as "CPU" index | ||
1051 | */ | ||
1052 | i_mfc0(p, ptr, C0_TCBIND); | ||
1053 | i_LA_mostly(p, tmp, pgdc); | ||
1054 | i_srl(p, ptr, ptr, 19); | ||
1055 | #else | ||
1056 | /* | ||
1057 | * smp_processor_id() << 3 is stored in CONTEXT. | ||
1058 | */ | ||
1017 | i_mfc0(p, ptr, C0_CONTEXT); | 1059 | i_mfc0(p, ptr, C0_CONTEXT); |
1018 | i_LA_mostly(p, tmp, pgdc); | 1060 | i_LA_mostly(p, tmp, pgdc); |
1019 | i_srl(p, ptr, ptr, 23); | 1061 | i_srl(p, ptr, ptr, 23); |
1062 | #endif | ||
1020 | i_addu(p, ptr, tmp, ptr); | 1063 | i_addu(p, ptr, tmp, ptr); |
1021 | #else | 1064 | #else |
1022 | i_LA_mostly(p, ptr, pgdc); | 1065 | i_LA_mostly(p, ptr, pgdc); |
@@ -1247,7 +1290,7 @@ static void __init build_r4000_tlb_refill_handler(void) | |||
1247 | } | 1290 | } |
1248 | #endif | 1291 | #endif |
1249 | 1292 | ||
1250 | memcpy((void *)CAC_BASE, final_handler, 0x100); | 1293 | memcpy((void *)ebase, final_handler, 0x100); |
1251 | } | 1294 | } |
1252 | 1295 | ||
1253 | /* | 1296 | /* |
diff --git a/arch/mips/momentum/jaguar_atx/Makefile b/arch/mips/momentum/jaguar_atx/Makefile index 20bbd3ea44a8..67372f3f9654 100644 --- a/arch/mips/momentum/jaguar_atx/Makefile +++ b/arch/mips/momentum/jaguar_atx/Makefile | |||
@@ -6,7 +6,7 @@ | |||
6 | # unless it's something special (ie not a .c file). | 6 | # unless it's something special (ie not a .c file). |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += int-handler.o irq.o prom.o reset.o setup.o | 9 | obj-y += irq.o prom.o reset.o setup.o |
10 | 10 | ||
11 | obj-$(CONFIG_SERIAL_8250_CONSOLE) += ja-console.o | 11 | obj-$(CONFIG_SERIAL_8250_CONSOLE) += ja-console.o |
12 | obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o | 12 | obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o |
diff --git a/arch/mips/momentum/jaguar_atx/int-handler.S b/arch/mips/momentum/jaguar_atx/int-handler.S deleted file mode 100644 index 55bc789733f2..000000000000 --- a/arch/mips/momentum/jaguar_atx/int-handler.S +++ /dev/null | |||
@@ -1,128 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2002 Momentum Computer Inc. | ||
3 | * Author: Matthew Dharm <mdharm@momenco.com> | ||
4 | * | ||
5 | * Based on work: | ||
6 | * Copyright 2001 MontaVista Software Inc. | ||
7 | * Author: jsun@mvista.com or jsun@junsun.net | ||
8 | * | ||
9 | * First-level interrupt dispatcher for Jaguar-ATX board. | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify it | ||
12 | * under the terms of the GNU General Public License as published by the | ||
13 | * Free Software Foundation; either version 2 of the License, or (at your | ||
14 | * option) any later version. | ||
15 | */ | ||
16 | #include <asm/asm.h> | ||
17 | #include <asm/mipsregs.h> | ||
18 | #include <asm/addrspace.h> | ||
19 | #include <asm/regdef.h> | ||
20 | #include <asm/stackframe.h> | ||
21 | |||
22 | /* | ||
23 | * First level interrupt dispatcher for Ocelot-CS board | ||
24 | */ | ||
25 | .align 5 | ||
26 | NESTED(jaguar_handle_int, PT_SIZE, sp) | ||
27 | SAVE_ALL | ||
28 | CLI | ||
29 | .set at | ||
30 | mfc0 t0, CP0_CAUSE | ||
31 | mfc0 t2, CP0_STATUS | ||
32 | |||
33 | and t0, t2 | ||
34 | |||
35 | andi t1, t0, STATUSF_IP0 /* sw0 software interrupt */ | ||
36 | bnez t1, ll_sw0_irq | ||
37 | andi t1, t0, STATUSF_IP1 /* sw1 software interrupt */ | ||
38 | bnez t1, ll_sw1_irq | ||
39 | andi t1, t0, STATUSF_IP2 /* int0 hardware line */ | ||
40 | bnez t1, ll_pcixa_irq | ||
41 | andi t1, t0, STATUSF_IP3 /* int1 hardware line */ | ||
42 | bnez t1, ll_pcixb_irq | ||
43 | andi t1, t0, STATUSF_IP4 /* int2 hardware line */ | ||
44 | bnez t1, ll_pcia_irq | ||
45 | andi t1, t0, STATUSF_IP5 /* int3 hardware line */ | ||
46 | bnez t1, ll_pcib_irq | ||
47 | andi t1, t0, STATUSF_IP6 /* int4 hardware line */ | ||
48 | bnez t1, ll_uart_irq | ||
49 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
50 | bnez t1, ll_cputimer_irq | ||
51 | |||
52 | nop | ||
53 | nop | ||
54 | |||
55 | /* now look at extended interrupts */ | ||
56 | mfc0 t0, CP0_CAUSE | ||
57 | cfc0 t1, CP0_S1_INTCONTROL | ||
58 | |||
59 | /* shift the mask 8 bits left to line up the bits */ | ||
60 | sll t2, t1, 8 | ||
61 | |||
62 | and t0, t2 | ||
63 | srl t0, t0, 16 | ||
64 | |||
65 | andi t1, t0, STATUSF_IP8 /* int6 hardware line */ | ||
66 | bnez t1, ll_mv64340_decode_irq | ||
67 | |||
68 | nop | ||
69 | nop | ||
70 | |||
71 | .set reorder | ||
72 | |||
73 | /* wrong alarm or masked ... */ | ||
74 | j spurious_interrupt | ||
75 | nop | ||
76 | END(jaguar_handle_int) | ||
77 | |||
78 | .align 5 | ||
79 | ll_sw0_irq: | ||
80 | li a0, 0 | ||
81 | move a1, sp | ||
82 | jal do_IRQ | ||
83 | j ret_from_irq | ||
84 | ll_sw1_irq: | ||
85 | li a0, 1 | ||
86 | move a1, sp | ||
87 | jal do_IRQ | ||
88 | j ret_from_irq | ||
89 | ll_pcixa_irq: | ||
90 | li a0, 2 | ||
91 | move a1, sp | ||
92 | jal do_IRQ | ||
93 | j ret_from_irq | ||
94 | |||
95 | ll_pcixb_irq: | ||
96 | li a0, 3 | ||
97 | move a1, sp | ||
98 | jal do_IRQ | ||
99 | j ret_from_irq | ||
100 | |||
101 | ll_pcia_irq: | ||
102 | li a0, 4 | ||
103 | move a1, sp | ||
104 | jal do_IRQ | ||
105 | j ret_from_irq | ||
106 | |||
107 | ll_pcib_irq: | ||
108 | li a0, 5 | ||
109 | move a1, sp | ||
110 | jal do_IRQ | ||
111 | j ret_from_irq | ||
112 | |||
113 | ll_uart_irq: | ||
114 | li a0, 6 | ||
115 | move a1, sp | ||
116 | jal do_IRQ | ||
117 | j ret_from_irq | ||
118 | |||
119 | ll_cputimer_irq: | ||
120 | li a0, 7 | ||
121 | move a1, sp | ||
122 | jal ll_timer_interrupt | ||
123 | j ret_from_irq | ||
124 | |||
125 | ll_mv64340_decode_irq: | ||
126 | move a0, sp | ||
127 | jal ll_mv64340_irq | ||
128 | j ret_from_irq | ||
diff --git a/arch/mips/momentum/jaguar_atx/irq.c b/arch/mips/momentum/jaguar_atx/irq.c index 15588f91ace2..ec4032b38f19 100644 --- a/arch/mips/momentum/jaguar_atx/irq.c +++ b/arch/mips/momentum/jaguar_atx/irq.c | |||
@@ -10,7 +10,7 @@ | |||
10 | * Copyright 2001 MontaVista Software Inc. | 10 | * Copyright 2001 MontaVista Software Inc. |
11 | * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net | 11 | * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net |
12 | * | 12 | * |
13 | * Copyright (C) 2000, 2001 Ralf Baechle (ralf@gnu.org) | 13 | * Copyright (C) 2000, 01, 06 Ralf Baechle (ralf@linux-mips.org) |
14 | * | 14 | * |
15 | * This program is free software; you can redistribute it and/or modify it | 15 | * This program is free software; you can redistribute it and/or modify it |
16 | * under the terms of the GNU General Public License as published by the | 16 | * under the terms of the GNU General Public License as published by the |
@@ -38,8 +38,37 @@ | |||
38 | #include <linux/types.h> | 38 | #include <linux/types.h> |
39 | #include <asm/irq_cpu.h> | 39 | #include <asm/irq_cpu.h> |
40 | #include <asm/mipsregs.h> | 40 | #include <asm/mipsregs.h> |
41 | #include <asm/time.h> | ||
41 | 42 | ||
42 | extern asmlinkage void jaguar_handle_int(void); | 43 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
44 | { | ||
45 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
46 | |||
47 | if (pending & STATUSF_IP0) | ||
48 | do_IRQ(0, regs); | ||
49 | else if (pending & STATUSF_IP1) | ||
50 | do_IRQ(1, regs); | ||
51 | else if (pending & STATUSF_IP2) | ||
52 | do_IRQ(2, regs); | ||
53 | else if (pending & STATUSF_IP3) | ||
54 | do_IRQ(3, regs); | ||
55 | else if (pending & STATUSF_IP4) | ||
56 | do_IRQ(4, regs); | ||
57 | else if (pending & STATUSF_IP5) | ||
58 | do_IRQ(5, regs); | ||
59 | else if (pending & STATUSF_IP6) | ||
60 | do_IRQ(6, regs); | ||
61 | else if (pending & STATUSF_IP7) | ||
62 | ll_timer_interrupt(7, regs); | ||
63 | else { | ||
64 | /* | ||
65 | * Now look at the extended interrupts | ||
66 | */ | ||
67 | pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16; | ||
68 | if (pending & STATUSF_IP8) | ||
69 | ll_mv64340_irq(regs); | ||
70 | } | ||
71 | } | ||
43 | 72 | ||
44 | static struct irqaction cascade_mv64340 = { | 73 | static struct irqaction cascade_mv64340 = { |
45 | no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL | 74 | no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL |
@@ -53,8 +82,6 @@ void __init arch_init_irq(void) | |||
53 | */ | 82 | */ |
54 | clear_c0_status(ST0_IM); | 83 | clear_c0_status(ST0_IM); |
55 | 84 | ||
56 | /* Sets the first-level interrupt dispatcher. */ | ||
57 | set_except_vector(0, jaguar_handle_int); | ||
58 | mips_cpu_irq_init(0); | 85 | mips_cpu_irq_init(0); |
59 | rm7k_cpu_irq_init(8); | 86 | rm7k_cpu_irq_init(8); |
60 | 87 | ||
diff --git a/arch/mips/momentum/jaguar_atx/setup.c b/arch/mips/momentum/jaguar_atx/setup.c index 91d9637143d7..1379c76845dc 100644 --- a/arch/mips/momentum/jaguar_atx/setup.c +++ b/arch/mips/momentum/jaguar_atx/setup.c | |||
@@ -381,24 +381,24 @@ void __init plat_setup(void) | |||
381 | * shut down ethernet ports, just to be sure our memory doesn't get | 381 | * shut down ethernet ports, just to be sure our memory doesn't get |
382 | * corrupted by random ethernet traffic. | 382 | * corrupted by random ethernet traffic. |
383 | */ | 383 | */ |
384 | MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); | 384 | MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); |
385 | MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); | 385 | MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); |
386 | MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(2), 0xff << 8); | 386 | MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(2), 0xff << 8); |
387 | MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); | 387 | MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); |
388 | MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); | 388 | MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); |
389 | MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(2), 0xff << 8); | 389 | MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(2), 0xff << 8); |
390 | while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); | 390 | while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); |
391 | while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); | 391 | while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); |
392 | while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(2)) & 0xff); | 392 | while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(2)) & 0xff); |
393 | while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); | 393 | while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); |
394 | while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); | 394 | while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); |
395 | while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(2)) & 0xff); | 395 | while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(2)) & 0xff); |
396 | MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0), | 396 | MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0), |
397 | MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); | 397 | MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); |
398 | MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1), | 398 | MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1), |
399 | MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); | 399 | MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); |
400 | MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(2), | 400 | MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(2), |
401 | MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(2)) & ~1); | 401 | MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(2)) & ~1); |
402 | 402 | ||
403 | /* Turn off the Bit-Error LED */ | 403 | /* Turn off the Bit-Error LED */ |
404 | JAGUAR_FPGA_WRITE(0x80, CLR); | 404 | JAGUAR_FPGA_WRITE(0x80, CLR); |
diff --git a/arch/mips/momentum/ocelot_3/Makefile b/arch/mips/momentum/ocelot_3/Makefile index aab8fd89f830..8bcea64dd27b 100644 --- a/arch/mips/momentum/ocelot_3/Makefile +++ b/arch/mips/momentum/ocelot_3/Makefile | |||
@@ -5,4 +5,4 @@ | |||
5 | # removes any old dependencies. DON'T put your own dependencies here | 5 | # removes any old dependencies. DON'T put your own dependencies here |
6 | # unless it's something special (ie not a .c file). | 6 | # unless it's something special (ie not a .c file). |
7 | # | 7 | # |
8 | obj-y += int-handler.o irq.o prom.o reset.o setup.o | 8 | obj-y += irq.o prom.o reset.o setup.o |
diff --git a/arch/mips/momentum/ocelot_3/int-handler.S b/arch/mips/momentum/ocelot_3/int-handler.S deleted file mode 100644 index 4522f09ed769..000000000000 --- a/arch/mips/momentum/ocelot_3/int-handler.S +++ /dev/null | |||
@@ -1,137 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2002 Momentum Computer Inc. | ||
3 | * Author: Matthew Dharm <mdharm@momenco.com> | ||
4 | * | ||
5 | * Copyright 2001 MontaVista Software Inc. | ||
6 | * Author: jsun@mvista.com or jsun@junsun.net | ||
7 | * | ||
8 | * Copyright 2004 PMC-Sierra | ||
9 | * Author: Manish Lachwani (lachwani@pmc-sierra.com) | ||
10 | * | ||
11 | * Copyright (C) 2004 MontaVista Software Inc. | ||
12 | * Author: Manish Lachwani, mlachwani@mvista.com | ||
13 | * | ||
14 | * First-level interrupt dispatcher for Ocelot-3 board. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify it | ||
17 | * under the terms of the GNU General Public License as published by the | ||
18 | * Free Software Foundation; either version 2 of the License, or (at your | ||
19 | * option) any later version. | ||
20 | */ | ||
21 | #include <asm/asm.h> | ||
22 | #include <asm/mipsregs.h> | ||
23 | #include <asm/addrspace.h> | ||
24 | #include <asm/regdef.h> | ||
25 | #include <asm/stackframe.h> | ||
26 | |||
27 | /* | ||
28 | * First level interrupt dispatcher for Ocelot-3 board | ||
29 | */ | ||
30 | .align 5 | ||
31 | NESTED(ocelot3_handle_int, PT_SIZE, sp) | ||
32 | SAVE_ALL | ||
33 | CLI | ||
34 | .set at | ||
35 | |||
36 | mfc0 t0, CP0_CAUSE | ||
37 | mfc0 t2, CP0_STATUS | ||
38 | |||
39 | and t0, t2 | ||
40 | |||
41 | andi t1, t0, STATUSF_IP0 /* sw0 software interrupt (IRQ0) */ | ||
42 | bnez t1, ll_sw0_irq | ||
43 | |||
44 | andi t1, t0, STATUSF_IP1 /* sw1 software interrupt (IRQ1) */ | ||
45 | bnez t1, ll_sw1_irq | ||
46 | |||
47 | andi t1, t0, STATUSF_IP2 /* int0 hardware line (IRQ2) */ | ||
48 | bnez t1, ll_pci0slot1_irq | ||
49 | |||
50 | andi t1, t0, STATUSF_IP3 /* int1 hardware line (IRQ3) */ | ||
51 | bnez t1, ll_pci0slot2_irq | ||
52 | |||
53 | andi t1, t0, STATUSF_IP4 /* int2 hardware line (IRQ4) */ | ||
54 | bnez t1, ll_pci1slot1_irq | ||
55 | |||
56 | andi t1, t0, STATUSF_IP5 /* int3 hardware line (IRQ5) */ | ||
57 | bnez t1, ll_pci1slot2_irq | ||
58 | |||
59 | andi t1, t0, STATUSF_IP6 /* int4 hardware line (IRQ6) */ | ||
60 | bnez t1, ll_uart_irq | ||
61 | |||
62 | andi t1, t0, STATUSF_IP7 /* cpu timer (IRQ7) */ | ||
63 | bnez t1, ll_cputimer_irq | ||
64 | |||
65 | /* now look at extended interrupts */ | ||
66 | mfc0 t0, CP0_CAUSE | ||
67 | cfc0 t1, CP0_S1_INTCONTROL | ||
68 | |||
69 | /* shift the mask 8 bits left to line up the bits */ | ||
70 | sll t2, t1, 8 | ||
71 | |||
72 | and t0, t2 | ||
73 | srl t0, t0, 16 | ||
74 | |||
75 | andi t1, t0, STATUSF_IP8 /* int6 hardware line (IRQ9) */ | ||
76 | bnez t1, ll_mv64340_decode_irq | ||
77 | |||
78 | .set reorder | ||
79 | |||
80 | /* wrong alarm or masked ... */ | ||
81 | j spurious_interrupt | ||
82 | nop | ||
83 | END(ocelot3_handle_int) | ||
84 | |||
85 | .align 5 | ||
86 | ll_sw0_irq: | ||
87 | li a0, 0 /* IRQ 1 */ | ||
88 | move a1, sp | ||
89 | jal do_IRQ | ||
90 | j ret_from_irq | ||
91 | ll_sw1_irq: | ||
92 | li a0, 1 /* IRQ 2 */ | ||
93 | move a1, sp | ||
94 | jal do_IRQ | ||
95 | j ret_from_irq | ||
96 | |||
97 | ll_pci0slot1_irq: | ||
98 | li a0, 2 /* IRQ 3 */ | ||
99 | move a1, sp | ||
100 | jal do_IRQ | ||
101 | j ret_from_irq | ||
102 | |||
103 | ll_pci0slot2_irq: | ||
104 | li a0, 3 /* IRQ 4 */ | ||
105 | move a1, sp | ||
106 | jal do_IRQ | ||
107 | j ret_from_irq | ||
108 | |||
109 | ll_pci1slot1_irq: | ||
110 | li a0, 4 /* IRQ 5 */ | ||
111 | move a1, sp | ||
112 | jal do_IRQ | ||
113 | j ret_from_irq | ||
114 | |||
115 | ll_pci1slot2_irq: | ||
116 | li a0, 5 /* IRQ 6 */ | ||
117 | move a1, sp | ||
118 | jal do_IRQ | ||
119 | j ret_from_irq | ||
120 | |||
121 | ll_uart_irq: | ||
122 | li a0, 6 /* IRQ 7 */ | ||
123 | move a1, sp | ||
124 | jal do_IRQ | ||
125 | j ret_from_irq | ||
126 | |||
127 | ll_cputimer_irq: | ||
128 | li a0, 7 /* IRQ 8 */ | ||
129 | move a1, sp | ||
130 | jal do_IRQ | ||
131 | j ret_from_irq | ||
132 | |||
133 | ll_mv64340_decode_irq: | ||
134 | move a0, sp | ||
135 | jal ll_mv64340_irq | ||
136 | j ret_from_irq | ||
137 | |||
diff --git a/arch/mips/momentum/ocelot_3/irq.c b/arch/mips/momentum/ocelot_3/irq.c index 42464dbd4ad2..87c63c340ae3 100644 --- a/arch/mips/momentum/ocelot_3/irq.c +++ b/arch/mips/momentum/ocelot_3/irq.c | |||
@@ -53,8 +53,6 @@ | |||
53 | #include <asm/mipsregs.h> | 53 | #include <asm/mipsregs.h> |
54 | #include <asm/system.h> | 54 | #include <asm/system.h> |
55 | 55 | ||
56 | extern asmlinkage void ocelot3_handle_int(void); | ||
57 | |||
58 | static struct irqaction cascade_mv64340 = { | 56 | static struct irqaction cascade_mv64340 = { |
59 | no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL | 57 | no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL |
60 | }; | 58 | }; |
@@ -67,9 +65,6 @@ void __init arch_init_irq(void) | |||
67 | */ | 65 | */ |
68 | clear_c0_status(ST0_IM | ST0_BEV); | 66 | clear_c0_status(ST0_IM | ST0_BEV); |
69 | 67 | ||
70 | /* Sets the first-level interrupt dispatcher. */ | ||
71 | set_except_vector(0, ocelot3_handle_int); | ||
72 | mips_cpu_irq_init(0); | ||
73 | rm7k_cpu_irq_init(8); | 68 | rm7k_cpu_irq_init(8); |
74 | 69 | ||
75 | /* set up the cascading interrupts */ | 70 | /* set up the cascading interrupts */ |
@@ -79,3 +74,36 @@ void __init arch_init_irq(void) | |||
79 | set_c0_status(ST0_IM); /* IE in the status register */ | 74 | set_c0_status(ST0_IM); /* IE in the status register */ |
80 | 75 | ||
81 | } | 76 | } |
77 | |||
78 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
79 | { | ||
80 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
81 | |||
82 | if (pending & STATUSF_IP0) | ||
83 | do_IRQ(0, regs); | ||
84 | else if (pending & STATUSF_IP1) | ||
85 | do_IRQ(1, regs); | ||
86 | else if (pending & STATUSF_IP2) | ||
87 | do_IRQ(2, regs); | ||
88 | else if (pending & STATUSF_IP3) | ||
89 | do_IRQ(3, regs); | ||
90 | else if (pending & STATUSF_IP4) | ||
91 | do_IRQ(4, regs); | ||
92 | else if (pending & STATUSF_IP5) | ||
93 | do_IRQ(5, regs); | ||
94 | else if (pending & STATUSF_IP6) | ||
95 | do_IRQ(6, regs); | ||
96 | else if (pending & STATUSF_IP7) | ||
97 | do_IRQ(7, regs); | ||
98 | else { | ||
99 | /* | ||
100 | * Now look at the extended interrupts | ||
101 | */ | ||
102 | pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16; | ||
103 | |||
104 | if (pending & STATUSF_IP8) | ||
105 | ll_mv64340_irq(regs); | ||
106 | else | ||
107 | spurious_interrupt(regs); | ||
108 | } | ||
109 | } | ||
diff --git a/arch/mips/momentum/ocelot_3/setup.c b/arch/mips/momentum/ocelot_3/setup.c index 370e75d0e75c..c69195234309 100644 --- a/arch/mips/momentum/ocelot_3/setup.c +++ b/arch/mips/momentum/ocelot_3/setup.c | |||
@@ -329,22 +329,22 @@ void __init plat_setup(void) | |||
329 | /* shut down ethernet ports, just to be sure our memory doesn't get | 329 | /* shut down ethernet ports, just to be sure our memory doesn't get |
330 | * corrupted by random ethernet traffic. | 330 | * corrupted by random ethernet traffic. |
331 | */ | 331 | */ |
332 | MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); | 332 | MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); |
333 | MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); | 333 | MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); |
334 | MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); | 334 | MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); |
335 | MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); | 335 | MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); |
336 | do {} | 336 | do {} |
337 | while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); | 337 | while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); |
338 | do {} | 338 | do {} |
339 | while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); | 339 | while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); |
340 | do {} | 340 | do {} |
341 | while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); | 341 | while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); |
342 | do {} | 342 | do {} |
343 | while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); | 343 | while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); |
344 | MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0), | 344 | MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0), |
345 | MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); | 345 | MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); |
346 | MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1), | 346 | MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1), |
347 | MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); | 347 | MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); |
348 | 348 | ||
349 | /* Turn off the Bit-Error LED */ | 349 | /* Turn off the Bit-Error LED */ |
350 | OCELOT_FPGA_WRITE(0x80, CLR); | 350 | OCELOT_FPGA_WRITE(0x80, CLR); |
diff --git a/arch/mips/momentum/ocelot_c/Makefile b/arch/mips/momentum/ocelot_c/Makefile index 91240777f978..94802b4db472 100644 --- a/arch/mips/momentum/ocelot_c/Makefile +++ b/arch/mips/momentum/ocelot_c/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for Momentum Computer's Ocelot-C and -CS boards. | 2 | # Makefile for Momentum Computer's Ocelot-C and -CS boards. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += cpci-irq.o int-handler.o irq.o prom.o reset.o \ | 5 | obj-y += cpci-irq.o irq.o prom.o reset.o \ |
6 | setup.o uart-irq.o | 6 | setup.o uart-irq.o |
7 | 7 | ||
8 | obj-$(CONFIG_KGDB) += dbg_io.o | 8 | obj-$(CONFIG_KGDB) += dbg_io.o |
diff --git a/arch/mips/momentum/ocelot_c/int-handler.S b/arch/mips/momentum/ocelot_c/int-handler.S deleted file mode 100644 index 52349d9bf1be..000000000000 --- a/arch/mips/momentum/ocelot_c/int-handler.S +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2002 Momentum Computer Inc. | ||
3 | * Author: Matthew Dharm <mdharm@momenco.com> | ||
4 | * | ||
5 | * Copyright 2001 MontaVista Software Inc. | ||
6 | * Author: jsun@mvista.com or jsun@junsun.net | ||
7 | * | ||
8 | * First-level interrupt dispatcher for Ocelot-CS board. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | */ | ||
15 | #include <asm/asm.h> | ||
16 | #include <asm/mipsregs.h> | ||
17 | #include <asm/addrspace.h> | ||
18 | #include <asm/regdef.h> | ||
19 | #include <asm/stackframe.h> | ||
20 | #include "ocelot_c_fpga.h" | ||
21 | |||
22 | /* | ||
23 | * First level interrupt dispatcher for Ocelot-CS board | ||
24 | */ | ||
25 | .align 5 | ||
26 | NESTED(ocelot_handle_int, PT_SIZE, sp) | ||
27 | SAVE_ALL | ||
28 | CLI | ||
29 | .set at | ||
30 | mfc0 t0, CP0_CAUSE | ||
31 | mfc0 t2, CP0_STATUS | ||
32 | |||
33 | and t0, t2 | ||
34 | |||
35 | andi t1, t0, STATUSF_IP0 /* sw0 software interrupt */ | ||
36 | bnez t1, ll_sw0_irq | ||
37 | andi t1, t0, STATUSF_IP1 /* sw1 software interrupt */ | ||
38 | bnez t1, ll_sw1_irq | ||
39 | andi t1, t0, STATUSF_IP2 /* int0 hardware line */ | ||
40 | bnez t1, ll_scsi_irq | ||
41 | andi t1, t0, STATUSF_IP3 /* int1 hardware line */ | ||
42 | bnez t1, ll_uart_decode_irq | ||
43 | andi t1, t0, STATUSF_IP4 /* int2 hardware line */ | ||
44 | bnez t1, ll_pmc_irq | ||
45 | andi t1, t0, STATUSF_IP5 /* int3 hardware line */ | ||
46 | bnez t1, ll_cpci_decode_irq | ||
47 | andi t1, t0, STATUSF_IP6 /* int4 hardware line */ | ||
48 | bnez t1, ll_mv64340_decode_irq | ||
49 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
50 | bnez t1, ll_cputimer_irq | ||
51 | |||
52 | .set reorder | ||
53 | |||
54 | /* wrong alarm or masked ... */ | ||
55 | j spurious_interrupt | ||
56 | nop | ||
57 | END(ocelot_handle_int) | ||
58 | |||
59 | .align 5 | ||
60 | ll_sw0_irq: | ||
61 | li a0, 0 | ||
62 | move a1, sp | ||
63 | jal do_IRQ | ||
64 | j ret_from_irq | ||
65 | ll_sw1_irq: | ||
66 | li a0, 1 | ||
67 | move a1, sp | ||
68 | jal do_IRQ | ||
69 | j ret_from_irq | ||
70 | ll_scsi_irq: | ||
71 | li a0, 2 | ||
72 | move a1, sp | ||
73 | jal do_IRQ | ||
74 | j ret_from_irq | ||
75 | |||
76 | ll_uart_decode_irq: | ||
77 | move a0, sp | ||
78 | jal ll_uart_irq | ||
79 | j ret_from_irq | ||
80 | |||
81 | ll_pmc_irq: | ||
82 | li a0, 4 | ||
83 | move a1, sp | ||
84 | jal do_IRQ | ||
85 | j ret_from_irq | ||
86 | |||
87 | ll_cpci_decode_irq: | ||
88 | move a0, sp | ||
89 | jal ll_cpci_irq | ||
90 | j ret_from_irq | ||
91 | |||
92 | ll_mv64340_decode_irq: | ||
93 | move a0, sp | ||
94 | jal ll_mv64340_irq | ||
95 | j ret_from_irq | ||
96 | |||
97 | ll_cputimer_irq: | ||
98 | li a0, 7 | ||
99 | move a1, sp | ||
100 | jal do_IRQ | ||
101 | j ret_from_irq | ||
102 | |||
diff --git a/arch/mips/momentum/ocelot_c/irq.c b/arch/mips/momentum/ocelot_c/irq.c index a5764bc20e36..86f61ce59e53 100644 --- a/arch/mips/momentum/ocelot_c/irq.c +++ b/arch/mips/momentum/ocelot_c/irq.c | |||
@@ -48,7 +48,6 @@ | |||
48 | #include <asm/mipsregs.h> | 48 | #include <asm/mipsregs.h> |
49 | #include <asm/system.h> | 49 | #include <asm/system.h> |
50 | 50 | ||
51 | extern asmlinkage void ocelot_handle_int(void); | ||
52 | extern void uart_irq_init(void); | 51 | extern void uart_irq_init(void); |
53 | extern void cpci_irq_init(void); | 52 | extern void cpci_irq_init(void); |
54 | 53 | ||
@@ -60,6 +59,33 @@ static struct irqaction cascade_mv64340 = { | |||
60 | no_action, SA_INTERRUPT, CPU_MASK_NONE, "cascade via MV64340", NULL, NULL | 59 | no_action, SA_INTERRUPT, CPU_MASK_NONE, "cascade via MV64340", NULL, NULL |
61 | }; | 60 | }; |
62 | 61 | ||
62 | extern void ll_uart_irq(struct pt_regs *regs); | ||
63 | extern void ll_cpci_irq(struct pt_regs *regs); | ||
64 | |||
65 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
66 | { | ||
67 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
68 | |||
69 | if (pending & STATUSF_IP0) | ||
70 | do_IRQ(0, regs); | ||
71 | else if (pending & STATUSF_IP1) | ||
72 | do_IRQ(1, regs); | ||
73 | else if (pending & STATUSF_IP2) | ||
74 | do_IRQ(2, regs); | ||
75 | else if (pending & STATUSF_IP3) | ||
76 | ll_uart_irq(regs); | ||
77 | else if (pending & STATUSF_IP4) | ||
78 | do_IRQ(4, regs); | ||
79 | else if (pending & STATUSF_IP5) | ||
80 | ll_cpci_irq(regs); | ||
81 | else if (pending & STATUSF_IP6) | ||
82 | ll_mv64340_irq(regs); | ||
83 | else if (pending & STATUSF_IP7) | ||
84 | do_IRQ(7, regs); | ||
85 | else | ||
86 | spurious_interrupt(regs); | ||
87 | } | ||
88 | |||
63 | void __init arch_init_irq(void) | 89 | void __init arch_init_irq(void) |
64 | { | 90 | { |
65 | /* | 91 | /* |
@@ -68,8 +94,6 @@ void __init arch_init_irq(void) | |||
68 | */ | 94 | */ |
69 | clear_c0_status(ST0_IM); | 95 | clear_c0_status(ST0_IM); |
70 | 96 | ||
71 | /* Sets the first-level interrupt dispatcher. */ | ||
72 | set_except_vector(0, ocelot_handle_int); | ||
73 | mips_cpu_irq_init(0); | 97 | mips_cpu_irq_init(0); |
74 | 98 | ||
75 | /* set up the cascading interrupts */ | 99 | /* set up the cascading interrupts */ |
diff --git a/arch/mips/momentum/ocelot_g/Makefile b/arch/mips/momentum/ocelot_g/Makefile index e5f1cb086973..adb5665d40a9 100644 --- a/arch/mips/momentum/ocelot_g/Makefile +++ b/arch/mips/momentum/ocelot_g/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for Momentum Computer's Ocelot-G board. | 2 | # Makefile for Momentum Computer's Ocelot-G board. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += int-handler.o irq.o gt-irq.o prom.o reset.o setup.o | 5 | obj-y += irq.o gt-irq.o prom.o reset.o setup.o |
6 | obj-$(CONFIG_KGDB) += dbg_io.o | 6 | obj-$(CONFIG_KGDB) += dbg_io.o |
7 | 7 | ||
8 | EXTRA_AFLAGS := $(CFLAGS) | 8 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/momentum/ocelot_g/int-handler.S b/arch/mips/momentum/ocelot_g/int-handler.S deleted file mode 100644 index 772e8f713176..000000000000 --- a/arch/mips/momentum/ocelot_g/int-handler.S +++ /dev/null | |||
@@ -1,131 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2001 MontaVista Software Inc. | ||
3 | * Author: jsun@mvista.com or jsun@junsun.net | ||
4 | * | ||
5 | * First-level interrupt dispatcher for ocelot board. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | #include <asm/asm.h> | ||
13 | #include <asm/mipsregs.h> | ||
14 | #include <asm/addrspace.h> | ||
15 | #include <asm/regdef.h> | ||
16 | #include <asm/stackframe.h> | ||
17 | |||
18 | /* | ||
19 | * first level interrupt dispatcher for ocelot board - | ||
20 | * We check for the timer first, then check PCI ints A and D. | ||
21 | * Then check for serial IRQ and fall through. | ||
22 | */ | ||
23 | .align 5 | ||
24 | NESTED(ocelot_handle_int, PT_SIZE, sp) | ||
25 | SAVE_ALL | ||
26 | CLI | ||
27 | .set at | ||
28 | mfc0 t0, CP0_CAUSE | ||
29 | mfc0 t2, CP0_STATUS | ||
30 | |||
31 | and t0, t2 | ||
32 | |||
33 | andi t1, t0, STATUSF_IP2 /* int0 hardware line */ | ||
34 | bnez t1, ll_pri_enet_irq | ||
35 | andi t1, t0, STATUSF_IP3 /* int1 hardware line */ | ||
36 | bnez t1, ll_sec_enet_irq | ||
37 | andi t1, t0, STATUSF_IP4 /* int2 hardware line */ | ||
38 | bnez t1, ll_uart_irq | ||
39 | andi t1, t0, STATUSF_IP5 /* int3 hardware line */ | ||
40 | bnez t1, ll_cpci_irq | ||
41 | andi t1, t0, STATUSF_IP6 /* int4 hardware line */ | ||
42 | bnez t1, ll_galileo_p0_irq | ||
43 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
44 | bnez t1, ll_cputimer_irq | ||
45 | |||
46 | /* now look at the extended interrupts */ | ||
47 | mfc0 t0, CP0_CAUSE | ||
48 | cfc0 t1, CP0_S1_INTCONTROL | ||
49 | |||
50 | /* shift the mask 8 bits left to line up the bits */ | ||
51 | sll t2, t1, 8 | ||
52 | |||
53 | and t0, t2 | ||
54 | srl t0, t0, 16 | ||
55 | |||
56 | andi t1, t0, STATUSF_IP8 /* int6 hardware line */ | ||
57 | bnez t1, ll_galileo_p1_irq | ||
58 | andi t1, t0, STATUSF_IP9 /* int7 hardware line */ | ||
59 | bnez t1, ll_pmc_irq | ||
60 | andi t1, t0, STATUSF_IP10 /* int8 hardware line */ | ||
61 | bnez t1, ll_cpci_abcd_irq | ||
62 | andi t1, t0, STATUSF_IP11 /* int9 hardware line */ | ||
63 | bnez t1, ll_testpoint_irq | ||
64 | |||
65 | .set reorder | ||
66 | |||
67 | /* wrong alarm or masked ... */ | ||
68 | j spurious_interrupt | ||
69 | nop | ||
70 | END(ocelot_handle_int) | ||
71 | |||
72 | .align 5 | ||
73 | ll_pri_enet_irq: | ||
74 | li a0, 2 | ||
75 | move a1, sp | ||
76 | jal do_IRQ | ||
77 | j ret_from_irq | ||
78 | |||
79 | ll_sec_enet_irq: | ||
80 | li a0, 3 | ||
81 | move a1, sp | ||
82 | jal do_IRQ | ||
83 | j ret_from_irq | ||
84 | |||
85 | ll_uart_irq: | ||
86 | li a0, 4 | ||
87 | move a1, sp | ||
88 | jal do_IRQ | ||
89 | j ret_from_irq | ||
90 | |||
91 | ll_cpci_irq: | ||
92 | li a0, 5 | ||
93 | move a1, sp | ||
94 | jal do_IRQ | ||
95 | j ret_from_irq | ||
96 | |||
97 | ll_galileo_p0_irq: | ||
98 | li a0, 6 | ||
99 | move a1, sp | ||
100 | jal do_IRQ | ||
101 | j ret_from_irq | ||
102 | |||
103 | ll_cputimer_irq: | ||
104 | li a0, 7 | ||
105 | move a1, sp | ||
106 | jal do_IRQ | ||
107 | j ret_from_irq | ||
108 | |||
109 | ll_galileo_p1_irq: | ||
110 | li a0, 8 | ||
111 | move a1, sp | ||
112 | jal do_IRQ | ||
113 | j ret_from_irq | ||
114 | |||
115 | ll_pmc_irq: | ||
116 | li a0, 9 | ||
117 | move a1, sp | ||
118 | jal do_IRQ | ||
119 | j ret_from_irq | ||
120 | |||
121 | ll_cpci_abcd_irq: | ||
122 | li a0, 10 | ||
123 | move a1, sp | ||
124 | jal do_IRQ | ||
125 | j ret_from_irq | ||
126 | |||
127 | ll_testpoint_irq: | ||
128 | li a0, 11 | ||
129 | move a1, sp | ||
130 | jal do_IRQ | ||
131 | j ret_from_irq | ||
diff --git a/arch/mips/momentum/ocelot_g/irq.c b/arch/mips/momentum/ocelot_g/irq.c index 5eb85b164205..7a4a419804f1 100644 --- a/arch/mips/momentum/ocelot_g/irq.c +++ b/arch/mips/momentum/ocelot_g/irq.c | |||
@@ -48,7 +48,41 @@ | |||
48 | #include <asm/mipsregs.h> | 48 | #include <asm/mipsregs.h> |
49 | #include <asm/system.h> | 49 | #include <asm/system.h> |
50 | 50 | ||
51 | extern asmlinkage void ocelot_handle_int(void); | 51 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
52 | { | ||
53 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
54 | |||
55 | if (pending & STATUSF_IP2) | ||
56 | do_IRQ(2, regs); | ||
57 | else if (pending & STATUSF_IP3) | ||
58 | do_IRQ(3, regs); | ||
59 | else if (pending & STATUSF_IP4) | ||
60 | do_IRQ(4, regs); | ||
61 | else if (pending & STATUSF_IP5) | ||
62 | do_IRQ(5, regs); | ||
63 | else if (pending & STATUSF_IP6) | ||
64 | do_IRQ(6, regs); | ||
65 | else if (pending & STATUSF_IP7) | ||
66 | do_IRQ(7, regs); | ||
67 | else { | ||
68 | /* | ||
69 | * Now look at the extended interrupts | ||
70 | */ | ||
71 | pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16; | ||
72 | |||
73 | if (pending & STATUSF_IP8) | ||
74 | do_IRQ(8, regs); | ||
75 | else if (pending & STATUSF_IP9) | ||
76 | do_IRQ(9, regs); | ||
77 | else if (pending & STATUSF_IP10) | ||
78 | do_IRQ(10, regs); | ||
79 | else if (pending & STATUSF_IP11) | ||
80 | do_IRQ(11, regs); | ||
81 | else | ||
82 | spurious_interrupt(regs); | ||
83 | } | ||
84 | } | ||
85 | |||
52 | extern void gt64240_irq_init(void); | 86 | extern void gt64240_irq_init(void); |
53 | 87 | ||
54 | void __init arch_init_irq(void) | 88 | void __init arch_init_irq(void) |
@@ -60,8 +94,6 @@ void __init arch_init_irq(void) | |||
60 | clear_c0_status(ST0_IM); | 94 | clear_c0_status(ST0_IM); |
61 | local_irq_disable(); | 95 | local_irq_disable(); |
62 | 96 | ||
63 | /* Sets the first-level interrupt dispatcher. */ | ||
64 | set_except_vector(0, ocelot_handle_int); | ||
65 | mips_cpu_irq_init(0); | 97 | mips_cpu_irq_init(0); |
66 | rm7k_cpu_irq_init(8); | 98 | rm7k_cpu_irq_init(8); |
67 | 99 | ||
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c index 935dd851f480..f2b4862aaae5 100644 --- a/arch/mips/oprofile/common.c +++ b/arch/mips/oprofile/common.c | |||
@@ -27,7 +27,7 @@ static int op_mips_setup(void) | |||
27 | model->reg_setup(ctr); | 27 | model->reg_setup(ctr); |
28 | 28 | ||
29 | /* Configure the registers on all cpus. */ | 29 | /* Configure the registers on all cpus. */ |
30 | on_each_cpu(model->cpu_setup, 0, 0, 1); | 30 | on_each_cpu(model->cpu_setup, NULL, 0, 1); |
31 | 31 | ||
32 | return 0; | 32 | return 0; |
33 | } | 33 | } |
@@ -114,5 +114,6 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) | |||
114 | 114 | ||
115 | void oprofile_arch_exit(void) | 115 | void oprofile_arch_exit(void) |
116 | { | 116 | { |
117 | model->exit(); | 117 | if (model) |
118 | model->exit(); | ||
118 | } | 119 | } |
diff --git a/arch/mips/philips/pnx8550/common/Makefile b/arch/mips/philips/pnx8550/common/Makefile index 6e38f3bc443c..b7c638166e9f 100644 --- a/arch/mips/philips/pnx8550/common/Makefile +++ b/arch/mips/philips/pnx8550/common/Makefile | |||
@@ -22,6 +22,6 @@ | |||
22 | # under Linux. | 22 | # under Linux. |
23 | # | 23 | # |
24 | 24 | ||
25 | obj-y := setup.o prom.o mipsIRQ.o int.o reset.o time.o proc.o platform.o | 25 | obj-y := setup.o prom.o int.o reset.o time.o proc.o platform.o |
26 | obj-$(CONFIG_PCI) += pci.o | 26 | obj-$(CONFIG_PCI) += pci.o |
27 | obj-$(CONFIG_KGDB) += gdb_hook.o | 27 | obj-$(CONFIG_KGDB) += gdb_hook.o |
diff --git a/arch/mips/philips/pnx8550/common/int.c b/arch/mips/philips/pnx8550/common/int.c index c500e2d41f2c..39ee6314f627 100644 --- a/arch/mips/philips/pnx8550/common/int.c +++ b/arch/mips/philips/pnx8550/common/int.c | |||
@@ -38,8 +38,6 @@ | |||
38 | #include <int.h> | 38 | #include <int.h> |
39 | #include <uart.h> | 39 | #include <uart.h> |
40 | 40 | ||
41 | extern asmlinkage void cp0_irqdispatch(void); | ||
42 | |||
43 | static DEFINE_SPINLOCK(irq_lock); | 41 | static DEFINE_SPINLOCK(irq_lock); |
44 | 42 | ||
45 | /* default prio for interrupts */ | 43 | /* default prio for interrupts */ |
@@ -55,7 +53,7 @@ static char gic_prio[PNX8550_INT_GIC_TOTINT] = { | |||
55 | 1 // 70 | 53 | 1 // 70 |
56 | }; | 54 | }; |
57 | 55 | ||
58 | void hw0_irqdispatch(int irq, struct pt_regs *regs) | 56 | static void hw0_irqdispatch(int irq, struct pt_regs *regs) |
59 | { | 57 | { |
60 | /* find out which interrupt */ | 58 | /* find out which interrupt */ |
61 | irq = PNX8550_GIC_VECTOR_0 >> 3; | 59 | irq = PNX8550_GIC_VECTOR_0 >> 3; |
@@ -68,7 +66,7 @@ void hw0_irqdispatch(int irq, struct pt_regs *regs) | |||
68 | } | 66 | } |
69 | 67 | ||
70 | 68 | ||
71 | void timer_irqdispatch(int irq, struct pt_regs *regs) | 69 | static void timer_irqdispatch(int irq, struct pt_regs *regs) |
72 | { | 70 | { |
73 | irq = (0x01c0 & read_c0_config7()) >> 6; | 71 | irq = (0x01c0 & read_c0_config7()) >> 6; |
74 | 72 | ||
@@ -88,6 +86,20 @@ void timer_irqdispatch(int irq, struct pt_regs *regs) | |||
88 | } | 86 | } |
89 | } | 87 | } |
90 | 88 | ||
89 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
90 | { | ||
91 | unsigned int pending = read_c0_status() & read_c0_cause(); | ||
92 | |||
93 | if (pending & STATUSF_IP2) | ||
94 | do_IRQ(2, regs); | ||
95 | else if (pending & STATUSF_IP7) { | ||
96 | if (read_c0_config7() & 0x01c0) | ||
97 | timer_irqdispatch(7, regs); | ||
98 | } | ||
99 | |||
100 | spurious_interrupt(regs); | ||
101 | } | ||
102 | |||
91 | static inline void modify_cp0_intmask(unsigned clr_mask, unsigned set_mask) | 103 | static inline void modify_cp0_intmask(unsigned clr_mask, unsigned set_mask) |
92 | { | 104 | { |
93 | unsigned long status = read_c0_status(); | 105 | unsigned long status = read_c0_status(); |
@@ -223,9 +235,6 @@ void __init arch_init_irq(void) | |||
223 | int i; | 235 | int i; |
224 | int configPR; | 236 | int configPR; |
225 | 237 | ||
226 | /* init of cp0 interrupts */ | ||
227 | set_except_vector(0, cp0_irqdispatch); | ||
228 | |||
229 | for (i = 0; i < PNX8550_INT_CP0_TOTINT; i++) { | 238 | for (i = 0; i < PNX8550_INT_CP0_TOTINT; i++) { |
230 | irq_desc[i].handler = &level_irq_type; | 239 | irq_desc[i].handler = &level_irq_type; |
231 | pnx8550_ack(i); /* mask the irq just in case */ | 240 | pnx8550_ack(i); /* mask the irq just in case */ |
diff --git a/arch/mips/philips/pnx8550/common/mipsIRQ.S b/arch/mips/philips/pnx8550/common/mipsIRQ.S deleted file mode 100644 index 338bffda3fab..000000000000 --- a/arch/mips/philips/pnx8550/common/mipsIRQ.S +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2002 Philips, Inc. All rights. | ||
3 | * Copyright (c) 2002 Red Hat, Inc. All rights. | ||
4 | * | ||
5 | * This software may be freely redistributed under the terms of the | ||
6 | * GNU General Public License. | ||
7 | * | ||
8 | * You should have received a copy of the GNU General Public License | ||
9 | * along with this program; if not, write to the Free Software | ||
10 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
11 | * | ||
12 | * Based upon arch/mips/galileo-boards/ev64240/int-handler.S | ||
13 | * | ||
14 | */ | ||
15 | #include <asm/asm.h> | ||
16 | #include <asm/mipsregs.h> | ||
17 | #include <asm/addrspace.h> | ||
18 | #include <asm/regdef.h> | ||
19 | #include <asm/stackframe.h> | ||
20 | |||
21 | /* | ||
22 | * cp0_irqdispatch | ||
23 | * | ||
24 | * Code to handle in-core interrupt exception. | ||
25 | */ | ||
26 | |||
27 | .align 5 | ||
28 | .set reorder | ||
29 | .set noat | ||
30 | NESTED(cp0_irqdispatch, PT_SIZE, sp) | ||
31 | SAVE_ALL | ||
32 | CLI | ||
33 | .set at | ||
34 | mfc0 t0,CP0_CAUSE | ||
35 | mfc0 t2,CP0_STATUS | ||
36 | |||
37 | and t0,t2 | ||
38 | |||
39 | andi t1,t0,STATUSF_IP2 /* int0 hardware line */ | ||
40 | bnez t1,ll_hw0_irq | ||
41 | nop | ||
42 | |||
43 | andi t1,t0,STATUSF_IP7 /* int5 hardware line */ | ||
44 | bnez t1,ll_timer_irq | ||
45 | nop | ||
46 | |||
47 | /* wrong alarm or masked ... */ | ||
48 | |||
49 | j spurious_interrupt | ||
50 | nop | ||
51 | END(cp0_irqdispatch) | ||
52 | |||
53 | .align 5 | ||
54 | .set reorder | ||
55 | ll_hw0_irq: | ||
56 | li a0,2 | ||
57 | move a1,sp | ||
58 | jal hw0_irqdispatch | ||
59 | nop | ||
60 | j ret_from_irq | ||
61 | nop | ||
62 | |||
63 | .align 5 | ||
64 | .set reorder | ||
65 | ll_timer_irq: | ||
66 | mfc0 t3,CP0_CONFIG,7 | ||
67 | andi t4,t3,0x01c0 | ||
68 | beqz t4,ll_timer_out | ||
69 | nop | ||
70 | li a0,7 | ||
71 | move a1,sp | ||
72 | jal timer_irqdispatch | ||
73 | nop | ||
74 | |||
75 | ll_timer_out: j ret_from_irq | ||
76 | nop | ||
diff --git a/arch/mips/philips/pnx8550/common/platform.c b/arch/mips/philips/pnx8550/common/platform.c index a592260fd673..5436b4b97455 100644 --- a/arch/mips/philips/pnx8550/common/platform.c +++ b/arch/mips/philips/pnx8550/common/platform.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/resource.h> | 18 | #include <linux/resource.h> |
19 | #include <linux/serial.h> | 19 | #include <linux/serial.h> |
20 | #include <linux/serial_ip3106.h> | 20 | #include <linux/serial_ip3106.h> |
21 | #include <linux/platform_device.h> | ||
21 | 22 | ||
22 | #include <int.h> | 23 | #include <int.h> |
23 | #include <usb.h> | 24 | #include <usb.h> |
diff --git a/arch/mips/pmc-sierra/yosemite/Makefile b/arch/mips/pmc-sierra/yosemite/Makefile index ae96a71a3089..e931e0d44229 100644 --- a/arch/mips/pmc-sierra/yosemite/Makefile +++ b/arch/mips/pmc-sierra/yosemite/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for the PMC-Sierra Titan | 2 | # Makefile for the PMC-Sierra Titan |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += irq-handler.o irq.o i2c-yosemite.o prom.o py-console.o setup.o | 5 | obj-y += irq.o i2c-yosemite.o prom.o py-console.o setup.o |
6 | 6 | ||
7 | obj-$(CONFIG_KGDB) += dbg_io.o | 7 | obj-$(CONFIG_KGDB) += dbg_io.o |
8 | obj-$(CONFIG_SMP) += smp.o | 8 | obj-$(CONFIG_SMP) += smp.o |
diff --git a/arch/mips/pmc-sierra/yosemite/irq-handler.S b/arch/mips/pmc-sierra/yosemite/irq-handler.S deleted file mode 100644 index 33b9c40d4f5c..000000000000 --- a/arch/mips/pmc-sierra/yosemite/irq-handler.S +++ /dev/null | |||
@@ -1,93 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2003, 04 PMC-Sierra Inc. | ||
3 | * Author: Manish Lachwani (lachwani@pmc-sierra.com | ||
4 | * Copyright 2004 Ralf Baechle (ralf@linux-mips.org) | ||
5 | * | ||
6 | * First-level interrupt router for the PMC-Sierra Titan board | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * Titan supports Hypertransport or PCI but not both. Hence, one interrupt | ||
14 | * line is shared between the PCI slot A and Hypertransport. This is the | ||
15 | * Processor INTB #0. | ||
16 | */ | ||
17 | |||
18 | #include <linux/config.h> | ||
19 | #include <asm/asm.h> | ||
20 | #include <asm/mipsregs.h> | ||
21 | #include <asm/addrspace.h> | ||
22 | #include <asm/regdef.h> | ||
23 | #include <asm/stackframe.h> | ||
24 | |||
25 | .align 5 | ||
26 | NESTED(titan_handle_int, PT_SIZE, sp) | ||
27 | SAVE_ALL | ||
28 | CLI | ||
29 | .set at | ||
30 | .set noreorder | ||
31 | la ra, ret_from_irq | ||
32 | mfc0 t0, CP0_CAUSE | ||
33 | mfc0 t2, CP0_STATUS | ||
34 | |||
35 | and t0, t2 | ||
36 | |||
37 | andi t2, t0, STATUSF_IP7 /* INTB5 hardware line */ | ||
38 | bnez t2, ll_timer_irq /* Timer */ | ||
39 | andi t1, t0, STATUSF_IP2 /* INTB0 hardware line */ | ||
40 | bnez t1, ll_pcia_irq /* 64-bit PCI */ | ||
41 | andi t2, t0, STATUSF_IP3 /* INTB1 hardware line */ | ||
42 | bnez t2, ll_pcib_irq /* second 64-bit PCI slot */ | ||
43 | andi t1, t0, STATUSF_IP4 /* INTB2 hardware line */ | ||
44 | bnez t1, ll_duart_irq /* UART */ | ||
45 | andi t2, t0, STATUSF_IP5 /* SMP inter-core interrupts */ | ||
46 | bnez t2, ll_smp_irq | ||
47 | andi t1, t0, STATUSF_IP6 | ||
48 | bnez t1, ll_ht_irq /* Hypertransport */ | ||
49 | |||
50 | move a0, sp | ||
51 | j do_extended_irq | ||
52 | END(titan_handle_int) | ||
53 | |||
54 | .set reorder | ||
55 | .align 5 | ||
56 | |||
57 | ll_pcia_irq: | ||
58 | li a0, 2 | ||
59 | move a1, sp | ||
60 | #ifdef CONFIG_HYPERTRANSPORT | ||
61 | j ll_ht_smp_irq_handler | ||
62 | #else | ||
63 | j do_IRQ | ||
64 | #endif | ||
65 | |||
66 | ll_pcib_irq: | ||
67 | li a0, 3 | ||
68 | move a1, sp | ||
69 | j do_IRQ | ||
70 | |||
71 | ll_duart_irq: | ||
72 | li a0, 4 | ||
73 | move a1, sp | ||
74 | j do_IRQ | ||
75 | |||
76 | ll_smp_irq: | ||
77 | li a0, 5 | ||
78 | move a1, sp | ||
79 | #ifdef CONFIG_SMP | ||
80 | j titan_mailbox_irq | ||
81 | #else | ||
82 | j do_IRQ | ||
83 | #endif | ||
84 | |||
85 | ll_ht_irq: | ||
86 | li a0, 6 | ||
87 | move a1, sp | ||
88 | j ll_ht_smp_irq_handler | ||
89 | |||
90 | ll_timer_irq: | ||
91 | li a0, 7 | ||
92 | move a1, sp | ||
93 | j do_IRQ | ||
diff --git a/arch/mips/pmc-sierra/yosemite/irq.c b/arch/mips/pmc-sierra/yosemite/irq.c index f4e2897d9bf7..a1f524fc4c10 100644 --- a/arch/mips/pmc-sierra/yosemite/irq.c +++ b/arch/mips/pmc-sierra/yosemite/irq.c | |||
@@ -2,6 +2,8 @@ | |||
2 | * Copyright (C) 2003 PMC-Sierra Inc. | 2 | * Copyright (C) 2003 PMC-Sierra Inc. |
3 | * Author: Manish Lachwani (lachwani@pmc-sierra.com) | 3 | * Author: Manish Lachwani (lachwani@pmc-sierra.com) |
4 | * | 4 | * |
5 | * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) | ||
6 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | 7 | * This program is free software; you can redistribute it and/or modify it |
6 | * under the terms of the GNU General Public License as published by the | 8 | * under the terms of the GNU General Public License as published by the |
7 | * Free Software Foundation; either version 2 of the License, or (at your | 9 | * Free Software Foundation; either version 2 of the License, or (at your |
@@ -55,7 +57,6 @@ | |||
55 | #define HYPERTRANSPORT_INTC 0x7a /* INTC# */ | 57 | #define HYPERTRANSPORT_INTC 0x7a /* INTC# */ |
56 | #define HYPERTRANSPORT_INTD 0x7b /* INTD# */ | 58 | #define HYPERTRANSPORT_INTD 0x7b /* INTD# */ |
57 | 59 | ||
58 | extern asmlinkage void titan_handle_int(void); | ||
59 | extern void jaguar_mailbox_irq(struct pt_regs *); | 60 | extern void jaguar_mailbox_irq(struct pt_regs *); |
60 | 61 | ||
61 | /* | 62 | /* |
@@ -125,6 +126,35 @@ asmlinkage void do_extended_irq(struct pt_regs *regs) | |||
125 | 126 | ||
126 | } | 127 | } |
127 | 128 | ||
129 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
130 | { | ||
131 | unsigned int cause = read_c0_cause(); | ||
132 | unsigned int status = read_c0_status(); | ||
133 | unsigned int pending = cause & status; | ||
134 | |||
135 | if (pending & STATUSF_IP7) { | ||
136 | do_IRQ(7, regs); | ||
137 | } else if (pending & STATUSF_IP2) { | ||
138 | #ifdef CONFIG_HYPERTRANSPORT | ||
139 | ll_ht_smp_irq_handler(2, regs); | ||
140 | #else | ||
141 | do_IRQ(2, regs); | ||
142 | #endif | ||
143 | } else if (pending & STATUSF_IP3) { | ||
144 | do_IRQ(3, regs); | ||
145 | } else if (pending & STATUSF_IP4) { | ||
146 | do_IRQ(4, regs); | ||
147 | } else if (pending & STATUSF_IP5) { | ||
148 | #ifdef CONFIG_SMP | ||
149 | titan_mailbox_irq(regs); | ||
150 | #else | ||
151 | do_IRQ(5, regs); | ||
152 | #endif | ||
153 | } else if (pending & STATUSF_IP6) { | ||
154 | do_IRQ(4, regs); | ||
155 | } | ||
156 | } | ||
157 | |||
128 | #ifdef CONFIG_KGDB | 158 | #ifdef CONFIG_KGDB |
129 | extern void init_second_port(void); | 159 | extern void init_second_port(void); |
130 | #endif | 160 | #endif |
@@ -136,7 +166,6 @@ void __init arch_init_irq(void) | |||
136 | { | 166 | { |
137 | clear_c0_status(ST0_IM); | 167 | clear_c0_status(ST0_IM); |
138 | 168 | ||
139 | set_except_vector(0, titan_handle_int); | ||
140 | mips_cpu_irq_init(0); | 169 | mips_cpu_irq_init(0); |
141 | rm7k_cpu_irq_init(8); | 170 | rm7k_cpu_irq_init(8); |
142 | rm9k_cpu_irq_init(12); | 171 | rm9k_cpu_irq_init(12); |
diff --git a/arch/mips/qemu/Makefile b/arch/mips/qemu/Makefile index 6a8e8bcef552..730f459f3e99 100644 --- a/arch/mips/qemu/Makefile +++ b/arch/mips/qemu/Makefile | |||
@@ -2,6 +2,6 @@ | |||
2 | # Makefile for Qemu specific kernel interface routines under Linux. | 2 | # Makefile for Qemu specific kernel interface routines under Linux. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y = q-firmware.o q-int.o q-irq.o q-mem.o q-setup.o | 5 | obj-y = q-firmware.o q-irq.o q-mem.o q-setup.o |
6 | 6 | ||
7 | obj-$(CONFIG_SMP) += q-smp.o | 7 | obj-$(CONFIG_SMP) += q-smp.o |
diff --git a/arch/mips/qemu/q-int.S b/arch/mips/qemu/q-int.S deleted file mode 100644 index 6e3dfe5eb14b..000000000000 --- a/arch/mips/qemu/q-int.S +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | /* | ||
2 | * Qemu interrupt handler code. | ||
3 | * | ||
4 | * Copyright (C) 2005 by Ralf Baechle | ||
5 | */ | ||
6 | #include <asm/asm.h> | ||
7 | #include <asm/regdef.h> | ||
8 | #include <asm/stackframe.h> | ||
9 | |||
10 | .align 5 | ||
11 | NESTED(qemu_handle_int, PT_SIZE, sp) | ||
12 | SAVE_ALL | ||
13 | CLI | ||
14 | move a0, sp | ||
15 | PTR_LA ra, ret_from_irq | ||
16 | j do_qemu_int | ||
17 | END(qemu_handle_int) | ||
diff --git a/arch/mips/qemu/q-irq.c b/arch/mips/qemu/q-irq.c index 2c4e0704ff10..3352374c4c7d 100644 --- a/arch/mips/qemu/q-irq.c +++ b/arch/mips/qemu/q-irq.c | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | extern asmlinkage void qemu_handle_int(void); | 10 | extern asmlinkage void qemu_handle_int(void); |
11 | 11 | ||
12 | asmlinkage void do_qemu_int(struct pt_regs *regs) | 12 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
13 | { | 13 | { |
14 | unsigned int pending = read_c0_status() & read_c0_cause(); | 14 | unsigned int pending = read_c0_status() & read_c0_cause(); |
15 | 15 | ||
@@ -29,7 +29,6 @@ asmlinkage void do_qemu_int(struct pt_regs *regs) | |||
29 | 29 | ||
30 | void __init arch_init_irq(void) | 30 | void __init arch_init_irq(void) |
31 | { | 31 | { |
32 | set_except_vector(0, qemu_handle_int); | ||
33 | mips_hpt_frequency = QEMU_C0_COUNTER_CLOCK; /* 100MHz */ | 32 | mips_hpt_frequency = QEMU_C0_COUNTER_CLOCK; /* 100MHz */ |
34 | 33 | ||
35 | init_i8259_irqs(); | 34 | init_i8259_irqs(); |
diff --git a/arch/mips/sgi-ip22/Makefile b/arch/mips/sgi-ip22/Makefile index eb0820fe50bd..6aa4c0cd169c 100644 --- a/arch/mips/sgi-ip22/Makefile +++ b/arch/mips/sgi-ip22/Makefile | |||
@@ -3,7 +3,7 @@ | |||
3 | # under Linux. | 3 | # under Linux. |
4 | # | 4 | # |
5 | 5 | ||
6 | obj-y += ip22-mc.o ip22-hpc.o ip22-int.o ip22-irq.o ip22-berr.o \ | 6 | obj-y += ip22-mc.o ip22-hpc.o ip22-int.o ip22-berr.o \ |
7 | ip22-time.o ip22-nvram.o ip22-reset.o ip22-setup.o | 7 | ip22-time.o ip22-nvram.o ip22-reset.o ip22-setup.o |
8 | 8 | ||
9 | obj-$(CONFIG_EISA) += ip22-eisa.o | 9 | obj-$(CONFIG_EISA) += ip22-eisa.o |
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c index d16fb43b1a93..fc6a7e2b189c 100644 --- a/arch/mips/sgi-ip22/ip22-int.c +++ b/arch/mips/sgi-ip22/ip22-int.c | |||
@@ -37,7 +37,6 @@ static char lc1msk_to_irqnr[256]; | |||
37 | static char lc2msk_to_irqnr[256]; | 37 | static char lc2msk_to_irqnr[256]; |
38 | static char lc3msk_to_irqnr[256]; | 38 | static char lc3msk_to_irqnr[256]; |
39 | 39 | ||
40 | extern asmlinkage void indyIRQ(void); | ||
41 | extern int ip22_eisa_init(void); | 40 | extern int ip22_eisa_init(void); |
42 | 41 | ||
43 | static void enable_local0_irq(unsigned int irq) | 42 | static void enable_local0_irq(unsigned int irq) |
@@ -224,7 +223,7 @@ static struct hw_interrupt_type ip22_local3_irq_type = { | |||
224 | .end = end_local3_irq, | 223 | .end = end_local3_irq, |
225 | }; | 224 | }; |
226 | 225 | ||
227 | void indy_local0_irqdispatch(struct pt_regs *regs) | 226 | static void indy_local0_irqdispatch(struct pt_regs *regs) |
228 | { | 227 | { |
229 | u8 mask = sgint->istat0 & sgint->imask0; | 228 | u8 mask = sgint->istat0 & sgint->imask0; |
230 | u8 mask2; | 229 | u8 mask2; |
@@ -242,7 +241,7 @@ void indy_local0_irqdispatch(struct pt_regs *regs) | |||
242 | return; | 241 | return; |
243 | } | 242 | } |
244 | 243 | ||
245 | void indy_local1_irqdispatch(struct pt_regs *regs) | 244 | static void indy_local1_irqdispatch(struct pt_regs *regs) |
246 | { | 245 | { |
247 | u8 mask = sgint->istat1 & sgint->imask1; | 246 | u8 mask = sgint->istat1 & sgint->imask1; |
248 | u8 mask2; | 247 | u8 mask2; |
@@ -262,7 +261,7 @@ void indy_local1_irqdispatch(struct pt_regs *regs) | |||
262 | 261 | ||
263 | extern void ip22_be_interrupt(int irq, struct pt_regs *regs); | 262 | extern void ip22_be_interrupt(int irq, struct pt_regs *regs); |
264 | 263 | ||
265 | void indy_buserror_irq(struct pt_regs *regs) | 264 | static void indy_buserror_irq(struct pt_regs *regs) |
266 | { | 265 | { |
267 | int irq = SGI_BUSERR_IRQ; | 266 | int irq = SGI_BUSERR_IRQ; |
268 | 267 | ||
@@ -307,6 +306,56 @@ static struct irqaction map1_cascade = { | |||
307 | #define SGI_INTERRUPTS SGINT_LOCAL3 | 306 | #define SGI_INTERRUPTS SGINT_LOCAL3 |
308 | #endif | 307 | #endif |
309 | 308 | ||
309 | extern void indy_r4k_timer_interrupt(struct pt_regs *regs); | ||
310 | extern void indy_8254timer_irq(struct pt_regs *regs); | ||
311 | |||
312 | /* | ||
313 | * IRQs on the INDY look basically (barring software IRQs which we don't use | ||
314 | * at all) like: | ||
315 | * | ||
316 | * MIPS IRQ Source | ||
317 | * -------- ------ | ||
318 | * 0 Software (ignored) | ||
319 | * 1 Software (ignored) | ||
320 | * 2 Local IRQ level zero | ||
321 | * 3 Local IRQ level one | ||
322 | * 4 8254 Timer zero | ||
323 | * 5 8254 Timer one | ||
324 | * 6 Bus Error | ||
325 | * 7 R4k timer (what we use) | ||
326 | * | ||
327 | * We handle the IRQ according to _our_ priority which is: | ||
328 | * | ||
329 | * Highest ---- R4k Timer | ||
330 | * Local IRQ zero | ||
331 | * Local IRQ one | ||
332 | * Bus Error | ||
333 | * 8254 Timer zero | ||
334 | * Lowest ---- 8254 Timer one | ||
335 | * | ||
336 | * then we just return, if multiple IRQs are pending then we will just take | ||
337 | * another exception, big deal. | ||
338 | */ | ||
339 | |||
340 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
341 | { | ||
342 | unsigned int pending = read_c0_cause(); | ||
343 | |||
344 | /* | ||
345 | * First we check for r4k counter/timer IRQ. | ||
346 | */ | ||
347 | if (pending & CAUSEF_IP7) | ||
348 | indy_r4k_timer_interrupt(regs); | ||
349 | else if (pending & CAUSEF_IP2) | ||
350 | indy_local0_irqdispatch(regs); | ||
351 | else if (pending & CAUSEF_IP3) | ||
352 | indy_local1_irqdispatch(regs); | ||
353 | else if (pending & CAUSEF_IP6) | ||
354 | indy_buserror_irq(regs); | ||
355 | else if (pending & (CAUSEF_IP4 | CAUSEF_IP5)) | ||
356 | indy_8254timer_irq(regs); | ||
357 | } | ||
358 | |||
310 | extern void mips_cpu_irq_init(unsigned int irq_base); | 359 | extern void mips_cpu_irq_init(unsigned int irq_base); |
311 | 360 | ||
312 | void __init arch_init_irq(void) | 361 | void __init arch_init_irq(void) |
@@ -369,8 +418,6 @@ void __init arch_init_irq(void) | |||
369 | sgint->cmeimask0 = 0; | 418 | sgint->cmeimask0 = 0; |
370 | sgint->cmeimask1 = 0; | 419 | sgint->cmeimask1 = 0; |
371 | 420 | ||
372 | set_except_vector(0, indyIRQ); | ||
373 | |||
374 | /* init CPU irqs */ | 421 | /* init CPU irqs */ |
375 | mips_cpu_irq_init(SGINT_CPU); | 422 | mips_cpu_irq_init(SGINT_CPU); |
376 | 423 | ||
diff --git a/arch/mips/sgi-ip22/ip22-irq.S b/arch/mips/sgi-ip22/ip22-irq.S deleted file mode 100644 index 6ccbd9e1d967..000000000000 --- a/arch/mips/sgi-ip22/ip22-irq.S +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | /* | ||
2 | * ip22-irq.S: Interrupt exception dispatch code for FullHouse and | ||
3 | * Guiness. | ||
4 | * | ||
5 | * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) | ||
6 | */ | ||
7 | |||
8 | #include <asm/asm.h> | ||
9 | #include <asm/mipsregs.h> | ||
10 | #include <asm/regdef.h> | ||
11 | #include <asm/stackframe.h> | ||
12 | |||
13 | /* A lot of complication here is taken away because: | ||
14 | * | ||
15 | * 1) We handle one interrupt and return, sitting in a loop and moving across | ||
16 | * all the pending IRQ bits in the cause register is _NOT_ the answer, the | ||
17 | * common case is one pending IRQ so optimize in that direction. | ||
18 | * | ||
19 | * 2) We need not check against bits in the status register IRQ mask, that | ||
20 | * would make this routine slow as hell. | ||
21 | * | ||
22 | * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in | ||
23 | * between like BSD spl() brain-damage. | ||
24 | * | ||
25 | * Furthermore, the IRQs on the INDY look basically (barring software IRQs | ||
26 | * which we don't use at all) like: | ||
27 | * | ||
28 | * MIPS IRQ Source | ||
29 | * -------- ------ | ||
30 | * 0 Software (ignored) | ||
31 | * 1 Software (ignored) | ||
32 | * 2 Local IRQ level zero | ||
33 | * 3 Local IRQ level one | ||
34 | * 4 8254 Timer zero | ||
35 | * 5 8254 Timer one | ||
36 | * 6 Bus Error | ||
37 | * 7 R4k timer (what we use) | ||
38 | * | ||
39 | * We handle the IRQ according to _our_ priority which is: | ||
40 | * | ||
41 | * Highest ---- R4k Timer | ||
42 | * Local IRQ zero | ||
43 | * Local IRQ one | ||
44 | * Bus Error | ||
45 | * 8254 Timer zero | ||
46 | * Lowest ---- 8254 Timer one | ||
47 | * | ||
48 | * then we just return, if multiple IRQs are pending then we will just take | ||
49 | * another exception, big deal. | ||
50 | */ | ||
51 | |||
52 | .text | ||
53 | .set noreorder | ||
54 | .set noat | ||
55 | .align 5 | ||
56 | NESTED(indyIRQ, PT_SIZE, sp) | ||
57 | SAVE_ALL | ||
58 | CLI | ||
59 | .set at | ||
60 | mfc0 s0, CP0_CAUSE # get irq mask | ||
61 | |||
62 | /* First we check for r4k counter/timer IRQ. */ | ||
63 | andi a0, s0, CAUSEF_IP7 | ||
64 | beq a0, zero, 1f | ||
65 | andi a0, s0, CAUSEF_IP2 # delay slot, check local level zero | ||
66 | |||
67 | /* Wheee, a timer interrupt. */ | ||
68 | jal indy_r4k_timer_interrupt | ||
69 | move a0, sp # delay slot | ||
70 | j ret_from_irq | ||
71 | nop # delay slot | ||
72 | |||
73 | 1: | ||
74 | beq a0, zero, 1f | ||
75 | andi a0, s0, CAUSEF_IP3 # delay slot, check local level one | ||
76 | |||
77 | /* Wheee, local level zero interrupt. */ | ||
78 | jal indy_local0_irqdispatch | ||
79 | move a0, sp # delay slot | ||
80 | |||
81 | j ret_from_irq | ||
82 | nop # delay slot | ||
83 | |||
84 | 1: | ||
85 | beq a0, zero, 1f | ||
86 | andi a0, s0, CAUSEF_IP6 # delay slot, check bus error | ||
87 | |||
88 | /* Wheee, local level one interrupt. */ | ||
89 | jal indy_local1_irqdispatch | ||
90 | move a0, sp # delay slot | ||
91 | j ret_from_irq | ||
92 | nop # delay slot | ||
93 | |||
94 | 1: | ||
95 | beq a0, zero, 1f | ||
96 | andi a0, s0, (CAUSEF_IP4 | CAUSEF_IP5) # delay slot | ||
97 | |||
98 | /* Wheee, an asynchronous bus error... */ | ||
99 | jal indy_buserror_irq | ||
100 | move a0, sp # delay slot | ||
101 | j ret_from_irq | ||
102 | nop # delay slot | ||
103 | |||
104 | 1: | ||
105 | /* Here by mistake? It is possible, that by the time we take | ||
106 | * the exception the IRQ pin goes low, so just leave if this | ||
107 | * is the case. | ||
108 | */ | ||
109 | beq a0, zero, 1f | ||
110 | nop # delay slot | ||
111 | |||
112 | /* Must be one of the 8254 timers... */ | ||
113 | jal indy_8254timer_irq | ||
114 | move a0, sp # delay slot | ||
115 | 1: | ||
116 | j ret_from_irq | ||
117 | nop # delay slot | ||
118 | END(indyIRQ) | ||
diff --git a/arch/mips/sgi-ip27/Makefile b/arch/mips/sgi-ip27/Makefile index 4ba340780c35..686ba14e2882 100644 --- a/arch/mips/sgi-ip27/Makefile +++ b/arch/mips/sgi-ip27/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for the IP27 specific kernel interface routines under Linux. | 2 | # Makefile for the IP27 specific kernel interface routines under Linux. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o ip27-irq-glue.o \ | 5 | obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o \ |
6 | ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \ | 6 | ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \ |
7 | ip27-timer.o ip27-hubio.o ip27-xtalk.o | 7 | ip27-timer.o ip27-hubio.o ip27-xtalk.o |
8 | 8 | ||
diff --git a/arch/mips/sgi-ip27/TODO b/arch/mips/sgi-ip27/TODO index 32106131b0d0..19f1512c8f2e 100644 --- a/arch/mips/sgi-ip27/TODO +++ b/arch/mips/sgi-ip27/TODO | |||
@@ -9,10 +9,6 @@ ip27-init.c:find_lbaord_real. DONE | |||
9 | in irix? | 9 | in irix? |
10 | 6. Investigate why things do not work without the setup_test() call | 10 | 6. Investigate why things do not work without the setup_test() call |
11 | being invoked on all nodes in ip27-memory.c. | 11 | being invoked on all nodes in ip27-memory.c. |
12 | 7. Too many CLIs in the locore handlers : | ||
13 | For the low level handlers set up by set_except_vector(), | ||
14 | __tlb_refill_debug_tramp, __xtlb_refill_debug_tramp and cacheerror, | ||
15 | investigate whether the code should do CLI, STI or KMODE. | ||
16 | 8. Too many do_page_faults invoked - investigate. | 12 | 8. Too many do_page_faults invoked - investigate. |
17 | 9. start_thread must turn off UX64 ... and define tlb_refill_debug. | 13 | 9. start_thread must turn off UX64 ... and define tlb_refill_debug. |
18 | 10. Need a bad pmd table, bad pte table. __bad_pmd_table/__bad_pagetable | 14 | 10. Need a bad pmd table, bad pte table. __bad_pmd_table/__bad_pagetable |
diff --git a/arch/mips/sgi-ip27/ip27-irq-glue.S b/arch/mips/sgi-ip27/ip27-irq-glue.S deleted file mode 100644 index c304df715e0a..000000000000 --- a/arch/mips/sgi-ip27/ip27-irq-glue.S +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1999 Ralf Baechle | ||
7 | * Copyright (C) 1999 Silicon Graphics, Inc. | ||
8 | */ | ||
9 | #include <asm/asm.h> | ||
10 | #include <asm/mipsregs.h> | ||
11 | #include <asm/regdef.h> | ||
12 | #include <asm/stackframe.h> | ||
13 | |||
14 | .text | ||
15 | .align 5 | ||
16 | NESTED(ip27_irq, PT_SIZE, sp) | ||
17 | SAVE_ALL | ||
18 | CLI | ||
19 | |||
20 | mfc0 s0, CP0_CAUSE | ||
21 | mfc0 t0, CP0_STATUS | ||
22 | and s0, t0 | ||
23 | move a0, sp | ||
24 | PTR_LA ra, ret_from_irq | ||
25 | |||
26 | /* First check for RT interrupt. */ | ||
27 | andi t0, s0, CAUSEF_IP4 | ||
28 | bnez t0, ip4 | ||
29 | andi t0, s0, CAUSEF_IP2 | ||
30 | bnez t0, ip2 | ||
31 | andi t0, s0, CAUSEF_IP3 | ||
32 | bnez t0, ip3 | ||
33 | andi t0, s0, CAUSEF_IP5 | ||
34 | bnez t0, ip5 | ||
35 | andi t0, s0, CAUSEF_IP6 | ||
36 | bnez t0, ip6 | ||
37 | j ra | ||
38 | |||
39 | ip2: j ip27_do_irq_mask0 # PI_INT_PEND_0 or CC_PEND_{A|B} | ||
40 | ip3: j ip27_do_irq_mask1 # PI_INT_PEND_1 | ||
41 | ip4: j ip27_rt_timer_interrupt | ||
42 | ip5: j ip27_prof_timer | ||
43 | ip6: j ip27_hub_error | ||
44 | |||
45 | END(ip27_irq) | ||
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 2854ac4c9be1..2e643d2f51cb 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c | |||
@@ -130,7 +130,7 @@ static int ms1bit(unsigned long x) | |||
130 | * Kanoj 05.13.00 | 130 | * Kanoj 05.13.00 |
131 | */ | 131 | */ |
132 | 132 | ||
133 | void ip27_do_irq_mask0(struct pt_regs *regs) | 133 | static void ip27_do_irq_mask0(struct pt_regs *regs) |
134 | { | 134 | { |
135 | int irq, swlevel; | 135 | int irq, swlevel; |
136 | hubreg_t pend0, mask0; | 136 | hubreg_t pend0, mask0; |
@@ -171,7 +171,7 @@ void ip27_do_irq_mask0(struct pt_regs *regs) | |||
171 | LOCAL_HUB_L(PI_INT_PEND0); | 171 | LOCAL_HUB_L(PI_INT_PEND0); |
172 | } | 172 | } |
173 | 173 | ||
174 | void ip27_do_irq_mask1(struct pt_regs *regs) | 174 | static void ip27_do_irq_mask1(struct pt_regs *regs) |
175 | { | 175 | { |
176 | int irq, swlevel; | 176 | int irq, swlevel; |
177 | hubreg_t pend1, mask1; | 177 | hubreg_t pend1, mask1; |
@@ -196,12 +196,12 @@ void ip27_do_irq_mask1(struct pt_regs *regs) | |||
196 | LOCAL_HUB_L(PI_INT_PEND1); | 196 | LOCAL_HUB_L(PI_INT_PEND1); |
197 | } | 197 | } |
198 | 198 | ||
199 | void ip27_prof_timer(struct pt_regs *regs) | 199 | static void ip27_prof_timer(struct pt_regs *regs) |
200 | { | 200 | { |
201 | panic("CPU %d got a profiling interrupt", smp_processor_id()); | 201 | panic("CPU %d got a profiling interrupt", smp_processor_id()); |
202 | } | 202 | } |
203 | 203 | ||
204 | void ip27_hub_error(struct pt_regs *regs) | 204 | static void ip27_hub_error(struct pt_regs *regs) |
205 | { | 205 | { |
206 | panic("CPU %d got a hub error interrupt", smp_processor_id()); | 206 | panic("CPU %d got a hub error interrupt", smp_processor_id()); |
207 | } | 207 | } |
@@ -421,9 +421,26 @@ int __devinit request_bridge_irq(struct bridge_controller *bc) | |||
421 | return irq; | 421 | return irq; |
422 | } | 422 | } |
423 | 423 | ||
424 | extern void ip27_rt_timer_interrupt(struct pt_regs *regs); | ||
425 | |||
426 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
427 | { | ||
428 | unsigned long pending = read_c0_cause() & read_c0_status(); | ||
429 | |||
430 | if (pending & CAUSEF_IP4) | ||
431 | ip27_rt_timer_interrupt(regs); | ||
432 | else if (pending & CAUSEF_IP2) /* PI_INT_PEND_0 or CC_PEND_{A|B} */ | ||
433 | ip27_do_irq_mask0(regs); | ||
434 | else if (pending & CAUSEF_IP3) /* PI_INT_PEND_1 */ | ||
435 | ip27_do_irq_mask1(regs); | ||
436 | else if (pending & CAUSEF_IP5) | ||
437 | ip27_prof_timer(regs); | ||
438 | else if (pending & CAUSEF_IP6) | ||
439 | ip27_hub_error(regs); | ||
440 | } | ||
441 | |||
424 | void __init arch_init_irq(void) | 442 | void __init arch_init_irq(void) |
425 | { | 443 | { |
426 | set_except_vector(0, ip27_irq); | ||
427 | } | 444 | } |
428 | 445 | ||
429 | void install_ipi(void) | 446 | void install_ipi(void) |
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c index cddf1cedf007..36b662e27b6e 100644 --- a/arch/mips/sgi-ip27/ip27-timer.c +++ b/arch/mips/sgi-ip27/ip27-timer.c | |||
@@ -122,7 +122,7 @@ again: | |||
122 | xtime.tv_sec > last_rtc_update + 660 && | 122 | xtime.tv_sec > last_rtc_update + 660 && |
123 | (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 && | 123 | (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 && |
124 | (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) { | 124 | (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) { |
125 | if (rtc_set_time(xtime.tv_sec) == 0) { | 125 | if (rtc_mips_set_time(xtime.tv_sec) == 0) { |
126 | last_rtc_update = xtime.tv_sec; | 126 | last_rtc_update = xtime.tv_sec; |
127 | } else { | 127 | } else { |
128 | last_rtc_update = xtime.tv_sec - 600; | 128 | last_rtc_update = xtime.tv_sec - 600; |
diff --git a/arch/mips/sgi-ip32/Makefile b/arch/mips/sgi-ip32/Makefile index 470898f4afe1..530bf848c3d0 100644 --- a/arch/mips/sgi-ip32/Makefile +++ b/arch/mips/sgi-ip32/Makefile | |||
@@ -3,7 +3,7 @@ | |||
3 | # under Linux. | 3 | # under Linux. |
4 | # | 4 | # |
5 | 5 | ||
6 | obj-y += ip32-berr.o ip32-irq.o ip32-irq-glue.o ip32-setup.o ip32-reset.o \ | 6 | obj-y += ip32-berr.o ip32-irq.o ip32-setup.o ip32-reset.o \ |
7 | crime.o ip32-memory.o | 7 | crime.o ip32-memory.o |
8 | 8 | ||
9 | EXTRA_AFLAGS := $(CFLAGS) | 9 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/sgi-ip32/ip32-irq-glue.S b/arch/mips/sgi-ip32/ip32-irq-glue.S deleted file mode 100644 index 200924e1c4f5..000000000000 --- a/arch/mips/sgi-ip32/ip32-irq-glue.S +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | /* | ||
2 | * Low level interrupt handler for the SGI O2 aka IP32 aka Moosehead | ||
3 | * | ||
4 | * This file is subject to the terms and conditions of the GNU General Public | ||
5 | * License. See the file "COPYING" in the main directory of this archive | ||
6 | * for more details. | ||
7 | * | ||
8 | * Copyright (C) 2000 Harald Koerfgen | ||
9 | * Copyright (C) 2001 Keith M Wesolowski | ||
10 | */ | ||
11 | #include <asm/asm.h> | ||
12 | #include <asm/regdef.h> | ||
13 | #include <asm/mipsregs.h> | ||
14 | #include <asm/stackframe.h> | ||
15 | #include <asm/addrspace.h> | ||
16 | |||
17 | .text | ||
18 | .set noreorder | ||
19 | .set noat | ||
20 | .align 5 | ||
21 | NESTED(ip32_handle_int, PT_SIZE, ra) | ||
22 | .set noat | ||
23 | SAVE_ALL | ||
24 | CLI # TEST: interrupts should be off | ||
25 | .set at | ||
26 | .set noreorder | ||
27 | |||
28 | mfc0 s0,CP0_CAUSE | ||
29 | |||
30 | andi t1, s0, IE_IRQ0 | ||
31 | bnez t1, handle_irq0 | ||
32 | andi t1, s0, IE_IRQ1 | ||
33 | bnez t1, handle_irq1 | ||
34 | andi t1, s0, IE_IRQ2 | ||
35 | bnez t1, handle_irq2 | ||
36 | andi t1, s0, IE_IRQ3 | ||
37 | bnez t1, handle_irq3 | ||
38 | andi t1, s0, IE_IRQ4 | ||
39 | bnez t1, handle_irq4 | ||
40 | andi t1, s0, IE_IRQ5 | ||
41 | bnez t1, handle_irq5 | ||
42 | nop | ||
43 | |||
44 | /* Either someone has triggered the "software interrupts" | ||
45 | * or we lost an interrupt somehow. Ignore it. | ||
46 | */ | ||
47 | j ret_from_irq | ||
48 | nop | ||
49 | |||
50 | handle_irq0: | ||
51 | jal ip32_irq0 | ||
52 | move a0, sp | ||
53 | j ret_from_irq | ||
54 | nop | ||
55 | |||
56 | handle_irq1: | ||
57 | jal ip32_irq1 | ||
58 | move a0, sp | ||
59 | j ret_from_irq | ||
60 | nop | ||
61 | |||
62 | handle_irq2: | ||
63 | jal ip32_irq2 | ||
64 | move a0, sp | ||
65 | j ret_from_irq | ||
66 | nop | ||
67 | |||
68 | handle_irq3: | ||
69 | jal ip32_irq3 | ||
70 | move a0, sp | ||
71 | j ret_from_irq | ||
72 | nop | ||
73 | |||
74 | handle_irq4: | ||
75 | jal ip32_irq4 | ||
76 | move a0, sp | ||
77 | j ret_from_irq | ||
78 | nop | ||
79 | |||
80 | handle_irq5: | ||
81 | jal ip32_irq5 | ||
82 | move a0, sp | ||
83 | j ret_from_irq | ||
84 | nop | ||
85 | |||
86 | END(ip32_handle_int) | ||
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c index 2eb22d692ed9..de01c9815bdd 100644 --- a/arch/mips/sgi-ip32/ip32-irq.c +++ b/arch/mips/sgi-ip32/ip32-irq.c | |||
@@ -130,8 +130,6 @@ struct irqaction memerr_irq = { crime_memerr_intr, SA_INTERRUPT, | |||
130 | struct irqaction cpuerr_irq = { crime_cpuerr_intr, SA_INTERRUPT, | 130 | struct irqaction cpuerr_irq = { crime_cpuerr_intr, SA_INTERRUPT, |
131 | CPU_MASK_NONE, "CRIME CPU error", NULL, NULL }; | 131 | CPU_MASK_NONE, "CRIME CPU error", NULL, NULL }; |
132 | 132 | ||
133 | extern void ip32_handle_int(void); | ||
134 | |||
135 | /* | 133 | /* |
136 | * For interrupts wired from a single device to the CPU. Only the clock | 134 | * For interrupts wired from a single device to the CPU. Only the clock |
137 | * uses this it seems, which is IRQ 0 and IP7. | 135 | * uses this it seems, which is IRQ 0 and IP7. |
@@ -503,48 +501,67 @@ static void ip32_unknown_interrupt(struct pt_regs *regs) | |||
503 | 501 | ||
504 | /* CRIME 1.1 appears to deliver all interrupts to this one pin. */ | 502 | /* CRIME 1.1 appears to deliver all interrupts to this one pin. */ |
505 | /* change this to loop over all edge-triggered irqs, exception masked out ones */ | 503 | /* change this to loop over all edge-triggered irqs, exception masked out ones */ |
506 | void ip32_irq0(struct pt_regs *regs) | 504 | static void ip32_irq0(struct pt_regs *regs) |
507 | { | 505 | { |
508 | uint64_t crime_int; | 506 | uint64_t crime_int; |
509 | int irq = 0; | 507 | int irq = 0; |
510 | 508 | ||
511 | crime_int = crime->istat & crime_mask; | 509 | crime_int = crime->istat & crime_mask; |
512 | irq = ffs(crime_int); | 510 | irq = __ffs(crime_int); |
513 | crime_int = 1 << (irq - 1); | 511 | crime_int = 1 << irq; |
514 | 512 | ||
515 | if (crime_int & CRIME_MACEISA_INT_MASK) { | 513 | if (crime_int & CRIME_MACEISA_INT_MASK) { |
516 | unsigned long mace_int = mace->perif.ctrl.istat; | 514 | unsigned long mace_int = mace->perif.ctrl.istat; |
517 | irq = ffs(mace_int & maceisa_mask) + 32; | 515 | irq = __ffs(mace_int & maceisa_mask) + 32; |
518 | } | 516 | } |
517 | irq++; | ||
519 | DBG("*irq %u*\n", irq); | 518 | DBG("*irq %u*\n", irq); |
520 | do_IRQ(irq, regs); | 519 | do_IRQ(irq, regs); |
521 | } | 520 | } |
522 | 521 | ||
523 | void ip32_irq1(struct pt_regs *regs) | 522 | static void ip32_irq1(struct pt_regs *regs) |
524 | { | 523 | { |
525 | ip32_unknown_interrupt(regs); | 524 | ip32_unknown_interrupt(regs); |
526 | } | 525 | } |
527 | 526 | ||
528 | void ip32_irq2(struct pt_regs *regs) | 527 | static void ip32_irq2(struct pt_regs *regs) |
529 | { | 528 | { |
530 | ip32_unknown_interrupt(regs); | 529 | ip32_unknown_interrupt(regs); |
531 | } | 530 | } |
532 | 531 | ||
533 | void ip32_irq3(struct pt_regs *regs) | 532 | static void ip32_irq3(struct pt_regs *regs) |
534 | { | 533 | { |
535 | ip32_unknown_interrupt(regs); | 534 | ip32_unknown_interrupt(regs); |
536 | } | 535 | } |
537 | 536 | ||
538 | void ip32_irq4(struct pt_regs *regs) | 537 | static void ip32_irq4(struct pt_regs *regs) |
539 | { | 538 | { |
540 | ip32_unknown_interrupt(regs); | 539 | ip32_unknown_interrupt(regs); |
541 | } | 540 | } |
542 | 541 | ||
543 | void ip32_irq5(struct pt_regs *regs) | 542 | static void ip32_irq5(struct pt_regs *regs) |
544 | { | 543 | { |
545 | ll_timer_interrupt(IP32_R4K_TIMER_IRQ, regs); | 544 | ll_timer_interrupt(IP32_R4K_TIMER_IRQ, regs); |
546 | } | 545 | } |
547 | 546 | ||
547 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
548 | { | ||
549 | unsigned int pending = read_c0_cause(); | ||
550 | |||
551 | if (likely(pending & IE_IRQ0)) | ||
552 | ip32_irq0(regs); | ||
553 | else if (unlikely(pending & IE_IRQ1)) | ||
554 | ip32_irq1(regs); | ||
555 | else if (unlikely(pending & IE_IRQ2)) | ||
556 | ip32_irq2(regs); | ||
557 | else if (unlikely(pending & IE_IRQ3)) | ||
558 | ip32_irq3(regs); | ||
559 | else if (unlikely(pending & IE_IRQ4)) | ||
560 | ip32_irq4(regs); | ||
561 | else if (likely(pending & IE_IRQ5)) | ||
562 | ip32_irq5(regs); | ||
563 | } | ||
564 | |||
548 | void __init arch_init_irq(void) | 565 | void __init arch_init_irq(void) |
549 | { | 566 | { |
550 | unsigned int irq; | 567 | unsigned int irq; |
@@ -556,7 +573,6 @@ void __init arch_init_irq(void) | |||
556 | crime->soft_int = 0; | 573 | crime->soft_int = 0; |
557 | mace->perif.ctrl.istat = 0; | 574 | mace->perif.ctrl.istat = 0; |
558 | mace->perif.ctrl.imask = 0; | 575 | mace->perif.ctrl.imask = 0; |
559 | set_except_vector(0, ip32_handle_int); | ||
560 | 576 | ||
561 | for (irq = 0; irq <= IP32_IRQ_MAX; irq++) { | 577 | for (irq = 0; irq <= IP32_IRQ_MAX; irq++) { |
562 | hw_irq_controller *controller; | 578 | hw_irq_controller *controller; |
diff --git a/arch/mips/sibyte/bcm1480/Makefile b/arch/mips/sibyte/bcm1480/Makefile index 538d5a51ae94..7b36ff3873b7 100644 --- a/arch/mips/sibyte/bcm1480/Makefile +++ b/arch/mips/sibyte/bcm1480/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | obj-y := setup.o irq.o irq_handler.o time.o | 1 | obj-y := setup.o irq.o time.o |
2 | 2 | ||
3 | obj-$(CONFIG_SMP) += smp.o | 3 | obj-$(CONFIG_SMP) += smp.o |
4 | 4 | ||
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index 9cf7d713b13c..e61760b14d99 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c | |||
@@ -187,9 +187,6 @@ static void bcm1480_set_affinity(unsigned int irq, cpumask_t mask) | |||
187 | #endif | 187 | #endif |
188 | 188 | ||
189 | 189 | ||
190 | /* Defined in arch/mips/sibyte/bcm1480/irq_handler.S */ | ||
191 | extern void bcm1480_irq_handler(void); | ||
192 | |||
193 | /*****************************************************************************/ | 190 | /*****************************************************************************/ |
194 | 191 | ||
195 | static unsigned int startup_bcm1480_irq(unsigned int irq) | 192 | static unsigned int startup_bcm1480_irq(unsigned int irq) |
@@ -422,7 +419,6 @@ void __init arch_init_irq(void) | |||
422 | #endif | 419 | #endif |
423 | /* Enable necessary IPs, disable the rest */ | 420 | /* Enable necessary IPs, disable the rest */ |
424 | change_c0_status(ST0_IM, imask); | 421 | change_c0_status(ST0_IM, imask); |
425 | set_except_vector(0, bcm1480_irq_handler); | ||
426 | 422 | ||
427 | #ifdef CONFIG_KGDB | 423 | #ifdef CONFIG_KGDB |
428 | if (kgdb_flag) { | 424 | if (kgdb_flag) { |
@@ -473,3 +469,76 @@ void bcm1480_kgdb_interrupt(struct pt_regs *regs) | |||
473 | } | 469 | } |
474 | 470 | ||
475 | #endif /* CONFIG_KGDB */ | 471 | #endif /* CONFIG_KGDB */ |
472 | |||
473 | static inline int dclz(unsigned long long x) | ||
474 | { | ||
475 | int lz; | ||
476 | |||
477 | __asm__ ( | ||
478 | " .set push \n" | ||
479 | " .set mips64 \n" | ||
480 | " dclz %0, %1 \n" | ||
481 | " .set pop \n" | ||
482 | : "=r" (lz) | ||
483 | : "r" (x)); | ||
484 | |||
485 | return lz; | ||
486 | } | ||
487 | |||
488 | extern void bcm1480_timer_interrupt(struct pt_regs *regs); | ||
489 | extern void bcm1480_mailbox_interrupt(struct pt_regs *regs); | ||
490 | extern void bcm1480_kgdb_interrupt(struct pt_regs *regs); | ||
491 | |||
492 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
493 | { | ||
494 | unsigned int pending; | ||
495 | |||
496 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | ||
497 | /* Set compare to count to silence count/compare timer interrupts */ | ||
498 | write_c0_compare(read_c0_count()); | ||
499 | #endif | ||
500 | |||
501 | pending = read_c0_cause(); | ||
502 | |||
503 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | ||
504 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ | ||
505 | sbprof_cpu_intr(exception_epc(regs)); | ||
506 | #endif | ||
507 | |||
508 | if (pending & CAUSEF_IP4) | ||
509 | bcm1480_timer_interrupt(regs); | ||
510 | |||
511 | #ifdef CONFIG_SMP | ||
512 | if (pending & CAUSEF_IP3) | ||
513 | bcm1480_mailbox_interrupt(regs); | ||
514 | #endif | ||
515 | |||
516 | #ifdef CONFIG_KGDB | ||
517 | if (pending & CAUSEF_IP6) | ||
518 | bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */ | ||
519 | #endif | ||
520 | |||
521 | if (pending & CAUSEF_IP2) { | ||
522 | unsigned long long mask_h, mask_l; | ||
523 | unsigned long base; | ||
524 | |||
525 | /* | ||
526 | * Default...we've hit an IP[2] interrupt, which means we've | ||
527 | * got to check the 1480 interrupt registers to figure out what | ||
528 | * to do. Need to detect which CPU we're on, now that | ||
529 | * smp_affinity is supported. | ||
530 | */ | ||
531 | base = A_BCM1480_IMR_MAPPER(smp_processor_id()); | ||
532 | mask_h = __raw_readq( | ||
533 | IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_H)); | ||
534 | mask_l = __raw_readq( | ||
535 | IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L)); | ||
536 | |||
537 | if (!mask_h) { | ||
538 | if (mask_h ^ 1) | ||
539 | do_IRQ(63 - dclz(mask_h), regs); | ||
540 | else | ||
541 | do_IRQ(127 - dclz(mask_l), regs); | ||
542 | } | ||
543 | } | ||
544 | } | ||
diff --git a/arch/mips/sibyte/bcm1480/irq_handler.S b/arch/mips/sibyte/bcm1480/irq_handler.S deleted file mode 100644 index 408db88d050f..000000000000 --- a/arch/mips/sibyte/bcm1480/irq_handler.S +++ /dev/null | |||
@@ -1,165 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2000,2001,2002,2003,2004 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | /* | ||
20 | * bcm1480_irq_handler() is the routine that is actually called when an | ||
21 | * interrupt occurs. It is installed as the exception vector handler in | ||
22 | * init_IRQ() in arch/mips/sibyte/bcm1480/irq.c | ||
23 | * | ||
24 | * In the handle we figure out which interrupts need handling, and use that | ||
25 | * to call the dispatcher, which will take care of actually calling | ||
26 | * registered handlers | ||
27 | * | ||
28 | * Note that we take care of all raised interrupts in one go at the handler. | ||
29 | * This is more BSDish than the Indy code, and also, IMHO, more sane. | ||
30 | */ | ||
31 | #include <linux/config.h> | ||
32 | |||
33 | #include <asm/addrspace.h> | ||
34 | #include <asm/asm.h> | ||
35 | #include <asm/mipsregs.h> | ||
36 | #include <asm/regdef.h> | ||
37 | #include <asm/stackframe.h> | ||
38 | #include <asm/sibyte/sb1250_defs.h> | ||
39 | #include <asm/sibyte/bcm1480_regs.h> | ||
40 | #include <asm/sibyte/bcm1480_int.h> | ||
41 | |||
42 | /* | ||
43 | * What a pain. We have to be really careful saving the upper 32 bits of any | ||
44 | * register across function calls if we don't want them trashed--since were | ||
45 | * running in -o32, the calling routing never saves the full 64 bits of a | ||
46 | * register across a function call. Being the interrupt handler, we're | ||
47 | * guaranteed that interrupts are disabled during this code so we don't have | ||
48 | * to worry about random interrupts blasting the high 32 bits. | ||
49 | */ | ||
50 | |||
51 | .text | ||
52 | .set push | ||
53 | .set noreorder | ||
54 | .set noat | ||
55 | .set mips64 | ||
56 | #.set mips4 | ||
57 | .align 5 | ||
58 | NESTED(bcm1480_irq_handler, PT_SIZE, sp) | ||
59 | SAVE_ALL | ||
60 | CLI | ||
61 | |||
62 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | ||
63 | /* Set compare to count to silence count/compare timer interrupts */ | ||
64 | mfc0 t1, CP0_COUNT | ||
65 | mtc0 t1, CP0_COMPARE /* pause to clear IP[7] bit of cause ? */ | ||
66 | #endif | ||
67 | /* Read cause */ | ||
68 | mfc0 s0, CP0_CAUSE | ||
69 | |||
70 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | ||
71 | /* Cpu performance counter interrupt is routed to IP[7] */ | ||
72 | andi t1, s0, CAUSEF_IP7 | ||
73 | beqz t1, 0f | ||
74 | srl t1, s0, (CAUSEB_BD-2) /* Shift BD bit to bit 2 */ | ||
75 | and t1, t1, 0x4 /* mask to get just BD bit */ | ||
76 | #ifdef CONFIG_MIPS64 | ||
77 | dmfc0 a0, CP0_EPC | ||
78 | daddu a0, a0, t1 /* a0 = EPC + (BD ? 4 : 0) */ | ||
79 | #else | ||
80 | mfc0 a0, CP0_EPC | ||
81 | addu a0, a0, t1 /* a0 = EPC + (BD ? 4 : 0) */ | ||
82 | #endif | ||
83 | jal sbprof_cpu_intr | ||
84 | nop | ||
85 | j ret_from_irq | ||
86 | nop | ||
87 | 0: | ||
88 | #endif | ||
89 | |||
90 | /* Timer interrupt is routed to IP[4] */ | ||
91 | andi t1, s0, CAUSEF_IP4 | ||
92 | beqz t1, 1f | ||
93 | nop | ||
94 | jal bcm1480_timer_interrupt | ||
95 | move a0, sp /* Pass the registers along */ | ||
96 | j ret_from_irq | ||
97 | nop /* delay slot */ | ||
98 | 1: | ||
99 | |||
100 | #ifdef CONFIG_SMP | ||
101 | /* Mailbox interrupt is routed to IP[3] */ | ||
102 | andi t1, s0, CAUSEF_IP3 | ||
103 | beqz t1, 2f | ||
104 | nop | ||
105 | jal bcm1480_mailbox_interrupt | ||
106 | move a0, sp | ||
107 | j ret_from_irq | ||
108 | nop /* delay slot */ | ||
109 | 2: | ||
110 | #endif | ||
111 | |||
112 | #ifdef CONFIG_KGDB | ||
113 | /* KGDB (uart 1) interrupt is routed to IP[6] */ | ||
114 | andi t1, s0, CAUSEF_IP6 | ||
115 | beqz t1, 3f | ||
116 | nop /* delay slot */ | ||
117 | jal bcm1480_kgdb_interrupt | ||
118 | move a0, sp | ||
119 | j ret_from_irq | ||
120 | nop /* delay slot */ | ||
121 | 3: | ||
122 | #endif | ||
123 | |||
124 | and t1, s0, CAUSEF_IP2 | ||
125 | beqz t1, 9f | ||
126 | nop | ||
127 | |||
128 | /* | ||
129 | * Default...we've hit an IP[2] interrupt, which means we've got | ||
130 | * to check the 1480 interrupt registers to figure out what to do | ||
131 | * Need to detect which CPU we're on, now that smp_affinity is | ||
132 | * supported. | ||
133 | */ | ||
134 | PTR_LA v0, CKSEG1 + A_BCM1480_IMR_CPU0_BASE | ||
135 | #ifdef CONFIG_SMP | ||
136 | lw t1, TI_CPU($28) | ||
137 | sll t1, t1, BCM1480_IMR_REGISTER_SPACING_SHIFT | ||
138 | addu v0, v0, t1 | ||
139 | #endif | ||
140 | |||
141 | /* Read IP[2] status (get both high and low halves of status) */ | ||
142 | ld s0, R_BCM1480_IMR_INTERRUPT_STATUS_BASE_H(v0) | ||
143 | ld s1, R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L(v0) | ||
144 | |||
145 | move s2, zero /* intr number */ | ||
146 | li s3, 64 | ||
147 | |||
148 | beqz s0, 9f /* No interrupts. Return. */ | ||
149 | move a1, sp | ||
150 | |||
151 | xori s4, s0, 1 /* if s0 (_H) == 1, it's a low intr, so... */ | ||
152 | movz s2, s3, s4 /* start the intr number at 64, and */ | ||
153 | movz s0, s1, s4 /* look at the low status value. */ | ||
154 | |||
155 | dclz s1, s0 /* Find the next interrupt. */ | ||
156 | dsubu a0, zero, s1 | ||
157 | daddiu a0, a0, 63 | ||
158 | jal do_IRQ | ||
159 | daddu a0, a0, s2 | ||
160 | |||
161 | 9: j ret_from_irq | ||
162 | nop | ||
163 | |||
164 | .set pop | ||
165 | END(bcm1480_irq_handler) | ||
diff --git a/arch/mips/sibyte/sb1250/Makefile b/arch/mips/sibyte/sb1250/Makefile index a8af84697588..a2fdbd62f8ac 100644 --- a/arch/mips/sibyte/sb1250/Makefile +++ b/arch/mips/sibyte/sb1250/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | obj-y := setup.o irq.o irq_handler.o time.o | 1 | obj-y := setup.o irq.o time.o |
2 | 2 | ||
3 | obj-$(CONFIG_SMP) += smp.o | 3 | obj-$(CONFIG_SMP) += smp.o |
4 | obj-$(CONFIG_SIBYTE_TBPROF) += bcm1250_tbprof.o | 4 | obj-$(CONFIG_SIBYTE_TBPROF) += bcm1250_tbprof.o |
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c index 589537bfcc3d..0f6e54db4888 100644 --- a/arch/mips/sibyte/sb1250/irq.c +++ b/arch/mips/sibyte/sb1250/irq.c | |||
@@ -163,10 +163,6 @@ static void sb1250_set_affinity(unsigned int irq, cpumask_t mask) | |||
163 | } | 163 | } |
164 | #endif | 164 | #endif |
165 | 165 | ||
166 | |||
167 | /* Defined in arch/mips/sibyte/sb1250/irq_handler.S */ | ||
168 | extern void sb1250_irq_handler(void); | ||
169 | |||
170 | /*****************************************************************************/ | 166 | /*****************************************************************************/ |
171 | 167 | ||
172 | static unsigned int startup_sb1250_irq(unsigned int irq) | 168 | static unsigned int startup_sb1250_irq(unsigned int irq) |
@@ -379,7 +375,6 @@ void __init arch_init_irq(void) | |||
379 | #endif | 375 | #endif |
380 | /* Enable necessary IPs, disable the rest */ | 376 | /* Enable necessary IPs, disable the rest */ |
381 | change_c0_status(ST0_IM, imask); | 377 | change_c0_status(ST0_IM, imask); |
382 | set_except_vector(0, sb1250_irq_handler); | ||
383 | 378 | ||
384 | #ifdef CONFIG_KGDB | 379 | #ifdef CONFIG_KGDB |
385 | if (kgdb_flag) { | 380 | if (kgdb_flag) { |
@@ -409,7 +404,7 @@ void __init arch_init_irq(void) | |||
409 | #define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) | 404 | #define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) |
410 | #define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) | 405 | #define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) |
411 | 406 | ||
412 | void sb1250_kgdb_interrupt(struct pt_regs *regs) | 407 | static void sb1250_kgdb_interrupt(struct pt_regs *regs) |
413 | { | 408 | { |
414 | /* | 409 | /* |
415 | * Clear break-change status (allow some time for the remote | 410 | * Clear break-change status (allow some time for the remote |
@@ -424,3 +419,74 @@ void sb1250_kgdb_interrupt(struct pt_regs *regs) | |||
424 | } | 419 | } |
425 | 420 | ||
426 | #endif /* CONFIG_KGDB */ | 421 | #endif /* CONFIG_KGDB */ |
422 | |||
423 | static inline int dclz(unsigned long long x) | ||
424 | { | ||
425 | int lz; | ||
426 | |||
427 | __asm__ ( | ||
428 | " .set push \n" | ||
429 | " .set mips64 \n" | ||
430 | " dclz %0, %1 \n" | ||
431 | " .set pop \n" | ||
432 | : "=r" (lz) | ||
433 | : "r" (x)); | ||
434 | |||
435 | return lz; | ||
436 | } | ||
437 | |||
438 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
439 | { | ||
440 | unsigned int pending; | ||
441 | |||
442 | #ifdef CONFIG_SIBYTE_SB1250_PROF | ||
443 | /* Set compare to count to silence count/compare timer interrupts */ | ||
444 | write_c0_count(read_c0_count()); | ||
445 | #endif | ||
446 | |||
447 | /* | ||
448 | * What a pain. We have to be really careful saving the upper 32 bits | ||
449 | * of any * register across function calls if we don't want them | ||
450 | * trashed--since were running in -o32, the calling routing never saves | ||
451 | * the full 64 bits of a register across a function call. Being the | ||
452 | * interrupt handler, we're guaranteed that interrupts are disabled | ||
453 | * during this code so we don't have to worry about random interrupts | ||
454 | * blasting the high 32 bits. | ||
455 | */ | ||
456 | |||
457 | pending = read_c0_cause(); | ||
458 | |||
459 | #ifdef CONFIG_SIBYTE_SB1250_PROF | ||
460 | if (pending & CAUSEF_IP7) { /* Cpu performance counter interrupt */ | ||
461 | sbprof_cpu_intr(exception_epc(regs)); | ||
462 | } | ||
463 | #endif | ||
464 | |||
465 | if (pending & CAUSEF_IP4) | ||
466 | sb1250_timer_interrupt(regs); | ||
467 | |||
468 | #ifdef CONFIG_SMP | ||
469 | if (pending & CAUSEF_IP3) | ||
470 | sb1250_mailbox_interrupt(regs); | ||
471 | #endif | ||
472 | |||
473 | #ifdef CONFIG_KGDB | ||
474 | if (pending & CAUSEF_IP6) /* KGDB (uart 1) */ | ||
475 | sb1250_kgdb_interrupt(regs); | ||
476 | #endif | ||
477 | |||
478 | if (pending & CAUSEF_IP2) { | ||
479 | unsigned long long mask; | ||
480 | |||
481 | /* | ||
482 | * Default...we've hit an IP[2] interrupt, which means we've | ||
483 | * got to check the 1250 interrupt registers to figure out what | ||
484 | * to do. Need to detect which CPU we're on, now that | ||
485 | ~ smp_affinity is supported. | ||
486 | */ | ||
487 | mask = __raw_readq(IOADDR(A_IMR_REGISTER(smp_processor_id(), | ||
488 | R_IMR_INTERRUPT_STATUS_BASE))); | ||
489 | if (mask) | ||
490 | do_IRQ(63 - dclz(mask), regs); | ||
491 | } | ||
492 | } | ||
diff --git a/arch/mips/sibyte/sb1250/irq_handler.S b/arch/mips/sibyte/sb1250/irq_handler.S deleted file mode 100644 index 60edc8fb302b..000000000000 --- a/arch/mips/sibyte/sb1250/irq_handler.S +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2000, 2001, 2002, 2003 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | /* | ||
20 | * sb1250_handle_int() is the routine that is actually called when an interrupt | ||
21 | * occurs. It is installed as the exception vector handler in arch_init_irq() | ||
22 | * in arch/mips/sibyte/sb1250/irq.c | ||
23 | * | ||
24 | * In the handle we figure out which interrupts need handling, and use that to | ||
25 | * call the dispatcher, which will take care of actually calling registered | ||
26 | * handlers | ||
27 | * | ||
28 | * Note that we take care of all raised interrupts in one go at the handler. | ||
29 | * This is more BSDish than the Indy code, and also, IMHO, more sane. | ||
30 | */ | ||
31 | #include <linux/config.h> | ||
32 | |||
33 | #include <asm/addrspace.h> | ||
34 | #include <asm/asm.h> | ||
35 | #include <asm/mipsregs.h> | ||
36 | #include <asm/regdef.h> | ||
37 | #include <asm/stackframe.h> | ||
38 | #include <asm/sibyte/sb1250_defs.h> | ||
39 | #include <asm/sibyte/sb1250_regs.h> | ||
40 | #include <asm/sibyte/sb1250_int.h> | ||
41 | |||
42 | /* | ||
43 | * What a pain. We have to be really careful saving the upper 32 bits of any | ||
44 | * register across function calls if we don't want them trashed--since were | ||
45 | * running in -o32, the calling routing never saves the full 64 bits of a | ||
46 | * register across a function call. Being the interrupt handler, we're | ||
47 | * guaranteed that interrupts are disabled during this code so we don't have | ||
48 | * to worry about random interrupts blasting the high 32 bits. | ||
49 | */ | ||
50 | |||
51 | .text | ||
52 | .set push | ||
53 | .set noreorder | ||
54 | .set noat | ||
55 | .set mips64 | ||
56 | .align 5 | ||
57 | NESTED(sb1250_irq_handler, PT_SIZE, sp) | ||
58 | SAVE_ALL | ||
59 | CLI | ||
60 | |||
61 | #ifdef CONFIG_SIBYTE_SB1250_PROF | ||
62 | /* Set compare to count to silence count/compare timer interrupts */ | ||
63 | mfc0 t1, CP0_COUNT | ||
64 | mtc0 t1, CP0_COMPARE /* pause to clear IP[7] bit of cause ? */ | ||
65 | #endif | ||
66 | /* Read cause */ | ||
67 | mfc0 s0, CP0_CAUSE | ||
68 | |||
69 | #ifdef CONFIG_SIBYTE_SB1250_PROF | ||
70 | /* Cpu performance counter interrupt is routed to IP[7] */ | ||
71 | andi t1, s0, CAUSEF_IP7 | ||
72 | beqz t1, 0f | ||
73 | srl t1, s0, (CAUSEB_BD-2) /* Shift BD bit to bit 2 */ | ||
74 | and t1, t1, 0x4 /* mask to get just BD bit */ | ||
75 | mfc0 a0, CP0_EPC | ||
76 | jal sbprof_cpu_intr | ||
77 | addu a0, a0, t1 /* a0 = EPC + (BD ? 4 : 0) */ | ||
78 | j ret_from_irq | ||
79 | nop | ||
80 | 0: | ||
81 | #endif | ||
82 | |||
83 | /* Timer interrupt is routed to IP[4] */ | ||
84 | andi t1, s0, CAUSEF_IP4 | ||
85 | beqz t1, 1f | ||
86 | nop | ||
87 | jal sb1250_timer_interrupt | ||
88 | move a0, sp /* Pass the registers along */ | ||
89 | j ret_from_irq | ||
90 | nop # delay slot | ||
91 | 1: | ||
92 | |||
93 | #ifdef CONFIG_SMP | ||
94 | /* Mailbox interrupt is routed to IP[3] */ | ||
95 | andi t1, s0, CAUSEF_IP3 | ||
96 | beqz t1, 2f | ||
97 | nop | ||
98 | jal sb1250_mailbox_interrupt | ||
99 | move a0, sp | ||
100 | j ret_from_irq | ||
101 | nop # delay slot | ||
102 | 2: | ||
103 | #endif | ||
104 | |||
105 | #ifdef CONFIG_KGDB | ||
106 | /* KGDB (uart 1) interrupt is routed to IP[6] */ | ||
107 | andi t1, s0, CAUSEF_IP6 | ||
108 | beqz t1, 1f | ||
109 | nop # delay slot | ||
110 | jal sb1250_kgdb_interrupt | ||
111 | move a0, sp | ||
112 | j ret_from_irq | ||
113 | nop # delay slot | ||
114 | 1: | ||
115 | #endif | ||
116 | |||
117 | and t1, s0, CAUSEF_IP2 | ||
118 | beqz t1, 4f | ||
119 | nop | ||
120 | |||
121 | /* | ||
122 | * Default...we've hit an IP[2] interrupt, which means we've got to | ||
123 | * check the 1250 interrupt registers to figure out what to do | ||
124 | * Need to detect which CPU we're on, now that smp_affinity is supported. | ||
125 | */ | ||
126 | PTR_LA v0, CKSEG1 + A_IMR_CPU0_BASE | ||
127 | #ifdef CONFIG_SMP | ||
128 | lw t1, TI_CPU($28) | ||
129 | sll t1, IMR_REGISTER_SPACING_SHIFT | ||
130 | addu v0, t1 | ||
131 | #endif | ||
132 | ld s0, R_IMR_INTERRUPT_STATUS_BASE(v0) /* read IP[2] status */ | ||
133 | |||
134 | beqz s0, 4f /* No interrupts. Return */ | ||
135 | move a1, sp | ||
136 | |||
137 | 3: dclz s1, s0 /* Find the next interrupt */ | ||
138 | dsubu a0, zero, s1 | ||
139 | daddiu a0, a0, 63 | ||
140 | jal do_IRQ | ||
141 | nop | ||
142 | |||
143 | 4: j ret_from_irq | ||
144 | nop | ||
145 | |||
146 | .set pop | ||
147 | END(sb1250_irq_handler) | ||
diff --git a/arch/mips/sni/Makefile b/arch/mips/sni/Makefile index 1e5676e4be86..9c7eaa5fb210 100644 --- a/arch/mips/sni/Makefile +++ b/arch/mips/sni/Makefile | |||
@@ -2,6 +2,6 @@ | |||
2 | # Makefile for the SNI specific part of the kernel | 2 | # Makefile for the SNI specific part of the kernel |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += int-handler.o irq.o pcimt_scache.o reset.o setup.o | 5 | obj-y += irq.o pcimt_scache.o reset.o setup.o |
6 | 6 | ||
7 | EXTRA_AFLAGS := $(CFLAGS) | 7 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/sni/int-handler.S b/arch/mips/sni/int-handler.S deleted file mode 100644 index 2cdc09f55f18..000000000000 --- a/arch/mips/sni/int-handler.S +++ /dev/null | |||
@@ -1,106 +0,0 @@ | |||
1 | /* | ||
2 | * SNI RM200 PCI specific interrupt handler code. | ||
3 | * | ||
4 | * Copyright (C) 1994, 95, 96, 97, 98, 1999, 2000, 01 by Ralf Baechle | ||
5 | */ | ||
6 | #include <asm/asm.h> | ||
7 | #include <asm/mipsregs.h> | ||
8 | #include <asm/regdef.h> | ||
9 | #include <asm/sni.h> | ||
10 | #include <asm/stackframe.h> | ||
11 | |||
12 | /* | ||
13 | * The PCI ASIC has the nasty property that it may delay writes if it is busy. | ||
14 | * As a consequence from writes that have not graduated when we exit from the | ||
15 | * interrupt handler we might catch a spurious interrupt. To avoid this we | ||
16 | * force the PCI ASIC to graduate all writes by executing a read from the | ||
17 | * PCI bus. | ||
18 | */ | ||
19 | .set noreorder | ||
20 | .set noat | ||
21 | .align 5 | ||
22 | NESTED(sni_rm200_pci_handle_int, PT_SIZE, sp) | ||
23 | SAVE_ALL | ||
24 | CLI | ||
25 | .set at | ||
26 | |||
27 | /* Blinken light ... */ | ||
28 | lb t0, led_cache | ||
29 | addiu t0, 1 | ||
30 | sb t0, led_cache | ||
31 | sb t0, PCIMT_CSLED # write only register | ||
32 | .data | ||
33 | led_cache: .byte 0 | ||
34 | .text | ||
35 | |||
36 | mfc0 t0, CP0_STATUS | ||
37 | mfc0 t1, CP0_CAUSE | ||
38 | and t0, t1 | ||
39 | |||
40 | andi t1, t0, 0x0800 # hardware interrupt 1 | ||
41 | bnez t1, _hwint1 | ||
42 | andi t1, t0, 0x4000 # hardware interrupt 4 | ||
43 | bnez t1, _hwint4 | ||
44 | andi t1, t0, 0x2000 # hardware interrupt 3 | ||
45 | bnez t1, _hwint3 | ||
46 | andi t1, t0, 0x1000 # hardware interrupt 2 | ||
47 | bnez t1, _hwint2 | ||
48 | andi t1, t0, 0x8000 # hardware interrupt 5 | ||
49 | bnez t1, _hwint5 | ||
50 | andi t1, t0, 0x0400 # hardware interrupt 0 | ||
51 | bnez t1, _hwint0 | ||
52 | nop | ||
53 | |||
54 | j restore_all # spurious interrupt | ||
55 | nop | ||
56 | |||
57 | ############################################################################## | ||
58 | |||
59 | /* hwint0 should deal with MP agent, ASIC PCI, EISA NMI and debug | ||
60 | button interrupts. */ | ||
61 | _hwint0: jal pciasic_hwint0 | ||
62 | move a0, sp | ||
63 | j ret_from_irq | ||
64 | nop | ||
65 | |||
66 | /* | ||
67 | * hwint 1 deals with EISA and SCSI interrupts | ||
68 | */ | ||
69 | _hwint1: jal pciasic_hwint1 | ||
70 | move a0, sp | ||
71 | j ret_from_irq | ||
72 | nop | ||
73 | |||
74 | |||
75 | /* | ||
76 | * This interrupt was used for the com1 console on the first prototypes; | ||
77 | * it's unsed otherwise | ||
78 | */ | ||
79 | _hwint2: jal pciasic_hwint2 | ||
80 | move a0, sp | ||
81 | j ret_from_irq | ||
82 | nop | ||
83 | |||
84 | /* | ||
85 | * hwint 3 are the PCI interrupts A - D | ||
86 | */ | ||
87 | _hwint3: jal pciasic_hwint3 | ||
88 | move a0, sp | ||
89 | j ret_from_irq | ||
90 | nop | ||
91 | |||
92 | /* | ||
93 | * hwint 4 is used for only the onboard PCnet 32. | ||
94 | */ | ||
95 | _hwint4: jal pciasic_hwint4 | ||
96 | move a0, sp | ||
97 | j ret_from_irq | ||
98 | nop | ||
99 | |||
100 | /* hwint5 is the r4k count / compare interrupt */ | ||
101 | _hwint5: jal pciasic_hwint5 | ||
102 | move a0, sp | ||
103 | j ret_from_irq | ||
104 | nop | ||
105 | |||
106 | END(sni_rm200_pci_handle_int) | ||
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c index 952038aa4b90..7365b4853ddb 100644 --- a/arch/mips/sni/irq.c +++ b/arch/mips/sni/irq.c | |||
@@ -19,8 +19,6 @@ | |||
19 | 19 | ||
20 | DEFINE_SPINLOCK(pciasic_lock); | 20 | DEFINE_SPINLOCK(pciasic_lock); |
21 | 21 | ||
22 | extern asmlinkage void sni_rm200_pci_handle_int(void); | ||
23 | |||
24 | static void enable_pciasic_irq(unsigned int irq) | 22 | static void enable_pciasic_irq(unsigned int irq) |
25 | { | 23 | { |
26 | unsigned int mask = 1 << (irq - PCIMT_IRQ_INT2); | 24 | unsigned int mask = 1 << (irq - PCIMT_IRQ_INT2); |
@@ -71,20 +69,20 @@ static struct hw_interrupt_type pciasic_irq_type = { | |||
71 | * hwint0 should deal with MP agent, ASIC PCI, EISA NMI and debug | 69 | * hwint0 should deal with MP agent, ASIC PCI, EISA NMI and debug |
72 | * button interrupts. Later ... | 70 | * button interrupts. Later ... |
73 | */ | 71 | */ |
74 | void pciasic_hwint0(struct pt_regs *regs) | 72 | static void pciasic_hwint0(struct pt_regs *regs) |
75 | { | 73 | { |
76 | panic("Received int0 but no handler yet ..."); | 74 | panic("Received int0 but no handler yet ..."); |
77 | } | 75 | } |
78 | 76 | ||
79 | /* This interrupt was used for the com1 console on the first prototypes. */ | 77 | /* This interrupt was used for the com1 console on the first prototypes. */ |
80 | void pciasic_hwint2(struct pt_regs *regs) | 78 | static void pciasic_hwint2(struct pt_regs *regs) |
81 | { | 79 | { |
82 | /* I think this shouldn't happen on production machines. */ | 80 | /* I think this shouldn't happen on production machines. */ |
83 | panic("hwint2 and no handler yet"); | 81 | panic("hwint2 and no handler yet"); |
84 | } | 82 | } |
85 | 83 | ||
86 | /* hwint5 is the r4k count / compare interrupt */ | 84 | /* hwint5 is the r4k count / compare interrupt */ |
87 | void pciasic_hwint5(struct pt_regs *regs) | 85 | static void pciasic_hwint5(struct pt_regs *regs) |
88 | { | 86 | { |
89 | panic("hwint5 and no handler yet"); | 87 | panic("hwint5 and no handler yet"); |
90 | } | 88 | } |
@@ -105,7 +103,7 @@ static unsigned int ls1bit8(unsigned int x) | |||
105 | * | 103 | * |
106 | * The EISA_INT bit in CSITPEND is high active, all others are low active. | 104 | * The EISA_INT bit in CSITPEND is high active, all others are low active. |
107 | */ | 105 | */ |
108 | void pciasic_hwint1(struct pt_regs *regs) | 106 | static void pciasic_hwint1(struct pt_regs *regs) |
109 | { | 107 | { |
110 | u8 pend = *(volatile char *)PCIMT_CSITPEND; | 108 | u8 pend = *(volatile char *)PCIMT_CSITPEND; |
111 | unsigned long flags; | 109 | unsigned long flags; |
@@ -135,7 +133,7 @@ void pciasic_hwint1(struct pt_regs *regs) | |||
135 | /* | 133 | /* |
136 | * hwint 3 should deal with the PCI A - D interrupts, | 134 | * hwint 3 should deal with the PCI A - D interrupts, |
137 | */ | 135 | */ |
138 | void pciasic_hwint3(struct pt_regs *regs) | 136 | static void pciasic_hwint3(struct pt_regs *regs) |
139 | { | 137 | { |
140 | u8 pend = *(volatile char *)PCIMT_CSITPEND; | 138 | u8 pend = *(volatile char *)PCIMT_CSITPEND; |
141 | int irq; | 139 | int irq; |
@@ -150,13 +148,34 @@ void pciasic_hwint3(struct pt_regs *regs) | |||
150 | /* | 148 | /* |
151 | * hwint 4 is used for only the onboard PCnet 32. | 149 | * hwint 4 is used for only the onboard PCnet 32. |
152 | */ | 150 | */ |
153 | void pciasic_hwint4(struct pt_regs *regs) | 151 | static void pciasic_hwint4(struct pt_regs *regs) |
154 | { | 152 | { |
155 | clear_c0_status(IE_IRQ4); | 153 | clear_c0_status(IE_IRQ4); |
156 | do_IRQ(PCIMT_IRQ_ETHERNET, regs); | 154 | do_IRQ(PCIMT_IRQ_ETHERNET, regs); |
157 | set_c0_status(IE_IRQ4); | 155 | set_c0_status(IE_IRQ4); |
158 | } | 156 | } |
159 | 157 | ||
158 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
159 | { | ||
160 | unsigned int pending = read_c0_status() & read_c0_cause(); | ||
161 | static unsigned char led_cache; | ||
162 | |||
163 | *(volatile unsigned char *) PCIMT_CSLED = ++led_cache; | ||
164 | |||
165 | if (pending & 0x0800) | ||
166 | pciasic_hwint1(regs); | ||
167 | else if (pending & 0x4000) | ||
168 | pciasic_hwint4(regs); | ||
169 | else if (pending & 0x2000) | ||
170 | pciasic_hwint3(regs); | ||
171 | else if (pending & 0x1000) | ||
172 | pciasic_hwint2(regs); | ||
173 | else if (pending & 0x8000) | ||
174 | pciasic_hwint5(regs); | ||
175 | else if (pending & 0x0400) | ||
176 | pciasic_hwint0(regs); | ||
177 | } | ||
178 | |||
160 | void __init init_pciasic(void) | 179 | void __init init_pciasic(void) |
161 | { | 180 | { |
162 | unsigned long flags; | 181 | unsigned long flags; |
@@ -176,8 +195,6 @@ void __init arch_init_irq(void) | |||
176 | { | 195 | { |
177 | int i; | 196 | int i; |
178 | 197 | ||
179 | set_except_vector(0, sni_rm200_pci_handle_int); | ||
180 | |||
181 | init_i8259_irqs(); /* Integrated i8259 */ | 198 | init_i8259_irqs(); /* Integrated i8259 */ |
182 | init_pciasic(); | 199 | init_pciasic(); |
183 | 200 | ||
diff --git a/arch/mips/tx4927/common/Makefile b/arch/mips/tx4927/common/Makefile index 8fa126b296e1..9cb9535ebacb 100644 --- a/arch/mips/tx4927/common/Makefile +++ b/arch/mips/tx4927/common/Makefile | |||
@@ -6,7 +6,7 @@ | |||
6 | # unless it's something special (ie not a .c file). | 6 | # unless it's something special (ie not a .c file). |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += tx4927_prom.o tx4927_setup.o tx4927_irq.o tx4927_irq_handler.o | 9 | obj-y += tx4927_prom.o tx4927_setup.o tx4927_irq.o |
10 | 10 | ||
11 | obj-$(CONFIG_TOSHIBA_FPCIB0) += smsc_fdc37m81x.o | 11 | obj-$(CONFIG_TOSHIBA_FPCIB0) += smsc_fdc37m81x.o |
12 | obj-$(CONFIG_KGDB) += tx4927_dbgio.o | 12 | obj-$(CONFIG_KGDB) += tx4927_dbgio.o |
diff --git a/arch/mips/tx4927/common/tx4927_irq.c b/arch/mips/tx4927/common/tx4927_irq.c index 5ab2e2b76018..8ca68015cf40 100644 --- a/arch/mips/tx4927/common/tx4927_irq.c +++ b/arch/mips/tx4927/common/tx4927_irq.c | |||
@@ -525,8 +525,6 @@ static void tx4927_irq_pic_end(unsigned int irq) | |||
525 | */ | 525 | */ |
526 | void __init tx4927_irq_init(void) | 526 | void __init tx4927_irq_init(void) |
527 | { | 527 | { |
528 | extern asmlinkage void tx4927_irq_handler(void); | ||
529 | |||
530 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "-\n"); | 528 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "-\n"); |
531 | 529 | ||
532 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_cp0_init()\n"); | 530 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_cp0_init()\n"); |
@@ -535,16 +533,12 @@ void __init tx4927_irq_init(void) | |||
535 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_pic_init()\n"); | 533 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_pic_init()\n"); |
536 | tx4927_irq_pic_init(); | 534 | tx4927_irq_pic_init(); |
537 | 535 | ||
538 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, | ||
539 | "=Calling set_except_vector(tx4927_irq_handler)\n"); | ||
540 | set_except_vector(0, tx4927_irq_handler); | ||
541 | |||
542 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "+\n"); | 536 | TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "+\n"); |
543 | 537 | ||
544 | return; | 538 | return; |
545 | } | 539 | } |
546 | 540 | ||
547 | int tx4927_irq_nested(void) | 541 | static int tx4927_irq_nested(void) |
548 | { | 542 | { |
549 | int sw_irq = 0; | 543 | int sw_irq = 0; |
550 | u32 level2; | 544 | u32 level2; |
@@ -582,3 +576,25 @@ int tx4927_irq_nested(void) | |||
582 | 576 | ||
583 | return (sw_irq); | 577 | return (sw_irq); |
584 | } | 578 | } |
579 | |||
580 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
581 | { | ||
582 | unsigned int pending = read_c0_status() & read_c0_cause(); | ||
583 | |||
584 | if (pending & STATUSF_IP7) /* cpu timer */ | ||
585 | do_IRQ(TX4927_IRQ_CPU_TIMER, regs); | ||
586 | else if (pending & STATUSF_IP2) { /* tx4927 pic */ | ||
587 | unsigned int irq = tx4927_irq_nested(); | ||
588 | |||
589 | if (unlikely(irq == 0)) { | ||
590 | spurious_interrupt(regs); | ||
591 | return; | ||
592 | } | ||
593 | do_IRQ(irq, regs); | ||
594 | } else if (pending & STATUSF_IP0) /* user line 0 */ | ||
595 | do_IRQ(TX4927_IRQ_USER0, regs); | ||
596 | else if (pending & STATUSF_IP1) /* user line 1 */ | ||
597 | do_IRQ(TX4927_IRQ_USER1, regs); | ||
598 | else | ||
599 | spurious_interrupt(regs); | ||
600 | } | ||
diff --git a/arch/mips/tx4927/common/tx4927_irq_handler.S b/arch/mips/tx4927/common/tx4927_irq_handler.S deleted file mode 100644 index dd3ceda9d712..000000000000 --- a/arch/mips/tx4927/common/tx4927_irq_handler.S +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/mips/tx4927/common/tx4927_irq_handler.S | ||
3 | * | ||
4 | * Primary interrupt handler for tx4927 based systems | ||
5 | * | ||
6 | * Author: MontaVista Software, Inc. | ||
7 | * Author: jsun@mvista.com or jsun@junsun.net | ||
8 | * source@mvista.com | ||
9 | * | ||
10 | * Copyright 2001-2002 MontaVista Software Inc. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License as published by the | ||
14 | * Free Software Foundation; either version 2 of the License, or (at your | ||
15 | * option) any later version. | ||
16 | * | ||
17 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
18 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
19 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
20 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
22 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | ||
23 | * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | ||
25 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||
26 | * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
27 | * | ||
28 | * You should have received a copy of the GNU General Public License along | ||
29 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
30 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
31 | */ | ||
32 | #include <asm/asm.h> | ||
33 | #include <asm/mipsregs.h> | ||
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/regdef.h> | ||
36 | #include <asm/stackframe.h> | ||
37 | #include <asm/tx4927/tx4927.h> | ||
38 | |||
39 | .align 5 | ||
40 | NESTED(tx4927_irq_handler, PT_SIZE, sp) | ||
41 | SAVE_ALL | ||
42 | CLI | ||
43 | .set at | ||
44 | |||
45 | mfc0 t0, CP0_CAUSE | ||
46 | mfc0 t1, CP0_STATUS | ||
47 | and t0, t1 | ||
48 | |||
49 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
50 | bnez t1, ll_ip7 | ||
51 | |||
52 | /* IP6..IP3 multiplexed -- do not use */ | ||
53 | |||
54 | andi t1, t0, STATUSF_IP2 /* tx4927 pic */ | ||
55 | bnez t1, ll_ip2 | ||
56 | |||
57 | andi t1, t0, STATUSF_IP0 /* user line 0 */ | ||
58 | bnez t1, ll_ip0 | ||
59 | |||
60 | andi t1, t0, STATUSF_IP1 /* user line 1 */ | ||
61 | bnez t1, ll_ip1 | ||
62 | |||
63 | .set reorder | ||
64 | |||
65 | /* wrong alarm or masked ... */ | ||
66 | j spurious_interrupt | ||
67 | nop | ||
68 | END(tx4927_irq_handler) | ||
69 | |||
70 | .align 5 | ||
71 | |||
72 | |||
73 | ll_ip7: | ||
74 | li a0, TX4927_IRQ_CPU_TIMER | ||
75 | move a1, sp | ||
76 | jal do_IRQ | ||
77 | j ret_from_irq | ||
78 | |||
79 | ll_ip2: | ||
80 | jal tx4927_irq_nested | ||
81 | nop | ||
82 | beqz v0, goto_spurious_interrupt | ||
83 | nop | ||
84 | move a0, v0 | ||
85 | move a1, sp | ||
86 | jal do_IRQ | ||
87 | j ret_from_irq | ||
88 | |||
89 | goto_spurious_interrupt: | ||
90 | j spurious_interrupt | ||
91 | nop | ||
92 | |||
93 | ll_ip1: | ||
94 | li a0, TX4927_IRQ_USER1 | ||
95 | move a1, sp | ||
96 | jal do_IRQ | ||
97 | j ret_from_irq | ||
98 | |||
99 | ll_ip0: | ||
100 | li a0, TX4927_IRQ_USER0 | ||
101 | move a1, sp | ||
102 | jal do_IRQ | ||
103 | j ret_from_irq | ||
diff --git a/arch/mips/tx4938/common/Makefile b/arch/mips/tx4938/common/Makefile index 74c95c5bcdbf..2033ae77f632 100644 --- a/arch/mips/tx4938/common/Makefile +++ b/arch/mips/tx4938/common/Makefile | |||
@@ -6,6 +6,6 @@ | |||
6 | # unless it's something special (ie not a .c file). | 6 | # unless it's something special (ie not a .c file). |
7 | # | 7 | # |
8 | 8 | ||
9 | obj-y += prom.o setup.o irq.o irq_handler.o rtc_rx5c348.o | 9 | obj-y += prom.o setup.o irq.o rtc_rx5c348.o |
10 | obj-$(CONFIG_KGDB) += dbgio.o | 10 | obj-$(CONFIG_KGDB) += dbgio.o |
11 | 11 | ||
diff --git a/arch/mips/tx4938/common/irq.c b/arch/mips/tx4938/common/irq.c index 4f90d7faf634..873805178d8e 100644 --- a/arch/mips/tx4938/common/irq.c +++ b/arch/mips/tx4938/common/irq.c | |||
@@ -392,11 +392,8 @@ tx4938_irq_pic_end(unsigned int irq) | |||
392 | void __init | 392 | void __init |
393 | tx4938_irq_init(void) | 393 | tx4938_irq_init(void) |
394 | { | 394 | { |
395 | extern asmlinkage void tx4938_irq_handler(void); | ||
396 | |||
397 | tx4938_irq_cp0_init(); | 395 | tx4938_irq_cp0_init(); |
398 | tx4938_irq_pic_init(); | 396 | tx4938_irq_pic_init(); |
399 | set_except_vector(0, tx4938_irq_handler); | ||
400 | 397 | ||
401 | return; | 398 | return; |
402 | } | 399 | } |
@@ -422,3 +419,21 @@ tx4938_irq_nested(void) | |||
422 | wbflush(); | 419 | wbflush(); |
423 | return (sw_irq); | 420 | return (sw_irq); |
424 | } | 421 | } |
422 | |||
423 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | ||
424 | { | ||
425 | unsigned int pending = read_c0_cause() & read_c0_status(); | ||
426 | |||
427 | if (pending & STATUSF_IP7) | ||
428 | do_IRQ(TX4938_IRQ_CPU_TIMER, regs); | ||
429 | else if (pending & STATUSF_IP2) { | ||
430 | int irq = tx4938_irq_nested(); | ||
431 | if (irq) | ||
432 | do_IRQ(irq, regs); | ||
433 | else | ||
434 | spurious_interrupt(regs); | ||
435 | } else if (pending & STATUSF_IP1) | ||
436 | do_IRQ(TX4938_IRQ_USER1, regs); | ||
437 | else if (pending & STATUSF_IP0) | ||
438 | do_IRQ(TX4938_IRQ_USER0, regs); | ||
439 | } | ||
diff --git a/arch/mips/tx4938/common/irq_handler.S b/arch/mips/tx4938/common/irq_handler.S deleted file mode 100644 index 1b2f72bac42d..000000000000 --- a/arch/mips/tx4938/common/irq_handler.S +++ /dev/null | |||
@@ -1,84 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/mips/tx4938/common/handler.S | ||
3 | * | ||
4 | * Primary interrupt handler for tx4938 based systems | ||
5 | * Copyright (C) 2000-2001 Toshiba Corporation | ||
6 | * | ||
7 | * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the | ||
8 | * terms of the GNU General Public License version 2. This program is | ||
9 | * licensed "as is" without any warranty of any kind, whether express | ||
10 | * or implied. | ||
11 | * | ||
12 | * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com) | ||
13 | */ | ||
14 | #include <asm/asm.h> | ||
15 | #include <asm/mipsregs.h> | ||
16 | #include <asm/addrspace.h> | ||
17 | #include <asm/regdef.h> | ||
18 | #include <asm/stackframe.h> | ||
19 | #include <asm/tx4938/rbtx4938.h> | ||
20 | |||
21 | |||
22 | .align 5 | ||
23 | NESTED(tx4938_irq_handler, PT_SIZE, sp) | ||
24 | SAVE_ALL | ||
25 | CLI | ||
26 | .set at | ||
27 | |||
28 | mfc0 t0, CP0_CAUSE | ||
29 | mfc0 t1, CP0_STATUS | ||
30 | and t0, t1 | ||
31 | |||
32 | andi t1, t0, STATUSF_IP7 /* cpu timer */ | ||
33 | bnez t1, ll_ip7 | ||
34 | |||
35 | /* IP6..IP3 multiplexed -- do not use */ | ||
36 | |||
37 | andi t1, t0, STATUSF_IP2 /* tx4938 pic */ | ||
38 | bnez t1, ll_ip2 | ||
39 | |||
40 | andi t1, t0, STATUSF_IP1 /* user line 1 */ | ||
41 | bnez t1, ll_ip1 | ||
42 | |||
43 | andi t1, t0, STATUSF_IP0 /* user line 0 */ | ||
44 | bnez t1, ll_ip0 | ||
45 | |||
46 | .set reorder | ||
47 | |||
48 | nop | ||
49 | END(tx4938_irq_handler) | ||
50 | |||
51 | .align 5 | ||
52 | |||
53 | |||
54 | ll_ip7: | ||
55 | li a0, TX4938_IRQ_CPU_TIMER | ||
56 | move a1, sp | ||
57 | jal do_IRQ | ||
58 | j ret_from_irq | ||
59 | |||
60 | |||
61 | ll_ip2: | ||
62 | jal tx4938_irq_nested | ||
63 | nop | ||
64 | beqz v0, goto_spurious_interrupt | ||
65 | nop | ||
66 | move a0, v0 | ||
67 | move a1, sp | ||
68 | jal do_IRQ | ||
69 | j ret_from_irq | ||
70 | |||
71 | goto_spurious_interrupt: | ||
72 | j ret_from_irq | ||
73 | |||
74 | ll_ip1: | ||
75 | li a0, TX4938_IRQ_USER1 | ||
76 | move a1, sp | ||
77 | jal do_IRQ | ||
78 | j ret_from_irq | ||
79 | |||
80 | ll_ip0: | ||
81 | li a0, TX4938_IRQ_USER0 | ||
82 | move a1, sp | ||
83 | jal do_IRQ | ||
84 | j ret_from_irq | ||
diff --git a/arch/mips/vr41xx/Kconfig b/arch/mips/vr41xx/Kconfig index a7add16c9aa4..055a2cdfc841 100644 --- a/arch/mips/vr41xx/Kconfig +++ b/arch/mips/vr41xx/Kconfig | |||
@@ -4,6 +4,8 @@ config CASIO_E55 | |||
4 | select DMA_NONCOHERENT | 4 | select DMA_NONCOHERENT |
5 | select IRQ_CPU | 5 | select IRQ_CPU |
6 | select ISA | 6 | select ISA |
7 | select SYS_HAS_CPU_VR41XX | ||
8 | select SYS_SUPPORTS_32BIT_KERNEL | ||
7 | select SYS_SUPPORTS_LITTLE_ENDIAN | 9 | select SYS_SUPPORTS_LITTLE_ENDIAN |
8 | 10 | ||
9 | config IBM_WORKPAD | 11 | config IBM_WORKPAD |
@@ -12,6 +14,8 @@ config IBM_WORKPAD | |||
12 | select DMA_NONCOHERENT | 14 | select DMA_NONCOHERENT |
13 | select IRQ_CPU | 15 | select IRQ_CPU |
14 | select ISA | 16 | select ISA |
17 | select SYS_HAS_CPU_VR41XX | ||
18 | select SYS_SUPPORTS_32BIT_KERNEL | ||
15 | select SYS_SUPPORTS_LITTLE_ENDIAN | 19 | select SYS_SUPPORTS_LITTLE_ENDIAN |
16 | 20 | ||
17 | config NEC_CMBVR4133 | 21 | config NEC_CMBVR4133 |
@@ -21,6 +25,9 @@ config NEC_CMBVR4133 | |||
21 | select DMA_NONCOHERENT | 25 | select DMA_NONCOHERENT |
22 | select IRQ_CPU | 26 | select IRQ_CPU |
23 | select HW_HAS_PCI | 27 | select HW_HAS_PCI |
28 | select SYS_HAS_CPU_VR41XX | ||
29 | select SYS_SUPPORTS_32BIT_KERNEL | ||
30 | select SYS_SUPPORTS_LITTLE_ENDIAN | ||
24 | 31 | ||
25 | config ROCKHOPPER | 32 | config ROCKHOPPER |
26 | bool "Support for Rockhopper baseboard" | 33 | bool "Support for Rockhopper baseboard" |
@@ -34,6 +41,8 @@ config TANBAC_TB022X | |||
34 | select DMA_NONCOHERENT | 41 | select DMA_NONCOHERENT |
35 | select HW_HAS_PCI | 42 | select HW_HAS_PCI |
36 | select IRQ_CPU | 43 | select IRQ_CPU |
44 | select SYS_HAS_CPU_VR41XX | ||
45 | select SYS_SUPPORTS_32BIT_KERNEL | ||
37 | select SYS_SUPPORTS_LITTLE_ENDIAN | 46 | select SYS_SUPPORTS_LITTLE_ENDIAN |
38 | help | 47 | help |
39 | The TANBAC VR4131 multichip module(TB0225) and | 48 | The TANBAC VR4131 multichip module(TB0225) and |
@@ -65,6 +74,8 @@ config VICTOR_MPC30X | |||
65 | select DMA_NONCOHERENT | 74 | select DMA_NONCOHERENT |
66 | select HW_HAS_PCI | 75 | select HW_HAS_PCI |
67 | select IRQ_CPU | 76 | select IRQ_CPU |
77 | select SYS_HAS_CPU_VR41XX | ||
78 | select SYS_SUPPORTS_32BIT_KERNEL | ||
68 | select SYS_SUPPORTS_LITTLE_ENDIAN | 79 | select SYS_SUPPORTS_LITTLE_ENDIAN |
69 | 80 | ||
70 | config ZAO_CAPCELLA | 81 | config ZAO_CAPCELLA |
@@ -73,6 +84,8 @@ config ZAO_CAPCELLA | |||
73 | select DMA_NONCOHERENT | 84 | select DMA_NONCOHERENT |
74 | select HW_HAS_PCI | 85 | select HW_HAS_PCI |
75 | select IRQ_CPU | 86 | select IRQ_CPU |
87 | select SYS_HAS_CPU_VR41XX | ||
88 | select SYS_SUPPORTS_32BIT_KERNEL | ||
76 | select SYS_SUPPORTS_LITTLE_ENDIAN | 89 | select SYS_SUPPORTS_LITTLE_ENDIAN |
77 | 90 | ||
78 | config PCI_VR41XX | 91 | config PCI_VR41XX |
diff --git a/arch/mips/vr41xx/common/Makefile b/arch/mips/vr41xx/common/Makefile index 9096302a7ecc..aa373974c80f 100644 --- a/arch/mips/vr41xx/common/Makefile +++ b/arch/mips/vr41xx/common/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for common code of the NEC VR4100 series. | 2 | # Makefile for common code of the NEC VR4100 series. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += bcu.o cmu.o icu.o init.o int-handler.o irq.o pmu.o type.o | 5 | obj-y += bcu.o cmu.o icu.o init.o irq.o pmu.o type.o |
6 | obj-$(CONFIG_VRC4173) += vrc4173.o | 6 | obj-$(CONFIG_VRC4173) += vrc4173.o |
7 | 7 | ||
8 | EXTRA_AFLAGS := $(CFLAGS) | 8 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/vr41xx/common/int-handler.S b/arch/mips/vr41xx/common/int-handler.S deleted file mode 100644 index 2b6043f16d09..000000000000 --- a/arch/mips/vr41xx/common/int-handler.S +++ /dev/null | |||
@@ -1,114 +0,0 @@ | |||
1 | /* | ||
2 | * FILE NAME | ||
3 | * arch/mips/vr41xx/common/int-handler.S | ||
4 | * | ||
5 | * BRIEF MODULE DESCRIPTION | ||
6 | * Interrupt dispatcher for the NEC VR4100 series. | ||
7 | * | ||
8 | * Author: Yoichi Yuasa | ||
9 | * yyuasa@mvista.com or source@mvista.com | ||
10 | * | ||
11 | * Copyright 2001 MontaVista Software Inc. | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify it | ||
14 | * under the terms of the GNU General Public License as published by the | ||
15 | * Free Software Foundation; either version 2 of the License, or (at your | ||
16 | * option) any later version. | ||
17 | * | ||
18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
21 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
22 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
23 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | ||
24 | * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | ||
26 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||
27 | * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
28 | * | ||
29 | * You should have received a copy of the GNU General Public License along | ||
30 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
31 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
32 | */ | ||
33 | /* | ||
34 | * Changes: | ||
35 | * MontaVista Software Inc. <yyuasa@mvista.com> or <source@mvista.com> | ||
36 | * - New creation, NEC VR4100 series are supported. | ||
37 | * | ||
38 | * Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
39 | * - Coped with INTASSIGN of NEC VR4133. | ||
40 | */ | ||
41 | #include <asm/asm.h> | ||
42 | #include <asm/regdef.h> | ||
43 | #include <asm/mipsregs.h> | ||
44 | #include <asm/stackframe.h> | ||
45 | |||
46 | .text | ||
47 | .set noreorder | ||
48 | |||
49 | .align 5 | ||
50 | NESTED(vr41xx_handle_interrupt, PT_SIZE, ra) | ||
51 | .set noat | ||
52 | SAVE_ALL | ||
53 | CLI | ||
54 | .set at | ||
55 | .set noreorder | ||
56 | |||
57 | /* | ||
58 | * Get the pending interrupts | ||
59 | */ | ||
60 | mfc0 t0, CP0_CAUSE | ||
61 | mfc0 t1, CP0_STATUS | ||
62 | andi t0, 0xff00 | ||
63 | and t0, t0, t1 | ||
64 | |||
65 | andi t1, t0, CAUSEF_IP7 # MIPS timer interrupt | ||
66 | bnez t1, handle_irq | ||
67 | li a0, 7 | ||
68 | |||
69 | andi t1, t0, 0x7800 # check for Int1-4 | ||
70 | beqz t1, 1f | ||
71 | |||
72 | andi t1, t0, CAUSEF_IP3 # check for Int1 | ||
73 | bnez t1, handle_int | ||
74 | li a0, 3 | ||
75 | |||
76 | andi t1, t0, CAUSEF_IP4 # check for Int2 | ||
77 | bnez t1, handle_int | ||
78 | li a0, 4 | ||
79 | |||
80 | andi t1, t0, CAUSEF_IP5 # check for Int3 | ||
81 | bnez t1, handle_int | ||
82 | li a0, 5 | ||
83 | |||
84 | andi t1, t0, CAUSEF_IP6 # check for Int4 | ||
85 | bnez t1, handle_int | ||
86 | li a0, 6 | ||
87 | |||
88 | 1: | ||
89 | andi t1, t0, CAUSEF_IP2 # check for Int0 | ||
90 | bnez t1, handle_int | ||
91 | li a0, 2 | ||
92 | |||
93 | andi t1, t0, CAUSEF_IP0 # check for IP0 | ||
94 | bnez t1, handle_irq | ||
95 | li a0, 0 | ||
96 | |||
97 | andi t1, t0, CAUSEF_IP1 # check for IP1 | ||
98 | bnez t1, handle_irq | ||
99 | li a0, 1 | ||
100 | |||
101 | j spurious_interrupt | ||
102 | nop | ||
103 | |||
104 | handle_int: | ||
105 | jal irq_dispatch | ||
106 | move a1, sp | ||
107 | j ret_from_irq | ||
108 | nop | ||
109 | |||
110 | handle_irq: | ||
111 | jal do_IRQ | ||
112 | move a1, sp | ||
113 | j ret_from_irq | ||
114 | END(vr41xx_handle_interrupt) | ||
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c index 61aa264275ff..86796bb63c3c 100644 --- a/arch/mips/vr41xx/common/irq.c +++ b/arch/mips/vr41xx/common/irq.c | |||
@@ -59,7 +59,7 @@ int cascade_irq(unsigned int irq, int (*get_irq)(unsigned int, struct pt_regs *) | |||
59 | 59 | ||
60 | EXPORT_SYMBOL_GPL(cascade_irq); | 60 | EXPORT_SYMBOL_GPL(cascade_irq); |
61 | 61 | ||
62 | asmlinkage void irq_dispatch(unsigned int irq, struct pt_regs *regs) | 62 | static void irq_dispatch(unsigned int irq, struct pt_regs *regs) |
63 | { | 63 | { |
64 | irq_cascade_t *cascade; | 64 | irq_cascade_t *cascade; |
65 | irq_desc_t *desc; | 65 | irq_desc_t *desc; |
@@ -84,11 +84,32 @@ asmlinkage void irq_dispatch(unsigned int irq, struct pt_regs *regs) | |||
84 | do_IRQ(irq, regs); | 84 | do_IRQ(irq, regs); |
85 | } | 85 | } |
86 | 86 | ||
87 | extern asmlinkage void vr41xx_handle_interrupt(void); | 87 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) |
88 | { | ||
89 | unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; | ||
90 | |||
91 | if (pending & CAUSEF_IP7) | ||
92 | do_IRQ(7, regs); | ||
93 | else if (pending & 0x7800) { | ||
94 | if (pending & CAUSEF_IP3) | ||
95 | irq_dispatch(3, regs); | ||
96 | else if (pending & CAUSEF_IP4) | ||
97 | irq_dispatch(4, regs); | ||
98 | else if (pending & CAUSEF_IP5) | ||
99 | irq_dispatch(5, regs); | ||
100 | else if (pending & CAUSEF_IP6) | ||
101 | irq_dispatch(6, regs); | ||
102 | } else if (pending & CAUSEF_IP2) | ||
103 | irq_dispatch(2, regs); | ||
104 | else if (pending & CAUSEF_IP0) | ||
105 | do_IRQ(0, regs); | ||
106 | else if (pending & CAUSEF_IP1) | ||
107 | do_IRQ(1, regs); | ||
108 | else | ||
109 | spurious_interrupt(regs); | ||
110 | } | ||
88 | 111 | ||
89 | void __init arch_init_irq(void) | 112 | void __init arch_init_irq(void) |
90 | { | 113 | { |
91 | mips_cpu_irq_init(MIPS_CPU_IRQ_BASE); | 114 | mips_cpu_irq_init(MIPS_CPU_IRQ_BASE); |
92 | |||
93 | set_except_vector(0, vr41xx_handle_interrupt); | ||
94 | } | 115 | } |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 19f911c5dd58..910fb3afc0b5 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -138,6 +138,37 @@ config 64BIT | |||
138 | enable this option otherwise. The 64bit kernel is significantly bigger | 138 | enable this option otherwise. The 64bit kernel is significantly bigger |
139 | and slower than the 32bit one. | 139 | and slower than the 32bit one. |
140 | 140 | ||
141 | choice | ||
142 | prompt "Kernel page size" | ||
143 | default PARISC_PAGE_SIZE_4KB if !64BIT | ||
144 | default PARISC_PAGE_SIZE_4KB if 64BIT | ||
145 | # default PARISC_PAGE_SIZE_16KB if 64BIT | ||
146 | |||
147 | config PARISC_PAGE_SIZE_4KB | ||
148 | bool "4KB" | ||
149 | help | ||
150 | This lets you select the page size of the kernel. For best | ||
151 | performance, a page size of 16KB is recommended. For best | ||
152 | compatibility with 32bit applications, a page size of 4KB should be | ||
153 | selected (the vast majority of 32bit binaries work perfectly fine | ||
154 | with a larger page size). | ||
155 | |||
156 | 4KB For best 32bit compatibility | ||
157 | 16KB For best performance | ||
158 | 64KB For best performance, might give more overhead. | ||
159 | |||
160 | If you don't know what to do, choose 4KB. | ||
161 | |||
162 | config PARISC_PAGE_SIZE_16KB | ||
163 | bool "16KB (EXPERIMENTAL)" | ||
164 | depends on PA8X00 && EXPERIMENTAL | ||
165 | |||
166 | config PARISC_PAGE_SIZE_64KB | ||
167 | bool "64KB (EXPERIMENTAL)" | ||
168 | depends on PA8X00 && EXPERIMENTAL | ||
169 | |||
170 | endchoice | ||
171 | |||
141 | config SMP | 172 | config SMP |
142 | bool "Symmetric multi-processing support" | 173 | bool "Symmetric multi-processing support" |
143 | ---help--- | 174 | ---help--- |
diff --git a/arch/parisc/defconfig b/arch/parisc/defconfig index 59f7bc38e72e..b38b58eb9dc2 100644 --- a/arch/parisc/defconfig +++ b/arch/parisc/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-pa6 | 3 | # Linux kernel version: 2.6.16-pa10 |
4 | # Sun Mar 26 19:50:07 2006 | 4 | # Sun Apr 2 15:26:38 2006 |
5 | # | 5 | # |
6 | CONFIG_PARISC=y | 6 | CONFIG_PARISC=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -25,7 +25,7 @@ CONFIG_LOCALVERSION="" | |||
25 | # CONFIG_LOCALVERSION_AUTO is not set | 25 | # CONFIG_LOCALVERSION_AUTO is not set |
26 | CONFIG_SWAP=y | 26 | CONFIG_SWAP=y |
27 | CONFIG_SYSVIPC=y | 27 | CONFIG_SYSVIPC=y |
28 | # CONFIG_POSIX_MQUEUE is not set | 28 | CONFIG_POSIX_MQUEUE=y |
29 | # CONFIG_BSD_PROCESS_ACCT is not set | 29 | # CONFIG_BSD_PROCESS_ACCT is not set |
30 | CONFIG_SYSCTL=y | 30 | CONFIG_SYSCTL=y |
31 | # CONFIG_AUDIT is not set | 31 | # CONFIG_AUDIT is not set |
@@ -35,7 +35,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
35 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 35 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
36 | # CONFIG_EMBEDDED is not set | 36 | # CONFIG_EMBEDDED is not set |
37 | CONFIG_KALLSYMS=y | 37 | CONFIG_KALLSYMS=y |
38 | # CONFIG_KALLSYMS_ALL is not set | 38 | CONFIG_KALLSYMS_ALL=y |
39 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 39 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
40 | CONFIG_HOTPLUG=y | 40 | CONFIG_HOTPLUG=y |
41 | CONFIG_PRINTK=y | 41 | CONFIG_PRINTK=y |
@@ -57,7 +57,13 @@ CONFIG_BASE_SMALL=0 | |||
57 | # | 57 | # |
58 | # Loadable module support | 58 | # Loadable module support |
59 | # | 59 | # |
60 | # CONFIG_MODULES is not set | 60 | CONFIG_MODULES=y |
61 | CONFIG_MODULE_UNLOAD=y | ||
62 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
63 | CONFIG_OBSOLETE_MODPARM=y | ||
64 | # CONFIG_MODVERSIONS is not set | ||
65 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
66 | CONFIG_KMOD=y | ||
61 | 67 | ||
62 | # | 68 | # |
63 | # Block layer | 69 | # Block layer |
@@ -79,16 +85,19 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
79 | # | 85 | # |
80 | # Processor type and features | 86 | # Processor type and features |
81 | # | 87 | # |
82 | CONFIG_PA7000=y | 88 | # CONFIG_PA7000 is not set |
83 | # CONFIG_PA7100LC is not set | 89 | CONFIG_PA7100LC=y |
84 | # CONFIG_PA7200 is not set | 90 | # CONFIG_PA7200 is not set |
85 | # CONFIG_PA7300LC is not set | 91 | # CONFIG_PA7300LC is not set |
86 | # CONFIG_PA8X00 is not set | 92 | # CONFIG_PA8X00 is not set |
87 | CONFIG_PA11=y | 93 | CONFIG_PA11=y |
94 | CONFIG_PARISC_PAGE_SIZE_4KB=y | ||
95 | # CONFIG_PARISC_PAGE_SIZE_16KB is not set | ||
96 | # CONFIG_PARISC_PAGE_SIZE_64KB is not set | ||
88 | # CONFIG_SMP is not set | 97 | # CONFIG_SMP is not set |
89 | CONFIG_ARCH_FLATMEM_ENABLE=y | 98 | CONFIG_ARCH_FLATMEM_ENABLE=y |
90 | CONFIG_PREEMPT_NONE=y | 99 | # CONFIG_PREEMPT_NONE is not set |
91 | # CONFIG_PREEMPT_VOLUNTARY is not set | 100 | CONFIG_PREEMPT_VOLUNTARY=y |
92 | # CONFIG_PREEMPT is not set | 101 | # CONFIG_PREEMPT is not set |
93 | # CONFIG_HZ_100 is not set | 102 | # CONFIG_HZ_100 is not set |
94 | CONFIG_HZ_250=y | 103 | CONFIG_HZ_250=y |
@@ -108,7 +117,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096 | |||
108 | # Bus options (PCI, PCMCIA, EISA, GSC, ISA) | 117 | # Bus options (PCI, PCMCIA, EISA, GSC, ISA) |
109 | # | 118 | # |
110 | CONFIG_GSC=y | 119 | CONFIG_GSC=y |
111 | CONFIG_HPPB=y | 120 | # CONFIG_HPPB is not set |
112 | CONFIG_IOMMU_CCIO=y | 121 | CONFIG_IOMMU_CCIO=y |
113 | CONFIG_GSC_LASI=y | 122 | CONFIG_GSC_LASI=y |
114 | CONFIG_GSC_WAX=y | 123 | CONFIG_GSC_WAX=y |
@@ -126,7 +135,25 @@ CONFIG_IOMMU_SBA=y | |||
126 | # | 135 | # |
127 | # PCCARD (PCMCIA/CardBus) support | 136 | # PCCARD (PCMCIA/CardBus) support |
128 | # | 137 | # |
129 | # CONFIG_PCCARD is not set | 138 | CONFIG_PCCARD=y |
139 | # CONFIG_PCMCIA_DEBUG is not set | ||
140 | CONFIG_PCMCIA=y | ||
141 | CONFIG_PCMCIA_LOAD_CIS=y | ||
142 | CONFIG_PCMCIA_IOCTL=y | ||
143 | CONFIG_CARDBUS=y | ||
144 | |||
145 | # | ||
146 | # PC-card bridges | ||
147 | # | ||
148 | CONFIG_YENTA=y | ||
149 | CONFIG_YENTA_O2=y | ||
150 | CONFIG_YENTA_RICOH=y | ||
151 | CONFIG_YENTA_TI=y | ||
152 | CONFIG_YENTA_ENE_TUNE=y | ||
153 | CONFIG_YENTA_TOSHIBA=y | ||
154 | CONFIG_PD6729=y | ||
155 | CONFIG_I82092=y | ||
156 | CONFIG_PCCARD_NONSTATIC=y | ||
130 | 157 | ||
131 | # | 158 | # |
132 | # PCI Hotplug Support | 159 | # PCI Hotplug Support |
@@ -145,7 +172,7 @@ CONFIG_PDC_STABLE=y | |||
145 | # Executable file formats | 172 | # Executable file formats |
146 | # | 173 | # |
147 | CONFIG_BINFMT_ELF=y | 174 | CONFIG_BINFMT_ELF=y |
148 | # CONFIG_BINFMT_MISC is not set | 175 | CONFIG_BINFMT_MISC=m |
149 | 176 | ||
150 | # | 177 | # |
151 | # Networking | 178 | # Networking |
@@ -159,13 +186,15 @@ CONFIG_NET=y | |||
159 | CONFIG_PACKET=y | 186 | CONFIG_PACKET=y |
160 | CONFIG_PACKET_MMAP=y | 187 | CONFIG_PACKET_MMAP=y |
161 | CONFIG_UNIX=y | 188 | CONFIG_UNIX=y |
162 | # CONFIG_NET_KEY is not set | 189 | CONFIG_XFRM=y |
190 | CONFIG_XFRM_USER=m | ||
191 | CONFIG_NET_KEY=m | ||
163 | CONFIG_INET=y | 192 | CONFIG_INET=y |
164 | CONFIG_IP_MULTICAST=y | 193 | CONFIG_IP_MULTICAST=y |
165 | # CONFIG_IP_ADVANCED_ROUTER is not set | 194 | # CONFIG_IP_ADVANCED_ROUTER is not set |
166 | CONFIG_IP_FIB_HASH=y | 195 | CONFIG_IP_FIB_HASH=y |
167 | CONFIG_IP_PNP=y | 196 | CONFIG_IP_PNP=y |
168 | # CONFIG_IP_PNP_DHCP is not set | 197 | CONFIG_IP_PNP_DHCP=y |
169 | CONFIG_IP_PNP_BOOTP=y | 198 | CONFIG_IP_PNP_BOOTP=y |
170 | # CONFIG_IP_PNP_RARP is not set | 199 | # CONFIG_IP_PNP_RARP is not set |
171 | # CONFIG_NET_IPIP is not set | 200 | # CONFIG_NET_IPIP is not set |
@@ -173,19 +202,20 @@ CONFIG_IP_PNP_BOOTP=y | |||
173 | # CONFIG_IP_MROUTE is not set | 202 | # CONFIG_IP_MROUTE is not set |
174 | # CONFIG_ARPD is not set | 203 | # CONFIG_ARPD is not set |
175 | # CONFIG_SYN_COOKIES is not set | 204 | # CONFIG_SYN_COOKIES is not set |
176 | # CONFIG_INET_AH is not set | 205 | CONFIG_INET_AH=m |
177 | # CONFIG_INET_ESP is not set | 206 | CONFIG_INET_ESP=m |
178 | # CONFIG_INET_IPCOMP is not set | 207 | # CONFIG_INET_IPCOMP is not set |
179 | # CONFIG_INET_TUNNEL is not set | 208 | CONFIG_INET_TUNNEL=m |
180 | # CONFIG_INET_DIAG is not set | 209 | CONFIG_INET_DIAG=m |
210 | CONFIG_INET_TCP_DIAG=m | ||
181 | # CONFIG_TCP_CONG_ADVANCED is not set | 211 | # CONFIG_TCP_CONG_ADVANCED is not set |
182 | CONFIG_TCP_CONG_BIC=y | 212 | CONFIG_TCP_CONG_BIC=y |
183 | CONFIG_IPV6=y | 213 | CONFIG_IPV6=y |
184 | # CONFIG_IPV6_PRIVACY is not set | 214 | # CONFIG_IPV6_PRIVACY is not set |
185 | # CONFIG_INET6_AH is not set | 215 | CONFIG_INET6_AH=y |
186 | # CONFIG_INET6_ESP is not set | 216 | CONFIG_INET6_ESP=y |
187 | # CONFIG_INET6_IPCOMP is not set | 217 | CONFIG_INET6_IPCOMP=y |
188 | # CONFIG_INET6_TUNNEL is not set | 218 | CONFIG_INET6_TUNNEL=y |
189 | # CONFIG_IPV6_TUNNEL is not set | 219 | # CONFIG_IPV6_TUNNEL is not set |
190 | # CONFIG_NETFILTER is not set | 220 | # CONFIG_NETFILTER is not set |
191 | 221 | ||
@@ -207,7 +237,8 @@ CONFIG_IPV6=y | |||
207 | # CONFIG_BRIDGE is not set | 237 | # CONFIG_BRIDGE is not set |
208 | # CONFIG_VLAN_8021Q is not set | 238 | # CONFIG_VLAN_8021Q is not set |
209 | # CONFIG_DECNET is not set | 239 | # CONFIG_DECNET is not set |
210 | # CONFIG_LLC2 is not set | 240 | CONFIG_LLC=m |
241 | CONFIG_LLC2=m | ||
211 | # CONFIG_IPX is not set | 242 | # CONFIG_IPX is not set |
212 | # CONFIG_ATALK is not set | 243 | # CONFIG_ATALK is not set |
213 | # CONFIG_X25 is not set | 244 | # CONFIG_X25 is not set |
@@ -237,9 +268,9 @@ CONFIG_IPV6=y | |||
237 | # | 268 | # |
238 | # Generic Driver Options | 269 | # Generic Driver Options |
239 | # | 270 | # |
240 | CONFIG_STANDALONE=y | 271 | # CONFIG_STANDALONE is not set |
241 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 272 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
242 | # CONFIG_FW_LOADER is not set | 273 | CONFIG_FW_LOADER=y |
243 | # CONFIG_DEBUG_DRIVER is not set | 274 | # CONFIG_DEBUG_DRIVER is not set |
244 | 275 | ||
245 | # | 276 | # |
@@ -256,13 +287,14 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
256 | # Parallel port support | 287 | # Parallel port support |
257 | # | 288 | # |
258 | CONFIG_PARPORT=y | 289 | CONFIG_PARPORT=y |
259 | CONFIG_PARPORT_PC=y | 290 | CONFIG_PARPORT_PC=m |
260 | # CONFIG_PARPORT_SERIAL is not set | 291 | # CONFIG_PARPORT_SERIAL is not set |
261 | # CONFIG_PARPORT_PC_FIFO is not set | 292 | # CONFIG_PARPORT_PC_FIFO is not set |
262 | # CONFIG_PARPORT_PC_SUPERIO is not set | 293 | # CONFIG_PARPORT_PC_SUPERIO is not set |
294 | CONFIG_PARPORT_PC_PCMCIA=m | ||
263 | CONFIG_PARPORT_NOT_PC=y | 295 | CONFIG_PARPORT_NOT_PC=y |
264 | CONFIG_PARPORT_GSC=y | 296 | CONFIG_PARPORT_GSC=y |
265 | # CONFIG_PARPORT_1284 is not set | 297 | CONFIG_PARPORT_1284=y |
266 | 298 | ||
267 | # | 299 | # |
268 | # Plug and Play support | 300 | # Plug and Play support |
@@ -284,7 +316,7 @@ CONFIG_BLK_DEV_CRYPTOLOOP=y | |||
284 | # CONFIG_BLK_DEV_UB is not set | 316 | # CONFIG_BLK_DEV_UB is not set |
285 | CONFIG_BLK_DEV_RAM=y | 317 | CONFIG_BLK_DEV_RAM=y |
286 | CONFIG_BLK_DEV_RAM_COUNT=16 | 318 | CONFIG_BLK_DEV_RAM_COUNT=16 |
287 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 319 | CONFIG_BLK_DEV_RAM_SIZE=6144 |
288 | CONFIG_BLK_DEV_INITRD=y | 320 | CONFIG_BLK_DEV_INITRD=y |
289 | # CONFIG_CDROM_PKTCDVD is not set | 321 | # CONFIG_CDROM_PKTCDVD is not set |
290 | # CONFIG_ATA_OVER_ETH is not set | 322 | # CONFIG_ATA_OVER_ETH is not set |
@@ -292,7 +324,60 @@ CONFIG_BLK_DEV_INITRD=y | |||
292 | # | 324 | # |
293 | # ATA/ATAPI/MFM/RLL support | 325 | # ATA/ATAPI/MFM/RLL support |
294 | # | 326 | # |
295 | # CONFIG_IDE is not set | 327 | CONFIG_IDE=y |
328 | CONFIG_BLK_DEV_IDE=y | ||
329 | |||
330 | # | ||
331 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
332 | # | ||
333 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
334 | CONFIG_BLK_DEV_IDEDISK=y | ||
335 | CONFIG_IDEDISK_MULTI_MODE=y | ||
336 | CONFIG_BLK_DEV_IDECS=y | ||
337 | CONFIG_BLK_DEV_IDECD=y | ||
338 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
339 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
340 | CONFIG_BLK_DEV_IDESCSI=y | ||
341 | # CONFIG_IDE_TASK_IOCTL is not set | ||
342 | |||
343 | # | ||
344 | # IDE chipset support/bugfixes | ||
345 | # | ||
346 | CONFIG_IDE_GENERIC=y | ||
347 | CONFIG_BLK_DEV_IDEPCI=y | ||
348 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
349 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
350 | CONFIG_BLK_DEV_GENERIC=y | ||
351 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
352 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
353 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
354 | # CONFIG_IDEDMA_PCI_AUTO is not set | ||
355 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
356 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
357 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
358 | # CONFIG_BLK_DEV_CMD64X is not set | ||
359 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
360 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
361 | # CONFIG_BLK_DEV_CS5520 is not set | ||
362 | # CONFIG_BLK_DEV_CS5530 is not set | ||
363 | # CONFIG_BLK_DEV_HPT34X is not set | ||
364 | # CONFIG_BLK_DEV_HPT366 is not set | ||
365 | # CONFIG_BLK_DEV_SC1200 is not set | ||
366 | # CONFIG_BLK_DEV_PIIX is not set | ||
367 | # CONFIG_BLK_DEV_IT821X is not set | ||
368 | CONFIG_BLK_DEV_NS87415=y | ||
369 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
370 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
371 | # CONFIG_BLK_DEV_SVWKS is not set | ||
372 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
373 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
374 | # CONFIG_BLK_DEV_TRM290 is not set | ||
375 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
376 | # CONFIG_IDE_ARM is not set | ||
377 | CONFIG_BLK_DEV_IDEDMA=y | ||
378 | # CONFIG_IDEDMA_IVB is not set | ||
379 | # CONFIG_IDEDMA_AUTO is not set | ||
380 | # CONFIG_BLK_DEV_HD is not set | ||
296 | 381 | ||
297 | # | 382 | # |
298 | # SCSI device support | 383 | # SCSI device support |
@@ -375,6 +460,15 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20 | |||
375 | # CONFIG_SCSI_DEBUG is not set | 460 | # CONFIG_SCSI_DEBUG is not set |
376 | 461 | ||
377 | # | 462 | # |
463 | # PCMCIA SCSI adapter support | ||
464 | # | ||
465 | # CONFIG_PCMCIA_AHA152X is not set | ||
466 | # CONFIG_PCMCIA_FDOMAIN is not set | ||
467 | # CONFIG_PCMCIA_NINJA_SCSI is not set | ||
468 | # CONFIG_PCMCIA_QLOGIC is not set | ||
469 | # CONFIG_PCMCIA_SYM53C500 is not set | ||
470 | |||
471 | # | ||
378 | # Multi-device support (RAID and LVM) | 472 | # Multi-device support (RAID and LVM) |
379 | # | 473 | # |
380 | CONFIG_MD=y | 474 | CONFIG_MD=y |
@@ -382,12 +476,17 @@ CONFIG_BLK_DEV_MD=y | |||
382 | CONFIG_MD_LINEAR=y | 476 | CONFIG_MD_LINEAR=y |
383 | CONFIG_MD_RAID0=y | 477 | CONFIG_MD_RAID0=y |
384 | CONFIG_MD_RAID1=y | 478 | CONFIG_MD_RAID1=y |
385 | # CONFIG_MD_RAID10 is not set | 479 | CONFIG_MD_RAID10=y |
386 | CONFIG_MD_RAID5=y | 480 | CONFIG_MD_RAID5=y |
387 | # CONFIG_MD_RAID6 is not set | 481 | CONFIG_MD_RAID6=y |
388 | # CONFIG_MD_MULTIPATH is not set | 482 | # CONFIG_MD_MULTIPATH is not set |
389 | # CONFIG_MD_FAULTY is not set | 483 | # CONFIG_MD_FAULTY is not set |
390 | # CONFIG_BLK_DEV_DM is not set | 484 | CONFIG_BLK_DEV_DM=y |
485 | # CONFIG_DM_CRYPT is not set | ||
486 | # CONFIG_DM_SNAPSHOT is not set | ||
487 | # CONFIG_DM_MIRROR is not set | ||
488 | # CONFIG_DM_ZERO is not set | ||
489 | # CONFIG_DM_MULTIPATH is not set | ||
391 | 490 | ||
392 | # | 491 | # |
393 | # Fusion MPT device support | 492 | # Fusion MPT device support |
@@ -411,10 +510,10 @@ CONFIG_MD_RAID5=y | |||
411 | # Network device support | 510 | # Network device support |
412 | # | 511 | # |
413 | CONFIG_NETDEVICES=y | 512 | CONFIG_NETDEVICES=y |
414 | # CONFIG_DUMMY is not set | 513 | CONFIG_DUMMY=m |
415 | # CONFIG_BONDING is not set | 514 | CONFIG_BONDING=m |
416 | # CONFIG_EQUALIZER is not set | 515 | # CONFIG_EQUALIZER is not set |
417 | # CONFIG_TUN is not set | 516 | CONFIG_TUN=m |
418 | 517 | ||
419 | # | 518 | # |
420 | # ARCnet devices | 519 | # ARCnet devices |
@@ -430,7 +529,7 @@ CONFIG_NETDEVICES=y | |||
430 | # Ethernet (10 or 100Mbit) | 529 | # Ethernet (10 or 100Mbit) |
431 | # | 530 | # |
432 | CONFIG_NET_ETHERNET=y | 531 | CONFIG_NET_ETHERNET=y |
433 | # CONFIG_MII is not set | 532 | CONFIG_MII=m |
434 | CONFIG_LASI_82596=y | 533 | CONFIG_LASI_82596=y |
435 | # CONFIG_HAPPYMEAL is not set | 534 | # CONFIG_HAPPYMEAL is not set |
436 | # CONFIG_SUNGEM is not set | 535 | # CONFIG_SUNGEM is not set |
@@ -451,6 +550,8 @@ CONFIG_TULIP=y | |||
451 | # CONFIG_WINBOND_840 is not set | 550 | # CONFIG_WINBOND_840 is not set |
452 | # CONFIG_DM9102 is not set | 551 | # CONFIG_DM9102 is not set |
453 | # CONFIG_ULI526X is not set | 552 | # CONFIG_ULI526X is not set |
553 | # CONFIG_PCMCIA_XIRCOM is not set | ||
554 | # CONFIG_PCMCIA_XIRTULIP is not set | ||
454 | # CONFIG_DEPCA is not set | 555 | # CONFIG_DEPCA is not set |
455 | # CONFIG_HP100 is not set | 556 | # CONFIG_HP100 is not set |
456 | CONFIG_NET_PCI=y | 557 | CONFIG_NET_PCI=y |
@@ -518,14 +619,33 @@ CONFIG_NET_RADIO=y | |||
518 | # Obsolete Wireless cards support (pre-802.11) | 619 | # Obsolete Wireless cards support (pre-802.11) |
519 | # | 620 | # |
520 | # CONFIG_STRIP is not set | 621 | # CONFIG_STRIP is not set |
622 | # CONFIG_PCMCIA_WAVELAN is not set | ||
623 | # CONFIG_PCMCIA_NETWAVE is not set | ||
624 | |||
625 | # | ||
626 | # Wireless 802.11 Frequency Hopping cards support | ||
627 | # | ||
628 | # CONFIG_PCMCIA_RAYCS is not set | ||
521 | 629 | ||
522 | # | 630 | # |
523 | # Wireless 802.11b ISA/PCI cards support | 631 | # Wireless 802.11b ISA/PCI cards support |
524 | # | 632 | # |
525 | # CONFIG_HERMES is not set | 633 | CONFIG_HERMES=y |
634 | # CONFIG_PLX_HERMES is not set | ||
635 | # CONFIG_TMD_HERMES is not set | ||
636 | # CONFIG_NORTEL_HERMES is not set | ||
637 | # CONFIG_PCI_HERMES is not set | ||
526 | # CONFIG_ATMEL is not set | 638 | # CONFIG_ATMEL is not set |
527 | 639 | ||
528 | # | 640 | # |
641 | # Wireless 802.11b Pcmcia/Cardbus cards support | ||
642 | # | ||
643 | CONFIG_PCMCIA_HERMES=y | ||
644 | CONFIG_PCMCIA_SPECTRUM=y | ||
645 | # CONFIG_AIRO_CS is not set | ||
646 | # CONFIG_PCMCIA_WL3501 is not set | ||
647 | |||
648 | # | ||
529 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support | 649 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support |
530 | # | 650 | # |
531 | # CONFIG_PRISM54 is not set | 651 | # CONFIG_PRISM54 is not set |
@@ -533,13 +653,34 @@ CONFIG_NET_RADIO=y | |||
533 | CONFIG_NET_WIRELESS=y | 653 | CONFIG_NET_WIRELESS=y |
534 | 654 | ||
535 | # | 655 | # |
656 | # PCMCIA network device support | ||
657 | # | ||
658 | CONFIG_NET_PCMCIA=y | ||
659 | # CONFIG_PCMCIA_3C589 is not set | ||
660 | # CONFIG_PCMCIA_3C574 is not set | ||
661 | # CONFIG_PCMCIA_FMVJ18X is not set | ||
662 | # CONFIG_PCMCIA_PCNET is not set | ||
663 | # CONFIG_PCMCIA_NMCLAN is not set | ||
664 | # CONFIG_PCMCIA_SMC91C92 is not set | ||
665 | # CONFIG_PCMCIA_XIRC2PS is not set | ||
666 | # CONFIG_PCMCIA_AXNET is not set | ||
667 | |||
668 | # | ||
536 | # Wan interfaces | 669 | # Wan interfaces |
537 | # | 670 | # |
538 | # CONFIG_WAN is not set | 671 | # CONFIG_WAN is not set |
539 | # CONFIG_FDDI is not set | 672 | # CONFIG_FDDI is not set |
540 | # CONFIG_HIPPI is not set | 673 | # CONFIG_HIPPI is not set |
541 | # CONFIG_PLIP is not set | 674 | # CONFIG_PLIP is not set |
542 | # CONFIG_PPP is not set | 675 | CONFIG_PPP=m |
676 | # CONFIG_PPP_MULTILINK is not set | ||
677 | # CONFIG_PPP_FILTER is not set | ||
678 | CONFIG_PPP_ASYNC=m | ||
679 | CONFIG_PPP_SYNC_TTY=m | ||
680 | CONFIG_PPP_DEFLATE=m | ||
681 | CONFIG_PPP_BSDCOMP=m | ||
682 | # CONFIG_PPP_MPPE is not set | ||
683 | CONFIG_PPPOE=m | ||
543 | # CONFIG_SLIP is not set | 684 | # CONFIG_SLIP is not set |
544 | # CONFIG_NET_FC is not set | 685 | # CONFIG_NET_FC is not set |
545 | # CONFIG_SHAPER is not set | 686 | # CONFIG_SHAPER is not set |
@@ -571,14 +712,16 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | |||
571 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | 712 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 |
572 | # CONFIG_INPUT_JOYDEV is not set | 713 | # CONFIG_INPUT_JOYDEV is not set |
573 | # CONFIG_INPUT_TSDEV is not set | 714 | # CONFIG_INPUT_TSDEV is not set |
574 | CONFIG_INPUT_EVDEV=y | 715 | # CONFIG_INPUT_EVDEV is not set |
575 | # CONFIG_INPUT_EVBUG is not set | 716 | # CONFIG_INPUT_EVBUG is not set |
576 | 717 | ||
577 | # | 718 | # |
578 | # Input Device Drivers | 719 | # Input Device Drivers |
579 | # | 720 | # |
580 | CONFIG_INPUT_KEYBOARD=y | 721 | CONFIG_INPUT_KEYBOARD=y |
581 | # CONFIG_KEYBOARD_ATKBD is not set | 722 | CONFIG_KEYBOARD_ATKBD=y |
723 | CONFIG_KEYBOARD_ATKBD_HP_KEYCODES=y | ||
724 | # CONFIG_KEYBOARD_ATKBD_RDI_KEYCODES is not set | ||
582 | # CONFIG_KEYBOARD_SUNKBD is not set | 725 | # CONFIG_KEYBOARD_SUNKBD is not set |
583 | # CONFIG_KEYBOARD_LKKBD is not set | 726 | # CONFIG_KEYBOARD_LKKBD is not set |
584 | # CONFIG_KEYBOARD_XTKBD is not set | 727 | # CONFIG_KEYBOARD_XTKBD is not set |
@@ -586,52 +729,25 @@ CONFIG_INPUT_KEYBOARD=y | |||
586 | # CONFIG_KEYBOARD_HIL_OLD is not set | 729 | # CONFIG_KEYBOARD_HIL_OLD is not set |
587 | CONFIG_KEYBOARD_HIL=y | 730 | CONFIG_KEYBOARD_HIL=y |
588 | CONFIG_INPUT_MOUSE=y | 731 | CONFIG_INPUT_MOUSE=y |
589 | # CONFIG_MOUSE_PS2 is not set | 732 | CONFIG_MOUSE_PS2=y |
590 | # CONFIG_MOUSE_SERIAL is not set | 733 | CONFIG_MOUSE_SERIAL=y |
591 | # CONFIG_MOUSE_VSXXXAA is not set | 734 | # CONFIG_MOUSE_VSXXXAA is not set |
592 | CONFIG_MOUSE_HIL=y | 735 | CONFIG_MOUSE_HIL=y |
593 | CONFIG_INPUT_JOYSTICK=y | 736 | # CONFIG_INPUT_JOYSTICK is not set |
594 | # CONFIG_JOYSTICK_ANALOG is not set | 737 | # CONFIG_INPUT_TOUCHSCREEN is not set |
595 | # CONFIG_JOYSTICK_A3D is not set | 738 | # CONFIG_INPUT_MISC is not set |
596 | # CONFIG_JOYSTICK_ADI is not set | ||
597 | # CONFIG_JOYSTICK_COBRA is not set | ||
598 | # CONFIG_JOYSTICK_GF2K is not set | ||
599 | # CONFIG_JOYSTICK_GRIP is not set | ||
600 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
601 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
602 | # CONFIG_JOYSTICK_INTERACT is not set | ||
603 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
604 | # CONFIG_JOYSTICK_TMDC is not set | ||
605 | # CONFIG_JOYSTICK_IFORCE is not set | ||
606 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
607 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
608 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
609 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
610 | # CONFIG_JOYSTICK_STINGER is not set | ||
611 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
612 | # CONFIG_JOYSTICK_DB9 is not set | ||
613 | # CONFIG_JOYSTICK_GAMECON is not set | ||
614 | # CONFIG_JOYSTICK_TURBOGRAFX is not set | ||
615 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
616 | CONFIG_INPUT_TOUCHSCREEN=y | ||
617 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
618 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
619 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
620 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
621 | CONFIG_INPUT_MISC=y | ||
622 | # CONFIG_INPUT_UINPUT is not set | ||
623 | CONFIG_HP_SDC_RTC=y | ||
624 | 739 | ||
625 | # | 740 | # |
626 | # Hardware I/O ports | 741 | # Hardware I/O ports |
627 | # | 742 | # |
628 | CONFIG_SERIO=y | 743 | CONFIG_SERIO=y |
629 | # CONFIG_SERIO_SERPORT is not set | 744 | CONFIG_SERIO_SERPORT=y |
630 | # CONFIG_SERIO_PARKBD is not set | 745 | # CONFIG_SERIO_PARKBD is not set |
631 | CONFIG_SERIO_GSCPS2=y | 746 | CONFIG_SERIO_GSCPS2=y |
632 | CONFIG_HP_SDC=y | 747 | CONFIG_HP_SDC=y |
633 | CONFIG_HIL_MLC=y | 748 | CONFIG_HIL_MLC=y |
634 | # CONFIG_SERIO_PCIPS2 is not set | 749 | # CONFIG_SERIO_PCIPS2 is not set |
750 | CONFIG_SERIO_LIBPS2=y | ||
635 | # CONFIG_SERIO_RAW is not set | 751 | # CONFIG_SERIO_RAW is not set |
636 | # CONFIG_GAMEPORT is not set | 752 | # CONFIG_GAMEPORT is not set |
637 | 753 | ||
@@ -648,7 +764,8 @@ CONFIG_HW_CONSOLE=y | |||
648 | # | 764 | # |
649 | CONFIG_SERIAL_8250=y | 765 | CONFIG_SERIAL_8250=y |
650 | CONFIG_SERIAL_8250_CONSOLE=y | 766 | CONFIG_SERIAL_8250_CONSOLE=y |
651 | CONFIG_SERIAL_8250_NR_UARTS=13 | 767 | CONFIG_SERIAL_8250_CS=y |
768 | CONFIG_SERIAL_8250_NR_UARTS=17 | ||
652 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 769 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
653 | CONFIG_SERIAL_8250_EXTENDED=y | 770 | CONFIG_SERIAL_8250_EXTENDED=y |
654 | CONFIG_SERIAL_8250_MANY_PORTS=y | 771 | CONFIG_SERIAL_8250_MANY_PORTS=y |
@@ -666,10 +783,10 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
666 | # CONFIG_SERIAL_JSM is not set | 783 | # CONFIG_SERIAL_JSM is not set |
667 | CONFIG_UNIX98_PTYS=y | 784 | CONFIG_UNIX98_PTYS=y |
668 | CONFIG_LEGACY_PTYS=y | 785 | CONFIG_LEGACY_PTYS=y |
669 | CONFIG_LEGACY_PTY_COUNT=256 | 786 | CONFIG_LEGACY_PTY_COUNT=64 |
670 | CONFIG_PRINTER=y | 787 | CONFIG_PRINTER=m |
671 | # CONFIG_LP_CONSOLE is not set | 788 | # CONFIG_LP_CONSOLE is not set |
672 | # CONFIG_PPDEV is not set | 789 | CONFIG_PPDEV=m |
673 | # CONFIG_TIPAR is not set | 790 | # CONFIG_TIPAR is not set |
674 | 791 | ||
675 | # | 792 | # |
@@ -682,7 +799,7 @@ CONFIG_PRINTER=y | |||
682 | # | 799 | # |
683 | # CONFIG_WATCHDOG is not set | 800 | # CONFIG_WATCHDOG is not set |
684 | CONFIG_GEN_RTC=y | 801 | CONFIG_GEN_RTC=y |
685 | # CONFIG_GEN_RTC_X is not set | 802 | CONFIG_GEN_RTC_X=y |
686 | # CONFIG_DTLK is not set | 803 | # CONFIG_DTLK is not set |
687 | # CONFIG_R3964 is not set | 804 | # CONFIG_R3964 is not set |
688 | # CONFIG_APPLICOM is not set | 805 | # CONFIG_APPLICOM is not set |
@@ -691,6 +808,13 @@ CONFIG_GEN_RTC=y | |||
691 | # Ftape, the floppy tape device driver | 808 | # Ftape, the floppy tape device driver |
692 | # | 809 | # |
693 | # CONFIG_DRM is not set | 810 | # CONFIG_DRM is not set |
811 | |||
812 | # | ||
813 | # PCMCIA character devices | ||
814 | # | ||
815 | # CONFIG_SYNCLINK_CS is not set | ||
816 | # CONFIG_CARDMAN_4000 is not set | ||
817 | # CONFIG_CARDMAN_4040 is not set | ||
694 | # CONFIG_RAW_DRIVER is not set | 818 | # CONFIG_RAW_DRIVER is not set |
695 | 819 | ||
696 | # | 820 | # |
@@ -718,10 +842,8 @@ CONFIG_GEN_RTC=y | |||
718 | # | 842 | # |
719 | # Hardware Monitoring support | 843 | # Hardware Monitoring support |
720 | # | 844 | # |
721 | CONFIG_HWMON=y | 845 | # CONFIG_HWMON is not set |
722 | # CONFIG_HWMON_VID is not set | 846 | # CONFIG_HWMON_VID is not set |
723 | # CONFIG_SENSORS_F71805F is not set | ||
724 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
725 | 847 | ||
726 | # | 848 | # |
727 | # Misc devices | 849 | # Misc devices |
@@ -749,8 +871,8 @@ CONFIG_FB_CFB_FILLRECT=y | |||
749 | CONFIG_FB_CFB_COPYAREA=y | 871 | CONFIG_FB_CFB_COPYAREA=y |
750 | CONFIG_FB_CFB_IMAGEBLIT=y | 872 | CONFIG_FB_CFB_IMAGEBLIT=y |
751 | # CONFIG_FB_MACMODES is not set | 873 | # CONFIG_FB_MACMODES is not set |
752 | # CONFIG_FB_MODE_HELPERS is not set | 874 | CONFIG_FB_MODE_HELPERS=y |
753 | # CONFIG_FB_TILEBLITTING is not set | 875 | CONFIG_FB_TILEBLITTING=y |
754 | # CONFIG_FB_CIRRUS is not set | 876 | # CONFIG_FB_CIRRUS is not set |
755 | # CONFIG_FB_PM2 is not set | 877 | # CONFIG_FB_PM2 is not set |
756 | # CONFIG_FB_CYBER2000 is not set | 878 | # CONFIG_FB_CYBER2000 is not set |
@@ -778,8 +900,8 @@ CONFIG_FB_STI=y | |||
778 | # Console display driver support | 900 | # Console display driver support |
779 | # | 901 | # |
780 | CONFIG_DUMMY_CONSOLE=y | 902 | CONFIG_DUMMY_CONSOLE=y |
781 | CONFIG_DUMMY_CONSOLE_COLUMNS=160 | 903 | CONFIG_DUMMY_CONSOLE_COLUMNS=128 |
782 | CONFIG_DUMMY_CONSOLE_ROWS=64 | 904 | CONFIG_DUMMY_CONSOLE_ROWS=48 |
783 | CONFIG_FRAMEBUFFER_CONSOLE=y | 905 | CONFIG_FRAMEBUFFER_CONSOLE=y |
784 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | 906 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set |
785 | CONFIG_STI_CONSOLE=y | 907 | CONFIG_STI_CONSOLE=y |
@@ -816,13 +938,14 @@ CONFIG_SOUND=y | |||
816 | CONFIG_SND=y | 938 | CONFIG_SND=y |
817 | CONFIG_SND_TIMER=y | 939 | CONFIG_SND_TIMER=y |
818 | CONFIG_SND_PCM=y | 940 | CONFIG_SND_PCM=y |
941 | CONFIG_SND_HWDEP=y | ||
819 | CONFIG_SND_SEQUENCER=y | 942 | CONFIG_SND_SEQUENCER=y |
820 | # CONFIG_SND_SEQ_DUMMY is not set | 943 | # CONFIG_SND_SEQ_DUMMY is not set |
821 | CONFIG_SND_OSSEMUL=y | 944 | CONFIG_SND_OSSEMUL=y |
822 | CONFIG_SND_MIXER_OSS=y | 945 | CONFIG_SND_MIXER_OSS=y |
823 | CONFIG_SND_PCM_OSS=y | 946 | CONFIG_SND_PCM_OSS=y |
824 | CONFIG_SND_SEQUENCER_OSS=y | 947 | CONFIG_SND_SEQUENCER_OSS=y |
825 | # CONFIG_SND_DYNAMIC_MINORS is not set | 948 | CONFIG_SND_DYNAMIC_MINORS=y |
826 | CONFIG_SND_SUPPORT_OLD_API=y | 949 | CONFIG_SND_SUPPORT_OLD_API=y |
827 | # CONFIG_SND_VERBOSE_PRINTK is not set | 950 | # CONFIG_SND_VERBOSE_PRINTK is not set |
828 | # CONFIG_SND_DEBUG is not set | 951 | # CONFIG_SND_DEBUG is not set |
@@ -830,6 +953,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
830 | # | 953 | # |
831 | # Generic devices | 954 | # Generic devices |
832 | # | 955 | # |
956 | CONFIG_SND_OPL3_LIB=y | ||
833 | CONFIG_SND_AC97_CODEC=y | 957 | CONFIG_SND_AC97_CODEC=y |
834 | CONFIG_SND_AC97_BUS=y | 958 | CONFIG_SND_AC97_BUS=y |
835 | # CONFIG_SND_DUMMY is not set | 959 | # CONFIG_SND_DUMMY is not set |
@@ -842,7 +966,7 @@ CONFIG_SND_AC97_BUS=y | |||
842 | # PCI devices | 966 | # PCI devices |
843 | # | 967 | # |
844 | CONFIG_SND_AD1889=y | 968 | CONFIG_SND_AD1889=y |
845 | # CONFIG_SND_AD1889_OPL3 is not set | 969 | CONFIG_SND_AD1889_OPL3=y |
846 | # CONFIG_SND_ALI5451 is not set | 970 | # CONFIG_SND_ALI5451 is not set |
847 | # CONFIG_SND_ATIIXP is not set | 971 | # CONFIG_SND_ATIIXP is not set |
848 | # CONFIG_SND_ATIIXP_MODEM is not set | 972 | # CONFIG_SND_ATIIXP_MODEM is not set |
@@ -890,6 +1014,10 @@ CONFIG_SND_AD1889=y | |||
890 | # CONFIG_SND_USB_AUDIO is not set | 1014 | # CONFIG_SND_USB_AUDIO is not set |
891 | 1015 | ||
892 | # | 1016 | # |
1017 | # PCMCIA devices | ||
1018 | # | ||
1019 | |||
1020 | # | ||
893 | # GSC devices | 1021 | # GSC devices |
894 | # | 1022 | # |
895 | CONFIG_SND_HARMONY=y | 1023 | CONFIG_SND_HARMONY=y |
@@ -905,12 +1033,12 @@ CONFIG_SND_HARMONY=y | |||
905 | CONFIG_USB_ARCH_HAS_HCD=y | 1033 | CONFIG_USB_ARCH_HAS_HCD=y |
906 | CONFIG_USB_ARCH_HAS_OHCI=y | 1034 | CONFIG_USB_ARCH_HAS_OHCI=y |
907 | CONFIG_USB=y | 1035 | CONFIG_USB=y |
908 | CONFIG_USB_DEBUG=y | 1036 | # CONFIG_USB_DEBUG is not set |
909 | 1037 | ||
910 | # | 1038 | # |
911 | # Miscellaneous USB options | 1039 | # Miscellaneous USB options |
912 | # | 1040 | # |
913 | # CONFIG_USB_DEVICEFS is not set | 1041 | CONFIG_USB_DEVICEFS=y |
914 | # CONFIG_USB_BANDWIDTH is not set | 1042 | # CONFIG_USB_BANDWIDTH is not set |
915 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1043 | # CONFIG_USB_DYNAMIC_MINORS is not set |
916 | # CONFIG_USB_OTG is not set | 1044 | # CONFIG_USB_OTG is not set |
@@ -918,14 +1046,12 @@ CONFIG_USB_DEBUG=y | |||
918 | # | 1046 | # |
919 | # USB Host Controller Drivers | 1047 | # USB Host Controller Drivers |
920 | # | 1048 | # |
921 | CONFIG_USB_EHCI_HCD=y | 1049 | # CONFIG_USB_EHCI_HCD is not set |
922 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | ||
923 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | ||
924 | # CONFIG_USB_ISP116X_HCD is not set | 1050 | # CONFIG_USB_ISP116X_HCD is not set |
925 | CONFIG_USB_OHCI_HCD=y | 1051 | CONFIG_USB_OHCI_HCD=y |
926 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 1052 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
927 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 1053 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
928 | # CONFIG_USB_UHCI_HCD is not set | 1054 | CONFIG_USB_UHCI_HCD=y |
929 | # CONFIG_USB_SL811_HCD is not set | 1055 | # CONFIG_USB_SL811_HCD is not set |
930 | 1056 | ||
931 | # | 1057 | # |
@@ -948,13 +1074,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
948 | # | 1074 | # |
949 | # USB Input Devices | 1075 | # USB Input Devices |
950 | # | 1076 | # |
951 | # CONFIG_USB_HID is not set | 1077 | CONFIG_USB_HID=y |
952 | 1078 | CONFIG_USB_HIDINPUT=y | |
953 | # | 1079 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set |
954 | # USB HID Boot Protocol drivers | 1080 | # CONFIG_HID_FF is not set |
955 | # | 1081 | # CONFIG_USB_HIDDEV is not set |
956 | # CONFIG_USB_KBD is not set | ||
957 | # CONFIG_USB_MOUSE is not set | ||
958 | # CONFIG_USB_AIPTEK is not set | 1082 | # CONFIG_USB_AIPTEK is not set |
959 | # CONFIG_USB_WACOM is not set | 1083 | # CONFIG_USB_WACOM is not set |
960 | # CONFIG_USB_ACECAD is not set | 1084 | # CONFIG_USB_ACECAD is not set |
@@ -1020,8 +1144,8 @@ CONFIG_USB_MON=y | |||
1020 | # CONFIG_USB_PHIDGETKIT is not set | 1144 | # CONFIG_USB_PHIDGETKIT is not set |
1021 | # CONFIG_USB_PHIDGETSERVO is not set | 1145 | # CONFIG_USB_PHIDGETSERVO is not set |
1022 | # CONFIG_USB_IDMOUSE is not set | 1146 | # CONFIG_USB_IDMOUSE is not set |
1023 | # CONFIG_USB_SISUSBVGA is not set | ||
1024 | # CONFIG_USB_LD is not set | 1147 | # CONFIG_USB_LD is not set |
1148 | # CONFIG_USB_TEST is not set | ||
1025 | 1149 | ||
1026 | # | 1150 | # |
1027 | # USB DSL modem support | 1151 | # USB DSL modem support |
@@ -1058,7 +1182,7 @@ CONFIG_JBD=y | |||
1058 | # CONFIG_JBD_DEBUG is not set | 1182 | # CONFIG_JBD_DEBUG is not set |
1059 | # CONFIG_REISERFS_FS is not set | 1183 | # CONFIG_REISERFS_FS is not set |
1060 | # CONFIG_JFS_FS is not set | 1184 | # CONFIG_JFS_FS is not set |
1061 | # CONFIG_FS_POSIX_ACL is not set | 1185 | CONFIG_FS_POSIX_ACL=y |
1062 | # CONFIG_XFS_FS is not set | 1186 | # CONFIG_XFS_FS is not set |
1063 | # CONFIG_OCFS2_FS is not set | 1187 | # CONFIG_OCFS2_FS is not set |
1064 | # CONFIG_MINIX_FS is not set | 1188 | # CONFIG_MINIX_FS is not set |
@@ -1066,7 +1190,7 @@ CONFIG_JBD=y | |||
1066 | CONFIG_INOTIFY=y | 1190 | CONFIG_INOTIFY=y |
1067 | # CONFIG_QUOTA is not set | 1191 | # CONFIG_QUOTA is not set |
1068 | CONFIG_DNOTIFY=y | 1192 | CONFIG_DNOTIFY=y |
1069 | # CONFIG_AUTOFS_FS is not set | 1193 | CONFIG_AUTOFS_FS=y |
1070 | # CONFIG_AUTOFS4_FS is not set | 1194 | # CONFIG_AUTOFS4_FS is not set |
1071 | # CONFIG_FUSE_FS is not set | 1195 | # CONFIG_FUSE_FS is not set |
1072 | 1196 | ||
@@ -1081,8 +1205,11 @@ CONFIG_JOLIET=y | |||
1081 | # | 1205 | # |
1082 | # DOS/FAT/NT Filesystems | 1206 | # DOS/FAT/NT Filesystems |
1083 | # | 1207 | # |
1208 | CONFIG_FAT_FS=y | ||
1084 | # CONFIG_MSDOS_FS is not set | 1209 | # CONFIG_MSDOS_FS is not set |
1085 | # CONFIG_VFAT_FS is not set | 1210 | CONFIG_VFAT_FS=y |
1211 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1212 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1086 | # CONFIG_NTFS_FS is not set | 1213 | # CONFIG_NTFS_FS is not set |
1087 | 1214 | ||
1088 | # | 1215 | # |
@@ -1125,7 +1252,7 @@ CONFIG_NFS_V3=y | |||
1125 | CONFIG_NFSD=y | 1252 | CONFIG_NFSD=y |
1126 | CONFIG_NFSD_V3=y | 1253 | CONFIG_NFSD_V3=y |
1127 | # CONFIG_NFSD_V3_ACL is not set | 1254 | # CONFIG_NFSD_V3_ACL is not set |
1128 | # CONFIG_NFSD_V4 is not set | 1255 | CONFIG_NFSD_V4=y |
1129 | CONFIG_NFSD_TCP=y | 1256 | CONFIG_NFSD_TCP=y |
1130 | CONFIG_ROOT_NFS=y | 1257 | CONFIG_ROOT_NFS=y |
1131 | CONFIG_LOCKD=y | 1258 | CONFIG_LOCKD=y |
@@ -1133,10 +1260,16 @@ CONFIG_LOCKD_V4=y | |||
1133 | CONFIG_EXPORTFS=y | 1260 | CONFIG_EXPORTFS=y |
1134 | CONFIG_NFS_COMMON=y | 1261 | CONFIG_NFS_COMMON=y |
1135 | CONFIG_SUNRPC=y | 1262 | CONFIG_SUNRPC=y |
1136 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1263 | CONFIG_SUNRPC_GSS=y |
1137 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1264 | CONFIG_RPCSEC_GSS_KRB5=y |
1138 | # CONFIG_SMB_FS is not set | 1265 | CONFIG_RPCSEC_GSS_SPKM3=m |
1139 | # CONFIG_CIFS is not set | 1266 | CONFIG_SMB_FS=m |
1267 | CONFIG_SMB_NLS_DEFAULT=y | ||
1268 | CONFIG_SMB_NLS_REMOTE="cp437" | ||
1269 | CONFIG_CIFS=m | ||
1270 | # CONFIG_CIFS_STATS is not set | ||
1271 | # CONFIG_CIFS_XATTR is not set | ||
1272 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1140 | # CONFIG_NCP_FS is not set | 1273 | # CONFIG_NCP_FS is not set |
1141 | # CONFIG_CODA_FS is not set | 1274 | # CONFIG_CODA_FS is not set |
1142 | # CONFIG_AFS_FS is not set | 1275 | # CONFIG_AFS_FS is not set |
@@ -1153,50 +1286,50 @@ CONFIG_MSDOS_PARTITION=y | |||
1153 | # | 1286 | # |
1154 | CONFIG_NLS=y | 1287 | CONFIG_NLS=y |
1155 | CONFIG_NLS_DEFAULT="iso8859-1" | 1288 | CONFIG_NLS_DEFAULT="iso8859-1" |
1156 | # CONFIG_NLS_CODEPAGE_437 is not set | 1289 | CONFIG_NLS_CODEPAGE_437=y |
1157 | # CONFIG_NLS_CODEPAGE_737 is not set | 1290 | CONFIG_NLS_CODEPAGE_737=m |
1158 | # CONFIG_NLS_CODEPAGE_775 is not set | 1291 | CONFIG_NLS_CODEPAGE_775=m |
1159 | # CONFIG_NLS_CODEPAGE_850 is not set | 1292 | CONFIG_NLS_CODEPAGE_850=m |
1160 | # CONFIG_NLS_CODEPAGE_852 is not set | 1293 | CONFIG_NLS_CODEPAGE_852=m |
1161 | # CONFIG_NLS_CODEPAGE_855 is not set | 1294 | CONFIG_NLS_CODEPAGE_855=m |
1162 | # CONFIG_NLS_CODEPAGE_857 is not set | 1295 | CONFIG_NLS_CODEPAGE_857=m |
1163 | # CONFIG_NLS_CODEPAGE_860 is not set | 1296 | CONFIG_NLS_CODEPAGE_860=m |
1164 | # CONFIG_NLS_CODEPAGE_861 is not set | 1297 | CONFIG_NLS_CODEPAGE_861=m |
1165 | # CONFIG_NLS_CODEPAGE_862 is not set | 1298 | CONFIG_NLS_CODEPAGE_862=m |
1166 | # CONFIG_NLS_CODEPAGE_863 is not set | 1299 | CONFIG_NLS_CODEPAGE_863=m |
1167 | # CONFIG_NLS_CODEPAGE_864 is not set | 1300 | CONFIG_NLS_CODEPAGE_864=m |
1168 | # CONFIG_NLS_CODEPAGE_865 is not set | 1301 | CONFIG_NLS_CODEPAGE_865=m |
1169 | # CONFIG_NLS_CODEPAGE_866 is not set | 1302 | CONFIG_NLS_CODEPAGE_866=m |
1170 | # CONFIG_NLS_CODEPAGE_869 is not set | 1303 | CONFIG_NLS_CODEPAGE_869=m |
1171 | # CONFIG_NLS_CODEPAGE_936 is not set | 1304 | CONFIG_NLS_CODEPAGE_936=m |
1172 | # CONFIG_NLS_CODEPAGE_950 is not set | 1305 | CONFIG_NLS_CODEPAGE_950=m |
1173 | # CONFIG_NLS_CODEPAGE_932 is not set | 1306 | CONFIG_NLS_CODEPAGE_932=m |
1174 | # CONFIG_NLS_CODEPAGE_949 is not set | 1307 | CONFIG_NLS_CODEPAGE_949=m |
1175 | # CONFIG_NLS_CODEPAGE_874 is not set | 1308 | CONFIG_NLS_CODEPAGE_874=m |
1176 | # CONFIG_NLS_ISO8859_8 is not set | 1309 | CONFIG_NLS_ISO8859_8=m |
1177 | # CONFIG_NLS_CODEPAGE_1250 is not set | 1310 | CONFIG_NLS_CODEPAGE_1250=y |
1178 | # CONFIG_NLS_CODEPAGE_1251 is not set | 1311 | CONFIG_NLS_CODEPAGE_1251=m |
1179 | # CONFIG_NLS_ASCII is not set | 1312 | CONFIG_NLS_ASCII=m |
1180 | # CONFIG_NLS_ISO8859_1 is not set | 1313 | CONFIG_NLS_ISO8859_1=y |
1181 | # CONFIG_NLS_ISO8859_2 is not set | 1314 | CONFIG_NLS_ISO8859_2=m |
1182 | # CONFIG_NLS_ISO8859_3 is not set | 1315 | CONFIG_NLS_ISO8859_3=m |
1183 | # CONFIG_NLS_ISO8859_4 is not set | 1316 | CONFIG_NLS_ISO8859_4=m |
1184 | # CONFIG_NLS_ISO8859_5 is not set | 1317 | CONFIG_NLS_ISO8859_5=m |
1185 | # CONFIG_NLS_ISO8859_6 is not set | 1318 | CONFIG_NLS_ISO8859_6=m |
1186 | # CONFIG_NLS_ISO8859_7 is not set | 1319 | CONFIG_NLS_ISO8859_7=m |
1187 | # CONFIG_NLS_ISO8859_9 is not set | 1320 | CONFIG_NLS_ISO8859_9=m |
1188 | # CONFIG_NLS_ISO8859_13 is not set | 1321 | CONFIG_NLS_ISO8859_13=m |
1189 | # CONFIG_NLS_ISO8859_14 is not set | 1322 | CONFIG_NLS_ISO8859_14=m |
1190 | # CONFIG_NLS_ISO8859_15 is not set | 1323 | CONFIG_NLS_ISO8859_15=m |
1191 | # CONFIG_NLS_KOI8_R is not set | 1324 | CONFIG_NLS_KOI8_R=m |
1192 | # CONFIG_NLS_KOI8_U is not set | 1325 | CONFIG_NLS_KOI8_U=m |
1193 | # CONFIG_NLS_UTF8 is not set | 1326 | CONFIG_NLS_UTF8=y |
1194 | 1327 | ||
1195 | # | 1328 | # |
1196 | # Profiling support | 1329 | # Profiling support |
1197 | # | 1330 | # |
1198 | CONFIG_PROFILING=y | 1331 | CONFIG_PROFILING=y |
1199 | CONFIG_OPROFILE=y | 1332 | CONFIG_OPROFILE=m |
1200 | 1333 | ||
1201 | # | 1334 | # |
1202 | # Kernel hacking | 1335 | # Kernel hacking |
@@ -1204,7 +1337,7 @@ CONFIG_OPROFILE=y | |||
1204 | # CONFIG_PRINTK_TIME is not set | 1337 | # CONFIG_PRINTK_TIME is not set |
1205 | CONFIG_MAGIC_SYSRQ=y | 1338 | CONFIG_MAGIC_SYSRQ=y |
1206 | CONFIG_DEBUG_KERNEL=y | 1339 | CONFIG_DEBUG_KERNEL=y |
1207 | CONFIG_LOG_BUF_SHIFT=15 | 1340 | CONFIG_LOG_BUF_SHIFT=16 |
1208 | CONFIG_DETECT_SOFTLOCKUP=y | 1341 | CONFIG_DETECT_SOFTLOCKUP=y |
1209 | # CONFIG_SCHEDSTATS is not set | 1342 | # CONFIG_SCHEDSTATS is not set |
1210 | # CONFIG_DEBUG_SLAB is not set | 1343 | # CONFIG_DEBUG_SLAB is not set |
@@ -1217,42 +1350,43 @@ CONFIG_DEBUG_MUTEXES=y | |||
1217 | # CONFIG_DEBUG_VM is not set | 1350 | # CONFIG_DEBUG_VM is not set |
1218 | CONFIG_FORCED_INLINING=y | 1351 | CONFIG_FORCED_INLINING=y |
1219 | # CONFIG_RCU_TORTURE_TEST is not set | 1352 | # CONFIG_RCU_TORTURE_TEST is not set |
1220 | CONFIG_DEBUG_RODATA=y | 1353 | # CONFIG_DEBUG_RODATA is not set |
1221 | 1354 | ||
1222 | # | 1355 | # |
1223 | # Security options | 1356 | # Security options |
1224 | # | 1357 | # |
1225 | # CONFIG_KEYS is not set | 1358 | CONFIG_KEYS=y |
1359 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
1226 | # CONFIG_SECURITY is not set | 1360 | # CONFIG_SECURITY is not set |
1227 | 1361 | ||
1228 | # | 1362 | # |
1229 | # Cryptographic options | 1363 | # Cryptographic options |
1230 | # | 1364 | # |
1231 | CONFIG_CRYPTO=y | 1365 | CONFIG_CRYPTO=y |
1232 | # CONFIG_CRYPTO_HMAC is not set | 1366 | CONFIG_CRYPTO_HMAC=y |
1233 | # CONFIG_CRYPTO_NULL is not set | 1367 | CONFIG_CRYPTO_NULL=m |
1234 | # CONFIG_CRYPTO_MD4 is not set | 1368 | CONFIG_CRYPTO_MD4=m |
1235 | # CONFIG_CRYPTO_MD5 is not set | 1369 | CONFIG_CRYPTO_MD5=y |
1236 | # CONFIG_CRYPTO_SHA1 is not set | 1370 | CONFIG_CRYPTO_SHA1=y |
1237 | # CONFIG_CRYPTO_SHA256 is not set | 1371 | CONFIG_CRYPTO_SHA256=m |
1238 | # CONFIG_CRYPTO_SHA512 is not set | 1372 | CONFIG_CRYPTO_SHA512=m |
1239 | # CONFIG_CRYPTO_WP512 is not set | 1373 | CONFIG_CRYPTO_WP512=m |
1240 | # CONFIG_CRYPTO_TGR192 is not set | 1374 | CONFIG_CRYPTO_TGR192=m |
1241 | # CONFIG_CRYPTO_DES is not set | 1375 | CONFIG_CRYPTO_DES=y |
1242 | # CONFIG_CRYPTO_BLOWFISH is not set | 1376 | CONFIG_CRYPTO_BLOWFISH=m |
1243 | # CONFIG_CRYPTO_TWOFISH is not set | 1377 | CONFIG_CRYPTO_TWOFISH=m |
1244 | # CONFIG_CRYPTO_SERPENT is not set | 1378 | CONFIG_CRYPTO_SERPENT=m |
1245 | # CONFIG_CRYPTO_AES is not set | 1379 | CONFIG_CRYPTO_AES=m |
1246 | # CONFIG_CRYPTO_CAST5 is not set | 1380 | CONFIG_CRYPTO_CAST5=m |
1247 | # CONFIG_CRYPTO_CAST6 is not set | 1381 | CONFIG_CRYPTO_CAST6=m |
1248 | # CONFIG_CRYPTO_TEA is not set | 1382 | CONFIG_CRYPTO_TEA=m |
1249 | # CONFIG_CRYPTO_ARC4 is not set | 1383 | CONFIG_CRYPTO_ARC4=m |
1250 | # CONFIG_CRYPTO_KHAZAD is not set | 1384 | CONFIG_CRYPTO_KHAZAD=m |
1251 | # CONFIG_CRYPTO_ANUBIS is not set | 1385 | CONFIG_CRYPTO_ANUBIS=m |
1252 | # CONFIG_CRYPTO_DEFLATE is not set | 1386 | CONFIG_CRYPTO_DEFLATE=y |
1253 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1387 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1254 | # CONFIG_CRYPTO_CRC32C is not set | 1388 | CONFIG_CRYPTO_CRC32C=m |
1255 | # CONFIG_CRYPTO_TEST is not set | 1389 | CONFIG_CRYPTO_TEST=m |
1256 | 1390 | ||
1257 | # | 1391 | # |
1258 | # Hardware crypto devices | 1392 | # Hardware crypto devices |
@@ -1261,7 +1395,9 @@ CONFIG_CRYPTO=y | |||
1261 | # | 1395 | # |
1262 | # Library routines | 1396 | # Library routines |
1263 | # | 1397 | # |
1264 | # CONFIG_CRC_CCITT is not set | 1398 | CONFIG_CRC_CCITT=m |
1265 | # CONFIG_CRC16 is not set | 1399 | # CONFIG_CRC16 is not set |
1266 | CONFIG_CRC32=y | 1400 | CONFIG_CRC32=y |
1267 | # CONFIG_LIBCRC32C is not set | 1401 | CONFIG_LIBCRC32C=m |
1402 | CONFIG_ZLIB_INFLATE=y | ||
1403 | CONFIG_ZLIB_DEFLATE=y | ||
diff --git a/arch/parisc/kernel/asm-offsets.c b/arch/parisc/kernel/asm-offsets.c index e23c4e1e3a25..c11a5bc7c067 100644 --- a/arch/parisc/kernel/asm-offsets.c +++ b/arch/parisc/kernel/asm-offsets.c | |||
@@ -288,8 +288,11 @@ int main(void) | |||
288 | DEFINE(ASM_PGD_ENTRY_SIZE, PGD_ENTRY_SIZE); | 288 | DEFINE(ASM_PGD_ENTRY_SIZE, PGD_ENTRY_SIZE); |
289 | DEFINE(ASM_PMD_ENTRY_SIZE, PMD_ENTRY_SIZE); | 289 | DEFINE(ASM_PMD_ENTRY_SIZE, PMD_ENTRY_SIZE); |
290 | DEFINE(ASM_PTE_ENTRY_SIZE, PTE_ENTRY_SIZE); | 290 | DEFINE(ASM_PTE_ENTRY_SIZE, PTE_ENTRY_SIZE); |
291 | DEFINE(ASM_PFN_PTE_SHIFT, PFN_PTE_SHIFT); | ||
291 | DEFINE(ASM_PT_INITIAL, PT_INITIAL); | 292 | DEFINE(ASM_PT_INITIAL, PT_INITIAL); |
292 | DEFINE(ASM_PAGE_SIZE, PAGE_SIZE); | 293 | DEFINE(ASM_PAGE_SIZE, PAGE_SIZE); |
294 | DEFINE(ASM_PAGE_SIZE_DIV64, PAGE_SIZE/64); | ||
295 | DEFINE(ASM_PAGE_SIZE_DIV128, PAGE_SIZE/128); | ||
293 | BLANK(); | 296 | BLANK(); |
294 | DEFINE(EXCDATA_IP, offsetof(struct exception_data, fault_ip)); | 297 | DEFINE(EXCDATA_IP, offsetof(struct exception_data, fault_ip)); |
295 | DEFINE(EXCDATA_SPACE, offsetof(struct exception_data, fault_space)); | 298 | DEFINE(EXCDATA_SPACE, offsetof(struct exception_data, fault_space)); |
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index 360b7391cb8c..c057ad7605ba 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c | |||
@@ -4,7 +4,7 @@ | |||
4 | * License. See the file "COPYING" in the main directory of this archive | 4 | * License. See the file "COPYING" in the main directory of this archive |
5 | * for more details. | 5 | * for more details. |
6 | * | 6 | * |
7 | * Copyright (C) 1999 Helge Deller (07-13-1999) | 7 | * Copyright (C) 1999-2006 Helge Deller <deller@gmx.de> (07-13-1999) |
8 | * Copyright (C) 1999 SuSE GmbH Nuernberg | 8 | * Copyright (C) 1999 SuSE GmbH Nuernberg |
9 | * Copyright (C) 2000 Philipp Rumpf (prumpf@tux.org) | 9 | * Copyright (C) 2000 Philipp Rumpf (prumpf@tux.org) |
10 | * | 10 | * |
@@ -358,5 +358,5 @@ void parisc_setup_cache_timing(void) | |||
358 | if (!parisc_cache_flush_threshold) | 358 | if (!parisc_cache_flush_threshold) |
359 | parisc_cache_flush_threshold = FLUSH_THRESHOLD; | 359 | parisc_cache_flush_threshold = FLUSH_THRESHOLD; |
360 | 360 | ||
361 | printk("Setting cache flush threshold to %x (%d CPUs online)\n", parisc_cache_flush_threshold, num_online_cpus()); | 361 | printk(KERN_INFO "Setting cache flush threshold to %x (%d CPUs online)\n", parisc_cache_flush_threshold, num_online_cpus()); |
362 | } | 362 | } |
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index 7c95d7663c29..d9e53cf0372b 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S | |||
@@ -502,18 +502,20 @@ | |||
502 | * all ILP32 processes and all the kernel for machines with | 502 | * all ILP32 processes and all the kernel for machines with |
503 | * under 4GB of memory) */ | 503 | * under 4GB of memory) */ |
504 | .macro L3_ptep pgd,pte,index,va,fault | 504 | .macro L3_ptep pgd,pte,index,va,fault |
505 | #if PT_NLEVELS == 3 /* we might have a 2-Level scheme, e.g. with 16kb page size */ | ||
505 | extrd,u \va,63-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index | 506 | extrd,u \va,63-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index |
506 | copy %r0,\pte | 507 | copy %r0,\pte |
507 | extrd,u,*= \va,31,32,%r0 | 508 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
508 | ldw,s \index(\pgd),\pgd | 509 | ldw,s \index(\pgd),\pgd |
509 | extrd,u,*= \va,31,32,%r0 | 510 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
510 | bb,>=,n \pgd,_PxD_PRESENT_BIT,\fault | 511 | bb,>=,n \pgd,_PxD_PRESENT_BIT,\fault |
511 | extrd,u,*= \va,31,32,%r0 | 512 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
512 | shld \pgd,PxD_VALUE_SHIFT,\index | 513 | shld \pgd,PxD_VALUE_SHIFT,\index |
513 | extrd,u,*= \va,31,32,%r0 | 514 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
514 | copy \index,\pgd | 515 | copy \index,\pgd |
515 | extrd,u,*<> \va,31,32,%r0 | 516 | extrd,u,*<> \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
516 | ldo ASM_PGD_PMD_OFFSET(\pgd),\pgd | 517 | ldo ASM_PGD_PMD_OFFSET(\pgd),\pgd |
518 | #endif | ||
517 | L2_ptep \pgd,\pte,\index,\va,\fault | 519 | L2_ptep \pgd,\pte,\index,\va,\fault |
518 | .endm | 520 | .endm |
519 | 521 | ||
@@ -563,10 +565,18 @@ | |||
563 | extrd,u,*= \pte,_PAGE_GATEWAY_BIT+32,1,%r0 | 565 | extrd,u,*= \pte,_PAGE_GATEWAY_BIT+32,1,%r0 |
564 | depd %r0,11,2,\prot /* If Gateway, Set PL2 to 0 */ | 566 | depd %r0,11,2,\prot /* If Gateway, Set PL2 to 0 */ |
565 | 567 | ||
566 | /* Get rid of prot bits and convert to page addr for iitlbt and idtlbt */ | 568 | /* Enforce uncacheable pages. |
569 | * This should ONLY be use for MMIO on PA 2.0 machines. | ||
570 | * Memory/DMA is cache coherent on all PA2.0 machines we support | ||
571 | * (that means T-class is NOT supported) and the memory controllers | ||
572 | * on most of those machines only handles cache transactions. | ||
573 | */ | ||
574 | extrd,u,*= \pte,_PAGE_NO_CACHE_BIT+32,1,%r0 | ||
575 | depi 1,12,1,\prot | ||
567 | 576 | ||
568 | depd %r0,63,PAGE_SHIFT,\pte | 577 | /* Drop prot bits and convert to page addr for iitlbt and idtlbt */ |
569 | extrd,s \pte,(63-PAGE_SHIFT)+(63-58),64-PAGE_SHIFT,\pte | 578 | extrd,u \pte,(63-ASM_PFN_PTE_SHIFT)+(63-58),64-PAGE_SHIFT,\pte |
579 | depdi _PAGE_SIZE_ENCODING_DEFAULT,63,63-58,\pte | ||
570 | .endm | 580 | .endm |
571 | 581 | ||
572 | /* Identical macro to make_insert_tlb above, except it | 582 | /* Identical macro to make_insert_tlb above, except it |
@@ -584,9 +594,8 @@ | |||
584 | 594 | ||
585 | /* Get rid of prot bits and convert to page addr for iitlba */ | 595 | /* Get rid of prot bits and convert to page addr for iitlba */ |
586 | 596 | ||
587 | depi 0,31,PAGE_SHIFT,\pte | 597 | depi _PAGE_SIZE_ENCODING_DEFAULT,31,ASM_PFN_PTE_SHIFT,\pte |
588 | extru \pte,24,25,\pte | 598 | extru \pte,24,25,\pte |
589 | |||
590 | .endm | 599 | .endm |
591 | 600 | ||
592 | /* This is for ILP32 PA2.0 only. The TLB insertion needs | 601 | /* This is for ILP32 PA2.0 only. The TLB insertion needs |
@@ -1201,10 +1210,9 @@ intr_save: | |||
1201 | */ | 1210 | */ |
1202 | 1211 | ||
1203 | /* adjust isr/ior. */ | 1212 | /* adjust isr/ior. */ |
1204 | 1213 | extrd,u %r16,63,SPACEID_SHIFT,%r1 /* get high bits from isr for ior */ | |
1205 | extrd,u %r16,63,7,%r1 /* get high bits from isr for ior */ | 1214 | depd %r1,31,SPACEID_SHIFT,%r17 /* deposit them into ior */ |
1206 | depd %r1,31,7,%r17 /* deposit them into ior */ | 1215 | depdi 0,63,SPACEID_SHIFT,%r16 /* clear them from isr */ |
1207 | depdi 0,63,7,%r16 /* clear them from isr */ | ||
1208 | #endif | 1216 | #endif |
1209 | STREG %r16, PT_ISR(%r29) | 1217 | STREG %r16, PT_ISR(%r29) |
1210 | STREG %r17, PT_IOR(%r29) | 1218 | STREG %r17, PT_IOR(%r29) |
diff --git a/arch/parisc/kernel/head.S b/arch/parisc/kernel/head.S index 0b47afc20690..3e79e62f7b0b 100644 --- a/arch/parisc/kernel/head.S +++ b/arch/parisc/kernel/head.S | |||
@@ -76,16 +76,16 @@ $bss_loop: | |||
76 | mtctl %r4,%cr24 /* Initialize kernel root pointer */ | 76 | mtctl %r4,%cr24 /* Initialize kernel root pointer */ |
77 | mtctl %r4,%cr25 /* Initialize user root pointer */ | 77 | mtctl %r4,%cr25 /* Initialize user root pointer */ |
78 | 78 | ||
79 | #ifdef CONFIG_64BIT | 79 | #if PT_NLEVELS == 3 |
80 | /* Set pmd in pgd */ | 80 | /* Set pmd in pgd */ |
81 | load32 PA(pmd0),%r5 | 81 | load32 PA(pmd0),%r5 |
82 | shrd %r5,PxD_VALUE_SHIFT,%r3 | 82 | shrd %r5,PxD_VALUE_SHIFT,%r3 |
83 | ldo (PxD_FLAG_PRESENT+PxD_FLAG_VALID)(%r3),%r3 | 83 | ldo (PxD_FLAG_PRESENT+PxD_FLAG_VALID)(%r3),%r3 |
84 | stw %r3,ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4) | 84 | stw %r3,ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4) |
85 | ldo ASM_PMD_ENTRY*ASM_PMD_ENTRY_SIZE(%r5),%r4 | 85 | ldo ASM_PMD_ENTRY*ASM_PMD_ENTRY_SIZE(%r5),%r4 |
86 | #else | 86 | #else |
87 | /* 2-level page table, so pmd == pgd */ | 87 | /* 2-level page table, so pmd == pgd */ |
88 | ldo ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4),%r4 | 88 | ldo ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4),%r4 |
89 | #endif | 89 | #endif |
90 | 90 | ||
91 | /* Fill in pmd with enough pte directories */ | 91 | /* Fill in pmd with enough pte directories */ |
@@ -99,7 +99,7 @@ $bss_loop: | |||
99 | stw %r3,0(%r4) | 99 | stw %r3,0(%r4) |
100 | ldo (ASM_PAGE_SIZE >> PxD_VALUE_SHIFT)(%r3),%r3 | 100 | ldo (ASM_PAGE_SIZE >> PxD_VALUE_SHIFT)(%r3),%r3 |
101 | addib,> -1,%r1,1b | 101 | addib,> -1,%r1,1b |
102 | #ifdef CONFIG_64BIT | 102 | #if PT_NLEVELS == 3 |
103 | ldo ASM_PMD_ENTRY_SIZE(%r4),%r4 | 103 | ldo ASM_PMD_ENTRY_SIZE(%r4),%r4 |
104 | #else | 104 | #else |
105 | ldo ASM_PGD_ENTRY_SIZE(%r4),%r4 | 105 | ldo ASM_PGD_ENTRY_SIZE(%r4),%r4 |
@@ -107,13 +107,14 @@ $bss_loop: | |||
107 | 107 | ||
108 | 108 | ||
109 | /* Now initialize the PTEs themselves */ | 109 | /* Now initialize the PTEs themselves */ |
110 | ldo _PAGE_KERNEL(%r0),%r3 /* Hardwired 0 phys addr start */ | 110 | ldo 0+_PAGE_KERNEL(%r0),%r3 /* Hardwired 0 phys addr start */ |
111 | ldi (1<<(KERNEL_INITIAL_ORDER-PAGE_SHIFT)),%r11 /* PFN count */ | ||
111 | load32 PA(pg0),%r1 | 112 | load32 PA(pg0),%r1 |
112 | 113 | ||
113 | $pgt_fill_loop: | 114 | $pgt_fill_loop: |
114 | STREGM %r3,ASM_PTE_ENTRY_SIZE(%r1) | 115 | STREGM %r3,ASM_PTE_ENTRY_SIZE(%r1) |
115 | ldo ASM_PAGE_SIZE(%r3),%r3 | 116 | ldo (1<<PFN_PTE_SHIFT)(%r3),%r3 /* add one PFN */ |
116 | bb,>= %r3,31-KERNEL_INITIAL_ORDER,$pgt_fill_loop | 117 | addib,> -1,%r11,$pgt_fill_loop |
117 | nop | 118 | nop |
118 | 119 | ||
119 | /* Load the return address...er...crash 'n burn */ | 120 | /* Load the return address...er...crash 'n burn */ |
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 7e898fd64415..8384bf9cecd2 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
@@ -53,17 +53,17 @@ union thread_union init_thread_union | |||
53 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = | 53 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = |
54 | { INIT_THREAD_INFO(init_task) }; | 54 | { INIT_THREAD_INFO(init_task) }; |
55 | 55 | ||
56 | #ifdef __LP64__ | 56 | #if PT_NLEVELS == 3 |
57 | /* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout | 57 | /* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout |
58 | * with the first pmd adjacent to the pgd and below it. gcc doesn't actually | 58 | * with the first pmd adjacent to the pgd and below it. gcc doesn't actually |
59 | * guarantee that global objects will be laid out in memory in the same order | 59 | * guarantee that global objects will be laid out in memory in the same order |
60 | * as the order of declaration, so put these in different sections and use | 60 | * as the order of declaration, so put these in different sections and use |
61 | * the linker script to order them. */ | 61 | * the linker script to order them. */ |
62 | pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pmd"))) = { {0}, }; | 62 | pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((__section__ (".data.vm0.pmd"), aligned(PAGE_SIZE))); |
63 | |||
64 | #endif | 63 | #endif |
65 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pgd"))) = { {0}, }; | 64 | |
66 | pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pte"))) = { {0}, }; | 65 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((__section__ (".data.vm0.pgd"), aligned(PAGE_SIZE))); |
66 | pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data.vm0.pte"), aligned(PAGE_SIZE))); | ||
67 | 67 | ||
68 | /* | 68 | /* |
69 | * Initial task structure. | 69 | * Initial task structure. |
diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S index 7a4f07e8d3c3..f600556414d1 100644 --- a/arch/parisc/kernel/pacache.S +++ b/arch/parisc/kernel/pacache.S | |||
@@ -65,7 +65,7 @@ flush_tlb_all_local: | |||
65 | */ | 65 | */ |
66 | 66 | ||
67 | /* pcxt_ssm_bug - relied upon translation! PA 2.0 Arch. F-4 and F-5 */ | 67 | /* pcxt_ssm_bug - relied upon translation! PA 2.0 Arch. F-4 and F-5 */ |
68 | rsm PSW_SM_I, %r19 /* save I-bit state */ | 68 | rsm PSW_SM_I, %r19 /* save I-bit state */ |
69 | load32 PA(1f), %r1 | 69 | load32 PA(1f), %r1 |
70 | nop | 70 | nop |
71 | nop | 71 | nop |
@@ -84,8 +84,7 @@ flush_tlb_all_local: | |||
84 | rfi | 84 | rfi |
85 | nop | 85 | nop |
86 | 86 | ||
87 | 1: ldil L%PA(cache_info), %r1 | 87 | 1: load32 PA(cache_info), %r1 |
88 | ldo R%PA(cache_info)(%r1), %r1 | ||
89 | 88 | ||
90 | /* Flush Instruction Tlb */ | 89 | /* Flush Instruction Tlb */ |
91 | 90 | ||
@@ -212,8 +211,7 @@ flush_instruction_cache_local: | |||
212 | .entry | 211 | .entry |
213 | 212 | ||
214 | mtsp %r0, %sr1 | 213 | mtsp %r0, %sr1 |
215 | ldil L%cache_info, %r1 | 214 | load32 cache_info, %r1 |
216 | ldo R%cache_info(%r1), %r1 | ||
217 | 215 | ||
218 | /* Flush Instruction Cache */ | 216 | /* Flush Instruction Cache */ |
219 | 217 | ||
@@ -254,8 +252,7 @@ flush_data_cache_local: | |||
254 | .entry | 252 | .entry |
255 | 253 | ||
256 | mtsp %r0, %sr1 | 254 | mtsp %r0, %sr1 |
257 | ldil L%cache_info, %r1 | 255 | load32 cache_info, %r1 |
258 | ldo R%cache_info(%r1), %r1 | ||
259 | 256 | ||
260 | /* Flush Data Cache */ | 257 | /* Flush Data Cache */ |
261 | 258 | ||
@@ -303,7 +300,8 @@ copy_user_page_asm: | |||
303 | */ | 300 | */ |
304 | 301 | ||
305 | ldd 0(%r25), %r19 | 302 | ldd 0(%r25), %r19 |
306 | ldi 32, %r1 /* PAGE_SIZE/128 == 32 */ | 303 | ldi ASM_PAGE_SIZE_DIV128, %r1 |
304 | |||
307 | ldw 64(%r25), %r0 /* prefetch 1 cacheline ahead */ | 305 | ldw 64(%r25), %r0 /* prefetch 1 cacheline ahead */ |
308 | ldw 128(%r25), %r0 /* prefetch 2 */ | 306 | ldw 128(%r25), %r0 /* prefetch 2 */ |
309 | 307 | ||
@@ -368,7 +366,7 @@ copy_user_page_asm: | |||
368 | * use ldd/std on a 32 bit kernel. | 366 | * use ldd/std on a 32 bit kernel. |
369 | */ | 367 | */ |
370 | ldw 0(%r25), %r19 | 368 | ldw 0(%r25), %r19 |
371 | ldi 64, %r1 /* PAGE_SIZE/64 == 64 */ | 369 | ldi ASM_PAGE_SIZE_DIV64, %r1 |
372 | 370 | ||
373 | 1: | 371 | 1: |
374 | ldw 4(%r25), %r20 | 372 | ldw 4(%r25), %r20 |
@@ -461,6 +459,7 @@ copy_user_page_asm: | |||
461 | sub %r25, %r1, %r23 /* move physical addr into non shadowed reg */ | 459 | sub %r25, %r1, %r23 /* move physical addr into non shadowed reg */ |
462 | 460 | ||
463 | ldil L%(TMPALIAS_MAP_START), %r28 | 461 | ldil L%(TMPALIAS_MAP_START), %r28 |
462 | /* FIXME for different page sizes != 4k */ | ||
464 | #ifdef CONFIG_64BIT | 463 | #ifdef CONFIG_64BIT |
465 | extrd,u %r26,56,32, %r26 /* convert phys addr to tlb insert format */ | 464 | extrd,u %r26,56,32, %r26 /* convert phys addr to tlb insert format */ |
466 | extrd,u %r23,56,32, %r23 /* convert phys addr to tlb insert format */ | 465 | extrd,u %r23,56,32, %r23 /* convert phys addr to tlb insert format */ |
@@ -551,6 +550,7 @@ __clear_user_page_asm: | |||
551 | #ifdef CONFIG_64BIT | 550 | #ifdef CONFIG_64BIT |
552 | #if (TMPALIAS_MAP_START >= 0x80000000) | 551 | #if (TMPALIAS_MAP_START >= 0x80000000) |
553 | depdi 0, 31,32, %r28 /* clear any sign extension */ | 552 | depdi 0, 31,32, %r28 /* clear any sign extension */ |
553 | /* FIXME: page size dependend */ | ||
554 | #endif | 554 | #endif |
555 | extrd,u %r26, 56,32, %r26 /* convert phys addr to tlb insert format */ | 555 | extrd,u %r26, 56,32, %r26 /* convert phys addr to tlb insert format */ |
556 | depd %r25, 63,22, %r28 /* Form aliased virtual address 'to' */ | 556 | depd %r25, 63,22, %r28 /* Form aliased virtual address 'to' */ |
@@ -566,10 +566,10 @@ __clear_user_page_asm: | |||
566 | pdtlb 0(%r28) | 566 | pdtlb 0(%r28) |
567 | 567 | ||
568 | #ifdef CONFIG_64BIT | 568 | #ifdef CONFIG_64BIT |
569 | ldi 32, %r1 /* PAGE_SIZE/128 == 32 */ | 569 | ldi ASM_PAGE_SIZE_DIV128, %r1 |
570 | 570 | ||
571 | /* PREFETCH (Write) has not (yet) been proven to help here */ | 571 | /* PREFETCH (Write) has not (yet) been proven to help here */ |
572 | /* #define PREFETCHW_OP ldd 256(%0), %r0 */ | 572 | /* #define PREFETCHW_OP ldd 256(%0), %r0 */ |
573 | 573 | ||
574 | 1: std %r0, 0(%r28) | 574 | 1: std %r0, 0(%r28) |
575 | std %r0, 8(%r28) | 575 | std %r0, 8(%r28) |
@@ -591,8 +591,7 @@ __clear_user_page_asm: | |||
591 | ldo 128(%r28), %r28 | 591 | ldo 128(%r28), %r28 |
592 | 592 | ||
593 | #else /* ! CONFIG_64BIT */ | 593 | #else /* ! CONFIG_64BIT */ |
594 | 594 | ldi ASM_PAGE_SIZE_DIV64, %r1 | |
595 | ldi 64, %r1 /* PAGE_SIZE/64 == 64 */ | ||
596 | 595 | ||
597 | 1: | 596 | 1: |
598 | stw %r0, 0(%r28) | 597 | stw %r0, 0(%r28) |
diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index d15a1d53e101..8b5df98e2b31 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c | |||
@@ -231,6 +231,14 @@ asmlinkage long parisc_fadvise64_64(int fd, | |||
231 | (loff_t)high_len << 32 | low_len, advice); | 231 | (loff_t)high_len << 32 | low_len, advice); |
232 | } | 232 | } |
233 | 233 | ||
234 | asmlinkage long parisc_sync_file_range(int fd, | ||
235 | u32 hi_off, u32 lo_off, u32 hi_nbytes, u32 lo_nbytes, | ||
236 | unsigned int flags) | ||
237 | { | ||
238 | return sys_sync_file_range(fd, (loff_t)hi_off << 32 | lo_off, | ||
239 | (loff_t)hi_nbytes << 32 | lo_nbytes, flags); | ||
240 | } | ||
241 | |||
234 | asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag) | 242 | asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag) |
235 | { | 243 | { |
236 | return -ENOMEM; | 244 | return -ENOMEM; |
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index af88afef41bd..479d9a017cd1 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S | |||
@@ -55,7 +55,7 @@ | |||
55 | * pointers. | 55 | * pointers. |
56 | */ | 56 | */ |
57 | 57 | ||
58 | .align 4096 | 58 | .align ASM_PAGE_SIZE |
59 | linux_gateway_page: | 59 | linux_gateway_page: |
60 | 60 | ||
61 | /* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */ | 61 | /* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */ |
@@ -632,7 +632,7 @@ cas_action: | |||
632 | end_compare_and_swap: | 632 | end_compare_and_swap: |
633 | 633 | ||
634 | /* Make sure nothing else is placed on this page */ | 634 | /* Make sure nothing else is placed on this page */ |
635 | .align 4096 | 635 | .align ASM_PAGE_SIZE |
636 | .export end_linux_gateway_page | 636 | .export end_linux_gateway_page |
637 | end_linux_gateway_page: | 637 | end_linux_gateway_page: |
638 | 638 | ||
@@ -652,7 +652,7 @@ end_linux_gateway_page: | |||
652 | 652 | ||
653 | .section .rodata,"a" | 653 | .section .rodata,"a" |
654 | 654 | ||
655 | .align 4096 | 655 | .align ASM_PAGE_SIZE |
656 | /* Light-weight-syscall table */ | 656 | /* Light-weight-syscall table */ |
657 | /* Start of lws table. */ | 657 | /* Start of lws table. */ |
658 | .export lws_table | 658 | .export lws_table |
@@ -662,14 +662,14 @@ lws_table: | |||
662 | LWS_ENTRY(compare_and_swap64) /* 1 - ELF64 Atomic compare and swap */ | 662 | LWS_ENTRY(compare_and_swap64) /* 1 - ELF64 Atomic compare and swap */ |
663 | /* End of lws table */ | 663 | /* End of lws table */ |
664 | 664 | ||
665 | .align 4096 | 665 | .align ASM_PAGE_SIZE |
666 | .export sys_call_table | 666 | .export sys_call_table |
667 | .Lsys_call_table: | 667 | .Lsys_call_table: |
668 | sys_call_table: | 668 | sys_call_table: |
669 | #include "syscall_table.S" | 669 | #include "syscall_table.S" |
670 | 670 | ||
671 | #ifdef CONFIG_64BIT | 671 | #ifdef CONFIG_64BIT |
672 | .align 4096 | 672 | .align ASM_PAGE_SIZE |
673 | .export sys_call_table64 | 673 | .export sys_call_table64 |
674 | .Lsys_call_table64: | 674 | .Lsys_call_table64: |
675 | sys_call_table64: | 675 | sys_call_table64: |
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index bbeeb614cfab..e27b432f90a8 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S | |||
@@ -13,7 +13,7 @@ | |||
13 | * Copyright (C) 2001 Helge Deller <deller at parisc-linux.org> | 13 | * Copyright (C) 2001 Helge Deller <deller at parisc-linux.org> |
14 | * Copyright (C) 2000-2001 Thomas Bogendoerfer <tsbogend at parisc-linux.org> | 14 | * Copyright (C) 2000-2001 Thomas Bogendoerfer <tsbogend at parisc-linux.org> |
15 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> | 15 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> |
16 | * | 16 | * Copyright (C) 2005-2006 Kyle McMartin <kyle at parisc-linux.org> |
17 | * | 17 | * |
18 | * This program is free software; you can redistribute it and/or modify | 18 | * This program is free software; you can redistribute it and/or modify |
19 | * it under the terms of the GNU General Public License as published by | 19 | * it under the terms of the GNU General Public License as published by |
@@ -393,5 +393,11 @@ | |||
393 | ENTRY_SAME(readlinkat) /* 285 */ | 393 | ENTRY_SAME(readlinkat) /* 285 */ |
394 | ENTRY_SAME(fchmodat) | 394 | ENTRY_SAME(fchmodat) |
395 | ENTRY_SAME(faccessat) | 395 | ENTRY_SAME(faccessat) |
396 | ENTRY_SAME(unshare) | ||
397 | ENTRY_COMP(set_robust_list) | ||
398 | ENTRY_COMP(get_robust_list) /* 290 */ | ||
399 | ENTRY_SAME(splice) | ||
400 | ENTRY_OURS(sync_file_range) | ||
401 | ENTRY_SAME(tee) | ||
396 | /* Nothing yet */ | 402 | /* Nothing yet */ |
397 | 403 | ||
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index 6d6436a6b624..94dcc03a28ed 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S | |||
@@ -6,6 +6,7 @@ | |||
6 | * Copyright (C) 2000 Michael Ang <mang with subcarrier.org> | 6 | * Copyright (C) 2000 Michael Ang <mang with subcarrier.org> |
7 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> | 7 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> |
8 | * Copyright (C) 2003 James Bottomley <jejb with parisc-linux.org> | 8 | * Copyright (C) 2003 James Bottomley <jejb with parisc-linux.org> |
9 | * Copyright (C) 2006 Helge Deller <deller@gmx.de> | ||
9 | * | 10 | * |
10 | * | 11 | * |
11 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
@@ -27,6 +28,7 @@ | |||
27 | /* needed for the processor specific cache alignment size */ | 28 | /* needed for the processor specific cache alignment size */ |
28 | #include <asm/cache.h> | 29 | #include <asm/cache.h> |
29 | #include <asm/page.h> | 30 | #include <asm/page.h> |
31 | #include <asm/asm-offsets.h> | ||
30 | 32 | ||
31 | /* ld script to make hppa Linux kernel */ | 33 | /* ld script to make hppa Linux kernel */ |
32 | #ifndef CONFIG_64BIT | 34 | #ifndef CONFIG_64BIT |
@@ -68,7 +70,7 @@ SECTIONS | |||
68 | RODATA | 70 | RODATA |
69 | 71 | ||
70 | /* writeable */ | 72 | /* writeable */ |
71 | . = ALIGN(4096); /* Make sure this is page aligned so | 73 | . = ALIGN(ASM_PAGE_SIZE); /* Make sure this is page aligned so |
72 | that we can properly leave these | 74 | that we can properly leave these |
73 | as writable */ | 75 | as writable */ |
74 | data_start = .; | 76 | data_start = .; |
@@ -81,23 +83,17 @@ SECTIONS | |||
81 | __start___unwind = .; /* unwind info */ | 83 | __start___unwind = .; /* unwind info */ |
82 | .PARISC.unwind : { *(.PARISC.unwind) } | 84 | .PARISC.unwind : { *(.PARISC.unwind) } |
83 | __stop___unwind = .; | 85 | __stop___unwind = .; |
84 | 86 | ||
87 | /* rarely changed data like cpu maps */ | ||
88 | . = ALIGN(16); | ||
89 | .data.read_mostly : { *(.data.read_mostly) } | ||
90 | |||
91 | . = ALIGN(L1_CACHE_BYTES); | ||
85 | .data : { /* Data */ | 92 | .data : { /* Data */ |
86 | *(.data) | 93 | *(.data) |
87 | *(.data.vm0.pmd) | ||
88 | *(.data.vm0.pgd) | ||
89 | *(.data.vm0.pte) | ||
90 | CONSTRUCTORS | 94 | CONSTRUCTORS |
91 | } | 95 | } |
92 | 96 | ||
93 | . = ALIGN(4096); | ||
94 | /* nosave data is really only used for software suspend...it's here | ||
95 | * just in case we ever implement it */ | ||
96 | __nosave_begin = .; | ||
97 | .data_nosave : { *(.data.nosave) } | ||
98 | . = ALIGN(4096); | ||
99 | __nosave_end = .; | ||
100 | |||
101 | . = ALIGN(L1_CACHE_BYTES); | 97 | . = ALIGN(L1_CACHE_BYTES); |
102 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | 98 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } |
103 | 99 | ||
@@ -105,12 +101,29 @@ SECTIONS | |||
105 | . = ALIGN(16); | 101 | . = ALIGN(16); |
106 | .data.lock_aligned : { *(.data.lock_aligned) } | 102 | .data.lock_aligned : { *(.data.lock_aligned) } |
107 | 103 | ||
108 | /* rarely changed data like cpu maps */ | 104 | . = ALIGN(ASM_PAGE_SIZE); |
109 | . = ALIGN(16); | 105 | /* nosave data is really only used for software suspend...it's here |
110 | .data.read_mostly : { *(.data.read_mostly) } | 106 | * just in case we ever implement it */ |
107 | __nosave_begin = .; | ||
108 | .data_nosave : { *(.data.nosave) } | ||
109 | . = ALIGN(ASM_PAGE_SIZE); | ||
110 | __nosave_end = .; | ||
111 | 111 | ||
112 | _edata = .; /* End of data section */ | 112 | _edata = .; /* End of data section */ |
113 | 113 | ||
114 | __bss_start = .; /* BSS */ | ||
115 | /* page table entries need to be PAGE_SIZE aligned */ | ||
116 | . = ALIGN(ASM_PAGE_SIZE); | ||
117 | .data.vmpages : { | ||
118 | *(.data.vm0.pmd) | ||
119 | *(.data.vm0.pgd) | ||
120 | *(.data.vm0.pte) | ||
121 | } | ||
122 | .bss : { *(.bss) *(COMMON) } | ||
123 | __bss_stop = .; | ||
124 | |||
125 | |||
126 | /* assembler code expects init_task to be 16k aligned */ | ||
114 | . = ALIGN(16384); /* init_task */ | 127 | . = ALIGN(16384); /* init_task */ |
115 | .data.init_task : { *(.data.init_task) } | 128 | .data.init_task : { *(.data.init_task) } |
116 | 129 | ||
@@ -126,6 +139,7 @@ SECTIONS | |||
126 | .dlt : { *(.dlt) } | 139 | .dlt : { *(.dlt) } |
127 | #endif | 140 | #endif |
128 | 141 | ||
142 | /* reserve space for interrupt stack by aligning __init* to 16k */ | ||
129 | . = ALIGN(16384); | 143 | . = ALIGN(16384); |
130 | __init_begin = .; | 144 | __init_begin = .; |
131 | .init.text : { | 145 | .init.text : { |
@@ -166,7 +180,7 @@ SECTIONS | |||
166 | from .altinstructions and .eh_frame */ | 180 | from .altinstructions and .eh_frame */ |
167 | .exit.text : { *(.exit.text) } | 181 | .exit.text : { *(.exit.text) } |
168 | .exit.data : { *(.exit.data) } | 182 | .exit.data : { *(.exit.data) } |
169 | . = ALIGN(4096); | 183 | . = ALIGN(ASM_PAGE_SIZE); |
170 | __initramfs_start = .; | 184 | __initramfs_start = .; |
171 | .init.ramfs : { *(.init.ramfs) } | 185 | .init.ramfs : { *(.init.ramfs) } |
172 | __initramfs_end = .; | 186 | __initramfs_end = .; |
@@ -174,14 +188,10 @@ SECTIONS | |||
174 | __per_cpu_start = .; | 188 | __per_cpu_start = .; |
175 | .data.percpu : { *(.data.percpu) } | 189 | .data.percpu : { *(.data.percpu) } |
176 | __per_cpu_end = .; | 190 | __per_cpu_end = .; |
177 | . = ALIGN(4096); | 191 | . = ALIGN(ASM_PAGE_SIZE); |
178 | __init_end = .; | 192 | __init_end = .; |
179 | /* freed after init ends here */ | 193 | /* freed after init ends here */ |
180 | 194 | ||
181 | __bss_start = .; /* BSS */ | ||
182 | .bss : { *(.bss) *(COMMON) } | ||
183 | __bss_stop = .; | ||
184 | |||
185 | _end = . ; | 195 | _end = . ; |
186 | 196 | ||
187 | /* Sections to be discarded */ | 197 | /* Sections to be discarded */ |
diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c index 0ad945d4c0a4..64785e46f93b 100644 --- a/arch/parisc/mm/fault.c +++ b/arch/parisc/mm/fault.c | |||
@@ -186,7 +186,7 @@ good_area: | |||
186 | break; | 186 | break; |
187 | case VM_FAULT_SIGBUS: | 187 | case VM_FAULT_SIGBUS: |
188 | /* | 188 | /* |
189 | * We hit a hared mapping outside of the file, or some | 189 | * We hit a shared mapping outside of the file, or some |
190 | * other thing happened to us that made us unable to | 190 | * other thing happened to us that made us unable to |
191 | * handle the page fault gracefully. | 191 | * handle the page fault gracefully. |
192 | */ | 192 | */ |
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index 3796be67cd53..631712562656 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * changed by Philipp Rumpf | 6 | * changed by Philipp Rumpf |
7 | * Copyright 1999 Philipp Rumpf (prumpf@tux.org) | 7 | * Copyright 1999 Philipp Rumpf (prumpf@tux.org) |
8 | * Copyright 2004 Randolph Chung (tausq@debian.org) | 8 | * Copyright 2004 Randolph Chung (tausq@debian.org) |
9 | * Copyright 2006 Helge Deller (deller@gmx.de) | ||
9 | * | 10 | * |
10 | */ | 11 | */ |
11 | 12 | ||
@@ -371,8 +372,8 @@ static void __init setup_bootmem(void) | |||
371 | 372 | ||
372 | void free_initmem(void) | 373 | void free_initmem(void) |
373 | { | 374 | { |
374 | unsigned long addr; | 375 | unsigned long addr, init_begin, init_end; |
375 | 376 | ||
376 | printk(KERN_INFO "Freeing unused kernel memory: "); | 377 | printk(KERN_INFO "Freeing unused kernel memory: "); |
377 | 378 | ||
378 | #ifdef CONFIG_DEBUG_KERNEL | 379 | #ifdef CONFIG_DEBUG_KERNEL |
@@ -395,8 +396,11 @@ void free_initmem(void) | |||
395 | local_irq_enable(); | 396 | local_irq_enable(); |
396 | #endif | 397 | #endif |
397 | 398 | ||
398 | addr = (unsigned long)(&__init_begin); | 399 | /* align __init_begin and __init_end to page size, |
399 | for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { | 400 | ignoring linker script where we might have tried to save RAM */ |
401 | init_begin = PAGE_ALIGN((unsigned long)(&__init_begin)); | ||
402 | init_end = PAGE_ALIGN((unsigned long)(&__init_end)); | ||
403 | for (addr = init_begin; addr < init_end; addr += PAGE_SIZE) { | ||
400 | ClearPageReserved(virt_to_page(addr)); | 404 | ClearPageReserved(virt_to_page(addr)); |
401 | init_page_count(virt_to_page(addr)); | 405 | init_page_count(virt_to_page(addr)); |
402 | free_page(addr); | 406 | free_page(addr); |
@@ -407,7 +411,7 @@ void free_initmem(void) | |||
407 | /* set up a new led state on systems shipped LED State panel */ | 411 | /* set up a new led state on systems shipped LED State panel */ |
408 | pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); | 412 | pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); |
409 | 413 | ||
410 | printk("%luk freed\n", (unsigned long)(&__init_end - &__init_begin) >> 10); | 414 | printk("%luk freed\n", (init_end - init_begin) >> 10); |
411 | } | 415 | } |
412 | 416 | ||
413 | 417 | ||
@@ -639,11 +643,13 @@ static void __init map_pages(unsigned long start_vaddr, unsigned long start_padd | |||
639 | * Map the fault vector writable so we can | 643 | * Map the fault vector writable so we can |
640 | * write the HPMC checksum. | 644 | * write the HPMC checksum. |
641 | */ | 645 | */ |
646 | #if defined(CONFIG_PARISC_PAGE_SIZE_4KB) | ||
642 | if (address >= ro_start && address < ro_end | 647 | if (address >= ro_start && address < ro_end |
643 | && address != fv_addr | 648 | && address != fv_addr |
644 | && address != gw_addr) | 649 | && address != gw_addr) |
645 | pte = __mk_pte(address, PAGE_KERNEL_RO); | 650 | pte = __mk_pte(address, PAGE_KERNEL_RO); |
646 | else | 651 | else |
652 | #endif | ||
647 | pte = __mk_pte(address, pgprot); | 653 | pte = __mk_pte(address, pgprot); |
648 | 654 | ||
649 | if (address >= end_paddr) | 655 | if (address >= end_paddr) |
@@ -874,8 +880,7 @@ unsigned long alloc_sid(void) | |||
874 | flush_tlb_all(); /* flush_tlb_all() calls recycle_sids() */ | 880 | flush_tlb_all(); /* flush_tlb_all() calls recycle_sids() */ |
875 | spin_lock(&sid_lock); | 881 | spin_lock(&sid_lock); |
876 | } | 882 | } |
877 | if (free_space_ids == 0) | 883 | BUG_ON(free_space_ids == 0); |
878 | BUG(); | ||
879 | } | 884 | } |
880 | 885 | ||
881 | free_space_ids--; | 886 | free_space_ids--; |
@@ -899,8 +904,7 @@ void free_sid(unsigned long spaceid) | |||
899 | 904 | ||
900 | spin_lock(&sid_lock); | 905 | spin_lock(&sid_lock); |
901 | 906 | ||
902 | if (*dirty_space_offset & (1L << index)) | 907 | BUG_ON(*dirty_space_offset & (1L << index)); /* attempt to free space id twice */ |
903 | BUG(); /* attempt to free space id twice */ | ||
904 | 908 | ||
905 | *dirty_space_offset |= (1L << index); | 909 | *dirty_space_offset |= (1L << index); |
906 | dirty_space_ids++; | 910 | dirty_space_ids++; |
@@ -975,7 +979,7 @@ static void recycle_sids(void) | |||
975 | 979 | ||
976 | static unsigned long recycle_ndirty; | 980 | static unsigned long recycle_ndirty; |
977 | static unsigned long recycle_dirty_array[SID_ARRAY_SIZE]; | 981 | static unsigned long recycle_dirty_array[SID_ARRAY_SIZE]; |
978 | static unsigned int recycle_inuse = 0; | 982 | static unsigned int recycle_inuse; |
979 | 983 | ||
980 | void flush_tlb_all(void) | 984 | void flush_tlb_all(void) |
981 | { | 985 | { |
@@ -984,9 +988,7 @@ void flush_tlb_all(void) | |||
984 | do_recycle = 0; | 988 | do_recycle = 0; |
985 | spin_lock(&sid_lock); | 989 | spin_lock(&sid_lock); |
986 | if (dirty_space_ids > RECYCLE_THRESHOLD) { | 990 | if (dirty_space_ids > RECYCLE_THRESHOLD) { |
987 | if (recycle_inuse) { | 991 | BUG_ON(recycle_inuse); /* FIXME: Use a semaphore/wait queue here */ |
988 | BUG(); /* FIXME: Use a semaphore/wait queue here */ | ||
989 | } | ||
990 | get_dirty_sids(&recycle_ndirty,recycle_dirty_array); | 992 | get_dirty_sids(&recycle_ndirty,recycle_dirty_array); |
991 | recycle_inuse++; | 993 | recycle_inuse++; |
992 | do_recycle++; | 994 | do_recycle++; |
diff --git a/arch/parisc/mm/ioremap.c b/arch/parisc/mm/ioremap.c index 0db12818d7bc..27384567a1d0 100644 --- a/arch/parisc/mm/ioremap.c +++ b/arch/parisc/mm/ioremap.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * arch/parisc/mm/ioremap.c | 2 | * arch/parisc/mm/ioremap.c |
3 | * | 3 | * |
4 | * (C) Copyright 1995 1996 Linus Torvalds | 4 | * (C) Copyright 1995 1996 Linus Torvalds |
5 | * (C) Copyright 2001 Helge Deller <deller@gmx.de> | 5 | * (C) Copyright 2001-2006 Helge Deller <deller@gmx.de> |
6 | * (C) Copyright 2005 Kyle McMartin <kyle@parisc-linux.org> | 6 | * (C) Copyright 2005 Kyle McMartin <kyle@parisc-linux.org> |
7 | */ | 7 | */ |
8 | 8 | ||
@@ -138,6 +138,7 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l | |||
138 | if ((phys_addr >= 0x00080000 && end < 0x000fffff) || | 138 | if ((phys_addr >= 0x00080000 && end < 0x000fffff) || |
139 | (phys_addr >= 0x00500000 && end < 0x03bfffff)) { | 139 | (phys_addr >= 0x00500000 && end < 0x03bfffff)) { |
140 | phys_addr |= F_EXTEND(0xfc000000); | 140 | phys_addr |= F_EXTEND(0xfc000000); |
141 | flags |= _PAGE_NO_CACHE; | ||
141 | } | 142 | } |
142 | #endif | 143 | #endif |
143 | 144 | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 167e70e95556..6729c98b66f9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -366,6 +366,7 @@ config PPC_PMAC64 | |||
366 | select U3_DART | 366 | select U3_DART |
367 | select MPIC_BROKEN_U3 | 367 | select MPIC_BROKEN_U3 |
368 | select GENERIC_TBSYNC | 368 | select GENERIC_TBSYNC |
369 | select PPC_970_NAP | ||
369 | default y | 370 | default y |
370 | 371 | ||
371 | config PPC_PREP | 372 | config PPC_PREP |
@@ -383,6 +384,7 @@ config PPC_MAPLE | |||
383 | select MPIC_BROKEN_U3 | 384 | select MPIC_BROKEN_U3 |
384 | select GENERIC_TBSYNC | 385 | select GENERIC_TBSYNC |
385 | select PPC_UDBG_16550 | 386 | select PPC_UDBG_16550 |
387 | select PPC_970_NAP | ||
386 | default n | 388 | default n |
387 | help | 389 | help |
388 | This option enables support for the Maple 970FX Evaluation Board. | 390 | This option enables support for the Maple 970FX Evaluation Board. |
@@ -457,6 +459,10 @@ config PPC_MPC106 | |||
457 | bool | 459 | bool |
458 | default n | 460 | default n |
459 | 461 | ||
462 | config PPC_970_NAP | ||
463 | bool | ||
464 | default n | ||
465 | |||
460 | source "drivers/cpufreq/Kconfig" | 466 | source "drivers/cpufreq/Kconfig" |
461 | 467 | ||
462 | config CPU_FREQ_PMAC | 468 | config CPU_FREQ_PMAC |
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 6ec84d37a337..ed5b26aa8be3 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile | |||
@@ -104,6 +104,10 @@ ifndef CONFIG_FSL_BOOKE | |||
104 | CFLAGS += -mstring | 104 | CFLAGS += -mstring |
105 | endif | 105 | endif |
106 | 106 | ||
107 | ifeq ($(CONFIG_6xx),y) | ||
108 | CFLAGS += -mcpu=powerpc | ||
109 | endif | ||
110 | |||
107 | cpu-as-$(CONFIG_PPC64BRIDGE) += -Wa,-mppc64bridge | 111 | cpu-as-$(CONFIG_PPC64BRIDGE) += -Wa,-mppc64bridge |
108 | cpu-as-$(CONFIG_4xx) += -Wa,-m405 | 112 | cpu-as-$(CONFIG_4xx) += -Wa,-m405 |
109 | cpu-as-$(CONFIG_6xx) += -Wa,-maltivec | 113 | cpu-as-$(CONFIG_6xx) += -Wa,-maltivec |
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig index fe22e54ab2b0..dbe421dc3c11 100644 --- a/arch/powerpc/configs/cell_defconfig +++ b/arch/powerpc/configs/cell_defconfig | |||
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -55,6 +56,7 @@ CONFIG_SYSCTL=y | |||
55 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
56 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
57 | # CONFIG_CPUSETS is not set | 58 | # CONFIG_CPUSETS is not set |
59 | # CONFIG_RELAY is not set | ||
58 | CONFIG_INITRAMFS_SOURCE="" | 60 | CONFIG_INITRAMFS_SOURCE="" |
59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 61 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
60 | # CONFIG_EMBEDDED is not set | 62 | # CONFIG_EMBEDDED is not set |
@@ -69,10 +71,6 @@ CONFIG_BASE_FULL=y | |||
69 | CONFIG_FUTEX=y | 71 | CONFIG_FUTEX=y |
70 | CONFIG_EPOLL=y | 72 | CONFIG_EPOLL=y |
71 | CONFIG_SHMEM=y | 73 | CONFIG_SHMEM=y |
72 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
73 | CONFIG_CC_ALIGN_LABELS=0 | ||
74 | CONFIG_CC_ALIGN_LOOPS=0 | ||
75 | CONFIG_CC_ALIGN_JUMPS=0 | ||
76 | CONFIG_SLAB=y | 74 | CONFIG_SLAB=y |
77 | # CONFIG_TINY_SHMEM is not set | 75 | # CONFIG_TINY_SHMEM is not set |
78 | CONFIG_BASE_SMALL=0 | 76 | CONFIG_BASE_SMALL=0 |
@@ -84,7 +82,6 @@ CONFIG_BASE_SMALL=0 | |||
84 | CONFIG_MODULES=y | 82 | CONFIG_MODULES=y |
85 | CONFIG_MODULE_UNLOAD=y | 83 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 84 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | CONFIG_OBSOLETE_MODPARM=y | ||
88 | # CONFIG_MODVERSIONS is not set | 85 | # CONFIG_MODVERSIONS is not set |
89 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 86 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
90 | CONFIG_KMOD=y | 87 | CONFIG_KMOD=y |
@@ -93,6 +90,7 @@ CONFIG_STOP_MACHINE=y | |||
93 | # | 90 | # |
94 | # Block layer | 91 | # Block layer |
95 | # | 92 | # |
93 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | 94 | ||
97 | # | 95 | # |
98 | # IO Schedulers | 96 | # IO Schedulers |
@@ -126,6 +124,7 @@ CONFIG_RTAS_FLASH=y | |||
126 | CONFIG_MMIO_NVRAM=y | 124 | CONFIG_MMIO_NVRAM=y |
127 | CONFIG_CELL_IIC=y | 125 | CONFIG_CELL_IIC=y |
128 | # CONFIG_PPC_MPC106 is not set | 126 | # CONFIG_PPC_MPC106 is not set |
127 | # CONFIG_PPC_970_NAP is not set | ||
129 | # CONFIG_CPU_FREQ is not set | 128 | # CONFIG_CPU_FREQ is not set |
130 | # CONFIG_WANT_EARLY_SERIAL is not set | 129 | # CONFIG_WANT_EARLY_SERIAL is not set |
131 | 130 | ||
@@ -167,7 +166,6 @@ CONFIG_HAVE_MEMORY_PRESENT=y | |||
167 | CONFIG_SPARSEMEM_EXTREME=y | 166 | CONFIG_SPARSEMEM_EXTREME=y |
168 | # CONFIG_MEMORY_HOTPLUG is not set | 167 | # CONFIG_MEMORY_HOTPLUG is not set |
169 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 168 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
170 | CONFIG_MIGRATION=y | ||
171 | # CONFIG_PPC_64K_PAGES is not set | 169 | # CONFIG_PPC_64K_PAGES is not set |
172 | CONFIG_SCHED_SMT=y | 170 | CONFIG_SCHED_SMT=y |
173 | CONFIG_PROC_DEVICETREE=y | 171 | CONFIG_PROC_DEVICETREE=y |
@@ -184,7 +182,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
184 | # CONFIG_PPC_INDIRECT_PCI is not set | 182 | # CONFIG_PPC_INDIRECT_PCI is not set |
185 | CONFIG_PCI=y | 183 | CONFIG_PCI=y |
186 | CONFIG_PCI_DOMAINS=y | 184 | CONFIG_PCI_DOMAINS=y |
187 | CONFIG_PCI_LEGACY_PROC=y | ||
188 | # CONFIG_PCI_DEBUG is not set | 185 | # CONFIG_PCI_DEBUG is not set |
189 | 186 | ||
190 | # | 187 | # |
@@ -226,6 +223,7 @@ CONFIG_SYN_COOKIES=y | |||
226 | # CONFIG_INET_AH is not set | 223 | # CONFIG_INET_AH is not set |
227 | # CONFIG_INET_ESP is not set | 224 | # CONFIG_INET_ESP is not set |
228 | # CONFIG_INET_IPCOMP is not set | 225 | # CONFIG_INET_IPCOMP is not set |
226 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
229 | CONFIG_INET_TUNNEL=y | 227 | CONFIG_INET_TUNNEL=y |
230 | CONFIG_INET_DIAG=y | 228 | CONFIG_INET_DIAG=y |
231 | CONFIG_INET_TCP_DIAG=y | 229 | CONFIG_INET_TCP_DIAG=y |
@@ -242,6 +240,7 @@ CONFIG_IPV6=y | |||
242 | CONFIG_INET6_AH=m | 240 | CONFIG_INET6_AH=m |
243 | CONFIG_INET6_ESP=m | 241 | CONFIG_INET6_ESP=m |
244 | CONFIG_INET6_IPCOMP=m | 242 | CONFIG_INET6_IPCOMP=m |
243 | CONFIG_INET6_XFRM_TUNNEL=m | ||
245 | CONFIG_INET6_TUNNEL=m | 244 | CONFIG_INET6_TUNNEL=m |
246 | CONFIG_IPV6_TUNNEL=m | 245 | CONFIG_IPV6_TUNNEL=m |
247 | CONFIG_NETFILTER=y | 246 | CONFIG_NETFILTER=y |
@@ -632,6 +631,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
632 | # | 631 | # |
633 | CONFIG_SERIAL_8250=y | 632 | CONFIG_SERIAL_8250=y |
634 | CONFIG_SERIAL_8250_CONSOLE=y | 633 | CONFIG_SERIAL_8250_CONSOLE=y |
634 | CONFIG_SERIAL_8250_PCI=y | ||
635 | CONFIG_SERIAL_8250_NR_UARTS=4 | 635 | CONFIG_SERIAL_8250_NR_UARTS=4 |
636 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 636 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
637 | # CONFIG_SERIAL_8250_EXTENDED is not set | 637 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -717,7 +717,6 @@ CONFIG_I2C_ALGOBIT=y | |||
717 | # CONFIG_I2C_PARPORT_LIGHT is not set | 717 | # CONFIG_I2C_PARPORT_LIGHT is not set |
718 | # CONFIG_I2C_PROSAVAGE is not set | 718 | # CONFIG_I2C_PROSAVAGE is not set |
719 | # CONFIG_I2C_SAVAGE4 is not set | 719 | # CONFIG_I2C_SAVAGE4 is not set |
720 | # CONFIG_SCx200_ACB is not set | ||
721 | # CONFIG_I2C_SIS5595 is not set | 720 | # CONFIG_I2C_SIS5595 is not set |
722 | # CONFIG_I2C_SIS630 is not set | 721 | # CONFIG_I2C_SIS630 is not set |
723 | # CONFIG_I2C_SIS96X is not set | 722 | # CONFIG_I2C_SIS96X is not set |
@@ -736,9 +735,7 @@ CONFIG_I2C_ALGOBIT=y | |||
736 | # CONFIG_SENSORS_PCF8574 is not set | 735 | # CONFIG_SENSORS_PCF8574 is not set |
737 | # CONFIG_SENSORS_PCA9539 is not set | 736 | # CONFIG_SENSORS_PCA9539 is not set |
738 | # CONFIG_SENSORS_PCF8591 is not set | 737 | # CONFIG_SENSORS_PCF8591 is not set |
739 | # CONFIG_SENSORS_RTC8564 is not set | ||
740 | # CONFIG_SENSORS_MAX6875 is not set | 738 | # CONFIG_SENSORS_MAX6875 is not set |
741 | # CONFIG_RTC_X1205_I2C is not set | ||
742 | # CONFIG_I2C_DEBUG_CORE is not set | 739 | # CONFIG_I2C_DEBUG_CORE is not set |
743 | # CONFIG_I2C_DEBUG_ALGO is not set | 740 | # CONFIG_I2C_DEBUG_ALGO is not set |
744 | # CONFIG_I2C_DEBUG_BUS is not set | 741 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -766,10 +763,6 @@ CONFIG_I2C_ALGOBIT=y | |||
766 | # | 763 | # |
767 | 764 | ||
768 | # | 765 | # |
769 | # Multimedia Capabilities Port drivers | ||
770 | # | ||
771 | |||
772 | # | ||
773 | # Multimedia devices | 766 | # Multimedia devices |
774 | # | 767 | # |
775 | # CONFIG_VIDEO_DEV is not set | 768 | # CONFIG_VIDEO_DEV is not set |
@@ -818,6 +811,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
818 | # CONFIG_MMC is not set | 811 | # CONFIG_MMC is not set |
819 | 812 | ||
820 | # | 813 | # |
814 | # LED devices | ||
815 | # | ||
816 | # CONFIG_NEW_LEDS is not set | ||
817 | |||
818 | # | ||
819 | # LED drivers | ||
820 | # | ||
821 | |||
822 | # | ||
823 | # LED Triggers | ||
824 | # | ||
825 | |||
826 | # | ||
821 | # InfiniBand support | 827 | # InfiniBand support |
822 | # | 828 | # |
823 | CONFIG_INFINIBAND=y | 829 | CONFIG_INFINIBAND=y |
@@ -834,6 +840,11 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y | |||
834 | # | 840 | # |
835 | 841 | ||
836 | # | 842 | # |
843 | # Real Time Clock | ||
844 | # | ||
845 | # CONFIG_RTC_CLASS is not set | ||
846 | |||
847 | # | ||
837 | # File systems | 848 | # File systems |
838 | # | 849 | # |
839 | CONFIG_EXT2_FS=y | 850 | CONFIG_EXT2_FS=y |
@@ -889,7 +900,6 @@ CONFIG_TMPFS=y | |||
889 | CONFIG_HUGETLBFS=y | 900 | CONFIG_HUGETLBFS=y |
890 | CONFIG_HUGETLB_PAGE=y | 901 | CONFIG_HUGETLB_PAGE=y |
891 | CONFIG_RAMFS=y | 902 | CONFIG_RAMFS=y |
892 | # CONFIG_RELAYFS_FS is not set | ||
893 | # CONFIG_CONFIGFS_FS is not set | 903 | # CONFIG_CONFIGFS_FS is not set |
894 | 904 | ||
895 | # | 905 | # |
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig index 2c3fd2007676..a45627547d03 100644 --- a/arch/powerpc/configs/g5_defconfig +++ b/arch/powerpc/configs/g5_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc1 |
4 | # Fri Feb 10 17:33:08 2006 | 4 | # Wed Apr 19 13:24:37 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -29,6 +30,7 @@ CONFIG_POWER4=y | |||
29 | CONFIG_PPC_FPU=y | 30 | CONFIG_PPC_FPU=y |
30 | CONFIG_ALTIVEC=y | 31 | CONFIG_ALTIVEC=y |
31 | CONFIG_PPC_STD_MMU=y | 32 | CONFIG_PPC_STD_MMU=y |
33 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
32 | CONFIG_SMP=y | 34 | CONFIG_SMP=y |
33 | CONFIG_NR_CPUS=4 | 35 | CONFIG_NR_CPUS=4 |
34 | 36 | ||
@@ -53,6 +55,7 @@ CONFIG_SYSCTL=y | |||
53 | CONFIG_IKCONFIG=y | 55 | CONFIG_IKCONFIG=y |
54 | CONFIG_IKCONFIG_PROC=y | 56 | CONFIG_IKCONFIG_PROC=y |
55 | # CONFIG_CPUSETS is not set | 57 | # CONFIG_CPUSETS is not set |
58 | # CONFIG_RELAY is not set | ||
56 | CONFIG_INITRAMFS_SOURCE="" | 59 | CONFIG_INITRAMFS_SOURCE="" |
57 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 60 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
58 | # CONFIG_EMBEDDED is not set | 61 | # CONFIG_EMBEDDED is not set |
@@ -67,10 +70,6 @@ CONFIG_BASE_FULL=y | |||
67 | CONFIG_FUTEX=y | 70 | CONFIG_FUTEX=y |
68 | CONFIG_EPOLL=y | 71 | CONFIG_EPOLL=y |
69 | CONFIG_SHMEM=y | 72 | CONFIG_SHMEM=y |
70 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
71 | CONFIG_CC_ALIGN_LABELS=0 | ||
72 | CONFIG_CC_ALIGN_LOOPS=0 | ||
73 | CONFIG_CC_ALIGN_JUMPS=0 | ||
74 | CONFIG_SLAB=y | 73 | CONFIG_SLAB=y |
75 | # CONFIG_TINY_SHMEM is not set | 74 | # CONFIG_TINY_SHMEM is not set |
76 | CONFIG_BASE_SMALL=0 | 75 | CONFIG_BASE_SMALL=0 |
@@ -82,7 +81,6 @@ CONFIG_BASE_SMALL=0 | |||
82 | CONFIG_MODULES=y | 81 | CONFIG_MODULES=y |
83 | CONFIG_MODULE_UNLOAD=y | 82 | CONFIG_MODULE_UNLOAD=y |
84 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 83 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
85 | CONFIG_OBSOLETE_MODPARM=y | ||
86 | CONFIG_MODVERSIONS=y | 84 | CONFIG_MODVERSIONS=y |
87 | CONFIG_MODULE_SRCVERSION_ALL=y | 85 | CONFIG_MODULE_SRCVERSION_ALL=y |
88 | CONFIG_KMOD=y | 86 | CONFIG_KMOD=y |
@@ -91,6 +89,7 @@ CONFIG_STOP_MACHINE=y | |||
91 | # | 89 | # |
92 | # Block layer | 90 | # Block layer |
93 | # | 91 | # |
92 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
94 | 93 | ||
95 | # | 94 | # |
96 | # IO Schedulers | 95 | # IO Schedulers |
@@ -185,7 +184,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
185 | # CONFIG_PPC_INDIRECT_PCI is not set | 184 | # CONFIG_PPC_INDIRECT_PCI is not set |
186 | CONFIG_PCI=y | 185 | CONFIG_PCI=y |
187 | CONFIG_PCI_DOMAINS=y | 186 | CONFIG_PCI_DOMAINS=y |
188 | CONFIG_PCI_LEGACY_PROC=y | ||
189 | # CONFIG_PCI_DEBUG is not set | 187 | # CONFIG_PCI_DEBUG is not set |
190 | 188 | ||
191 | # | 189 | # |
@@ -227,6 +225,7 @@ CONFIG_SYN_COOKIES=y | |||
227 | CONFIG_INET_AH=m | 225 | CONFIG_INET_AH=m |
228 | CONFIG_INET_ESP=m | 226 | CONFIG_INET_ESP=m |
229 | CONFIG_INET_IPCOMP=m | 227 | CONFIG_INET_IPCOMP=m |
228 | CONFIG_INET_XFRM_TUNNEL=m | ||
230 | CONFIG_INET_TUNNEL=y | 229 | CONFIG_INET_TUNNEL=y |
231 | CONFIG_INET_DIAG=y | 230 | CONFIG_INET_DIAG=y |
232 | CONFIG_INET_TCP_DIAG=y | 231 | CONFIG_INET_TCP_DIAG=y |
@@ -238,6 +237,8 @@ CONFIG_TCP_CONG_BIC=y | |||
238 | # | 237 | # |
239 | # CONFIG_IP_VS is not set | 238 | # CONFIG_IP_VS is not set |
240 | # CONFIG_IPV6 is not set | 239 | # CONFIG_IPV6 is not set |
240 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
241 | # CONFIG_INET6_TUNNEL is not set | ||
241 | CONFIG_NETFILTER=y | 242 | CONFIG_NETFILTER=y |
242 | # CONFIG_NETFILTER_DEBUG is not set | 243 | # CONFIG_NETFILTER_DEBUG is not set |
243 | 244 | ||
@@ -261,6 +262,7 @@ CONFIG_IP_NF_IRC=m | |||
261 | CONFIG_IP_NF_TFTP=m | 262 | CONFIG_IP_NF_TFTP=m |
262 | CONFIG_IP_NF_AMANDA=m | 263 | CONFIG_IP_NF_AMANDA=m |
263 | # CONFIG_IP_NF_PPTP is not set | 264 | # CONFIG_IP_NF_PPTP is not set |
265 | # CONFIG_IP_NF_H323 is not set | ||
264 | CONFIG_IP_NF_QUEUE=m | 266 | CONFIG_IP_NF_QUEUE=m |
265 | 267 | ||
266 | # | 268 | # |
@@ -513,6 +515,7 @@ CONFIG_MD_RAID0=y | |||
513 | CONFIG_MD_RAID1=y | 515 | CONFIG_MD_RAID1=y |
514 | CONFIG_MD_RAID10=m | 516 | CONFIG_MD_RAID10=m |
515 | CONFIG_MD_RAID5=y | 517 | CONFIG_MD_RAID5=y |
518 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
516 | CONFIG_MD_RAID6=m | 519 | CONFIG_MD_RAID6=m |
517 | CONFIG_MD_MULTIPATH=m | 520 | CONFIG_MD_MULTIPATH=m |
518 | CONFIG_MD_FAULTY=m | 521 | CONFIG_MD_FAULTY=m |
@@ -761,7 +764,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
761 | # Watchdog Cards | 764 | # Watchdog Cards |
762 | # | 765 | # |
763 | # CONFIG_WATCHDOG is not set | 766 | # CONFIG_WATCHDOG is not set |
764 | # CONFIG_RTC is not set | ||
765 | CONFIG_GEN_RTC=y | 767 | CONFIG_GEN_RTC=y |
766 | # CONFIG_GEN_RTC_X is not set | 768 | # CONFIG_GEN_RTC_X is not set |
767 | # CONFIG_DTLK is not set | 769 | # CONFIG_DTLK is not set |
@@ -772,6 +774,7 @@ CONFIG_GEN_RTC=y | |||
772 | # Ftape, the floppy tape device driver | 774 | # Ftape, the floppy tape device driver |
773 | # | 775 | # |
774 | CONFIG_AGP=m | 776 | CONFIG_AGP=m |
777 | # CONFIG_AGP_VIA is not set | ||
775 | CONFIG_AGP_UNINORTH=m | 778 | CONFIG_AGP_UNINORTH=m |
776 | # CONFIG_DRM is not set | 779 | # CONFIG_DRM is not set |
777 | CONFIG_RAW_DRIVER=y | 780 | CONFIG_RAW_DRIVER=y |
@@ -813,7 +816,6 @@ CONFIG_I2C_POWERMAC=y | |||
813 | # CONFIG_I2C_PARPORT_LIGHT is not set | 816 | # CONFIG_I2C_PARPORT_LIGHT is not set |
814 | # CONFIG_I2C_PROSAVAGE is not set | 817 | # CONFIG_I2C_PROSAVAGE is not set |
815 | # CONFIG_I2C_SAVAGE4 is not set | 818 | # CONFIG_I2C_SAVAGE4 is not set |
816 | # CONFIG_SCx200_ACB is not set | ||
817 | # CONFIG_I2C_SIS5595 is not set | 819 | # CONFIG_I2C_SIS5595 is not set |
818 | # CONFIG_I2C_SIS630 is not set | 820 | # CONFIG_I2C_SIS630 is not set |
819 | # CONFIG_I2C_SIS96X is not set | 821 | # CONFIG_I2C_SIS96X is not set |
@@ -832,9 +834,7 @@ CONFIG_I2C_POWERMAC=y | |||
832 | # CONFIG_SENSORS_PCF8574 is not set | 834 | # CONFIG_SENSORS_PCF8574 is not set |
833 | # CONFIG_SENSORS_PCA9539 is not set | 835 | # CONFIG_SENSORS_PCA9539 is not set |
834 | # CONFIG_SENSORS_PCF8591 is not set | 836 | # CONFIG_SENSORS_PCF8591 is not set |
835 | # CONFIG_SENSORS_RTC8564 is not set | ||
836 | # CONFIG_SENSORS_MAX6875 is not set | 837 | # CONFIG_SENSORS_MAX6875 is not set |
837 | # CONFIG_RTC_X1205_I2C is not set | ||
838 | # CONFIG_I2C_DEBUG_CORE is not set | 838 | # CONFIG_I2C_DEBUG_CORE is not set |
839 | # CONFIG_I2C_DEBUG_ALGO is not set | 839 | # CONFIG_I2C_DEBUG_ALGO is not set |
840 | # CONFIG_I2C_DEBUG_BUS is not set | 840 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -862,10 +862,6 @@ CONFIG_I2C_POWERMAC=y | |||
862 | # | 862 | # |
863 | 863 | ||
864 | # | 864 | # |
865 | # Multimedia Capabilities Port drivers | ||
866 | # | ||
867 | |||
868 | # | ||
869 | # Multimedia devices | 865 | # Multimedia devices |
870 | # | 866 | # |
871 | # CONFIG_VIDEO_DEV is not set | 867 | # CONFIG_VIDEO_DEV is not set |
@@ -874,6 +870,7 @@ CONFIG_I2C_POWERMAC=y | |||
874 | # Digital Video Broadcasting Devices | 870 | # Digital Video Broadcasting Devices |
875 | # | 871 | # |
876 | # CONFIG_DVB is not set | 872 | # CONFIG_DVB is not set |
873 | # CONFIG_USB_DABUSB is not set | ||
877 | 874 | ||
878 | # | 875 | # |
879 | # Graphics support | 876 | # Graphics support |
@@ -883,6 +880,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
883 | CONFIG_FB_CFB_COPYAREA=y | 880 | CONFIG_FB_CFB_COPYAREA=y |
884 | CONFIG_FB_CFB_IMAGEBLIT=y | 881 | CONFIG_FB_CFB_IMAGEBLIT=y |
885 | CONFIG_FB_MACMODES=y | 882 | CONFIG_FB_MACMODES=y |
883 | CONFIG_FB_FIRMWARE_EDID=y | ||
886 | CONFIG_FB_MODE_HELPERS=y | 884 | CONFIG_FB_MODE_HELPERS=y |
887 | CONFIG_FB_TILEBLITTING=y | 885 | CONFIG_FB_TILEBLITTING=y |
888 | # CONFIG_FB_CIRRUS is not set | 886 | # CONFIG_FB_CIRRUS is not set |
@@ -901,7 +899,6 @@ CONFIG_FB_NVIDIA=y | |||
901 | CONFIG_FB_NVIDIA_I2C=y | 899 | CONFIG_FB_NVIDIA_I2C=y |
902 | # CONFIG_FB_RIVA is not set | 900 | # CONFIG_FB_RIVA is not set |
903 | # CONFIG_FB_MATROX is not set | 901 | # CONFIG_FB_MATROX is not set |
904 | # CONFIG_FB_RADEON_OLD is not set | ||
905 | CONFIG_FB_RADEON=y | 902 | CONFIG_FB_RADEON=y |
906 | CONFIG_FB_RADEON_I2C=y | 903 | CONFIG_FB_RADEON_I2C=y |
907 | # CONFIG_FB_RADEON_DEBUG is not set | 904 | # CONFIG_FB_RADEON_DEBUG is not set |
@@ -958,9 +955,11 @@ CONFIG_SND_SEQUENCER=m | |||
958 | CONFIG_SND_OSSEMUL=y | 955 | CONFIG_SND_OSSEMUL=y |
959 | CONFIG_SND_MIXER_OSS=m | 956 | CONFIG_SND_MIXER_OSS=m |
960 | CONFIG_SND_PCM_OSS=m | 957 | CONFIG_SND_PCM_OSS=m |
958 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
961 | CONFIG_SND_SEQUENCER_OSS=y | 959 | CONFIG_SND_SEQUENCER_OSS=y |
962 | # CONFIG_SND_DYNAMIC_MINORS is not set | 960 | # CONFIG_SND_DYNAMIC_MINORS is not set |
963 | CONFIG_SND_SUPPORT_OLD_API=y | 961 | CONFIG_SND_SUPPORT_OLD_API=y |
962 | CONFIG_SND_VERBOSE_PROCFS=y | ||
964 | # CONFIG_SND_VERBOSE_PRINTK is not set | 963 | # CONFIG_SND_VERBOSE_PRINTK is not set |
965 | # CONFIG_SND_DEBUG is not set | 964 | # CONFIG_SND_DEBUG is not set |
966 | 965 | ||
@@ -977,6 +976,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
977 | # PCI devices | 976 | # PCI devices |
978 | # | 977 | # |
979 | # CONFIG_SND_AD1889 is not set | 978 | # CONFIG_SND_AD1889 is not set |
979 | # CONFIG_SND_ALS300 is not set | ||
980 | # CONFIG_SND_ALS4000 is not set | 980 | # CONFIG_SND_ALS4000 is not set |
981 | # CONFIG_SND_ALI5451 is not set | 981 | # CONFIG_SND_ALI5451 is not set |
982 | # CONFIG_SND_ATIIXP is not set | 982 | # CONFIG_SND_ATIIXP is not set |
@@ -1009,6 +1009,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
1009 | # CONFIG_SND_MIXART is not set | 1009 | # CONFIG_SND_MIXART is not set |
1010 | # CONFIG_SND_NM256 is not set | 1010 | # CONFIG_SND_NM256 is not set |
1011 | # CONFIG_SND_PCXHR is not set | 1011 | # CONFIG_SND_PCXHR is not set |
1012 | # CONFIG_SND_RIPTIDE is not set | ||
1012 | # CONFIG_SND_RME32 is not set | 1013 | # CONFIG_SND_RME32 is not set |
1013 | # CONFIG_SND_RME96 is not set | 1014 | # CONFIG_SND_RME96 is not set |
1014 | # CONFIG_SND_RME9652 is not set | 1015 | # CONFIG_SND_RME9652 is not set |
@@ -1041,6 +1042,7 @@ CONFIG_SND_USB_AUDIO=m | |||
1041 | # | 1042 | # |
1042 | CONFIG_USB_ARCH_HAS_HCD=y | 1043 | CONFIG_USB_ARCH_HAS_HCD=y |
1043 | CONFIG_USB_ARCH_HAS_OHCI=y | 1044 | CONFIG_USB_ARCH_HAS_OHCI=y |
1045 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1044 | CONFIG_USB=y | 1046 | CONFIG_USB=y |
1045 | # CONFIG_USB_DEBUG is not set | 1047 | # CONFIG_USB_DEBUG is not set |
1046 | 1048 | ||
@@ -1068,7 +1070,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1068 | # | 1070 | # |
1069 | # USB Device Class drivers | 1071 | # USB Device Class drivers |
1070 | # | 1072 | # |
1071 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set | ||
1072 | CONFIG_USB_ACM=m | 1073 | CONFIG_USB_ACM=m |
1073 | CONFIG_USB_PRINTER=y | 1074 | CONFIG_USB_PRINTER=y |
1074 | 1075 | ||
@@ -1126,15 +1127,6 @@ CONFIG_USB_HIDDEV=y | |||
1126 | # CONFIG_USB_MICROTEK is not set | 1127 | # CONFIG_USB_MICROTEK is not set |
1127 | 1128 | ||
1128 | # | 1129 | # |
1129 | # USB Multimedia devices | ||
1130 | # | ||
1131 | # CONFIG_USB_DABUSB is not set | ||
1132 | |||
1133 | # | ||
1134 | # Video4Linux support is needed for USB Multimedia device support | ||
1135 | # | ||
1136 | |||
1137 | # | ||
1138 | # USB Network Adapters | 1130 | # USB Network Adapters |
1139 | # | 1131 | # |
1140 | CONFIG_USB_CATC=m | 1132 | CONFIG_USB_CATC=m |
@@ -1194,6 +1186,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1194 | CONFIG_USB_SERIAL_KLSI=m | 1186 | CONFIG_USB_SERIAL_KLSI=m |
1195 | CONFIG_USB_SERIAL_KOBIL_SCT=m | 1187 | CONFIG_USB_SERIAL_KOBIL_SCT=m |
1196 | CONFIG_USB_SERIAL_MCT_U232=m | 1188 | CONFIG_USB_SERIAL_MCT_U232=m |
1189 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1197 | CONFIG_USB_SERIAL_PL2303=m | 1190 | CONFIG_USB_SERIAL_PL2303=m |
1198 | # CONFIG_USB_SERIAL_HP4X is not set | 1191 | # CONFIG_USB_SERIAL_HP4X is not set |
1199 | CONFIG_USB_SERIAL_SAFE=m | 1192 | CONFIG_USB_SERIAL_SAFE=m |
@@ -1237,17 +1230,23 @@ CONFIG_USB_EZUSB=y | |||
1237 | # CONFIG_MMC is not set | 1230 | # CONFIG_MMC is not set |
1238 | 1231 | ||
1239 | # | 1232 | # |
1233 | # LED devices | ||
1234 | # | ||
1235 | # CONFIG_NEW_LEDS is not set | ||
1236 | |||
1237 | # | ||
1240 | # InfiniBand support | 1238 | # InfiniBand support |
1241 | # | 1239 | # |
1242 | # CONFIG_INFINIBAND is not set | 1240 | # CONFIG_INFINIBAND is not set |
1243 | 1241 | ||
1244 | # | 1242 | # |
1245 | # SN Devices | 1243 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1246 | # | 1244 | # |
1247 | 1245 | ||
1248 | # | 1246 | # |
1249 | # EDAC - error detection and reporting (RAS) | 1247 | # Real Time Clock |
1250 | # | 1248 | # |
1249 | # CONFIG_RTC_CLASS is not set | ||
1251 | 1250 | ||
1252 | # | 1251 | # |
1253 | # File systems | 1252 | # File systems |
@@ -1319,7 +1318,6 @@ CONFIG_TMPFS=y | |||
1319 | CONFIG_HUGETLBFS=y | 1318 | CONFIG_HUGETLBFS=y |
1320 | CONFIG_HUGETLB_PAGE=y | 1319 | CONFIG_HUGETLB_PAGE=y |
1321 | CONFIG_RAMFS=y | 1320 | CONFIG_RAMFS=y |
1322 | # CONFIG_RELAYFS_FS is not set | ||
1323 | # CONFIG_CONFIGFS_FS is not set | 1321 | # CONFIG_CONFIGFS_FS is not set |
1324 | 1322 | ||
1325 | # | 1323 | # |
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig index 1816a46742f6..a95e455a1944 100644 --- a/arch/powerpc/configs/iseries_defconfig +++ b/arch/powerpc/configs/iseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc6 | 3 | # Linux kernel version: 2.6.17-rc1 |
4 | # Wed Mar 15 16:19:52 2006 | 4 | # Wed Apr 19 11:46:44 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -30,6 +31,7 @@ CONFIG_POWER4=y | |||
30 | CONFIG_PPC_FPU=y | 31 | CONFIG_PPC_FPU=y |
31 | # CONFIG_ALTIVEC is not set | 32 | # CONFIG_ALTIVEC is not set |
32 | CONFIG_PPC_STD_MMU=y | 33 | CONFIG_PPC_STD_MMU=y |
34 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
33 | CONFIG_SMP=y | 35 | CONFIG_SMP=y |
34 | CONFIG_NR_CPUS=32 | 36 | CONFIG_NR_CPUS=32 |
35 | 37 | ||
@@ -55,6 +57,7 @@ CONFIG_AUDITSYSCALL=y | |||
55 | CONFIG_IKCONFIG=y | 57 | CONFIG_IKCONFIG=y |
56 | CONFIG_IKCONFIG_PROC=y | 58 | CONFIG_IKCONFIG_PROC=y |
57 | # CONFIG_CPUSETS is not set | 59 | # CONFIG_CPUSETS is not set |
60 | # CONFIG_RELAY is not set | ||
58 | CONFIG_INITRAMFS_SOURCE="" | 61 | CONFIG_INITRAMFS_SOURCE="" |
59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 62 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
60 | # CONFIG_EMBEDDED is not set | 63 | # CONFIG_EMBEDDED is not set |
@@ -69,10 +72,6 @@ CONFIG_BASE_FULL=y | |||
69 | CONFIG_FUTEX=y | 72 | CONFIG_FUTEX=y |
70 | CONFIG_EPOLL=y | 73 | CONFIG_EPOLL=y |
71 | CONFIG_SHMEM=y | 74 | CONFIG_SHMEM=y |
72 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
73 | CONFIG_CC_ALIGN_LABELS=0 | ||
74 | CONFIG_CC_ALIGN_LOOPS=0 | ||
75 | CONFIG_CC_ALIGN_JUMPS=0 | ||
76 | CONFIG_SLAB=y | 75 | CONFIG_SLAB=y |
77 | # CONFIG_TINY_SHMEM is not set | 76 | # CONFIG_TINY_SHMEM is not set |
78 | CONFIG_BASE_SMALL=0 | 77 | CONFIG_BASE_SMALL=0 |
@@ -84,7 +83,6 @@ CONFIG_BASE_SMALL=0 | |||
84 | CONFIG_MODULES=y | 83 | CONFIG_MODULES=y |
85 | CONFIG_MODULE_UNLOAD=y | 84 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 85 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | CONFIG_OBSOLETE_MODPARM=y | ||
88 | CONFIG_MODVERSIONS=y | 86 | CONFIG_MODVERSIONS=y |
89 | CONFIG_MODULE_SRCVERSION_ALL=y | 87 | CONFIG_MODULE_SRCVERSION_ALL=y |
90 | CONFIG_KMOD=y | 88 | CONFIG_KMOD=y |
@@ -93,6 +91,7 @@ CONFIG_STOP_MACHINE=y | |||
93 | # | 91 | # |
94 | # Block layer | 92 | # Block layer |
95 | # | 93 | # |
94 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | 95 | ||
97 | # | 96 | # |
98 | # IO Schedulers | 97 | # IO Schedulers |
@@ -165,7 +164,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
165 | # CONFIG_PPC_INDIRECT_PCI is not set | 164 | # CONFIG_PPC_INDIRECT_PCI is not set |
166 | CONFIG_PCI=y | 165 | CONFIG_PCI=y |
167 | CONFIG_PCI_DOMAINS=y | 166 | CONFIG_PCI_DOMAINS=y |
168 | CONFIG_PCI_LEGACY_PROC=y | ||
169 | # CONFIG_PCI_DEBUG is not set | 167 | # CONFIG_PCI_DEBUG is not set |
170 | 168 | ||
171 | # | 169 | # |
@@ -207,6 +205,7 @@ CONFIG_SYN_COOKIES=y | |||
207 | CONFIG_INET_AH=m | 205 | CONFIG_INET_AH=m |
208 | CONFIG_INET_ESP=m | 206 | CONFIG_INET_ESP=m |
209 | CONFIG_INET_IPCOMP=m | 207 | CONFIG_INET_IPCOMP=m |
208 | CONFIG_INET_XFRM_TUNNEL=m | ||
210 | CONFIG_INET_TUNNEL=y | 209 | CONFIG_INET_TUNNEL=y |
211 | CONFIG_INET_DIAG=y | 210 | CONFIG_INET_DIAG=y |
212 | CONFIG_INET_TCP_DIAG=y | 211 | CONFIG_INET_TCP_DIAG=y |
@@ -218,6 +217,8 @@ CONFIG_TCP_CONG_BIC=y | |||
218 | # | 217 | # |
219 | # CONFIG_IP_VS is not set | 218 | # CONFIG_IP_VS is not set |
220 | # CONFIG_IPV6 is not set | 219 | # CONFIG_IPV6 is not set |
220 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
221 | # CONFIG_INET6_TUNNEL is not set | ||
221 | CONFIG_NETFILTER=y | 222 | CONFIG_NETFILTER=y |
222 | # CONFIG_NETFILTER_DEBUG is not set | 223 | # CONFIG_NETFILTER_DEBUG is not set |
223 | 224 | ||
@@ -236,11 +237,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
236 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 237 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
237 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 238 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
238 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set | 239 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set |
240 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | ||
239 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 241 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
240 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 242 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
241 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 243 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
242 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 244 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
243 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 245 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
246 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
247 | # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set | ||
244 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 248 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
245 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 249 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
246 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 250 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -262,20 +266,19 @@ CONFIG_IP_NF_IRC=m | |||
262 | CONFIG_IP_NF_TFTP=m | 266 | CONFIG_IP_NF_TFTP=m |
263 | CONFIG_IP_NF_AMANDA=m | 267 | CONFIG_IP_NF_AMANDA=m |
264 | # CONFIG_IP_NF_PPTP is not set | 268 | # CONFIG_IP_NF_PPTP is not set |
269 | # CONFIG_IP_NF_H323 is not set | ||
265 | CONFIG_IP_NF_QUEUE=m | 270 | CONFIG_IP_NF_QUEUE=m |
266 | CONFIG_IP_NF_IPTABLES=m | 271 | CONFIG_IP_NF_IPTABLES=m |
267 | CONFIG_IP_NF_MATCH_IPRANGE=m | 272 | CONFIG_IP_NF_MATCH_IPRANGE=m |
268 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
269 | CONFIG_IP_NF_MATCH_TOS=m | 273 | CONFIG_IP_NF_MATCH_TOS=m |
270 | CONFIG_IP_NF_MATCH_RECENT=m | 274 | CONFIG_IP_NF_MATCH_RECENT=m |
271 | CONFIG_IP_NF_MATCH_ECN=m | 275 | CONFIG_IP_NF_MATCH_ECN=m |
272 | CONFIG_IP_NF_MATCH_DSCP=m | 276 | CONFIG_IP_NF_MATCH_DSCP=m |
273 | CONFIG_IP_NF_MATCH_AH_ESP=m | 277 | # CONFIG_IP_NF_MATCH_AH is not set |
274 | CONFIG_IP_NF_MATCH_TTL=m | 278 | CONFIG_IP_NF_MATCH_TTL=m |
275 | CONFIG_IP_NF_MATCH_OWNER=m | 279 | CONFIG_IP_NF_MATCH_OWNER=m |
276 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 280 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
277 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 281 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
278 | CONFIG_IP_NF_MATCH_POLICY=m | ||
279 | CONFIG_IP_NF_FILTER=m | 282 | CONFIG_IP_NF_FILTER=m |
280 | CONFIG_IP_NF_TARGET_REJECT=m | 283 | CONFIG_IP_NF_TARGET_REJECT=m |
281 | CONFIG_IP_NF_TARGET_LOG=m | 284 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -479,6 +482,7 @@ CONFIG_MD_RAID0=y | |||
479 | CONFIG_MD_RAID1=y | 482 | CONFIG_MD_RAID1=y |
480 | CONFIG_MD_RAID10=m | 483 | CONFIG_MD_RAID10=m |
481 | CONFIG_MD_RAID5=y | 484 | CONFIG_MD_RAID5=y |
485 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
482 | CONFIG_MD_RAID6=m | 486 | CONFIG_MD_RAID6=m |
483 | CONFIG_MD_MULTIPATH=m | 487 | CONFIG_MD_MULTIPATH=m |
484 | CONFIG_MD_FAULTY=m | 488 | CONFIG_MD_FAULTY=m |
@@ -702,7 +706,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
702 | # Watchdog Cards | 706 | # Watchdog Cards |
703 | # | 707 | # |
704 | # CONFIG_WATCHDOG is not set | 708 | # CONFIG_WATCHDOG is not set |
705 | # CONFIG_RTC is not set | ||
706 | CONFIG_GEN_RTC=y | 709 | CONFIG_GEN_RTC=y |
707 | # CONFIG_GEN_RTC_X is not set | 710 | # CONFIG_GEN_RTC_X is not set |
708 | # CONFIG_DTLK is not set | 711 | # CONFIG_DTLK is not set |
@@ -751,10 +754,6 @@ CONFIG_MAX_RAW_DEVS=256 | |||
751 | # | 754 | # |
752 | 755 | ||
753 | # | 756 | # |
754 | # Multimedia Capabilities Port drivers | ||
755 | # | ||
756 | |||
757 | # | ||
758 | # Multimedia devices | 757 | # Multimedia devices |
759 | # | 758 | # |
760 | # CONFIG_VIDEO_DEV is not set | 759 | # CONFIG_VIDEO_DEV is not set |
@@ -779,6 +778,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
779 | # | 778 | # |
780 | CONFIG_USB_ARCH_HAS_HCD=y | 779 | CONFIG_USB_ARCH_HAS_HCD=y |
781 | CONFIG_USB_ARCH_HAS_OHCI=y | 780 | CONFIG_USB_ARCH_HAS_OHCI=y |
781 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
782 | # CONFIG_USB is not set | 782 | # CONFIG_USB is not set |
783 | 783 | ||
784 | # | 784 | # |
@@ -796,6 +796,11 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
796 | # CONFIG_MMC is not set | 796 | # CONFIG_MMC is not set |
797 | 797 | ||
798 | # | 798 | # |
799 | # LED devices | ||
800 | # | ||
801 | # CONFIG_NEW_LEDS is not set | ||
802 | |||
803 | # | ||
799 | # InfiniBand support | 804 | # InfiniBand support |
800 | # | 805 | # |
801 | # CONFIG_INFINIBAND is not set | 806 | # CONFIG_INFINIBAND is not set |
@@ -805,6 +810,11 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
805 | # | 810 | # |
806 | 811 | ||
807 | # | 812 | # |
813 | # Real Time Clock | ||
814 | # | ||
815 | # CONFIG_RTC_CLASS is not set | ||
816 | |||
817 | # | ||
808 | # File systems | 818 | # File systems |
809 | # | 819 | # |
810 | CONFIG_EXT2_FS=y | 820 | CONFIG_EXT2_FS=y |
@@ -878,7 +888,6 @@ CONFIG_TMPFS=y | |||
878 | # CONFIG_HUGETLBFS is not set | 888 | # CONFIG_HUGETLBFS is not set |
879 | # CONFIG_HUGETLB_PAGE is not set | 889 | # CONFIG_HUGETLB_PAGE is not set |
880 | CONFIG_RAMFS=y | 890 | CONFIG_RAMFS=y |
881 | # CONFIG_RELAYFS_FS is not set | ||
882 | # CONFIG_CONFIGFS_FS is not set | 891 | # CONFIG_CONFIGFS_FS is not set |
883 | 892 | ||
884 | # | 893 | # |
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index daaf038a1faa..58e68ce09b0f 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc1 |
4 | # Fri Feb 10 17:33:32 2006 | 4 | # Wed Apr 19 11:48:00 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -30,6 +31,7 @@ CONFIG_POWER4=y | |||
30 | CONFIG_PPC_FPU=y | 31 | CONFIG_PPC_FPU=y |
31 | CONFIG_ALTIVEC=y | 32 | CONFIG_ALTIVEC=y |
32 | CONFIG_PPC_STD_MMU=y | 33 | CONFIG_PPC_STD_MMU=y |
34 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
33 | CONFIG_SMP=y | 35 | CONFIG_SMP=y |
34 | CONFIG_NR_CPUS=128 | 36 | CONFIG_NR_CPUS=128 |
35 | 37 | ||
@@ -55,6 +57,7 @@ CONFIG_AUDITSYSCALL=y | |||
55 | CONFIG_IKCONFIG=y | 57 | CONFIG_IKCONFIG=y |
56 | CONFIG_IKCONFIG_PROC=y | 58 | CONFIG_IKCONFIG_PROC=y |
57 | CONFIG_CPUSETS=y | 59 | CONFIG_CPUSETS=y |
60 | # CONFIG_RELAY is not set | ||
58 | CONFIG_INITRAMFS_SOURCE="" | 61 | CONFIG_INITRAMFS_SOURCE="" |
59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 62 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
60 | # CONFIG_EMBEDDED is not set | 63 | # CONFIG_EMBEDDED is not set |
@@ -69,10 +72,6 @@ CONFIG_BASE_FULL=y | |||
69 | CONFIG_FUTEX=y | 72 | CONFIG_FUTEX=y |
70 | CONFIG_EPOLL=y | 73 | CONFIG_EPOLL=y |
71 | CONFIG_SHMEM=y | 74 | CONFIG_SHMEM=y |
72 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
73 | CONFIG_CC_ALIGN_LABELS=0 | ||
74 | CONFIG_CC_ALIGN_LOOPS=0 | ||
75 | CONFIG_CC_ALIGN_JUMPS=0 | ||
76 | CONFIG_SLAB=y | 75 | CONFIG_SLAB=y |
77 | # CONFIG_TINY_SHMEM is not set | 76 | # CONFIG_TINY_SHMEM is not set |
78 | CONFIG_BASE_SMALL=0 | 77 | CONFIG_BASE_SMALL=0 |
@@ -84,7 +83,6 @@ CONFIG_BASE_SMALL=0 | |||
84 | CONFIG_MODULES=y | 83 | CONFIG_MODULES=y |
85 | CONFIG_MODULE_UNLOAD=y | 84 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 85 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | CONFIG_OBSOLETE_MODPARM=y | ||
88 | CONFIG_MODVERSIONS=y | 86 | CONFIG_MODVERSIONS=y |
89 | CONFIG_MODULE_SRCVERSION_ALL=y | 87 | CONFIG_MODULE_SRCVERSION_ALL=y |
90 | CONFIG_KMOD=y | 88 | CONFIG_KMOD=y |
@@ -93,6 +91,7 @@ CONFIG_STOP_MACHINE=y | |||
93 | # | 91 | # |
94 | # Block layer | 92 | # Block layer |
95 | # | 93 | # |
94 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | 95 | ||
97 | # | 96 | # |
98 | # IO Schedulers | 97 | # IO Schedulers |
@@ -188,7 +187,6 @@ CONFIG_PPC_I8259=y | |||
188 | # CONFIG_PPC_INDIRECT_PCI is not set | 187 | # CONFIG_PPC_INDIRECT_PCI is not set |
189 | CONFIG_PCI=y | 188 | CONFIG_PCI=y |
190 | CONFIG_PCI_DOMAINS=y | 189 | CONFIG_PCI_DOMAINS=y |
191 | CONFIG_PCI_LEGACY_PROC=y | ||
192 | # CONFIG_PCI_DEBUG is not set | 190 | # CONFIG_PCI_DEBUG is not set |
193 | 191 | ||
194 | # | 192 | # |
@@ -235,6 +233,7 @@ CONFIG_SYN_COOKIES=y | |||
235 | CONFIG_INET_AH=m | 233 | CONFIG_INET_AH=m |
236 | CONFIG_INET_ESP=m | 234 | CONFIG_INET_ESP=m |
237 | CONFIG_INET_IPCOMP=m | 235 | CONFIG_INET_IPCOMP=m |
236 | CONFIG_INET_XFRM_TUNNEL=m | ||
238 | CONFIG_INET_TUNNEL=y | 237 | CONFIG_INET_TUNNEL=y |
239 | CONFIG_INET_DIAG=y | 238 | CONFIG_INET_DIAG=y |
240 | CONFIG_INET_TCP_DIAG=y | 239 | CONFIG_INET_TCP_DIAG=y |
@@ -246,6 +245,8 @@ CONFIG_TCP_CONG_BIC=y | |||
246 | # | 245 | # |
247 | # CONFIG_IP_VS is not set | 246 | # CONFIG_IP_VS is not set |
248 | # CONFIG_IPV6 is not set | 247 | # CONFIG_IPV6 is not set |
248 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
249 | # CONFIG_INET6_TUNNEL is not set | ||
249 | CONFIG_NETFILTER=y | 250 | CONFIG_NETFILTER=y |
250 | # CONFIG_NETFILTER_DEBUG is not set | 251 | # CONFIG_NETFILTER_DEBUG is not set |
251 | 252 | ||
@@ -272,6 +273,7 @@ CONFIG_IP_NF_IRC=m | |||
272 | CONFIG_IP_NF_TFTP=m | 273 | CONFIG_IP_NF_TFTP=m |
273 | CONFIG_IP_NF_AMANDA=m | 274 | CONFIG_IP_NF_AMANDA=m |
274 | # CONFIG_IP_NF_PPTP is not set | 275 | # CONFIG_IP_NF_PPTP is not set |
276 | # CONFIG_IP_NF_H323 is not set | ||
275 | CONFIG_IP_NF_QUEUE=m | 277 | CONFIG_IP_NF_QUEUE=m |
276 | 278 | ||
277 | # | 279 | # |
@@ -519,6 +521,7 @@ CONFIG_MD_RAID0=y | |||
519 | CONFIG_MD_RAID1=y | 521 | CONFIG_MD_RAID1=y |
520 | CONFIG_MD_RAID10=m | 522 | CONFIG_MD_RAID10=m |
521 | CONFIG_MD_RAID5=y | 523 | CONFIG_MD_RAID5=y |
524 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
522 | CONFIG_MD_RAID6=m | 525 | CONFIG_MD_RAID6=m |
523 | CONFIG_MD_MULTIPATH=m | 526 | CONFIG_MD_MULTIPATH=m |
524 | CONFIG_MD_FAULTY=m | 527 | CONFIG_MD_FAULTY=m |
@@ -750,6 +753,7 @@ CONFIG_HW_CONSOLE=y | |||
750 | # | 753 | # |
751 | CONFIG_SERIAL_8250=y | 754 | CONFIG_SERIAL_8250=y |
752 | CONFIG_SERIAL_8250_CONSOLE=y | 755 | CONFIG_SERIAL_8250_CONSOLE=y |
756 | CONFIG_SERIAL_8250_PCI=y | ||
753 | CONFIG_SERIAL_8250_NR_UARTS=4 | 757 | CONFIG_SERIAL_8250_NR_UARTS=4 |
754 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 758 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
755 | # CONFIG_SERIAL_8250_EXTENDED is not set | 759 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -767,7 +771,9 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
767 | # CONFIG_PRINTER is not set | 771 | # CONFIG_PRINTER is not set |
768 | # CONFIG_PPDEV is not set | 772 | # CONFIG_PPDEV is not set |
769 | # CONFIG_TIPAR is not set | 773 | # CONFIG_TIPAR is not set |
774 | CONFIG_HVC_DRIVER=y | ||
770 | CONFIG_HVC_CONSOLE=y | 775 | CONFIG_HVC_CONSOLE=y |
776 | # CONFIG_HVC_RTAS is not set | ||
771 | CONFIG_HVCS=m | 777 | CONFIG_HVCS=m |
772 | 778 | ||
773 | # | 779 | # |
@@ -779,7 +785,6 @@ CONFIG_HVCS=m | |||
779 | # Watchdog Cards | 785 | # Watchdog Cards |
780 | # | 786 | # |
781 | # CONFIG_WATCHDOG is not set | 787 | # CONFIG_WATCHDOG is not set |
782 | # CONFIG_RTC is not set | ||
783 | CONFIG_GEN_RTC=y | 788 | CONFIG_GEN_RTC=y |
784 | # CONFIG_GEN_RTC_X is not set | 789 | # CONFIG_GEN_RTC_X is not set |
785 | # CONFIG_DTLK is not set | 790 | # CONFIG_DTLK is not set |
@@ -830,7 +835,6 @@ CONFIG_I2C_ALGOBIT=y | |||
830 | # CONFIG_I2C_PARPORT_LIGHT is not set | 835 | # CONFIG_I2C_PARPORT_LIGHT is not set |
831 | # CONFIG_I2C_PROSAVAGE is not set | 836 | # CONFIG_I2C_PROSAVAGE is not set |
832 | # CONFIG_I2C_SAVAGE4 is not set | 837 | # CONFIG_I2C_SAVAGE4 is not set |
833 | # CONFIG_SCx200_ACB is not set | ||
834 | # CONFIG_I2C_SIS5595 is not set | 838 | # CONFIG_I2C_SIS5595 is not set |
835 | # CONFIG_I2C_SIS630 is not set | 839 | # CONFIG_I2C_SIS630 is not set |
836 | # CONFIG_I2C_SIS96X is not set | 840 | # CONFIG_I2C_SIS96X is not set |
@@ -849,9 +853,7 @@ CONFIG_I2C_ALGOBIT=y | |||
849 | # CONFIG_SENSORS_PCF8574 is not set | 853 | # CONFIG_SENSORS_PCF8574 is not set |
850 | # CONFIG_SENSORS_PCA9539 is not set | 854 | # CONFIG_SENSORS_PCA9539 is not set |
851 | # CONFIG_SENSORS_PCF8591 is not set | 855 | # CONFIG_SENSORS_PCF8591 is not set |
852 | # CONFIG_SENSORS_RTC8564 is not set | ||
853 | # CONFIG_SENSORS_MAX6875 is not set | 856 | # CONFIG_SENSORS_MAX6875 is not set |
854 | # CONFIG_RTC_X1205_I2C is not set | ||
855 | # CONFIG_I2C_DEBUG_CORE is not set | 857 | # CONFIG_I2C_DEBUG_CORE is not set |
856 | # CONFIG_I2C_DEBUG_ALGO is not set | 858 | # CONFIG_I2C_DEBUG_ALGO is not set |
857 | # CONFIG_I2C_DEBUG_BUS is not set | 859 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -879,10 +881,6 @@ CONFIG_I2C_ALGOBIT=y | |||
879 | # | 881 | # |
880 | 882 | ||
881 | # | 883 | # |
882 | # Multimedia Capabilities Port drivers | ||
883 | # | ||
884 | |||
885 | # | ||
886 | # Multimedia devices | 884 | # Multimedia devices |
887 | # | 885 | # |
888 | # CONFIG_VIDEO_DEV is not set | 886 | # CONFIG_VIDEO_DEV is not set |
@@ -891,6 +889,7 @@ CONFIG_I2C_ALGOBIT=y | |||
891 | # Digital Video Broadcasting Devices | 889 | # Digital Video Broadcasting Devices |
892 | # | 890 | # |
893 | # CONFIG_DVB is not set | 891 | # CONFIG_DVB is not set |
892 | # CONFIG_USB_DABUSB is not set | ||
894 | 893 | ||
895 | # | 894 | # |
896 | # Graphics support | 895 | # Graphics support |
@@ -900,6 +899,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
900 | CONFIG_FB_CFB_COPYAREA=y | 899 | CONFIG_FB_CFB_COPYAREA=y |
901 | CONFIG_FB_CFB_IMAGEBLIT=y | 900 | CONFIG_FB_CFB_IMAGEBLIT=y |
902 | CONFIG_FB_MACMODES=y | 901 | CONFIG_FB_MACMODES=y |
902 | CONFIG_FB_FIRMWARE_EDID=y | ||
903 | CONFIG_FB_MODE_HELPERS=y | 903 | CONFIG_FB_MODE_HELPERS=y |
904 | CONFIG_FB_TILEBLITTING=y | 904 | CONFIG_FB_TILEBLITTING=y |
905 | # CONFIG_FB_CIRRUS is not set | 905 | # CONFIG_FB_CIRRUS is not set |
@@ -919,7 +919,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y | |||
919 | CONFIG_FB_MATROX_G=y | 919 | CONFIG_FB_MATROX_G=y |
920 | # CONFIG_FB_MATROX_I2C is not set | 920 | # CONFIG_FB_MATROX_I2C is not set |
921 | CONFIG_FB_MATROX_MULTIHEAD=y | 921 | CONFIG_FB_MATROX_MULTIHEAD=y |
922 | # CONFIG_FB_RADEON_OLD is not set | ||
923 | CONFIG_FB_RADEON=y | 922 | CONFIG_FB_RADEON=y |
924 | CONFIG_FB_RADEON_I2C=y | 923 | CONFIG_FB_RADEON_I2C=y |
925 | # CONFIG_FB_RADEON_DEBUG is not set | 924 | # CONFIG_FB_RADEON_DEBUG is not set |
@@ -968,6 +967,7 @@ CONFIG_LCD_DEVICE=y | |||
968 | # | 967 | # |
969 | CONFIG_USB_ARCH_HAS_HCD=y | 968 | CONFIG_USB_ARCH_HAS_HCD=y |
970 | CONFIG_USB_ARCH_HAS_OHCI=y | 969 | CONFIG_USB_ARCH_HAS_OHCI=y |
970 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
971 | CONFIG_USB=y | 971 | CONFIG_USB=y |
972 | # CONFIG_USB_DEBUG is not set | 972 | # CONFIG_USB_DEBUG is not set |
973 | 973 | ||
@@ -1048,15 +1048,6 @@ CONFIG_USB_HIDDEV=y | |||
1048 | # CONFIG_USB_MICROTEK is not set | 1048 | # CONFIG_USB_MICROTEK is not set |
1049 | 1049 | ||
1050 | # | 1050 | # |
1051 | # USB Multimedia devices | ||
1052 | # | ||
1053 | # CONFIG_USB_DABUSB is not set | ||
1054 | |||
1055 | # | ||
1056 | # Video4Linux support is needed for USB Multimedia device support | ||
1057 | # | ||
1058 | |||
1059 | # | ||
1060 | # USB Network Adapters | 1051 | # USB Network Adapters |
1061 | # | 1052 | # |
1062 | # CONFIG_USB_CATC is not set | 1053 | # CONFIG_USB_CATC is not set |
@@ -1109,6 +1100,11 @@ CONFIG_USB_MON=y | |||
1109 | # CONFIG_MMC is not set | 1100 | # CONFIG_MMC is not set |
1110 | 1101 | ||
1111 | # | 1102 | # |
1103 | # LED devices | ||
1104 | # | ||
1105 | # CONFIG_NEW_LEDS is not set | ||
1106 | |||
1107 | # | ||
1112 | # InfiniBand support | 1108 | # InfiniBand support |
1113 | # | 1109 | # |
1114 | CONFIG_INFINIBAND=m | 1110 | CONFIG_INFINIBAND=m |
@@ -1121,12 +1117,13 @@ CONFIG_INFINIBAND_IPOIB=m | |||
1121 | # CONFIG_INFINIBAND_SRP is not set | 1117 | # CONFIG_INFINIBAND_SRP is not set |
1122 | 1118 | ||
1123 | # | 1119 | # |
1124 | # SN Devices | 1120 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1125 | # | 1121 | # |
1126 | 1122 | ||
1127 | # | 1123 | # |
1128 | # EDAC - error detection and reporting (RAS) | 1124 | # Real Time Clock |
1129 | # | 1125 | # |
1126 | # CONFIG_RTC_CLASS is not set | ||
1130 | 1127 | ||
1131 | # | 1128 | # |
1132 | # File systems | 1129 | # File systems |
@@ -1202,7 +1199,6 @@ CONFIG_TMPFS=y | |||
1202 | CONFIG_HUGETLBFS=y | 1199 | CONFIG_HUGETLBFS=y |
1203 | CONFIG_HUGETLB_PAGE=y | 1200 | CONFIG_HUGETLB_PAGE=y |
1204 | CONFIG_RAMFS=y | 1201 | CONFIG_RAMFS=y |
1205 | # CONFIG_RELAYFS_FS is not set | ||
1206 | # CONFIG_CONFIGFS_FS is not set | 1202 | # CONFIG_CONFIGFS_FS is not set |
1207 | 1203 | ||
1208 | # | 1204 | # |
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 0cc0995b81b0..803858e86160 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -20,7 +20,7 @@ obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ | |||
20 | firmware.o sysfs.o | 20 | firmware.o sysfs.o |
21 | obj-$(CONFIG_PPC64) += vdso64/ | 21 | obj-$(CONFIG_PPC64) += vdso64/ |
22 | obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o | 22 | obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o |
23 | obj-$(CONFIG_POWER4) += idle_power4.o | 23 | obj-$(CONFIG_PPC_970_NAP) += idle_power4.o |
24 | obj-$(CONFIG_PPC_OF) += of_device.o prom_parse.o | 24 | obj-$(CONFIG_PPC_OF) += of_device.o prom_parse.o |
25 | procfs-$(CONFIG_PPC64) := proc_ppc64.o | 25 | procfs-$(CONFIG_PPC64) := proc_ppc64.o |
26 | obj-$(CONFIG_PROC_FS) += $(procfs-y) | 26 | obj-$(CONFIG_PROC_FS) += $(procfs-y) |
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c index 54b48f330051..8f85c5e8a55a 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c | |||
@@ -91,6 +91,7 @@ int main(void) | |||
91 | #endif /* CONFIG_PPC64 */ | 91 | #endif /* CONFIG_PPC64 */ |
92 | 92 | ||
93 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | 93 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); |
94 | DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); | ||
94 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); | 95 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); |
95 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); | 96 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); |
96 | #ifdef CONFIG_PPC32 | 97 | #ifdef CONFIG_PPC32 |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 39e348a3ade2..3f7182db9ed5 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -57,6 +57,8 @@ extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec); | |||
57 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | 57 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) |
58 | #define COMMON_USER_POWER5_PLUS (COMMON_USER_PPC64 | PPC_FEATURE_POWER5_PLUS|\ | 58 | #define COMMON_USER_POWER5_PLUS (COMMON_USER_PPC64 | PPC_FEATURE_POWER5_PLUS|\ |
59 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | 59 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) |
60 | #define COMMON_USER_POWER6 (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_05 |\ | ||
61 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | ||
60 | #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ | 62 | #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ |
61 | PPC_FEATURE_BOOKE) | 63 | PPC_FEATURE_BOOKE) |
62 | 64 | ||
@@ -263,6 +265,20 @@ struct cpu_spec cpu_specs[] = { | |||
263 | .oprofile_type = PPC_OPROFILE_POWER4, | 265 | .oprofile_type = PPC_OPROFILE_POWER4, |
264 | .platform = "power5+", | 266 | .platform = "power5+", |
265 | }, | 267 | }, |
268 | { /* Power6 */ | ||
269 | .pvr_mask = 0xffff0000, | ||
270 | .pvr_value = 0x003e0000, | ||
271 | .cpu_name = "POWER6", | ||
272 | .cpu_features = CPU_FTRS_POWER6, | ||
273 | .cpu_user_features = COMMON_USER_POWER6, | ||
274 | .icache_bsize = 128, | ||
275 | .dcache_bsize = 128, | ||
276 | .num_pmcs = 6, | ||
277 | .cpu_setup = __setup_cpu_power4, | ||
278 | .oprofile_cpu_type = "ppc64/power6", | ||
279 | .oprofile_type = PPC_OPROFILE_POWER4, | ||
280 | .platform = "power6", | ||
281 | }, | ||
266 | { /* Cell Broadband Engine */ | 282 | { /* Cell Broadband Engine */ |
267 | .pvr_mask = 0xffff0000, | 283 | .pvr_mask = 0xffff0000, |
268 | .pvr_value = 0x00700000, | 284 | .pvr_value = 0x00700000, |
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index b3a979467225..8866fd26c6b9 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S | |||
@@ -128,37 +128,36 @@ transfer_to_handler: | |||
128 | stw r12,4(r11) | 128 | stw r12,4(r11) |
129 | #endif | 129 | #endif |
130 | b 3f | 130 | b 3f |
131 | |||
131 | 2: /* if from kernel, check interrupted DOZE/NAP mode and | 132 | 2: /* if from kernel, check interrupted DOZE/NAP mode and |
132 | * check for stack overflow | 133 | * check for stack overflow |
133 | */ | 134 | */ |
135 | lwz r9,THREAD_INFO-THREAD(r12) | ||
136 | cmplw r1,r9 /* if r1 <= current->thread_info */ | ||
137 | ble- stack_ovf /* then the kernel stack overflowed */ | ||
138 | 5: | ||
134 | #ifdef CONFIG_6xx | 139 | #ifdef CONFIG_6xx |
135 | mfspr r11,SPRN_HID0 | 140 | tophys(r9,r9) /* check local flags */ |
136 | mtcr r11 | 141 | lwz r12,TI_LOCAL_FLAGS(r9) |
137 | BEGIN_FTR_SECTION | 142 | mtcrf 0x01,r12 |
138 | bt- 8,4f /* Check DOZE */ | 143 | bt- 31-TLF_NAPPING,4f |
139 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_DOZE) | ||
140 | BEGIN_FTR_SECTION | ||
141 | bt- 9,4f /* Check NAP */ | ||
142 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP) | ||
143 | #endif /* CONFIG_6xx */ | 144 | #endif /* CONFIG_6xx */ |
144 | .globl transfer_to_handler_cont | 145 | .globl transfer_to_handler_cont |
145 | transfer_to_handler_cont: | 146 | transfer_to_handler_cont: |
146 | lwz r11,THREAD_INFO-THREAD(r12) | ||
147 | cmplw r1,r11 /* if r1 <= current->thread_info */ | ||
148 | ble- stack_ovf /* then the kernel stack overflowed */ | ||
149 | 3: | 147 | 3: |
150 | mflr r9 | 148 | mflr r9 |
151 | lwz r11,0(r9) /* virtual address of handler */ | 149 | lwz r11,0(r9) /* virtual address of handler */ |
152 | lwz r9,4(r9) /* where to go when done */ | 150 | lwz r9,4(r9) /* where to go when done */ |
153 | FIX_SRR1(r10,r12) | ||
154 | mtspr SPRN_SRR0,r11 | 151 | mtspr SPRN_SRR0,r11 |
155 | mtspr SPRN_SRR1,r10 | 152 | mtspr SPRN_SRR1,r10 |
156 | mtlr r9 | 153 | mtlr r9 |
157 | SYNC | 154 | SYNC |
158 | RFI /* jump to handler, enable MMU */ | 155 | RFI /* jump to handler, enable MMU */ |
159 | 156 | ||
160 | #ifdef CONFIG_6xx | 157 | #ifdef CONFIG_6xx |
161 | 4: b power_save_6xx_restore | 158 | 4: rlwinm r12,r12,0,~_TLF_NAPPING |
159 | stw r12,TI_LOCAL_FLAGS(r9) | ||
160 | b power_save_6xx_restore | ||
162 | #endif | 161 | #endif |
163 | 162 | ||
164 | /* | 163 | /* |
@@ -167,10 +166,10 @@ transfer_to_handler_cont: | |||
167 | */ | 166 | */ |
168 | stack_ovf: | 167 | stack_ovf: |
169 | /* sometimes we use a statically-allocated stack, which is OK. */ | 168 | /* sometimes we use a statically-allocated stack, which is OK. */ |
170 | lis r11,_end@h | 169 | lis r12,_end@h |
171 | ori r11,r11,_end@l | 170 | ori r12,r12,_end@l |
172 | cmplw r1,r11 | 171 | cmplw r1,r12 |
173 | ble 3b /* r1 <= &_end is OK */ | 172 | ble 5b /* r1 <= &_end is OK */ |
174 | SAVE_NVGPRS(r11) | 173 | SAVE_NVGPRS(r11) |
175 | addi r3,r1,STACK_FRAME_OVERHEAD | 174 | addi r3,r1,STACK_FRAME_OVERHEAD |
176 | lis r1,init_thread_union@ha | 175 | lis r1,init_thread_union@ha |
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index a5ae04a57c78..b7d140430a41 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S | |||
@@ -376,11 +376,28 @@ label##_common: \ | |||
376 | bl hdlr; \ | 376 | bl hdlr; \ |
377 | b .ret_from_except | 377 | b .ret_from_except |
378 | 378 | ||
379 | /* | ||
380 | * Like STD_EXCEPTION_COMMON, but for exceptions that can occur | ||
381 | * in the idle task and therefore need the special idle handling. | ||
382 | */ | ||
383 | #define STD_EXCEPTION_COMMON_IDLE(trap, label, hdlr) \ | ||
384 | .align 7; \ | ||
385 | .globl label##_common; \ | ||
386 | label##_common: \ | ||
387 | EXCEPTION_PROLOG_COMMON(trap, PACA_EXGEN); \ | ||
388 | FINISH_NAP; \ | ||
389 | DISABLE_INTS; \ | ||
390 | bl .save_nvgprs; \ | ||
391 | addi r3,r1,STACK_FRAME_OVERHEAD; \ | ||
392 | bl hdlr; \ | ||
393 | b .ret_from_except | ||
394 | |||
379 | #define STD_EXCEPTION_COMMON_LITE(trap, label, hdlr) \ | 395 | #define STD_EXCEPTION_COMMON_LITE(trap, label, hdlr) \ |
380 | .align 7; \ | 396 | .align 7; \ |
381 | .globl label##_common; \ | 397 | .globl label##_common; \ |
382 | label##_common: \ | 398 | label##_common: \ |
383 | EXCEPTION_PROLOG_COMMON(trap, PACA_EXGEN); \ | 399 | EXCEPTION_PROLOG_COMMON(trap, PACA_EXGEN); \ |
400 | FINISH_NAP; \ | ||
384 | DISABLE_INTS; \ | 401 | DISABLE_INTS; \ |
385 | bl .ppc64_runlatch_on; \ | 402 | bl .ppc64_runlatch_on; \ |
386 | addi r3,r1,STACK_FRAME_OVERHEAD; \ | 403 | addi r3,r1,STACK_FRAME_OVERHEAD; \ |
@@ -388,6 +405,25 @@ label##_common: \ | |||
388 | b .ret_from_except_lite | 405 | b .ret_from_except_lite |
389 | 406 | ||
390 | /* | 407 | /* |
408 | * When the idle code in power4_idle puts the CPU into NAP mode, | ||
409 | * it has to do so in a loop, and relies on the external interrupt | ||
410 | * and decrementer interrupt entry code to get it out of the loop. | ||
411 | * It sets the _TLF_NAPPING bit in current_thread_info()->local_flags | ||
412 | * to signal that it is in the loop and needs help to get out. | ||
413 | */ | ||
414 | #ifdef CONFIG_PPC_970_NAP | ||
415 | #define FINISH_NAP \ | ||
416 | BEGIN_FTR_SECTION \ | ||
417 | clrrdi r11,r1,THREAD_SHIFT; \ | ||
418 | ld r9,TI_LOCAL_FLAGS(r11); \ | ||
419 | andi. r10,r9,_TLF_NAPPING; \ | ||
420 | bnel power4_fixup_nap; \ | ||
421 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP) | ||
422 | #else | ||
423 | #define FINISH_NAP | ||
424 | #endif | ||
425 | |||
426 | /* | ||
391 | * Start of pSeries system interrupt routines | 427 | * Start of pSeries system interrupt routines |
392 | */ | 428 | */ |
393 | . = 0x100 | 429 | . = 0x100 |
@@ -772,6 +808,7 @@ hardware_interrupt_iSeries_masked: | |||
772 | .globl machine_check_common | 808 | .globl machine_check_common |
773 | machine_check_common: | 809 | machine_check_common: |
774 | EXCEPTION_PROLOG_COMMON(0x200, PACA_EXMC) | 810 | EXCEPTION_PROLOG_COMMON(0x200, PACA_EXMC) |
811 | FINISH_NAP | ||
775 | DISABLE_INTS | 812 | DISABLE_INTS |
776 | bl .save_nvgprs | 813 | bl .save_nvgprs |
777 | addi r3,r1,STACK_FRAME_OVERHEAD | 814 | addi r3,r1,STACK_FRAME_OVERHEAD |
@@ -783,7 +820,7 @@ machine_check_common: | |||
783 | STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception) | 820 | STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception) |
784 | STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception) | 821 | STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception) |
785 | STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception) | 822 | STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception) |
786 | STD_EXCEPTION_COMMON(0xf00, performance_monitor, .performance_monitor_exception) | 823 | STD_EXCEPTION_COMMON_IDLE(0xf00, performance_monitor, .performance_monitor_exception) |
787 | STD_EXCEPTION_COMMON(0x1300, instruction_breakpoint, .instruction_breakpoint_exception) | 824 | STD_EXCEPTION_COMMON(0x1300, instruction_breakpoint, .instruction_breakpoint_exception) |
788 | #ifdef CONFIG_ALTIVEC | 825 | #ifdef CONFIG_ALTIVEC |
789 | STD_EXCEPTION_COMMON(0x1700, altivec_assist, .altivec_assist_exception) | 826 | STD_EXCEPTION_COMMON(0x1700, altivec_assist, .altivec_assist_exception) |
@@ -1034,6 +1071,7 @@ unrecov_slb: | |||
1034 | .globl hardware_interrupt_entry | 1071 | .globl hardware_interrupt_entry |
1035 | hardware_interrupt_common: | 1072 | hardware_interrupt_common: |
1036 | EXCEPTION_PROLOG_COMMON(0x500, PACA_EXGEN) | 1073 | EXCEPTION_PROLOG_COMMON(0x500, PACA_EXGEN) |
1074 | FINISH_NAP | ||
1037 | hardware_interrupt_entry: | 1075 | hardware_interrupt_entry: |
1038 | DISABLE_INTS | 1076 | DISABLE_INTS |
1039 | bl .ppc64_runlatch_on | 1077 | bl .ppc64_runlatch_on |
@@ -1041,6 +1079,15 @@ hardware_interrupt_entry: | |||
1041 | bl .do_IRQ | 1079 | bl .do_IRQ |
1042 | b .ret_from_except_lite | 1080 | b .ret_from_except_lite |
1043 | 1081 | ||
1082 | #ifdef CONFIG_PPC_970_NAP | ||
1083 | power4_fixup_nap: | ||
1084 | andc r9,r9,r10 | ||
1085 | std r9,TI_LOCAL_FLAGS(r11) | ||
1086 | ld r10,_LINK(r1) /* make idle task do the */ | ||
1087 | std r10,_NIP(r1) /* equivalent of a blr */ | ||
1088 | blr | ||
1089 | #endif | ||
1090 | |||
1044 | .align 7 | 1091 | .align 7 |
1045 | .globl alignment_common | 1092 | .globl alignment_common |
1046 | alignment_common: | 1093 | alignment_common: |
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c index e9f321d74d85..d491052c8e0c 100644 --- a/arch/powerpc/kernel/idle.c +++ b/arch/powerpc/kernel/idle.c | |||
@@ -50,9 +50,9 @@ void cpu_idle(void) | |||
50 | 50 | ||
51 | set_thread_flag(TIF_POLLING_NRFLAG); | 51 | set_thread_flag(TIF_POLLING_NRFLAG); |
52 | while (1) { | 52 | while (1) { |
53 | ppc64_runlatch_off(); | ||
54 | |||
55 | while (!need_resched() && !cpu_should_die()) { | 53 | while (!need_resched() && !cpu_should_die()) { |
54 | ppc64_runlatch_off(); | ||
55 | |||
56 | if (ppc_md.power_save) { | 56 | if (ppc_md.power_save) { |
57 | clear_thread_flag(TIF_POLLING_NRFLAG); | 57 | clear_thread_flag(TIF_POLLING_NRFLAG); |
58 | /* | 58 | /* |
diff --git a/arch/powerpc/kernel/idle_6xx.S b/arch/powerpc/kernel/idle_6xx.S index 12a4efbaa08f..b45fa0e37212 100644 --- a/arch/powerpc/kernel/idle_6xx.S +++ b/arch/powerpc/kernel/idle_6xx.S | |||
@@ -22,8 +22,6 @@ | |||
22 | #include <asm/ppc_asm.h> | 22 | #include <asm/ppc_asm.h> |
23 | #include <asm/asm-offsets.h> | 23 | #include <asm/asm-offsets.h> |
24 | 24 | ||
25 | #undef DEBUG | ||
26 | |||
27 | .text | 25 | .text |
28 | 26 | ||
29 | /* | 27 | /* |
@@ -109,12 +107,6 @@ BEGIN_FTR_SECTION | |||
109 | dcbf 0,r4 | 107 | dcbf 0,r4 |
110 | dcbf 0,r4 | 108 | dcbf 0,r4 |
111 | END_FTR_SECTION_IFSET(CPU_FTR_NAP_DISABLE_L2_PR) | 109 | END_FTR_SECTION_IFSET(CPU_FTR_NAP_DISABLE_L2_PR) |
112 | #ifdef DEBUG | ||
113 | lis r6,nap_enter_count@ha | ||
114 | lwz r4,nap_enter_count@l(r6) | ||
115 | addi r4,r4,1 | ||
116 | stw r4,nap_enter_count@l(r6) | ||
117 | #endif | ||
118 | 2: | 110 | 2: |
119 | BEGIN_FTR_SECTION | 111 | BEGIN_FTR_SECTION |
120 | /* Go to low speed mode on some 750FX */ | 112 | /* Go to low speed mode on some 750FX */ |
@@ -144,48 +136,42 @@ BEGIN_FTR_SECTION | |||
144 | DSSALL | 136 | DSSALL |
145 | sync | 137 | sync |
146 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) | 138 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) |
139 | rlwinm r9,r1,0,0,31-THREAD_SHIFT /* current thread_info */ | ||
140 | lwz r8,TI_LOCAL_FLAGS(r9) /* set napping bit */ | ||
141 | ori r8,r8,_TLF_NAPPING /* so when we take an exception */ | ||
142 | stw r8,TI_LOCAL_FLAGS(r9) /* it will return to our caller */ | ||
147 | mfmsr r7 | 143 | mfmsr r7 |
148 | ori r7,r7,MSR_EE | 144 | ori r7,r7,MSR_EE |
149 | oris r7,r7,MSR_POW@h | 145 | oris r7,r7,MSR_POW@h |
150 | sync | 146 | 1: sync |
151 | isync | ||
152 | mtmsr r7 | 147 | mtmsr r7 |
153 | isync | 148 | isync |
154 | sync | 149 | b 1b |
155 | blr | 150 | |
156 | |||
157 | /* | 151 | /* |
158 | * Return from NAP/DOZE mode, restore some CPU specific registers, | 152 | * Return from NAP/DOZE mode, restore some CPU specific registers, |
159 | * we are called with DR/IR still off and r2 containing physical | 153 | * we are called with DR/IR still off and r2 containing physical |
160 | * address of current. | 154 | * address of current. R11 points to the exception frame (physical |
155 | * address). We have to preserve r10. | ||
161 | */ | 156 | */ |
162 | _GLOBAL(power_save_6xx_restore) | 157 | _GLOBAL(power_save_6xx_restore) |
163 | mfspr r11,SPRN_HID0 | 158 | lwz r9,_LINK(r11) /* interrupted in ppc6xx_idle: */ |
164 | rlwinm. r11,r11,0,10,8 /* Clear NAP & copy NAP bit !state to cr1 EQ */ | 159 | stw r9,_NIP(r11) /* make it do a blr */ |
165 | cror 4*cr1+eq,4*cr0+eq,4*cr0+eq | ||
166 | BEGIN_FTR_SECTION | ||
167 | rlwinm r11,r11,0,9,7 /* Clear DOZE */ | ||
168 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_DOZE) | ||
169 | mtspr SPRN_HID0, r11 | ||
170 | 160 | ||
171 | #ifdef DEBUG | 161 | #ifdef CONFIG_SMP |
172 | beq cr1,1f | 162 | mfspr r12,SPRN_SPRG3 |
173 | lis r11,(nap_return_count-KERNELBASE)@ha | 163 | lwz r11,TI_CPU(r12) /* get cpu number * 4 */ |
174 | lwz r9,nap_return_count@l(r11) | ||
175 | addi r9,r9,1 | ||
176 | stw r9,nap_return_count@l(r11) | ||
177 | 1: | ||
178 | #endif | ||
179 | |||
180 | rlwinm r9,r1,0,0,18 | ||
181 | tophys(r9,r9) | ||
182 | lwz r11,TI_CPU(r9) | ||
183 | slwi r11,r11,2 | 164 | slwi r11,r11,2 |
165 | #else | ||
166 | li r11,0 | ||
167 | #endif | ||
184 | /* Todo make sure all these are in the same page | 168 | /* Todo make sure all these are in the same page |
185 | * and load r22 (@ha part + CPU offset) only once | 169 | * and load r11 (@ha part + CPU offset) only once |
186 | */ | 170 | */ |
187 | BEGIN_FTR_SECTION | 171 | BEGIN_FTR_SECTION |
188 | beq cr1,1f | 172 | mfspr r9,SPRN_HID0 |
173 | andis. r9,r9,HID0_NAP@h | ||
174 | beq 1f | ||
189 | addis r9,r11,(nap_save_msscr0-KERNELBASE)@ha | 175 | addis r9,r11,(nap_save_msscr0-KERNELBASE)@ha |
190 | lwz r9,nap_save_msscr0@l(r9) | 176 | lwz r9,nap_save_msscr0@l(r9) |
191 | mtspr SPRN_MSSCR0, r9 | 177 | mtspr SPRN_MSSCR0, r9 |
@@ -210,10 +196,3 @@ _GLOBAL(nap_save_hid1) | |||
210 | 196 | ||
211 | _GLOBAL(powersave_lowspeed) | 197 | _GLOBAL(powersave_lowspeed) |
212 | .long 0 | 198 | .long 0 |
213 | |||
214 | #ifdef DEBUG | ||
215 | _GLOBAL(nap_enter_count) | ||
216 | .space 4 | ||
217 | _GLOBAL(nap_return_count) | ||
218 | .space 4 | ||
219 | #endif | ||
diff --git a/arch/powerpc/kernel/idle_power4.S b/arch/powerpc/kernel/idle_power4.S index 6dad1c02496e..d85c7c938eed 100644 --- a/arch/powerpc/kernel/idle_power4.S +++ b/arch/powerpc/kernel/idle_power4.S | |||
@@ -35,12 +35,16 @@ BEGIN_FTR_SECTION | |||
35 | DSSALL | 35 | DSSALL |
36 | sync | 36 | sync |
37 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) | 37 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) |
38 | clrrdi r9,r1,THREAD_SHIFT /* current thread_info */ | ||
39 | ld r8,TI_LOCAL_FLAGS(r9) /* set napping bit */ | ||
40 | ori r8,r8,_TLF_NAPPING /* so when we take an exception */ | ||
41 | std r8,TI_LOCAL_FLAGS(r9) /* it will return to our caller */ | ||
38 | mfmsr r7 | 42 | mfmsr r7 |
39 | ori r7,r7,MSR_EE | 43 | ori r7,r7,MSR_EE |
40 | oris r7,r7,MSR_POW@h | 44 | oris r7,r7,MSR_POW@h |
41 | sync | 45 | 1: sync |
42 | isync | 46 | isync |
43 | mtmsrd r7 | 47 | mtmsrd r7 |
44 | isync | 48 | isync |
45 | sync | 49 | b 1b |
46 | blr | 50 | |
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index d9a7fdef59b9..4eba60a32890 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -61,6 +61,7 @@ __setup("iommu=", setup_iommu); | |||
61 | static unsigned long iommu_range_alloc(struct iommu_table *tbl, | 61 | static unsigned long iommu_range_alloc(struct iommu_table *tbl, |
62 | unsigned long npages, | 62 | unsigned long npages, |
63 | unsigned long *handle, | 63 | unsigned long *handle, |
64 | unsigned long mask, | ||
64 | unsigned int align_order) | 65 | unsigned int align_order) |
65 | { | 66 | { |
66 | unsigned long n, end, i, start; | 67 | unsigned long n, end, i, start; |
@@ -97,9 +98,21 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, | |||
97 | */ | 98 | */ |
98 | if (start >= limit) | 99 | if (start >= limit) |
99 | start = largealloc ? tbl->it_largehint : tbl->it_hint; | 100 | start = largealloc ? tbl->it_largehint : tbl->it_hint; |
100 | 101 | ||
101 | again: | 102 | again: |
102 | 103 | ||
104 | if (limit + tbl->it_offset > mask) { | ||
105 | limit = mask - tbl->it_offset + 1; | ||
106 | /* If we're constrained on address range, first try | ||
107 | * at the masked hint to avoid O(n) search complexity, | ||
108 | * but on second pass, start at 0. | ||
109 | */ | ||
110 | if ((start & mask) >= limit || pass > 0) | ||
111 | start = 0; | ||
112 | else | ||
113 | start &= mask; | ||
114 | } | ||
115 | |||
103 | n = find_next_zero_bit(tbl->it_map, limit, start); | 116 | n = find_next_zero_bit(tbl->it_map, limit, start); |
104 | 117 | ||
105 | /* Align allocation */ | 118 | /* Align allocation */ |
@@ -150,14 +163,14 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, | |||
150 | 163 | ||
151 | static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *page, | 164 | static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *page, |
152 | unsigned int npages, enum dma_data_direction direction, | 165 | unsigned int npages, enum dma_data_direction direction, |
153 | unsigned int align_order) | 166 | unsigned long mask, unsigned int align_order) |
154 | { | 167 | { |
155 | unsigned long entry, flags; | 168 | unsigned long entry, flags; |
156 | dma_addr_t ret = DMA_ERROR_CODE; | 169 | dma_addr_t ret = DMA_ERROR_CODE; |
157 | 170 | ||
158 | spin_lock_irqsave(&(tbl->it_lock), flags); | 171 | spin_lock_irqsave(&(tbl->it_lock), flags); |
159 | 172 | ||
160 | entry = iommu_range_alloc(tbl, npages, NULL, align_order); | 173 | entry = iommu_range_alloc(tbl, npages, NULL, mask, align_order); |
161 | 174 | ||
162 | if (unlikely(entry == DMA_ERROR_CODE)) { | 175 | if (unlikely(entry == DMA_ERROR_CODE)) { |
163 | spin_unlock_irqrestore(&(tbl->it_lock), flags); | 176 | spin_unlock_irqrestore(&(tbl->it_lock), flags); |
@@ -236,7 +249,7 @@ static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, | |||
236 | 249 | ||
237 | int iommu_map_sg(struct device *dev, struct iommu_table *tbl, | 250 | int iommu_map_sg(struct device *dev, struct iommu_table *tbl, |
238 | struct scatterlist *sglist, int nelems, | 251 | struct scatterlist *sglist, int nelems, |
239 | enum dma_data_direction direction) | 252 | unsigned long mask, enum dma_data_direction direction) |
240 | { | 253 | { |
241 | dma_addr_t dma_next = 0, dma_addr; | 254 | dma_addr_t dma_next = 0, dma_addr; |
242 | unsigned long flags; | 255 | unsigned long flags; |
@@ -274,7 +287,7 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl, | |||
274 | vaddr = (unsigned long)page_address(s->page) + s->offset; | 287 | vaddr = (unsigned long)page_address(s->page) + s->offset; |
275 | npages = PAGE_ALIGN(vaddr + slen) - (vaddr & PAGE_MASK); | 288 | npages = PAGE_ALIGN(vaddr + slen) - (vaddr & PAGE_MASK); |
276 | npages >>= PAGE_SHIFT; | 289 | npages >>= PAGE_SHIFT; |
277 | entry = iommu_range_alloc(tbl, npages, &handle, 0); | 290 | entry = iommu_range_alloc(tbl, npages, &handle, mask >> PAGE_SHIFT, 0); |
278 | 291 | ||
279 | DBG(" - vaddr: %lx, size: %lx\n", vaddr, slen); | 292 | DBG(" - vaddr: %lx, size: %lx\n", vaddr, slen); |
280 | 293 | ||
@@ -479,7 +492,8 @@ void iommu_free_table(struct device_node *dn) | |||
479 | * byte within the page as vaddr. | 492 | * byte within the page as vaddr. |
480 | */ | 493 | */ |
481 | dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, | 494 | dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, |
482 | size_t size, enum dma_data_direction direction) | 495 | size_t size, unsigned long mask, |
496 | enum dma_data_direction direction) | ||
483 | { | 497 | { |
484 | dma_addr_t dma_handle = DMA_ERROR_CODE; | 498 | dma_addr_t dma_handle = DMA_ERROR_CODE; |
485 | unsigned long uaddr; | 499 | unsigned long uaddr; |
@@ -492,7 +506,8 @@ dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, | |||
492 | npages >>= PAGE_SHIFT; | 506 | npages >>= PAGE_SHIFT; |
493 | 507 | ||
494 | if (tbl) { | 508 | if (tbl) { |
495 | dma_handle = iommu_alloc(tbl, vaddr, npages, direction, 0); | 509 | dma_handle = iommu_alloc(tbl, vaddr, npages, direction, |
510 | mask >> PAGE_SHIFT, 0); | ||
496 | if (dma_handle == DMA_ERROR_CODE) { | 511 | if (dma_handle == DMA_ERROR_CODE) { |
497 | if (printk_ratelimit()) { | 512 | if (printk_ratelimit()) { |
498 | printk(KERN_INFO "iommu_alloc failed, " | 513 | printk(KERN_INFO "iommu_alloc failed, " |
@@ -521,7 +536,7 @@ void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, | |||
521 | * to the dma address (mapping) of the first page. | 536 | * to the dma address (mapping) of the first page. |
522 | */ | 537 | */ |
523 | void *iommu_alloc_coherent(struct iommu_table *tbl, size_t size, | 538 | void *iommu_alloc_coherent(struct iommu_table *tbl, size_t size, |
524 | dma_addr_t *dma_handle, gfp_t flag) | 539 | dma_addr_t *dma_handle, unsigned long mask, gfp_t flag) |
525 | { | 540 | { |
526 | void *ret = NULL; | 541 | void *ret = NULL; |
527 | dma_addr_t mapping; | 542 | dma_addr_t mapping; |
@@ -551,7 +566,8 @@ void *iommu_alloc_coherent(struct iommu_table *tbl, size_t size, | |||
551 | memset(ret, 0, size); | 566 | memset(ret, 0, size); |
552 | 567 | ||
553 | /* Set up tces to cover the allocated range */ | 568 | /* Set up tces to cover the allocated range */ |
554 | mapping = iommu_alloc(tbl, ret, npages, DMA_BIDIRECTIONAL, order); | 569 | mapping = iommu_alloc(tbl, ret, npages, DMA_BIDIRECTIONAL, |
570 | mask >> PAGE_SHIFT, order); | ||
555 | if (mapping == DMA_ERROR_CODE) { | 571 | if (mapping == DMA_ERROR_CODE) { |
556 | free_pages((unsigned long)ret, order); | 572 | free_pages((unsigned long)ret, order); |
557 | ret = NULL; | 573 | ret = NULL; |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index bb5c9501234c..57d560c68897 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -272,18 +272,26 @@ unsigned int virt_irq_to_real_map[NR_IRQS]; | |||
272 | * Don't use virtual irqs 0, 1, 2 for devices. | 272 | * Don't use virtual irqs 0, 1, 2 for devices. |
273 | * The pcnet32 driver considers interrupt numbers < 2 to be invalid, | 273 | * The pcnet32 driver considers interrupt numbers < 2 to be invalid, |
274 | * and 2 is the XICS IPI interrupt. | 274 | * and 2 is the XICS IPI interrupt. |
275 | * We limit virtual irqs to 17 less than NR_IRQS so that when we | 275 | * We limit virtual irqs to __irq_offet_value less than virt_irq_max so |
276 | * offset them by 16 (to reserve the first 16 for ISA interrupts) | 276 | * that when we offset them we don't end up with an interrupt |
277 | * we don't end up with an interrupt number >= NR_IRQS. | 277 | * number >= virt_irq_max. |
278 | */ | 278 | */ |
279 | #define MIN_VIRT_IRQ 3 | 279 | #define MIN_VIRT_IRQ 3 |
280 | #define MAX_VIRT_IRQ (NR_IRQS - NUM_ISA_INTERRUPTS - 1) | 280 | |
281 | #define NR_VIRT_IRQS (MAX_VIRT_IRQ - MIN_VIRT_IRQ + 1) | 281 | unsigned int virt_irq_max; |
282 | static unsigned int max_virt_irq; | ||
283 | static unsigned int nr_virt_irqs; | ||
282 | 284 | ||
283 | void | 285 | void |
284 | virt_irq_init(void) | 286 | virt_irq_init(void) |
285 | { | 287 | { |
286 | int i; | 288 | int i; |
289 | |||
290 | if ((virt_irq_max == 0) || (virt_irq_max > (NR_IRQS - 1))) | ||
291 | virt_irq_max = NR_IRQS - 1; | ||
292 | max_virt_irq = virt_irq_max - __irq_offset_value; | ||
293 | nr_virt_irqs = max_virt_irq - MIN_VIRT_IRQ + 1; | ||
294 | |||
287 | for (i = 0; i < NR_IRQS; i++) | 295 | for (i = 0; i < NR_IRQS; i++) |
288 | virt_irq_to_real_map[i] = UNDEFINED_IRQ; | 296 | virt_irq_to_real_map[i] = UNDEFINED_IRQ; |
289 | } | 297 | } |
@@ -308,17 +316,17 @@ int virt_irq_create_mapping(unsigned int real_irq) | |||
308 | return real_irq; | 316 | return real_irq; |
309 | } | 317 | } |
310 | 318 | ||
311 | /* map to a number between MIN_VIRT_IRQ and MAX_VIRT_IRQ */ | 319 | /* map to a number between MIN_VIRT_IRQ and max_virt_irq */ |
312 | virq = real_irq; | 320 | virq = real_irq; |
313 | if (virq > MAX_VIRT_IRQ) | 321 | if (virq > max_virt_irq) |
314 | virq = (virq % NR_VIRT_IRQS) + MIN_VIRT_IRQ; | 322 | virq = (virq % nr_virt_irqs) + MIN_VIRT_IRQ; |
315 | 323 | ||
316 | /* search for this number or a free slot */ | 324 | /* search for this number or a free slot */ |
317 | first_virq = virq; | 325 | first_virq = virq; |
318 | while (virt_irq_to_real_map[virq] != UNDEFINED_IRQ) { | 326 | while (virt_irq_to_real_map[virq] != UNDEFINED_IRQ) { |
319 | if (virt_irq_to_real_map[virq] == real_irq) | 327 | if (virt_irq_to_real_map[virq] == real_irq) |
320 | return virq; | 328 | return virq; |
321 | if (++virq > MAX_VIRT_IRQ) | 329 | if (++virq > max_virt_irq) |
322 | virq = MIN_VIRT_IRQ; | 330 | virq = MIN_VIRT_IRQ; |
323 | if (virq == first_virq) | 331 | if (virq == first_virq) |
324 | goto nospace; /* oops, no free slots */ | 332 | goto nospace; /* oops, no free slots */ |
@@ -330,8 +338,8 @@ int virt_irq_create_mapping(unsigned int real_irq) | |||
330 | nospace: | 338 | nospace: |
331 | if (!warned) { | 339 | if (!warned) { |
332 | printk(KERN_CRIT "Interrupt table is full\n"); | 340 | printk(KERN_CRIT "Interrupt table is full\n"); |
333 | printk(KERN_CRIT "Increase NR_IRQS (currently %d) " | 341 | printk(KERN_CRIT "Increase virt_irq_max (currently %d) " |
334 | "in your kernel sources and rebuild.\n", NR_IRQS); | 342 | "in your kernel sources and rebuild.\n", virt_irq_max); |
335 | warned = 1; | 343 | warned = 1; |
336 | } | 344 | } |
337 | return NO_IRQ; | 345 | return NO_IRQ; |
@@ -349,8 +357,8 @@ unsigned int real_irq_to_virt_slowpath(unsigned int real_irq) | |||
349 | 357 | ||
350 | virq = real_irq; | 358 | virq = real_irq; |
351 | 359 | ||
352 | if (virq > MAX_VIRT_IRQ) | 360 | if (virq > max_virt_irq) |
353 | virq = (virq % NR_VIRT_IRQS) + MIN_VIRT_IRQ; | 361 | virq = (virq % nr_virt_irqs) + MIN_VIRT_IRQ; |
354 | 362 | ||
355 | first_virq = virq; | 363 | first_virq = virq; |
356 | 364 | ||
@@ -360,7 +368,7 @@ unsigned int real_irq_to_virt_slowpath(unsigned int real_irq) | |||
360 | 368 | ||
361 | virq++; | 369 | virq++; |
362 | 370 | ||
363 | if (virq >= MAX_VIRT_IRQ) | 371 | if (virq >= max_virt_irq) |
364 | virq = 0; | 372 | virq = 0; |
365 | 373 | ||
366 | } while (first_virq != virq); | 374 | } while (first_virq != virq); |
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c index ad7a90212204..856ef1a832b9 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c | |||
@@ -88,7 +88,7 @@ void __kprobes arch_remove_kprobe(struct kprobe *p) | |||
88 | mutex_unlock(&kprobe_mutex); | 88 | mutex_unlock(&kprobe_mutex); |
89 | } | 89 | } |
90 | 90 | ||
91 | static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | 91 | static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) |
92 | { | 92 | { |
93 | kprobe_opcode_t insn = *p->ainsn.insn; | 93 | kprobe_opcode_t insn = *p->ainsn.insn; |
94 | 94 | ||
@@ -101,21 +101,21 @@ static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | |||
101 | regs->nip = (unsigned long)p->ainsn.insn; | 101 | regs->nip = (unsigned long)p->ainsn.insn; |
102 | } | 102 | } |
103 | 103 | ||
104 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | 104 | static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) |
105 | { | 105 | { |
106 | kcb->prev_kprobe.kp = kprobe_running(); | 106 | kcb->prev_kprobe.kp = kprobe_running(); |
107 | kcb->prev_kprobe.status = kcb->kprobe_status; | 107 | kcb->prev_kprobe.status = kcb->kprobe_status; |
108 | kcb->prev_kprobe.saved_msr = kcb->kprobe_saved_msr; | 108 | kcb->prev_kprobe.saved_msr = kcb->kprobe_saved_msr; |
109 | } | 109 | } |
110 | 110 | ||
111 | static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | 111 | static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) |
112 | { | 112 | { |
113 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; | 113 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; |
114 | kcb->kprobe_status = kcb->prev_kprobe.status; | 114 | kcb->kprobe_status = kcb->prev_kprobe.status; |
115 | kcb->kprobe_saved_msr = kcb->prev_kprobe.saved_msr; | 115 | kcb->kprobe_saved_msr = kcb->prev_kprobe.saved_msr; |
116 | } | 116 | } |
117 | 117 | ||
118 | static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | 118 | static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, |
119 | struct kprobe_ctlblk *kcb) | 119 | struct kprobe_ctlblk *kcb) |
120 | { | 120 | { |
121 | __get_cpu_var(current_kprobe) = p; | 121 | __get_cpu_var(current_kprobe) = p; |
@@ -141,7 +141,7 @@ void __kprobes arch_prepare_kretprobe(struct kretprobe *rp, | |||
141 | } | 141 | } |
142 | } | 142 | } |
143 | 143 | ||
144 | static inline int kprobe_handler(struct pt_regs *regs) | 144 | static int __kprobes kprobe_handler(struct pt_regs *regs) |
145 | { | 145 | { |
146 | struct kprobe *p; | 146 | struct kprobe *p; |
147 | int ret = 0; | 147 | int ret = 0; |
@@ -334,7 +334,7 @@ static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs) | |||
334 | regs->nip = (unsigned long)p->addr + 4; | 334 | regs->nip = (unsigned long)p->addr + 4; |
335 | } | 335 | } |
336 | 336 | ||
337 | static inline int post_kprobe_handler(struct pt_regs *regs) | 337 | static int __kprobes post_kprobe_handler(struct pt_regs *regs) |
338 | { | 338 | { |
339 | struct kprobe *cur = kprobe_running(); | 339 | struct kprobe *cur = kprobe_running(); |
340 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 340 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
@@ -370,7 +370,7 @@ out: | |||
370 | return 1; | 370 | return 1; |
371 | } | 371 | } |
372 | 372 | ||
373 | static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr) | 373 | static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) |
374 | { | 374 | { |
375 | struct kprobe *cur = kprobe_running(); | 375 | struct kprobe *cur = kprobe_running(); |
376 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 376 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c index 928b8581fcb0..ba34001fca8e 100644 --- a/arch/powerpc/kernel/module_64.c +++ b/arch/powerpc/kernel/module_64.c | |||
@@ -191,11 +191,19 @@ int module_frob_arch_sections(Elf64_Ehdr *hdr, | |||
191 | (void *)hdr | 191 | (void *)hdr |
192 | + sechdrs[sechdrs[i].sh_link].sh_offset); | 192 | + sechdrs[sechdrs[i].sh_link].sh_offset); |
193 | } | 193 | } |
194 | if (!me->arch.stubs_section || !me->arch.toc_section) { | 194 | |
195 | printk("%s: doesn't contain .toc or .stubs.\n", me->name); | 195 | if (!me->arch.stubs_section) { |
196 | printk("%s: doesn't contain .stubs.\n", me->name); | ||
196 | return -ENOEXEC; | 197 | return -ENOEXEC; |
197 | } | 198 | } |
198 | 199 | ||
200 | /* If we don't have a .toc, just use .stubs. We need to set r2 | ||
201 | to some reasonable value in case the module calls out to | ||
202 | other functions via a stub, or if a function pointer escapes | ||
203 | the module by some means. */ | ||
204 | if (!me->arch.toc_section) | ||
205 | me->arch.toc_section = me->arch.stubs_section; | ||
206 | |||
199 | /* Override the stubs size */ | 207 | /* Override the stubs size */ |
200 | sechdrs[me->arch.stubs_section].sh_size = get_stubs_size(hdr, sechdrs); | 208 | sechdrs[me->arch.stubs_section].sh_size = get_stubs_size(hdr, sechdrs); |
201 | return 0; | 209 | return 0; |
@@ -342,7 +350,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, | |||
342 | break; | 350 | break; |
343 | 351 | ||
344 | case R_PPC64_TOC16: | 352 | case R_PPC64_TOC16: |
345 | /* Subtact TOC pointer */ | 353 | /* Subtract TOC pointer */ |
346 | value -= my_r2(sechdrs, me); | 354 | value -= my_r2(sechdrs, me); |
347 | if (value + 0x8000 > 0xffff) { | 355 | if (value + 0x8000 > 0xffff) { |
348 | printk("%s: bad TOC16 relocation (%lu)\n", | 356 | printk("%s: bad TOC16 relocation (%lu)\n", |
@@ -355,7 +363,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, | |||
355 | break; | 363 | break; |
356 | 364 | ||
357 | case R_PPC64_TOC16_DS: | 365 | case R_PPC64_TOC16_DS: |
358 | /* Subtact TOC pointer */ | 366 | /* Subtract TOC pointer */ |
359 | value -= my_r2(sechdrs, me); | 367 | value -= my_r2(sechdrs, me); |
360 | if ((value & 3) != 0 || value + 0x8000 > 0xffff) { | 368 | if ((value & 3) != 0 || value + 0x8000 > 0xffff) { |
361 | printk("%s: bad TOC16_DS relocation (%lu)\n", | 369 | printk("%s: bad TOC16_DS relocation (%lu)\n", |
diff --git a/arch/powerpc/kernel/pci_iommu.c b/arch/powerpc/kernel/pci_iommu.c index c336f3e31cff..c1d95e14bbed 100644 --- a/arch/powerpc/kernel/pci_iommu.c +++ b/arch/powerpc/kernel/pci_iommu.c | |||
@@ -59,6 +59,25 @@ static inline struct iommu_table *devnode_table(struct device *dev) | |||
59 | } | 59 | } |
60 | 60 | ||
61 | 61 | ||
62 | static inline unsigned long device_to_mask(struct device *hwdev) | ||
63 | { | ||
64 | struct pci_dev *pdev; | ||
65 | |||
66 | if (!hwdev) { | ||
67 | pdev = ppc64_isabridge_dev; | ||
68 | if (!pdev) /* This is the best guess we can do */ | ||
69 | return 0xfffffffful; | ||
70 | } else | ||
71 | pdev = to_pci_dev(hwdev); | ||
72 | |||
73 | if (pdev->dma_mask) | ||
74 | return pdev->dma_mask; | ||
75 | |||
76 | /* Assume devices without mask can take 32 bit addresses */ | ||
77 | return 0xfffffffful; | ||
78 | } | ||
79 | |||
80 | |||
62 | /* Allocates a contiguous real buffer and creates mappings over it. | 81 | /* Allocates a contiguous real buffer and creates mappings over it. |
63 | * Returns the virtual address of the buffer and sets dma_handle | 82 | * Returns the virtual address of the buffer and sets dma_handle |
64 | * to the dma address (mapping) of the first page. | 83 | * to the dma address (mapping) of the first page. |
@@ -67,7 +86,7 @@ static void *pci_iommu_alloc_coherent(struct device *hwdev, size_t size, | |||
67 | dma_addr_t *dma_handle, gfp_t flag) | 86 | dma_addr_t *dma_handle, gfp_t flag) |
68 | { | 87 | { |
69 | return iommu_alloc_coherent(devnode_table(hwdev), size, dma_handle, | 88 | return iommu_alloc_coherent(devnode_table(hwdev), size, dma_handle, |
70 | flag); | 89 | device_to_mask(hwdev), flag); |
71 | } | 90 | } |
72 | 91 | ||
73 | static void pci_iommu_free_coherent(struct device *hwdev, size_t size, | 92 | static void pci_iommu_free_coherent(struct device *hwdev, size_t size, |
@@ -85,7 +104,8 @@ static void pci_iommu_free_coherent(struct device *hwdev, size_t size, | |||
85 | static dma_addr_t pci_iommu_map_single(struct device *hwdev, void *vaddr, | 104 | static dma_addr_t pci_iommu_map_single(struct device *hwdev, void *vaddr, |
86 | size_t size, enum dma_data_direction direction) | 105 | size_t size, enum dma_data_direction direction) |
87 | { | 106 | { |
88 | return iommu_map_single(devnode_table(hwdev), vaddr, size, direction); | 107 | return iommu_map_single(devnode_table(hwdev), vaddr, size, |
108 | device_to_mask(hwdev), direction); | ||
89 | } | 109 | } |
90 | 110 | ||
91 | 111 | ||
@@ -100,7 +120,7 @@ static int pci_iommu_map_sg(struct device *pdev, struct scatterlist *sglist, | |||
100 | int nelems, enum dma_data_direction direction) | 120 | int nelems, enum dma_data_direction direction) |
101 | { | 121 | { |
102 | return iommu_map_sg(pdev, devnode_table(pdev), sglist, | 122 | return iommu_map_sg(pdev, devnode_table(pdev), sglist, |
103 | nelems, direction); | 123 | nelems, device_to_mask(pdev), direction); |
104 | } | 124 | } |
105 | 125 | ||
106 | static void pci_iommu_unmap_sg(struct device *pdev, struct scatterlist *sglist, | 126 | static void pci_iommu_unmap_sg(struct device *pdev, struct scatterlist *sglist, |
@@ -112,7 +132,19 @@ static void pci_iommu_unmap_sg(struct device *pdev, struct scatterlist *sglist, | |||
112 | /* We support DMA to/from any memory page via the iommu */ | 132 | /* We support DMA to/from any memory page via the iommu */ |
113 | static int pci_iommu_dma_supported(struct device *dev, u64 mask) | 133 | static int pci_iommu_dma_supported(struct device *dev, u64 mask) |
114 | { | 134 | { |
115 | return 1; | 135 | struct iommu_table *tbl = devnode_table(dev); |
136 | |||
137 | if (!tbl || tbl->it_offset > mask) { | ||
138 | printk(KERN_INFO "Warning: IOMMU table offset too big for device mask\n"); | ||
139 | if (tbl) | ||
140 | printk(KERN_INFO "mask: 0x%08lx, table offset: 0x%08lx\n", | ||
141 | mask, tbl->it_offset); | ||
142 | else | ||
143 | printk(KERN_INFO "mask: 0x%08lx, table unavailable\n", | ||
144 | mask); | ||
145 | return 0; | ||
146 | } else | ||
147 | return 1; | ||
116 | } | 148 | } |
117 | 149 | ||
118 | void pci_iommu_init(void) | 150 | void pci_iommu_init(void) |
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c index dfa5398ab3c8..4b052ae5dc34 100644 --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c | |||
@@ -81,6 +81,7 @@ EXPORT_SYMBOL(strcat); | |||
81 | EXPORT_SYMBOL(strlen); | 81 | EXPORT_SYMBOL(strlen); |
82 | EXPORT_SYMBOL(strcmp); | 82 | EXPORT_SYMBOL(strcmp); |
83 | EXPORT_SYMBOL(strcasecmp); | 83 | EXPORT_SYMBOL(strcasecmp); |
84 | EXPORT_SYMBOL(strncasecmp); | ||
84 | 85 | ||
85 | EXPORT_SYMBOL(csum_partial); | 86 | EXPORT_SYMBOL(csum_partial); |
86 | EXPORT_SYMBOL(csum_partial_copy_generic); | 87 | EXPORT_SYMBOL(csum_partial_copy_generic); |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 4336390bcf34..1cb69e8fb0b1 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -62,7 +62,7 @@ static int __initdata dt_root_addr_cells; | |||
62 | static int __initdata dt_root_size_cells; | 62 | static int __initdata dt_root_size_cells; |
63 | 63 | ||
64 | #ifdef CONFIG_PPC64 | 64 | #ifdef CONFIG_PPC64 |
65 | static int __initdata iommu_is_off; | 65 | int __initdata iommu_is_off; |
66 | int __initdata iommu_force_on; | 66 | int __initdata iommu_force_on; |
67 | unsigned long tce_alloc_start, tce_alloc_end; | 67 | unsigned long tce_alloc_start, tce_alloc_end; |
68 | #endif | 68 | #endif |
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index d66c5e77fcff..078fb5533541 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -636,10 +636,96 @@ static void __init early_cmdline_parse(void) | |||
636 | 636 | ||
637 | #ifdef CONFIG_PPC_PSERIES | 637 | #ifdef CONFIG_PPC_PSERIES |
638 | /* | 638 | /* |
639 | * To tell the firmware what our capabilities are, we have to pass | 639 | * There are two methods for telling firmware what our capabilities are. |
640 | * it a fake 32-bit ELF header containing a couple of PT_NOTE sections | 640 | * Newer machines have an "ibm,client-architecture-support" method on the |
641 | * that contain structures that contain the actual values. | 641 | * root node. For older machines, we have to call the "process-elf-header" |
642 | * method in the /packages/elf-loader node, passing it a fake 32-bit | ||
643 | * ELF header containing a couple of PT_NOTE sections that contain | ||
644 | * structures that contain various information. | ||
642 | */ | 645 | */ |
646 | |||
647 | /* | ||
648 | * New method - extensible architecture description vector. | ||
649 | * | ||
650 | * Because the description vector contains a mix of byte and word | ||
651 | * values, we declare it as an unsigned char array, and use this | ||
652 | * macro to put word values in. | ||
653 | */ | ||
654 | #define W(x) ((x) >> 24) & 0xff, ((x) >> 16) & 0xff, \ | ||
655 | ((x) >> 8) & 0xff, (x) & 0xff | ||
656 | |||
657 | /* Option vector bits - generic bits in byte 1 */ | ||
658 | #define OV_IGNORE 0x80 /* ignore this vector */ | ||
659 | #define OV_CESSATION_POLICY 0x40 /* halt if unsupported option present*/ | ||
660 | |||
661 | /* Option vector 1: processor architectures supported */ | ||
662 | #define OV1_PPC_2_00 0x80 /* set if we support PowerPC 2.00 */ | ||
663 | #define OV1_PPC_2_01 0x40 /* set if we support PowerPC 2.01 */ | ||
664 | #define OV1_PPC_2_02 0x20 /* set if we support PowerPC 2.02 */ | ||
665 | #define OV1_PPC_2_03 0x10 /* set if we support PowerPC 2.03 */ | ||
666 | #define OV1_PPC_2_04 0x08 /* set if we support PowerPC 2.04 */ | ||
667 | #define OV1_PPC_2_05 0x04 /* set if we support PowerPC 2.05 */ | ||
668 | |||
669 | /* Option vector 2: Open Firmware options supported */ | ||
670 | #define OV2_REAL_MODE 0x20 /* set if we want OF in real mode */ | ||
671 | |||
672 | /* Option vector 3: processor options supported */ | ||
673 | #define OV3_FP 0x80 /* floating point */ | ||
674 | #define OV3_VMX 0x40 /* VMX/Altivec */ | ||
675 | |||
676 | /* Option vector 5: PAPR/OF options supported */ | ||
677 | #define OV5_LPAR 0x80 /* logical partitioning supported */ | ||
678 | #define OV5_SPLPAR 0x40 /* shared-processor LPAR supported */ | ||
679 | /* ibm,dynamic-reconfiguration-memory property supported */ | ||
680 | #define OV5_DRCONF_MEMORY 0x20 | ||
681 | #define OV5_LARGE_PAGES 0x10 /* large pages supported */ | ||
682 | |||
683 | /* | ||
684 | * The architecture vector has an array of PVR mask/value pairs, | ||
685 | * followed by # option vectors - 1, followed by the option vectors. | ||
686 | */ | ||
687 | static unsigned char ibm_architecture_vec[] = { | ||
688 | W(0xfffe0000), W(0x003a0000), /* POWER5/POWER5+ */ | ||
689 | W(0xffff0000), W(0x003e0000), /* POWER6 */ | ||
690 | W(0xfffffffe), W(0x0f000001), /* all 2.04-compliant and earlier */ | ||
691 | 5 - 1, /* 5 option vectors */ | ||
692 | |||
693 | /* option vector 1: processor architectures supported */ | ||
694 | 3 - 1, /* length */ | ||
695 | 0, /* don't ignore, don't halt */ | ||
696 | OV1_PPC_2_00 | OV1_PPC_2_01 | OV1_PPC_2_02 | OV1_PPC_2_03 | | ||
697 | OV1_PPC_2_04 | OV1_PPC_2_05, | ||
698 | |||
699 | /* option vector 2: Open Firmware options supported */ | ||
700 | 34 - 1, /* length */ | ||
701 | OV2_REAL_MODE, | ||
702 | 0, 0, | ||
703 | W(0xffffffff), /* real_base */ | ||
704 | W(0xffffffff), /* real_size */ | ||
705 | W(0xffffffff), /* virt_base */ | ||
706 | W(0xffffffff), /* virt_size */ | ||
707 | W(0xffffffff), /* load_base */ | ||
708 | W(64), /* 128MB min RMA */ | ||
709 | W(0xffffffff), /* full client load */ | ||
710 | 0, /* min RMA percentage of total RAM */ | ||
711 | 48, /* max log_2(hash table size) */ | ||
712 | |||
713 | /* option vector 3: processor options supported */ | ||
714 | 3 - 1, /* length */ | ||
715 | 0, /* don't ignore, don't halt */ | ||
716 | OV3_FP | OV3_VMX, | ||
717 | |||
718 | /* option vector 4: IBM PAPR implementation */ | ||
719 | 2 - 1, /* length */ | ||
720 | 0, /* don't halt */ | ||
721 | |||
722 | /* option vector 5: PAPR/OF options */ | ||
723 | 3 - 1, /* length */ | ||
724 | 0, /* don't ignore, don't halt */ | ||
725 | OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES, | ||
726 | }; | ||
727 | |||
728 | /* Old method - ELF header with PT_NOTE sections */ | ||
643 | static struct fake_elf { | 729 | static struct fake_elf { |
644 | Elf32_Ehdr elfhdr; | 730 | Elf32_Ehdr elfhdr; |
645 | Elf32_Phdr phdr[2]; | 731 | Elf32_Phdr phdr[2]; |
@@ -728,8 +814,26 @@ static struct fake_elf { | |||
728 | 814 | ||
729 | static void __init prom_send_capabilities(void) | 815 | static void __init prom_send_capabilities(void) |
730 | { | 816 | { |
731 | ihandle elfloader; | 817 | ihandle elfloader, root; |
818 | prom_arg_t ret; | ||
819 | |||
820 | root = call_prom("open", 1, 1, ADDR("/")); | ||
821 | if (root != 0) { | ||
822 | /* try calling the ibm,client-architecture-support method */ | ||
823 | if (call_prom_ret("call-method", 3, 2, &ret, | ||
824 | ADDR("ibm,client-architecture-support"), | ||
825 | ADDR(ibm_architecture_vec)) == 0) { | ||
826 | /* the call exists... */ | ||
827 | if (ret) | ||
828 | prom_printf("WARNING: ibm,client-architecture" | ||
829 | "-support call FAILED!\n"); | ||
830 | call_prom("close", 1, 0, root); | ||
831 | return; | ||
832 | } | ||
833 | call_prom("close", 1, 0, root); | ||
834 | } | ||
732 | 835 | ||
836 | /* no ibm,client-architecture-support call, try the old way */ | ||
733 | elfloader = call_prom("open", 1, 1, ADDR("/packages/elf-loader")); | 837 | elfloader = call_prom("open", 1, 1, ADDR("/packages/elf-loader")); |
734 | if (elfloader == 0) { | 838 | if (elfloader == 0) { |
735 | prom_printf("couldn't open /packages/elf-loader\n"); | 839 | prom_printf("couldn't open /packages/elf-loader\n"); |
@@ -1528,12 +1632,11 @@ static int __init prom_find_machine_type(void) | |||
1528 | * non-IBM designs ! | 1632 | * non-IBM designs ! |
1529 | * - it has /rtas | 1633 | * - it has /rtas |
1530 | */ | 1634 | */ |
1531 | len = prom_getprop(_prom->root, "model", | 1635 | len = prom_getprop(_prom->root, "device_type", |
1532 | compat, sizeof(compat)-1); | 1636 | compat, sizeof(compat)-1); |
1533 | if (len <= 0) | 1637 | if (len <= 0) |
1534 | return PLATFORM_GENERIC; | 1638 | return PLATFORM_GENERIC; |
1535 | compat[len] = 0; | 1639 | if (strncmp(compat, RELOC("chrp"), 4)) |
1536 | if (strcmp(compat, "chrp")) | ||
1537 | return PLATFORM_GENERIC; | 1640 | return PLATFORM_GENERIC; |
1538 | 1641 | ||
1539 | /* Default to pSeries. We need to know if we are running LPAR */ | 1642 | /* Default to pSeries. We need to know if we are running LPAR */ |
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index bcb83574335b..4a677d1bd4ef 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c | |||
@@ -538,7 +538,7 @@ void do_syscall_trace_enter(struct pt_regs *regs) | |||
538 | do_syscall_trace(); | 538 | do_syscall_trace(); |
539 | 539 | ||
540 | if (unlikely(current->audit_context)) | 540 | if (unlikely(current->audit_context)) |
541 | audit_syscall_entry(current, | 541 | audit_syscall_entry( |
542 | #ifdef CONFIG_PPC32 | 542 | #ifdef CONFIG_PPC32 |
543 | AUDIT_ARCH_PPC, | 543 | AUDIT_ARCH_PPC, |
544 | #else | 544 | #else |
@@ -556,8 +556,7 @@ void do_syscall_trace_leave(struct pt_regs *regs) | |||
556 | #endif | 556 | #endif |
557 | 557 | ||
558 | if (unlikely(current->audit_context)) | 558 | if (unlikely(current->audit_context)) |
559 | audit_syscall_exit(current, | 559 | audit_syscall_exit((regs->ccr&0x1000)?AUDITSC_FAILURE:AUDITSC_SUCCESS, |
560 | (regs->ccr&0x1000)?AUDITSC_FAILURE:AUDITSC_SUCCESS, | ||
561 | regs->result); | 560 | regs->result); |
562 | 561 | ||
563 | if ((test_thread_flag(TIF_SYSCALL_TRACE) | 562 | if ((test_thread_flag(TIF_SYSCALL_TRACE) |
diff --git a/arch/powerpc/kernel/rtas-proc.c b/arch/powerpc/kernel/rtas-proc.c index 456286cf1d14..9c9ad1fa9cce 100644 --- a/arch/powerpc/kernel/rtas-proc.c +++ b/arch/powerpc/kernel/rtas-proc.c | |||
@@ -258,11 +258,11 @@ static int __init proc_rtas_init(void) | |||
258 | struct proc_dir_entry *entry; | 258 | struct proc_dir_entry *entry; |
259 | 259 | ||
260 | if (!machine_is(pseries)) | 260 | if (!machine_is(pseries)) |
261 | return 1; | 261 | return -ENODEV; |
262 | 262 | ||
263 | rtas_node = of_find_node_by_name(NULL, "rtas"); | 263 | rtas_node = of_find_node_by_name(NULL, "rtas"); |
264 | if (rtas_node == NULL) | 264 | if (rtas_node == NULL) |
265 | return 1; | 265 | return -ENODEV; |
266 | 266 | ||
267 | entry = create_proc_entry("ppc64/rtas/progress", S_IRUGO|S_IWUSR, NULL); | 267 | entry = create_proc_entry("ppc64/rtas/progress", S_IRUGO|S_IWUSR, NULL); |
268 | if (entry) | 268 | if (entry) |
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 1d93e73a7003..684ab1d49c65 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
@@ -516,3 +516,11 @@ void probe_machine(void) | |||
516 | 516 | ||
517 | printk(KERN_INFO "Using %s machine description\n", ppc_md.name); | 517 | printk(KERN_INFO "Using %s machine description\n", ppc_md.name); |
518 | } | 518 | } |
519 | |||
520 | int check_legacy_ioport(unsigned long base_port) | ||
521 | { | ||
522 | if (ppc_md.check_legacy_ioport == NULL) | ||
523 | return 0; | ||
524 | return ppc_md.check_legacy_ioport(base_port); | ||
525 | } | ||
526 | EXPORT_SYMBOL(check_legacy_ioport); | ||
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 13e91c4d70a8..4467c49903b6 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -594,14 +594,6 @@ void ppc64_terminate_msg(unsigned int src, const char *msg) | |||
594 | printk("[terminate]%04x %s\n", src, msg); | 594 | printk("[terminate]%04x %s\n", src, msg); |
595 | } | 595 | } |
596 | 596 | ||
597 | int check_legacy_ioport(unsigned long base_port) | ||
598 | { | ||
599 | if (ppc_md.check_legacy_ioport == NULL) | ||
600 | return 0; | ||
601 | return ppc_md.check_legacy_ioport(base_port); | ||
602 | } | ||
603 | EXPORT_SYMBOL(check_legacy_ioport); | ||
604 | |||
605 | void cpu_die(void) | 597 | void cpu_die(void) |
606 | { | 598 | { |
607 | if (ppc_md.cpu_die) | 599 | if (ppc_md.cpu_die) |
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index 73560ef6f802..5bc2585c8036 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c | |||
@@ -279,7 +279,7 @@ static void unregister_cpu_online(unsigned int cpu) | |||
279 | } | 279 | } |
280 | #endif /* CONFIG_HOTPLUG_CPU */ | 280 | #endif /* CONFIG_HOTPLUG_CPU */ |
281 | 281 | ||
282 | static int __devinit sysfs_cpu_notify(struct notifier_block *self, | 282 | static int sysfs_cpu_notify(struct notifier_block *self, |
283 | unsigned long action, void *hcpu) | 283 | unsigned long action, void *hcpu) |
284 | { | 284 | { |
285 | unsigned int cpu = (unsigned int)(long)hcpu; | 285 | unsigned int cpu = (unsigned int)(long)hcpu; |
@@ -297,7 +297,7 @@ static int __devinit sysfs_cpu_notify(struct notifier_block *self, | |||
297 | return NOTIFY_OK; | 297 | return NOTIFY_OK; |
298 | } | 298 | } |
299 | 299 | ||
300 | static struct notifier_block __devinitdata sysfs_cpu_nb = { | 300 | static struct notifier_block sysfs_cpu_nb = { |
301 | .notifier_call = sysfs_cpu_notify, | 301 | .notifier_call = sysfs_cpu_notify, |
302 | }; | 302 | }; |
303 | 303 | ||
@@ -322,13 +322,31 @@ static void register_nodes(void) | |||
322 | } | 322 | } |
323 | } | 323 | } |
324 | } | 324 | } |
325 | |||
326 | int sysfs_add_device_to_node(struct sys_device *dev, int nid) | ||
327 | { | ||
328 | struct node *node = &node_devices[nid]; | ||
329 | return sysfs_create_link(&node->sysdev.kobj, &dev->kobj, | ||
330 | kobject_name(&dev->kobj)); | ||
331 | } | ||
332 | |||
333 | void sysfs_remove_device_from_node(struct sys_device *dev, int nid) | ||
334 | { | ||
335 | struct node *node = &node_devices[nid]; | ||
336 | sysfs_remove_link(&node->sysdev.kobj, kobject_name(&dev->kobj)); | ||
337 | } | ||
338 | |||
325 | #else | 339 | #else |
326 | static void register_nodes(void) | 340 | static void register_nodes(void) |
327 | { | 341 | { |
328 | return; | 342 | return; |
329 | } | 343 | } |
344 | |||
330 | #endif | 345 | #endif |
331 | 346 | ||
347 | EXPORT_SYMBOL_GPL(sysfs_add_device_to_node); | ||
348 | EXPORT_SYMBOL_GPL(sysfs_remove_device_from_node); | ||
349 | |||
332 | /* Only valid if CPU is present. */ | 350 | /* Only valid if CPU is present. */ |
333 | static ssize_t show_physical_id(struct sys_device *dev, char *buf) | 351 | static ssize_t show_physical_id(struct sys_device *dev, char *buf) |
334 | { | 352 | { |
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index a14c96403840..cf56a1d499ff 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S | |||
@@ -324,3 +324,22 @@ COMPAT_SYS(ppoll) | |||
324 | SYSCALL(unshare) | 324 | SYSCALL(unshare) |
325 | SYSCALL(splice) | 325 | SYSCALL(splice) |
326 | SYSCALL(tee) | 326 | SYSCALL(tee) |
327 | SYSCALL(vmsplice) | ||
328 | COMPAT_SYS(openat) | ||
329 | SYSCALL(mkdirat) | ||
330 | SYSCALL(mknodat) | ||
331 | SYSCALL(fchownat) | ||
332 | COMPAT_SYS(futimesat) | ||
333 | SYSX(sys_newfstatat, sys_fstatat64, sys_fstatat64) | ||
334 | SYSCALL(unlinkat) | ||
335 | SYSCALL(renameat) | ||
336 | SYSCALL(linkat) | ||
337 | SYSCALL(symlinkat) | ||
338 | SYSCALL(readlinkat) | ||
339 | SYSCALL(fchmodat) | ||
340 | SYSCALL(faccessat) | ||
341 | |||
342 | /* | ||
343 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c | ||
344 | * as well when appropriate. | ||
345 | */ | ||
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c index 13c655ba2841..971020cf3f7d 100644 --- a/arch/powerpc/kernel/vio.c +++ b/arch/powerpc/kernel/vio.c | |||
@@ -202,7 +202,7 @@ static dma_addr_t vio_map_single(struct device *dev, void *vaddr, | |||
202 | size_t size, enum dma_data_direction direction) | 202 | size_t size, enum dma_data_direction direction) |
203 | { | 203 | { |
204 | return iommu_map_single(to_vio_dev(dev)->iommu_table, vaddr, size, | 204 | return iommu_map_single(to_vio_dev(dev)->iommu_table, vaddr, size, |
205 | direction); | 205 | ~0ul, direction); |
206 | } | 206 | } |
207 | 207 | ||
208 | static void vio_unmap_single(struct device *dev, dma_addr_t dma_handle, | 208 | static void vio_unmap_single(struct device *dev, dma_addr_t dma_handle, |
@@ -216,7 +216,7 @@ static int vio_map_sg(struct device *dev, struct scatterlist *sglist, | |||
216 | int nelems, enum dma_data_direction direction) | 216 | int nelems, enum dma_data_direction direction) |
217 | { | 217 | { |
218 | return iommu_map_sg(dev, to_vio_dev(dev)->iommu_table, sglist, | 218 | return iommu_map_sg(dev, to_vio_dev(dev)->iommu_table, sglist, |
219 | nelems, direction); | 219 | nelems, ~0ul, direction); |
220 | } | 220 | } |
221 | 221 | ||
222 | static void vio_unmap_sg(struct device *dev, struct scatterlist *sglist, | 222 | static void vio_unmap_sg(struct device *dev, struct scatterlist *sglist, |
@@ -229,7 +229,7 @@ static void *vio_alloc_coherent(struct device *dev, size_t size, | |||
229 | dma_addr_t *dma_handle, gfp_t flag) | 229 | dma_addr_t *dma_handle, gfp_t flag) |
230 | { | 230 | { |
231 | return iommu_alloc_coherent(to_vio_dev(dev)->iommu_table, size, | 231 | return iommu_alloc_coherent(to_vio_dev(dev)->iommu_table, size, |
232 | dma_handle, flag); | 232 | dma_handle, ~0ul, flag); |
233 | } | 233 | } |
234 | 234 | ||
235 | static void vio_free_coherent(struct device *dev, size_t size, | 235 | static void vio_free_coherent(struct device *dev, size_t size, |
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 7370f9f33e29..266b8b2ceac9 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -30,13 +30,66 @@ | |||
30 | #define NUM_LOW_AREAS (0x100000000UL >> SID_SHIFT) | 30 | #define NUM_LOW_AREAS (0x100000000UL >> SID_SHIFT) |
31 | #define NUM_HIGH_AREAS (PGTABLE_RANGE >> HTLB_AREA_SHIFT) | 31 | #define NUM_HIGH_AREAS (PGTABLE_RANGE >> HTLB_AREA_SHIFT) |
32 | 32 | ||
33 | #ifdef CONFIG_PPC_64K_PAGES | ||
34 | #define HUGEPTE_INDEX_SIZE (PMD_SHIFT-HPAGE_SHIFT) | ||
35 | #else | ||
36 | #define HUGEPTE_INDEX_SIZE (PUD_SHIFT-HPAGE_SHIFT) | ||
37 | #endif | ||
38 | #define PTRS_PER_HUGEPTE (1 << HUGEPTE_INDEX_SIZE) | ||
39 | #define HUGEPTE_TABLE_SIZE (sizeof(pte_t) << HUGEPTE_INDEX_SIZE) | ||
40 | |||
41 | #define HUGEPD_SHIFT (HPAGE_SHIFT + HUGEPTE_INDEX_SIZE) | ||
42 | #define HUGEPD_SIZE (1UL << HUGEPD_SHIFT) | ||
43 | #define HUGEPD_MASK (~(HUGEPD_SIZE-1)) | ||
44 | |||
45 | #define huge_pgtable_cache (pgtable_cache[HUGEPTE_CACHE_NUM]) | ||
46 | |||
47 | /* Flag to mark huge PD pointers. This means pmd_bad() and pud_bad() | ||
48 | * will choke on pointers to hugepte tables, which is handy for | ||
49 | * catching screwups early. */ | ||
50 | #define HUGEPD_OK 0x1 | ||
51 | |||
52 | typedef struct { unsigned long pd; } hugepd_t; | ||
53 | |||
54 | #define hugepd_none(hpd) ((hpd).pd == 0) | ||
55 | |||
56 | static inline pte_t *hugepd_page(hugepd_t hpd) | ||
57 | { | ||
58 | BUG_ON(!(hpd.pd & HUGEPD_OK)); | ||
59 | return (pte_t *)(hpd.pd & ~HUGEPD_OK); | ||
60 | } | ||
61 | |||
62 | static inline pte_t *hugepte_offset(hugepd_t *hpdp, unsigned long addr) | ||
63 | { | ||
64 | unsigned long idx = ((addr >> HPAGE_SHIFT) & (PTRS_PER_HUGEPTE-1)); | ||
65 | pte_t *dir = hugepd_page(*hpdp); | ||
66 | |||
67 | return dir + idx; | ||
68 | } | ||
69 | |||
70 | static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp, | ||
71 | unsigned long address) | ||
72 | { | ||
73 | pte_t *new = kmem_cache_alloc(huge_pgtable_cache, | ||
74 | GFP_KERNEL|__GFP_REPEAT); | ||
75 | |||
76 | if (! new) | ||
77 | return -ENOMEM; | ||
78 | |||
79 | spin_lock(&mm->page_table_lock); | ||
80 | if (!hugepd_none(*hpdp)) | ||
81 | kmem_cache_free(huge_pgtable_cache, new); | ||
82 | else | ||
83 | hpdp->pd = (unsigned long)new | HUGEPD_OK; | ||
84 | spin_unlock(&mm->page_table_lock); | ||
85 | return 0; | ||
86 | } | ||
87 | |||
33 | /* Modelled after find_linux_pte() */ | 88 | /* Modelled after find_linux_pte() */ |
34 | pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) | 89 | pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) |
35 | { | 90 | { |
36 | pgd_t *pg; | 91 | pgd_t *pg; |
37 | pud_t *pu; | 92 | pud_t *pu; |
38 | pmd_t *pm; | ||
39 | pte_t *pt; | ||
40 | 93 | ||
41 | BUG_ON(! in_hugepage_area(mm->context, addr)); | 94 | BUG_ON(! in_hugepage_area(mm->context, addr)); |
42 | 95 | ||
@@ -46,26 +99,14 @@ pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) | |||
46 | if (!pgd_none(*pg)) { | 99 | if (!pgd_none(*pg)) { |
47 | pu = pud_offset(pg, addr); | 100 | pu = pud_offset(pg, addr); |
48 | if (!pud_none(*pu)) { | 101 | if (!pud_none(*pu)) { |
49 | pm = pmd_offset(pu, addr); | ||
50 | #ifdef CONFIG_PPC_64K_PAGES | 102 | #ifdef CONFIG_PPC_64K_PAGES |
51 | /* Currently, we use the normal PTE offset within full | 103 | pmd_t *pm; |
52 | * size PTE pages, thus our huge PTEs are scattered in | 104 | pm = pmd_offset(pu, addr); |
53 | * the PTE page and we do waste some. We may change | 105 | if (!pmd_none(*pm)) |
54 | * that in the future, but the current mecanism keeps | 106 | return hugepte_offset((hugepd_t *)pm, addr); |
55 | * things much simpler | 107 | #else |
56 | */ | 108 | return hugepte_offset((hugepd_t *)pu, addr); |
57 | if (!pmd_none(*pm)) { | 109 | #endif |
58 | /* Note: pte_offset_* are all equivalent on | ||
59 | * ppc64 as we don't have HIGHMEM | ||
60 | */ | ||
61 | pt = pte_offset_kernel(pm, addr); | ||
62 | return pt; | ||
63 | } | ||
64 | #else /* CONFIG_PPC_64K_PAGES */ | ||
65 | /* On 4k pages, we put huge PTEs in the PMD page */ | ||
66 | pt = (pte_t *)pm; | ||
67 | return pt; | ||
68 | #endif /* CONFIG_PPC_64K_PAGES */ | ||
69 | } | 110 | } |
70 | } | 111 | } |
71 | 112 | ||
@@ -76,8 +117,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr) | |||
76 | { | 117 | { |
77 | pgd_t *pg; | 118 | pgd_t *pg; |
78 | pud_t *pu; | 119 | pud_t *pu; |
79 | pmd_t *pm; | 120 | hugepd_t *hpdp = NULL; |
80 | pte_t *pt; | ||
81 | 121 | ||
82 | BUG_ON(! in_hugepage_area(mm->context, addr)); | 122 | BUG_ON(! in_hugepage_area(mm->context, addr)); |
83 | 123 | ||
@@ -87,23 +127,182 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr) | |||
87 | pu = pud_alloc(mm, pg, addr); | 127 | pu = pud_alloc(mm, pg, addr); |
88 | 128 | ||
89 | if (pu) { | 129 | if (pu) { |
130 | #ifdef CONFIG_PPC_64K_PAGES | ||
131 | pmd_t *pm; | ||
90 | pm = pmd_alloc(mm, pu, addr); | 132 | pm = pmd_alloc(mm, pu, addr); |
91 | if (pm) { | 133 | if (pm) |
134 | hpdp = (hugepd_t *)pm; | ||
135 | #else | ||
136 | hpdp = (hugepd_t *)pu; | ||
137 | #endif | ||
138 | } | ||
139 | |||
140 | if (! hpdp) | ||
141 | return NULL; | ||
142 | |||
143 | if (hugepd_none(*hpdp) && __hugepte_alloc(mm, hpdp, addr)) | ||
144 | return NULL; | ||
145 | |||
146 | return hugepte_offset(hpdp, addr); | ||
147 | } | ||
148 | |||
149 | static void free_hugepte_range(struct mmu_gather *tlb, hugepd_t *hpdp) | ||
150 | { | ||
151 | pte_t *hugepte = hugepd_page(*hpdp); | ||
152 | |||
153 | hpdp->pd = 0; | ||
154 | tlb->need_flush = 1; | ||
155 | pgtable_free_tlb(tlb, pgtable_free_cache(hugepte, HUGEPTE_CACHE_NUM, | ||
156 | HUGEPTE_TABLE_SIZE-1)); | ||
157 | } | ||
158 | |||
92 | #ifdef CONFIG_PPC_64K_PAGES | 159 | #ifdef CONFIG_PPC_64K_PAGES |
93 | /* See comment in huge_pte_offset. Note that if we ever | 160 | static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, |
94 | * want to put the page size in the PMD, we would have | 161 | unsigned long addr, unsigned long end, |
95 | * to open code our own pte_alloc* function in order | 162 | unsigned long floor, unsigned long ceiling) |
96 | * to populate and set the size atomically | 163 | { |
97 | */ | 164 | pmd_t *pmd; |
98 | pt = pte_alloc_map(mm, pm, addr); | 165 | unsigned long next; |
99 | #else /* CONFIG_PPC_64K_PAGES */ | 166 | unsigned long start; |
100 | pt = (pte_t *)pm; | 167 | |
101 | #endif /* CONFIG_PPC_64K_PAGES */ | 168 | start = addr; |
102 | return pt; | 169 | pmd = pmd_offset(pud, addr); |
103 | } | 170 | do { |
171 | next = pmd_addr_end(addr, end); | ||
172 | if (pmd_none(*pmd)) | ||
173 | continue; | ||
174 | free_hugepte_range(tlb, (hugepd_t *)pmd); | ||
175 | } while (pmd++, addr = next, addr != end); | ||
176 | |||
177 | start &= PUD_MASK; | ||
178 | if (start < floor) | ||
179 | return; | ||
180 | if (ceiling) { | ||
181 | ceiling &= PUD_MASK; | ||
182 | if (!ceiling) | ||
183 | return; | ||
104 | } | 184 | } |
185 | if (end - 1 > ceiling - 1) | ||
186 | return; | ||
105 | 187 | ||
106 | return NULL; | 188 | pmd = pmd_offset(pud, start); |
189 | pud_clear(pud); | ||
190 | pmd_free_tlb(tlb, pmd); | ||
191 | } | ||
192 | #endif | ||
193 | |||
194 | static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd, | ||
195 | unsigned long addr, unsigned long end, | ||
196 | unsigned long floor, unsigned long ceiling) | ||
197 | { | ||
198 | pud_t *pud; | ||
199 | unsigned long next; | ||
200 | unsigned long start; | ||
201 | |||
202 | start = addr; | ||
203 | pud = pud_offset(pgd, addr); | ||
204 | do { | ||
205 | next = pud_addr_end(addr, end); | ||
206 | #ifdef CONFIG_PPC_64K_PAGES | ||
207 | if (pud_none_or_clear_bad(pud)) | ||
208 | continue; | ||
209 | hugetlb_free_pmd_range(tlb, pud, addr, next, floor, ceiling); | ||
210 | #else | ||
211 | if (pud_none(*pud)) | ||
212 | continue; | ||
213 | free_hugepte_range(tlb, (hugepd_t *)pud); | ||
214 | #endif | ||
215 | } while (pud++, addr = next, addr != end); | ||
216 | |||
217 | start &= PGDIR_MASK; | ||
218 | if (start < floor) | ||
219 | return; | ||
220 | if (ceiling) { | ||
221 | ceiling &= PGDIR_MASK; | ||
222 | if (!ceiling) | ||
223 | return; | ||
224 | } | ||
225 | if (end - 1 > ceiling - 1) | ||
226 | return; | ||
227 | |||
228 | pud = pud_offset(pgd, start); | ||
229 | pgd_clear(pgd); | ||
230 | pud_free_tlb(tlb, pud); | ||
231 | } | ||
232 | |||
233 | /* | ||
234 | * This function frees user-level page tables of a process. | ||
235 | * | ||
236 | * Must be called with pagetable lock held. | ||
237 | */ | ||
238 | void hugetlb_free_pgd_range(struct mmu_gather **tlb, | ||
239 | unsigned long addr, unsigned long end, | ||
240 | unsigned long floor, unsigned long ceiling) | ||
241 | { | ||
242 | pgd_t *pgd; | ||
243 | unsigned long next; | ||
244 | unsigned long start; | ||
245 | |||
246 | /* | ||
247 | * Comments below take from the normal free_pgd_range(). They | ||
248 | * apply here too. The tests against HUGEPD_MASK below are | ||
249 | * essential, because we *don't* test for this at the bottom | ||
250 | * level. Without them we'll attempt to free a hugepte table | ||
251 | * when we unmap just part of it, even if there are other | ||
252 | * active mappings using it. | ||
253 | * | ||
254 | * The next few lines have given us lots of grief... | ||
255 | * | ||
256 | * Why are we testing HUGEPD* at this top level? Because | ||
257 | * often there will be no work to do at all, and we'd prefer | ||
258 | * not to go all the way down to the bottom just to discover | ||
259 | * that. | ||
260 | * | ||
261 | * Why all these "- 1"s? Because 0 represents both the bottom | ||
262 | * of the address space and the top of it (using -1 for the | ||
263 | * top wouldn't help much: the masks would do the wrong thing). | ||
264 | * The rule is that addr 0 and floor 0 refer to the bottom of | ||
265 | * the address space, but end 0 and ceiling 0 refer to the top | ||
266 | * Comparisons need to use "end - 1" and "ceiling - 1" (though | ||
267 | * that end 0 case should be mythical). | ||
268 | * | ||
269 | * Wherever addr is brought up or ceiling brought down, we | ||
270 | * must be careful to reject "the opposite 0" before it | ||
271 | * confuses the subsequent tests. But what about where end is | ||
272 | * brought down by HUGEPD_SIZE below? no, end can't go down to | ||
273 | * 0 there. | ||
274 | * | ||
275 | * Whereas we round start (addr) and ceiling down, by different | ||
276 | * masks at different levels, in order to test whether a table | ||
277 | * now has no other vmas using it, so can be freed, we don't | ||
278 | * bother to round floor or end up - the tests don't need that. | ||
279 | */ | ||
280 | |||
281 | addr &= HUGEPD_MASK; | ||
282 | if (addr < floor) { | ||
283 | addr += HUGEPD_SIZE; | ||
284 | if (!addr) | ||
285 | return; | ||
286 | } | ||
287 | if (ceiling) { | ||
288 | ceiling &= HUGEPD_MASK; | ||
289 | if (!ceiling) | ||
290 | return; | ||
291 | } | ||
292 | if (end - 1 > ceiling - 1) | ||
293 | end -= HUGEPD_SIZE; | ||
294 | if (addr > end - 1) | ||
295 | return; | ||
296 | |||
297 | start = addr; | ||
298 | pgd = pgd_offset((*tlb)->mm, addr); | ||
299 | do { | ||
300 | BUG_ON(! in_hugepage_area((*tlb)->mm->context, addr)); | ||
301 | next = pgd_addr_end(addr, end); | ||
302 | if (pgd_none_or_clear_bad(pgd)) | ||
303 | continue; | ||
304 | hugetlb_free_pud_range(*tlb, pgd, addr, next, floor, ceiling); | ||
305 | } while (pgd++, addr = next, addr != end); | ||
107 | } | 306 | } |
108 | 307 | ||
109 | void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, | 308 | void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, |
@@ -841,3 +1040,27 @@ repeat: | |||
841 | out: | 1040 | out: |
842 | return err; | 1041 | return err; |
843 | } | 1042 | } |
1043 | |||
1044 | static void zero_ctor(void *addr, kmem_cache_t *cache, unsigned long flags) | ||
1045 | { | ||
1046 | memset(addr, 0, kmem_cache_size(cache)); | ||
1047 | } | ||
1048 | |||
1049 | static int __init hugetlbpage_init(void) | ||
1050 | { | ||
1051 | if (!cpu_has_feature(CPU_FTR_16M_PAGE)) | ||
1052 | return -ENODEV; | ||
1053 | |||
1054 | huge_pgtable_cache = kmem_cache_create("hugepte_cache", | ||
1055 | HUGEPTE_TABLE_SIZE, | ||
1056 | HUGEPTE_TABLE_SIZE, | ||
1057 | SLAB_HWCACHE_ALIGN | | ||
1058 | SLAB_MUST_HWCACHE_ALIGN, | ||
1059 | zero_ctor, NULL); | ||
1060 | if (! huge_pgtable_cache) | ||
1061 | panic("hugetlbpage_init(): could not create hugepte cache\n"); | ||
1062 | |||
1063 | return 0; | ||
1064 | } | ||
1065 | |||
1066 | module_init(hugetlbpage_init); | ||
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index babebd15bdc4..9e30f968c184 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -162,7 +162,14 @@ static const char *pgtable_cache_name[ARRAY_SIZE(pgtable_cache_size)] = { | |||
162 | }; | 162 | }; |
163 | #endif /* CONFIG_PPC_64K_PAGES */ | 163 | #endif /* CONFIG_PPC_64K_PAGES */ |
164 | 164 | ||
165 | #ifdef CONFIG_HUGETLB_PAGE | ||
166 | /* Hugepages need one extra cache, initialized in hugetlbpage.c. We | ||
167 | * can't put into the tables above, because HPAGE_SHIFT is not compile | ||
168 | * time constant. */ | ||
169 | kmem_cache_t *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)+1]; | ||
170 | #else | ||
165 | kmem_cache_t *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)]; | 171 | kmem_cache_t *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)]; |
172 | #endif | ||
166 | 173 | ||
167 | void pgtable_cache_init(void) | 174 | void pgtable_cache_init(void) |
168 | { | 175 | { |
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 0a335f34974c..092355f37399 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -194,7 +194,7 @@ static int *of_get_associativity(struct device_node *dev) | |||
194 | /* Returns nid in the range [0..MAX_NUMNODES-1], or -1 if no useful numa | 194 | /* Returns nid in the range [0..MAX_NUMNODES-1], or -1 if no useful numa |
195 | * info is found. | 195 | * info is found. |
196 | */ | 196 | */ |
197 | static int of_node_to_nid(struct device_node *device) | 197 | static int of_node_to_nid_single(struct device_node *device) |
198 | { | 198 | { |
199 | int nid = -1; | 199 | int nid = -1; |
200 | unsigned int *tmp; | 200 | unsigned int *tmp; |
@@ -216,6 +216,28 @@ out: | |||
216 | return nid; | 216 | return nid; |
217 | } | 217 | } |
218 | 218 | ||
219 | /* Walk the device tree upwards, looking for an associativity id */ | ||
220 | int of_node_to_nid(struct device_node *device) | ||
221 | { | ||
222 | struct device_node *tmp; | ||
223 | int nid = -1; | ||
224 | |||
225 | of_node_get(device); | ||
226 | while (device) { | ||
227 | nid = of_node_to_nid_single(device); | ||
228 | if (nid != -1) | ||
229 | break; | ||
230 | |||
231 | tmp = device; | ||
232 | device = of_get_parent(tmp); | ||
233 | of_node_put(tmp); | ||
234 | } | ||
235 | of_node_put(device); | ||
236 | |||
237 | return nid; | ||
238 | } | ||
239 | EXPORT_SYMBOL_GPL(of_node_to_nid); | ||
240 | |||
219 | /* | 241 | /* |
220 | * In theory, the "ibm,associativity" property may contain multiple | 242 | * In theory, the "ibm,associativity" property may contain multiple |
221 | * associativity lists because a resource may be multiply connected | 243 | * associativity lists because a resource may be multiply connected |
@@ -300,7 +322,7 @@ static int __cpuinit numa_setup_cpu(unsigned long lcpu) | |||
300 | goto out; | 322 | goto out; |
301 | } | 323 | } |
302 | 324 | ||
303 | nid = of_node_to_nid(cpu); | 325 | nid = of_node_to_nid_single(cpu); |
304 | 326 | ||
305 | if (nid < 0 || !node_online(nid)) | 327 | if (nid < 0 || !node_online(nid)) |
306 | nid = any_online_node(NODE_MASK_ALL); | 328 | nid = any_online_node(NODE_MASK_ALL); |
@@ -393,7 +415,7 @@ static int __init parse_numa_properties(void) | |||
393 | 415 | ||
394 | cpu = find_cpu_node(i); | 416 | cpu = find_cpu_node(i); |
395 | BUG_ON(!cpu); | 417 | BUG_ON(!cpu); |
396 | nid = of_node_to_nid(cpu); | 418 | nid = of_node_to_nid_single(cpu); |
397 | of_node_put(cpu); | 419 | of_node_put(cpu); |
398 | 420 | ||
399 | /* | 421 | /* |
@@ -437,7 +459,7 @@ new_range: | |||
437 | * have associativity properties. If none, then | 459 | * have associativity properties. If none, then |
438 | * everything goes to default_nid. | 460 | * everything goes to default_nid. |
439 | */ | 461 | */ |
440 | nid = of_node_to_nid(memory); | 462 | nid = of_node_to_nid_single(memory); |
441 | if (nid < 0) | 463 | if (nid < 0) |
442 | nid = default_nid; | 464 | nid = default_nid; |
443 | node_set_online(nid); | 465 | node_set_online(nid); |
@@ -776,7 +798,7 @@ int hot_add_scn_to_nid(unsigned long scn_addr) | |||
776 | ha_new_range: | 798 | ha_new_range: |
777 | start = read_n_cells(n_mem_addr_cells, &memcell_buf); | 799 | start = read_n_cells(n_mem_addr_cells, &memcell_buf); |
778 | size = read_n_cells(n_mem_size_cells, &memcell_buf); | 800 | size = read_n_cells(n_mem_size_cells, &memcell_buf); |
779 | nid = of_node_to_nid(memory); | 801 | nid = of_node_to_nid_single(memory); |
780 | 802 | ||
781 | /* Domains not present at boot default to 0 */ | 803 | /* Domains not present at boot default to 0 */ |
782 | if (nid < 0 || !node_online(nid)) | 804 | if (nid < 0 || !node_online(nid)) |
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig index c2a3db8edb0c..6a02d51086c8 100644 --- a/arch/powerpc/platforms/cell/Kconfig +++ b/arch/powerpc/platforms/cell/Kconfig | |||
@@ -12,7 +12,8 @@ config SPU_FS | |||
12 | 12 | ||
13 | config SPUFS_MMAP | 13 | config SPUFS_MMAP |
14 | bool | 14 | bool |
15 | depends on SPU_FS && SPARSEMEM && !PPC_64K_PAGES | 15 | depends on SPU_FS && SPARSEMEM |
16 | select MEMORY_HOTPLUG | ||
16 | default y | 17 | default y |
17 | 18 | ||
18 | endmenu | 19 | endmenu |
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c index dac5d0365fde..6574b22b3cf3 100644 --- a/arch/powerpc/platforms/cell/setup.c +++ b/arch/powerpc/platforms/cell/setup.c | |||
@@ -29,6 +29,8 @@ | |||
29 | #include <linux/seq_file.h> | 29 | #include <linux/seq_file.h> |
30 | #include <linux/root_dev.h> | 30 | #include <linux/root_dev.h> |
31 | #include <linux/console.h> | 31 | #include <linux/console.h> |
32 | #include <linux/mutex.h> | ||
33 | #include <linux/memory_hotplug.h> | ||
32 | 34 | ||
33 | #include <asm/mmu.h> | 35 | #include <asm/mmu.h> |
34 | #include <asm/processor.h> | 36 | #include <asm/processor.h> |
@@ -46,6 +48,7 @@ | |||
46 | #include <asm/cputable.h> | 48 | #include <asm/cputable.h> |
47 | #include <asm/ppc-pci.h> | 49 | #include <asm/ppc-pci.h> |
48 | #include <asm/irq.h> | 50 | #include <asm/irq.h> |
51 | #include <asm/spu.h> | ||
49 | 52 | ||
50 | #include "interrupt.h" | 53 | #include "interrupt.h" |
51 | #include "iommu.h" | 54 | #include "iommu.h" |
@@ -69,77 +72,6 @@ static void cell_show_cpuinfo(struct seq_file *m) | |||
69 | of_node_put(root); | 72 | of_node_put(root); |
70 | } | 73 | } |
71 | 74 | ||
72 | #ifdef CONFIG_SPARSEMEM | ||
73 | static int __init find_spu_node_id(struct device_node *spe) | ||
74 | { | ||
75 | unsigned int *id; | ||
76 | #ifdef CONFIG_NUMA | ||
77 | struct device_node *cpu; | ||
78 | cpu = spe->parent->parent; | ||
79 | id = (unsigned int *)get_property(cpu, "node-id", NULL); | ||
80 | #else | ||
81 | id = NULL; | ||
82 | #endif | ||
83 | return id ? *id : 0; | ||
84 | } | ||
85 | |||
86 | static void __init cell_spuprop_present(struct device_node *spe, | ||
87 | const char *prop, int early) | ||
88 | { | ||
89 | struct address_prop { | ||
90 | unsigned long address; | ||
91 | unsigned int len; | ||
92 | } __attribute__((packed)) *p; | ||
93 | int proplen; | ||
94 | |||
95 | unsigned long start_pfn, end_pfn, pfn; | ||
96 | int node_id; | ||
97 | |||
98 | p = (void*)get_property(spe, prop, &proplen); | ||
99 | WARN_ON(proplen != sizeof (*p)); | ||
100 | |||
101 | node_id = find_spu_node_id(spe); | ||
102 | |||
103 | start_pfn = p->address >> PAGE_SHIFT; | ||
104 | end_pfn = (p->address + p->len + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
105 | |||
106 | /* We need to call memory_present *before* the call to sparse_init, | ||
107 | but we can initialize the page structs only *after* that call. | ||
108 | Thus, we're being called twice. */ | ||
109 | if (early) | ||
110 | memory_present(node_id, start_pfn, end_pfn); | ||
111 | else { | ||
112 | /* As the pages backing SPU LS and I/O are outside the range | ||
113 | of regular memory, their page structs were not initialized | ||
114 | by free_area_init. Do it here instead. */ | ||
115 | for (pfn = start_pfn; pfn < end_pfn; pfn++) { | ||
116 | struct page *page = pfn_to_page(pfn); | ||
117 | set_page_links(page, ZONE_DMA, node_id, pfn); | ||
118 | init_page_count(page); | ||
119 | reset_page_mapcount(page); | ||
120 | SetPageReserved(page); | ||
121 | INIT_LIST_HEAD(&page->lru); | ||
122 | } | ||
123 | } | ||
124 | } | ||
125 | |||
126 | static void __init cell_spumem_init(int early) | ||
127 | { | ||
128 | struct device_node *node; | ||
129 | for (node = of_find_node_by_type(NULL, "spe"); | ||
130 | node; node = of_find_node_by_type(node, "spe")) { | ||
131 | cell_spuprop_present(node, "local-store", early); | ||
132 | cell_spuprop_present(node, "problem", early); | ||
133 | cell_spuprop_present(node, "priv1", early); | ||
134 | cell_spuprop_present(node, "priv2", early); | ||
135 | } | ||
136 | } | ||
137 | #else | ||
138 | static void __init cell_spumem_init(int early) | ||
139 | { | ||
140 | } | ||
141 | #endif | ||
142 | |||
143 | static void cell_progress(char *s, unsigned short hex) | 75 | static void cell_progress(char *s, unsigned short hex) |
144 | { | 76 | { |
145 | printk("*** %04x : %s\n", hex, s ? s : ""); | 77 | printk("*** %04x : %s\n", hex, s ? s : ""); |
@@ -172,8 +104,6 @@ static void __init cell_setup_arch(void) | |||
172 | #endif | 104 | #endif |
173 | 105 | ||
174 | mmio_nvram_init(); | 106 | mmio_nvram_init(); |
175 | |||
176 | cell_spumem_init(0); | ||
177 | } | 107 | } |
178 | 108 | ||
179 | /* | 109 | /* |
@@ -189,8 +119,6 @@ static void __init cell_init_early(void) | |||
189 | 119 | ||
190 | ppc64_interrupt_controller = IC_CELL_PIC; | 120 | ppc64_interrupt_controller = IC_CELL_PIC; |
191 | 121 | ||
192 | cell_spumem_init(1); | ||
193 | |||
194 | DBG(" <- cell_init_early()\n"); | 122 | DBG(" <- cell_init_early()\n"); |
195 | } | 123 | } |
196 | 124 | ||
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index 269dda4fd0b4..ad141fe8d52d 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c | |||
@@ -306,19 +306,19 @@ spu_request_irqs(struct spu *spu) | |||
306 | 306 | ||
307 | snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number); | 307 | snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number); |
308 | ret = request_irq(irq_base + spu->isrc, | 308 | ret = request_irq(irq_base + spu->isrc, |
309 | spu_irq_class_0, 0, spu->irq_c0, spu); | 309 | spu_irq_class_0, SA_INTERRUPT, spu->irq_c0, spu); |
310 | if (ret) | 310 | if (ret) |
311 | goto out; | 311 | goto out; |
312 | 312 | ||
313 | snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number); | 313 | snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number); |
314 | ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc, | 314 | ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc, |
315 | spu_irq_class_1, 0, spu->irq_c1, spu); | 315 | spu_irq_class_1, SA_INTERRUPT, spu->irq_c1, spu); |
316 | if (ret) | 316 | if (ret) |
317 | goto out1; | 317 | goto out1; |
318 | 318 | ||
319 | snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number); | 319 | snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number); |
320 | ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc, | 320 | ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc, |
321 | spu_irq_class_2, 0, spu->irq_c2, spu); | 321 | spu_irq_class_2, SA_INTERRUPT, spu->irq_c2, spu); |
322 | if (ret) | 322 | if (ret) |
323 | goto out2; | 323 | goto out2; |
324 | goto out; | 324 | goto out; |
@@ -487,10 +487,14 @@ int spu_irq_class_1_bottom(struct spu *spu) | |||
487 | ea = spu->dar; | 487 | ea = spu->dar; |
488 | dsisr = spu->dsisr; | 488 | dsisr = spu->dsisr; |
489 | if (dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED)) { | 489 | if (dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED)) { |
490 | u64 flags; | ||
491 | |||
490 | access = (_PAGE_PRESENT | _PAGE_USER); | 492 | access = (_PAGE_PRESENT | _PAGE_USER); |
491 | access |= (dsisr & MFC_DSISR_ACCESS_PUT) ? _PAGE_RW : 0UL; | 493 | access |= (dsisr & MFC_DSISR_ACCESS_PUT) ? _PAGE_RW : 0UL; |
494 | local_irq_save(flags); | ||
492 | if (hash_page(ea, access, 0x300) != 0) | 495 | if (hash_page(ea, access, 0x300) != 0) |
493 | error |= CLASS1_ENABLE_STORAGE_FAULT_INTR; | 496 | error |= CLASS1_ENABLE_STORAGE_FAULT_INTR; |
497 | local_irq_restore(flags); | ||
494 | } | 498 | } |
495 | if (error & CLASS1_ENABLE_STORAGE_FAULT_INTR) { | 499 | if (error & CLASS1_ENABLE_STORAGE_FAULT_INTR) { |
496 | if ((ret = spu_handle_mm_fault(spu)) != 0) | 500 | if ((ret = spu_handle_mm_fault(spu)) != 0) |
@@ -516,8 +520,50 @@ void spu_irq_setaffinity(struct spu *spu, int cpu) | |||
516 | } | 520 | } |
517 | EXPORT_SYMBOL_GPL(spu_irq_setaffinity); | 521 | EXPORT_SYMBOL_GPL(spu_irq_setaffinity); |
518 | 522 | ||
519 | static void __iomem * __init map_spe_prop(struct device_node *n, | 523 | static int __init find_spu_node_id(struct device_node *spe) |
520 | const char *name) | 524 | { |
525 | unsigned int *id; | ||
526 | struct device_node *cpu; | ||
527 | cpu = spe->parent->parent; | ||
528 | id = (unsigned int *)get_property(cpu, "node-id", NULL); | ||
529 | return id ? *id : 0; | ||
530 | } | ||
531 | |||
532 | static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe, | ||
533 | const char *prop) | ||
534 | { | ||
535 | static DEFINE_MUTEX(add_spumem_mutex); | ||
536 | |||
537 | struct address_prop { | ||
538 | unsigned long address; | ||
539 | unsigned int len; | ||
540 | } __attribute__((packed)) *p; | ||
541 | int proplen; | ||
542 | |||
543 | unsigned long start_pfn, nr_pages; | ||
544 | struct pglist_data *pgdata; | ||
545 | struct zone *zone; | ||
546 | int ret; | ||
547 | |||
548 | p = (void*)get_property(spe, prop, &proplen); | ||
549 | WARN_ON(proplen != sizeof (*p)); | ||
550 | |||
551 | start_pfn = p->address >> PAGE_SHIFT; | ||
552 | nr_pages = ((unsigned long)p->len + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
553 | |||
554 | pgdata = NODE_DATA(spu->nid); | ||
555 | zone = pgdata->node_zones; | ||
556 | |||
557 | /* XXX rethink locking here */ | ||
558 | mutex_lock(&add_spumem_mutex); | ||
559 | ret = __add_pages(zone, start_pfn, nr_pages); | ||
560 | mutex_unlock(&add_spumem_mutex); | ||
561 | |||
562 | return ret; | ||
563 | } | ||
564 | |||
565 | static void __iomem * __init map_spe_prop(struct spu *spu, | ||
566 | struct device_node *n, const char *name) | ||
521 | { | 567 | { |
522 | struct address_prop { | 568 | struct address_prop { |
523 | unsigned long address; | 569 | unsigned long address; |
@@ -526,6 +572,8 @@ static void __iomem * __init map_spe_prop(struct device_node *n, | |||
526 | 572 | ||
527 | void *p; | 573 | void *p; |
528 | int proplen; | 574 | int proplen; |
575 | void* ret = NULL; | ||
576 | int err = 0; | ||
529 | 577 | ||
530 | p = get_property(n, name, &proplen); | 578 | p = get_property(n, name, &proplen); |
531 | if (proplen != sizeof (struct address_prop)) | 579 | if (proplen != sizeof (struct address_prop)) |
@@ -533,7 +581,14 @@ static void __iomem * __init map_spe_prop(struct device_node *n, | |||
533 | 581 | ||
534 | prop = p; | 582 | prop = p; |
535 | 583 | ||
536 | return ioremap(prop->address, prop->len); | 584 | err = cell_spuprop_present(spu, n, name); |
585 | if (err && (err != -EEXIST)) | ||
586 | goto out; | ||
587 | |||
588 | ret = ioremap(prop->address, prop->len); | ||
589 | |||
590 | out: | ||
591 | return ret; | ||
537 | } | 592 | } |
538 | 593 | ||
539 | static void spu_unmap(struct spu *spu) | 594 | static void spu_unmap(struct spu *spu) |
@@ -544,44 +599,45 @@ static void spu_unmap(struct spu *spu) | |||
544 | iounmap((u8 __iomem *)spu->local_store); | 599 | iounmap((u8 __iomem *)spu->local_store); |
545 | } | 600 | } |
546 | 601 | ||
547 | static int __init spu_map_device(struct spu *spu, struct device_node *spe) | 602 | static int __init spu_map_device(struct spu *spu, struct device_node *node) |
548 | { | 603 | { |
549 | char *prop; | 604 | char *prop; |
550 | int ret; | 605 | int ret; |
551 | 606 | ||
552 | ret = -ENODEV; | 607 | ret = -ENODEV; |
553 | prop = get_property(spe, "isrc", NULL); | 608 | prop = get_property(node, "isrc", NULL); |
554 | if (!prop) | 609 | if (!prop) |
555 | goto out; | 610 | goto out; |
556 | spu->isrc = *(unsigned int *)prop; | 611 | spu->isrc = *(unsigned int *)prop; |
557 | 612 | ||
558 | spu->name = get_property(spe, "name", NULL); | 613 | spu->name = get_property(node, "name", NULL); |
559 | if (!spu->name) | 614 | if (!spu->name) |
560 | goto out; | 615 | goto out; |
561 | 616 | ||
562 | prop = get_property(spe, "local-store", NULL); | 617 | prop = get_property(node, "local-store", NULL); |
563 | if (!prop) | 618 | if (!prop) |
564 | goto out; | 619 | goto out; |
565 | spu->local_store_phys = *(unsigned long *)prop; | 620 | spu->local_store_phys = *(unsigned long *)prop; |
566 | 621 | ||
567 | /* we use local store as ram, not io memory */ | 622 | /* we use local store as ram, not io memory */ |
568 | spu->local_store = (void __force *)map_spe_prop(spe, "local-store"); | 623 | spu->local_store = (void __force *) |
624 | map_spe_prop(spu, node, "local-store"); | ||
569 | if (!spu->local_store) | 625 | if (!spu->local_store) |
570 | goto out; | 626 | goto out; |
571 | 627 | ||
572 | prop = get_property(spe, "problem", NULL); | 628 | prop = get_property(node, "problem", NULL); |
573 | if (!prop) | 629 | if (!prop) |
574 | goto out_unmap; | 630 | goto out_unmap; |
575 | spu->problem_phys = *(unsigned long *)prop; | 631 | spu->problem_phys = *(unsigned long *)prop; |
576 | 632 | ||
577 | spu->problem= map_spe_prop(spe, "problem"); | 633 | spu->problem= map_spe_prop(spu, node, "problem"); |
578 | if (!spu->problem) | 634 | if (!spu->problem) |
579 | goto out_unmap; | 635 | goto out_unmap; |
580 | 636 | ||
581 | spu->priv1= map_spe_prop(spe, "priv1"); | 637 | spu->priv1= map_spe_prop(spu, node, "priv1"); |
582 | /* priv1 is not available on a hypervisor */ | 638 | /* priv1 is not available on a hypervisor */ |
583 | 639 | ||
584 | spu->priv2= map_spe_prop(spe, "priv2"); | 640 | spu->priv2= map_spe_prop(spu, node, "priv2"); |
585 | if (!spu->priv2) | 641 | if (!spu->priv2) |
586 | goto out_unmap; | 642 | goto out_unmap; |
587 | ret = 0; | 643 | ret = 0; |
@@ -593,17 +649,6 @@ out: | |||
593 | return ret; | 649 | return ret; |
594 | } | 650 | } |
595 | 651 | ||
596 | static int __init find_spu_node_id(struct device_node *spe) | ||
597 | { | ||
598 | unsigned int *id; | ||
599 | struct device_node *cpu; | ||
600 | |||
601 | cpu = spe->parent->parent; | ||
602 | id = (unsigned int *)get_property(cpu, "node-id", NULL); | ||
603 | |||
604 | return id ? *id : 0; | ||
605 | } | ||
606 | |||
607 | static int __init create_spu(struct device_node *spe) | 652 | static int __init create_spu(struct device_node *spe) |
608 | { | 653 | { |
609 | struct spu *spu; | 654 | struct spu *spu; |
@@ -620,6 +665,10 @@ static int __init create_spu(struct device_node *spe) | |||
620 | goto out_free; | 665 | goto out_free; |
621 | 666 | ||
622 | spu->node = find_spu_node_id(spe); | 667 | spu->node = find_spu_node_id(spe); |
668 | spu->nid = of_node_to_nid(spe); | ||
669 | if (spu->nid == -1) | ||
670 | spu->nid = 0; | ||
671 | |||
623 | spu->stop_code = 0; | 672 | spu->stop_code = 0; |
624 | spu->slb_replace = 0; | 673 | spu->slb_replace = 0; |
625 | spu->mm = NULL; | 674 | spu->mm = NULL; |
diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c index 6594bec73882..95b36430aa0f 100644 --- a/arch/powerpc/platforms/cell/spu_callbacks.c +++ b/arch/powerpc/platforms/cell/spu_callbacks.c | |||
@@ -317,17 +317,30 @@ void *spu_syscall_table[] = { | |||
317 | [__NR_ppoll] sys_ni_syscall, /* sys_ppoll */ | 317 | [__NR_ppoll] sys_ni_syscall, /* sys_ppoll */ |
318 | [__NR_unshare] sys_unshare, | 318 | [__NR_unshare] sys_unshare, |
319 | [__NR_splice] sys_splice, | 319 | [__NR_splice] sys_splice, |
320 | [__NR_tee] sys_tee, | ||
321 | [__NR_vmsplice] sys_vmsplice, | ||
322 | [__NR_openat] sys_openat, | ||
323 | [__NR_mkdirat] sys_mkdirat, | ||
324 | [__NR_mknodat] sys_mknodat, | ||
325 | [__NR_fchownat] sys_fchownat, | ||
326 | [__NR_futimesat] sys_futimesat, | ||
327 | [__NR_newfstatat] sys_newfstatat, | ||
328 | [__NR_unlinkat] sys_unlinkat, | ||
329 | [__NR_renameat] sys_renameat, | ||
330 | [__NR_linkat] sys_linkat, | ||
331 | [__NR_symlinkat] sys_symlinkat, | ||
332 | [__NR_readlinkat] sys_readlinkat, | ||
333 | [__NR_fchmodat] sys_fchmodat, | ||
334 | [__NR_faccessat] sys_faccessat, | ||
320 | }; | 335 | }; |
321 | 336 | ||
322 | long spu_sys_callback(struct spu_syscall_block *s) | 337 | long spu_sys_callback(struct spu_syscall_block *s) |
323 | { | 338 | { |
324 | long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); | 339 | long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); |
325 | 340 | ||
326 | BUILD_BUG_ON(ARRAY_SIZE(spu_syscall_table) != __NR_syscalls); | ||
327 | |||
328 | syscall = spu_syscall_table[s->nr_ret]; | 341 | syscall = spu_syscall_table[s->nr_ret]; |
329 | 342 | ||
330 | if (s->nr_ret >= __NR_syscalls) { | 343 | if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) { |
331 | pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); | 344 | pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); |
332 | return -ENOSYS; | 345 | return -ENOSYS; |
333 | } | 346 | } |
diff --git a/arch/powerpc/platforms/cell/spufs/switch.c b/arch/powerpc/platforms/cell/spufs/switch.c index 97898d5d34e5..1726bfe38ee0 100644 --- a/arch/powerpc/platforms/cell/spufs/switch.c +++ b/arch/powerpc/platforms/cell/spufs/switch.c | |||
@@ -1297,7 +1297,7 @@ static inline void setup_decr(struct spu_state *csa, struct spu *spu) | |||
1297 | cycles_t resume_time = get_cycles(); | 1297 | cycles_t resume_time = get_cycles(); |
1298 | cycles_t delta_time = resume_time - csa->suspend_time; | 1298 | cycles_t delta_time = resume_time - csa->suspend_time; |
1299 | 1299 | ||
1300 | csa->lscsa->decr.slot[0] = delta_time; | 1300 | csa->lscsa->decr.slot[0] -= delta_time; |
1301 | } | 1301 | } |
1302 | } | 1302 | } |
1303 | 1303 | ||
diff --git a/arch/powerpc/platforms/chrp/chrp.h b/arch/powerpc/platforms/chrp/chrp.h index 63f0aee4c158..996c28744e96 100644 --- a/arch/powerpc/platforms/chrp/chrp.h +++ b/arch/powerpc/platforms/chrp/chrp.h | |||
@@ -9,3 +9,4 @@ extern long chrp_time_init(void); | |||
9 | 9 | ||
10 | extern void chrp_find_bridges(void); | 10 | extern void chrp_find_bridges(void); |
11 | extern void chrp_event_scan(unsigned long); | 11 | extern void chrp_event_scan(unsigned long); |
12 | extern void chrp_pcibios_fixup(void); | ||
diff --git a/arch/powerpc/platforms/chrp/pci.c b/arch/powerpc/platforms/chrp/pci.c index 8ef279ad36ad..ac224876ce59 100644 --- a/arch/powerpc/platforms/chrp/pci.c +++ b/arch/powerpc/platforms/chrp/pci.c | |||
@@ -23,6 +23,8 @@ | |||
23 | #include <asm/grackle.h> | 23 | #include <asm/grackle.h> |
24 | #include <asm/rtas.h> | 24 | #include <asm/rtas.h> |
25 | 25 | ||
26 | #include "chrp.h" | ||
27 | |||
26 | /* LongTrail */ | 28 | /* LongTrail */ |
27 | void __iomem *gg2_pci_config_base; | 29 | void __iomem *gg2_pci_config_base; |
28 | 30 | ||
@@ -314,6 +316,6 @@ chrp_find_bridges(void) | |||
314 | } | 316 | } |
315 | 317 | ||
316 | /* Do not fixup interrupts from OF tree on pegasos */ | 318 | /* Do not fixup interrupts from OF tree on pegasos */ |
317 | if (is_pegasos == 0) | 319 | if (is_pegasos) |
318 | ppc_md.pcibios_fixup = chrp_pcibios_fixup; | 320 | ppc_md.pcibios_fixup = NULL; |
319 | } | 321 | } |
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c index 23a201718704..18d89f38796b 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c | |||
@@ -440,8 +440,6 @@ void __init chrp_init_IRQ(void) | |||
440 | 440 | ||
441 | if (_chrp_type == _CHRP_Pegasos) | 441 | if (_chrp_type == _CHRP_Pegasos) |
442 | ppc_md.get_irq = i8259_irq; | 442 | ppc_md.get_irq = i8259_irq; |
443 | else | ||
444 | ppc_md.get_irq = mpic_get_irq; | ||
445 | 443 | ||
446 | #if defined(CONFIG_VT) && defined(CONFIG_INPUT_ADBHID) && defined(XMON) | 444 | #if defined(CONFIG_VT) && defined(CONFIG_INPUT_ADBHID) && defined(XMON) |
447 | /* see if there is a keyboard in the device tree | 445 | /* see if there is a keyboard in the device tree |
@@ -528,26 +526,24 @@ static int __init chrp_probe(void) | |||
528 | /* Assume we have an 8259... */ | 526 | /* Assume we have an 8259... */ |
529 | __irq_offset_value = NUM_ISA_INTERRUPTS; | 527 | __irq_offset_value = NUM_ISA_INTERRUPTS; |
530 | 528 | ||
531 | ppc_md.setup_arch = chrp_setup_arch; | 529 | return 1; |
532 | ppc_md.show_cpuinfo = chrp_show_cpuinfo; | ||
533 | |||
534 | ppc_md.init_IRQ = chrp_init_IRQ; | ||
535 | ppc_md.init = chrp_init2; | ||
536 | |||
537 | ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot; | ||
538 | |||
539 | ppc_md.restart = rtas_restart; | ||
540 | ppc_md.power_off = rtas_power_off; | ||
541 | ppc_md.halt = rtas_halt; | ||
542 | |||
543 | ppc_md.time_init = chrp_time_init; | ||
544 | ppc_md.calibrate_decr = generic_calibrate_decr; | ||
545 | |||
546 | /* this may get overridden with rtas routines later... */ | ||
547 | ppc_md.set_rtc_time = chrp_set_rtc_time; | ||
548 | ppc_md.get_rtc_time = chrp_get_rtc_time; | ||
549 | |||
550 | #ifdef CONFIG_SMP | ||
551 | smp_ops = &chrp_smp_ops; | ||
552 | #endif /* CONFIG_SMP */ | ||
553 | } | 530 | } |
531 | |||
532 | define_machine(chrp) { | ||
533 | .name = "CHRP", | ||
534 | .probe = chrp_probe, | ||
535 | .setup_arch = chrp_setup_arch, | ||
536 | .init = chrp_init2, | ||
537 | .show_cpuinfo = chrp_show_cpuinfo, | ||
538 | .init_IRQ = chrp_init_IRQ, | ||
539 | .get_irq = mpic_get_irq, | ||
540 | .pcibios_fixup = chrp_pcibios_fixup, | ||
541 | .restart = rtas_restart, | ||
542 | .power_off = rtas_power_off, | ||
543 | .halt = rtas_halt, | ||
544 | .time_init = chrp_time_init, | ||
545 | .set_rtc_time = chrp_set_rtc_time, | ||
546 | .get_rtc_time = chrp_get_rtc_time, | ||
547 | .calibrate_decr = generic_calibrate_decr, | ||
548 | .phys_mem_access_prot = pci_phys_mem_access_prot, | ||
549 | }; | ||
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 6ce8a404ba6b..a6fd9bedb074 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c | |||
@@ -54,6 +54,7 @@ | |||
54 | #include <asm/iseries/hv_lp_event.h> | 54 | #include <asm/iseries/hv_lp_event.h> |
55 | #include <asm/iseries/lpar_map.h> | 55 | #include <asm/iseries/lpar_map.h> |
56 | #include <asm/udbg.h> | 56 | #include <asm/udbg.h> |
57 | #include <asm/irq.h> | ||
57 | 58 | ||
58 | #include "naca.h" | 59 | #include "naca.h" |
59 | #include "setup.h" | 60 | #include "setup.h" |
@@ -684,6 +685,12 @@ static int __init iseries_probe(void) | |||
684 | powerpc_firmware_features |= FW_FEATURE_ISERIES; | 685 | powerpc_firmware_features |= FW_FEATURE_ISERIES; |
685 | powerpc_firmware_features |= FW_FEATURE_LPAR; | 686 | powerpc_firmware_features |= FW_FEATURE_LPAR; |
686 | 687 | ||
688 | /* | ||
689 | * The Hypervisor only allows us up to 256 interrupt | ||
690 | * sources (the irq number is passed in a u8). | ||
691 | */ | ||
692 | virt_irq_max = 255; | ||
693 | |||
687 | return 1; | 694 | return 1; |
688 | } | 695 | } |
689 | 696 | ||
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c index e14f9ac55cf4..df2343e1956b 100644 --- a/arch/powerpc/platforms/powermac/low_i2c.c +++ b/arch/powerpc/platforms/powermac/low_i2c.c | |||
@@ -231,6 +231,14 @@ static u8 kw_i2c_wait_interrupt(struct pmac_i2c_host_kw *host) | |||
231 | return isr; | 231 | return isr; |
232 | } | 232 | } |
233 | 233 | ||
234 | static void kw_i2c_do_stop(struct pmac_i2c_host_kw *host, int result) | ||
235 | { | ||
236 | kw_write_reg(reg_control, KW_I2C_CTL_STOP); | ||
237 | host->state = state_stop; | ||
238 | host->result = result; | ||
239 | } | ||
240 | |||
241 | |||
234 | static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | 242 | static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) |
235 | { | 243 | { |
236 | u8 ack; | 244 | u8 ack; |
@@ -246,42 +254,36 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | |||
246 | } | 254 | } |
247 | 255 | ||
248 | if (isr == 0) { | 256 | if (isr == 0) { |
257 | printk(KERN_WARNING "low_i2c: Timeout in i2c transfer" | ||
258 | " on keywest !\n"); | ||
249 | if (host->state != state_stop) { | 259 | if (host->state != state_stop) { |
250 | DBG_LOW("KW: Timeout !\n"); | 260 | kw_i2c_do_stop(host, -EIO); |
251 | host->result = -EIO; | 261 | return; |
252 | goto stop; | ||
253 | } | ||
254 | if (host->state == state_stop) { | ||
255 | ack = kw_read_reg(reg_status); | ||
256 | if (ack & KW_I2C_STAT_BUSY) | ||
257 | kw_write_reg(reg_status, 0); | ||
258 | host->state = state_idle; | ||
259 | kw_write_reg(reg_ier, 0x00); | ||
260 | if (!host->polled) | ||
261 | complete(&host->complete); | ||
262 | } | 262 | } |
263 | ack = kw_read_reg(reg_status); | ||
264 | if (ack & KW_I2C_STAT_BUSY) | ||
265 | kw_write_reg(reg_status, 0); | ||
266 | host->state = state_idle; | ||
267 | kw_write_reg(reg_ier, 0x00); | ||
268 | if (!host->polled) | ||
269 | complete(&host->complete); | ||
263 | return; | 270 | return; |
264 | } | 271 | } |
265 | 272 | ||
266 | if (isr & KW_I2C_IRQ_ADDR) { | 273 | if (isr & KW_I2C_IRQ_ADDR) { |
267 | ack = kw_read_reg(reg_status); | 274 | ack = kw_read_reg(reg_status); |
268 | if (host->state != state_addr) { | 275 | if (host->state != state_addr) { |
269 | kw_write_reg(reg_isr, KW_I2C_IRQ_ADDR); | ||
270 | WRONG_STATE("KW_I2C_IRQ_ADDR"); | 276 | WRONG_STATE("KW_I2C_IRQ_ADDR"); |
271 | host->result = -EIO; | 277 | kw_i2c_do_stop(host, -EIO); |
272 | goto stop; | ||
273 | } | 278 | } |
274 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { | 279 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { |
275 | host->result = -ENODEV; | 280 | host->result = -ENXIO; |
276 | DBG_LOW("KW: NAK on address\n"); | ||
277 | host->state = state_stop; | 281 | host->state = state_stop; |
278 | return; | 282 | DBG_LOW("KW: NAK on address\n"); |
279 | } else { | 283 | } else { |
280 | if (host->len == 0) { | 284 | if (host->len == 0) |
281 | kw_write_reg(reg_isr, KW_I2C_IRQ_ADDR); | 285 | kw_i2c_do_stop(host, 0); |
282 | goto stop; | 286 | else if (host->rw) { |
283 | } | ||
284 | if (host->rw) { | ||
285 | host->state = state_read; | 287 | host->state = state_read; |
286 | if (host->len > 1) | 288 | if (host->len > 1) |
287 | kw_write_reg(reg_control, | 289 | kw_write_reg(reg_control, |
@@ -308,25 +310,19 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | |||
308 | ack = kw_read_reg(reg_status); | 310 | ack = kw_read_reg(reg_status); |
309 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { | 311 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { |
310 | DBG_LOW("KW: nack on data write\n"); | 312 | DBG_LOW("KW: nack on data write\n"); |
311 | host->result = -EIO; | 313 | host->result = -EFBIG; |
312 | goto stop; | 314 | host->state = state_stop; |
313 | } else if (host->len) { | 315 | } else if (host->len) { |
314 | kw_write_reg(reg_data, *(host->data++)); | 316 | kw_write_reg(reg_data, *(host->data++)); |
315 | host->len--; | 317 | host->len--; |
316 | } else { | 318 | } else |
317 | kw_write_reg(reg_control, KW_I2C_CTL_STOP); | 319 | kw_i2c_do_stop(host, 0); |
318 | host->state = state_stop; | ||
319 | host->result = 0; | ||
320 | } | ||
321 | kw_write_reg(reg_isr, KW_I2C_IRQ_DATA); | ||
322 | } else { | 320 | } else { |
323 | kw_write_reg(reg_isr, KW_I2C_IRQ_DATA); | ||
324 | WRONG_STATE("KW_I2C_IRQ_DATA"); | 321 | WRONG_STATE("KW_I2C_IRQ_DATA"); |
325 | if (host->state != state_stop) { | 322 | if (host->state != state_stop) |
326 | host->result = -EIO; | 323 | kw_i2c_do_stop(host, -EIO); |
327 | goto stop; | ||
328 | } | ||
329 | } | 324 | } |
325 | kw_write_reg(reg_isr, KW_I2C_IRQ_DATA); | ||
330 | } | 326 | } |
331 | 327 | ||
332 | if (isr & KW_I2C_IRQ_STOP) { | 328 | if (isr & KW_I2C_IRQ_STOP) { |
@@ -340,14 +336,10 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | |||
340 | complete(&host->complete); | 336 | complete(&host->complete); |
341 | } | 337 | } |
342 | 338 | ||
339 | /* Below should only happen in manual mode which we don't use ... */ | ||
343 | if (isr & KW_I2C_IRQ_START) | 340 | if (isr & KW_I2C_IRQ_START) |
344 | kw_write_reg(reg_isr, KW_I2C_IRQ_START); | 341 | kw_write_reg(reg_isr, KW_I2C_IRQ_START); |
345 | 342 | ||
346 | return; | ||
347 | stop: | ||
348 | kw_write_reg(reg_control, KW_I2C_CTL_STOP); | ||
349 | host->state = state_stop; | ||
350 | return; | ||
351 | } | 343 | } |
352 | 344 | ||
353 | /* Interrupt handler */ | 345 | /* Interrupt handler */ |
@@ -544,11 +536,11 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) | |||
544 | return NULL; | 536 | return NULL; |
545 | } | 537 | } |
546 | 538 | ||
547 | /* Make sure IRA is disabled */ | 539 | /* Make sure IRQ is disabled */ |
548 | kw_write_reg(reg_ier, 0); | 540 | kw_write_reg(reg_ier, 0); |
549 | 541 | ||
550 | /* Request chip interrupt */ | 542 | /* Request chip interrupt */ |
551 | if (request_irq(host->irq, kw_i2c_irq, SA_SHIRQ, "keywest i2c", host)) | 543 | if (request_irq(host->irq, kw_i2c_irq, 0, "keywest i2c", host)) |
552 | host->irq = NO_IRQ; | 544 | host->irq = NO_IRQ; |
553 | 545 | ||
554 | printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n", | 546 | printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n", |
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c index f5d8d15d74fa..ea179afea632 100644 --- a/arch/powerpc/platforms/powermac/pci.c +++ b/arch/powerpc/platforms/powermac/pci.c | |||
@@ -1097,7 +1097,7 @@ pmac_pci_enable_device_hook(struct pci_dev *dev, int initial) | |||
1097 | * (iBook second controller) | 1097 | * (iBook second controller) |
1098 | */ | 1098 | */ |
1099 | if (dev->vendor == PCI_VENDOR_ID_APPLE | 1099 | if (dev->vendor == PCI_VENDOR_ID_APPLE |
1100 | && (dev->class == ((PCI_CLASS_SERIAL_USB << 8) | 0x10)) | 1100 | && dev->class == PCI_CLASS_SERIAL_USB_OHCI |
1101 | && !node) { | 1101 | && !node) { |
1102 | printk(KERN_INFO "Apple USB OHCI %s disabled by firmware\n", | 1102 | printk(KERN_INFO "Apple USB OHCI %s disabled by firmware\n", |
1103 | pci_name(dev)); | 1103 | pci_name(dev)); |
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c index 780fb27a0099..32eaddfa5470 100644 --- a/arch/powerpc/platforms/pseries/eeh.c +++ b/arch/powerpc/platforms/pseries/eeh.c | |||
@@ -957,8 +957,10 @@ static void eeh_remove_device(struct pci_dev *dev) | |||
957 | pci_addr_cache_remove_device(dev); | 957 | pci_addr_cache_remove_device(dev); |
958 | 958 | ||
959 | dn = pci_device_to_OF_node(dev); | 959 | dn = pci_device_to_OF_node(dev); |
960 | PCI_DN(dn)->pcidev = NULL; | 960 | if (PCI_DN(dn)->pcidev) { |
961 | pci_dev_put (dev); | 961 | PCI_DN(dn)->pcidev = NULL; |
962 | pci_dev_put (dev); | ||
963 | } | ||
962 | } | 964 | } |
963 | 965 | ||
964 | void eeh_remove_bus_device(struct pci_dev *dev) | 966 | void eeh_remove_bus_device(struct pci_dev *dev) |
diff --git a/arch/powerpc/platforms/pseries/rtasd.c b/arch/powerpc/platforms/pseries/rtasd.c index fcc4d561a236..e0000ce769e5 100644 --- a/arch/powerpc/platforms/pseries/rtasd.c +++ b/arch/powerpc/platforms/pseries/rtasd.c | |||
@@ -488,7 +488,7 @@ static int __init rtas_init(void) | |||
488 | /* No RTAS */ | 488 | /* No RTAS */ |
489 | if (rtas_token("event-scan") == RTAS_UNKNOWN_SERVICE) { | 489 | if (rtas_token("event-scan") == RTAS_UNKNOWN_SERVICE) { |
490 | printk(KERN_INFO "rtasd: no event-scan on system\n"); | 490 | printk(KERN_INFO "rtasd: no event-scan on system\n"); |
491 | return 1; | 491 | return -ENODEV; |
492 | } | 492 | } |
493 | 493 | ||
494 | entry = create_proc_entry("ppc64/rtas/error_log", S_IRUSR, NULL); | 494 | entry = create_proc_entry("ppc64/rtas/error_log", S_IRUSR, NULL); |
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index 61d317428610..38087bd6e3cf 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c | |||
@@ -49,6 +49,7 @@ | |||
49 | 49 | ||
50 | #include "dart.h" | 50 | #include "dart.h" |
51 | 51 | ||
52 | extern int iommu_is_off; | ||
52 | extern int iommu_force_on; | 53 | extern int iommu_force_on; |
53 | 54 | ||
54 | /* Physical base address and size of the DART table */ | 55 | /* Physical base address and size of the DART table */ |
@@ -329,10 +330,17 @@ void iommu_init_early_dart(void) | |||
329 | 330 | ||
330 | void __init alloc_dart_table(void) | 331 | void __init alloc_dart_table(void) |
331 | { | 332 | { |
332 | /* Only reserve DART space if machine has more than 2GB of RAM | 333 | /* Only reserve DART space if machine has more than 1GB of RAM |
333 | * or if requested with iommu=on on cmdline. | 334 | * or if requested with iommu=on on cmdline. |
335 | * | ||
336 | * 1GB of RAM is picked as limit because some default devices | ||
337 | * (i.e. Airport Extreme) have 30 bit address range limits. | ||
334 | */ | 338 | */ |
335 | if (lmb_end_of_DRAM() <= 0x80000000ull && !iommu_force_on) | 339 | |
340 | if (iommu_is_off) | ||
341 | return; | ||
342 | |||
343 | if (!iommu_force_on && lmb_end_of_DRAM() <= 0x40000000ull) | ||
336 | return; | 344 | return; |
337 | 345 | ||
338 | /* 512 pages (2MB) is max DART tablesize. */ | 346 | /* 512 pages (2MB) is max DART tablesize. */ |
diff --git a/arch/ppc/kernel/asm-offsets.c b/arch/ppc/kernel/asm-offsets.c index 77e4dc780f8c..cc7c4aea9397 100644 --- a/arch/ppc/kernel/asm-offsets.c +++ b/arch/ppc/kernel/asm-offsets.c | |||
@@ -134,6 +134,7 @@ main(void) | |||
134 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); | 134 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); |
135 | DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); | 135 | DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); |
136 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | 136 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); |
137 | DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, flags)); | ||
137 | DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); | 138 | DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); |
138 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); | 139 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); |
139 | 140 | ||
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S index 5891ecbdc703..1adc9145516f 100644 --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S | |||
@@ -128,29 +128,26 @@ transfer_to_handler: | |||
128 | stw r12,4(r11) | 128 | stw r12,4(r11) |
129 | #endif | 129 | #endif |
130 | b 3f | 130 | b 3f |
131 | |||
131 | 2: /* if from kernel, check interrupted DOZE/NAP mode and | 132 | 2: /* if from kernel, check interrupted DOZE/NAP mode and |
132 | * check for stack overflow | 133 | * check for stack overflow |
133 | */ | 134 | */ |
135 | lwz r9,THREAD_INFO-THREAD(r12) | ||
136 | cmplw r1,r9 /* if r1 <= current->thread_info */ | ||
137 | ble- stack_ovf /* then the kernel stack overflowed */ | ||
138 | 5: | ||
134 | #ifdef CONFIG_6xx | 139 | #ifdef CONFIG_6xx |
135 | mfspr r11,SPRN_HID0 | 140 | tophys(r9,r9) /* check local flags */ |
136 | mtcr r11 | 141 | lwz r12,TI_LOCAL_FLAGS(r9) |
137 | BEGIN_FTR_SECTION | 142 | mtcrf 0x01,r12 |
138 | bt- 8,4f /* Check DOZE */ | 143 | bt- 31-TLF_NAPPING,4f |
139 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_DOZE) | ||
140 | BEGIN_FTR_SECTION | ||
141 | bt- 9,4f /* Check NAP */ | ||
142 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP) | ||
143 | #endif /* CONFIG_6xx */ | 144 | #endif /* CONFIG_6xx */ |
144 | .globl transfer_to_handler_cont | 145 | .globl transfer_to_handler_cont |
145 | transfer_to_handler_cont: | 146 | transfer_to_handler_cont: |
146 | lwz r11,THREAD_INFO-THREAD(r12) | ||
147 | cmplw r1,r11 /* if r1 <= current->thread_info */ | ||
148 | ble- stack_ovf /* then the kernel stack overflowed */ | ||
149 | 3: | 147 | 3: |
150 | mflr r9 | 148 | mflr r9 |
151 | lwz r11,0(r9) /* virtual address of handler */ | 149 | lwz r11,0(r9) /* virtual address of handler */ |
152 | lwz r9,4(r9) /* where to go when done */ | 150 | lwz r9,4(r9) /* where to go when done */ |
153 | FIX_SRR1(r10,r12) | ||
154 | mtspr SPRN_SRR0,r11 | 151 | mtspr SPRN_SRR0,r11 |
155 | mtspr SPRN_SRR1,r10 | 152 | mtspr SPRN_SRR1,r10 |
156 | mtlr r9 | 153 | mtlr r9 |
@@ -158,7 +155,9 @@ transfer_to_handler_cont: | |||
158 | RFI /* jump to handler, enable MMU */ | 155 | RFI /* jump to handler, enable MMU */ |
159 | 156 | ||
160 | #ifdef CONFIG_6xx | 157 | #ifdef CONFIG_6xx |
161 | 4: b power_save_6xx_restore | 158 | 4: rlwinm r12,r12,0,~_TLF_NAPPING |
159 | stw r12,TI_LOCAL_FLAGS(r9) | ||
160 | b power_save_6xx_restore | ||
162 | #endif | 161 | #endif |
163 | 162 | ||
164 | /* | 163 | /* |
@@ -167,10 +166,10 @@ transfer_to_handler_cont: | |||
167 | */ | 166 | */ |
168 | stack_ovf: | 167 | stack_ovf: |
169 | /* sometimes we use a statically-allocated stack, which is OK. */ | 168 | /* sometimes we use a statically-allocated stack, which is OK. */ |
170 | lis r11,_end@h | 169 | lis r12,_end@h |
171 | ori r11,r11,_end@l | 170 | ori r12,r12,_end@l |
172 | cmplw r1,r11 | 171 | cmplw r1,r12 |
173 | ble 3b /* r1 <= &_end is OK */ | 172 | ble 5b /* r1 <= &_end is OK */ |
174 | SAVE_NVGPRS(r11) | 173 | SAVE_NVGPRS(r11) |
175 | addi r3,r1,STACK_FRAME_OVERHEAD | 174 | addi r3,r1,STACK_FRAME_OVERHEAD |
176 | lis r1,init_thread_union@ha | 175 | lis r1,init_thread_union@ha |
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index 865ba74991a9..b250b1b539b6 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c | |||
@@ -94,6 +94,7 @@ EXPORT_SYMBOL(strcat); | |||
94 | EXPORT_SYMBOL(strlen); | 94 | EXPORT_SYMBOL(strlen); |
95 | EXPORT_SYMBOL(strcmp); | 95 | EXPORT_SYMBOL(strcmp); |
96 | EXPORT_SYMBOL(strcasecmp); | 96 | EXPORT_SYMBOL(strcasecmp); |
97 | EXPORT_SYMBOL(strncasecmp); | ||
97 | EXPORT_SYMBOL(__div64_32); | 98 | EXPORT_SYMBOL(__div64_32); |
98 | 99 | ||
99 | EXPORT_SYMBOL(csum_partial); | 100 | EXPORT_SYMBOL(csum_partial); |
diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c index f841972f1fa9..554776d4b8ac 100644 --- a/arch/ppc/platforms/4xx/ocotea.c +++ b/arch/ppc/platforms/4xx/ocotea.c | |||
@@ -331,7 +331,7 @@ static void __init ocotea_init(void) | |||
331 | void __init platform_init(unsigned long r3, unsigned long r4, | 331 | void __init platform_init(unsigned long r3, unsigned long r4, |
332 | unsigned long r5, unsigned long r6, unsigned long r7) | 332 | unsigned long r5, unsigned long r6, unsigned long r7) |
333 | { | 333 | { |
334 | ibm44x_platform_init(r3, r4, r5, r6, r7); | 334 | ibm440gx_platform_init(r3, r4, r5, r6, r7); |
335 | 335 | ||
336 | ppc_md.setup_arch = ocotea_setup_arch; | 336 | ppc_md.setup_arch = ocotea_setup_arch; |
337 | ppc_md.show_cpuinfo = ocotea_show_cpuinfo; | 337 | ppc_md.show_cpuinfo = ocotea_show_cpuinfo; |
diff --git a/arch/ppc/platforms/mpc8272ads_setup.c b/arch/ppc/platforms/mpc8272ads_setup.c index bc9b94f77e39..e62b75707f7a 100644 --- a/arch/ppc/platforms/mpc8272ads_setup.c +++ b/arch/ppc/platforms/mpc8272ads_setup.c | |||
@@ -26,11 +26,35 @@ | |||
26 | #include <asm/irq.h> | 26 | #include <asm/irq.h> |
27 | #include <asm/ppc_sys.h> | 27 | #include <asm/ppc_sys.h> |
28 | #include <asm/ppcboot.h> | 28 | #include <asm/ppcboot.h> |
29 | #include <linux/fs_uart_pd.h> | ||
29 | 30 | ||
30 | #include "pq2ads_pd.h" | 31 | #include "pq2ads_pd.h" |
31 | 32 | ||
32 | static void init_fcc1_ioports(void); | 33 | static void init_fcc1_ioports(void); |
33 | static void init_fcc2_ioports(void); | 34 | static void init_fcc2_ioports(void); |
35 | static void init_scc1_uart_ioports(void); | ||
36 | static void init_scc4_uart_ioports(void); | ||
37 | |||
38 | static struct fs_uart_platform_info mpc8272_uart_pdata[] = { | ||
39 | [fsid_scc1_uart] = { | ||
40 | .init_ioports = init_scc1_uart_ioports, | ||
41 | .fs_no = fsid_scc1_uart, | ||
42 | .brg = 1, | ||
43 | .tx_num_fifo = 4, | ||
44 | .tx_buf_size = 32, | ||
45 | .rx_num_fifo = 4, | ||
46 | .rx_buf_size = 32, | ||
47 | }, | ||
48 | [fsid_scc4_uart] = { | ||
49 | .init_ioports = init_scc4_uart_ioports, | ||
50 | .fs_no = fsid_scc4_uart, | ||
51 | .brg = 4, | ||
52 | .tx_num_fifo = 4, | ||
53 | .tx_buf_size = 32, | ||
54 | .rx_num_fifo = 4, | ||
55 | .rx_buf_size = 32, | ||
56 | }, | ||
57 | }; | ||
34 | 58 | ||
35 | static struct fs_mii_bus_info mii_bus_info = { | 59 | static struct fs_mii_bus_info mii_bus_info = { |
36 | .method = fsmii_bitbang, | 60 | .method = fsmii_bitbang, |
@@ -201,6 +225,55 @@ static void __init mpc8272ads_fixup_enet_pdata(struct platform_device *pdev, | |||
201 | } | 225 | } |
202 | } | 226 | } |
203 | 227 | ||
228 | static void mpc8272ads_fixup_uart_pdata(struct platform_device *pdev, | ||
229 | int idx) | ||
230 | { | ||
231 | bd_t *bd = (bd_t *) __res; | ||
232 | struct fs_uart_platform_info *pinfo; | ||
233 | int num = ARRAY_SIZE(mpc8272_uart_pdata); | ||
234 | int id = fs_uart_id_scc2fsid(idx); | ||
235 | |||
236 | /* no need to alter anything if console */ | ||
237 | if ((id <= num) && (!pdev->dev.platform_data)) { | ||
238 | pinfo = &mpc8272_uart_pdata[id]; | ||
239 | pinfo->uart_clk = bd->bi_intfreq; | ||
240 | pdev->dev.platform_data = pinfo; | ||
241 | } | ||
242 | } | ||
243 | |||
244 | static void init_scc1_uart_ioports(void) | ||
245 | { | ||
246 | cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); | ||
247 | |||
248 | /* SCC1 is only on port D */ | ||
249 | setbits32(&immap->im_ioport.iop_ppard,0x00000003); | ||
250 | clrbits32(&immap->im_ioport.iop_psord,0x00000001); | ||
251 | setbits32(&immap->im_ioport.iop_psord,0x00000002); | ||
252 | clrbits32(&immap->im_ioport.iop_pdird,0x00000001); | ||
253 | setbits32(&immap->im_ioport.iop_pdird,0x00000002); | ||
254 | |||
255 | /* Wire BRG1 to SCC1 */ | ||
256 | clrbits32(&immap->im_cpmux.cmx_scr,0x00ffffff); | ||
257 | |||
258 | iounmap(immap); | ||
259 | } | ||
260 | |||
261 | static void init_scc4_uart_ioports(void) | ||
262 | { | ||
263 | cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); | ||
264 | |||
265 | setbits32(&immap->im_ioport.iop_ppard,0x00000600); | ||
266 | clrbits32(&immap->im_ioport.iop_psord,0x00000600); | ||
267 | clrbits32(&immap->im_ioport.iop_pdird,0x00000200); | ||
268 | setbits32(&immap->im_ioport.iop_pdird,0x00000400); | ||
269 | |||
270 | /* Wire BRG4 to SCC4 */ | ||
271 | clrbits32(&immap->im_cpmux.cmx_scr,0x000000ff); | ||
272 | setbits32(&immap->im_cpmux.cmx_scr,0x0000001b); | ||
273 | |||
274 | iounmap(immap); | ||
275 | } | ||
276 | |||
204 | static int mpc8272ads_platform_notify(struct device *dev) | 277 | static int mpc8272ads_platform_notify(struct device *dev) |
205 | { | 278 | { |
206 | static const struct platform_notify_dev_map dev_map[] = { | 279 | static const struct platform_notify_dev_map dev_map[] = { |
@@ -209,6 +282,10 @@ static int mpc8272ads_platform_notify(struct device *dev) | |||
209 | .rtn = mpc8272ads_fixup_enet_pdata | 282 | .rtn = mpc8272ads_fixup_enet_pdata |
210 | }, | 283 | }, |
211 | { | 284 | { |
285 | .bus_id = "fsl-cpm-scc:uart", | ||
286 | .rtn = mpc | ||
287 | }, | ||
288 | { | ||
212 | .bus_id = NULL | 289 | .bus_id = NULL |
213 | } | 290 | } |
214 | }; | 291 | }; |
@@ -230,7 +307,44 @@ int __init mpc8272ads_init(void) | |||
230 | ppc_sys_device_enable(MPC82xx_CPM_FCC1); | 307 | ppc_sys_device_enable(MPC82xx_CPM_FCC1); |
231 | ppc_sys_device_enable(MPC82xx_CPM_FCC2); | 308 | ppc_sys_device_enable(MPC82xx_CPM_FCC2); |
232 | 309 | ||
310 | /* to be ready for console, let's attach pdata here */ | ||
311 | #ifdef CONFIG_SERIAL_CPM_SCC1 | ||
312 | ppc_sys_device_setfunc(MPC82xx_CPM_SCC1, PPC_SYS_FUNC_UART); | ||
313 | ppc_sys_device_enable(MPC82xx_CPM_SCC1); | ||
314 | |||
315 | #endif | ||
316 | |||
317 | #ifdef CONFIG_SERIAL_CPM_SCC4 | ||
318 | ppc_sys_device_setfunc(MPC82xx_CPM_SCC4, PPC_SYS_FUNC_UART); | ||
319 | ppc_sys_device_enable(MPC82xx_CPM_SCC4); | ||
320 | #endif | ||
321 | |||
322 | |||
233 | return 0; | 323 | return 0; |
234 | } | 324 | } |
235 | 325 | ||
326 | /* | ||
327 | To prevent confusion, console selection is gross: | ||
328 | by 0 assumed SCC1 and by 1 assumed SCC4 | ||
329 | */ | ||
330 | struct platform_device* early_uart_get_pdev(int index) | ||
331 | { | ||
332 | bd_t *bd = (bd_t *) __res; | ||
333 | struct fs_uart_platform_info *pinfo; | ||
334 | |||
335 | struct platform_device* pdev = NULL; | ||
336 | if(index) { /*assume SCC4 here*/ | ||
337 | pdev = &ppc_sys_platform_devices[MPC82xx_CPM_SCC4]; | ||
338 | pinfo = &mpc8272<F12>_uart_pdata[1]; | ||
339 | } else { /*over SCC1*/ | ||
340 | pdev = &ppc_sys_platform_devices[MPC82xx_CPM_SCC1]; | ||
341 | pinfo = &mpc8272_uart_pdata[0]; | ||
342 | } | ||
343 | |||
344 | pinfo->uart_clk = bd->bi_intfreq; | ||
345 | pdev->dev.platform_data = pinfo; | ||
346 | ppc_sys_fixup_mem_resource(pdev, IMAP_ADDR); | ||
347 | return NULL; | ||
348 | } | ||
349 | |||
236 | arch_initcall(mpc8272ads_init); | 350 | arch_initcall(mpc8272ads_init); |
diff --git a/arch/ppc/platforms/mpc866ads_setup.c b/arch/ppc/platforms/mpc866ads_setup.c index ac8fcc68afeb..6ce3b842defe 100644 --- a/arch/ppc/platforms/mpc866ads_setup.c +++ b/arch/ppc/platforms/mpc866ads_setup.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/device.h> | 20 | #include <linux/device.h> |
21 | 21 | ||
22 | #include <linux/fs_enet_pd.h> | 22 | #include <linux/fs_enet_pd.h> |
23 | #include <linux/fs_uart_pd.h> | ||
23 | #include <linux/mii.h> | 24 | #include <linux/mii.h> |
24 | 25 | ||
25 | #include <asm/delay.h> | 26 | #include <asm/delay.h> |
@@ -37,6 +38,11 @@ | |||
37 | 38 | ||
38 | extern unsigned char __res[]; | 39 | extern unsigned char __res[]; |
39 | 40 | ||
41 | static void setup_fec1_ioports(void); | ||
42 | static void setup_scc1_ioports(void); | ||
43 | static void setup_smc1_ioports(void); | ||
44 | static void setup_smc2_ioports(void); | ||
45 | |||
40 | static struct fs_mii_bus_info fec_mii_bus_info = { | 46 | static struct fs_mii_bus_info fec_mii_bus_info = { |
41 | .method = fsmii_fec, | 47 | .method = fsmii_fec, |
42 | .id = 0, | 48 | .id = 0, |
@@ -79,6 +85,28 @@ static struct fs_platform_info mpc8xx_scc_pdata = { | |||
79 | .phy_irq = -1, | 85 | .phy_irq = -1, |
80 | 86 | ||
81 | .bus_info = &scc_mii_bus_info, | 87 | .bus_info = &scc_mii_bus_info, |
88 | |||
89 | }; | ||
90 | |||
91 | static struct fs_uart_platform_info mpc866_uart_pdata[] = { | ||
92 | [fsid_smc1_uart] = { | ||
93 | .brg = 1, | ||
94 | .fs_no = fsid_smc1_uart, | ||
95 | .init_ioports = setup_smc1_ioports, | ||
96 | .tx_num_fifo = 4, | ||
97 | .tx_buf_size = 32, | ||
98 | .rx_num_fifo = 4, | ||
99 | .rx_buf_size = 32, | ||
100 | }, | ||
101 | [fsid_smc2_uart] = { | ||
102 | .brg = 2, | ||
103 | .fs_no = fsid_smc2_uart, | ||
104 | .init_ioports = setup_smc2_ioports, | ||
105 | .tx_num_fifo = 4, | ||
106 | .tx_buf_size = 32, | ||
107 | .rx_num_fifo = 4, | ||
108 | .rx_buf_size = 32, | ||
109 | }, | ||
82 | }; | 110 | }; |
83 | 111 | ||
84 | void __init board_init(void) | 112 | void __init board_init(void) |
@@ -92,9 +120,12 @@ void __init board_init(void) | |||
92 | printk(KERN_CRIT "Could not remap BCSR1\n"); | 120 | printk(KERN_CRIT "Could not remap BCSR1\n"); |
93 | return; | 121 | return; |
94 | } | 122 | } |
123 | |||
95 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 124 | #ifdef CONFIG_SERIAL_CPM_SMC1 |
96 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ | 125 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ |
97 | clrbits32(bcsr_io,(0x80000000 >> 7)); | 126 | clrbits32(bcsr_io,(0x80000000 >> 7)); |
127 | cp->cp_smc[0].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
128 | cp->cp_smc[0].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
98 | #else | 129 | #else |
99 | setbits32(bcsr_io,(0x80000000 >> 7)); | 130 | setbits32(bcsr_io,(0x80000000 >> 7)); |
100 | 131 | ||
@@ -108,6 +139,8 @@ void __init board_init(void) | |||
108 | cp->cp_simode &= ~(0xe0000000 >> 1); | 139 | cp->cp_simode &= ~(0xe0000000 >> 1); |
109 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ | 140 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ |
110 | clrbits32(bcsr_io,(0x80000000 >> 13)); | 141 | clrbits32(bcsr_io,(0x80000000 >> 13)); |
142 | cp->cp_smc[1].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
143 | cp->cp_smc[1].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
111 | #else | 144 | #else |
112 | clrbits32(bcsr_io,(0x80000000 >> 13)); | 145 | clrbits32(bcsr_io,(0x80000000 >> 13)); |
113 | cp->cp_pbpar &= ~(0x00000c00); | 146 | cp->cp_pbpar &= ~(0x00000c00); |
@@ -232,6 +265,74 @@ static void mpc866ads_fixup_scc_enet_pdata(struct platform_device *pdev, | |||
232 | mpc866ads_fixup_enet_pdata(pdev, fsid_scc1 + pdev->id - 1); | 265 | mpc866ads_fixup_enet_pdata(pdev, fsid_scc1 + pdev->id - 1); |
233 | } | 266 | } |
234 | 267 | ||
268 | static void setup_smc1_ioports(void) | ||
269 | { | ||
270 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
271 | unsigned *bcsr_io; | ||
272 | unsigned int iobits = 0x000000c0; | ||
273 | |||
274 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
275 | |||
276 | if (bcsr_io == NULL) { | ||
277 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
278 | return; | ||
279 | } | ||
280 | |||
281 | clrbits32(bcsr_io,BCSR1_RS232EN_1); | ||
282 | iounmap(bcsr_io); | ||
283 | |||
284 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
285 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
286 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
287 | |||
288 | } | ||
289 | |||
290 | static void setup_smc2_ioports(void) | ||
291 | { | ||
292 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
293 | unsigned *bcsr_io; | ||
294 | unsigned int iobits = 0x00000c00; | ||
295 | |||
296 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
297 | |||
298 | if (bcsr_io == NULL) { | ||
299 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
300 | return; | ||
301 | } | ||
302 | |||
303 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | ||
304 | |||
305 | iounmap(bcsr_io); | ||
306 | |||
307 | #ifndef CONFIG_SERIAL_CPM_ALT_SMC2 | ||
308 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
309 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
310 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
311 | #else | ||
312 | setbits16(&immap->im_ioport.iop_papar, iobits); | ||
313 | clrbits16(&immap->im_ioport.iop_padir, iobits); | ||
314 | clrbits16(&immap->im_ioport.iop_paodr, iobits); | ||
315 | #endif | ||
316 | |||
317 | } | ||
318 | |||
319 | static void __init mpc866ads_fixup_uart_pdata(struct platform_device *pdev, | ||
320 | int idx) | ||
321 | { | ||
322 | bd_t *bd = (bd_t *) __res; | ||
323 | struct fs_uart_platform_info *pinfo; | ||
324 | int num = ARRAY_SIZE(mpc866_uart_pdata); | ||
325 | |||
326 | int id = fs_uart_id_smc2fsid(idx); | ||
327 | |||
328 | /* no need to alter anything if console */ | ||
329 | if ((id <= num) && (!pdev->dev.platform_data)) { | ||
330 | pinfo = &mpc866_uart_pdata[id]; | ||
331 | pinfo->uart_clk = bd->bi_intfreq; | ||
332 | pdev->dev.platform_data = pinfo; | ||
333 | } | ||
334 | } | ||
335 | |||
235 | static int mpc866ads_platform_notify(struct device *dev) | 336 | static int mpc866ads_platform_notify(struct device *dev) |
236 | { | 337 | { |
237 | static const struct platform_notify_dev_map dev_map[] = { | 338 | static const struct platform_notify_dev_map dev_map[] = { |
@@ -244,6 +345,10 @@ static int mpc866ads_platform_notify(struct device *dev) | |||
244 | .rtn = mpc866ads_fixup_scc_enet_pdata, | 345 | .rtn = mpc866ads_fixup_scc_enet_pdata, |
245 | }, | 346 | }, |
246 | { | 347 | { |
348 | .bus_id = "fsl-cpm-smc:uart", | ||
349 | .rtn = mpc866ads_fixup_uart_pdata | ||
350 | }, | ||
351 | { | ||
247 | .bus_id = NULL | 352 | .bus_id = NULL |
248 | } | 353 | } |
249 | }; | 354 | }; |
@@ -267,7 +372,42 @@ int __init mpc866ads_init(void) | |||
267 | #endif | 372 | #endif |
268 | ppc_sys_device_enable(MPC8xx_CPM_FEC1); | 373 | ppc_sys_device_enable(MPC8xx_CPM_FEC1); |
269 | 374 | ||
375 | /* Since either of the uarts could be used as console, they need to ready */ | ||
376 | #ifdef CONFIG_SERIAL_CPM_SMC1 | ||
377 | ppc_sys_device_enable(MPC8xx_CPM_SMC1); | ||
378 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC1, PPC_SYS_FUNC_UART); | ||
379 | #endif | ||
380 | |||
381 | #ifdef CONFIG_SERIAL_CPM_SMCer | ||
382 | ppc_sys_device_enable(MPC8xx_CPM_SMC2); | ||
383 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC2, PPC_SYS_FUNC_UART); | ||
384 | #endif | ||
385 | |||
270 | return 0; | 386 | return 0; |
271 | } | 387 | } |
272 | 388 | ||
389 | /* | ||
390 | To prevent confusion, console selection is gross: | ||
391 | by 0 assumed SMC1 and by 1 assumed SMC2 | ||
392 | */ | ||
393 | struct platform_device* early_uart_get_pdev(int index) | ||
394 | { | ||
395 | bd_t *bd = (bd_t *) __res; | ||
396 | struct fs_uart_platform_info *pinfo; | ||
397 | |||
398 | struct platform_device* pdev = NULL; | ||
399 | if(index) { /*assume SMC2 here*/ | ||
400 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC2]; | ||
401 | pinfo = &mpc866_uart_pdata[1]; | ||
402 | } else { /*over SMC1*/ | ||
403 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC1]; | ||
404 | pinfo = &mpc866_uart_pdata[0]; | ||
405 | } | ||
406 | |||
407 | pinfo->uart_clk = bd->bi_intfreq; | ||
408 | pdev->dev.platform_data = pinfo; | ||
409 | ppc_sys_fixup_mem_resource(pdev, IMAP_ADDR); | ||
410 | return NULL; | ||
411 | } | ||
412 | |||
273 | arch_initcall(mpc866ads_init); | 413 | arch_initcall(mpc866ads_init); |
diff --git a/arch/ppc/platforms/mpc885ads_setup.c b/arch/ppc/platforms/mpc885ads_setup.c index 50a99e5f7c68..4b88679cd31c 100644 --- a/arch/ppc/platforms/mpc885ads_setup.c +++ b/arch/ppc/platforms/mpc885ads_setup.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/device.h> | 20 | #include <linux/device.h> |
21 | 21 | ||
22 | #include <linux/fs_enet_pd.h> | 22 | #include <linux/fs_enet_pd.h> |
23 | #include <linux/fs_uart_pd.h> | ||
23 | #include <linux/mii.h> | 24 | #include <linux/mii.h> |
24 | 25 | ||
25 | #include <asm/delay.h> | 26 | #include <asm/delay.h> |
@@ -35,9 +36,32 @@ | |||
35 | #include <asm/ppc_sys.h> | 36 | #include <asm/ppc_sys.h> |
36 | 37 | ||
37 | extern unsigned char __res[]; | 38 | extern unsigned char __res[]; |
39 | static void setup_smc1_ioports(void); | ||
40 | static void setup_smc2_ioports(void); | ||
38 | 41 | ||
39 | static void __init mpc885ads_scc_phy_init(char); | 42 | static void __init mpc885ads_scc_phy_init(char); |
40 | 43 | ||
44 | static struct fs_uart_platform_info mpc885_uart_pdata[] = { | ||
45 | [fsid_smc1_uart] = { | ||
46 | .brg = 1, | ||
47 | .fs_no = fsid_smc1_uart, | ||
48 | .init_ioports = setup_smc1_ioports, | ||
49 | .tx_num_fifo = 4, | ||
50 | .tx_buf_size = 32, | ||
51 | .rx_num_fifo = 4, | ||
52 | .rx_buf_size = 32, | ||
53 | }, | ||
54 | [fsid_smc2_uart] = { | ||
55 | .brg = 2, | ||
56 | .fs_no = fsid_smc2_uart, | ||
57 | .init_ioports = setup_smc2_ioports, | ||
58 | .tx_num_fifo = 4, | ||
59 | .tx_buf_size = 32, | ||
60 | .rx_num_fifo = 4, | ||
61 | .rx_buf_size = 32, | ||
62 | }, | ||
63 | }; | ||
64 | |||
41 | static struct fs_mii_bus_info fec_mii_bus_info = { | 65 | static struct fs_mii_bus_info fec_mii_bus_info = { |
42 | .method = fsmii_fec, | 66 | .method = fsmii_fec, |
43 | .id = 0, | 67 | .id = 0, |
@@ -116,6 +140,8 @@ void __init board_init(void) | |||
116 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 140 | #ifdef CONFIG_SERIAL_CPM_SMC1 |
117 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ | 141 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ |
118 | clrbits32(bcsr_io, BCSR1_RS232EN_1); | 142 | clrbits32(bcsr_io, BCSR1_RS232EN_1); |
143 | cp->cp_smc[0].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
144 | cp->cp_smc[0].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
119 | #else | 145 | #else |
120 | setbits32(bcsr_io,BCSR1_RS232EN_1); | 146 | setbits32(bcsr_io,BCSR1_RS232EN_1); |
121 | cp->cp_smc[0].smc_smcmr = 0; | 147 | cp->cp_smc[0].smc_smcmr = 0; |
@@ -126,6 +152,8 @@ void __init board_init(void) | |||
126 | cp->cp_simode &= ~(0xe0000000 >> 1); | 152 | cp->cp_simode &= ~(0xe0000000 >> 1); |
127 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ | 153 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ |
128 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | 154 | clrbits32(bcsr_io,BCSR1_RS232EN_2); |
155 | cp->cp_smc[1].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
156 | cp->cp_smc[1].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
129 | #else | 157 | #else |
130 | setbits32(bcsr_io,BCSR1_RS232EN_2); | 158 | setbits32(bcsr_io,BCSR1_RS232EN_2); |
131 | cp->cp_smc[1].smc_smcmr = 0; | 159 | cp->cp_smc[1].smc_smcmr = 0; |
@@ -343,6 +371,70 @@ static void mpc885ads_scc_phy_init(char phy_addr) | |||
343 | out_be32(&fecp->fec_mii_speed, 0); | 371 | out_be32(&fecp->fec_mii_speed, 0); |
344 | } | 372 | } |
345 | 373 | ||
374 | static void setup_smc1_ioports(void) | ||
375 | { | ||
376 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
377 | unsigned *bcsr_io; | ||
378 | unsigned int iobits = 0x000000c0; | ||
379 | |||
380 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
381 | |||
382 | if (bcsr_io == NULL) { | ||
383 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
384 | return; | ||
385 | } | ||
386 | clrbits32(bcsr_io,BCSR1_RS232EN_1); | ||
387 | iounmap(bcsr_io); | ||
388 | |||
389 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
390 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
391 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
392 | } | ||
393 | |||
394 | static void setup_smc2_ioports(void) | ||
395 | { | ||
396 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
397 | unsigned *bcsr_io; | ||
398 | unsigned int iobits = 0x00000c00; | ||
399 | |||
400 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
401 | |||
402 | if (bcsr_io == NULL) { | ||
403 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
404 | return; | ||
405 | } | ||
406 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | ||
407 | iounmap(bcsr_io); | ||
408 | |||
409 | #ifndef CONFIG_SERIAL_CPM_ALT_SMC2 | ||
410 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
411 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
412 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
413 | #else | ||
414 | setbits16(&immap->im_ioport.iop_papar, iobits); | ||
415 | clrbits16(&immap->im_ioport.iop_padir, iobits); | ||
416 | clrbits16(&immap->im_ioport.iop_paodr, iobits); | ||
417 | #endif | ||
418 | } | ||
419 | |||
420 | static void __init mpc885ads_fixup_uart_pdata(struct platform_device *pdev, | ||
421 | int idx) | ||
422 | { | ||
423 | bd_t *bd = (bd_t *) __res; | ||
424 | struct fs_uart_platform_info *pinfo; | ||
425 | int num = ARRAY_SIZE(mpc885_uart_pdata); | ||
426 | |||
427 | int id = fs_uart_id_smc2fsid(idx); | ||
428 | |||
429 | /* no need to alter anything if console */ | ||
430 | if ((id <= num) && (!pdev->dev.platform_data)) { | ||
431 | pinfo = &mpc885_uart_pdata[id]; | ||
432 | pinfo->uart_clk = bd->bi_intfreq; | ||
433 | pdev->dev.platform_data = pinfo; | ||
434 | } | ||
435 | } | ||
436 | |||
437 | |||
346 | static int mpc885ads_platform_notify(struct device *dev) | 438 | static int mpc885ads_platform_notify(struct device *dev) |
347 | { | 439 | { |
348 | 440 | ||
@@ -356,12 +448,17 @@ static int mpc885ads_platform_notify(struct device *dev) | |||
356 | .rtn = mpc885ads_fixup_scc_enet_pdata, | 448 | .rtn = mpc885ads_fixup_scc_enet_pdata, |
357 | }, | 449 | }, |
358 | { | 450 | { |
451 | .bus_id = "fsl-cpm-smc:uart", | ||
452 | .rtn = mpc885ads_fixup_uart_pdata | ||
453 | }, | ||
454 | { | ||
359 | .bus_id = NULL | 455 | .bus_id = NULL |
360 | } | 456 | } |
361 | }; | 457 | }; |
362 | 458 | ||
363 | platform_notify_map(dev_map,dev); | 459 | platform_notify_map(dev_map,dev); |
364 | 460 | ||
461 | return 0; | ||
365 | } | 462 | } |
366 | 463 | ||
367 | int __init mpc885ads_init(void) | 464 | int __init mpc885ads_init(void) |
@@ -383,7 +480,41 @@ int __init mpc885ads_init(void) | |||
383 | ppc_sys_device_enable(MPC8xx_CPM_FEC2); | 480 | ppc_sys_device_enable(MPC8xx_CPM_FEC2); |
384 | #endif | 481 | #endif |
385 | 482 | ||
483 | #ifdef CONFIG_SERIAL_CPM_SMC1 | ||
484 | ppc_sys_device_enable(MPC8xx_CPM_SMC1); | ||
485 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC1, PPC_SYS_FUNC_UART); | ||
486 | #endif | ||
487 | |||
488 | #ifdef CONFIG_SERIAL_CPM_SMC2 | ||
489 | ppc_sys_device_enable(MPC8xx_CPM_SMC2); | ||
490 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC2, PPC_SYS_FUNC_UART); | ||
491 | #endif | ||
386 | return 0; | 492 | return 0; |
387 | } | 493 | } |
388 | 494 | ||
389 | arch_initcall(mpc885ads_init); | 495 | arch_initcall(mpc885ads_init); |
496 | |||
497 | /* | ||
498 | To prevent confusion, console selection is gross: | ||
499 | by 0 assumed SMC1 and by 1 assumed SMC2 | ||
500 | */ | ||
501 | struct platform_device* early_uart_get_pdev(int index) | ||
502 | { | ||
503 | bd_t *bd = (bd_t *) __res; | ||
504 | struct fs_uart_platform_info *pinfo; | ||
505 | |||
506 | struct platform_device* pdev = NULL; | ||
507 | if(index) { /*assume SMC2 here*/ | ||
508 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC2]; | ||
509 | pinfo = &mpc885_uart_pdata[1]; | ||
510 | } else { /*over SMC1*/ | ||
511 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC1]; | ||
512 | pinfo = &mpc885_uart_pdata[0]; | ||
513 | } | ||
514 | |||
515 | pinfo->uart_clk = bd->bi_intfreq; | ||
516 | pdev->dev.platform_data = pinfo; | ||
517 | ppc_sys_fixup_mem_resource(pdev, IMAP_ADDR); | ||
518 | return NULL; | ||
519 | } | ||
520 | |||
diff --git a/arch/ppc/platforms/pq2ads.c b/arch/ppc/platforms/pq2ads.c index 3365fd788a7a..7fc2e02f5246 100644 --- a/arch/ppc/platforms/pq2ads.c +++ b/arch/ppc/platforms/pq2ads.c | |||
@@ -14,11 +14,40 @@ | |||
14 | 14 | ||
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | 16 | ||
17 | #include <asm/io.h> | ||
17 | #include <asm/mpc8260.h> | 18 | #include <asm/mpc8260.h> |
19 | #include <asm/cpm2.h> | ||
20 | #include <asm/immap_cpm2.h> | ||
18 | 21 | ||
19 | void __init | 22 | void __init |
20 | m82xx_board_setup(void) | 23 | m82xx_board_setup(void) |
21 | { | 24 | { |
25 | cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); | ||
26 | u32 *bcsr = ioremap(BCSR_ADDR+4, sizeof(u32)); | ||
27 | |||
22 | /* Enable the 2nd UART port */ | 28 | /* Enable the 2nd UART port */ |
23 | *(volatile uint *)(BCSR_ADDR + 4) &= ~BCSR1_RS232_EN2; | 29 | clrbits32(bcsr, BCSR1_RS232_EN2); |
30 | |||
31 | #ifdef CONFIG_SERIAL_CPM_SCC1 | ||
32 | clrbits32((u32*)&immap->im_scc[0].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
33 | clrbits32((u32*)&immap->im_scc[0].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
34 | #endif | ||
35 | |||
36 | #ifdef CONFIG_SERIAL_CPM_SCC2 | ||
37 | clrbits32((u32*)&immap->im_scc[1].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
38 | clrbits32((u32*)&immap->im_scc[1].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
39 | #endif | ||
40 | |||
41 | #ifdef CONFIG_SERIAL_CPM_SCC3 | ||
42 | clrbits32((u32*)&immap->im_scc[2].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
43 | clrbits32((u32*)&immap->im_scc[2].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
44 | #endif | ||
45 | |||
46 | #ifdef CONFIG_SERIAL_CPM_SCC4 | ||
47 | clrbits32((u32*)&immap->im_scc[3].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
48 | clrbits32((u32*)&immap->im_scc[3].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
49 | #endif | ||
50 | |||
51 | iounmap(bcsr); | ||
52 | iounmap(immap); | ||
24 | } | 53 | } |
diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_common.c index a7dd55f1c63e..f6cc16888527 100644 --- a/arch/ppc/syslib/ibm440gx_common.c +++ b/arch/ppc/syslib/ibm440gx_common.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * PPC440GX system library | 2 | * PPC440GX system library |
3 | * | 3 | * |
4 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | 4 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> |
5 | * Copyright (c) 2003, 2004 Zultys Technologies | 5 | * Copyright (c) 2003 - 2006 Zultys Technologies |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify it | 7 | * This program is free software; you can redistribute it and/or modify it |
8 | * under the terms of the GNU General Public License as published by the | 8 | * under the terms of the GNU General Public License as published by the |
@@ -282,3 +282,14 @@ int ibm440gx_show_cpuinfo(struct seq_file *m){ | |||
282 | return 0; | 282 | return 0; |
283 | } | 283 | } |
284 | 284 | ||
285 | void __init ibm440gx_platform_init(unsigned long r3, unsigned long r4, | ||
286 | unsigned long r5, unsigned long r6, | ||
287 | unsigned long r7) | ||
288 | { | ||
289 | /* Erratum 440_43 workaround, disable L1 cache parity checking */ | ||
290 | if (!strcmp(cur_cpu_spec->cpu_name, "440GX Rev. C") || | ||
291 | !strcmp(cur_cpu_spec->cpu_name, "440GX Rev. F")) | ||
292 | mtspr(SPRN_CCR1, mfspr(SPRN_CCR1) | CCR1_DPC); | ||
293 | |||
294 | ibm44x_platform_init(r3, r4, r5, r6, r7); | ||
295 | } | ||
diff --git a/arch/ppc/syslib/ibm440gx_common.h b/arch/ppc/syslib/ibm440gx_common.h index a2ab9fab8e34..a03ec6022e8f 100644 --- a/arch/ppc/syslib/ibm440gx_common.h +++ b/arch/ppc/syslib/ibm440gx_common.h | |||
@@ -29,6 +29,10 @@ | |||
29 | void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk, | 29 | void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk, |
30 | unsigned int ser_clk) __init; | 30 | unsigned int ser_clk) __init; |
31 | 31 | ||
32 | /* common 440GX platform init */ | ||
33 | void ibm440gx_platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
34 | unsigned long r6, unsigned long r7) __init; | ||
35 | |||
32 | /* Enable L2 cache */ | 36 | /* Enable L2 cache */ |
33 | void ibm440gx_l2c_enable(void) __init; | 37 | void ibm440gx_l2c_enable(void) __init; |
34 | 38 | ||
diff --git a/arch/ppc/syslib/mpc8xx_devices.c b/arch/ppc/syslib/mpc8xx_devices.c index bd41ed83beb3..6f536383866e 100644 --- a/arch/ppc/syslib/mpc8xx_devices.c +++ b/arch/ppc/syslib/mpc8xx_devices.c | |||
@@ -170,12 +170,18 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
170 | [MPC8xx_CPM_SMC1] = { | 170 | [MPC8xx_CPM_SMC1] = { |
171 | .name = "fsl-cpm-smc", | 171 | .name = "fsl-cpm-smc", |
172 | .id = 1, | 172 | .id = 1, |
173 | .num_resources = 2, | 173 | .num_resources = 3, |
174 | .resource = (struct resource[]) { | 174 | .resource = (struct resource[]) { |
175 | { | 175 | { |
176 | .name = "regs", | 176 | .name = "regs", |
177 | .start = 0xa82, | 177 | .start = 0xa80, |
178 | .end = 0xa91, | 178 | .end = 0xa8f, |
179 | .flags = IORESOURCE_MEM, | ||
180 | }, | ||
181 | { | ||
182 | .name = "pram", | ||
183 | .start = 0x3e80, | ||
184 | .end = 0x3ebf, | ||
179 | .flags = IORESOURCE_MEM, | 185 | .flags = IORESOURCE_MEM, |
180 | }, | 186 | }, |
181 | { | 187 | { |
@@ -189,15 +195,22 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
189 | [MPC8xx_CPM_SMC2] = { | 195 | [MPC8xx_CPM_SMC2] = { |
190 | .name = "fsl-cpm-smc", | 196 | .name = "fsl-cpm-smc", |
191 | .id = 2, | 197 | .id = 2, |
192 | .num_resources = 2, | 198 | .num_resources = 3, |
193 | .resource = (struct resource[]) { | 199 | .resource = (struct resource[]) { |
194 | { | 200 | { |
195 | .name = "regs", | 201 | .name = "regs", |
196 | .start = 0xa92, | 202 | .start = 0xa90, |
197 | .end = 0xaa1, | 203 | .end = 0xa9f, |
198 | .flags = IORESOURCE_MEM, | 204 | .flags = IORESOURCE_MEM, |
199 | }, | 205 | }, |
200 | { | 206 | { |
207 | .name = "pram", | ||
208 | .start = 0x3f80, | ||
209 | .end = 0x3fbf, | ||
210 | .flags = IORESOURCE_MEM, | ||
211 | |||
212 | }, | ||
213 | { | ||
201 | .name = "interrupt", | 214 | .name = "interrupt", |
202 | .start = MPC8xx_INT_SMC2, | 215 | .start = MPC8xx_INT_SMC2, |
203 | .end = MPC8xx_INT_SMC2, | 216 | .end = MPC8xx_INT_SMC2, |
diff --git a/arch/ppc/syslib/ppc_sys.c b/arch/ppc/syslib/ppc_sys.c index 60c724e11584..2d48018b71d9 100644 --- a/arch/ppc/syslib/ppc_sys.c +++ b/arch/ppc/syslib/ppc_sys.c | |||
@@ -109,9 +109,11 @@ ppc_sys_fixup_mem_resource(struct platform_device *pdev, phys_addr_t paddr) | |||
109 | int i; | 109 | int i; |
110 | for (i = 0; i < pdev->num_resources; i++) { | 110 | for (i = 0; i < pdev->num_resources; i++) { |
111 | struct resource *r = &pdev->resource[i]; | 111 | struct resource *r = &pdev->resource[i]; |
112 | if ((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) { | 112 | if (((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) && |
113 | ((r->flags & PPC_SYS_IORESOURCE_FIXUPPED) != PPC_SYS_IORESOURCE_FIXUPPED)) { | ||
113 | r->start += paddr; | 114 | r->start += paddr; |
114 | r->end += paddr; | 115 | r->end += paddr; |
116 | r->flags |= PPC_SYS_IORESOURCE_FIXUPPED; | ||
115 | } | 117 | } |
116 | } | 118 | } |
117 | } | 119 | } |
@@ -156,12 +158,13 @@ void platform_notify_map(const struct platform_notify_dev_map *map, | |||
156 | while (map->bus_id != NULL) { | 158 | while (map->bus_id != NULL) { |
157 | idx = -1; | 159 | idx = -1; |
158 | s = strrchr(dev->bus_id, '.'); | 160 | s = strrchr(dev->bus_id, '.'); |
159 | if (s != NULL) | 161 | if (s != NULL) { |
160 | idx = (int)simple_strtol(s + 1, NULL, 10); | 162 | idx = (int)simple_strtol(s + 1, NULL, 10); |
161 | else | 163 | len = s - dev->bus_id; |
164 | } else { | ||
162 | s = dev->bus_id; | 165 | s = dev->bus_id; |
163 | 166 | len = strlen(dev->bus_id); | |
164 | len = s - dev->bus_id; | 167 | } |
165 | 168 | ||
166 | if (!strncmp(dev->bus_id, map->bus_id, len)) { | 169 | if (!strncmp(dev->bus_id, map->bus_id, len)) { |
167 | pdev = container_of(dev, struct platform_device, dev); | 170 | pdev = container_of(dev, struct platform_device, dev); |
diff --git a/arch/ppc/syslib/pq2_sys.c b/arch/ppc/syslib/pq2_sys.c index 75e64f1c144d..433b0fa203e1 100644 --- a/arch/ppc/syslib/pq2_sys.c +++ b/arch/ppc/syslib/pq2_sys.c | |||
@@ -113,13 +113,13 @@ struct ppc_sys_spec ppc_sys_specs[] = { | |||
113 | .ppc_sys_name = "8248", | 113 | .ppc_sys_name = "8248", |
114 | .mask = 0x0000ff00, | 114 | .mask = 0x0000ff00, |
115 | .value = 0x00000c00, | 115 | .value = 0x00000c00, |
116 | .num_devices = 11, | 116 | .num_devices = 12, |
117 | .device_list = (enum ppc_sys_devices[]) | 117 | .device_list = (enum ppc_sys_devices[]) |
118 | { | 118 | { |
119 | MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, | 119 | MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, |
120 | MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1, | 120 | MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4, |
121 | MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, | 121 | MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, |
122 | MPC82xx_CPM_USB, MPC82xx_SEC1, | 122 | MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1, |
123 | }, | 123 | }, |
124 | }, | 124 | }, |
125 | { | 125 | { |
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index 54d35c130907..9a22434a580c 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
@@ -652,7 +652,7 @@ appldata_cpu_notify(struct notifier_block *self, | |||
652 | return NOTIFY_OK; | 652 | return NOTIFY_OK; |
653 | } | 653 | } |
654 | 654 | ||
655 | static struct notifier_block __devinitdata appldata_nb = { | 655 | static struct notifier_block appldata_nb = { |
656 | .notifier_call = appldata_cpu_notify, | 656 | .notifier_call = appldata_cpu_notify, |
657 | }; | 657 | }; |
658 | 658 | ||
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index 5291b5f8788d..b4c815d8ef75 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c | |||
@@ -430,7 +430,7 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) | |||
430 | 430 | ||
431 | /* This is the X/Open sanctioned signal stack switching. */ | 431 | /* This is the X/Open sanctioned signal stack switching. */ |
432 | if (ka->sa.sa_flags & SA_ONSTACK) { | 432 | if (ka->sa.sa_flags & SA_ONSTACK) { |
433 | if (! on_sig_stack(sp)) | 433 | if (! sas_ss_flags(sp)) |
434 | sp = current->sas_ss_sp + current->sas_ss_size; | 434 | sp = current->sas_ss_sp + current->sas_ss_size; |
435 | } | 435 | } |
436 | 436 | ||
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 199da68bd7be..ef5b9c44b86b 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -1608,3 +1608,45 @@ compat_sys_ppoll_wrapper: | |||
1608 | sys_unshare_wrapper: | 1608 | sys_unshare_wrapper: |
1609 | llgfr %r2,%r2 # unsigned long | 1609 | llgfr %r2,%r2 # unsigned long |
1610 | jg sys_unshare | 1610 | jg sys_unshare |
1611 | |||
1612 | .globl compat_sys_set_robust_list_wrapper | ||
1613 | compat_sys_set_robust_list_wrapper: | ||
1614 | llgtr %r2,%r2 # struct compat_robust_list_head * | ||
1615 | llgfr %r3,%r3 # size_t | ||
1616 | jg compat_sys_set_robust_list | ||
1617 | |||
1618 | .globl compat_sys_get_robust_list_wrapper | ||
1619 | compat_sys_get_robust_list_wrapper: | ||
1620 | lgfr %r2,%r2 # int | ||
1621 | llgtr %r3,%r3 # compat_uptr_t_t * | ||
1622 | llgtr %r4,%r4 # compat_size_t * | ||
1623 | jg compat_sys_get_robust_list | ||
1624 | |||
1625 | .globl sys_splice_wrapper | ||
1626 | sys_splice_wrapper: | ||
1627 | lgfr %r2,%r2 # int | ||
1628 | llgtr %r3,%r3 # loff_t * | ||
1629 | lgfr %r4,%r4 # int | ||
1630 | llgtr %r5,%r5 # loff_t * | ||
1631 | llgfr %r6,%r6 # size_t | ||
1632 | llgf %r0,164(%r15) # unsigned int | ||
1633 | stg %r0,160(%r15) | ||
1634 | jg sys_splice | ||
1635 | |||
1636 | .globl sys_sync_file_range_wrapper | ||
1637 | sys_sync_file_range_wrapper: | ||
1638 | lgfr %r2,%r2 # int | ||
1639 | sllg %r3,%r3,32 # get high word of 64bit loff_t | ||
1640 | or %r3,%r4 # get low word of 64bit loff_t | ||
1641 | sllg %r4,%r5,32 # get high word of 64bit loff_t | ||
1642 | or %r4,%r6 # get low word of 64bit loff_t | ||
1643 | llgf %r5,164(%r15) # unsigned int | ||
1644 | jg sys_sync_file_range | ||
1645 | |||
1646 | .globl sys_tee_wrapper | ||
1647 | sys_tee_wrapper: | ||
1648 | lgfr %r2,%r2 # int | ||
1649 | lgfr %r3,%r3 # int | ||
1650 | llgfr %r4,%r4 # size_t | ||
1651 | llgfr %r5,%r5 # unsigned int | ||
1652 | jg sys_tee | ||
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 37dfe33dab73..8f36504075ed 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c | |||
@@ -734,7 +734,7 @@ asmlinkage void | |||
734 | syscall_trace(struct pt_regs *regs, int entryexit) | 734 | syscall_trace(struct pt_regs *regs, int entryexit) |
735 | { | 735 | { |
736 | if (unlikely(current->audit_context) && entryexit) | 736 | if (unlikely(current->audit_context) && entryexit) |
737 | audit_syscall_exit(current, AUDITSC_RESULT(regs->gprs[2]), regs->gprs[2]); | 737 | audit_syscall_exit(AUDITSC_RESULT(regs->gprs[2]), regs->gprs[2]); |
738 | 738 | ||
739 | if (!test_thread_flag(TIF_SYSCALL_TRACE)) | 739 | if (!test_thread_flag(TIF_SYSCALL_TRACE)) |
740 | goto out; | 740 | goto out; |
@@ -761,8 +761,7 @@ syscall_trace(struct pt_regs *regs, int entryexit) | |||
761 | } | 761 | } |
762 | out: | 762 | out: |
763 | if (unlikely(current->audit_context) && !entryexit) | 763 | if (unlikely(current->audit_context) && !entryexit) |
764 | audit_syscall_entry(current, | 764 | audit_syscall_entry(test_thread_flag(TIF_31BIT)?AUDIT_ARCH_S390:AUDIT_ARCH_S390X, |
765 | test_thread_flag(TIF_31BIT)?AUDIT_ARCH_S390:AUDIT_ARCH_S390X, | ||
766 | regs->gprs[2], regs->orig_gpr2, regs->gprs[3], | 765 | regs->gprs[2], regs->orig_gpr2, regs->gprs[3], |
767 | regs->gprs[4], regs->gprs[5]); | 766 | regs->gprs[4], regs->gprs[5]); |
768 | } | 767 | } |
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index ae1927e48cfb..d48cfc726b68 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c | |||
@@ -358,8 +358,9 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
358 | } else { | 358 | } else { |
359 | regs->gprs[14] = (unsigned long) | 359 | regs->gprs[14] = (unsigned long) |
360 | frame->retcode | PSW_ADDR_AMODE; | 360 | frame->retcode | PSW_ADDR_AMODE; |
361 | err |= __put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, | 361 | if (__put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, |
362 | (u16 __user *)(frame->retcode)); | 362 | (u16 __user *)(frame->retcode))) |
363 | goto give_sigsegv; | ||
363 | } | 364 | } |
364 | 365 | ||
365 | /* Set up backchain. */ | 366 | /* Set up backchain. */ |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 2f56654da821..fc2c0767202b 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -312,3 +312,8 @@ SYSCALL(sys_faccessat,sys_faccessat,sys_faccessat_wrapper) /* 300 */ | |||
312 | SYSCALL(sys_pselect6,sys_pselect6,compat_sys_pselect6_wrapper) | 312 | SYSCALL(sys_pselect6,sys_pselect6,compat_sys_pselect6_wrapper) |
313 | SYSCALL(sys_ppoll,sys_ppoll,compat_sys_ppoll_wrapper) | 313 | SYSCALL(sys_ppoll,sys_ppoll,compat_sys_ppoll_wrapper) |
314 | SYSCALL(sys_unshare,sys_unshare,sys_unshare_wrapper) | 314 | SYSCALL(sys_unshare,sys_unshare,sys_unshare_wrapper) |
315 | SYSCALL(sys_set_robust_list,sys_set_robust_list,compat_sys_set_robust_list_wrapper) | ||
316 | SYSCALL(sys_get_robust_list,sys_get_robust_list,compat_sys_get_robust_list_wrapper) | ||
317 | SYSCALL(sys_splice,sys_splice,sys_splice_wrapper) | ||
318 | SYSCALL(sys_sync_file_range,sys_sync_file_range,sys_sync_file_range_wrapper) | ||
319 | SYSCALL(sys_tee,sys_tee,sys_tee_wrapper) | ||
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index 9289face3027..9f34bb54c051 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
@@ -58,9 +58,11 @@ SECTIONS | |||
58 | . = ALIGN(4096); | 58 | . = ALIGN(4096); |
59 | .data.page_aligned : { *(.data.idt) } | 59 | .data.page_aligned : { *(.data.idt) } |
60 | 60 | ||
61 | . = ALIGN(32); | 61 | . = ALIGN(256); |
62 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | 62 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } |
63 | 63 | ||
64 | . = ALIGN(256); | ||
65 | .data.read_mostly : { *(.data.read_mostly) } | ||
64 | _edata = .; /* End of data section */ | 66 | _edata = .; /* End of data section */ |
65 | 67 | ||
66 | . = ALIGN(8192); /* init_task */ | 68 | . = ALIGN(8192); /* init_task */ |
diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c index a9566bcab682..9b11e3e20903 100644 --- a/arch/s390/mm/extmem.c +++ b/arch/s390/mm/extmem.c | |||
@@ -192,6 +192,7 @@ query_segment_type (struct dcss_segment *seg) | |||
192 | diag_cc = dcss_diag (DCSS_SEGEXT, qin, &dummy, &vmrc); | 192 | diag_cc = dcss_diag (DCSS_SEGEXT, qin, &dummy, &vmrc); |
193 | 193 | ||
194 | if (diag_cc > 1) { | 194 | if (diag_cc > 1) { |
195 | PRINT_WARN ("segment_type: diag returned error %ld\n", vmrc); | ||
195 | rc = dcss_diag_translate_rc (vmrc); | 196 | rc = dcss_diag_translate_rc (vmrc); |
196 | goto out_free; | 197 | goto out_free; |
197 | } | 198 | } |
@@ -553,7 +554,7 @@ segment_save(char *name) | |||
553 | int endpfn = 0; | 554 | int endpfn = 0; |
554 | char cmd1[160]; | 555 | char cmd1[160]; |
555 | char cmd2[80]; | 556 | char cmd2[80]; |
556 | int i; | 557 | int i, response; |
557 | 558 | ||
558 | if (!MACHINE_IS_VM) | 559 | if (!MACHINE_IS_VM) |
559 | return; | 560 | return; |
@@ -576,8 +577,20 @@ segment_save(char *name) | |||
576 | segtype_string[seg->range[i].start & 0xff]); | 577 | segtype_string[seg->range[i].start & 0xff]); |
577 | } | 578 | } |
578 | sprintf(cmd2, "SAVESEG %s", name); | 579 | sprintf(cmd2, "SAVESEG %s", name); |
579 | cpcmd(cmd1, NULL, 0, NULL); | 580 | response = 0; |
580 | cpcmd(cmd2, NULL, 0, NULL); | 581 | cpcmd(cmd1, NULL, 0, &response); |
582 | if (response) { | ||
583 | PRINT_ERR("segment_save: DEFSEG failed with response code %i\n", | ||
584 | response); | ||
585 | goto out; | ||
586 | } | ||
587 | cpcmd(cmd2, NULL, 0, &response); | ||
588 | if (response) { | ||
589 | PRINT_ERR("segment_save: SAVESEG failed with response code %i\n", | ||
590 | response); | ||
591 | goto out; | ||
592 | } | ||
593 | out: | ||
581 | spin_unlock(&dcss_lock); | 594 | spin_unlock(&dcss_lock); |
582 | } | 595 | } |
583 | 596 | ||
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 648047a0bce3..43a66f5407f4 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -187,7 +187,7 @@ config HUGETLB_PAGE_SIZE_512K | |||
187 | bool "512K" | 187 | bool "512K" |
188 | 188 | ||
189 | config HUGETLB_PAGE_SIZE_64K | 189 | config HUGETLB_PAGE_SIZE_64K |
190 | depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64K | 190 | depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64KB |
191 | bool "64K" | 191 | bool "64K" |
192 | 192 | ||
193 | endchoice | 193 | endchoice |
diff --git a/arch/sparc64/kernel/kprobes.c b/arch/sparc64/kernel/kprobes.c index ffc7309e9f22..2e1c824c1cc9 100644 --- a/arch/sparc64/kernel/kprobes.c +++ b/arch/sparc64/kernel/kprobes.c | |||
@@ -63,7 +63,7 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p) | |||
63 | flushi(p->addr); | 63 | flushi(p->addr); |
64 | } | 64 | } |
65 | 65 | ||
66 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | 66 | static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) |
67 | { | 67 | { |
68 | kcb->prev_kprobe.kp = kprobe_running(); | 68 | kcb->prev_kprobe.kp = kprobe_running(); |
69 | kcb->prev_kprobe.status = kcb->kprobe_status; | 69 | kcb->prev_kprobe.status = kcb->kprobe_status; |
@@ -71,7 +71,7 @@ static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | |||
71 | kcb->prev_kprobe.orig_tstate_pil = kcb->kprobe_orig_tstate_pil; | 71 | kcb->prev_kprobe.orig_tstate_pil = kcb->kprobe_orig_tstate_pil; |
72 | } | 72 | } |
73 | 73 | ||
74 | static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | 74 | static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) |
75 | { | 75 | { |
76 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; | 76 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; |
77 | kcb->kprobe_status = kcb->prev_kprobe.status; | 77 | kcb->kprobe_status = kcb->prev_kprobe.status; |
@@ -79,7 +79,7 @@ static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | |||
79 | kcb->kprobe_orig_tstate_pil = kcb->prev_kprobe.orig_tstate_pil; | 79 | kcb->kprobe_orig_tstate_pil = kcb->prev_kprobe.orig_tstate_pil; |
80 | } | 80 | } |
81 | 81 | ||
82 | static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | 82 | static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, |
83 | struct kprobe_ctlblk *kcb) | 83 | struct kprobe_ctlblk *kcb) |
84 | { | 84 | { |
85 | __get_cpu_var(current_kprobe) = p; | 85 | __get_cpu_var(current_kprobe) = p; |
@@ -87,7 +87,7 @@ static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | |||
87 | kcb->kprobe_orig_tstate_pil = (regs->tstate & TSTATE_PIL); | 87 | kcb->kprobe_orig_tstate_pil = (regs->tstate & TSTATE_PIL); |
88 | } | 88 | } |
89 | 89 | ||
90 | static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs, | 90 | static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs, |
91 | struct kprobe_ctlblk *kcb) | 91 | struct kprobe_ctlblk *kcb) |
92 | { | 92 | { |
93 | regs->tstate |= TSTATE_PIL; | 93 | regs->tstate |= TSTATE_PIL; |
@@ -273,7 +273,7 @@ static void __kprobes resume_execution(struct kprobe *p, | |||
273 | kcb->kprobe_orig_tstate_pil); | 273 | kcb->kprobe_orig_tstate_pil); |
274 | } | 274 | } |
275 | 275 | ||
276 | static inline int post_kprobe_handler(struct pt_regs *regs) | 276 | static int __kprobes post_kprobe_handler(struct pt_regs *regs) |
277 | { | 277 | { |
278 | struct kprobe *cur = kprobe_running(); | 278 | struct kprobe *cur = kprobe_running(); |
279 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 279 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
@@ -300,7 +300,7 @@ out: | |||
300 | return 1; | 300 | return 1; |
301 | } | 301 | } |
302 | 302 | ||
303 | static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr) | 303 | static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) |
304 | { | 304 | { |
305 | struct kprobe *cur = kprobe_running(); | 305 | struct kprobe *cur = kprobe_running(); |
306 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 306 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index dfccff29e182..f97ddeb105ac 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c | |||
@@ -419,6 +419,7 @@ void pcibios_resource_to_bus(struct pci_dev *pdev, struct pci_bus_region *region | |||
419 | region->start = res->start - zero_res.start; | 419 | region->start = res->start - zero_res.start; |
420 | region->end = res->end - zero_res.start; | 420 | region->end = res->end - zero_res.start; |
421 | } | 421 | } |
422 | EXPORT_SYMBOL(pcibios_resource_to_bus); | ||
422 | 423 | ||
423 | void pcibios_bus_to_resource(struct pci_dev *pdev, struct resource *res, | 424 | void pcibios_bus_to_resource(struct pci_dev *pdev, struct resource *res, |
424 | struct pci_bus_region *region) | 425 | struct pci_bus_region *region) |
diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c index 49e6dedd027d..d31975e6d6f6 100644 --- a/arch/sparc64/kernel/ptrace.c +++ b/arch/sparc64/kernel/ptrace.c | |||
@@ -653,7 +653,7 @@ asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p) | |||
653 | if (unlikely(tstate & (TSTATE_XCARRY | TSTATE_ICARRY))) | 653 | if (unlikely(tstate & (TSTATE_XCARRY | TSTATE_ICARRY))) |
654 | result = AUDITSC_FAILURE; | 654 | result = AUDITSC_FAILURE; |
655 | 655 | ||
656 | audit_syscall_exit(current, result, regs->u_regs[UREG_I0]); | 656 | audit_syscall_exit(result, regs->u_regs[UREG_I0]); |
657 | } | 657 | } |
658 | 658 | ||
659 | if (!(current->ptrace & PT_PTRACED)) | 659 | if (!(current->ptrace & PT_PTRACED)) |
@@ -677,8 +677,7 @@ asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p) | |||
677 | 677 | ||
678 | out: | 678 | out: |
679 | if (unlikely(current->audit_context) && !syscall_exit_p) | 679 | if (unlikely(current->audit_context) && !syscall_exit_p) |
680 | audit_syscall_entry(current, | 680 | audit_syscall_entry((test_thread_flag(TIF_32BIT) ? |
681 | (test_thread_flag(TIF_32BIT) ? | ||
682 | AUDIT_ARCH_SPARC : | 681 | AUDIT_ARCH_SPARC : |
683 | AUDIT_ARCH_SPARC64), | 682 | AUDIT_ARCH_SPARC64), |
684 | regs->u_regs[UREG_G1], | 683 | regs->u_regs[UREG_G1], |
diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c index a079cf42505e..3f10fc921b00 100644 --- a/arch/sparc64/mm/tlb.c +++ b/arch/sparc64/mm/tlb.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/percpu.h> | 8 | #include <linux/percpu.h> |
9 | #include <linux/mm.h> | 9 | #include <linux/mm.h> |
10 | #include <linux/swap.h> | 10 | #include <linux/swap.h> |
11 | #include <linux/preempt.h> | ||
11 | 12 | ||
12 | #include <asm/pgtable.h> | 13 | #include <asm/pgtable.h> |
13 | #include <asm/pgalloc.h> | 14 | #include <asm/pgalloc.h> |
@@ -24,6 +25,8 @@ void flush_tlb_pending(void) | |||
24 | { | 25 | { |
25 | struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); | 26 | struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); |
26 | 27 | ||
28 | preempt_disable(); | ||
29 | |||
27 | if (mp->tlb_nr) { | 30 | if (mp->tlb_nr) { |
28 | flush_tsb_user(mp); | 31 | flush_tsb_user(mp); |
29 | 32 | ||
@@ -38,6 +41,8 @@ void flush_tlb_pending(void) | |||
38 | } | 41 | } |
39 | mp->tlb_nr = 0; | 42 | mp->tlb_nr = 0; |
40 | } | 43 | } |
44 | |||
45 | preempt_enable(); | ||
41 | } | 46 | } |
42 | 47 | ||
43 | void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) | 48 | void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) |
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 05fbb20636cb..76e85bbaea55 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig | |||
@@ -57,20 +57,6 @@ config STATIC_LINK | |||
57 | chroot, and you disable CONFIG_MODE_TT, you probably want to say Y | 57 | chroot, and you disable CONFIG_MODE_TT, you probably want to say Y |
58 | here. | 58 | here. |
59 | 59 | ||
60 | config HOST_2G_2G | ||
61 | bool "2G/2G host address space split" | ||
62 | default n | ||
63 | depends on MODE_TT | ||
64 | help | ||
65 | This is needed when the host on which you run has a 2G/2G memory | ||
66 | split, instead of the customary 3G/1G. | ||
67 | |||
68 | Note that to enable such a host | ||
69 | configuration, which makes sense only in some cases, you need special | ||
70 | host patches. | ||
71 | |||
72 | So, if you do not know what to do here, say 'N'. | ||
73 | |||
74 | config KERNEL_HALF_GIGS | 60 | config KERNEL_HALF_GIGS |
75 | int "Kernel address space size (in .5G units)" | 61 | int "Kernel address space size (in .5G units)" |
76 | default "1" | 62 | default "1" |
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386 index 85e6a55b3b59..f6eb72d117b9 100644 --- a/arch/um/Kconfig.i386 +++ b/arch/um/Kconfig.i386 | |||
@@ -16,6 +16,19 @@ config SEMAPHORE_SLEEPERS | |||
16 | bool | 16 | bool |
17 | default y | 17 | default y |
18 | 18 | ||
19 | config HOST_2G_2G | ||
20 | bool "2G/2G host address space split" | ||
21 | default n | ||
22 | help | ||
23 | This is needed when the host on which you run has a 2G/2G memory | ||
24 | split, instead of the customary 3G/1G. | ||
25 | |||
26 | Note that to enable such a host | ||
27 | configuration, which makes sense only in some cases, you need special | ||
28 | host patches. | ||
29 | |||
30 | So, if you do not know what to do here, say 'N'. | ||
31 | |||
19 | config TOP_ADDR | 32 | config TOP_ADDR |
20 | hex | 33 | hex |
21 | default 0xc0000000 if !HOST_2G_2G | 34 | default 0xc0000000 if !HOST_2G_2G |
@@ -35,11 +48,13 @@ config 3_LEVEL_PGTABLES | |||
35 | 48 | ||
36 | config STUB_CODE | 49 | config STUB_CODE |
37 | hex | 50 | hex |
38 | default 0xbfffe000 | 51 | default 0xbfffe000 if !HOST_2G_2G |
52 | default 0x7fffe000 if HOST_2G_2G | ||
39 | 53 | ||
40 | config STUB_DATA | 54 | config STUB_DATA |
41 | hex | 55 | hex |
42 | default 0xbffff000 | 56 | default 0xbffff000 if !HOST_2G_2G |
57 | default 0x7ffff000 if HOST_2G_2G | ||
43 | 58 | ||
44 | config STUB_START | 59 | config STUB_START |
45 | hex | 60 | hex |
diff --git a/arch/um/Makefile b/arch/um/Makefile index a508e7a02891..f6ad832faf13 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile | |||
@@ -96,7 +96,8 @@ PHONY += linux | |||
96 | all: linux | 96 | all: linux |
97 | 97 | ||
98 | linux: vmlinux | 98 | linux: vmlinux |
99 | ln -f $< $@ | 99 | @echo ' LINK $@' |
100 | $(Q)ln -f $< $@ | ||
100 | 101 | ||
101 | define archhelp | 102 | define archhelp |
102 | echo '* linux - Binary kernel image (./linux) - for backward' | 103 | echo '* linux - Binary kernel image (./linux) - for backward' |
@@ -117,6 +118,10 @@ prepare: $(ARCH_DIR)/include/kern_constants.h | |||
117 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static | 118 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static |
118 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib | 119 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib |
119 | 120 | ||
121 | CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \ | ||
122 | $(call cc-option, -fno-stack-protector,) \ | ||
123 | $(call cc-option, -fno-stack-protector-all,) | ||
124 | |||
120 | CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT | 125 | CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT |
121 | CONFIG_KERNEL_STACK_ORDER ?= 2 | 126 | CONFIG_KERNEL_STACK_ORDER ?= 2 |
122 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) | 127 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) |
@@ -203,8 +208,8 @@ endef | |||
203 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h | 208 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h |
204 | $(call filechk,umlconfig) | 209 | $(call filechk,umlconfig) |
205 | 210 | ||
206 | $(ARCH_DIR)/user-offsets.s: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.c | 211 | $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s: FORCE |
207 | $(CC) $(USER_CFLAGS) -S -o $@ $< | 212 | $(Q)$(MAKE) $(build)=$(ARCH_DIR)/sys-$(SUBARCH) $@ |
208 | 213 | ||
209 | define filechk_gen-asm-offsets | 214 | define filechk_gen-asm-offsets |
210 | (set -e; \ | 215 | (set -e; \ |
@@ -219,13 +224,11 @@ define filechk_gen-asm-offsets | |||
219 | echo ""; ) | 224 | echo ""; ) |
220 | endef | 225 | endef |
221 | 226 | ||
222 | $(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/user-offsets.s | 227 | $(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s |
223 | $(call filechk,gen-asm-offsets) | 228 | $(call filechk,gen-asm-offsets) |
224 | 229 | ||
225 | CLEAN_FILES += $(ARCH_DIR)/user-offsets.s | ||
226 | |||
227 | $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include | 230 | $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include |
228 | @echo ' SYMLINK $@' | 231 | @echo ' SYMLINK $@' |
229 | $(Q) ln -sf ../../../include/asm-um/asm-offsets.h $@ | 232 | $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@ |
230 | 233 | ||
231 | export SUBARCH USER_CFLAGS OS | 234 | export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS |
diff --git a/arch/um/defconfig b/arch/um/defconfig index 80d30d19d750..402a74dc5026 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig | |||
@@ -1,14 +1,13 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.12-rc6-mm1 | 3 | # Linux kernel version: 2.6.17-rc3 |
4 | # Tue Jun 14 18:22:21 2005 | 4 | # Fri Apr 28 09:31:20 2006 |
5 | # | 5 | # |
6 | CONFIG_GENERIC_HARDIRQS=y | 6 | CONFIG_GENERIC_HARDIRQS=y |
7 | CONFIG_UML=y | 7 | CONFIG_UML=y |
8 | CONFIG_MMU=y | 8 | CONFIG_MMU=y |
9 | CONFIG_UID16=y | ||
10 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
11 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 9 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
10 | CONFIG_IRQ_RELEASE_METHOD=y | ||
12 | 11 | ||
13 | # | 12 | # |
14 | # UML-specific options | 13 | # UML-specific options |
@@ -16,8 +15,50 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y | |||
16 | # CONFIG_MODE_TT is not set | 15 | # CONFIG_MODE_TT is not set |
17 | # CONFIG_STATIC_LINK is not set | 16 | # CONFIG_STATIC_LINK is not set |
18 | CONFIG_MODE_SKAS=y | 17 | CONFIG_MODE_SKAS=y |
18 | |||
19 | # | ||
20 | # Host processor type and features | ||
21 | # | ||
22 | # CONFIG_M386 is not set | ||
23 | # CONFIG_M486 is not set | ||
24 | # CONFIG_M586 is not set | ||
25 | # CONFIG_M586TSC is not set | ||
26 | # CONFIG_M586MMX is not set | ||
27 | CONFIG_M686=y | ||
28 | # CONFIG_MPENTIUMII is not set | ||
29 | # CONFIG_MPENTIUMIII is not set | ||
30 | # CONFIG_MPENTIUMM is not set | ||
31 | # CONFIG_MPENTIUM4 is not set | ||
32 | # CONFIG_MK6 is not set | ||
33 | # CONFIG_MK7 is not set | ||
34 | # CONFIG_MK8 is not set | ||
35 | # CONFIG_MCRUSOE is not set | ||
36 | # CONFIG_MEFFICEON is not set | ||
37 | # CONFIG_MWINCHIPC6 is not set | ||
38 | # CONFIG_MWINCHIP2 is not set | ||
39 | # CONFIG_MWINCHIP3D is not set | ||
40 | # CONFIG_MGEODEGX1 is not set | ||
41 | # CONFIG_MGEODE_LX is not set | ||
42 | # CONFIG_MCYRIXIII is not set | ||
43 | # CONFIG_MVIAC3_2 is not set | ||
44 | # CONFIG_X86_GENERIC is not set | ||
45 | CONFIG_X86_CMPXCHG=y | ||
46 | CONFIG_X86_XADD=y | ||
47 | CONFIG_X86_L1_CACHE_SHIFT=5 | ||
48 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
49 | CONFIG_X86_PPRO_FENCE=y | ||
50 | CONFIG_X86_WP_WORKS_OK=y | ||
51 | CONFIG_X86_INVLPG=y | ||
52 | CONFIG_X86_BSWAP=y | ||
53 | CONFIG_X86_POPAD_OK=y | ||
54 | CONFIG_X86_CMPXCHG64=y | ||
55 | CONFIG_X86_GOOD_APIC=y | ||
56 | CONFIG_X86_USE_PPRO_CHECKSUM=y | ||
57 | CONFIG_X86_TSC=y | ||
19 | CONFIG_UML_X86=y | 58 | CONFIG_UML_X86=y |
20 | # CONFIG_64BIT is not set | 59 | # CONFIG_64BIT is not set |
60 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
61 | # CONFIG_HOST_2G_2G is not set | ||
21 | CONFIG_TOP_ADDR=0xc0000000 | 62 | CONFIG_TOP_ADDR=0xc0000000 |
22 | # CONFIG_3_LEVEL_PGTABLES is not set | 63 | # CONFIG_3_LEVEL_PGTABLES is not set |
23 | CONFIG_STUB_CODE=0xbfffe000 | 64 | CONFIG_STUB_CODE=0xbfffe000 |
@@ -25,22 +66,24 @@ CONFIG_STUB_DATA=0xbffff000 | |||
25 | CONFIG_STUB_START=0xbfffe000 | 66 | CONFIG_STUB_START=0xbfffe000 |
26 | CONFIG_ARCH_HAS_SC_SIGNALS=y | 67 | CONFIG_ARCH_HAS_SC_SIGNALS=y |
27 | CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y | 68 | CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y |
69 | CONFIG_GENERIC_HWEIGHT=y | ||
28 | CONFIG_SELECT_MEMORY_MODEL=y | 70 | CONFIG_SELECT_MEMORY_MODEL=y |
29 | CONFIG_FLATMEM_MANUAL=y | 71 | CONFIG_FLATMEM_MANUAL=y |
30 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 72 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
31 | # CONFIG_SPARSEMEM_MANUAL is not set | 73 | # CONFIG_SPARSEMEM_MANUAL is not set |
32 | CONFIG_FLATMEM=y | 74 | CONFIG_FLATMEM=y |
33 | CONFIG_FLAT_NODE_MEM_MAP=y | 75 | CONFIG_FLAT_NODE_MEM_MAP=y |
76 | # CONFIG_SPARSEMEM_STATIC is not set | ||
77 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
34 | CONFIG_LD_SCRIPT_DYN=y | 78 | CONFIG_LD_SCRIPT_DYN=y |
35 | CONFIG_NET=y | 79 | CONFIG_NET=y |
36 | CONFIG_BINFMT_ELF=y | 80 | CONFIG_BINFMT_ELF=y |
37 | CONFIG_BINFMT_MISC=m | 81 | CONFIG_BINFMT_MISC=m |
38 | # CONFIG_HOSTFS is not set | 82 | # CONFIG_HOSTFS is not set |
83 | # CONFIG_HPPFS is not set | ||
39 | CONFIG_MCONSOLE=y | 84 | CONFIG_MCONSOLE=y |
40 | # CONFIG_MAGIC_SYSRQ is not set | 85 | # CONFIG_MAGIC_SYSRQ is not set |
41 | # CONFIG_HOST_2G_2G is not set | ||
42 | CONFIG_NEST_LEVEL=0 | 86 | CONFIG_NEST_LEVEL=0 |
43 | CONFIG_KERNEL_HALF_GIGS=1 | ||
44 | # CONFIG_HIGHMEM is not set | 87 | # CONFIG_HIGHMEM is not set |
45 | CONFIG_KERNEL_STACK_ORDER=2 | 88 | CONFIG_KERNEL_STACK_ORDER=2 |
46 | CONFIG_UML_REAL_TIME_CLOCK=y | 89 | CONFIG_UML_REAL_TIME_CLOCK=y |
@@ -49,7 +92,6 @@ CONFIG_UML_REAL_TIME_CLOCK=y | |||
49 | # Code maturity level options | 92 | # Code maturity level options |
50 | # | 93 | # |
51 | CONFIG_EXPERIMENTAL=y | 94 | CONFIG_EXPERIMENTAL=y |
52 | CONFIG_CLEAN_COMPILE=y | ||
53 | CONFIG_BROKEN_ON_SMP=y | 95 | CONFIG_BROKEN_ON_SMP=y |
54 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 96 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
55 | 97 | ||
@@ -57,6 +99,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 | |||
57 | # General setup | 99 | # General setup |
58 | # | 100 | # |
59 | CONFIG_LOCALVERSION="" | 101 | CONFIG_LOCALVERSION="" |
102 | CONFIG_LOCALVERSION_AUTO=y | ||
60 | CONFIG_SWAP=y | 103 | CONFIG_SWAP=y |
61 | CONFIG_SYSVIPC=y | 104 | CONFIG_SYSVIPC=y |
62 | CONFIG_POSIX_MQUEUE=y | 105 | CONFIG_POSIX_MQUEUE=y |
@@ -64,26 +107,28 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
64 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 107 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
65 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
66 | # CONFIG_AUDIT is not set | 109 | # CONFIG_AUDIT is not set |
67 | # CONFIG_HOTPLUG is not set | ||
68 | CONFIG_KOBJECT_UEVENT=y | ||
69 | CONFIG_IKCONFIG=y | 110 | CONFIG_IKCONFIG=y |
70 | CONFIG_IKCONFIG_PROC=y | 111 | CONFIG_IKCONFIG_PROC=y |
112 | # CONFIG_RELAY is not set | ||
113 | CONFIG_INITRAMFS_SOURCE="" | ||
114 | CONFIG_UID16=y | ||
115 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
71 | # CONFIG_EMBEDDED is not set | 116 | # CONFIG_EMBEDDED is not set |
72 | CONFIG_KALLSYMS=y | 117 | CONFIG_KALLSYMS=y |
73 | # CONFIG_KALLSYMS_ALL is not set | 118 | # CONFIG_KALLSYMS_ALL is not set |
74 | CONFIG_KALLSYMS_EXTRA_PASS=y | 119 | CONFIG_KALLSYMS_EXTRA_PASS=y |
120 | CONFIG_HOTPLUG=y | ||
75 | CONFIG_PRINTK=y | 121 | CONFIG_PRINTK=y |
76 | CONFIG_BUG=y | 122 | CONFIG_BUG=y |
123 | CONFIG_ELF_CORE=y | ||
77 | CONFIG_BASE_FULL=y | 124 | CONFIG_BASE_FULL=y |
78 | CONFIG_FUTEX=y | 125 | CONFIG_FUTEX=y |
79 | CONFIG_EPOLL=y | 126 | CONFIG_EPOLL=y |
80 | CONFIG_SHMEM=y | 127 | CONFIG_SHMEM=y |
81 | CONFIG_CC_ALIGN_FUNCTIONS=0 | 128 | CONFIG_SLAB=y |
82 | CONFIG_CC_ALIGN_LABELS=0 | ||
83 | CONFIG_CC_ALIGN_LOOPS=0 | ||
84 | CONFIG_CC_ALIGN_JUMPS=0 | ||
85 | # CONFIG_TINY_SHMEM is not set | 129 | # CONFIG_TINY_SHMEM is not set |
86 | CONFIG_BASE_SMALL=0 | 130 | CONFIG_BASE_SMALL=0 |
131 | # CONFIG_SLOB is not set | ||
87 | 132 | ||
88 | # | 133 | # |
89 | # Loadable module support | 134 | # Loadable module support |
@@ -91,18 +136,43 @@ CONFIG_BASE_SMALL=0 | |||
91 | CONFIG_MODULES=y | 136 | CONFIG_MODULES=y |
92 | CONFIG_MODULE_UNLOAD=y | 137 | CONFIG_MODULE_UNLOAD=y |
93 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 138 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
94 | CONFIG_OBSOLETE_MODPARM=y | ||
95 | # CONFIG_MODVERSIONS is not set | 139 | # CONFIG_MODVERSIONS is not set |
96 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 140 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
97 | CONFIG_KMOD=y | 141 | CONFIG_KMOD=y |
98 | 142 | ||
99 | # | 143 | # |
100 | # Generic Driver Options | 144 | # Block layer |
101 | # | 145 | # |
102 | CONFIG_STANDALONE=y | 146 | # CONFIG_LBD is not set |
103 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 147 | # CONFIG_BLK_DEV_IO_TRACE is not set |
104 | # CONFIG_FW_LOADER is not set | 148 | # CONFIG_LSF is not set |
105 | # CONFIG_DEBUG_DRIVER is not set | 149 | |
150 | # | ||
151 | # IO Schedulers | ||
152 | # | ||
153 | CONFIG_IOSCHED_NOOP=y | ||
154 | CONFIG_IOSCHED_AS=y | ||
155 | CONFIG_IOSCHED_DEADLINE=y | ||
156 | CONFIG_IOSCHED_CFQ=y | ||
157 | CONFIG_DEFAULT_AS=y | ||
158 | # CONFIG_DEFAULT_DEADLINE is not set | ||
159 | # CONFIG_DEFAULT_CFQ is not set | ||
160 | # CONFIG_DEFAULT_NOOP is not set | ||
161 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
162 | |||
163 | # | ||
164 | # Block devices | ||
165 | # | ||
166 | CONFIG_BLK_DEV_UBD=y | ||
167 | # CONFIG_BLK_DEV_UBD_SYNC is not set | ||
168 | CONFIG_BLK_DEV_COW_COMMON=y | ||
169 | # CONFIG_MMAPPER is not set | ||
170 | CONFIG_BLK_DEV_LOOP=m | ||
171 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
172 | CONFIG_BLK_DEV_NBD=m | ||
173 | # CONFIG_BLK_DEV_RAM is not set | ||
174 | # CONFIG_BLK_DEV_INITRD is not set | ||
175 | # CONFIG_ATA_OVER_ETH is not set | ||
106 | 176 | ||
107 | # | 177 | # |
108 | # Character Devices | 178 | # Character Devices |
@@ -127,50 +197,23 @@ CONFIG_UML_SOUND=m | |||
127 | CONFIG_SOUND=m | 197 | CONFIG_SOUND=m |
128 | CONFIG_HOSTAUDIO=m | 198 | CONFIG_HOSTAUDIO=m |
129 | CONFIG_UML_RANDOM=y | 199 | CONFIG_UML_RANDOM=y |
130 | # CONFIG_MMAPPER is not set | ||
131 | |||
132 | # | ||
133 | # Block devices | ||
134 | # | ||
135 | CONFIG_BLK_DEV_UBD=y | ||
136 | CONFIG_BLK_DEV_UBD_SYNC=y | ||
137 | CONFIG_BLK_DEV_COW_COMMON=y | ||
138 | CONFIG_BLK_DEV_LOOP=m | ||
139 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
140 | CONFIG_BLK_DEV_NBD=m | ||
141 | # CONFIG_BLK_DEV_RAM is not set | ||
142 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
143 | CONFIG_INITRAMFS_SOURCE="" | ||
144 | # CONFIG_LBD is not set | ||
145 | |||
146 | # | ||
147 | # IO Schedulers | ||
148 | # | ||
149 | CONFIG_IOSCHED_NOOP=y | ||
150 | CONFIG_IOSCHED_AS=y | ||
151 | CONFIG_IOSCHED_DEADLINE=y | ||
152 | CONFIG_IOSCHED_CFQ=y | ||
153 | # CONFIG_ATA_OVER_ETH is not set | ||
154 | CONFIG_NETDEVICES=y | ||
155 | 200 | ||
156 | # | 201 | # |
157 | # UML Network Devices | 202 | # Generic Driver Options |
158 | # | 203 | # |
159 | CONFIG_UML_NET=y | 204 | CONFIG_STANDALONE=y |
160 | CONFIG_UML_NET_ETHERTAP=y | 205 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
161 | CONFIG_UML_NET_TUNTAP=y | 206 | # CONFIG_FW_LOADER is not set |
162 | CONFIG_UML_NET_SLIP=y | 207 | # CONFIG_DEBUG_DRIVER is not set |
163 | CONFIG_UML_NET_DAEMON=y | ||
164 | CONFIG_UML_NET_MCAST=y | ||
165 | CONFIG_UML_NET_SLIRP=y | ||
166 | 208 | ||
167 | # | 209 | # |
168 | # Networking support | 210 | # Networking |
169 | # | 211 | # |
170 | 212 | ||
171 | # | 213 | # |
172 | # Networking options | 214 | # Networking options |
173 | # | 215 | # |
216 | # CONFIG_NETDEBUG is not set | ||
174 | CONFIG_PACKET=y | 217 | CONFIG_PACKET=y |
175 | CONFIG_PACKET_MMAP=y | 218 | CONFIG_PACKET_MMAP=y |
176 | CONFIG_UNIX=y | 219 | CONFIG_UNIX=y |
@@ -178,6 +221,7 @@ CONFIG_UNIX=y | |||
178 | CONFIG_INET=y | 221 | CONFIG_INET=y |
179 | # CONFIG_IP_MULTICAST is not set | 222 | # CONFIG_IP_MULTICAST is not set |
180 | # CONFIG_IP_ADVANCED_ROUTER is not set | 223 | # CONFIG_IP_ADVANCED_ROUTER is not set |
224 | CONFIG_IP_FIB_HASH=y | ||
181 | # CONFIG_IP_PNP is not set | 225 | # CONFIG_IP_PNP is not set |
182 | # CONFIG_NET_IPIP is not set | 226 | # CONFIG_NET_IPIP is not set |
183 | # CONFIG_NET_IPGRE is not set | 227 | # CONFIG_NET_IPGRE is not set |
@@ -186,27 +230,31 @@ CONFIG_INET=y | |||
186 | # CONFIG_INET_AH is not set | 230 | # CONFIG_INET_AH is not set |
187 | # CONFIG_INET_ESP is not set | 231 | # CONFIG_INET_ESP is not set |
188 | # CONFIG_INET_IPCOMP is not set | 232 | # CONFIG_INET_IPCOMP is not set |
233 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
189 | # CONFIG_INET_TUNNEL is not set | 234 | # CONFIG_INET_TUNNEL is not set |
190 | CONFIG_IP_TCPDIAG=y | 235 | CONFIG_INET_DIAG=y |
191 | # CONFIG_IP_TCPDIAG_IPV6 is not set | 236 | CONFIG_INET_TCP_DIAG=y |
192 | 237 | # CONFIG_TCP_CONG_ADVANCED is not set | |
193 | # | ||
194 | # TCP congestion control | ||
195 | # | ||
196 | CONFIG_TCP_CONG_BIC=y | 238 | CONFIG_TCP_CONG_BIC=y |
197 | CONFIG_TCP_CONG_WESTWOOD=y | ||
198 | CONFIG_TCP_CONG_HTCP=y | ||
199 | # CONFIG_TCP_CONG_HSTCP is not set | ||
200 | # CONFIG_TCP_CONG_HYBLA is not set | ||
201 | # CONFIG_TCP_CONG_VEGAS is not set | ||
202 | # CONFIG_TCP_CONG_SCALABLE is not set | ||
203 | # CONFIG_IPV6 is not set | 239 | # CONFIG_IPV6 is not set |
240 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
241 | # CONFIG_INET6_TUNNEL is not set | ||
204 | # CONFIG_NETFILTER is not set | 242 | # CONFIG_NETFILTER is not set |
205 | 243 | ||
206 | # | 244 | # |
245 | # DCCP Configuration (EXPERIMENTAL) | ||
246 | # | ||
247 | # CONFIG_IP_DCCP is not set | ||
248 | |||
249 | # | ||
207 | # SCTP Configuration (EXPERIMENTAL) | 250 | # SCTP Configuration (EXPERIMENTAL) |
208 | # | 251 | # |
209 | # CONFIG_IP_SCTP is not set | 252 | # CONFIG_IP_SCTP is not set |
253 | |||
254 | # | ||
255 | # TIPC Configuration (EXPERIMENTAL) | ||
256 | # | ||
257 | # CONFIG_TIPC is not set | ||
210 | # CONFIG_ATM is not set | 258 | # CONFIG_ATM is not set |
211 | # CONFIG_BRIDGE is not set | 259 | # CONFIG_BRIDGE is not set |
212 | # CONFIG_VLAN_8021Q is not set | 260 | # CONFIG_VLAN_8021Q is not set |
@@ -224,27 +272,47 @@ CONFIG_TCP_CONG_HTCP=y | |||
224 | # QoS and/or fair queueing | 272 | # QoS and/or fair queueing |
225 | # | 273 | # |
226 | # CONFIG_NET_SCHED is not set | 274 | # CONFIG_NET_SCHED is not set |
227 | # CONFIG_NET_CLS_ROUTE is not set | ||
228 | 275 | ||
229 | # | 276 | # |
230 | # Network testing | 277 | # Network testing |
231 | # | 278 | # |
232 | # CONFIG_NET_PKTGEN is not set | 279 | # CONFIG_NET_PKTGEN is not set |
233 | # CONFIG_KGDBOE is not set | ||
234 | # CONFIG_NETPOLL is not set | ||
235 | # CONFIG_NETPOLL_RX is not set | ||
236 | # CONFIG_NETPOLL_TRAP is not set | ||
237 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
238 | # CONFIG_HAMRADIO is not set | 280 | # CONFIG_HAMRADIO is not set |
239 | # CONFIG_IRDA is not set | 281 | # CONFIG_IRDA is not set |
240 | # CONFIG_BT is not set | 282 | # CONFIG_BT is not set |
241 | # CONFIG_IEEE80211 is not set | 283 | # CONFIG_IEEE80211 is not set |
284 | |||
285 | # | ||
286 | # UML Network Devices | ||
287 | # | ||
288 | CONFIG_UML_NET=y | ||
289 | CONFIG_UML_NET_ETHERTAP=y | ||
290 | CONFIG_UML_NET_TUNTAP=y | ||
291 | CONFIG_UML_NET_SLIP=y | ||
292 | CONFIG_UML_NET_DAEMON=y | ||
293 | CONFIG_UML_NET_MCAST=y | ||
294 | # CONFIG_UML_NET_PCAP is not set | ||
295 | CONFIG_UML_NET_SLIRP=y | ||
296 | |||
297 | # | ||
298 | # Network device support | ||
299 | # | ||
300 | CONFIG_NETDEVICES=y | ||
242 | CONFIG_DUMMY=m | 301 | CONFIG_DUMMY=m |
243 | # CONFIG_BONDING is not set | 302 | # CONFIG_BONDING is not set |
244 | # CONFIG_EQUALIZER is not set | 303 | # CONFIG_EQUALIZER is not set |
245 | CONFIG_TUN=m | 304 | CONFIG_TUN=m |
246 | 305 | ||
247 | # | 306 | # |
307 | # PHY device support | ||
308 | # | ||
309 | |||
310 | # | ||
311 | # Wireless LAN (non-hamradio) | ||
312 | # | ||
313 | # CONFIG_NET_RADIO is not set | ||
314 | |||
315 | # | ||
248 | # Wan interfaces | 316 | # Wan interfaces |
249 | # | 317 | # |
250 | # CONFIG_WAN is not set | 318 | # CONFIG_WAN is not set |
@@ -263,6 +331,13 @@ CONFIG_SLIP=m | |||
263 | # CONFIG_SLIP_MODE_SLIP6 is not set | 331 | # CONFIG_SLIP_MODE_SLIP6 is not set |
264 | # CONFIG_SHAPER is not set | 332 | # CONFIG_SHAPER is not set |
265 | # CONFIG_NETCONSOLE is not set | 333 | # CONFIG_NETCONSOLE is not set |
334 | # CONFIG_NETPOLL is not set | ||
335 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
336 | |||
337 | # | ||
338 | # Connector - unified userspace <-> kernelspace linker | ||
339 | # | ||
340 | # CONFIG_CONNECTOR is not set | ||
266 | 341 | ||
267 | # | 342 | # |
268 | # File systems | 343 | # File systems |
@@ -274,17 +349,14 @@ CONFIG_EXT3_FS=y | |||
274 | # CONFIG_EXT3_FS_XATTR is not set | 349 | # CONFIG_EXT3_FS_XATTR is not set |
275 | CONFIG_JBD=y | 350 | CONFIG_JBD=y |
276 | # CONFIG_JBD_DEBUG is not set | 351 | # CONFIG_JBD_DEBUG is not set |
277 | # CONFIG_REISER4_FS is not set | ||
278 | CONFIG_REISERFS_FS=y | 352 | CONFIG_REISERFS_FS=y |
279 | # CONFIG_REISERFS_CHECK is not set | 353 | # CONFIG_REISERFS_CHECK is not set |
280 | # CONFIG_REISERFS_PROC_INFO is not set | 354 | # CONFIG_REISERFS_PROC_INFO is not set |
281 | # CONFIG_REISERFS_FS_XATTR is not set | 355 | # CONFIG_REISERFS_FS_XATTR is not set |
282 | # CONFIG_JFS_FS is not set | 356 | # CONFIG_JFS_FS is not set |
283 | 357 | # CONFIG_FS_POSIX_ACL is not set | |
284 | # | ||
285 | # XFS support | ||
286 | # | ||
287 | # CONFIG_XFS_FS is not set | 358 | # CONFIG_XFS_FS is not set |
359 | # CONFIG_OCFS2_FS is not set | ||
288 | # CONFIG_MINIX_FS is not set | 360 | # CONFIG_MINIX_FS is not set |
289 | # CONFIG_ROMFS_FS is not set | 361 | # CONFIG_ROMFS_FS is not set |
290 | CONFIG_INOTIFY=y | 362 | CONFIG_INOTIFY=y |
@@ -295,11 +367,6 @@ CONFIG_QUOTACTL=y | |||
295 | CONFIG_DNOTIFY=y | 367 | CONFIG_DNOTIFY=y |
296 | CONFIG_AUTOFS_FS=m | 368 | CONFIG_AUTOFS_FS=m |
297 | CONFIG_AUTOFS4_FS=m | 369 | CONFIG_AUTOFS4_FS=m |
298 | |||
299 | # | ||
300 | # Caches | ||
301 | # | ||
302 | # CONFIG_FSCACHE is not set | ||
303 | # CONFIG_FUSE_FS is not set | 370 | # CONFIG_FUSE_FS is not set |
304 | 371 | ||
305 | # | 372 | # |
@@ -323,14 +390,10 @@ CONFIG_JOLIET=y | |||
323 | CONFIG_PROC_FS=y | 390 | CONFIG_PROC_FS=y |
324 | CONFIG_PROC_KCORE=y | 391 | CONFIG_PROC_KCORE=y |
325 | CONFIG_SYSFS=y | 392 | CONFIG_SYSFS=y |
326 | # CONFIG_DEVFS_FS is not set | ||
327 | # CONFIG_DEVPTS_FS_XATTR is not set | ||
328 | CONFIG_TMPFS=y | 393 | CONFIG_TMPFS=y |
329 | # CONFIG_TMPFS_XATTR is not set | ||
330 | # CONFIG_HUGETLB_PAGE is not set | 394 | # CONFIG_HUGETLB_PAGE is not set |
331 | CONFIG_RAMFS=y | 395 | CONFIG_RAMFS=y |
332 | # CONFIG_CONFIGFS_FS is not set | 396 | # CONFIG_CONFIGFS_FS is not set |
333 | # CONFIG_RELAYFS_FS is not set | ||
334 | 397 | ||
335 | # | 398 | # |
336 | # Miscellaneous filesystems | 399 | # Miscellaneous filesystems |
@@ -430,6 +493,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
430 | # Library routines | 493 | # Library routines |
431 | # | 494 | # |
432 | # CONFIG_CRC_CCITT is not set | 495 | # CONFIG_CRC_CCITT is not set |
496 | # CONFIG_CRC16 is not set | ||
433 | CONFIG_CRC32=m | 497 | CONFIG_CRC32=m |
434 | # CONFIG_LIBCRC32C is not set | 498 | # CONFIG_LIBCRC32C is not set |
435 | 499 | ||
@@ -448,12 +512,18 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
448 | CONFIG_DETECT_SOFTLOCKUP=y | 512 | CONFIG_DETECT_SOFTLOCKUP=y |
449 | # CONFIG_SCHEDSTATS is not set | 513 | # CONFIG_SCHEDSTATS is not set |
450 | CONFIG_DEBUG_SLAB=y | 514 | CONFIG_DEBUG_SLAB=y |
515 | # CONFIG_DEBUG_SLAB_LEAK is not set | ||
516 | # CONFIG_DEBUG_MUTEXES is not set | ||
451 | # CONFIG_DEBUG_SPINLOCK is not set | 517 | # CONFIG_DEBUG_SPINLOCK is not set |
452 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 518 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
453 | # CONFIG_DEBUG_KOBJECT is not set | 519 | # CONFIG_DEBUG_KOBJECT is not set |
454 | CONFIG_DEBUG_INFO=y | 520 | CONFIG_DEBUG_INFO=y |
455 | # CONFIG_DEBUG_FS is not set | 521 | # CONFIG_DEBUG_FS is not set |
522 | # CONFIG_DEBUG_VM is not set | ||
456 | CONFIG_FRAME_POINTER=y | 523 | CONFIG_FRAME_POINTER=y |
524 | # CONFIG_UNWIND_INFO is not set | ||
525 | CONFIG_FORCED_INLINING=y | ||
526 | # CONFIG_RCU_TORTURE_TEST is not set | ||
457 | # CONFIG_GPROF is not set | 527 | # CONFIG_GPROF is not set |
458 | # CONFIG_GCOV is not set | 528 | # CONFIG_GCOV is not set |
459 | # CONFIG_SYSCALL_DEBUG is not set | 529 | # CONFIG_SYSCALL_DEBUG is not set |
diff --git a/arch/um/include/longjmp.h b/arch/um/include/longjmp.h index 018b3819ab0b..8e7053013f7b 100644 --- a/arch/um/include/longjmp.h +++ b/arch/um/include/longjmp.h | |||
@@ -4,11 +4,11 @@ | |||
4 | #include <setjmp.h> | 4 | #include <setjmp.h> |
5 | #include "os.h" | 5 | #include "os.h" |
6 | 6 | ||
7 | #define UML_SIGLONGJMP(buf, val) do { \ | 7 | #define UML_LONGJMP(buf, val) do { \ |
8 | longjmp(*buf, val); \ | 8 | longjmp(*buf, val); \ |
9 | } while(0) | 9 | } while(0) |
10 | 10 | ||
11 | #define UML_SIGSETJMP(buf, enable) ({ \ | 11 | #define UML_SETJMP(buf, enable) ({ \ |
12 | int n; \ | 12 | int n; \ |
13 | enable = get_signals(); \ | 13 | enable = get_signals(); \ |
14 | n = setjmp(*buf); \ | 14 | n = setjmp(*buf); \ |
diff --git a/arch/um/include/sysdep-i386/kernel-offsets.h b/arch/um/include/sysdep-i386/kernel-offsets.h index 82f96c574144..2c13de321f2f 100644 --- a/arch/um/include/sysdep-i386/kernel-offsets.h +++ b/arch/um/include/sysdep-i386/kernel-offsets.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #include <linux/stddef.h> | 1 | #include <linux/stddef.h> |
2 | #include <linux/sched.h> | 2 | #include <linux/sched.h> |
3 | #include <linux/elf.h> | 3 | #include <linux/elf.h> |
4 | #include <asm/mman.h> | ||
4 | 5 | ||
5 | #define DEFINE(sym, val) \ | 6 | #define DEFINE(sym, val) \ |
6 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 7 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
@@ -16,6 +17,7 @@ | |||
16 | void foo(void) | 17 | void foo(void) |
17 | { | 18 | { |
18 | OFFSET(HOST_TASK_DEBUGREGS, task_struct, thread.arch.debugregs); | 19 | OFFSET(HOST_TASK_DEBUGREGS, task_struct, thread.arch.debugregs); |
20 | DEFINE(KERNEL_MADV_REMOVE, MADV_REMOVE); | ||
19 | #ifdef CONFIG_MODE_TT | 21 | #ifdef CONFIG_MODE_TT |
20 | OFFSET(HOST_TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid); | 22 | OFFSET(HOST_TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid); |
21 | #endif | 23 | #endif |
diff --git a/arch/um/include/sysdep-x86_64/kernel-offsets.h b/arch/um/include/sysdep-x86_64/kernel-offsets.h index 5ce93abd0b54..939cc475757a 100644 --- a/arch/um/include/sysdep-x86_64/kernel-offsets.h +++ b/arch/um/include/sysdep-x86_64/kernel-offsets.h | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/time.h> | 4 | #include <linux/time.h> |
5 | #include <linux/elf.h> | 5 | #include <linux/elf.h> |
6 | #include <asm/page.h> | 6 | #include <asm/page.h> |
7 | #include <asm/mman.h> | ||
7 | 8 | ||
8 | #define DEFINE(sym, val) \ | 9 | #define DEFINE(sym, val) \ |
9 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 10 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
@@ -18,6 +19,7 @@ | |||
18 | 19 | ||
19 | void foo(void) | 20 | void foo(void) |
20 | { | 21 | { |
22 | DEFINE(KERNEL_MADV_REMOVE, MADV_REMOVE); | ||
21 | #ifdef CONFIG_MODE_TT | 23 | #ifdef CONFIG_MODE_TT |
22 | OFFSET(HOST_TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid); | 24 | OFFSET(HOST_TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid); |
23 | #endif | 25 | #endif |
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index c39ea3abeda4..2ffda012385e 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c | |||
@@ -89,16 +89,18 @@ void sigio_handler(int sig, union uml_pt_regs *regs) | |||
89 | struct irq_fd *irq_fd; | 89 | struct irq_fd *irq_fd; |
90 | int n; | 90 | int n; |
91 | 91 | ||
92 | if(smp_sigio_handler()) return; | 92 | if (smp_sigio_handler()) |
93 | while(1){ | 93 | return; |
94 | |||
95 | while (1) { | ||
94 | n = os_waiting_for_events(active_fds); | 96 | n = os_waiting_for_events(active_fds); |
95 | if (n <= 0) { | 97 | if (n <= 0) { |
96 | if(n == -EINTR) continue; | 98 | if(n == -EINTR) continue; |
97 | else break; | 99 | else break; |
98 | } | 100 | } |
99 | 101 | ||
100 | for(irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next){ | 102 | for (irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next) { |
101 | if(irq_fd->current_events != 0){ | 103 | if (irq_fd->current_events != 0) { |
102 | irq_fd->current_events = 0; | 104 | irq_fd->current_events = 0; |
103 | do_IRQ(irq_fd->irq, regs); | 105 | do_IRQ(irq_fd->irq, regs); |
104 | } | 106 | } |
@@ -110,19 +112,17 @@ void sigio_handler(int sig, union uml_pt_regs *regs) | |||
110 | 112 | ||
111 | static void maybe_sigio_broken(int fd, int type) | 113 | static void maybe_sigio_broken(int fd, int type) |
112 | { | 114 | { |
113 | if(os_isatty(fd)){ | 115 | if (os_isatty(fd)) { |
114 | if((type == IRQ_WRITE) && !pty_output_sigio){ | 116 | if ((type == IRQ_WRITE) && !pty_output_sigio) { |
115 | write_sigio_workaround(); | 117 | write_sigio_workaround(); |
116 | add_sigio_fd(fd, 0); | 118 | add_sigio_fd(fd, 0); |
117 | } | 119 | } else if ((type == IRQ_READ) && !pty_close_sigio) { |
118 | else if((type == IRQ_READ) && !pty_close_sigio){ | ||
119 | write_sigio_workaround(); | 120 | write_sigio_workaround(); |
120 | add_sigio_fd(fd, 1); | 121 | add_sigio_fd(fd, 1); |
121 | } | 122 | } |
122 | } | 123 | } |
123 | } | 124 | } |
124 | 125 | ||
125 | |||
126 | int activate_fd(int irq, int fd, int type, void *dev_id) | 126 | int activate_fd(int irq, int fd, int type, void *dev_id) |
127 | { | 127 | { |
128 | struct pollfd *tmp_pfd; | 128 | struct pollfd *tmp_pfd; |
@@ -132,16 +132,18 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
132 | 132 | ||
133 | pid = os_getpid(); | 133 | pid = os_getpid(); |
134 | err = os_set_fd_async(fd, pid); | 134 | err = os_set_fd_async(fd, pid); |
135 | if(err < 0) | 135 | if (err < 0) |
136 | goto out; | 136 | goto out; |
137 | 137 | ||
138 | new_fd = um_kmalloc(sizeof(*new_fd)); | 138 | new_fd = um_kmalloc(sizeof(*new_fd)); |
139 | err = -ENOMEM; | 139 | err = -ENOMEM; |
140 | if(new_fd == NULL) | 140 | if (new_fd == NULL) |
141 | goto out; | 141 | goto out; |
142 | 142 | ||
143 | if(type == IRQ_READ) events = UM_POLLIN | UM_POLLPRI; | 143 | if (type == IRQ_READ) |
144 | else events = UM_POLLOUT; | 144 | events = UM_POLLIN | UM_POLLPRI; |
145 | else | ||
146 | events = UM_POLLOUT; | ||
145 | *new_fd = ((struct irq_fd) { .next = NULL, | 147 | *new_fd = ((struct irq_fd) { .next = NULL, |
146 | .id = dev_id, | 148 | .id = dev_id, |
147 | .fd = fd, | 149 | .fd = fd, |
@@ -165,8 +167,8 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
165 | * a semaphore. | 167 | * a semaphore. |
166 | */ | 168 | */ |
167 | flags = irq_lock(); | 169 | flags = irq_lock(); |
168 | for(irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next){ | 170 | for (irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next) { |
169 | if((irq_fd->fd == fd) && (irq_fd->type == type)){ | 171 | if ((irq_fd->fd == fd) && (irq_fd->type == type)) { |
170 | printk("Registering fd %d twice\n", fd); | 172 | printk("Registering fd %d twice\n", fd); |
171 | printk("Irqs : %d, %d\n", irq_fd->irq, irq); | 173 | printk("Irqs : %d, %d\n", irq_fd->irq, irq); |
172 | printk("Ids : 0x%p, 0x%p\n", irq_fd->id, dev_id); | 174 | printk("Ids : 0x%p, 0x%p\n", irq_fd->id, dev_id); |
@@ -175,13 +177,13 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
175 | } | 177 | } |
176 | 178 | ||
177 | /*-------------*/ | 179 | /*-------------*/ |
178 | if(type == IRQ_WRITE) | 180 | if (type == IRQ_WRITE) |
179 | fd = -1; | 181 | fd = -1; |
180 | 182 | ||
181 | tmp_pfd = NULL; | 183 | tmp_pfd = NULL; |
182 | n = 0; | 184 | n = 0; |
183 | 185 | ||
184 | while(1){ | 186 | while (1) { |
185 | n = os_create_pollfd(fd, events, tmp_pfd, n); | 187 | n = os_create_pollfd(fd, events, tmp_pfd, n); |
186 | if (n == 0) | 188 | if (n == 0) |
187 | break; | 189 | break; |
@@ -198,10 +200,8 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
198 | * then we free the buffer tmp_fds and try again. | 200 | * then we free the buffer tmp_fds and try again. |
199 | */ | 201 | */ |
200 | irq_unlock(flags); | 202 | irq_unlock(flags); |
201 | if (tmp_pfd != NULL) { | 203 | kfree(tmp_pfd); |
202 | kfree(tmp_pfd); | 204 | tmp_pfd = NULL; |
203 | tmp_pfd = NULL; | ||
204 | } | ||
205 | 205 | ||
206 | tmp_pfd = um_kmalloc(n); | 206 | tmp_pfd = um_kmalloc(n); |
207 | if (tmp_pfd == NULL) | 207 | if (tmp_pfd == NULL) |
@@ -249,7 +249,7 @@ static int same_irq_and_dev(struct irq_fd *irq, void *d) | |||
249 | { | 249 | { |
250 | struct irq_and_dev *data = d; | 250 | struct irq_and_dev *data = d; |
251 | 251 | ||
252 | return((irq->irq == data->irq) && (irq->id == data->dev)); | 252 | return ((irq->irq == data->irq) && (irq->id == data->dev)); |
253 | } | 253 | } |
254 | 254 | ||
255 | void free_irq_by_irq_and_dev(unsigned int irq, void *dev) | 255 | void free_irq_by_irq_and_dev(unsigned int irq, void *dev) |
@@ -262,7 +262,7 @@ void free_irq_by_irq_and_dev(unsigned int irq, void *dev) | |||
262 | 262 | ||
263 | static int same_fd(struct irq_fd *irq, void *fd) | 263 | static int same_fd(struct irq_fd *irq, void *fd) |
264 | { | 264 | { |
265 | return(irq->fd == *((int *) fd)); | 265 | return (irq->fd == *((int *)fd)); |
266 | } | 266 | } |
267 | 267 | ||
268 | void free_irq_by_fd(int fd) | 268 | void free_irq_by_fd(int fd) |
@@ -276,16 +276,17 @@ static struct irq_fd *find_irq_by_fd(int fd, int irqnum, int *index_out) | |||
276 | int i = 0; | 276 | int i = 0; |
277 | int fdi; | 277 | int fdi; |
278 | 278 | ||
279 | for(irq=active_fds; irq != NULL; irq = irq->next){ | 279 | for (irq = active_fds; irq != NULL; irq = irq->next) { |
280 | if((irq->fd == fd) && (irq->irq == irqnum)) break; | 280 | if ((irq->fd == fd) && (irq->irq == irqnum)) |
281 | break; | ||
281 | i++; | 282 | i++; |
282 | } | 283 | } |
283 | if(irq == NULL){ | 284 | if (irq == NULL) { |
284 | printk("find_irq_by_fd doesn't have descriptor %d\n", fd); | 285 | printk("find_irq_by_fd doesn't have descriptor %d\n", fd); |
285 | goto out; | 286 | goto out; |
286 | } | 287 | } |
287 | fdi = os_get_pollfd(i); | 288 | fdi = os_get_pollfd(i); |
288 | if((fdi != -1) && (fdi != fd)){ | 289 | if ((fdi != -1) && (fdi != fd)) { |
289 | printk("find_irq_by_fd - mismatch between active_fds and " | 290 | printk("find_irq_by_fd - mismatch between active_fds and " |
290 | "pollfds, fd %d vs %d, need %d\n", irq->fd, | 291 | "pollfds, fd %d vs %d, need %d\n", irq->fd, |
291 | fdi, fd); | 292 | fdi, fd); |
@@ -294,7 +295,7 @@ static struct irq_fd *find_irq_by_fd(int fd, int irqnum, int *index_out) | |||
294 | } | 295 | } |
295 | *index_out = i; | 296 | *index_out = i; |
296 | out: | 297 | out: |
297 | return(irq); | 298 | return irq; |
298 | } | 299 | } |
299 | 300 | ||
300 | void reactivate_fd(int fd, int irqnum) | 301 | void reactivate_fd(int fd, int irqnum) |
@@ -305,7 +306,7 @@ void reactivate_fd(int fd, int irqnum) | |||
305 | 306 | ||
306 | flags = irq_lock(); | 307 | flags = irq_lock(); |
307 | irq = find_irq_by_fd(fd, irqnum, &i); | 308 | irq = find_irq_by_fd(fd, irqnum, &i); |
308 | if(irq == NULL){ | 309 | if (irq == NULL) { |
309 | irq_unlock(flags); | 310 | irq_unlock(flags); |
310 | return; | 311 | return; |
311 | } | 312 | } |
@@ -326,7 +327,7 @@ void deactivate_fd(int fd, int irqnum) | |||
326 | 327 | ||
327 | flags = irq_lock(); | 328 | flags = irq_lock(); |
328 | irq = find_irq_by_fd(fd, irqnum, &i); | 329 | irq = find_irq_by_fd(fd, irqnum, &i); |
329 | if(irq == NULL) | 330 | if (irq == NULL) |
330 | goto out; | 331 | goto out; |
331 | os_set_pollfd(i, -1); | 332 | os_set_pollfd(i, -1); |
332 | out: | 333 | out: |
@@ -338,15 +339,15 @@ int deactivate_all_fds(void) | |||
338 | struct irq_fd *irq; | 339 | struct irq_fd *irq; |
339 | int err; | 340 | int err; |
340 | 341 | ||
341 | for(irq=active_fds;irq != NULL;irq = irq->next){ | 342 | for (irq = active_fds; irq != NULL; irq = irq->next) { |
342 | err = os_clear_fd_async(irq->fd); | 343 | err = os_clear_fd_async(irq->fd); |
343 | if(err) | 344 | if (err) |
344 | return(err); | 345 | return err; |
345 | } | 346 | } |
346 | /* If there is a signal already queued, after unblocking ignore it */ | 347 | /* If there is a signal already queued, after unblocking ignore it */ |
347 | os_set_ioignore(); | 348 | os_set_ioignore(); |
348 | 349 | ||
349 | return(0); | 350 | return 0; |
350 | } | 351 | } |
351 | 352 | ||
352 | void forward_interrupts(int pid) | 353 | void forward_interrupts(int pid) |
@@ -356,9 +357,9 @@ void forward_interrupts(int pid) | |||
356 | int err; | 357 | int err; |
357 | 358 | ||
358 | flags = irq_lock(); | 359 | flags = irq_lock(); |
359 | for(irq=active_fds;irq != NULL;irq = irq->next){ | 360 | for (irq = active_fds; irq != NULL; irq = irq->next) { |
360 | err = os_set_owner(irq->fd, pid); | 361 | err = os_set_owner(irq->fd, pid); |
361 | if(err < 0){ | 362 | if (err < 0) { |
362 | /* XXX Just remove the irq rather than | 363 | /* XXX Just remove the irq rather than |
363 | * print out an infinite stream of these | 364 | * print out an infinite stream of these |
364 | */ | 365 | */ |
@@ -379,7 +380,7 @@ void forward_interrupts(int pid) | |||
379 | unsigned int do_IRQ(int irq, union uml_pt_regs *regs) | 380 | unsigned int do_IRQ(int irq, union uml_pt_regs *regs) |
380 | { | 381 | { |
381 | irq_enter(); | 382 | irq_enter(); |
382 | __do_IRQ(irq, (struct pt_regs *) regs); | 383 | __do_IRQ(irq, (struct pt_regs *)regs); |
383 | irq_exit(); | 384 | irq_exit(); |
384 | return 1; | 385 | return 1; |
385 | } | 386 | } |
@@ -392,12 +393,12 @@ int um_request_irq(unsigned int irq, int fd, int type, | |||
392 | int err; | 393 | int err; |
393 | 394 | ||
394 | err = request_irq(irq, handler, irqflags, devname, dev_id); | 395 | err = request_irq(irq, handler, irqflags, devname, dev_id); |
395 | if(err) | 396 | if (err) |
396 | return(err); | 397 | return err; |
397 | 398 | ||
398 | if(fd != -1) | 399 | if (fd != -1) |
399 | err = activate_fd(irq, fd, type, dev_id); | 400 | err = activate_fd(irq, fd, type, dev_id); |
400 | return(err); | 401 | return err; |
401 | } | 402 | } |
402 | EXPORT_SYMBOL(um_request_irq); | 403 | EXPORT_SYMBOL(um_request_irq); |
403 | EXPORT_SYMBOL(reactivate_fd); | 404 | EXPORT_SYMBOL(reactivate_fd); |
@@ -409,7 +410,7 @@ unsigned long irq_lock(void) | |||
409 | unsigned long flags; | 410 | unsigned long flags; |
410 | 411 | ||
411 | spin_lock_irqsave(&irq_spinlock, flags); | 412 | spin_lock_irqsave(&irq_spinlock, flags); |
412 | return(flags); | 413 | return flags; |
413 | } | 414 | } |
414 | 415 | ||
415 | void irq_unlock(unsigned long flags) | 416 | void irq_unlock(unsigned long flags) |
@@ -452,7 +453,7 @@ void __init init_IRQ(void) | |||
452 | irq_desc[TIMER_IRQ].depth = 1; | 453 | irq_desc[TIMER_IRQ].depth = 1; |
453 | irq_desc[TIMER_IRQ].handler = &SIGVTALRM_irq_type; | 454 | irq_desc[TIMER_IRQ].handler = &SIGVTALRM_irq_type; |
454 | enable_irq(TIMER_IRQ); | 455 | enable_irq(TIMER_IRQ); |
455 | for(i=1;i<NR_IRQS;i++){ | 456 | for (i = 1; i < NR_IRQS; i++) { |
456 | irq_desc[i].status = IRQ_DISABLED; | 457 | irq_desc[i].status = IRQ_DISABLED; |
457 | irq_desc[i].action = NULL; | 458 | irq_desc[i].action = NULL; |
458 | irq_desc[i].depth = 1; | 459 | irq_desc[i].depth = 1; |
@@ -467,7 +468,7 @@ int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *, | |||
467 | int fds[2], err; | 468 | int fds[2], err; |
468 | 469 | ||
469 | err = os_pipe(fds, 1, 1); | 470 | err = os_pipe(fds, 1, 1); |
470 | if(err){ | 471 | if (err) { |
471 | printk("init_aio_irq - os_pipe failed, err = %d\n", -err); | 472 | printk("init_aio_irq - os_pipe failed, err = %d\n", -err); |
472 | goto out; | 473 | goto out; |
473 | } | 474 | } |
@@ -475,7 +476,7 @@ int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *, | |||
475 | err = um_request_irq(irq, fds[0], IRQ_READ, handler, | 476 | err = um_request_irq(irq, fds[0], IRQ_READ, handler, |
476 | SA_INTERRUPT | SA_SAMPLE_RANDOM, name, | 477 | SA_INTERRUPT | SA_SAMPLE_RANDOM, name, |
477 | (void *) (long) fds[0]); | 478 | (void *) (long) fds[0]); |
478 | if(err){ | 479 | if (err) { |
479 | printk("init_aio_irq - : um_request_irq failed, err = %d\n", | 480 | printk("init_aio_irq - : um_request_irq failed, err = %d\n", |
480 | err); | 481 | err); |
481 | goto out_close; | 482 | goto out_close; |
@@ -488,5 +489,5 @@ int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *, | |||
488 | os_close_file(fds[0]); | 489 | os_close_file(fds[0]); |
489 | os_close_file(fds[1]); | 490 | os_close_file(fds[1]); |
490 | out: | 491 | out: |
491 | return(err); | 492 | return err; |
492 | } | 493 | } |
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c index 0500800df1c1..fc0f0b085ca7 100644 --- a/arch/um/kernel/physmem.c +++ b/arch/um/kernel/physmem.c | |||
@@ -407,6 +407,8 @@ unsigned long find_iomem(char *driver, unsigned long *len_out) | |||
407 | *len_out = region->size; | 407 | *len_out = region->size; |
408 | return(region->virt); | 408 | return(region->virt); |
409 | } | 409 | } |
410 | |||
411 | region = region->next; | ||
410 | } | 412 | } |
411 | 413 | ||
412 | return(0); | 414 | return(0); |
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index 60d2eda995c1..9a77fb3c269d 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c | |||
@@ -275,15 +275,13 @@ void syscall_trace(union uml_pt_regs *regs, int entryexit) | |||
275 | 275 | ||
276 | if (unlikely(current->audit_context)) { | 276 | if (unlikely(current->audit_context)) { |
277 | if (!entryexit) | 277 | if (!entryexit) |
278 | audit_syscall_entry(current, | 278 | audit_syscall_entry(HOST_AUDIT_ARCH, |
279 | HOST_AUDIT_ARCH, | ||
280 | UPT_SYSCALL_NR(regs), | 279 | UPT_SYSCALL_NR(regs), |
281 | UPT_SYSCALL_ARG1(regs), | 280 | UPT_SYSCALL_ARG1(regs), |
282 | UPT_SYSCALL_ARG2(regs), | 281 | UPT_SYSCALL_ARG2(regs), |
283 | UPT_SYSCALL_ARG3(regs), | 282 | UPT_SYSCALL_ARG3(regs), |
284 | UPT_SYSCALL_ARG4(regs)); | 283 | UPT_SYSCALL_ARG4(regs)); |
285 | else audit_syscall_exit(current, | 284 | else audit_syscall_exit(AUDITSC_RESULT(UPT_SYSCALL_RET(regs)), |
286 | AUDITSC_RESULT(UPT_SYSCALL_RET(regs)), | ||
287 | UPT_SYSCALL_RET(regs)); | 285 | UPT_SYSCALL_RET(regs)); |
288 | } | 286 | } |
289 | 287 | ||
diff --git a/arch/um/kernel/skas/Makefile b/arch/um/kernel/skas/Makefile index 57181a920d48..ea3a8e409a6e 100644 --- a/arch/um/kernel/skas/Makefile +++ b/arch/um/kernel/skas/Makefile | |||
@@ -6,9 +6,11 @@ | |||
6 | obj-y := clone.o exec_kern.o mem.o mmu.o process_kern.o \ | 6 | obj-y := clone.o exec_kern.o mem.o mmu.o process_kern.o \ |
7 | syscall.o tlb.o uaccess.o | 7 | syscall.o tlb.o uaccess.o |
8 | 8 | ||
9 | USER_OBJS := clone.o | 9 | # clone.o is in the stub, so it can't be built with profiling |
10 | # GCC hardened also auto-enables -fpic, but we need %ebx so it can't work -> | ||
11 | # disable it | ||
10 | 12 | ||
11 | include arch/um/scripts/Makefile.rules | 13 | CFLAGS_clone.o := $(CFLAGS_NO_HARDENING) |
14 | UNPROFILE_OBJS := clone.o | ||
12 | 15 | ||
13 | # clone.o is in the stub, so it can't be built with profiling | 16 | include arch/um/scripts/Makefile.rules |
14 | $(obj)/clone.o : c_flags = -Wp,-MD,$(depfile) $(call unprofile,$(USER_CFLAGS)) | ||
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c index 3bd10deea280..09251338d99e 100644 --- a/arch/um/os-Linux/file.c +++ b/arch/um/os-Linux/file.c | |||
@@ -171,7 +171,7 @@ int os_sigio_async(int master, int slave) | |||
171 | 171 | ||
172 | flags = fcntl(master, F_GETFL); | 172 | flags = fcntl(master, F_GETFL); |
173 | if(flags < 0) | 173 | if(flags < 0) |
174 | return errno; | 174 | return -errno; |
175 | 175 | ||
176 | if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) || | 176 | if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) || |
177 | (fcntl(master, F_SETOWN, os_getpid()) < 0)) | 177 | (fcntl(master, F_SETOWN, os_getpid()) < 0)) |
diff --git a/arch/um/os-Linux/irq.c b/arch/um/os-Linux/irq.c index e599be423da1..3788d4568d33 100644 --- a/arch/um/os-Linux/irq.c +++ b/arch/um/os-Linux/irq.c | |||
@@ -29,21 +29,21 @@ int os_waiting_for_events(struct irq_fd *active_fds) | |||
29 | int i, n, err; | 29 | int i, n, err; |
30 | 30 | ||
31 | n = poll(pollfds, pollfds_num, 0); | 31 | n = poll(pollfds, pollfds_num, 0); |
32 | if(n < 0){ | 32 | if (n < 0) { |
33 | err = -errno; | 33 | err = -errno; |
34 | if(errno != EINTR) | 34 | if (errno != EINTR) |
35 | printk("sigio_handler: os_waiting_for_events:" | 35 | printk("sigio_handler: os_waiting_for_events:" |
36 | " poll returned %d, errno = %d\n", n, errno); | 36 | " poll returned %d, errno = %d\n", n, errno); |
37 | return err; | 37 | return err; |
38 | } | 38 | } |
39 | 39 | ||
40 | if(n == 0) | 40 | if (n == 0) |
41 | return 0; | 41 | return 0; |
42 | 42 | ||
43 | irq_fd = active_fds; | 43 | irq_fd = active_fds; |
44 | 44 | ||
45 | for(i = 0; i < pollfds_num; i++){ | 45 | for (i = 0; i < pollfds_num; i++) { |
46 | if(pollfds[i].revents != 0){ | 46 | if (pollfds[i].revents != 0) { |
47 | irq_fd->current_events = pollfds[i].revents; | 47 | irq_fd->current_events = pollfds[i].revents; |
48 | pollfds[i].fd = -1; | 48 | pollfds[i].fd = -1; |
49 | } | 49 | } |
@@ -54,7 +54,7 @@ int os_waiting_for_events(struct irq_fd *active_fds) | |||
54 | 54 | ||
55 | int os_isatty(int fd) | 55 | int os_isatty(int fd) |
56 | { | 56 | { |
57 | return(isatty(fd)); | 57 | return isatty(fd); |
58 | } | 58 | } |
59 | 59 | ||
60 | int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | 60 | int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) |
@@ -65,7 +65,7 @@ int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | |||
65 | return((pollfds_size + 1) * sizeof(pollfds[0])); | 65 | return((pollfds_size + 1) * sizeof(pollfds[0])); |
66 | } | 66 | } |
67 | 67 | ||
68 | if(pollfds != NULL){ | 68 | if (pollfds != NULL) { |
69 | memcpy(tmp_pfd, pollfds, | 69 | memcpy(tmp_pfd, pollfds, |
70 | sizeof(pollfds[0]) * pollfds_size); | 70 | sizeof(pollfds[0]) * pollfds_size); |
71 | /* remove old pollfds */ | 71 | /* remove old pollfds */ |
@@ -73,18 +73,15 @@ int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | |||
73 | } | 73 | } |
74 | pollfds = tmp_pfd; | 74 | pollfds = tmp_pfd; |
75 | pollfds_size++; | 75 | pollfds_size++; |
76 | } else { | 76 | } else |
77 | /* remove not used tmp_pfd */ | 77 | kfree(tmp_pfd); /* remove not used tmp_pfd */ |
78 | if (tmp_pfd != NULL) | ||
79 | kfree(tmp_pfd); | ||
80 | } | ||
81 | 78 | ||
82 | pollfds[pollfds_num] = ((struct pollfd) { .fd = fd, | 79 | pollfds[pollfds_num] = ((struct pollfd) { .fd = fd, |
83 | .events = events, | 80 | .events = events, |
84 | .revents = 0 }); | 81 | .revents = 0 }); |
85 | pollfds_num++; | 82 | pollfds_num++; |
86 | 83 | ||
87 | return(0); | 84 | return 0; |
88 | } | 85 | } |
89 | 86 | ||
90 | void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | 87 | void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, |
@@ -94,11 +91,11 @@ void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | |||
94 | int i = 0; | 91 | int i = 0; |
95 | 92 | ||
96 | prev = &active_fds; | 93 | prev = &active_fds; |
97 | while(*prev != NULL){ | 94 | while (*prev != NULL) { |
98 | if((*test)(*prev, arg)){ | 95 | if ((*test)(*prev, arg)) { |
99 | struct irq_fd *old_fd = *prev; | 96 | struct irq_fd *old_fd = *prev; |
100 | if((pollfds[i].fd != -1) && | 97 | if ((pollfds[i].fd != -1) && |
101 | (pollfds[i].fd != (*prev)->fd)){ | 98 | (pollfds[i].fd != (*prev)->fd)) { |
102 | printk("os_free_irq_by_cb - mismatch between " | 99 | printk("os_free_irq_by_cb - mismatch between " |
103 | "active_fds and pollfds, fd %d vs %d\n", | 100 | "active_fds and pollfds, fd %d vs %d\n", |
104 | (*prev)->fd, pollfds[i].fd); | 101 | (*prev)->fd, pollfds[i].fd); |
@@ -110,7 +107,6 @@ void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | |||
110 | /* This moves the *whole* array after pollfds[i] | 107 | /* This moves the *whole* array after pollfds[i] |
111 | * (though it doesn't spot as such)! | 108 | * (though it doesn't spot as such)! |
112 | */ | 109 | */ |
113 | |||
114 | memmove(&pollfds[i], &pollfds[i + 1], | 110 | memmove(&pollfds[i], &pollfds[i + 1], |
115 | (pollfds_num - i) * sizeof(pollfds[0])); | 111 | (pollfds_num - i) * sizeof(pollfds[0])); |
116 | if(*last_irq_ptr2 == &old_fd->next) | 112 | if(*last_irq_ptr2 == &old_fd->next) |
@@ -129,10 +125,9 @@ void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | |||
129 | return; | 125 | return; |
130 | } | 126 | } |
131 | 127 | ||
132 | |||
133 | int os_get_pollfd(int i) | 128 | int os_get_pollfd(int i) |
134 | { | 129 | { |
135 | return(pollfds[i].fd); | 130 | return pollfds[i].fd; |
136 | } | 131 | } |
137 | 132 | ||
138 | void os_set_pollfd(int i, int fd) | 133 | void os_set_pollfd(int i, int fd) |
@@ -151,8 +146,10 @@ void init_irq_signals(int on_sigstack) | |||
151 | int flags; | 146 | int flags; |
152 | 147 | ||
153 | flags = on_sigstack ? SA_ONSTACK : 0; | 148 | flags = on_sigstack ? SA_ONSTACK : 0; |
154 | if(timer_irq_inited) h = (__sighandler_t) alarm_handler; | 149 | if (timer_irq_inited) |
155 | else h = boot_timer_handler; | 150 | h = (__sighandler_t)alarm_handler; |
151 | else | ||
152 | h = boot_timer_handler; | ||
156 | 153 | ||
157 | set_handler(SIGVTALRM, h, flags | SA_RESTART, | 154 | set_handler(SIGVTALRM, h, flags | SA_RESTART, |
158 | SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1); | 155 | SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1); |
diff --git a/arch/um/os-Linux/main.c b/arch/um/os-Linux/main.c index 2878e89a674f..3a0ac38e978b 100644 --- a/arch/um/os-Linux/main.c +++ b/arch/um/os-Linux/main.c | |||
@@ -74,6 +74,34 @@ static void last_ditch_exit(int sig) | |||
74 | exit(1); | 74 | exit(1); |
75 | } | 75 | } |
76 | 76 | ||
77 | #define UML_LIB_PATH ":/usr/lib/uml" | ||
78 | |||
79 | static void setup_env_path(void) | ||
80 | { | ||
81 | char *new_path = NULL; | ||
82 | char *old_path = NULL; | ||
83 | int path_len = 0; | ||
84 | |||
85 | old_path = getenv("PATH"); | ||
86 | /* if no PATH variable is set or it has an empty value | ||
87 | * just use the default + /usr/lib/uml | ||
88 | */ | ||
89 | if (!old_path || (path_len = strlen(old_path)) == 0) { | ||
90 | putenv("PATH=:/bin:/usr/bin/" UML_LIB_PATH); | ||
91 | return; | ||
92 | } | ||
93 | |||
94 | /* append /usr/lib/uml to the existing path */ | ||
95 | path_len += strlen("PATH=" UML_LIB_PATH) + 1; | ||
96 | new_path = malloc(path_len); | ||
97 | if (!new_path) { | ||
98 | perror("coudn't malloc to set a new PATH"); | ||
99 | return; | ||
100 | } | ||
101 | snprintf(new_path, path_len, "PATH=%s" UML_LIB_PATH, old_path); | ||
102 | putenv(new_path); | ||
103 | } | ||
104 | |||
77 | extern int uml_exitcode; | 105 | extern int uml_exitcode; |
78 | 106 | ||
79 | extern void scan_elf_aux( char **envp); | 107 | extern void scan_elf_aux( char **envp); |
@@ -114,6 +142,8 @@ int main(int argc, char **argv, char **envp) | |||
114 | 142 | ||
115 | set_stklim(); | 143 | set_stklim(); |
116 | 144 | ||
145 | setup_env_path(); | ||
146 | |||
117 | new_argv = malloc((argc + 1) * sizeof(char *)); | 147 | new_argv = malloc((argc + 1) * sizeof(char *)); |
118 | if(new_argv == NULL){ | 148 | if(new_argv == NULL){ |
119 | perror("Mallocing argv"); | 149 | perror("Mallocing argv"); |
diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c index 71bb90a7606d..c6432e729241 100644 --- a/arch/um/os-Linux/mem.c +++ b/arch/um/os-Linux/mem.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <fcntl.h> | 8 | #include <fcntl.h> |
9 | #include <sys/types.h> | 9 | #include <sys/types.h> |
10 | #include <sys/mman.h> | 10 | #include <sys/mman.h> |
11 | #include <sys/statfs.h> | ||
11 | #include "kern_util.h" | 12 | #include "kern_util.h" |
12 | #include "user.h" | 13 | #include "user.h" |
13 | #include "user_util.h" | 14 | #include "user_util.h" |
@@ -19,6 +20,7 @@ | |||
19 | 20 | ||
20 | #include <sys/param.h> | 21 | #include <sys/param.h> |
21 | 22 | ||
23 | static char *default_tmpdir = "/tmp"; | ||
22 | static char *tempdir = NULL; | 24 | static char *tempdir = NULL; |
23 | 25 | ||
24 | static void __init find_tempdir(void) | 26 | static void __init find_tempdir(void) |
@@ -34,7 +36,7 @@ static void __init find_tempdir(void) | |||
34 | break; | 36 | break; |
35 | } | 37 | } |
36 | if((dir == NULL) || (*dir == '\0')) | 38 | if((dir == NULL) || (*dir == '\0')) |
37 | dir = "/tmp"; | 39 | dir = default_tmpdir; |
38 | 40 | ||
39 | tempdir = malloc(strlen(dir) + 2); | 41 | tempdir = malloc(strlen(dir) + 2); |
40 | if(tempdir == NULL){ | 42 | if(tempdir == NULL){ |
@@ -46,6 +48,96 @@ static void __init find_tempdir(void) | |||
46 | strcat(tempdir, "/"); | 48 | strcat(tempdir, "/"); |
47 | } | 49 | } |
48 | 50 | ||
51 | /* This will return 1, with the first character in buf being the | ||
52 | * character following the next instance of c in the file. This will | ||
53 | * read the file as needed. If there's an error, -errno is returned; | ||
54 | * if the end of the file is reached, 0 is returned. | ||
55 | */ | ||
56 | static int next(int fd, char *buf, int size, char c) | ||
57 | { | ||
58 | int n; | ||
59 | char *ptr; | ||
60 | |||
61 | while((ptr = strchr(buf, c)) == NULL){ | ||
62 | n = read(fd, buf, size - 1); | ||
63 | if(n == 0) | ||
64 | return 0; | ||
65 | else if(n < 0) | ||
66 | return -errno; | ||
67 | |||
68 | buf[n] = '\0'; | ||
69 | } | ||
70 | |||
71 | ptr++; | ||
72 | memmove(buf, ptr, strlen(ptr) + 1); | ||
73 | return 1; | ||
74 | } | ||
75 | |||
76 | static int checked_tmpdir = 0; | ||
77 | |||
78 | /* Look for a tmpfs mounted at /dev/shm. I couldn't find a cleaner | ||
79 | * way to do this than to parse /proc/mounts. statfs will return the | ||
80 | * same filesystem magic number and fs id for both /dev and /dev/shm | ||
81 | * when they are both tmpfs, so you can't tell if they are different | ||
82 | * filesystems. Also, there seems to be no other way of finding the | ||
83 | * mount point of a filesystem from within it. | ||
84 | * | ||
85 | * If a /dev/shm tmpfs entry is found, then we switch to using it. | ||
86 | * Otherwise, we stay with the default /tmp. | ||
87 | */ | ||
88 | static void which_tmpdir(void) | ||
89 | { | ||
90 | int fd, found; | ||
91 | char buf[128] = { '\0' }; | ||
92 | |||
93 | if(checked_tmpdir) | ||
94 | return; | ||
95 | |||
96 | checked_tmpdir = 1; | ||
97 | |||
98 | printf("Checking for tmpfs mount on /dev/shm..."); | ||
99 | |||
100 | fd = open("/proc/mounts", O_RDONLY); | ||
101 | if(fd < 0){ | ||
102 | printf("failed to open /proc/mounts, errno = %d\n", errno); | ||
103 | return; | ||
104 | } | ||
105 | |||
106 | while(1){ | ||
107 | found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' '); | ||
108 | if(found != 1) | ||
109 | break; | ||
110 | |||
111 | if(!strncmp(buf, "/dev/shm", strlen("/dev/shm"))) | ||
112 | goto found; | ||
113 | |||
114 | found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), '\n'); | ||
115 | if(found != 1) | ||
116 | break; | ||
117 | } | ||
118 | |||
119 | err: | ||
120 | if(found == 0) | ||
121 | printf("nothing mounted on /dev/shm\n"); | ||
122 | else if(found < 0) | ||
123 | printf("read returned errno %d\n", -found); | ||
124 | |||
125 | return; | ||
126 | |||
127 | found: | ||
128 | found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' '); | ||
129 | if(found != 1) | ||
130 | goto err; | ||
131 | |||
132 | if(strncmp(buf, "tmpfs", strlen("tmpfs"))){ | ||
133 | printf("not tmpfs\n"); | ||
134 | return; | ||
135 | } | ||
136 | |||
137 | printf("OK\n"); | ||
138 | default_tmpdir = "/dev/shm"; | ||
139 | } | ||
140 | |||
49 | /* | 141 | /* |
50 | * This proc still used in tt-mode | 142 | * This proc still used in tt-mode |
51 | * (file: kernel/tt/ptproxy/proxy.c, proc: start_debugger). | 143 | * (file: kernel/tt/ptproxy/proxy.c, proc: start_debugger). |
@@ -56,6 +148,7 @@ int make_tempfile(const char *template, char **out_tempname, int do_unlink) | |||
56 | char *tempname; | 148 | char *tempname; |
57 | int fd; | 149 | int fd; |
58 | 150 | ||
151 | which_tmpdir(); | ||
59 | tempname = malloc(MAXPATHLEN); | 152 | tempname = malloc(MAXPATHLEN); |
60 | 153 | ||
61 | find_tempdir(); | 154 | find_tempdir(); |
@@ -137,3 +230,26 @@ int create_mem_file(unsigned long long len) | |||
137 | } | 230 | } |
138 | return(fd); | 231 | return(fd); |
139 | } | 232 | } |
233 | |||
234 | |||
235 | void check_tmpexec(void) | ||
236 | { | ||
237 | void *addr; | ||
238 | int err, fd = create_tmp_file(UM_KERN_PAGE_SIZE); | ||
239 | |||
240 | addr = mmap(NULL, UM_KERN_PAGE_SIZE, | ||
241 | PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE, fd, 0); | ||
242 | printf("Checking PROT_EXEC mmap in %s...",tempdir); | ||
243 | fflush(stdout); | ||
244 | if(addr == MAP_FAILED){ | ||
245 | err = errno; | ||
246 | perror("failed"); | ||
247 | if(err == EPERM) | ||
248 | printf("%s must be not mounted noexec\n",tempdir); | ||
249 | exit(1); | ||
250 | } | ||
251 | printf("OK\n"); | ||
252 | munmap(addr, UM_KERN_PAGE_SIZE); | ||
253 | |||
254 | close(fd); | ||
255 | } | ||
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index 8176b0b52047..233be2f4f8cb 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c | |||
@@ -190,7 +190,7 @@ int os_unmap_memory(void *addr, int len) | |||
190 | } | 190 | } |
191 | 191 | ||
192 | #ifndef MADV_REMOVE | 192 | #ifndef MADV_REMOVE |
193 | #define MADV_REMOVE 0x5 /* remove these pages & resources */ | 193 | #define MADV_REMOVE KERNEL_MADV_REMOVE |
194 | #endif | 194 | #endif |
195 | 195 | ||
196 | int os_drop_memory(void *addr, int length) | 196 | int os_drop_memory(void *addr, int length) |
@@ -206,29 +206,36 @@ int os_drop_memory(void *addr, int length) | |||
206 | int can_drop_memory(void) | 206 | int can_drop_memory(void) |
207 | { | 207 | { |
208 | void *addr; | 208 | void *addr; |
209 | int fd; | 209 | int fd, ok = 0; |
210 | 210 | ||
211 | printk("Checking host MADV_REMOVE support..."); | 211 | printk("Checking host MADV_REMOVE support..."); |
212 | fd = create_mem_file(UM_KERN_PAGE_SIZE); | 212 | fd = create_mem_file(UM_KERN_PAGE_SIZE); |
213 | if(fd < 0){ | 213 | if(fd < 0){ |
214 | printk("Creating test memory file failed, err = %d\n", -fd); | 214 | printk("Creating test memory file failed, err = %d\n", -fd); |
215 | return 0; | 215 | goto out; |
216 | } | 216 | } |
217 | 217 | ||
218 | addr = mmap64(NULL, UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE, | 218 | addr = mmap64(NULL, UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE, |
219 | MAP_PRIVATE, fd, 0); | 219 | MAP_SHARED, fd, 0); |
220 | if(addr == MAP_FAILED){ | 220 | if(addr == MAP_FAILED){ |
221 | printk("Mapping test memory file failed, err = %d\n", -errno); | 221 | printk("Mapping test memory file failed, err = %d\n", -errno); |
222 | return 0; | 222 | goto out_close; |
223 | } | 223 | } |
224 | 224 | ||
225 | if(madvise(addr, UM_KERN_PAGE_SIZE, MADV_REMOVE) != 0){ | 225 | if(madvise(addr, UM_KERN_PAGE_SIZE, MADV_REMOVE) != 0){ |
226 | printk("MADV_REMOVE failed, err = %d\n", -errno); | 226 | printk("MADV_REMOVE failed, err = %d\n", -errno); |
227 | return 0; | 227 | goto out_unmap; |
228 | } | 228 | } |
229 | 229 | ||
230 | printk("OK\n"); | 230 | printk("OK\n"); |
231 | return 1; | 231 | ok = 1; |
232 | |||
233 | out_unmap: | ||
234 | munmap(addr, UM_KERN_PAGE_SIZE); | ||
235 | out_close: | ||
236 | close(fd); | ||
237 | out: | ||
238 | return ok; | ||
232 | } | 239 | } |
233 | 240 | ||
234 | void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int)) | 241 | void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int)) |
@@ -266,11 +273,11 @@ void init_new_thread_signals(int altstack) | |||
266 | 273 | ||
267 | int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) | 274 | int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) |
268 | { | 275 | { |
269 | sigjmp_buf buf; | 276 | jmp_buf buf; |
270 | int n, enable; | 277 | int n, enable; |
271 | 278 | ||
272 | *jmp_ptr = &buf; | 279 | *jmp_ptr = &buf; |
273 | n = UML_SIGSETJMP(&buf, enable); | 280 | n = UML_SETJMP(&buf, enable); |
274 | if(n != 0) | 281 | if(n != 0) |
275 | return(n); | 282 | return(n); |
276 | (*fn)(arg); | 283 | (*fn)(arg); |
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index 045ae0037456..bd89c6b99d5d 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c | |||
@@ -344,12 +344,12 @@ int copy_context_skas0(unsigned long new_stack, int pid) | |||
344 | err = ptrace_setregs(pid, regs); | 344 | err = ptrace_setregs(pid, regs); |
345 | if(err < 0) | 345 | if(err < 0) |
346 | panic("copy_context_skas0 : PTRACE_SETREGS failed, " | 346 | panic("copy_context_skas0 : PTRACE_SETREGS failed, " |
347 | "pid = %d, errno = %d\n", pid, errno); | 347 | "pid = %d, errno = %d\n", pid, -err); |
348 | 348 | ||
349 | err = ptrace_setfpregs(pid, fp_regs); | 349 | err = ptrace_setfpregs(pid, fp_regs); |
350 | if(err < 0) | 350 | if(err < 0) |
351 | panic("copy_context_skas0 : PTRACE_SETFPREGS failed, " | 351 | panic("copy_context_skas0 : PTRACE_SETFPREGS failed, " |
352 | "pid = %d, errno = %d\n", pid, errno); | 352 | "pid = %d, errno = %d\n", pid, -err); |
353 | 353 | ||
354 | /* set a well known return code for detection of child write failure */ | 354 | /* set a well known return code for detection of child write failure */ |
355 | child_data->err = 12345678; | 355 | child_data->err = 12345678; |
@@ -362,7 +362,7 @@ int copy_context_skas0(unsigned long new_stack, int pid) | |||
362 | pid = data->err; | 362 | pid = data->err; |
363 | if(pid < 0) | 363 | if(pid < 0) |
364 | panic("copy_context_skas0 - stub-parent reports error %d\n", | 364 | panic("copy_context_skas0 - stub-parent reports error %d\n", |
365 | pid); | 365 | -pid); |
366 | 366 | ||
367 | /* Wait, until child has finished too: read child's result from | 367 | /* Wait, until child has finished too: read child's result from |
368 | * child's stack and check it. | 368 | * child's stack and check it. |
@@ -434,7 +434,7 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | |||
434 | void (*handler)(int)) | 434 | void (*handler)(int)) |
435 | { | 435 | { |
436 | unsigned long flags; | 436 | unsigned long flags; |
437 | sigjmp_buf switch_buf, fork_buf; | 437 | jmp_buf switch_buf, fork_buf; |
438 | int enable; | 438 | int enable; |
439 | 439 | ||
440 | *switch_buf_ptr = &switch_buf; | 440 | *switch_buf_ptr = &switch_buf; |
@@ -450,7 +450,7 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | |||
450 | */ | 450 | */ |
451 | flags = get_signals(); | 451 | flags = get_signals(); |
452 | block_signals(); | 452 | block_signals(); |
453 | if(UML_SIGSETJMP(&fork_buf, enable) == 0) | 453 | if(UML_SETJMP(&fork_buf, enable) == 0) |
454 | new_thread_proc(stack, handler); | 454 | new_thread_proc(stack, handler); |
455 | 455 | ||
456 | remove_sigstack(); | 456 | remove_sigstack(); |
@@ -466,35 +466,35 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | |||
466 | 466 | ||
467 | void thread_wait(void *sw, void *fb) | 467 | void thread_wait(void *sw, void *fb) |
468 | { | 468 | { |
469 | sigjmp_buf buf, **switch_buf = sw, *fork_buf; | 469 | jmp_buf buf, **switch_buf = sw, *fork_buf; |
470 | int enable; | 470 | int enable; |
471 | 471 | ||
472 | *switch_buf = &buf; | 472 | *switch_buf = &buf; |
473 | fork_buf = fb; | 473 | fork_buf = fb; |
474 | if(UML_SIGSETJMP(&buf, enable) == 0) | 474 | if(UML_SETJMP(&buf, enable) == 0) |
475 | siglongjmp(*fork_buf, INIT_JMP_REMOVE_SIGSTACK); | 475 | siglongjmp(*fork_buf, INIT_JMP_REMOVE_SIGSTACK); |
476 | } | 476 | } |
477 | 477 | ||
478 | void switch_threads(void *me, void *next) | 478 | void switch_threads(void *me, void *next) |
479 | { | 479 | { |
480 | sigjmp_buf my_buf, **me_ptr = me, *next_buf = next; | 480 | jmp_buf my_buf, **me_ptr = me, *next_buf = next; |
481 | int enable; | 481 | int enable; |
482 | 482 | ||
483 | *me_ptr = &my_buf; | 483 | *me_ptr = &my_buf; |
484 | if(UML_SIGSETJMP(&my_buf, enable) == 0) | 484 | if(UML_SETJMP(&my_buf, enable) == 0) |
485 | UML_SIGLONGJMP(next_buf, 1); | 485 | UML_LONGJMP(next_buf, 1); |
486 | } | 486 | } |
487 | 487 | ||
488 | static sigjmp_buf initial_jmpbuf; | 488 | static jmp_buf initial_jmpbuf; |
489 | 489 | ||
490 | /* XXX Make these percpu */ | 490 | /* XXX Make these percpu */ |
491 | static void (*cb_proc)(void *arg); | 491 | static void (*cb_proc)(void *arg); |
492 | static void *cb_arg; | 492 | static void *cb_arg; |
493 | static sigjmp_buf *cb_back; | 493 | static jmp_buf *cb_back; |
494 | 494 | ||
495 | int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | 495 | int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) |
496 | { | 496 | { |
497 | sigjmp_buf **switch_buf = switch_buf_ptr; | 497 | jmp_buf **switch_buf = switch_buf_ptr; |
498 | int n, enable; | 498 | int n, enable; |
499 | 499 | ||
500 | set_handler(SIGWINCH, (__sighandler_t) sig_handler, | 500 | set_handler(SIGWINCH, (__sighandler_t) sig_handler, |
@@ -502,7 +502,7 @@ int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | |||
502 | SIGVTALRM, -1); | 502 | SIGVTALRM, -1); |
503 | 503 | ||
504 | *fork_buf_ptr = &initial_jmpbuf; | 504 | *fork_buf_ptr = &initial_jmpbuf; |
505 | n = UML_SIGSETJMP(&initial_jmpbuf, enable); | 505 | n = UML_SETJMP(&initial_jmpbuf, enable); |
506 | switch(n){ | 506 | switch(n){ |
507 | case INIT_JMP_NEW_THREAD: | 507 | case INIT_JMP_NEW_THREAD: |
508 | new_thread_proc((void *) stack, new_thread_handler); | 508 | new_thread_proc((void *) stack, new_thread_handler); |
@@ -512,7 +512,7 @@ int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | |||
512 | break; | 512 | break; |
513 | case INIT_JMP_CALLBACK: | 513 | case INIT_JMP_CALLBACK: |
514 | (*cb_proc)(cb_arg); | 514 | (*cb_proc)(cb_arg); |
515 | UML_SIGLONGJMP(cb_back, 1); | 515 | UML_LONGJMP(cb_back, 1); |
516 | break; | 516 | break; |
517 | case INIT_JMP_HALT: | 517 | case INIT_JMP_HALT: |
518 | kmalloc_ok = 0; | 518 | kmalloc_ok = 0; |
@@ -523,12 +523,12 @@ int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | |||
523 | default: | 523 | default: |
524 | panic("Bad sigsetjmp return in start_idle_thread - %d\n", n); | 524 | panic("Bad sigsetjmp return in start_idle_thread - %d\n", n); |
525 | } | 525 | } |
526 | UML_SIGLONGJMP(*switch_buf, 1); | 526 | UML_LONGJMP(*switch_buf, 1); |
527 | } | 527 | } |
528 | 528 | ||
529 | void initial_thread_cb_skas(void (*proc)(void *), void *arg) | 529 | void initial_thread_cb_skas(void (*proc)(void *), void *arg) |
530 | { | 530 | { |
531 | sigjmp_buf here; | 531 | jmp_buf here; |
532 | int enable; | 532 | int enable; |
533 | 533 | ||
534 | cb_proc = proc; | 534 | cb_proc = proc; |
@@ -536,8 +536,8 @@ void initial_thread_cb_skas(void (*proc)(void *), void *arg) | |||
536 | cb_back = &here; | 536 | cb_back = &here; |
537 | 537 | ||
538 | block_signals(); | 538 | block_signals(); |
539 | if(UML_SIGSETJMP(&here, enable) == 0) | 539 | if(UML_SETJMP(&here, enable) == 0) |
540 | UML_SIGLONGJMP(&initial_jmpbuf, INIT_JMP_CALLBACK); | 540 | UML_LONGJMP(&initial_jmpbuf, INIT_JMP_CALLBACK); |
541 | unblock_signals(); | 541 | unblock_signals(); |
542 | 542 | ||
543 | cb_proc = NULL; | 543 | cb_proc = NULL; |
@@ -548,13 +548,13 @@ void initial_thread_cb_skas(void (*proc)(void *), void *arg) | |||
548 | void halt_skas(void) | 548 | void halt_skas(void) |
549 | { | 549 | { |
550 | block_signals(); | 550 | block_signals(); |
551 | UML_SIGLONGJMP(&initial_jmpbuf, INIT_JMP_HALT); | 551 | UML_LONGJMP(&initial_jmpbuf, INIT_JMP_HALT); |
552 | } | 552 | } |
553 | 553 | ||
554 | void reboot_skas(void) | 554 | void reboot_skas(void) |
555 | { | 555 | { |
556 | block_signals(); | 556 | block_signals(); |
557 | UML_SIGLONGJMP(&initial_jmpbuf, INIT_JMP_REBOOT); | 557 | UML_LONGJMP(&initial_jmpbuf, INIT_JMP_REBOOT); |
558 | } | 558 | } |
559 | 559 | ||
560 | void switch_mm_skas(struct mm_id *mm_idp) | 560 | void switch_mm_skas(struct mm_id *mm_idp) |
diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c index 387e26af301a..503148504009 100644 --- a/arch/um/os-Linux/start_up.c +++ b/arch/um/os-Linux/start_up.c | |||
@@ -296,29 +296,7 @@ static void __init check_ptrace(void) | |||
296 | check_sysemu(); | 296 | check_sysemu(); |
297 | } | 297 | } |
298 | 298 | ||
299 | extern int create_tmp_file(unsigned long long len); | 299 | extern void check_tmpexec(void); |
300 | |||
301 | static void check_tmpexec(void) | ||
302 | { | ||
303 | void *addr; | ||
304 | int err, fd = create_tmp_file(UM_KERN_PAGE_SIZE); | ||
305 | |||
306 | addr = mmap(NULL, UM_KERN_PAGE_SIZE, | ||
307 | PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE, fd, 0); | ||
308 | printf("Checking PROT_EXEC mmap in /tmp..."); | ||
309 | fflush(stdout); | ||
310 | if(addr == MAP_FAILED){ | ||
311 | err = errno; | ||
312 | perror("failed"); | ||
313 | if(err == EPERM) | ||
314 | printf("/tmp must be not mounted noexec\n"); | ||
315 | exit(1); | ||
316 | } | ||
317 | printf("OK\n"); | ||
318 | munmap(addr, UM_KERN_PAGE_SIZE); | ||
319 | |||
320 | close(fd); | ||
321 | } | ||
322 | 300 | ||
323 | void os_early_checks(void) | 301 | void os_early_checks(void) |
324 | { | 302 | { |
diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c index 7a6f6b99ceff..516f66dd87e3 100644 --- a/arch/um/os-Linux/sys-i386/registers.c +++ b/arch/um/os-Linux/sys-i386/registers.c | |||
@@ -104,7 +104,7 @@ void init_registers(int pid) | |||
104 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); | 104 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); |
105 | if(err) | 105 | if(err) |
106 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 106 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", |
107 | err); | 107 | errno); |
108 | 108 | ||
109 | errno = 0; | 109 | errno = 0; |
110 | err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs); | 110 | err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs); |
@@ -119,7 +119,7 @@ void init_registers(int pid) | |||
119 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 119 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); |
120 | if(err) | 120 | if(err) |
121 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", | 121 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", |
122 | err); | 122 | errno); |
123 | } | 123 | } |
124 | 124 | ||
125 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) | 125 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) |
diff --git a/arch/um/os-Linux/sys-x86_64/registers.c b/arch/um/os-Linux/sys-x86_64/registers.c index 001941fa1a1e..becd898d9398 100644 --- a/arch/um/os-Linux/sys-x86_64/registers.c +++ b/arch/um/os-Linux/sys-x86_64/registers.c | |||
@@ -62,12 +62,12 @@ void init_registers(int pid) | |||
62 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); | 62 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); |
63 | if(err) | 63 | if(err) |
64 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 64 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", |
65 | err); | 65 | errno); |
66 | 66 | ||
67 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 67 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); |
68 | if(err) | 68 | if(err) |
69 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", | 69 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", |
70 | err); | 70 | errno); |
71 | } | 71 | } |
72 | 72 | ||
73 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) | 73 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) |
diff --git a/arch/um/os-Linux/trap.c b/arch/um/os-Linux/trap.c index a9f6b26f9828..90b29ae9af46 100644 --- a/arch/um/os-Linux/trap.c +++ b/arch/um/os-Linux/trap.c | |||
@@ -35,7 +35,7 @@ void os_fill_handlinfo(struct kern_handlers h) | |||
35 | 35 | ||
36 | void do_longjmp(void *b, int val) | 36 | void do_longjmp(void *b, int val) |
37 | { | 37 | { |
38 | sigjmp_buf *buf = b; | 38 | jmp_buf *buf = b; |
39 | 39 | ||
40 | UML_SIGLONGJMP(buf, val); | 40 | UML_LONGJMP(buf, val); |
41 | } | 41 | } |
diff --git a/arch/um/os-Linux/uaccess.c b/arch/um/os-Linux/uaccess.c index 166fb66995df..e523719330b2 100644 --- a/arch/um/os-Linux/uaccess.c +++ b/arch/um/os-Linux/uaccess.c | |||
@@ -16,9 +16,9 @@ unsigned long __do_user_copy(void *to, const void *from, int n, | |||
16 | unsigned long *faddrp = (unsigned long *) fault_addr, ret; | 16 | unsigned long *faddrp = (unsigned long *) fault_addr, ret; |
17 | int enable; | 17 | int enable; |
18 | 18 | ||
19 | sigjmp_buf jbuf; | 19 | jmp_buf jbuf; |
20 | *fault_catcher = &jbuf; | 20 | *fault_catcher = &jbuf; |
21 | if(UML_SIGSETJMP(&jbuf, enable) == 0){ | 21 | if(UML_SETJMP(&jbuf, enable) == 0){ |
22 | (*op)(to, from, n); | 22 | (*op)(to, from, n); |
23 | ret = 0; | 23 | ret = 0; |
24 | *faulted_out = 0; | 24 | *faulted_out = 0; |
diff --git a/arch/um/os-Linux/umid.c b/arch/um/os-Linux/umid.c index 34bfc1bb9e38..362db059fe30 100644 --- a/arch/um/os-Linux/umid.c +++ b/arch/um/os-Linux/umid.c | |||
@@ -178,14 +178,14 @@ static void __init create_pid_file(void) | |||
178 | fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0644); | 178 | fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0644); |
179 | if(fd < 0){ | 179 | if(fd < 0){ |
180 | printk("Open of machine pid file \"%s\" failed: %s\n", | 180 | printk("Open of machine pid file \"%s\" failed: %s\n", |
181 | file, strerror(-fd)); | 181 | file, strerror(errno)); |
182 | return; | 182 | return; |
183 | } | 183 | } |
184 | 184 | ||
185 | snprintf(pid, sizeof(pid), "%d\n", getpid()); | 185 | snprintf(pid, sizeof(pid), "%d\n", getpid()); |
186 | n = write(fd, pid, strlen(pid)); | 186 | n = write(fd, pid, strlen(pid)); |
187 | if(n != strlen(pid)) | 187 | if(n != strlen(pid)) |
188 | printk("Write of pid file failed - err = %d\n", -n); | 188 | printk("Write of pid file failed - err = %d\n", errno); |
189 | 189 | ||
190 | close(fd); | 190 | close(fd); |
191 | } | 191 | } |
diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c index 2598158e1f53..3f33165ada68 100644 --- a/arch/um/os-Linux/user_syms.c +++ b/arch/um/os-Linux/user_syms.c | |||
@@ -96,6 +96,13 @@ EXPORT_SYMBOL_PROTO(getuid); | |||
96 | EXPORT_SYMBOL_PROTO(fsync); | 96 | EXPORT_SYMBOL_PROTO(fsync); |
97 | EXPORT_SYMBOL_PROTO(fdatasync); | 97 | EXPORT_SYMBOL_PROTO(fdatasync); |
98 | 98 | ||
99 | /* Export symbols used by GCC for the stack protector. */ | ||
100 | extern void __stack_smash_handler(void *) __attribute__((weak)); | ||
101 | EXPORT_SYMBOL(__stack_smash_handler); | ||
102 | |||
103 | extern long __guard __attribute__((weak)); | ||
104 | EXPORT_SYMBOL(__guard); | ||
105 | |||
99 | /* | 106 | /* |
100 | * Overrides for Emacs so that we follow Linus's tabbing style. | 107 | * Overrides for Emacs so that we follow Linus's tabbing style. |
101 | * Emacs will notice this stuff at the end of the file and automatically | 108 | * Emacs will notice this stuff at the end of the file and automatically |
diff --git a/arch/um/os-Linux/util.c b/arch/um/os-Linux/util.c index e32065e2fdc8..c47a2a7ce70e 100644 --- a/arch/um/os-Linux/util.c +++ b/arch/um/os-Linux/util.c | |||
@@ -104,7 +104,7 @@ void setup_hostinfo(void) | |||
104 | int setjmp_wrapper(void (*proc)(void *, void *), ...) | 104 | int setjmp_wrapper(void (*proc)(void *, void *), ...) |
105 | { | 105 | { |
106 | va_list args; | 106 | va_list args; |
107 | sigjmp_buf buf; | 107 | jmp_buf buf; |
108 | int n; | 108 | int n; |
109 | 109 | ||
110 | n = sigsetjmp(buf, 1); | 110 | n = sigsetjmp(buf, 1); |
diff --git a/arch/um/scripts/Makefile.rules b/arch/um/scripts/Makefile.rules index 5e7a9c310aa5..1347dc6d5218 100644 --- a/arch/um/scripts/Makefile.rules +++ b/arch/um/scripts/Makefile.rules | |||
@@ -7,11 +7,19 @@ USER_SINGLE_OBJS := \ | |||
7 | USER_OBJS += $(filter %_user.o,$(obj-y) $(obj-m) $(USER_SINGLE_OBJS)) | 7 | USER_OBJS += $(filter %_user.o,$(obj-y) $(obj-m) $(USER_SINGLE_OBJS)) |
8 | USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) | 8 | USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) |
9 | 9 | ||
10 | $(USER_OBJS) $(USER_OBJS:.o=.i) $(USER_OBJS:.o=.s) $(USER_OBJS:.o=.lst): \ | 10 | $(USER_OBJS:.o=.%): \ |
11 | c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) $(CFLAGS_$(notdir $@)) | 11 | c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) $(CFLAGS_$(*F).o) |
12 | $(USER_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \ | 12 | $(USER_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \ |
13 | -Dunix -D__unix__ -D__$(SUBARCH)__ | 13 | -Dunix -D__unix__ -D__$(SUBARCH)__ |
14 | 14 | ||
15 | # These are like USER_OBJS but filter USER_CFLAGS through unprofile instead of | ||
16 | # using it directly. | ||
17 | UNPROFILE_OBJS := $(foreach file,$(UNPROFILE_OBJS),$(obj)/$(file)) | ||
18 | |||
19 | $(UNPROFILE_OBJS:.o=.%): \ | ||
20 | c_flags = -Wp,-MD,$(depfile) $(call unprofile,$(USER_CFLAGS)) $(CFLAGS_$(*F).o) | ||
21 | $(UNPROFILE_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \ | ||
22 | -Dunix -D__unix__ -D__$(SUBARCH)__ | ||
15 | 23 | ||
16 | # The stubs and unmap.o can't try to call mcount or update basic block data | 24 | # The stubs and unmap.o can't try to call mcount or update basic block data |
17 | define unprofile | 25 | define unprofile |
diff --git a/arch/um/sys-i386/Makefile b/arch/um/sys-i386/Makefile index 98b20b7bba4f..374d61a19439 100644 --- a/arch/um/sys-i386/Makefile +++ b/arch/um/sys-i386/Makefile | |||
@@ -8,11 +8,16 @@ subarch-obj-y = lib/bitops.o kernel/semaphore.o | |||
8 | subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem.o | 8 | subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem.o |
9 | subarch-obj-$(CONFIG_MODULES) += kernel/module.o | 9 | subarch-obj-$(CONFIG_MODULES) += kernel/module.o |
10 | 10 | ||
11 | USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o stub_segv.o | 11 | USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o |
12 | 12 | ||
13 | include arch/um/scripts/Makefile.rules | 13 | USER_OBJS += user-offsets.s |
14 | extra-y += user-offsets.s | ||
14 | 15 | ||
15 | extra-$(CONFIG_MODE_TT) += unmap.o | 16 | extra-$(CONFIG_MODE_TT) += unmap.o |
16 | 17 | ||
17 | $(obj)/stub_segv.o $(obj)/unmap.o: \ | 18 | UNPROFILE_OBJS := stub_segv.o |
18 | _c_flags = $(call unprofile,$(CFLAGS)) | 19 | CFLAGS_stub_segv.o := $(CFLAGS_NO_HARDENING) |
20 | |||
21 | include arch/um/scripts/Makefile.rules | ||
22 | |||
23 | $(obj)/unmap.%: _c_flags = $(call unprofile,$(CFLAGS)) | ||
diff --git a/arch/um/sys-i386/signal.c b/arch/um/sys-i386/signal.c index 618fd8594643..0709fc6670c2 100644 --- a/arch/um/sys-i386/signal.c +++ b/arch/um/sys-i386/signal.c | |||
@@ -57,7 +57,7 @@ static int copy_sc_from_user_skas(struct pt_regs *regs, | |||
57 | return(0); | 57 | return(0); |
58 | } | 58 | } |
59 | 59 | ||
60 | int copy_sc_to_user_skas(struct sigcontext *to, struct _fpstate __user *to_fp, | 60 | int copy_sc_to_user_skas(struct sigcontext __user *to, struct _fpstate __user *to_fp, |
61 | struct pt_regs *regs, unsigned long sp) | 61 | struct pt_regs *regs, unsigned long sp) |
62 | { | 62 | { |
63 | struct sigcontext sc; | 63 | struct sigcontext sc; |
@@ -132,7 +132,7 @@ int copy_sc_from_user_tt(struct sigcontext *to, struct sigcontext __user *from, | |||
132 | return(err); | 132 | return(err); |
133 | } | 133 | } |
134 | 134 | ||
135 | int copy_sc_to_user_tt(struct sigcontext *to, struct _fpstate __user *fp, | 135 | int copy_sc_to_user_tt(struct sigcontext __user *to, struct _fpstate __user *fp, |
136 | struct sigcontext *from, int fpsize, unsigned long sp) | 136 | struct sigcontext *from, int fpsize, unsigned long sp) |
137 | { | 137 | { |
138 | struct _fpstate __user *to_fp; | 138 | struct _fpstate __user *to_fp; |
@@ -167,7 +167,7 @@ static int copy_sc_from_user(struct pt_regs *to, void __user *from) | |||
167 | return(ret); | 167 | return(ret); |
168 | } | 168 | } |
169 | 169 | ||
170 | static int copy_sc_to_user(struct sigcontext *to, struct _fpstate __user *fp, | 170 | static int copy_sc_to_user(struct sigcontext __user *to, struct _fpstate __user *fp, |
171 | struct pt_regs *from, unsigned long sp) | 171 | struct pt_regs *from, unsigned long sp) |
172 | { | 172 | { |
173 | return(CHOOSE_MODE(copy_sc_to_user_tt(to, fp, UPT_SC(&from->regs), | 173 | return(CHOOSE_MODE(copy_sc_to_user_tt(to, fp, UPT_SC(&from->regs), |
diff --git a/arch/um/sys-i386/stub_segv.c b/arch/um/sys-i386/stub_segv.c index a37f672ec964..2355dc19c46c 100644 --- a/arch/um/sys-i386/stub_segv.c +++ b/arch/um/sys-i386/stub_segv.c | |||
@@ -27,6 +27,6 @@ stub_segv_handler(int sig) | |||
27 | * the stack in its original form when we do the sigreturn here, by | 27 | * the stack in its original form when we do the sigreturn here, by |
28 | * hand. | 28 | * hand. |
29 | */ | 29 | */ |
30 | __asm__("mov %0,%%esp ; movl %1, %%eax ; " | 30 | __asm__ __volatile__("mov %0,%%esp ; movl %1, %%eax ; " |
31 | "int $0x80" : : "a" (sc), "g" (__NR_sigreturn)); | 31 | "int $0x80" : : "a" (sc), "g" (__NR_sigreturn)); |
32 | } | 32 | } |
diff --git a/arch/um/sys-x86_64/Makefile b/arch/um/sys-x86_64/Makefile index b5fc22babddf..c19794d435d6 100644 --- a/arch/um/sys-x86_64/Makefile +++ b/arch/um/sys-x86_64/Makefile | |||
@@ -16,11 +16,16 @@ subarch-obj-$(CONFIG_MODULES) += kernel/module.o | |||
16 | 16 | ||
17 | ldt-y = ../sys-i386/ldt.o | 17 | ldt-y = ../sys-i386/ldt.o |
18 | 18 | ||
19 | USER_OBJS := ptrace_user.o sigcontext.o stub_segv.o | 19 | USER_OBJS := ptrace_user.o sigcontext.o |
20 | 20 | ||
21 | include arch/um/scripts/Makefile.rules | 21 | USER_OBJS += user-offsets.s |
22 | extra-y += user-offsets.s | ||
22 | 23 | ||
23 | extra-$(CONFIG_MODE_TT) += unmap.o | 24 | extra-$(CONFIG_MODE_TT) += unmap.o |
24 | 25 | ||
25 | $(obj)/stub_segv.o $(obj)/unmap.o: \ | 26 | UNPROFILE_OBJS := stub_segv.o |
26 | _c_flags = $(call unprofile,$(CFLAGS)) | 27 | CFLAGS_stub_segv.o := $(CFLAGS_NO_HARDENING) |
28 | |||
29 | include arch/um/scripts/Makefile.rules | ||
30 | |||
31 | $(obj)/unmap.%: _c_flags = $(call unprofile,$(CFLAGS)) | ||
diff --git a/arch/um/sys-x86_64/stub_segv.c b/arch/um/sys-x86_64/stub_segv.c index a27099533198..1c967026c957 100644 --- a/arch/um/sys-x86_64/stub_segv.c +++ b/arch/um/sys-x86_64/stub_segv.c | |||
@@ -33,7 +33,7 @@ stub_segv_handler(int sig) | |||
33 | struct ucontext *uc; | 33 | struct ucontext *uc; |
34 | int pid; | 34 | int pid; |
35 | 35 | ||
36 | __asm__("movq %%rdx, %0" : "=g" (uc) :); | 36 | __asm__ __volatile__("movq %%rdx, %0" : "=g" (uc) :); |
37 | GET_FAULTINFO_FROM_SC(*((struct faultinfo *) UML_CONFIG_STUB_DATA), | 37 | GET_FAULTINFO_FROM_SC(*((struct faultinfo *) UML_CONFIG_STUB_DATA), |
38 | &uc->uc_mcontext); | 38 | &uc->uc_mcontext); |
39 | 39 | ||
@@ -44,8 +44,8 @@ stub_segv_handler(int sig) | |||
44 | * the signal frame. So, we use the ucontext pointer, which we know | 44 | * the signal frame. So, we use the ucontext pointer, which we know |
45 | * already, to get the signal frame pointer, and add 8 to that. | 45 | * already, to get the signal frame pointer, and add 8 to that. |
46 | */ | 46 | */ |
47 | __asm__("movq %0, %%rsp; movq %1, %%rax ; syscall": : | 47 | __asm__ __volatile__("movq %0, %%rsp; movq %1, %%rax ; syscall": : |
48 | "g" ((unsigned long) container_of(uc, struct rt_sigframe, | 48 | "g" ((unsigned long) |
49 | uc) + 8), | 49 | container_of(uc, struct rt_sigframe, uc) + 8), |
50 | "g" (__NR_rt_sigreturn)); | 50 | "g" (__NR_rt_sigreturn)); |
51 | } | 51 | } |
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig index 3c45ec22b3fe..69db0c0721d1 100644 --- a/arch/x86_64/defconfig +++ b/arch/x86_64/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc1 | 3 | # Linux kernel version: 2.6.17-rc1-git11 |
4 | # Mon Apr 3 16:11:14 2006 | 4 | # Sun Apr 16 07:22:36 2006 |
5 | # | 5 | # |
6 | CONFIG_X86_64=y | 6 | CONFIG_X86_64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -57,6 +57,7 @@ CONFIG_FUTEX=y | |||
57 | CONFIG_EPOLL=y | 57 | CONFIG_EPOLL=y |
58 | CONFIG_SHMEM=y | 58 | CONFIG_SHMEM=y |
59 | CONFIG_SLAB=y | 59 | CONFIG_SLAB=y |
60 | CONFIG_DOUBLEFAULT=y | ||
60 | # CONFIG_TINY_SHMEM is not set | 61 | # CONFIG_TINY_SHMEM is not set |
61 | CONFIG_BASE_SMALL=0 | 62 | CONFIG_BASE_SMALL=0 |
62 | # CONFIG_SLOB is not set | 63 | # CONFIG_SLOB is not set |
@@ -121,6 +122,7 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
121 | CONFIG_PREEMPT_BKL=y | 122 | CONFIG_PREEMPT_BKL=y |
122 | CONFIG_NUMA=y | 123 | CONFIG_NUMA=y |
123 | CONFIG_K8_NUMA=y | 124 | CONFIG_K8_NUMA=y |
125 | CONFIG_NODES_SHIFT=6 | ||
124 | CONFIG_X86_64_ACPI_NUMA=y | 126 | CONFIG_X86_64_ACPI_NUMA=y |
125 | CONFIG_NUMA_EMU=y | 127 | CONFIG_NUMA_EMU=y |
126 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | 128 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y |
@@ -544,7 +546,6 @@ CONFIG_SCSI_SATA_INTEL_COMBINED=y | |||
544 | # CONFIG_SCSI_INIA100 is not set | 546 | # CONFIG_SCSI_INIA100 is not set |
545 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 547 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
546 | # CONFIG_SCSI_IPR is not set | 548 | # CONFIG_SCSI_IPR is not set |
547 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
548 | # CONFIG_SCSI_QLOGIC_1280 is not set | 549 | # CONFIG_SCSI_QLOGIC_1280 is not set |
549 | # CONFIG_SCSI_QLA_FC is not set | 550 | # CONFIG_SCSI_QLA_FC is not set |
550 | # CONFIG_SCSI_LPFC is not set | 551 | # CONFIG_SCSI_LPFC is not set |
@@ -1045,9 +1046,7 @@ CONFIG_USB_HIDINPUT=y | |||
1045 | # CONFIG_USB_ACECAD is not set | 1046 | # CONFIG_USB_ACECAD is not set |
1046 | # CONFIG_USB_KBTAB is not set | 1047 | # CONFIG_USB_KBTAB is not set |
1047 | # CONFIG_USB_POWERMATE is not set | 1048 | # CONFIG_USB_POWERMATE is not set |
1048 | # CONFIG_USB_MTOUCH is not set | 1049 | # CONFIG_USB_TOUCHSCREEN is not set |
1049 | # CONFIG_USB_ITMTOUCH is not set | ||
1050 | # CONFIG_USB_EGALAX is not set | ||
1051 | # CONFIG_USB_YEALINK is not set | 1050 | # CONFIG_USB_YEALINK is not set |
1052 | # CONFIG_USB_XPAD is not set | 1051 | # CONFIG_USB_XPAD is not set |
1053 | # CONFIG_USB_ATI_REMOTE is not set | 1052 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -1118,6 +1117,14 @@ CONFIG_USB_MON=y | |||
1118 | # CONFIG_NEW_LEDS is not set | 1117 | # CONFIG_NEW_LEDS is not set |
1119 | 1118 | ||
1120 | # | 1119 | # |
1120 | # LED drivers | ||
1121 | # | ||
1122 | |||
1123 | # | ||
1124 | # LED Triggers | ||
1125 | # | ||
1126 | |||
1127 | # | ||
1121 | # InfiniBand support | 1128 | # InfiniBand support |
1122 | # | 1129 | # |
1123 | # CONFIG_INFINIBAND is not set | 1130 | # CONFIG_INFINIBAND is not set |
diff --git a/arch/x86_64/ia32/Makefile b/arch/x86_64/ia32/Makefile index 929e6b0771f8..e9263b4975e0 100644 --- a/arch/x86_64/ia32/Makefile +++ b/arch/x86_64/ia32/Makefile | |||
@@ -27,5 +27,5 @@ $(obj)/vsyscall-sysenter.so $(obj)/vsyscall-syscall.so: \ | |||
27 | $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE | 27 | $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE |
28 | $(call if_changed,syscall) | 28 | $(call if_changed,syscall) |
29 | 29 | ||
30 | AFLAGS_vsyscall-sysenter.o = -m32 | 30 | AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32 |
31 | AFLAGS_vsyscall-syscall.o = -m32 | 31 | AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 |
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S index 5a9802676689..5a92fed2d1d5 100644 --- a/arch/x86_64/ia32/ia32entry.S +++ b/arch/x86_64/ia32/ia32entry.S | |||
@@ -694,4 +694,6 @@ ia32_sys_call_table: | |||
694 | .quad compat_sys_get_robust_list | 694 | .quad compat_sys_get_robust_list |
695 | .quad sys_splice | 695 | .quad sys_splice |
696 | .quad sys_sync_file_range | 696 | .quad sys_sync_file_range |
697 | .quad sys_tee | ||
698 | .quad compat_sys_vmsplice | ||
697 | ia32_syscall_end: | 699 | ia32_syscall_end: |
diff --git a/arch/x86_64/kernel/kprobes.c b/arch/x86_64/kernel/kprobes.c index accbff3fec49..1eaa5dae6174 100644 --- a/arch/x86_64/kernel/kprobes.c +++ b/arch/x86_64/kernel/kprobes.c | |||
@@ -53,7 +53,7 @@ DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); | |||
53 | /* | 53 | /* |
54 | * returns non-zero if opcode modifies the interrupt flag. | 54 | * returns non-zero if opcode modifies the interrupt flag. |
55 | */ | 55 | */ |
56 | static inline int is_IF_modifier(kprobe_opcode_t *insn) | 56 | static __always_inline int is_IF_modifier(kprobe_opcode_t *insn) |
57 | { | 57 | { |
58 | switch (*insn) { | 58 | switch (*insn) { |
59 | case 0xfa: /* cli */ | 59 | case 0xfa: /* cli */ |
@@ -84,7 +84,7 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p) | |||
84 | * If it does, return the address of the 32-bit displacement word. | 84 | * If it does, return the address of the 32-bit displacement word. |
85 | * If not, return null. | 85 | * If not, return null. |
86 | */ | 86 | */ |
87 | static inline s32 *is_riprel(u8 *insn) | 87 | static s32 __kprobes *is_riprel(u8 *insn) |
88 | { | 88 | { |
89 | #define W(row,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf) \ | 89 | #define W(row,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf) \ |
90 | (((b0##UL << 0x0)|(b1##UL << 0x1)|(b2##UL << 0x2)|(b3##UL << 0x3) | \ | 90 | (((b0##UL << 0x0)|(b1##UL << 0x1)|(b2##UL << 0x2)|(b3##UL << 0x3) | \ |
@@ -229,7 +229,7 @@ void __kprobes arch_remove_kprobe(struct kprobe *p) | |||
229 | mutex_unlock(&kprobe_mutex); | 229 | mutex_unlock(&kprobe_mutex); |
230 | } | 230 | } |
231 | 231 | ||
232 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | 232 | static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) |
233 | { | 233 | { |
234 | kcb->prev_kprobe.kp = kprobe_running(); | 234 | kcb->prev_kprobe.kp = kprobe_running(); |
235 | kcb->prev_kprobe.status = kcb->kprobe_status; | 235 | kcb->prev_kprobe.status = kcb->kprobe_status; |
@@ -237,7 +237,7 @@ static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | |||
237 | kcb->prev_kprobe.saved_rflags = kcb->kprobe_saved_rflags; | 237 | kcb->prev_kprobe.saved_rflags = kcb->kprobe_saved_rflags; |
238 | } | 238 | } |
239 | 239 | ||
240 | static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | 240 | static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) |
241 | { | 241 | { |
242 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; | 242 | __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; |
243 | kcb->kprobe_status = kcb->prev_kprobe.status; | 243 | kcb->kprobe_status = kcb->prev_kprobe.status; |
@@ -245,7 +245,7 @@ static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | |||
245 | kcb->kprobe_saved_rflags = kcb->prev_kprobe.saved_rflags; | 245 | kcb->kprobe_saved_rflags = kcb->prev_kprobe.saved_rflags; |
246 | } | 246 | } |
247 | 247 | ||
248 | static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | 248 | static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, |
249 | struct kprobe_ctlblk *kcb) | 249 | struct kprobe_ctlblk *kcb) |
250 | { | 250 | { |
251 | __get_cpu_var(current_kprobe) = p; | 251 | __get_cpu_var(current_kprobe) = p; |
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index 6f0790e8b6d3..c69fc43cee7b 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c | |||
@@ -629,7 +629,7 @@ static __cpuinit void mce_remove_device(unsigned int cpu) | |||
629 | #endif | 629 | #endif |
630 | 630 | ||
631 | /* Get notified when a cpu comes on/off. Be hotplug friendly. */ | 631 | /* Get notified when a cpu comes on/off. Be hotplug friendly. */ |
632 | static __cpuinit int | 632 | static int |
633 | mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | 633 | mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) |
634 | { | 634 | { |
635 | unsigned int cpu = (unsigned long)hcpu; | 635 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c index d3ad7d81266d..d13b241ad094 100644 --- a/arch/x86_64/kernel/mce_amd.c +++ b/arch/x86_64/kernel/mce_amd.c | |||
@@ -482,7 +482,7 @@ static void threshold_remove_device(unsigned int cpu) | |||
482 | #endif | 482 | #endif |
483 | 483 | ||
484 | /* get notified when a cpu comes on/off */ | 484 | /* get notified when a cpu comes on/off */ |
485 | static __cpuinit int threshold_cpu_callback(struct notifier_block *nfb, | 485 | static int threshold_cpu_callback(struct notifier_block *nfb, |
486 | unsigned long action, void *hcpu) | 486 | unsigned long action, void *hcpu) |
487 | { | 487 | { |
488 | /* cpu was unsigned int to begin with */ | 488 | /* cpu was unsigned int to begin with */ |
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c index a6c01e121266..9d3d76c85ae7 100644 --- a/arch/x86_64/kernel/pci-gart.c +++ b/arch/x86_64/kernel/pci-gart.c | |||
@@ -112,10 +112,6 @@ static unsigned long alloc_iommu(int size) | |||
112 | static void free_iommu(unsigned long offset, int size) | 112 | static void free_iommu(unsigned long offset, int size) |
113 | { | 113 | { |
114 | unsigned long flags; | 114 | unsigned long flags; |
115 | if (size == 1) { | ||
116 | clear_bit(offset, iommu_gart_bitmap); | ||
117 | return; | ||
118 | } | ||
119 | spin_lock_irqsave(&iommu_bitmap_lock, flags); | 115 | spin_lock_irqsave(&iommu_bitmap_lock, flags); |
120 | __clear_bit_string(iommu_gart_bitmap, offset, size); | 116 | __clear_bit_string(iommu_gart_bitmap, offset, size); |
121 | spin_unlock_irqrestore(&iommu_bitmap_lock, flags); | 117 | spin_unlock_irqrestore(&iommu_bitmap_lock, flags); |
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index 1c44b53cb15b..fb903e65e079 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c | |||
@@ -575,8 +575,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) | |||
575 | prev->userrsp = read_pda(oldrsp); | 575 | prev->userrsp = read_pda(oldrsp); |
576 | write_pda(oldrsp, next->userrsp); | 576 | write_pda(oldrsp, next->userrsp); |
577 | write_pda(pcurrent, next_p); | 577 | write_pda(pcurrent, next_p); |
578 | |||
578 | /* This must be here to ensure both math_state_restore() and | 579 | /* This must be here to ensure both math_state_restore() and |
579 | kernel_fpu_begin() work consistently. */ | 580 | kernel_fpu_begin() work consistently. |
581 | And the AMD workaround requires it to be after DS reload. */ | ||
580 | unlazy_fpu(prev_p); | 582 | unlazy_fpu(prev_p); |
581 | write_pda(kernelstack, | 583 | write_pda(kernelstack, |
582 | task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET); | 584 | task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET); |
diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c index da8e7903d817..2d50024c9f30 100644 --- a/arch/x86_64/kernel/ptrace.c +++ b/arch/x86_64/kernel/ptrace.c | |||
@@ -600,12 +600,12 @@ asmlinkage void syscall_trace_enter(struct pt_regs *regs) | |||
600 | 600 | ||
601 | if (unlikely(current->audit_context)) { | 601 | if (unlikely(current->audit_context)) { |
602 | if (test_thread_flag(TIF_IA32)) { | 602 | if (test_thread_flag(TIF_IA32)) { |
603 | audit_syscall_entry(current, AUDIT_ARCH_I386, | 603 | audit_syscall_entry(AUDIT_ARCH_I386, |
604 | regs->orig_rax, | 604 | regs->orig_rax, |
605 | regs->rbx, regs->rcx, | 605 | regs->rbx, regs->rcx, |
606 | regs->rdx, regs->rsi); | 606 | regs->rdx, regs->rsi); |
607 | } else { | 607 | } else { |
608 | audit_syscall_entry(current, AUDIT_ARCH_X86_64, | 608 | audit_syscall_entry(AUDIT_ARCH_X86_64, |
609 | regs->orig_rax, | 609 | regs->orig_rax, |
610 | regs->rdi, regs->rsi, | 610 | regs->rdi, regs->rsi, |
611 | regs->rdx, regs->r10); | 611 | regs->rdx, regs->r10); |
@@ -616,7 +616,7 @@ asmlinkage void syscall_trace_enter(struct pt_regs *regs) | |||
616 | asmlinkage void syscall_trace_leave(struct pt_regs *regs) | 616 | asmlinkage void syscall_trace_leave(struct pt_regs *regs) |
617 | { | 617 | { |
618 | if (unlikely(current->audit_context)) | 618 | if (unlikely(current->audit_context)) |
619 | audit_syscall_exit(current, AUDITSC_RESULT(regs->rax), regs->rax); | 619 | audit_syscall_exit(AUDITSC_RESULT(regs->rax), regs->rax); |
620 | 620 | ||
621 | if ((test_thread_flag(TIF_SYSCALL_TRACE) | 621 | if ((test_thread_flag(TIF_SYSCALL_TRACE) |
622 | || test_thread_flag(TIF_SINGLESTEP)) | 622 | || test_thread_flag(TIF_SINGLESTEP)) |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index c50b06765a80..ebc3c33b1c6c 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -930,6 +930,10 @@ static int __init init_amd(struct cpuinfo_x86 *c) | |||
930 | if (c->x86 == 15 && ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58)) | 930 | if (c->x86 == 15 && ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58)) |
931 | set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability); | 931 | set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability); |
932 | 932 | ||
933 | /* Enable workaround for FXSAVE leak */ | ||
934 | if (c->x86 >= 6) | ||
935 | set_bit(X86_FEATURE_FXSAVE_LEAK, &c->x86_capability); | ||
936 | |||
933 | r = get_model_name(c); | 937 | r = get_model_name(c); |
934 | if (!r) { | 938 | if (!r) { |
935 | switch (c->x86) { | 939 | switch (c->x86) { |
@@ -1422,3 +1426,22 @@ struct seq_operations cpuinfo_op = { | |||
1422 | .show = show_cpuinfo, | 1426 | .show = show_cpuinfo, |
1423 | }; | 1427 | }; |
1424 | 1428 | ||
1429 | #ifdef CONFIG_INPUT_PCSPKR | ||
1430 | #include <linux/platform_device.h> | ||
1431 | static __init int add_pcspkr(void) | ||
1432 | { | ||
1433 | struct platform_device *pd; | ||
1434 | int ret; | ||
1435 | |||
1436 | pd = platform_device_alloc("pcspkr", -1); | ||
1437 | if (!pd) | ||
1438 | return -ENOMEM; | ||
1439 | |||
1440 | ret = platform_device_add(pd); | ||
1441 | if (ret) | ||
1442 | platform_device_put(pd); | ||
1443 | |||
1444 | return ret; | ||
1445 | } | ||
1446 | device_initcall(add_pcspkr); | ||
1447 | #endif | ||
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 6bda322d3caf..2700b1375c1f 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/moduleparam.h> | 30 | #include <linux/moduleparam.h> |
31 | #include <linux/nmi.h> | 31 | #include <linux/nmi.h> |
32 | #include <linux/kprobes.h> | 32 | #include <linux/kprobes.h> |
33 | #include <linux/kexec.h> | ||
33 | 34 | ||
34 | #include <asm/system.h> | 35 | #include <asm/system.h> |
35 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
@@ -433,6 +434,8 @@ void __kprobes __die(const char * str, struct pt_regs * regs, long err) | |||
433 | printk(KERN_ALERT "RIP "); | 434 | printk(KERN_ALERT "RIP "); |
434 | printk_address(regs->rip); | 435 | printk_address(regs->rip); |
435 | printk(" RSP <%016lx>\n", regs->rsp); | 436 | printk(" RSP <%016lx>\n", regs->rsp); |
437 | if (kexec_should_crash(current)) | ||
438 | crash_kexec(regs); | ||
436 | } | 439 | } |
437 | 440 | ||
438 | void die(const char * str, struct pt_regs * regs, long err) | 441 | void die(const char * str, struct pt_regs * regs, long err) |
@@ -455,6 +458,8 @@ void __kprobes die_nmi(char *str, struct pt_regs *regs) | |||
455 | */ | 458 | */ |
456 | printk(str, safe_smp_processor_id()); | 459 | printk(str, safe_smp_processor_id()); |
457 | show_registers(regs); | 460 | show_registers(regs); |
461 | if (kexec_should_crash(current)) | ||
462 | crash_kexec(regs); | ||
458 | if (panic_on_timeout || panic_on_oops) | 463 | if (panic_on_timeout || panic_on_oops) |
459 | panic("nmi watchdog"); | 464 | panic("nmi watchdog"); |
460 | printk("console shuts up ...\n"); | 465 | printk("console shuts up ...\n"); |
diff --git a/arch/x86_64/mm/numa.c b/arch/x86_64/mm/numa.c index cc02573a3271..b2fac14baac0 100644 --- a/arch/x86_64/mm/numa.c +++ b/arch/x86_64/mm/numa.c | |||
@@ -188,11 +188,13 @@ void __init setup_node_zones(int nodeid) | |||
188 | memory. */ | 188 | memory. */ |
189 | memmapsize = sizeof(struct page) * (end_pfn-start_pfn); | 189 | memmapsize = sizeof(struct page) * (end_pfn-start_pfn); |
190 | limit = end_pfn << PAGE_SHIFT; | 190 | limit = end_pfn << PAGE_SHIFT; |
191 | #ifdef CONFIG_FLAT_NODE_MEM_MAP | ||
191 | NODE_DATA(nodeid)->node_mem_map = | 192 | NODE_DATA(nodeid)->node_mem_map = |
192 | __alloc_bootmem_core(NODE_DATA(nodeid)->bdata, | 193 | __alloc_bootmem_core(NODE_DATA(nodeid)->bdata, |
193 | memmapsize, SMP_CACHE_BYTES, | 194 | memmapsize, SMP_CACHE_BYTES, |
194 | round_down(limit - memmapsize, PAGE_SIZE), | 195 | round_down(limit - memmapsize, PAGE_SIZE), |
195 | limit); | 196 | limit); |
197 | #endif | ||
196 | 198 | ||
197 | size_zones(zones, holes, start_pfn, end_pfn); | 199 | size_zones(zones, holes, start_pfn, end_pfn); |
198 | free_area_init_node(nodeid, NODE_DATA(nodeid), zones, | 200 | free_area_init_node(nodeid, NODE_DATA(nodeid), zones, |