diff options
Diffstat (limited to 'arch/powerpc')
| -rw-r--r-- | arch/powerpc/configs/g5_defconfig | 58 | ||||
| -rw-r--r-- | arch/powerpc/configs/iseries_defconfig | 43 | ||||
| -rw-r--r-- | arch/powerpc/configs/pseries_defconfig | 54 | ||||
| -rw-r--r-- | arch/powerpc/kernel/iommu.c | 36 | ||||
| -rw-r--r-- | arch/powerpc/kernel/pci_iommu.c | 40 | ||||
| -rw-r--r-- | arch/powerpc/kernel/ppc_ksyms.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/kernel/prom.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/kernel/sysfs.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/systbl.S | 6 | ||||
| -rw-r--r-- | arch/powerpc/kernel/vio.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/platforms/cell/spu_callbacks.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/platforms/powermac/low_i2c.c | 78 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/dart_iommu.c | 12 |
13 files changed, 202 insertions, 144 deletions
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/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/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/sysfs.c b/arch/powerpc/kernel/sysfs.c index 73560ef6f802..ed737cacf92d 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 | ||
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index a14c96403840..0b98eea73c5e 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S | |||
| @@ -324,3 +324,9 @@ 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 | |||
| 329 | /* | ||
| 330 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c | ||
| 331 | * as well when appropriate. | ||
| 332 | */ | ||
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/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c index 6594bec73882..b283380a2a18 100644 --- a/arch/powerpc/platforms/cell/spu_callbacks.c +++ b/arch/powerpc/platforms/cell/spu_callbacks.c | |||
| @@ -317,17 +317,17 @@ 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, | ||
| 320 | }; | 322 | }; |
| 321 | 323 | ||
| 322 | long spu_sys_callback(struct spu_syscall_block *s) | 324 | long spu_sys_callback(struct spu_syscall_block *s) |
| 323 | { | 325 | { |
| 324 | long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); | 326 | long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); |
| 325 | 327 | ||
| 326 | BUILD_BUG_ON(ARRAY_SIZE(spu_syscall_table) != __NR_syscalls); | ||
| 327 | |||
| 328 | syscall = spu_syscall_table[s->nr_ret]; | 328 | syscall = spu_syscall_table[s->nr_ret]; |
| 329 | 329 | ||
| 330 | if (s->nr_ret >= __NR_syscalls) { | 330 | if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) { |
| 331 | pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); | 331 | pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); |
| 332 | return -ENOSYS; | 332 | return -ENOSYS; |
| 333 | } | 333 | } |
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/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. */ |
