diff options
Diffstat (limited to 'arch')
75 files changed, 1040 insertions, 664 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 6ab6b337a91..c5191b1532e 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
| @@ -685,8 +685,8 @@ proc_types: | |||
| 685 | W(b) __armv4_mmu_cache_off | 685 | W(b) __armv4_mmu_cache_off |
| 686 | W(b) __armv4_mmu_cache_flush | 686 | W(b) __armv4_mmu_cache_flush |
| 687 | 687 | ||
| 688 | .word 0x56056930 | 688 | .word 0x56056900 |
| 689 | .word 0xff0ffff0 @ PXA935 | 689 | .word 0xffffff00 @ PXA9xx |
| 690 | W(b) __armv4_mmu_cache_on | 690 | W(b) __armv4_mmu_cache_on |
| 691 | W(b) __armv4_mmu_cache_off | 691 | W(b) __armv4_mmu_cache_off |
| 692 | W(b) __armv4_mmu_cache_flush | 692 | W(b) __armv4_mmu_cache_flush |
| @@ -697,12 +697,6 @@ proc_types: | |||
| 697 | W(b) __armv4_mmu_cache_off | 697 | W(b) __armv4_mmu_cache_off |
| 698 | W(b) __armv5tej_mmu_cache_flush | 698 | W(b) __armv5tej_mmu_cache_flush |
| 699 | 699 | ||
| 700 | .word 0x56056930 | ||
| 701 | .word 0xff0ffff0 @ PXA935 | ||
| 702 | W(b) __armv4_mmu_cache_on | ||
| 703 | W(b) __armv4_mmu_cache_off | ||
| 704 | W(b) __armv4_mmu_cache_flush | ||
| 705 | |||
| 706 | .word 0x56050000 @ Feroceon | 700 | .word 0x56050000 @ Feroceon |
| 707 | .word 0xff0f0000 | 701 | .word 0xff0f0000 |
| 708 | W(b) __armv4_mmu_cache_on | 702 | W(b) __armv4_mmu_cache_on |
diff --git a/arch/arm/configs/imote2_defconfig b/arch/arm/configs/imote2_defconfig index 95d2becfc66..21f2bff8a36 100644 --- a/arch/arm/configs/imote2_defconfig +++ b/arch/arm/configs/imote2_defconfig | |||
| @@ -1,13 +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.33-rc8 | 3 | # Linux kernel version: 2.6.34-rc2 |
| 4 | # Sat Feb 13 21:48:53 2010 | 4 | # Thu Apr 8 14:49:08 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| 8 | CONFIG_GENERIC_GPIO=y | 8 | CONFIG_GENERIC_GPIO=y |
| 9 | CONFIG_GENERIC_TIME=y | 9 | CONFIG_GENERIC_TIME=y |
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | 10 | CONFIG_GENERIC_CLOCKEVENTS=y |
| 11 | CONFIG_HAVE_PROC_CPU=y | ||
| 11 | CONFIG_GENERIC_HARDIRQS=y | 12 | CONFIG_GENERIC_HARDIRQS=y |
| 12 | CONFIG_STACKTRACE_SUPPORT=y | 13 | CONFIG_STACKTRACE_SUPPORT=y |
| 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 14 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
| @@ -19,6 +20,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
| 19 | CONFIG_ARCH_HAS_CPUFREQ=y | 20 | CONFIG_ARCH_HAS_CPUFREQ=y |
| 20 | CONFIG_GENERIC_HWEIGHT=y | 21 | CONFIG_GENERIC_HWEIGHT=y |
| 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 22 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 23 | CONFIG_NEED_DMA_MAP_STATE=y | ||
| 22 | CONFIG_ARCH_MTD_XIP=y | 24 | CONFIG_ARCH_MTD_XIP=y |
| 23 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 25 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
| 24 | CONFIG_VECTORS_BASE=0xffff0000 | 26 | CONFIG_VECTORS_BASE=0xffff0000 |
| @@ -60,11 +62,6 @@ CONFIG_RCU_FANOUT=32 | |||
| 60 | # CONFIG_TREE_RCU_TRACE is not set | 62 | # CONFIG_TREE_RCU_TRACE is not set |
| 61 | # CONFIG_IKCONFIG is not set | 63 | # CONFIG_IKCONFIG is not set |
| 62 | CONFIG_LOG_BUF_SHIFT=14 | 64 | CONFIG_LOG_BUF_SHIFT=14 |
| 63 | CONFIG_GROUP_SCHED=y | ||
| 64 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 65 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 66 | CONFIG_USER_SCHED=y | ||
| 67 | # CONFIG_CGROUP_SCHED is not set | ||
| 68 | # CONFIG_CGROUPS is not set | 65 | # CONFIG_CGROUPS is not set |
| 69 | CONFIG_SYSFS_DEPRECATED=y | 66 | CONFIG_SYSFS_DEPRECATED=y |
| 70 | CONFIG_SYSFS_DEPRECATED_V2=y | 67 | CONFIG_SYSFS_DEPRECATED_V2=y |
| @@ -97,10 +94,14 @@ CONFIG_TIMERFD=y | |||
| 97 | CONFIG_EVENTFD=y | 94 | CONFIG_EVENTFD=y |
| 98 | CONFIG_SHMEM=y | 95 | CONFIG_SHMEM=y |
| 99 | CONFIG_AIO=y | 96 | CONFIG_AIO=y |
| 97 | CONFIG_HAVE_PERF_EVENTS=y | ||
| 98 | CONFIG_PERF_USE_VMALLOC=y | ||
| 100 | 99 | ||
| 101 | # | 100 | # |
| 102 | # Kernel Performance Events And Counters | 101 | # Kernel Performance Events And Counters |
| 103 | # | 102 | # |
| 103 | # CONFIG_PERF_EVENTS is not set | ||
| 104 | # CONFIG_PERF_COUNTERS is not set | ||
| 104 | CONFIG_VM_EVENT_COUNTERS=y | 105 | CONFIG_VM_EVENT_COUNTERS=y |
| 105 | # CONFIG_COMPAT_BRK is not set | 106 | # CONFIG_COMPAT_BRK is not set |
| 106 | CONFIG_SLAB=y | 107 | CONFIG_SLAB=y |
| @@ -184,6 +185,7 @@ CONFIG_MMU=y | |||
| 184 | # CONFIG_ARCH_REALVIEW is not set | 185 | # CONFIG_ARCH_REALVIEW is not set |
| 185 | # CONFIG_ARCH_VERSATILE is not set | 186 | # CONFIG_ARCH_VERSATILE is not set |
| 186 | # CONFIG_ARCH_AT91 is not set | 187 | # CONFIG_ARCH_AT91 is not set |
| 188 | # CONFIG_ARCH_BCMRING is not set | ||
| 187 | # CONFIG_ARCH_CLPS711X is not set | 189 | # CONFIG_ARCH_CLPS711X is not set |
| 188 | # CONFIG_ARCH_GEMINI is not set | 190 | # CONFIG_ARCH_GEMINI is not set |
| 189 | # CONFIG_ARCH_EBSA110 is not set | 191 | # CONFIG_ARCH_EBSA110 is not set |
| @@ -193,7 +195,6 @@ CONFIG_MMU=y | |||
| 193 | # CONFIG_ARCH_STMP3XXX is not set | 195 | # CONFIG_ARCH_STMP3XXX is not set |
| 194 | # CONFIG_ARCH_NETX is not set | 196 | # CONFIG_ARCH_NETX is not set |
| 195 | # CONFIG_ARCH_H720X is not set | 197 | # CONFIG_ARCH_H720X is not set |
| 196 | # CONFIG_ARCH_NOMADIK is not set | ||
| 197 | # CONFIG_ARCH_IOP13XX is not set | 198 | # CONFIG_ARCH_IOP13XX is not set |
| 198 | # CONFIG_ARCH_IOP32X is not set | 199 | # CONFIG_ARCH_IOP32X is not set |
| 199 | # CONFIG_ARCH_IOP33X is not set | 200 | # CONFIG_ARCH_IOP33X is not set |
| @@ -210,21 +211,26 @@ CONFIG_MMU=y | |||
| 210 | # CONFIG_ARCH_KS8695 is not set | 211 | # CONFIG_ARCH_KS8695 is not set |
| 211 | # CONFIG_ARCH_NS9XXX is not set | 212 | # CONFIG_ARCH_NS9XXX is not set |
| 212 | # CONFIG_ARCH_W90X900 is not set | 213 | # CONFIG_ARCH_W90X900 is not set |
| 214 | # CONFIG_ARCH_NUC93X is not set | ||
| 213 | # CONFIG_ARCH_PNX4008 is not set | 215 | # CONFIG_ARCH_PNX4008 is not set |
| 214 | CONFIG_ARCH_PXA=y | 216 | CONFIG_ARCH_PXA=y |
| 215 | # CONFIG_ARCH_MSM is not set | 217 | # CONFIG_ARCH_MSM is not set |
| 218 | # CONFIG_ARCH_SHMOBILE is not set | ||
| 216 | # CONFIG_ARCH_RPC is not set | 219 | # CONFIG_ARCH_RPC is not set |
| 217 | # CONFIG_ARCH_SA1100 is not set | 220 | # CONFIG_ARCH_SA1100 is not set |
| 218 | # CONFIG_ARCH_S3C2410 is not set | 221 | # CONFIG_ARCH_S3C2410 is not set |
| 219 | # CONFIG_ARCH_S3C64XX is not set | 222 | # CONFIG_ARCH_S3C64XX is not set |
| 223 | # CONFIG_ARCH_S5P6440 is not set | ||
| 224 | # CONFIG_ARCH_S5P6442 is not set | ||
| 220 | # CONFIG_ARCH_S5PC1XX is not set | 225 | # CONFIG_ARCH_S5PC1XX is not set |
| 226 | # CONFIG_ARCH_S5PV210 is not set | ||
| 221 | # CONFIG_ARCH_SHARK is not set | 227 | # CONFIG_ARCH_SHARK is not set |
| 222 | # CONFIG_ARCH_LH7A40X is not set | 228 | # CONFIG_ARCH_LH7A40X is not set |
| 223 | # CONFIG_ARCH_U300 is not set | 229 | # CONFIG_ARCH_U300 is not set |
| 230 | # CONFIG_ARCH_U8500 is not set | ||
| 231 | # CONFIG_ARCH_NOMADIK is not set | ||
| 224 | # CONFIG_ARCH_DAVINCI is not set | 232 | # CONFIG_ARCH_DAVINCI is not set |
| 225 | # CONFIG_ARCH_OMAP is not set | 233 | # CONFIG_ARCH_OMAP is not set |
| 226 | # CONFIG_ARCH_BCMRING is not set | ||
| 227 | # CONFIG_ARCH_U8500 is not set | ||
| 228 | 234 | ||
| 229 | # | 235 | # |
| 230 | # Intel PXA2xx/PXA3xx Implementations | 236 | # Intel PXA2xx/PXA3xx Implementations |
| @@ -253,6 +259,7 @@ CONFIG_ARCH_PXA=y | |||
| 253 | # CONFIG_MACH_EM_X270 is not set | 259 | # CONFIG_MACH_EM_X270 is not set |
| 254 | # CONFIG_MACH_EXEDA is not set | 260 | # CONFIG_MACH_EXEDA is not set |
| 255 | # CONFIG_MACH_CM_X300 is not set | 261 | # CONFIG_MACH_CM_X300 is not set |
| 262 | # CONFIG_MACH_CAPC7117 is not set | ||
| 256 | # CONFIG_ARCH_GUMSTIX is not set | 263 | # CONFIG_ARCH_GUMSTIX is not set |
| 257 | CONFIG_MACH_INTELMOTE2=y | 264 | CONFIG_MACH_INTELMOTE2=y |
| 258 | # CONFIG_MACH_STARGATE2 is not set | 265 | # CONFIG_MACH_STARGATE2 is not set |
| @@ -275,7 +282,11 @@ CONFIG_MACH_INTELMOTE2=y | |||
| 275 | # CONFIG_PXA_EZX is not set | 282 | # CONFIG_PXA_EZX is not set |
| 276 | # CONFIG_MACH_MP900C is not set | 283 | # CONFIG_MACH_MP900C is not set |
| 277 | # CONFIG_ARCH_PXA_PALM is not set | 284 | # CONFIG_ARCH_PXA_PALM is not set |
| 285 | # CONFIG_MACH_RAUMFELD_RC is not set | ||
| 286 | # CONFIG_MACH_RAUMFELD_CONNECTOR is not set | ||
| 287 | # CONFIG_MACH_RAUMFELD_SPEAKER is not set | ||
| 278 | # CONFIG_PXA_SHARPSL is not set | 288 | # CONFIG_PXA_SHARPSL is not set |
| 289 | # CONFIG_MACH_ICONTROL is not set | ||
| 279 | # CONFIG_ARCH_PXA_ESERIES is not set | 290 | # CONFIG_ARCH_PXA_ESERIES is not set |
| 280 | CONFIG_PXA27x=y | 291 | CONFIG_PXA27x=y |
| 281 | CONFIG_PXA_SSP=y | 292 | CONFIG_PXA_SSP=y |
| @@ -302,6 +313,7 @@ CONFIG_ARM_THUMB=y | |||
| 302 | CONFIG_ARM_L1_CACHE_SHIFT=5 | 313 | CONFIG_ARM_L1_CACHE_SHIFT=5 |
| 303 | CONFIG_IWMMXT=y | 314 | CONFIG_IWMMXT=y |
| 304 | CONFIG_XSCALE_PMU=y | 315 | CONFIG_XSCALE_PMU=y |
| 316 | CONFIG_CPU_HAS_PMU=y | ||
| 305 | CONFIG_COMMON_CLKDEV=y | 317 | CONFIG_COMMON_CLKDEV=y |
| 306 | 318 | ||
| 307 | # | 319 | # |
| @@ -352,7 +364,7 @@ CONFIG_ALIGNMENT_TRAP=y | |||
| 352 | # | 364 | # |
| 353 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 365 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
| 354 | CONFIG_ZBOOT_ROM_BSS=0x0 | 366 | CONFIG_ZBOOT_ROM_BSS=0x0 |
| 355 | CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug" | 367 | CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS2,115200 mem=32M" |
| 356 | # CONFIG_XIP_KERNEL is not set | 368 | # CONFIG_XIP_KERNEL is not set |
| 357 | CONFIG_KEXEC=y | 369 | CONFIG_KEXEC=y |
| 358 | CONFIG_ATAGS_PROC=y | 370 | CONFIG_ATAGS_PROC=y |
| @@ -360,24 +372,8 @@ CONFIG_ATAGS_PROC=y | |||
| 360 | # | 372 | # |
| 361 | # CPU Power Management | 373 | # CPU Power Management |
| 362 | # | 374 | # |
| 363 | CONFIG_CPU_FREQ=y | 375 | # CONFIG_CPU_FREQ is not set |
| 364 | CONFIG_CPU_FREQ_TABLE=y | 376 | # CONFIG_CPU_IDLE is not set |
| 365 | CONFIG_CPU_FREQ_DEBUG=y | ||
| 366 | CONFIG_CPU_FREQ_STAT=y | ||
| 367 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
| 368 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
| 369 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
| 370 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
| 371 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
| 372 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
| 373 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
| 374 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m | ||
| 375 | CONFIG_CPU_FREQ_GOV_USERSPACE=m | ||
| 376 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m | ||
| 377 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | ||
| 378 | CONFIG_CPU_IDLE=y | ||
| 379 | CONFIG_CPU_IDLE_GOV_LADDER=y | ||
| 380 | CONFIG_CPU_IDLE_GOV_MENU=y | ||
| 381 | 377 | ||
| 382 | # | 378 | # |
| 383 | # Floating point emulation | 379 | # Floating point emulation |
| @@ -409,6 +405,7 @@ CONFIG_SUSPEND=y | |||
| 409 | CONFIG_SUSPEND_FREEZER=y | 405 | CONFIG_SUSPEND_FREEZER=y |
| 410 | CONFIG_APM_EMULATION=y | 406 | CONFIG_APM_EMULATION=y |
| 411 | CONFIG_PM_RUNTIME=y | 407 | CONFIG_PM_RUNTIME=y |
| 408 | CONFIG_PM_OPS=y | ||
| 412 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 409 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 413 | CONFIG_NET=y | 410 | CONFIG_NET=y |
| 414 | 411 | ||
| @@ -416,7 +413,6 @@ CONFIG_NET=y | |||
| 416 | # Networking options | 413 | # Networking options |
| 417 | # | 414 | # |
| 418 | CONFIG_PACKET=y | 415 | CONFIG_PACKET=y |
| 419 | CONFIG_PACKET_MMAP=y | ||
| 420 | CONFIG_UNIX=y | 416 | CONFIG_UNIX=y |
| 421 | CONFIG_XFRM=y | 417 | CONFIG_XFRM=y |
| 422 | # CONFIG_XFRM_USER is not set | 418 | # CONFIG_XFRM_USER is not set |
| @@ -506,6 +502,7 @@ CONFIG_NF_CT_NETLINK=m | |||
| 506 | CONFIG_NETFILTER_XTABLES=m | 502 | CONFIG_NETFILTER_XTABLES=m |
| 507 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 503 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
| 508 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set | 504 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set |
| 505 | # CONFIG_NETFILTER_XT_TARGET_CT is not set | ||
| 509 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 506 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
| 510 | CONFIG_NETFILTER_XT_TARGET_HL=m | 507 | CONFIG_NETFILTER_XT_TARGET_HL=m |
| 511 | CONFIG_NETFILTER_XT_TARGET_LED=m | 508 | CONFIG_NETFILTER_XT_TARGET_LED=m |
| @@ -622,6 +619,7 @@ CONFIG_IP6_NF_RAW=m | |||
| 622 | # CONFIG_ATM is not set | 619 | # CONFIG_ATM is not set |
| 623 | CONFIG_STP=m | 620 | CONFIG_STP=m |
| 624 | CONFIG_BRIDGE=m | 621 | CONFIG_BRIDGE=m |
| 622 | # CONFIG_BRIDGE_IGMP_SNOOPING is not set | ||
| 625 | # CONFIG_NET_DSA is not set | 623 | # CONFIG_NET_DSA is not set |
| 626 | # CONFIG_VLAN_8021Q is not set | 624 | # CONFIG_VLAN_8021Q is not set |
| 627 | # CONFIG_DECNET is not set | 625 | # CONFIG_DECNET is not set |
| @@ -646,32 +644,7 @@ CONFIG_NET_CLS_ROUTE=y | |||
| 646 | # CONFIG_HAMRADIO is not set | 644 | # CONFIG_HAMRADIO is not set |
| 647 | # CONFIG_CAN is not set | 645 | # CONFIG_CAN is not set |
| 648 | # CONFIG_IRDA is not set | 646 | # CONFIG_IRDA is not set |
| 649 | CONFIG_BT=y | 647 | # CONFIG_BT is not set |
| 650 | CONFIG_BT_L2CAP=y | ||
| 651 | CONFIG_BT_SCO=y | ||
| 652 | CONFIG_BT_RFCOMM=y | ||
| 653 | CONFIG_BT_RFCOMM_TTY=y | ||
| 654 | CONFIG_BT_BNEP=y | ||
| 655 | CONFIG_BT_BNEP_MC_FILTER=y | ||
| 656 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
| 657 | CONFIG_BT_HIDP=y | ||
| 658 | |||
| 659 | # | ||
| 660 | # Bluetooth device drivers | ||
| 661 | # | ||
| 662 | CONFIG_BT_HCIBTUSB=m | ||
| 663 | CONFIG_BT_HCIBTSDIO=m | ||
| 664 | CONFIG_BT_HCIUART=y | ||
| 665 | CONFIG_BT_HCIUART_H4=y | ||
| 666 | # CONFIG_BT_HCIUART_BCSP is not set | ||
| 667 | # CONFIG_BT_HCIUART_LL is not set | ||
| 668 | CONFIG_BT_HCIBCM203X=m | ||
| 669 | CONFIG_BT_HCIBPA10X=m | ||
| 670 | CONFIG_BT_HCIBFUSB=m | ||
| 671 | CONFIG_BT_HCIVHCI=m | ||
| 672 | CONFIG_BT_MRVL=m | ||
| 673 | CONFIG_BT_MRVL_SDIO=m | ||
| 674 | # CONFIG_BT_ATH3K is not set | ||
| 675 | # CONFIG_AF_RXRPC is not set | 648 | # CONFIG_AF_RXRPC is not set |
| 676 | CONFIG_FIB_RULES=y | 649 | CONFIG_FIB_RULES=y |
| 677 | # CONFIG_WIRELESS is not set | 650 | # CONFIG_WIRELESS is not set |
| @@ -687,7 +660,8 @@ CONFIG_FIB_RULES=y | |||
| 687 | # Generic Driver Options | 660 | # Generic Driver Options |
| 688 | # | 661 | # |
| 689 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 662 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
| 690 | # CONFIG_DEVTMPFS is not set | 663 | CONFIG_DEVTMPFS=y |
| 664 | CONFIG_DEVTMPFS_MOUNT=y | ||
| 691 | CONFIG_STANDALONE=y | 665 | CONFIG_STANDALONE=y |
| 692 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 666 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
| 693 | CONFIG_FW_LOADER=m | 667 | CONFIG_FW_LOADER=m |
| @@ -703,9 +677,9 @@ CONFIG_MTD=y | |||
| 703 | # CONFIG_MTD_CONCAT is not set | 677 | # CONFIG_MTD_CONCAT is not set |
| 704 | CONFIG_MTD_PARTITIONS=y | 678 | CONFIG_MTD_PARTITIONS=y |
| 705 | # CONFIG_MTD_REDBOOT_PARTS is not set | 679 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 706 | # CONFIG_MTD_CMDLINE_PARTS is not set | 680 | CONFIG_MTD_CMDLINE_PARTS=y |
| 707 | # CONFIG_MTD_AFS_PARTS is not set | 681 | CONFIG_MTD_AFS_PARTS=y |
| 708 | # CONFIG_MTD_AR7_PARTS is not set | 682 | CONFIG_MTD_AR7_PARTS=y |
| 709 | 683 | ||
| 710 | # | 684 | # |
| 711 | # User Modules And Translation Layers | 685 | # User Modules And Translation Layers |
| @@ -812,6 +786,7 @@ CONFIG_HAVE_IDE=y | |||
| 812 | # | 786 | # |
| 813 | # SCSI device support | 787 | # SCSI device support |
| 814 | # | 788 | # |
| 789 | CONFIG_SCSI_MOD=y | ||
| 815 | # CONFIG_RAID_ATTRS is not set | 790 | # CONFIG_RAID_ATTRS is not set |
| 816 | # CONFIG_SCSI is not set | 791 | # CONFIG_SCSI is not set |
| 817 | # CONFIG_SCSI_DMA is not set | 792 | # CONFIG_SCSI_DMA is not set |
| @@ -965,6 +940,7 @@ CONFIG_SERIAL_PXA=y | |||
| 965 | CONFIG_SERIAL_PXA_CONSOLE=y | 940 | CONFIG_SERIAL_PXA_CONSOLE=y |
| 966 | CONFIG_SERIAL_CORE=y | 941 | CONFIG_SERIAL_CORE=y |
| 967 | CONFIG_SERIAL_CORE_CONSOLE=y | 942 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 943 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
| 968 | CONFIG_UNIX98_PTYS=y | 944 | CONFIG_UNIX98_PTYS=y |
| 969 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 945 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
| 970 | CONFIG_LEGACY_PTYS=y | 946 | CONFIG_LEGACY_PTYS=y |
| @@ -993,6 +969,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
| 993 | CONFIG_I2C_PXA=y | 969 | CONFIG_I2C_PXA=y |
| 994 | # CONFIG_I2C_PXA_SLAVE is not set | 970 | # CONFIG_I2C_PXA_SLAVE is not set |
| 995 | # CONFIG_I2C_SIMTEC is not set | 971 | # CONFIG_I2C_SIMTEC is not set |
| 972 | # CONFIG_I2C_XILINX is not set | ||
| 996 | 973 | ||
| 997 | # | 974 | # |
| 998 | # External I2C/SMBus adapter drivers | 975 | # External I2C/SMBus adapter drivers |
| @@ -1006,15 +983,9 @@ CONFIG_I2C_PXA=y | |||
| 1006 | # | 983 | # |
| 1007 | # CONFIG_I2C_PCA_PLATFORM is not set | 984 | # CONFIG_I2C_PCA_PLATFORM is not set |
| 1008 | # CONFIG_I2C_STUB is not set | 985 | # CONFIG_I2C_STUB is not set |
| 1009 | |||
| 1010 | # | ||
| 1011 | # Miscellaneous I2C Chip support | ||
| 1012 | # | ||
| 1013 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 1014 | # CONFIG_I2C_DEBUG_CORE is not set | 986 | # CONFIG_I2C_DEBUG_CORE is not set |
| 1015 | # CONFIG_I2C_DEBUG_ALGO is not set | 987 | # CONFIG_I2C_DEBUG_ALGO is not set |
| 1016 | # CONFIG_I2C_DEBUG_BUS is not set | 988 | # CONFIG_I2C_DEBUG_BUS is not set |
| 1017 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 1018 | CONFIG_SPI=y | 989 | CONFIG_SPI=y |
| 1019 | # CONFIG_SPI_DEBUG is not set | 990 | # CONFIG_SPI_DEBUG is not set |
| 1020 | CONFIG_SPI_MASTER=y | 991 | CONFIG_SPI_MASTER=y |
| @@ -1046,10 +1017,12 @@ CONFIG_GPIO_SYSFS=y | |||
| 1046 | # | 1017 | # |
| 1047 | # Memory mapped GPIO expanders: | 1018 | # Memory mapped GPIO expanders: |
| 1048 | # | 1019 | # |
| 1020 | # CONFIG_GPIO_IT8761E is not set | ||
| 1049 | 1021 | ||
| 1050 | # | 1022 | # |
| 1051 | # I2C GPIO expanders: | 1023 | # I2C GPIO expanders: |
| 1052 | # | 1024 | # |
| 1025 | # CONFIG_GPIO_MAX7300 is not set | ||
| 1053 | # CONFIG_GPIO_MAX732X is not set | 1026 | # CONFIG_GPIO_MAX732X is not set |
| 1054 | # CONFIG_GPIO_PCA953X is not set | 1027 | # CONFIG_GPIO_PCA953X is not set |
| 1055 | # CONFIG_GPIO_PCF857X is not set | 1028 | # CONFIG_GPIO_PCF857X is not set |
| @@ -1093,10 +1066,12 @@ CONFIG_SSB_POSSIBLE=y | |||
| 1093 | # Multifunction device drivers | 1066 | # Multifunction device drivers |
| 1094 | # | 1067 | # |
| 1095 | # CONFIG_MFD_CORE is not set | 1068 | # CONFIG_MFD_CORE is not set |
| 1069 | # CONFIG_MFD_88PM860X is not set | ||
| 1096 | # CONFIG_MFD_SM501 is not set | 1070 | # CONFIG_MFD_SM501 is not set |
| 1097 | # CONFIG_MFD_ASIC3 is not set | 1071 | # CONFIG_MFD_ASIC3 is not set |
| 1098 | # CONFIG_HTC_EGPIO is not set | 1072 | # CONFIG_HTC_EGPIO is not set |
| 1099 | # CONFIG_HTC_PASIC3 is not set | 1073 | # CONFIG_HTC_PASIC3 is not set |
| 1074 | # CONFIG_HTC_I2CPLD is not set | ||
| 1100 | # CONFIG_TPS65010 is not set | 1075 | # CONFIG_TPS65010 is not set |
| 1101 | # CONFIG_TWL4030_CORE is not set | 1076 | # CONFIG_TWL4030_CORE is not set |
| 1102 | # CONFIG_MFD_TMIO is not set | 1077 | # CONFIG_MFD_TMIO is not set |
| @@ -1105,22 +1080,25 @@ CONFIG_SSB_POSSIBLE=y | |||
| 1105 | # CONFIG_MFD_TC6393XB is not set | 1080 | # CONFIG_MFD_TC6393XB is not set |
| 1106 | CONFIG_PMIC_DA903X=y | 1081 | CONFIG_PMIC_DA903X=y |
| 1107 | # CONFIG_PMIC_ADP5520 is not set | 1082 | # CONFIG_PMIC_ADP5520 is not set |
| 1083 | # CONFIG_MFD_MAX8925 is not set | ||
| 1108 | # CONFIG_MFD_WM8400 is not set | 1084 | # CONFIG_MFD_WM8400 is not set |
| 1109 | # CONFIG_MFD_WM831X is not set | 1085 | # CONFIG_MFD_WM831X is not set |
| 1110 | # CONFIG_MFD_WM8350_I2C is not set | 1086 | # CONFIG_MFD_WM8350_I2C is not set |
| 1087 | # CONFIG_MFD_WM8994 is not set | ||
| 1111 | # CONFIG_MFD_PCF50633 is not set | 1088 | # CONFIG_MFD_PCF50633 is not set |
| 1112 | # CONFIG_MFD_MC13783 is not set | 1089 | # CONFIG_MFD_MC13783 is not set |
| 1113 | # CONFIG_AB3100_CORE is not set | 1090 | # CONFIG_AB3100_CORE is not set |
| 1114 | # CONFIG_EZX_PCAP is not set | 1091 | # CONFIG_EZX_PCAP is not set |
| 1115 | # CONFIG_MFD_88PM8607 is not set | ||
| 1116 | # CONFIG_AB4500_CORE is not set | 1092 | # CONFIG_AB4500_CORE is not set |
| 1117 | CONFIG_REGULATOR=y | 1093 | CONFIG_REGULATOR=y |
| 1118 | CONFIG_REGULATOR_DEBUG=y | 1094 | CONFIG_REGULATOR_DEBUG=y |
| 1095 | # CONFIG_REGULATOR_DUMMY is not set | ||
| 1119 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | 1096 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set |
| 1120 | CONFIG_REGULATOR_VIRTUAL_CONSUMER=y | 1097 | CONFIG_REGULATOR_VIRTUAL_CONSUMER=y |
| 1121 | CONFIG_REGULATOR_USERSPACE_CONSUMER=y | 1098 | CONFIG_REGULATOR_USERSPACE_CONSUMER=y |
| 1122 | # CONFIG_REGULATOR_BQ24022 is not set | 1099 | # CONFIG_REGULATOR_BQ24022 is not set |
| 1123 | # CONFIG_REGULATOR_MAX1586 is not set | 1100 | # CONFIG_REGULATOR_MAX1586 is not set |
| 1101 | # CONFIG_REGULATOR_MAX8649 is not set | ||
| 1124 | # CONFIG_REGULATOR_MAX8660 is not set | 1102 | # CONFIG_REGULATOR_MAX8660 is not set |
| 1125 | CONFIG_REGULATOR_DA903X=y | 1103 | CONFIG_REGULATOR_DA903X=y |
| 1126 | # CONFIG_REGULATOR_LP3971 is not set | 1104 | # CONFIG_REGULATOR_LP3971 is not set |
| @@ -1218,6 +1196,7 @@ CONFIG_VIDEO_IR_I2C=y | |||
| 1218 | # CONFIG_VIDEO_SAA7191 is not set | 1196 | # CONFIG_VIDEO_SAA7191 is not set |
| 1219 | # CONFIG_VIDEO_TVP514X is not set | 1197 | # CONFIG_VIDEO_TVP514X is not set |
| 1220 | # CONFIG_VIDEO_TVP5150 is not set | 1198 | # CONFIG_VIDEO_TVP5150 is not set |
| 1199 | # CONFIG_VIDEO_TVP7002 is not set | ||
| 1221 | # CONFIG_VIDEO_VPX3220 is not set | 1200 | # CONFIG_VIDEO_VPX3220 is not set |
| 1222 | 1201 | ||
| 1223 | # | 1202 | # |
| @@ -1264,15 +1243,7 @@ CONFIG_SOC_CAMERA_MT9M111=y | |||
| 1264 | CONFIG_VIDEO_PXA27x=y | 1243 | CONFIG_VIDEO_PXA27x=y |
| 1265 | # CONFIG_VIDEO_SH_MOBILE_CEU is not set | 1244 | # CONFIG_VIDEO_SH_MOBILE_CEU is not set |
| 1266 | # CONFIG_V4L_USB_DRIVERS is not set | 1245 | # CONFIG_V4L_USB_DRIVERS is not set |
| 1267 | CONFIG_RADIO_ADAPTERS=y | 1246 | # CONFIG_RADIO_ADAPTERS is not set |
| 1268 | # CONFIG_I2C_SI4713 is not set | ||
| 1269 | # CONFIG_RADIO_SI4713 is not set | ||
| 1270 | # CONFIG_USB_DSBR is not set | ||
| 1271 | # CONFIG_RADIO_SI470X is not set | ||
| 1272 | # CONFIG_USB_MR800 is not set | ||
| 1273 | CONFIG_RADIO_TEA5764=y | ||
| 1274 | CONFIG_RADIO_TEA5764_XTAL=y | ||
| 1275 | # CONFIG_RADIO_TEF6862 is not set | ||
| 1276 | # CONFIG_DAB is not set | 1247 | # CONFIG_DAB is not set |
| 1277 | 1248 | ||
| 1278 | # | 1249 | # |
| @@ -1398,8 +1369,6 @@ CONFIG_HID=y | |||
| 1398 | # | 1369 | # |
| 1399 | # Special HID drivers | 1370 | # Special HID drivers |
| 1400 | # | 1371 | # |
| 1401 | CONFIG_HID_APPLE=m | ||
| 1402 | # CONFIG_HID_WACOM is not set | ||
| 1403 | CONFIG_USB_SUPPORT=y | 1372 | CONFIG_USB_SUPPORT=y |
| 1404 | CONFIG_USB_ARCH_HAS_HCD=y | 1373 | CONFIG_USB_ARCH_HAS_HCD=y |
| 1405 | CONFIG_USB_ARCH_HAS_OHCI=y | 1374 | CONFIG_USB_ARCH_HAS_OHCI=y |
| @@ -1477,7 +1446,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 1477 | # CONFIG_USB_RIO500 is not set | 1446 | # CONFIG_USB_RIO500 is not set |
| 1478 | # CONFIG_USB_LEGOTOWER is not set | 1447 | # CONFIG_USB_LEGOTOWER is not set |
| 1479 | # CONFIG_USB_LCD is not set | 1448 | # CONFIG_USB_LCD is not set |
| 1480 | # CONFIG_USB_BERRY_CHARGE is not set | ||
| 1481 | # CONFIG_USB_LED is not set | 1449 | # CONFIG_USB_LED is not set |
| 1482 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1450 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
| 1483 | # CONFIG_USB_CYTHERM is not set | 1451 | # CONFIG_USB_CYTHERM is not set |
| @@ -1489,7 +1457,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 1489 | # CONFIG_USB_IOWARRIOR is not set | 1457 | # CONFIG_USB_IOWARRIOR is not set |
| 1490 | # CONFIG_USB_TEST is not set | 1458 | # CONFIG_USB_TEST is not set |
| 1491 | # CONFIG_USB_ISIGHTFW is not set | 1459 | # CONFIG_USB_ISIGHTFW is not set |
| 1492 | # CONFIG_USB_VST is not set | ||
| 1493 | CONFIG_USB_GADGET=y | 1460 | CONFIG_USB_GADGET=y |
| 1494 | # CONFIG_USB_GADGET_DEBUG is not set | 1461 | # CONFIG_USB_GADGET_DEBUG is not set |
| 1495 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 1462 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
| @@ -1529,6 +1496,7 @@ CONFIG_USB_ETH=y | |||
| 1529 | # CONFIG_USB_MIDI_GADGET is not set | 1496 | # CONFIG_USB_MIDI_GADGET is not set |
| 1530 | # CONFIG_USB_G_PRINTER is not set | 1497 | # CONFIG_USB_G_PRINTER is not set |
| 1531 | # CONFIG_USB_CDC_COMPOSITE is not set | 1498 | # CONFIG_USB_CDC_COMPOSITE is not set |
| 1499 | # CONFIG_USB_G_NOKIA is not set | ||
| 1532 | # CONFIG_USB_G_MULTI is not set | 1500 | # CONFIG_USB_G_MULTI is not set |
| 1533 | 1501 | ||
| 1534 | # | 1502 | # |
| @@ -1555,8 +1523,6 @@ CONFIG_SDIO_UART=m | |||
| 1555 | # | 1523 | # |
| 1556 | CONFIG_MMC_PXA=y | 1524 | CONFIG_MMC_PXA=y |
| 1557 | # CONFIG_MMC_SDHCI is not set | 1525 | # CONFIG_MMC_SDHCI is not set |
| 1558 | # CONFIG_MMC_AT91 is not set | ||
| 1559 | # CONFIG_MMC_ATMELMCI is not set | ||
| 1560 | CONFIG_MMC_SPI=y | 1526 | CONFIG_MMC_SPI=y |
| 1561 | # CONFIG_MEMSTICK is not set | 1527 | # CONFIG_MEMSTICK is not set |
| 1562 | CONFIG_NEW_LEDS=y | 1528 | CONFIG_NEW_LEDS=y |
| @@ -1574,11 +1540,11 @@ CONFIG_LEDS_LP3944=y | |||
| 1574 | # CONFIG_LEDS_REGULATOR is not set | 1540 | # CONFIG_LEDS_REGULATOR is not set |
| 1575 | # CONFIG_LEDS_BD2802 is not set | 1541 | # CONFIG_LEDS_BD2802 is not set |
| 1576 | # CONFIG_LEDS_LT3593 is not set | 1542 | # CONFIG_LEDS_LT3593 is not set |
| 1543 | CONFIG_LEDS_TRIGGERS=y | ||
| 1577 | 1544 | ||
| 1578 | # | 1545 | # |
| 1579 | # LED Triggers | 1546 | # LED Triggers |
| 1580 | # | 1547 | # |
| 1581 | CONFIG_LEDS_TRIGGERS=y | ||
| 1582 | CONFIG_LEDS_TRIGGER_TIMER=y | 1548 | CONFIG_LEDS_TRIGGER_TIMER=y |
| 1583 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1549 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
| 1584 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | 1550 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y |
| @@ -1656,7 +1622,7 @@ CONFIG_RTC_INTF_DEV=y | |||
| 1656 | # on-CPU RTC drivers | 1622 | # on-CPU RTC drivers |
| 1657 | # | 1623 | # |
| 1658 | # CONFIG_RTC_DRV_SA1100 is not set | 1624 | # CONFIG_RTC_DRV_SA1100 is not set |
| 1659 | # CONFIG_RTC_DRV_PXA is not set | 1625 | CONFIG_RTC_DRV_PXA=y |
| 1660 | # CONFIG_DMADEVICES is not set | 1626 | # CONFIG_DMADEVICES is not set |
| 1661 | # CONFIG_AUXDISPLAY is not set | 1627 | # CONFIG_AUXDISPLAY is not set |
| 1662 | # CONFIG_UIO is not set | 1628 | # CONFIG_UIO is not set |
| @@ -1681,19 +1647,10 @@ CONFIG_EXT3_FS_XATTR=y | |||
| 1681 | CONFIG_JBD=m | 1647 | CONFIG_JBD=m |
| 1682 | # CONFIG_JBD_DEBUG is not set | 1648 | # CONFIG_JBD_DEBUG is not set |
| 1683 | CONFIG_FS_MBCACHE=m | 1649 | CONFIG_FS_MBCACHE=m |
| 1684 | CONFIG_REISERFS_FS=m | 1650 | # CONFIG_REISERFS_FS is not set |
| 1685 | # CONFIG_REISERFS_CHECK is not set | ||
| 1686 | # CONFIG_REISERFS_PROC_INFO is not set | ||
| 1687 | CONFIG_REISERFS_FS_XATTR=y | ||
| 1688 | CONFIG_REISERFS_FS_POSIX_ACL=y | ||
| 1689 | CONFIG_REISERFS_FS_SECURITY=y | ||
| 1690 | # CONFIG_JFS_FS is not set | 1651 | # CONFIG_JFS_FS is not set |
| 1691 | CONFIG_FS_POSIX_ACL=y | 1652 | CONFIG_FS_POSIX_ACL=y |
| 1692 | CONFIG_XFS_FS=m | 1653 | # CONFIG_XFS_FS is not set |
| 1693 | # CONFIG_XFS_QUOTA is not set | ||
| 1694 | # CONFIG_XFS_POSIX_ACL is not set | ||
| 1695 | # CONFIG_XFS_RT is not set | ||
| 1696 | # CONFIG_XFS_DEBUG is not set | ||
| 1697 | # CONFIG_OCFS2_FS is not set | 1654 | # CONFIG_OCFS2_FS is not set |
| 1698 | # CONFIG_BTRFS_FS is not set | 1655 | # CONFIG_BTRFS_FS is not set |
| 1699 | # CONFIG_NILFS2_FS is not set | 1656 | # CONFIG_NILFS2_FS is not set |
| @@ -1716,9 +1673,7 @@ CONFIG_CUSE=m | |||
| 1716 | # | 1673 | # |
| 1717 | # CD-ROM/DVD Filesystems | 1674 | # CD-ROM/DVD Filesystems |
| 1718 | # | 1675 | # |
| 1719 | CONFIG_ISO9660_FS=m | 1676 | # CONFIG_ISO9660_FS is not set |
| 1720 | CONFIG_JOLIET=y | ||
| 1721 | CONFIG_ZISOFS=y | ||
| 1722 | # CONFIG_UDF_FS is not set | 1677 | # CONFIG_UDF_FS is not set |
| 1723 | 1678 | ||
| 1724 | # | 1679 | # |
| @@ -1750,12 +1705,14 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 1750 | # CONFIG_BEFS_FS is not set | 1705 | # CONFIG_BEFS_FS is not set |
| 1751 | # CONFIG_BFS_FS is not set | 1706 | # CONFIG_BFS_FS is not set |
| 1752 | # CONFIG_EFS_FS is not set | 1707 | # CONFIG_EFS_FS is not set |
| 1753 | CONFIG_JFFS2_FS=m | 1708 | CONFIG_JFFS2_FS=y |
| 1754 | CONFIG_JFFS2_FS_DEBUG=0 | 1709 | CONFIG_JFFS2_FS_DEBUG=0 |
| 1755 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1710 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
| 1756 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | 1711 | CONFIG_JFFS2_FS_WBUF_VERIFY=y |
| 1757 | # CONFIG_JFFS2_SUMMARY is not set | 1712 | CONFIG_JFFS2_SUMMARY=y |
| 1758 | # CONFIG_JFFS2_FS_XATTR is not set | 1713 | CONFIG_JFFS2_FS_XATTR=y |
| 1714 | CONFIG_JFFS2_FS_POSIX_ACL=y | ||
| 1715 | CONFIG_JFFS2_FS_SECURITY=y | ||
| 1759 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y | 1716 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y |
| 1760 | CONFIG_JFFS2_ZLIB=y | 1717 | CONFIG_JFFS2_ZLIB=y |
| 1761 | CONFIG_JFFS2_LZO=y | 1718 | CONFIG_JFFS2_LZO=y |
| @@ -1765,6 +1722,7 @@ CONFIG_JFFS2_RUBIN=y | |||
| 1765 | CONFIG_JFFS2_CMODE_PRIORITY=y | 1722 | CONFIG_JFFS2_CMODE_PRIORITY=y |
| 1766 | # CONFIG_JFFS2_CMODE_SIZE is not set | 1723 | # CONFIG_JFFS2_CMODE_SIZE is not set |
| 1767 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set | 1724 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set |
| 1725 | # CONFIG_LOGFS is not set | ||
| 1768 | CONFIG_CRAMFS=m | 1726 | CONFIG_CRAMFS=m |
| 1769 | CONFIG_SQUASHFS=m | 1727 | CONFIG_SQUASHFS=m |
| 1770 | # CONFIG_SQUASHFS_EMBEDDED is not set | 1728 | # CONFIG_SQUASHFS_EMBEDDED is not set |
| @@ -1802,6 +1760,7 @@ CONFIG_SUNRPC=y | |||
| 1802 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1760 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 1803 | CONFIG_SMB_FS=m | 1761 | CONFIG_SMB_FS=m |
| 1804 | # CONFIG_SMB_NLS_DEFAULT is not set | 1762 | # CONFIG_SMB_NLS_DEFAULT is not set |
| 1763 | # CONFIG_CEPH_FS is not set | ||
| 1805 | CONFIG_CIFS=m | 1764 | CONFIG_CIFS=m |
| 1806 | CONFIG_CIFS_STATS=y | 1765 | CONFIG_CIFS_STATS=y |
| 1807 | # CONFIG_CIFS_STATS2 is not set | 1766 | # CONFIG_CIFS_STATS2 is not set |
| @@ -1895,6 +1854,7 @@ CONFIG_DEBUG_SPINLOCK=y | |||
| 1895 | CONFIG_DEBUG_MUTEXES=y | 1854 | CONFIG_DEBUG_MUTEXES=y |
| 1896 | CONFIG_DEBUG_LOCK_ALLOC=y | 1855 | CONFIG_DEBUG_LOCK_ALLOC=y |
| 1897 | CONFIG_PROVE_LOCKING=y | 1856 | CONFIG_PROVE_LOCKING=y |
| 1857 | # CONFIG_PROVE_RCU is not set | ||
| 1898 | CONFIG_LOCKDEP=y | 1858 | CONFIG_LOCKDEP=y |
| 1899 | # CONFIG_LOCK_STAT is not set | 1859 | # CONFIG_LOCK_STAT is not set |
| 1900 | # CONFIG_DEBUG_LOCKDEP is not set | 1860 | # CONFIG_DEBUG_LOCKDEP is not set |
| @@ -1918,6 +1878,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
| 1918 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1878 | # CONFIG_BACKTRACE_SELF_TEST is not set |
| 1919 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1879 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
| 1920 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1880 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
| 1881 | # CONFIG_LKDTM is not set | ||
| 1921 | # CONFIG_FAULT_INJECTION is not set | 1882 | # CONFIG_FAULT_INJECTION is not set |
| 1922 | # CONFIG_LATENCYTOP is not set | 1883 | # CONFIG_LATENCYTOP is not set |
| 1923 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 1884 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
| @@ -2061,9 +2022,9 @@ CONFIG_CRC32=y | |||
| 2061 | CONFIG_CRC7=y | 2022 | CONFIG_CRC7=y |
| 2062 | CONFIG_LIBCRC32C=m | 2023 | CONFIG_LIBCRC32C=m |
| 2063 | CONFIG_ZLIB_INFLATE=y | 2024 | CONFIG_ZLIB_INFLATE=y |
| 2064 | CONFIG_ZLIB_DEFLATE=m | 2025 | CONFIG_ZLIB_DEFLATE=y |
| 2065 | CONFIG_LZO_COMPRESS=m | 2026 | CONFIG_LZO_COMPRESS=y |
| 2066 | CONFIG_LZO_DECOMPRESS=m | 2027 | CONFIG_LZO_DECOMPRESS=y |
| 2067 | CONFIG_DECOMPRESS_GZIP=y | 2028 | CONFIG_DECOMPRESS_GZIP=y |
| 2068 | CONFIG_DECOMPRESS_BZIP2=y | 2029 | CONFIG_DECOMPRESS_BZIP2=y |
| 2069 | CONFIG_DECOMPRESS_LZMA=y | 2030 | CONFIG_DECOMPRESS_LZMA=y |
| @@ -2075,3 +2036,4 @@ CONFIG_HAS_IOMEM=y | |||
| 2075 | CONFIG_HAS_IOPORT=y | 2036 | CONFIG_HAS_IOPORT=y |
| 2076 | CONFIG_HAS_DMA=y | 2037 | CONFIG_HAS_DMA=y |
| 2077 | CONFIG_NLATTR=y | 2038 | CONFIG_NLATTR=y |
| 2039 | CONFIG_GENERIC_ATOMIC64=y | ||
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h index bff056489cc..51662feb9f1 100644 --- a/arch/arm/include/asm/elf.h +++ b/arch/arm/include/asm/elf.h | |||
| @@ -9,6 +9,8 @@ | |||
| 9 | #include <asm/ptrace.h> | 9 | #include <asm/ptrace.h> |
| 10 | #include <asm/user.h> | 10 | #include <asm/user.h> |
| 11 | 11 | ||
| 12 | struct task_struct; | ||
| 13 | |||
| 12 | typedef unsigned long elf_greg_t; | 14 | typedef unsigned long elf_greg_t; |
| 13 | typedef unsigned long elf_freg_t[3]; | 15 | typedef unsigned long elf_freg_t[3]; |
| 14 | 16 | ||
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index e6a0fb0f392..7ee48e7f8f3 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
| @@ -676,10 +676,10 @@ do_fpe: | |||
| 676 | * lr = unrecognised FP instruction return address | 676 | * lr = unrecognised FP instruction return address |
| 677 | */ | 677 | */ |
| 678 | 678 | ||
| 679 | .data | 679 | .pushsection .data |
| 680 | ENTRY(fp_enter) | 680 | ENTRY(fp_enter) |
| 681 | .word no_fp | 681 | .word no_fp |
| 682 | .text | 682 | .popsection |
| 683 | 683 | ||
| 684 | ENTRY(no_fp) | 684 | ENTRY(no_fp) |
| 685 | mov pc, lr | 685 | mov pc, lr |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 577543f3857..a01194e583f 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
| @@ -86,6 +86,12 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
| 86 | return PTR_ERR(idle); | 86 | return PTR_ERR(idle); |
| 87 | } | 87 | } |
| 88 | ci->idle = idle; | 88 | ci->idle = idle; |
| 89 | } else { | ||
| 90 | /* | ||
| 91 | * Since this idle thread is being re-used, call | ||
| 92 | * init_idle() to reinitialize the thread structure. | ||
| 93 | */ | ||
| 94 | init_idle(idle, cpu); | ||
| 89 | } | 95 | } |
| 90 | 96 | ||
| 91 | /* | 97 | /* |
diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c index 8f85f73b83a..1ee6ce4087b 100644 --- a/arch/arm/mach-mx5/clock-mx51.c +++ b/arch/arm/mach-mx5/clock-mx51.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/io.h> | 16 | #include <linux/io.h> |
| 17 | 17 | ||
| 18 | #include <asm/clkdev.h> | 18 | #include <asm/clkdev.h> |
| 19 | #include <asm/div64.h> | ||
| 19 | 20 | ||
| 20 | #include <mach/hardware.h> | 21 | #include <mach/hardware.h> |
| 21 | #include <mach/common.h> | 22 | #include <mach/common.h> |
diff --git a/arch/arm/mach-pxa/include/mach/colibri.h b/arch/arm/mach-pxa/include/mach/colibri.h index 811743c5614..5f2ba8d9015 100644 --- a/arch/arm/mach-pxa/include/mach/colibri.h +++ b/arch/arm/mach-pxa/include/mach/colibri.h | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | #define _COLIBRI_H_ | 2 | #define _COLIBRI_H_ |
| 3 | 3 | ||
| 4 | #include <net/ax88796.h> | 4 | #include <net/ax88796.h> |
| 5 | #include <mach/mfp.h> | ||
| 5 | 6 | ||
| 6 | /* | 7 | /* |
| 7 | * common settings for all modules | 8 | * common settings for all modules |
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h index 7515757d691..3d8d8cb0968 100644 --- a/arch/arm/mach-pxa/include/mach/hardware.h +++ b/arch/arm/mach-pxa/include/mach/hardware.h | |||
| @@ -202,7 +202,7 @@ | |||
| 202 | #define __cpu_is_pxa950(id) \ | 202 | #define __cpu_is_pxa950(id) \ |
| 203 | ({ \ | 203 | ({ \ |
| 204 | unsigned int _id = (id) >> 4 & 0xfff; \ | 204 | unsigned int _id = (id) >> 4 & 0xfff; \ |
| 205 | id == 0x697; \ | 205 | _id == 0x697; \ |
| 206 | }) | 206 | }) |
| 207 | #else | 207 | #else |
| 208 | #define __cpu_is_pxa950(id) (0) | 208 | #define __cpu_is_pxa950(id) (0) |
diff --git a/arch/arm/mach-pxa/include/mach/regs-u2d.h b/arch/arm/mach-pxa/include/mach/regs-u2d.h index 44b0b20b69a..c15c0c57de0 100644 --- a/arch/arm/mach-pxa/include/mach/regs-u2d.h +++ b/arch/arm/mach-pxa/include/mach/regs-u2d.h | |||
| @@ -166,7 +166,8 @@ | |||
| 166 | #define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */ | 166 | #define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */ |
| 167 | #define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */ | 167 | #define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */ |
| 168 | #define U2DMACSR_REQPEND (1 << 8) /* Request Pending */ | 168 | #define U2DMACSR_REQPEND (1 << 8) /* Request Pending */ |
| 169 | #define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */ | 169 | #define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */ |
| 170 | #define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */ | ||
| 170 | #define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */ | 171 | #define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */ |
| 171 | #define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */ | 172 | #define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */ |
| 172 | #define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */ | 173 | #define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */ |
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index 44bb675e47f..d12667bd9eb 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c | |||
| @@ -983,7 +983,7 @@ static void __init raumfeld_common_init(void) | |||
| 983 | int i; | 983 | int i; |
| 984 | 984 | ||
| 985 | for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++) | 985 | for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++) |
| 986 | if (!strcmp(gpio_keys_button[i].desc, "on/off button")) | 986 | if (!strcmp(gpio_keys_button[i].desc, "on_off button")) |
| 987 | gpio_keys_button[i].active_low = 1; | 987 | gpio_keys_button[i].active_low = 1; |
| 988 | } | 988 | } |
| 989 | 989 | ||
| @@ -1009,8 +1009,7 @@ static void __init raumfeld_common_init(void) | |||
| 1009 | gpio_direction_output(GPIO_W2W_PDN, 0); | 1009 | gpio_direction_output(GPIO_W2W_PDN, 0); |
| 1010 | 1010 | ||
| 1011 | /* this can be used to switch off the device */ | 1011 | /* this can be used to switch off the device */ |
| 1012 | ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, | 1012 | ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, "supply shutdown"); |
| 1013 | "supply shutdown"); | ||
| 1014 | if (ret < 0) | 1013 | if (ret < 0) |
| 1015 | pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n"); | 1014 | pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n"); |
| 1016 | else | 1015 | else |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 19b5109d980..01bdd7500df 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
| @@ -363,7 +363,7 @@ static struct gpio_keys_button spitz_gpio_keys[] = { | |||
| 363 | .type = EV_PWR, | 363 | .type = EV_PWR, |
| 364 | .code = KEY_SUSPEND, | 364 | .code = KEY_SUSPEND, |
| 365 | .gpio = SPITZ_GPIO_ON_KEY, | 365 | .gpio = SPITZ_GPIO_ON_KEY, |
| 366 | .desc = "On/Off", | 366 | .desc = "On Off", |
| 367 | .wakeup = 1, | 367 | .wakeup = 1, |
| 368 | }, | 368 | }, |
| 369 | /* Two buttons detecting the lid state */ | 369 | /* Two buttons detecting the lid state */ |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index 9e0c5c3988a..e90114a7e24 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | #include <linux/pm.h> | 34 | #include <linux/pm.h> |
| 35 | #include <linux/sched.h> | 35 | #include <linux/sched.h> |
| 36 | #include <linux/gpio.h> | 36 | #include <linux/gpio.h> |
| 37 | #include <linux/jiffies.h> | ||
| 37 | #include <linux/i2c-gpio.h> | 38 | #include <linux/i2c-gpio.h> |
| 38 | #include <linux/serial_8250.h> | 39 | #include <linux/serial_8250.h> |
| 39 | #include <linux/smc91x.h> | 40 | #include <linux/smc91x.h> |
| @@ -454,7 +455,7 @@ static struct i2c_gpio_platform_data i2c_bus_data = { | |||
| 454 | .sda_pin = VIPER_RTC_I2C_SDA_GPIO, | 455 | .sda_pin = VIPER_RTC_I2C_SDA_GPIO, |
| 455 | .scl_pin = VIPER_RTC_I2C_SCL_GPIO, | 456 | .scl_pin = VIPER_RTC_I2C_SCL_GPIO, |
| 456 | .udelay = 10, | 457 | .udelay = 10, |
| 457 | .timeout = 100, | 458 | .timeout = HZ, |
| 458 | }; | 459 | }; |
| 459 | 460 | ||
| 460 | static struct platform_device i2c_bus_device = { | 461 | static struct platform_device i2c_bus_device = { |
| @@ -779,7 +780,7 @@ static void __init viper_tpm_init(void) | |||
| 779 | .sda_pin = VIPER_TPM_I2C_SDA_GPIO, | 780 | .sda_pin = VIPER_TPM_I2C_SDA_GPIO, |
| 780 | .scl_pin = VIPER_TPM_I2C_SCL_GPIO, | 781 | .scl_pin = VIPER_TPM_I2C_SCL_GPIO, |
| 781 | .udelay = 10, | 782 | .udelay = 10, |
| 782 | .timeout = 100, | 783 | .timeout = HZ, |
| 783 | }; | 784 | }; |
| 784 | char *errstr; | 785 | char *errstr; |
| 785 | 786 | ||
diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig index b17d52f7cc4..fd4c52b7ccb 100644 --- a/arch/arm/mach-sa1100/Kconfig +++ b/arch/arm/mach-sa1100/Kconfig | |||
| @@ -57,7 +57,7 @@ config SA1100_COLLIE | |||
| 57 | config SA1100_H3100 | 57 | config SA1100_H3100 |
| 58 | bool "Compaq iPAQ H3100" | 58 | bool "Compaq iPAQ H3100" |
| 59 | select HTC_EGPIO | 59 | select HTC_EGPIO |
| 60 | select CPU_FREQ_SA1100 | 60 | select CPU_FREQ_SA1110 |
| 61 | help | 61 | help |
| 62 | Say Y here if you intend to run this kernel on the Compaq iPAQ | 62 | Say Y here if you intend to run this kernel on the Compaq iPAQ |
| 63 | H3100 handheld computer. Information about this machine and the | 63 | H3100 handheld computer. Information about this machine and the |
| @@ -68,7 +68,7 @@ config SA1100_H3100 | |||
| 68 | config SA1100_H3600 | 68 | config SA1100_H3600 |
| 69 | bool "Compaq iPAQ H3600/H3700" | 69 | bool "Compaq iPAQ H3600/H3700" |
| 70 | select HTC_EGPIO | 70 | select HTC_EGPIO |
| 71 | select CPU_FREQ_SA1100 | 71 | select CPU_FREQ_SA1110 |
| 72 | help | 72 | help |
| 73 | Say Y here if you intend to run this kernel on the Compaq iPAQ | 73 | Say Y here if you intend to run this kernel on the Compaq iPAQ |
| 74 | H3600 handheld computer. Information about this machine and the | 74 | H3600 handheld computer. Information about this machine and the |
diff --git a/arch/arm/mach-sa1100/cpu-sa1110.c b/arch/arm/mach-sa1100/cpu-sa1110.c index 63b32b68b29..7252874d328 100644 --- a/arch/arm/mach-sa1100/cpu-sa1110.c +++ b/arch/arm/mach-sa1100/cpu-sa1110.c | |||
| @@ -363,6 +363,9 @@ static int __init sa1110_clk_init(void) | |||
| 363 | struct sdram_params *sdram; | 363 | struct sdram_params *sdram; |
| 364 | const char *name = sdram_name; | 364 | const char *name = sdram_name; |
| 365 | 365 | ||
| 366 | if (!cpu_is_sa1110()) | ||
| 367 | return -ENODEV; | ||
| 368 | |||
| 366 | if (!name[0]) { | 369 | if (!name[0]) { |
| 367 | if (machine_is_assabet()) | 370 | if (machine_is_assabet()) |
| 368 | name = "TC59SM716-CL3"; | 371 | name = "TC59SM716-CL3"; |
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 83db12a68d5..0ed29bfeba1 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
| @@ -86,9 +86,6 @@ void show_mem(void) | |||
| 86 | printk("Mem-info:\n"); | 86 | printk("Mem-info:\n"); |
| 87 | show_free_areas(); | 87 | show_free_areas(); |
| 88 | for_each_online_node(node) { | 88 | for_each_online_node(node) { |
| 89 | pg_data_t *n = NODE_DATA(node); | ||
| 90 | struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn; | ||
| 91 | |||
| 92 | for_each_nodebank (i,mi,node) { | 89 | for_each_nodebank (i,mi,node) { |
| 93 | struct membank *bank = &mi->bank[i]; | 90 | struct membank *bank = &mi->bank[i]; |
| 94 | unsigned int pfn1, pfn2; | 91 | unsigned int pfn1, pfn2; |
| @@ -97,8 +94,8 @@ void show_mem(void) | |||
| 97 | pfn1 = bank_pfn_start(bank); | 94 | pfn1 = bank_pfn_start(bank); |
| 98 | pfn2 = bank_pfn_end(bank); | 95 | pfn2 = bank_pfn_end(bank); |
| 99 | 96 | ||
| 100 | page = map + pfn1; | 97 | page = pfn_to_page(pfn1); |
| 101 | end = map + pfn2; | 98 | end = pfn_to_page(pfn2 - 1) + 1; |
| 102 | 99 | ||
| 103 | do { | 100 | do { |
| 104 | total++; | 101 | total++; |
| @@ -603,9 +600,6 @@ void __init mem_init(void) | |||
| 603 | reserved_pages = free_pages = 0; | 600 | reserved_pages = free_pages = 0; |
| 604 | 601 | ||
| 605 | for_each_online_node(node) { | 602 | for_each_online_node(node) { |
| 606 | pg_data_t *n = NODE_DATA(node); | ||
| 607 | struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn; | ||
| 608 | |||
| 609 | for_each_nodebank(i, &meminfo, node) { | 603 | for_each_nodebank(i, &meminfo, node) { |
| 610 | struct membank *bank = &meminfo.bank[i]; | 604 | struct membank *bank = &meminfo.bank[i]; |
| 611 | unsigned int pfn1, pfn2; | 605 | unsigned int pfn1, pfn2; |
| @@ -614,8 +608,8 @@ void __init mem_init(void) | |||
| 614 | pfn1 = bank_pfn_start(bank); | 608 | pfn1 = bank_pfn_start(bank); |
| 615 | pfn2 = bank_pfn_end(bank); | 609 | pfn2 = bank_pfn_end(bank); |
| 616 | 610 | ||
| 617 | page = map + pfn1; | 611 | page = pfn_to_page(pfn1); |
| 618 | end = map + pfn2; | 612 | end = pfn_to_page(pfn2 - 1) + 1; |
| 619 | 613 | ||
| 620 | do { | 614 | do { |
| 621 | if (PageReserved(page)) | 615 | if (PageReserved(page)) |
diff --git a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h index 07be8ad7ec3..7c4870bd5a2 100644 --- a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h +++ b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h | |||
| @@ -31,7 +31,13 @@ | |||
| 31 | #define DMA_MODE_WRITE 1 | 31 | #define DMA_MODE_WRITE 1 |
| 32 | #define DMA_MODE_MASK 1 | 32 | #define DMA_MODE_MASK 1 |
| 33 | 33 | ||
| 34 | #define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR) | 34 | #define MX1_DMA_REG(offset) MX1_IO_ADDRESS(MX1_DMA_BASE_ADDR + (offset)) |
| 35 | |||
| 36 | /* DMA Interrupt Mask Register */ | ||
| 37 | #define MX1_DMA_DIMR MX1_DMA_REG(0x08) | ||
| 38 | |||
| 39 | /* Channel Control Register */ | ||
| 40 | #define MX1_DMA_CCR(x) MX1_DMA_REG(0x8c + ((x) << 6)) | ||
| 35 | 41 | ||
| 36 | #define IMX_DMA_MEMSIZE_32 (0 << 4) | 42 | #define IMX_DMA_MEMSIZE_32 (0 << 4) |
| 37 | #define IMX_DMA_MEMSIZE_8 (1 << 4) | 43 | #define IMX_DMA_MEMSIZE_8 (1 << 4) |
diff --git a/arch/arm/plat-pxa/dma.c b/arch/arm/plat-pxa/dma.c index 742350e0f2a..2d3c19d7c7b 100644 --- a/arch/arm/plat-pxa/dma.c +++ b/arch/arm/plat-pxa/dma.c | |||
| @@ -245,7 +245,7 @@ static void pxa_dma_init_debugfs(void) | |||
| 245 | 245 | ||
| 246 | dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels, | 246 | dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels, |
| 247 | GFP_KERNEL); | 247 | GFP_KERNEL); |
| 248 | if (!dbgfs_state) | 248 | if (!dbgfs_chan) |
| 249 | goto err_alloc; | 249 | goto err_alloc; |
| 250 | 250 | ||
| 251 | chandir = debugfs_create_dir("channels", dbgfs_root); | 251 | chandir = debugfs_create_dir("channels", dbgfs_root); |
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index 1536f1784ca..8f10d24ae62 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | # | 12 | # |
| 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new | 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new |
| 14 | # | 14 | # |
| 15 | # Last update: Sat Mar 20 15:35:41 2010 | 15 | # Last update: Sat May 1 10:36:42 2010 |
| 16 | # | 16 | # |
| 17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number | 17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number |
| 18 | # | 18 | # |
| @@ -2749,3 +2749,58 @@ stamp9g45 MACH_STAMP9G45 STAMP9G45 2761 | |||
| 2749 | h6053 MACH_H6053 H6053 2762 | 2749 | h6053 MACH_H6053 H6053 2762 |
| 2750 | smint01 MACH_SMINT01 SMINT01 2763 | 2750 | smint01 MACH_SMINT01 SMINT01 2763 |
| 2751 | prtlvt2 MACH_PRTLVT2 PRTLVT2 2764 | 2751 | prtlvt2 MACH_PRTLVT2 PRTLVT2 2764 |
| 2752 | ap420 MACH_AP420 AP420 2765 | ||
| 2753 | htcshift MACH_HTCSHIFT HTCSHIFT 2766 | ||
| 2754 | davinci_dm365_fc MACH_DAVINCI_DM365_FC DAVINCI_DM365_FC 2767 | ||
| 2755 | msm8x55_surf MACH_MSM8X55_SURF MSM8X55_SURF 2768 | ||
| 2756 | msm8x55_ffa MACH_MSM8X55_FFA MSM8X55_FFA 2769 | ||
| 2757 | esl_vamana MACH_ESL_VAMANA ESL_VAMANA 2770 | ||
| 2758 | sbc35 MACH_SBC35 SBC35 2771 | ||
| 2759 | mpx6446 MACH_MPX6446 MPX6446 2772 | ||
| 2760 | oreo_controller MACH_OREO_CONTROLLER OREO_CONTROLLER 2773 | ||
| 2761 | kopin_models MACH_KOPIN_MODELS KOPIN_MODELS 2774 | ||
| 2762 | ttc_vision2 MACH_TTC_VISION2 TTC_VISION2 2775 | ||
| 2763 | cns3420vb MACH_CNS3420VB CNS3420VB 2776 | ||
| 2764 | lpc2 MACH_LPC2 LPC2 2777 | ||
| 2765 | olympus MACH_OLYMPUS OLYMPUS 2778 | ||
| 2766 | vortex MACH_VORTEX VORTEX 2779 | ||
| 2767 | s5pc200 MACH_S5PC200 S5PC200 2780 | ||
| 2768 | ecucore_9263 MACH_ECUCORE_9263 ECUCORE_9263 2781 | ||
| 2769 | smdkc200 MACH_SMDKC200 SMDKC200 2782 | ||
| 2770 | emsiso_sx27 MACH_EMSISO_SX27 EMSISO_SX27 2783 | ||
| 2771 | apx_som9g45_ek MACH_APX_SOM9G45_EK APX_SOM9G45_EK 2784 | ||
| 2772 | songshan MACH_SONGSHAN SONGSHAN 2785 | ||
| 2773 | tianshan MACH_TIANSHAN TIANSHAN 2786 | ||
| 2774 | vpx500 MACH_VPX500 VPX500 2787 | ||
| 2775 | am3517sam MACH_AM3517SAM AM3517SAM 2788 | ||
| 2776 | skat91_sim508 MACH_SKAT91_SIM508 SKAT91_SIM508 2789 | ||
| 2777 | skat91_s3e MACH_SKAT91_S3E SKAT91_S3E 2790 | ||
| 2778 | omap4_panda MACH_OMAP4_PANDA OMAP4_PANDA 2791 | ||
| 2779 | df7220 MACH_DF7220 DF7220 2792 | ||
| 2780 | nemini MACH_NEMINI NEMINI 2793 | ||
| 2781 | t8200 MACH_T8200 T8200 2794 | ||
| 2782 | apf51 MACH_APF51 APF51 2795 | ||
| 2783 | dr_rc_unit MACH_DR_RC_UNIT DR_RC_UNIT 2796 | ||
| 2784 | bordeaux MACH_BORDEAUX BORDEAUX 2797 | ||
| 2785 | catania_b MACH_CATANIA_B CATANIA_B 2798 | ||
| 2786 | mx51_ocean MACH_MX51_OCEAN MX51_OCEAN 2799 | ||
| 2787 | ti8168evm MACH_TI8168EVM TI8168EVM 2800 | ||
| 2788 | neocoreomap MACH_NEOCOREOMAP NEOCOREOMAP 2801 | ||
| 2789 | withings_wbp MACH_WITHINGS_WBP WITHINGS_WBP 2802 | ||
| 2790 | dbps MACH_DBPS DBPS 2803 | ||
| 2791 | sbc9261 MACH_SBC9261 SBC9261 2804 | ||
| 2792 | pcbfp0001 MACH_PCBFP0001 PCBFP0001 2805 | ||
| 2793 | speedy MACH_SPEEDY SPEEDY 2806 | ||
| 2794 | chrysaor MACH_CHRYSAOR CHRYSAOR 2807 | ||
| 2795 | tango MACH_TANGO TANGO 2808 | ||
| 2796 | synology_dsx11 MACH_SYNOLOGY_DSX11 SYNOLOGY_DSX11 2809 | ||
| 2797 | hanlin_v3ext MACH_HANLIN_V3EXT HANLIN_V3EXT 2810 | ||
| 2798 | hanlin_v5 MACH_HANLIN_V5 HANLIN_V5 2811 | ||
| 2799 | hanlin_v3plus MACH_HANLIN_V3PLUS HANLIN_V3PLUS 2812 | ||
| 2800 | iriver_story MACH_IRIVER_STORY IRIVER_STORY 2813 | ||
| 2801 | irex_iliad MACH_IREX_ILIAD IREX_ILIAD 2814 | ||
| 2802 | irex_dr1000 MACH_IREX_DR1000 IREX_DR1000 2815 | ||
| 2803 | teton_bga MACH_TETON_BGA TETON_BGA 2816 | ||
| 2804 | snapper9g45 MACH_SNAPPER9G45 SNAPPER9G45 2817 | ||
| 2805 | tam3517 MACH_TAM3517 TAM3517 2818 | ||
| 2806 | pdc100 MACH_PDC100 PDC100 2819 | ||
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig index 6fced1fe3bf..3c91cf6192c 100644 --- a/arch/microblaze/configs/mmu_defconfig +++ b/arch/microblaze/configs/mmu_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.33-rc6 | 3 | # Linux kernel version: 2.6.34-rc6 |
| 4 | # Wed Feb 3 10:02:59 2010 | 4 | # Thu May 6 11:22:14 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
| 7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
| @@ -22,8 +22,6 @@ CONFIG_GENERIC_CSUM=y | |||
| 22 | CONFIG_STACKTRACE_SUPPORT=y | 22 | CONFIG_STACKTRACE_SUPPORT=y |
| 23 | CONFIG_LOCKDEP_SUPPORT=y | 23 | CONFIG_LOCKDEP_SUPPORT=y |
| 24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
| 25 | # CONFIG_PCI is not set | ||
| 26 | CONFIG_NO_DMA=y | ||
| 27 | CONFIG_DTC=y | 25 | CONFIG_DTC=y |
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 29 | CONFIG_CONSTRUCTORS=y | 27 | CONFIG_CONSTRUCTORS=y |
| @@ -56,7 +54,6 @@ CONFIG_RCU_FANOUT=32 | |||
| 56 | CONFIG_IKCONFIG=y | 54 | CONFIG_IKCONFIG=y |
| 57 | CONFIG_IKCONFIG_PROC=y | 55 | CONFIG_IKCONFIG_PROC=y |
| 58 | CONFIG_LOG_BUF_SHIFT=17 | 56 | CONFIG_LOG_BUF_SHIFT=17 |
| 59 | # CONFIG_GROUP_SCHED is not set | ||
| 60 | # CONFIG_CGROUPS is not set | 57 | # CONFIG_CGROUPS is not set |
| 61 | CONFIG_SYSFS_DEPRECATED=y | 58 | CONFIG_SYSFS_DEPRECATED=y |
| 62 | CONFIG_SYSFS_DEPRECATED_V2=y | 59 | CONFIG_SYSFS_DEPRECATED_V2=y |
| @@ -106,6 +103,8 @@ CONFIG_SLAB=y | |||
| 106 | # CONFIG_SLOB is not set | 103 | # CONFIG_SLOB is not set |
| 107 | # CONFIG_PROFILING is not set | 104 | # CONFIG_PROFILING is not set |
| 108 | CONFIG_HAVE_OPROFILE=y | 105 | CONFIG_HAVE_OPROFILE=y |
| 106 | CONFIG_HAVE_DMA_ATTRS=y | ||
| 107 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
| 109 | 108 | ||
| 110 | # | 109 | # |
| 111 | # GCOV-based kernel profiling | 110 | # GCOV-based kernel profiling |
| @@ -245,13 +244,20 @@ CONFIG_BINFMT_ELF=y | |||
| 245 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 244 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
| 246 | # CONFIG_HAVE_AOUT is not set | 245 | # CONFIG_HAVE_AOUT is not set |
| 247 | # CONFIG_BINFMT_MISC is not set | 246 | # CONFIG_BINFMT_MISC is not set |
| 247 | |||
| 248 | # | ||
| 249 | # Bus Options | ||
| 250 | # | ||
| 251 | # CONFIG_PCI is not set | ||
| 252 | # CONFIG_PCI_DOMAINS is not set | ||
| 253 | # CONFIG_PCI_SYSCALL is not set | ||
| 254 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 248 | CONFIG_NET=y | 255 | CONFIG_NET=y |
| 249 | 256 | ||
| 250 | # | 257 | # |
| 251 | # Networking options | 258 | # Networking options |
| 252 | # | 259 | # |
| 253 | CONFIG_PACKET=y | 260 | CONFIG_PACKET=y |
| 254 | # CONFIG_PACKET_MMAP is not set | ||
| 255 | CONFIG_UNIX=y | 261 | CONFIG_UNIX=y |
| 256 | CONFIG_XFRM=y | 262 | CONFIG_XFRM=y |
| 257 | # CONFIG_XFRM_USER is not set | 263 | # CONFIG_XFRM_USER is not set |
| @@ -341,7 +347,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
| 341 | # CONFIG_SYS_HYPERVISOR is not set | 347 | # CONFIG_SYS_HYPERVISOR is not set |
| 342 | # CONFIG_CONNECTOR is not set | 348 | # CONFIG_CONNECTOR is not set |
| 343 | # CONFIG_MTD is not set | 349 | # CONFIG_MTD is not set |
| 350 | CONFIG_OF_FLATTREE=y | ||
| 344 | CONFIG_OF_DEVICE=y | 351 | CONFIG_OF_DEVICE=y |
| 352 | CONFIG_OF_MDIO=y | ||
| 345 | # CONFIG_PARPORT is not set | 353 | # CONFIG_PARPORT is not set |
| 346 | CONFIG_BLK_DEV=y | 354 | CONFIG_BLK_DEV=y |
| 347 | # CONFIG_BLK_DEV_COW_COMMON is not set | 355 | # CONFIG_BLK_DEV_COW_COMMON is not set |
| @@ -370,6 +378,7 @@ CONFIG_MISC_DEVICES=y | |||
| 370 | # | 378 | # |
| 371 | # SCSI device support | 379 | # SCSI device support |
| 372 | # | 380 | # |
| 381 | CONFIG_SCSI_MOD=y | ||
| 373 | # CONFIG_RAID_ATTRS is not set | 382 | # CONFIG_RAID_ATTRS is not set |
| 374 | # CONFIG_SCSI is not set | 383 | # CONFIG_SCSI is not set |
| 375 | # CONFIG_SCSI_DMA is not set | 384 | # CONFIG_SCSI_DMA is not set |
| @@ -383,9 +392,30 @@ CONFIG_NETDEVICES=y | |||
| 383 | # CONFIG_EQUALIZER is not set | 392 | # CONFIG_EQUALIZER is not set |
| 384 | # CONFIG_TUN is not set | 393 | # CONFIG_TUN is not set |
| 385 | # CONFIG_VETH is not set | 394 | # CONFIG_VETH is not set |
| 386 | # CONFIG_PHYLIB is not set | 395 | CONFIG_PHYLIB=y |
| 396 | |||
| 397 | # | ||
| 398 | # MII PHY device drivers | ||
| 399 | # | ||
| 400 | # CONFIG_MARVELL_PHY is not set | ||
| 401 | # CONFIG_DAVICOM_PHY is not set | ||
| 402 | # CONFIG_QSEMI_PHY is not set | ||
| 403 | # CONFIG_LXT_PHY is not set | ||
| 404 | # CONFIG_CICADA_PHY is not set | ||
| 405 | # CONFIG_VITESSE_PHY is not set | ||
| 406 | # CONFIG_SMSC_PHY is not set | ||
| 407 | # CONFIG_BROADCOM_PHY is not set | ||
| 408 | # CONFIG_ICPLUS_PHY is not set | ||
| 409 | # CONFIG_REALTEK_PHY is not set | ||
| 410 | # CONFIG_NATIONAL_PHY is not set | ||
| 411 | # CONFIG_STE10XP is not set | ||
| 412 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 413 | # CONFIG_MICREL_PHY is not set | ||
| 414 | # CONFIG_FIXED_PHY is not set | ||
| 415 | # CONFIG_MDIO_BITBANG is not set | ||
| 387 | CONFIG_NET_ETHERNET=y | 416 | CONFIG_NET_ETHERNET=y |
| 388 | # CONFIG_MII is not set | 417 | # CONFIG_MII is not set |
| 418 | # CONFIG_ETHOC is not set | ||
| 389 | # CONFIG_DNET is not set | 419 | # CONFIG_DNET is not set |
| 390 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 420 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 391 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 421 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| @@ -394,6 +424,7 @@ CONFIG_NET_ETHERNET=y | |||
| 394 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | 424 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set |
| 395 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 425 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
| 396 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 426 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
| 427 | # CONFIG_B44 is not set | ||
| 397 | # CONFIG_KS8842 is not set | 428 | # CONFIG_KS8842 is not set |
| 398 | # CONFIG_KS8851_MLL is not set | 429 | # CONFIG_KS8851_MLL is not set |
| 399 | CONFIG_XILINX_EMACLITE=y | 430 | CONFIG_XILINX_EMACLITE=y |
| @@ -444,6 +475,7 @@ CONFIG_SERIAL_UARTLITE=y | |||
| 444 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 475 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
| 445 | CONFIG_SERIAL_CORE=y | 476 | CONFIG_SERIAL_CORE=y |
| 446 | CONFIG_SERIAL_CORE_CONSOLE=y | 477 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 478 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
| 447 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 479 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
| 448 | CONFIG_UNIX98_PTYS=y | 480 | CONFIG_UNIX98_PTYS=y |
| 449 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 481 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
| @@ -471,6 +503,12 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
| 471 | # CONFIG_HWMON is not set | 503 | # CONFIG_HWMON is not set |
| 472 | # CONFIG_THERMAL is not set | 504 | # CONFIG_THERMAL is not set |
| 473 | # CONFIG_WATCHDOG is not set | 505 | # CONFIG_WATCHDOG is not set |
| 506 | CONFIG_SSB_POSSIBLE=y | ||
| 507 | |||
| 508 | # | ||
| 509 | # Sonics Silicon Backplane | ||
| 510 | # | ||
| 511 | # CONFIG_SSB is not set | ||
| 474 | 512 | ||
| 475 | # | 513 | # |
| 476 | # Multifunction device drivers | 514 | # Multifunction device drivers |
| @@ -502,6 +540,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
| 502 | # CONFIG_NEW_LEDS is not set | 540 | # CONFIG_NEW_LEDS is not set |
| 503 | # CONFIG_ACCESSIBILITY is not set | 541 | # CONFIG_ACCESSIBILITY is not set |
| 504 | # CONFIG_RTC_CLASS is not set | 542 | # CONFIG_RTC_CLASS is not set |
| 543 | # CONFIG_DMADEVICES is not set | ||
| 505 | # CONFIG_AUXDISPLAY is not set | 544 | # CONFIG_AUXDISPLAY is not set |
| 506 | # CONFIG_UIO is not set | 545 | # CONFIG_UIO is not set |
| 507 | 546 | ||
| @@ -572,6 +611,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 572 | # CONFIG_BEFS_FS is not set | 611 | # CONFIG_BEFS_FS is not set |
| 573 | # CONFIG_BFS_FS is not set | 612 | # CONFIG_BFS_FS is not set |
| 574 | # CONFIG_EFS_FS is not set | 613 | # CONFIG_EFS_FS is not set |
| 614 | # CONFIG_LOGFS is not set | ||
| 575 | # CONFIG_CRAMFS is not set | 615 | # CONFIG_CRAMFS is not set |
| 576 | # CONFIG_SQUASHFS is not set | 616 | # CONFIG_SQUASHFS is not set |
| 577 | # CONFIG_VXFS_FS is not set | 617 | # CONFIG_VXFS_FS is not set |
| @@ -595,6 +635,7 @@ CONFIG_SUNRPC=y | |||
| 595 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 635 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
| 596 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 636 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 597 | # CONFIG_SMB_FS is not set | 637 | # CONFIG_SMB_FS is not set |
| 638 | # CONFIG_CEPH_FS is not set | ||
| 598 | CONFIG_CIFS=y | 639 | CONFIG_CIFS=y |
| 599 | CONFIG_CIFS_STATS=y | 640 | CONFIG_CIFS_STATS=y |
| 600 | CONFIG_CIFS_STATS2=y | 641 | CONFIG_CIFS_STATS2=y |
| @@ -696,6 +737,7 @@ CONFIG_SCHED_DEBUG=y | |||
| 696 | # CONFIG_DEBUG_OBJECTS is not set | 737 | # CONFIG_DEBUG_OBJECTS is not set |
| 697 | CONFIG_DEBUG_SLAB=y | 738 | CONFIG_DEBUG_SLAB=y |
| 698 | # CONFIG_DEBUG_SLAB_LEAK is not set | 739 | # CONFIG_DEBUG_SLAB_LEAK is not set |
| 740 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 699 | CONFIG_DEBUG_SPINLOCK=y | 741 | CONFIG_DEBUG_SPINLOCK=y |
| 700 | # CONFIG_DEBUG_MUTEXES is not set | 742 | # CONFIG_DEBUG_MUTEXES is not set |
| 701 | # CONFIG_DEBUG_LOCK_ALLOC is not set | 743 | # CONFIG_DEBUG_LOCK_ALLOC is not set |
| @@ -741,6 +783,7 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
| 741 | # CONFIG_KMEMTRACE is not set | 783 | # CONFIG_KMEMTRACE is not set |
| 742 | # CONFIG_WORKQUEUE_TRACER is not set | 784 | # CONFIG_WORKQUEUE_TRACER is not set |
| 743 | # CONFIG_BLK_DEV_IO_TRACE is not set | 785 | # CONFIG_BLK_DEV_IO_TRACE is not set |
| 786 | # CONFIG_DMA_API_DEBUG is not set | ||
| 744 | # CONFIG_SAMPLES is not set | 787 | # CONFIG_SAMPLES is not set |
| 745 | CONFIG_EARLY_PRINTK=y | 788 | CONFIG_EARLY_PRINTK=y |
| 746 | # CONFIG_HEART_BEAT is not set | 789 | # CONFIG_HEART_BEAT is not set |
| @@ -862,5 +905,6 @@ CONFIG_ZLIB_INFLATE=y | |||
| 862 | CONFIG_DECOMPRESS_GZIP=y | 905 | CONFIG_DECOMPRESS_GZIP=y |
| 863 | CONFIG_HAS_IOMEM=y | 906 | CONFIG_HAS_IOMEM=y |
| 864 | CONFIG_HAS_IOPORT=y | 907 | CONFIG_HAS_IOPORT=y |
| 908 | CONFIG_HAS_DMA=y | ||
| 865 | CONFIG_HAVE_LMB=y | 909 | CONFIG_HAVE_LMB=y |
| 866 | CONFIG_NLATTR=y | 910 | CONFIG_NLATTR=y |
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index ce2da535246..dd3a494257f 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_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.33-rc6 | 3 | # Linux kernel version: 2.6.34-rc6 |
| 4 | # Wed Feb 3 10:03:21 2010 | 4 | # Thu May 6 11:25:12 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
| 7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
| @@ -22,8 +22,6 @@ CONFIG_GENERIC_CSUM=y | |||
| 22 | CONFIG_STACKTRACE_SUPPORT=y | 22 | CONFIG_STACKTRACE_SUPPORT=y |
| 23 | CONFIG_LOCKDEP_SUPPORT=y | 23 | CONFIG_LOCKDEP_SUPPORT=y |
| 24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
| 25 | # CONFIG_PCI is not set | ||
| 26 | CONFIG_NO_DMA=y | ||
| 27 | CONFIG_DTC=y | 25 | CONFIG_DTC=y |
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 29 | CONFIG_CONSTRUCTORS=y | 27 | CONFIG_CONSTRUCTORS=y |
| @@ -58,7 +56,6 @@ CONFIG_RCU_FANOUT=32 | |||
| 58 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
| 59 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
| 60 | CONFIG_LOG_BUF_SHIFT=17 | 58 | CONFIG_LOG_BUF_SHIFT=17 |
| 61 | # CONFIG_GROUP_SCHED is not set | ||
| 62 | # CONFIG_CGROUPS is not set | 59 | # CONFIG_CGROUPS is not set |
| 63 | CONFIG_SYSFS_DEPRECATED=y | 60 | CONFIG_SYSFS_DEPRECATED=y |
| 64 | CONFIG_SYSFS_DEPRECATED_V2=y | 61 | CONFIG_SYSFS_DEPRECATED_V2=y |
| @@ -96,6 +93,8 @@ CONFIG_SLAB=y | |||
| 96 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | 93 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set |
| 97 | # CONFIG_PROFILING is not set | 94 | # CONFIG_PROFILING is not set |
| 98 | CONFIG_HAVE_OPROFILE=y | 95 | CONFIG_HAVE_OPROFILE=y |
| 96 | CONFIG_HAVE_DMA_ATTRS=y | ||
| 97 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
| 99 | 98 | ||
| 100 | # | 99 | # |
| 101 | # GCOV-based kernel profiling | 100 | # GCOV-based kernel profiling |
| @@ -209,11 +208,14 @@ CONFIG_PROC_DEVICETREE=y | |||
| 209 | # | 208 | # |
| 210 | # Advanced setup | 209 | # Advanced setup |
| 211 | # | 210 | # |
| 211 | # CONFIG_ADVANCED_OPTIONS is not set | ||
| 212 | 212 | ||
| 213 | # | 213 | # |
| 214 | # Default settings for advanced configuration options are used | 214 | # Default settings for advanced configuration options are used |
| 215 | # | 215 | # |
| 216 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
| 216 | CONFIG_KERNEL_START=0x90000000 | 217 | CONFIG_KERNEL_START=0x90000000 |
| 218 | CONFIG_TASK_SIZE=0x80000000 | ||
| 217 | CONFIG_SELECT_MEMORY_MODEL=y | 219 | CONFIG_SELECT_MEMORY_MODEL=y |
| 218 | CONFIG_FLATMEM_MANUAL=y | 220 | CONFIG_FLATMEM_MANUAL=y |
| 219 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 221 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| @@ -235,13 +237,20 @@ CONFIG_BINFMT_FLAT=y | |||
| 235 | # CONFIG_BINFMT_SHARED_FLAT is not set | 237 | # CONFIG_BINFMT_SHARED_FLAT is not set |
| 236 | # CONFIG_HAVE_AOUT is not set | 238 | # CONFIG_HAVE_AOUT is not set |
| 237 | # CONFIG_BINFMT_MISC is not set | 239 | # CONFIG_BINFMT_MISC is not set |
| 240 | |||
| 241 | # | ||
| 242 | # Bus Options | ||
| 243 | # | ||
| 244 | # CONFIG_PCI is not set | ||
| 245 | # CONFIG_PCI_DOMAINS is not set | ||
| 246 | # CONFIG_PCI_SYSCALL is not set | ||
| 247 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 238 | CONFIG_NET=y | 248 | CONFIG_NET=y |
| 239 | 249 | ||
| 240 | # | 250 | # |
| 241 | # Networking options | 251 | # Networking options |
| 242 | # | 252 | # |
| 243 | CONFIG_PACKET=y | 253 | CONFIG_PACKET=y |
| 244 | # CONFIG_PACKET_MMAP is not set | ||
| 245 | CONFIG_UNIX=y | 254 | CONFIG_UNIX=y |
| 246 | CONFIG_XFRM=y | 255 | CONFIG_XFRM=y |
| 247 | # CONFIG_XFRM_USER is not set | 256 | # CONFIG_XFRM_USER is not set |
| @@ -413,6 +422,7 @@ CONFIG_MTD_UCLINUX=y | |||
| 413 | # UBI - Unsorted block images | 422 | # UBI - Unsorted block images |
| 414 | # | 423 | # |
| 415 | # CONFIG_MTD_UBI is not set | 424 | # CONFIG_MTD_UBI is not set |
| 425 | CONFIG_OF_FLATTREE=y | ||
| 416 | CONFIG_OF_DEVICE=y | 426 | CONFIG_OF_DEVICE=y |
| 417 | # CONFIG_PARPORT is not set | 427 | # CONFIG_PARPORT is not set |
| 418 | CONFIG_BLK_DEV=y | 428 | CONFIG_BLK_DEV=y |
| @@ -442,6 +452,7 @@ CONFIG_MISC_DEVICES=y | |||
| 442 | # | 452 | # |
| 443 | # SCSI device support | 453 | # SCSI device support |
| 444 | # | 454 | # |
| 455 | CONFIG_SCSI_MOD=y | ||
| 445 | # CONFIG_RAID_ATTRS is not set | 456 | # CONFIG_RAID_ATTRS is not set |
| 446 | # CONFIG_SCSI is not set | 457 | # CONFIG_SCSI is not set |
| 447 | # CONFIG_SCSI_DMA is not set | 458 | # CONFIG_SCSI_DMA is not set |
| @@ -458,6 +469,7 @@ CONFIG_NETDEVICES=y | |||
| 458 | # CONFIG_PHYLIB is not set | 469 | # CONFIG_PHYLIB is not set |
| 459 | CONFIG_NET_ETHERNET=y | 470 | CONFIG_NET_ETHERNET=y |
| 460 | # CONFIG_MII is not set | 471 | # CONFIG_MII is not set |
| 472 | # CONFIG_ETHOC is not set | ||
| 461 | # CONFIG_DNET is not set | 473 | # CONFIG_DNET is not set |
| 462 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 474 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 463 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 475 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| @@ -466,6 +478,7 @@ CONFIG_NET_ETHERNET=y | |||
| 466 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | 478 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set |
| 467 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 479 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
| 468 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 480 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
| 481 | # CONFIG_B44 is not set | ||
| 469 | # CONFIG_KS8842 is not set | 482 | # CONFIG_KS8842 is not set |
| 470 | # CONFIG_KS8851_MLL is not set | 483 | # CONFIG_KS8851_MLL is not set |
| 471 | # CONFIG_XILINX_EMACLITE is not set | 484 | # CONFIG_XILINX_EMACLITE is not set |
| @@ -516,6 +529,7 @@ CONFIG_SERIAL_UARTLITE=y | |||
| 516 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 529 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
| 517 | CONFIG_SERIAL_CORE=y | 530 | CONFIG_SERIAL_CORE=y |
| 518 | CONFIG_SERIAL_CORE_CONSOLE=y | 531 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 532 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
| 519 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 533 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
| 520 | CONFIG_UNIX98_PTYS=y | 534 | CONFIG_UNIX98_PTYS=y |
| 521 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 535 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
| @@ -544,6 +558,12 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
| 544 | # CONFIG_HWMON is not set | 558 | # CONFIG_HWMON is not set |
| 545 | # CONFIG_THERMAL is not set | 559 | # CONFIG_THERMAL is not set |
| 546 | # CONFIG_WATCHDOG is not set | 560 | # CONFIG_WATCHDOG is not set |
| 561 | CONFIG_SSB_POSSIBLE=y | ||
| 562 | |||
| 563 | # | ||
| 564 | # Sonics Silicon Backplane | ||
| 565 | # | ||
| 566 | # CONFIG_SSB is not set | ||
| 547 | 567 | ||
| 548 | # | 568 | # |
| 549 | # Multifunction device drivers | 569 | # Multifunction device drivers |
| @@ -593,6 +613,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
| 593 | # CONFIG_NEW_LEDS is not set | 613 | # CONFIG_NEW_LEDS is not set |
| 594 | # CONFIG_ACCESSIBILITY is not set | 614 | # CONFIG_ACCESSIBILITY is not set |
| 595 | # CONFIG_RTC_CLASS is not set | 615 | # CONFIG_RTC_CLASS is not set |
| 616 | # CONFIG_DMADEVICES is not set | ||
| 596 | # CONFIG_AUXDISPLAY is not set | 617 | # CONFIG_AUXDISPLAY is not set |
| 597 | # CONFIG_UIO is not set | 618 | # CONFIG_UIO is not set |
| 598 | 619 | ||
| @@ -661,6 +682,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 661 | # CONFIG_BFS_FS is not set | 682 | # CONFIG_BFS_FS is not set |
| 662 | # CONFIG_EFS_FS is not set | 683 | # CONFIG_EFS_FS is not set |
| 663 | # CONFIG_JFFS2_FS is not set | 684 | # CONFIG_JFFS2_FS is not set |
| 685 | # CONFIG_LOGFS is not set | ||
| 664 | CONFIG_CRAMFS=y | 686 | CONFIG_CRAMFS=y |
| 665 | # CONFIG_SQUASHFS is not set | 687 | # CONFIG_SQUASHFS is not set |
| 666 | # CONFIG_VXFS_FS is not set | 688 | # CONFIG_VXFS_FS is not set |
| @@ -689,6 +711,7 @@ CONFIG_SUNRPC=y | |||
| 689 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 711 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
| 690 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 712 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 691 | # CONFIG_SMB_FS is not set | 713 | # CONFIG_SMB_FS is not set |
| 714 | # CONFIG_CEPH_FS is not set | ||
| 692 | # CONFIG_CIFS is not set | 715 | # CONFIG_CIFS is not set |
| 693 | # CONFIG_NCP_FS is not set | 716 | # CONFIG_NCP_FS is not set |
| 694 | # CONFIG_CODA_FS is not set | 717 | # CONFIG_CODA_FS is not set |
| @@ -733,6 +756,7 @@ CONFIG_DEBUG_OBJECTS_TIMERS=y | |||
| 733 | # CONFIG_DEBUG_OBJECTS_WORK is not set | 756 | # CONFIG_DEBUG_OBJECTS_WORK is not set |
| 734 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 | 757 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 |
| 735 | # CONFIG_DEBUG_SLAB is not set | 758 | # CONFIG_DEBUG_SLAB is not set |
| 759 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 736 | # CONFIG_DEBUG_RT_MUTEXES is not set | 760 | # CONFIG_DEBUG_RT_MUTEXES is not set |
| 737 | # CONFIG_RT_MUTEX_TESTER is not set | 761 | # CONFIG_RT_MUTEX_TESTER is not set |
| 738 | # CONFIG_DEBUG_SPINLOCK is not set | 762 | # CONFIG_DEBUG_SPINLOCK is not set |
| @@ -758,6 +782,7 @@ CONFIG_DEBUG_SG=y | |||
| 758 | # CONFIG_BACKTRACE_SELF_TEST is not set | 782 | # CONFIG_BACKTRACE_SELF_TEST is not set |
| 759 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 783 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
| 760 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 784 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
| 785 | # CONFIG_LKDTM is not set | ||
| 761 | # CONFIG_FAULT_INJECTION is not set | 786 | # CONFIG_FAULT_INJECTION is not set |
| 762 | # CONFIG_LATENCYTOP is not set | 787 | # CONFIG_LATENCYTOP is not set |
| 763 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 788 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| @@ -782,6 +807,7 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
| 782 | # CONFIG_WORKQUEUE_TRACER is not set | 807 | # CONFIG_WORKQUEUE_TRACER is not set |
| 783 | # CONFIG_BLK_DEV_IO_TRACE is not set | 808 | # CONFIG_BLK_DEV_IO_TRACE is not set |
| 784 | # CONFIG_DYNAMIC_DEBUG is not set | 809 | # CONFIG_DYNAMIC_DEBUG is not set |
| 810 | # CONFIG_DMA_API_DEBUG is not set | ||
| 785 | # CONFIG_SAMPLES is not set | 811 | # CONFIG_SAMPLES is not set |
| 786 | CONFIG_EARLY_PRINTK=y | 812 | CONFIG_EARLY_PRINTK=y |
| 787 | # CONFIG_HEART_BEAT is not set | 813 | # CONFIG_HEART_BEAT is not set |
| @@ -901,5 +927,6 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
| 901 | CONFIG_ZLIB_INFLATE=y | 927 | CONFIG_ZLIB_INFLATE=y |
| 902 | CONFIG_HAS_IOMEM=y | 928 | CONFIG_HAS_IOMEM=y |
| 903 | CONFIG_HAS_IOPORT=y | 929 | CONFIG_HAS_IOPORT=y |
| 930 | CONFIG_HAS_DMA=y | ||
| 904 | CONFIG_HAVE_LMB=y | 931 | CONFIG_HAVE_LMB=y |
| 905 | CONFIG_NLATTR=y | 932 | CONFIG_NLATTR=y |
diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h index e52210891d7..4efe96a036f 100644 --- a/arch/microblaze/include/asm/cache.h +++ b/arch/microblaze/include/asm/cache.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | #include <asm/registers.h> | 16 | #include <asm/registers.h> |
| 17 | 17 | ||
| 18 | #define L1_CACHE_SHIFT 2 | 18 | #define L1_CACHE_SHIFT 5 |
| 19 | /* word-granular cache in microblaze */ | 19 | /* word-granular cache in microblaze */ |
| 20 | #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) | 20 | #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) |
| 21 | 21 | ||
diff --git a/arch/microblaze/include/asm/dma.h b/arch/microblaze/include/asm/dma.h index 08c073badf1..0d73d0c6de3 100644 --- a/arch/microblaze/include/asm/dma.h +++ b/arch/microblaze/include/asm/dma.h | |||
| @@ -18,4 +18,10 @@ | |||
| 18 | #define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1) | 18 | #define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1) |
| 19 | #endif | 19 | #endif |
| 20 | 20 | ||
| 21 | #ifdef CONFIG_PCI | ||
| 22 | extern int isa_dma_bridge_buggy; | ||
| 23 | #else | ||
| 24 | #define isa_dma_bridge_buggy (0) | ||
| 25 | #endif | ||
| 26 | |||
| 21 | #endif /* _ASM_MICROBLAZE_DMA_H */ | 27 | #endif /* _ASM_MICROBLAZE_DMA_H */ |
diff --git a/arch/microblaze/include/asm/exceptions.h b/arch/microblaze/include/asm/exceptions.h index 90731df9e57..4c7b5d037c8 100644 --- a/arch/microblaze/include/asm/exceptions.h +++ b/arch/microblaze/include/asm/exceptions.h | |||
| @@ -64,12 +64,6 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type, | |||
| 64 | void die(const char *str, struct pt_regs *fp, long err); | 64 | void die(const char *str, struct pt_regs *fp, long err); |
| 65 | void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr); | 65 | void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr); |
| 66 | 66 | ||
| 67 | #ifdef CONFIG_MMU | ||
| 68 | void __bug(const char *file, int line, void *data); | ||
| 69 | int bad_trap(int trap_num, struct pt_regs *regs); | ||
| 70 | int debug_trap(struct pt_regs *regs); | ||
| 71 | #endif /* CONFIG_MMU */ | ||
| 72 | |||
| 73 | #if defined(CONFIG_KGDB) | 67 | #if defined(CONFIG_KGDB) |
| 74 | void (*debugger)(struct pt_regs *regs); | 68 | void (*debugger)(struct pt_regs *regs); |
| 75 | int (*debugger_bpt)(struct pt_regs *regs); | 69 | int (*debugger_bpt)(struct pt_regs *regs); |
diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index e45a6eea92e..00b5398d08c 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h | |||
| @@ -139,8 +139,6 @@ static inline void writel(unsigned int v, volatile void __iomem *addr) | |||
| 139 | 139 | ||
| 140 | #ifdef CONFIG_MMU | 140 | #ifdef CONFIG_MMU |
| 141 | 141 | ||
| 142 | #define mm_ptov(addr) ((void *)__phys_to_virt(addr)) | ||
| 143 | #define mm_vtop(addr) ((unsigned long)__virt_to_phys(addr)) | ||
| 144 | #define phys_to_virt(addr) ((void *)__phys_to_virt(addr)) | 142 | #define phys_to_virt(addr) ((void *)__phys_to_virt(addr)) |
| 145 | #define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr)) | 143 | #define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr)) |
| 146 | #define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr)) | 144 | #define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr)) |
diff --git a/arch/microblaze/include/asm/page.h b/arch/microblaze/include/asm/page.h index 2dd1d04129e..de493f86d28 100644 --- a/arch/microblaze/include/asm/page.h +++ b/arch/microblaze/include/asm/page.h | |||
| @@ -31,6 +31,9 @@ | |||
| 31 | 31 | ||
| 32 | #ifndef __ASSEMBLY__ | 32 | #ifndef __ASSEMBLY__ |
| 33 | 33 | ||
| 34 | /* MS be sure that SLAB allocates aligned objects */ | ||
| 35 | #define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES | ||
| 36 | |||
| 34 | #define PAGE_UP(addr) (((addr)+((PAGE_SIZE)-1))&(~((PAGE_SIZE)-1))) | 37 | #define PAGE_UP(addr) (((addr)+((PAGE_SIZE)-1))&(~((PAGE_SIZE)-1))) |
| 35 | #define PAGE_DOWN(addr) ((addr)&(~((PAGE_SIZE)-1))) | 38 | #define PAGE_DOWN(addr) ((addr)&(~((PAGE_SIZE)-1))) |
| 36 | 39 | ||
| @@ -70,14 +73,7 @@ typedef unsigned long pte_basic_t; | |||
| 70 | 73 | ||
| 71 | #endif /* CONFIG_MMU */ | 74 | #endif /* CONFIG_MMU */ |
| 72 | 75 | ||
| 73 | # ifndef CONFIG_MMU | 76 | # define copy_page(to, from) memcpy((to), (from), PAGE_SIZE) |
| 74 | # define copy_page(to, from) memcpy((to), (from), PAGE_SIZE) | ||
| 75 | # define get_user_page(vaddr) __get_free_page(GFP_KERNEL) | ||
| 76 | # define free_user_page(page, addr) free_page(addr) | ||
| 77 | # else /* CONFIG_MMU */ | ||
| 78 | extern void copy_page(void *to, void *from); | ||
| 79 | # endif /* CONFIG_MMU */ | ||
| 80 | |||
| 81 | # define clear_page(pgaddr) memset((pgaddr), 0, PAGE_SIZE) | 77 | # define clear_page(pgaddr) memset((pgaddr), 0, PAGE_SIZE) |
| 82 | 78 | ||
| 83 | # define clear_user_page(pgaddr, vaddr, page) memset((pgaddr), 0, PAGE_SIZE) | 79 | # define clear_user_page(pgaddr, vaddr, page) memset((pgaddr), 0, PAGE_SIZE) |
diff --git a/arch/microblaze/include/asm/pci.h b/arch/microblaze/include/asm/pci.h index bdd65aaee30..5a388eeeb28 100644 --- a/arch/microblaze/include/asm/pci.h +++ b/arch/microblaze/include/asm/pci.h | |||
| @@ -94,14 +94,6 @@ extern int pci_mmap_legacy_page_range(struct pci_bus *bus, | |||
| 94 | 94 | ||
| 95 | #define HAVE_PCI_LEGACY 1 | 95 | #define HAVE_PCI_LEGACY 1 |
| 96 | 96 | ||
| 97 | /* pci_unmap_{page,single} is a nop so... */ | ||
| 98 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) | ||
| 99 | #define DECLARE_PCI_UNMAP_LEN(LEN_NAME) | ||
| 100 | #define pci_unmap_addr(PTR, ADDR_NAME) (0) | ||
| 101 | #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0) | ||
| 102 | #define pci_unmap_len(PTR, LEN_NAME) (0) | ||
| 103 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) | ||
| 104 | |||
| 105 | /* The PCI address space does equal the physical memory | 97 | /* The PCI address space does equal the physical memory |
| 106 | * address space (no IOMMU). The IDE and SCSI device layers use | 98 | * address space (no IOMMU). The IDE and SCSI device layers use |
| 107 | * this boolean for bounce buffer decisions. | 99 | * this boolean for bounce buffer decisions. |
diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h index f44b0d696fe..c614a893f8a 100644 --- a/arch/microblaze/include/asm/pgalloc.h +++ b/arch/microblaze/include/asm/pgalloc.h | |||
| @@ -108,21 +108,7 @@ extern inline void free_pgd_slow(pgd_t *pgd) | |||
| 108 | #define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); }) | 108 | #define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); }) |
| 109 | #define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) | 109 | #define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) |
| 110 | 110 | ||
| 111 | static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, | 111 | extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long addr); |
| 112 | unsigned long address) | ||
| 113 | { | ||
| 114 | pte_t *pte; | ||
| 115 | extern void *early_get_page(void); | ||
| 116 | if (mem_init_done) { | ||
| 117 | pte = (pte_t *)__get_free_page(GFP_KERNEL | | ||
| 118 | __GFP_REPEAT | __GFP_ZERO); | ||
| 119 | } else { | ||
| 120 | pte = (pte_t *)early_get_page(); | ||
| 121 | if (pte) | ||
| 122 | clear_page(pte); | ||
| 123 | } | ||
| 124 | return pte; | ||
| 125 | } | ||
| 126 | 112 | ||
| 127 | static inline struct page *pte_alloc_one(struct mm_struct *mm, | 113 | static inline struct page *pte_alloc_one(struct mm_struct *mm, |
| 128 | unsigned long address) | 114 | unsigned long address) |
diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h index dd2bb60651c..ca2d9287154 100644 --- a/arch/microblaze/include/asm/pgtable.h +++ b/arch/microblaze/include/asm/pgtable.h | |||
| @@ -512,15 +512,6 @@ static inline pmd_t *pmd_offset(pgd_t *dir, unsigned long address) | |||
| 512 | extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; | 512 | extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; |
| 513 | 513 | ||
| 514 | /* | 514 | /* |
| 515 | * When flushing the tlb entry for a page, we also need to flush the hash | ||
| 516 | * table entry. flush_hash_page is assembler (for speed) in hashtable.S. | ||
| 517 | */ | ||
| 518 | extern int flush_hash_page(unsigned context, unsigned long va, pte_t *ptep); | ||
| 519 | |||
| 520 | /* Add an HPTE to the hash table */ | ||
| 521 | extern void add_hash_page(unsigned context, unsigned long va, pte_t *ptep); | ||
| 522 | |||
| 523 | /* | ||
| 524 | * Encode and decode a swap entry. | 515 | * Encode and decode a swap entry. |
| 525 | * Note that the bits we use in a PTE for representing a swap entry | 516 | * Note that the bits we use in a PTE for representing a swap entry |
| 526 | * must not include the _PAGE_PRESENT bit, or the _PAGE_HASHPTE bit | 517 | * must not include the _PAGE_PRESENT bit, or the _PAGE_HASHPTE bit |
| @@ -533,15 +524,7 @@ extern void add_hash_page(unsigned context, unsigned long va, pte_t *ptep); | |||
| 533 | #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 2 }) | 524 | #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 2 }) |
| 534 | #define __swp_entry_to_pte(x) ((pte_t) { (x).val << 2 }) | 525 | #define __swp_entry_to_pte(x) ((pte_t) { (x).val << 2 }) |
| 535 | 526 | ||
| 536 | |||
| 537 | /* CONFIG_APUS */ | ||
| 538 | /* For virtual address to physical address conversion */ | ||
| 539 | extern void cache_clear(__u32 addr, int length); | ||
| 540 | extern void cache_push(__u32 addr, int length); | ||
| 541 | extern int mm_end_of_chunk(unsigned long addr, int len); | ||
| 542 | extern unsigned long iopa(unsigned long addr); | 527 | extern unsigned long iopa(unsigned long addr); |
| 543 | /* extern unsigned long mm_ptov(unsigned long addr) \ | ||
| 544 | __attribute__ ((const)); TBD */ | ||
| 545 | 528 | ||
| 546 | /* Values for nocacheflag and cmode */ | 529 | /* Values for nocacheflag and cmode */ |
| 547 | /* These are not used by the APUS kernel_map, but prevents | 530 | /* These are not used by the APUS kernel_map, but prevents |
| @@ -552,18 +535,6 @@ extern unsigned long iopa(unsigned long addr); | |||
| 552 | #define IOMAP_NOCACHE_NONSER 2 | 535 | #define IOMAP_NOCACHE_NONSER 2 |
| 553 | #define IOMAP_NO_COPYBACK 3 | 536 | #define IOMAP_NO_COPYBACK 3 |
| 554 | 537 | ||
| 555 | /* | ||
| 556 | * Map some physical address range into the kernel address space. | ||
| 557 | */ | ||
| 558 | extern unsigned long kernel_map(unsigned long paddr, unsigned long size, | ||
| 559 | int nocacheflag, unsigned long *memavailp); | ||
| 560 | |||
| 561 | /* | ||
| 562 | * Set cache mode of (kernel space) address range. | ||
| 563 | */ | ||
| 564 | extern void kernel_set_cachemode(unsigned long address, unsigned long size, | ||
| 565 | unsigned int cmode); | ||
| 566 | |||
| 567 | /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */ | 538 | /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */ |
| 568 | #define kern_addr_valid(addr) (1) | 539 | #define kern_addr_valid(addr) (1) |
| 569 | 540 | ||
| @@ -577,10 +548,6 @@ extern void kernel_set_cachemode(unsigned long address, unsigned long size, | |||
| 577 | void do_page_fault(struct pt_regs *regs, unsigned long address, | 548 | void do_page_fault(struct pt_regs *regs, unsigned long address, |
| 578 | unsigned long error_code); | 549 | unsigned long error_code); |
| 579 | 550 | ||
| 580 | void __init io_block_mapping(unsigned long virt, phys_addr_t phys, | ||
| 581 | unsigned int size, int flags); | ||
| 582 | |||
| 583 | void __init adjust_total_lowmem(void); | ||
| 584 | void mapin_ram(void); | 551 | void mapin_ram(void); |
| 585 | int map_page(unsigned long va, phys_addr_t pa, int flags); | 552 | int map_page(unsigned long va, phys_addr_t pa, int flags); |
| 586 | 553 | ||
| @@ -601,7 +568,7 @@ void __init *early_get_page(void); | |||
| 601 | extern unsigned long ioremap_bot, ioremap_base; | 568 | extern unsigned long ioremap_bot, ioremap_base; |
| 602 | 569 | ||
| 603 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle); | 570 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle); |
| 604 | void consistent_free(void *vaddr); | 571 | void consistent_free(size_t size, void *vaddr); |
| 605 | void consistent_sync(void *vaddr, size_t size, int direction); | 572 | void consistent_sync(void *vaddr, size_t size, int direction); |
| 606 | void consistent_sync_page(struct page *page, unsigned long offset, | 573 | void consistent_sync_page(struct page *page, unsigned long offset, |
| 607 | size_t size, int direction); | 574 | size_t size, int direction); |
diff --git a/arch/microblaze/kernel/asm-offsets.c b/arch/microblaze/kernel/asm-offsets.c index 0071260a672..c1b459c9757 100644 --- a/arch/microblaze/kernel/asm-offsets.c +++ b/arch/microblaze/kernel/asm-offsets.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/hardirq.h> | 16 | #include <linux/hardirq.h> |
| 17 | #include <linux/thread_info.h> | 17 | #include <linux/thread_info.h> |
| 18 | #include <linux/kbuild.h> | 18 | #include <linux/kbuild.h> |
| 19 | #include <asm/cpuinfo.h> | ||
| 19 | 20 | ||
| 20 | int main(int argc, char *argv[]) | 21 | int main(int argc, char *argv[]) |
| 21 | { | 22 | { |
diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c index f04d8a86dea..21c3a92394d 100644 --- a/arch/microblaze/kernel/cpu/cache.c +++ b/arch/microblaze/kernel/cpu/cache.c | |||
| @@ -96,13 +96,16 @@ static inline void __disable_dcache_nomsr(void) | |||
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | 98 | ||
| 99 | /* Helper macro for computing the limits of cache range loops */ | 99 | /* Helper macro for computing the limits of cache range loops |
| 100 | * | ||
| 101 | * End address can be unaligned which is OK for C implementation. | ||
| 102 | * ASM implementation align it in ASM macros | ||
| 103 | */ | ||
| 100 | #define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size) \ | 104 | #define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size) \ |
| 101 | do { \ | 105 | do { \ |
| 102 | int align = ~(cache_line_length - 1); \ | 106 | int align = ~(cache_line_length - 1); \ |
| 103 | end = min(start + cache_size, end); \ | 107 | end = min(start + cache_size, end); \ |
| 104 | start &= align; \ | 108 | start &= align; \ |
| 105 | end = ((end & align) + cache_line_length); \ | ||
| 106 | } while (0); | 109 | } while (0); |
| 107 | 110 | ||
| 108 | /* | 111 | /* |
| @@ -111,9 +114,9 @@ do { \ | |||
| 111 | */ | 114 | */ |
| 112 | #define CACHE_ALL_LOOP(cache_size, line_length, op) \ | 115 | #define CACHE_ALL_LOOP(cache_size, line_length, op) \ |
| 113 | do { \ | 116 | do { \ |
| 114 | unsigned int len = cache_size; \ | 117 | unsigned int len = cache_size - line_length; \ |
| 115 | int step = -line_length; \ | 118 | int step = -line_length; \ |
| 116 | BUG_ON(step >= 0); \ | 119 | WARN_ON(step >= 0); \ |
| 117 | \ | 120 | \ |
| 118 | __asm__ __volatile__ (" 1: " #op " %0, r0; \ | 121 | __asm__ __volatile__ (" 1: " #op " %0, r0; \ |
| 119 | bgtid %0, 1b; \ | 122 | bgtid %0, 1b; \ |
| @@ -122,26 +125,21 @@ do { \ | |||
| 122 | : "memory"); \ | 125 | : "memory"); \ |
| 123 | } while (0); | 126 | } while (0); |
| 124 | 127 | ||
| 125 | 128 | /* Used for wdc.flush/clear which can use rB for offset which is not possible | |
| 126 | #define CACHE_ALL_LOOP2(cache_size, line_length, op) \ | 129 | * to use for simple wdc or wic. |
| 127 | do { \ | 130 | * |
| 128 | unsigned int len = cache_size; \ | 131 | * start address is cache aligned |
| 129 | int step = -line_length; \ | 132 | * end address is not aligned, if end is aligned then I have to substract |
| 130 | BUG_ON(step >= 0); \ | 133 | * cacheline length because I can't flush/invalidate the next cacheline. |
| 131 | \ | 134 | * If is not, I align it because I will flush/invalidate whole line. |
| 132 | __asm__ __volatile__ (" 1: " #op " r0, %0; \ | 135 | */ |
| 133 | bgtid %0, 1b; \ | ||
| 134 | addk %0, %0, %1; \ | ||
| 135 | " : : "r" (len), "r" (step) \ | ||
| 136 | : "memory"); \ | ||
| 137 | } while (0); | ||
| 138 | |||
| 139 | /* for wdc.flush/clear */ | ||
| 140 | #define CACHE_RANGE_LOOP_2(start, end, line_length, op) \ | 136 | #define CACHE_RANGE_LOOP_2(start, end, line_length, op) \ |
| 141 | do { \ | 137 | do { \ |
| 142 | int step = -line_length; \ | 138 | int step = -line_length; \ |
| 139 | int align = ~(line_length - 1); \ | ||
| 140 | end = ((end & align) == end) ? end - line_length : end & align; \ | ||
| 143 | int count = end - start; \ | 141 | int count = end - start; \ |
| 144 | BUG_ON(count <= 0); \ | 142 | WARN_ON(count < 0); \ |
| 145 | \ | 143 | \ |
| 146 | __asm__ __volatile__ (" 1: " #op " %0, %1; \ | 144 | __asm__ __volatile__ (" 1: " #op " %0, %1; \ |
| 147 | bgtid %1, 1b; \ | 145 | bgtid %1, 1b; \ |
| @@ -154,7 +152,9 @@ do { \ | |||
| 154 | #define CACHE_RANGE_LOOP_1(start, end, line_length, op) \ | 152 | #define CACHE_RANGE_LOOP_1(start, end, line_length, op) \ |
| 155 | do { \ | 153 | do { \ |
| 156 | int volatile temp; \ | 154 | int volatile temp; \ |
| 157 | BUG_ON(end - start <= 0); \ | 155 | int align = ~(line_length - 1); \ |
| 156 | end = ((end & align) == end) ? end - line_length : end & align; \ | ||
| 157 | WARN_ON(end - start < 0); \ | ||
| 158 | \ | 158 | \ |
| 159 | __asm__ __volatile__ (" 1: " #op " %1, r0; \ | 159 | __asm__ __volatile__ (" 1: " #op " %1, r0; \ |
| 160 | cmpu %0, %1, %2; \ | 160 | cmpu %0, %1, %2; \ |
| @@ -360,8 +360,12 @@ static void __invalidate_dcache_all_noirq_wt(void) | |||
| 360 | #endif | 360 | #endif |
| 361 | } | 361 | } |
| 362 | 362 | ||
| 363 | /* FIXME this is weird - should be only wdc but not work | 363 | /* FIXME It is blindly invalidation as is expected |
| 364 | * MS: I am getting bus errors and other weird things */ | 364 | * but can't be called on noMMU in microblaze_cache_init below |
| 365 | * | ||
| 366 | * MS: noMMU kernel won't boot if simple wdc is used | ||
| 367 | * The reason should be that there are discared data which kernel needs | ||
| 368 | */ | ||
| 365 | static void __invalidate_dcache_all_wb(void) | 369 | static void __invalidate_dcache_all_wb(void) |
| 366 | { | 370 | { |
| 367 | #ifndef ASM_LOOP | 371 | #ifndef ASM_LOOP |
| @@ -369,12 +373,12 @@ static void __invalidate_dcache_all_wb(void) | |||
| 369 | #endif | 373 | #endif |
| 370 | pr_debug("%s\n", __func__); | 374 | pr_debug("%s\n", __func__); |
| 371 | #ifdef ASM_LOOP | 375 | #ifdef ASM_LOOP |
| 372 | CACHE_ALL_LOOP2(cpuinfo.dcache_size, cpuinfo.dcache_line_length, | 376 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, |
| 373 | wdc.clear) | 377 | wdc) |
| 374 | #else | 378 | #else |
| 375 | for (i = 0; i < cpuinfo.dcache_size; | 379 | for (i = 0; i < cpuinfo.dcache_size; |
| 376 | i += cpuinfo.dcache_line_length) | 380 | i += cpuinfo.dcache_line_length) |
| 377 | __asm__ __volatile__ ("wdc.clear %0, r0;" \ | 381 | __asm__ __volatile__ ("wdc %0, r0;" \ |
| 378 | : : "r" (i)); | 382 | : : "r" (i)); |
| 379 | #endif | 383 | #endif |
| 380 | } | 384 | } |
| @@ -393,7 +397,7 @@ static void __invalidate_dcache_range_wb(unsigned long start, | |||
| 393 | #ifdef ASM_LOOP | 397 | #ifdef ASM_LOOP |
| 394 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear); | 398 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear); |
| 395 | #else | 399 | #else |
| 396 | for (i = start; i < end; i += cpuinfo.icache_line_length) | 400 | for (i = start; i < end; i += cpuinfo.dcache_line_length) |
| 397 | __asm__ __volatile__ ("wdc.clear %0, r0;" \ | 401 | __asm__ __volatile__ ("wdc.clear %0, r0;" \ |
| 398 | : : "r" (i)); | 402 | : : "r" (i)); |
| 399 | #endif | 403 | #endif |
| @@ -413,7 +417,7 @@ static void __invalidate_dcache_range_nomsr_wt(unsigned long start, | |||
| 413 | #ifdef ASM_LOOP | 417 | #ifdef ASM_LOOP |
| 414 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | 418 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); |
| 415 | #else | 419 | #else |
| 416 | for (i = start; i < end; i += cpuinfo.icache_line_length) | 420 | for (i = start; i < end; i += cpuinfo.dcache_line_length) |
| 417 | __asm__ __volatile__ ("wdc %0, r0;" \ | 421 | __asm__ __volatile__ ("wdc %0, r0;" \ |
| 418 | : : "r" (i)); | 422 | : : "r" (i)); |
| 419 | #endif | 423 | #endif |
| @@ -437,7 +441,7 @@ static void __invalidate_dcache_range_msr_irq_wt(unsigned long start, | |||
| 437 | #ifdef ASM_LOOP | 441 | #ifdef ASM_LOOP |
| 438 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | 442 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); |
| 439 | #else | 443 | #else |
| 440 | for (i = start; i < end; i += cpuinfo.icache_line_length) | 444 | for (i = start; i < end; i += cpuinfo.dcache_line_length) |
| 441 | __asm__ __volatile__ ("wdc %0, r0;" \ | 445 | __asm__ __volatile__ ("wdc %0, r0;" \ |
| 442 | : : "r" (i)); | 446 | : : "r" (i)); |
| 443 | #endif | 447 | #endif |
| @@ -465,7 +469,7 @@ static void __invalidate_dcache_range_nomsr_irq(unsigned long start, | |||
| 465 | #ifdef ASM_LOOP | 469 | #ifdef ASM_LOOP |
| 466 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | 470 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); |
| 467 | #else | 471 | #else |
| 468 | for (i = start; i < end; i += cpuinfo.icache_line_length) | 472 | for (i = start; i < end; i += cpuinfo.dcache_line_length) |
| 469 | __asm__ __volatile__ ("wdc %0, r0;" \ | 473 | __asm__ __volatile__ ("wdc %0, r0;" \ |
| 470 | : : "r" (i)); | 474 | : : "r" (i)); |
| 471 | #endif | 475 | #endif |
| @@ -504,7 +508,7 @@ static void __flush_dcache_range_wb(unsigned long start, unsigned long end) | |||
| 504 | #ifdef ASM_LOOP | 508 | #ifdef ASM_LOOP |
| 505 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush); | 509 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush); |
| 506 | #else | 510 | #else |
| 507 | for (i = start; i < end; i += cpuinfo.icache_line_length) | 511 | for (i = start; i < end; i += cpuinfo.dcache_line_length) |
| 508 | __asm__ __volatile__ ("wdc.flush %0, r0;" \ | 512 | __asm__ __volatile__ ("wdc.flush %0, r0;" \ |
| 509 | : : "r" (i)); | 513 | : : "r" (i)); |
| 510 | #endif | 514 | #endif |
| @@ -650,7 +654,11 @@ void microblaze_cache_init(void) | |||
| 650 | } | 654 | } |
| 651 | } | 655 | } |
| 652 | } | 656 | } |
| 653 | invalidate_dcache(); | 657 | /* FIXME Invalidation is done in U-BOOT |
| 658 | * WT cache: Data is already written to main memory | ||
| 659 | * WB cache: Discard data on noMMU which caused that kernel doesn't boot | ||
| 660 | */ | ||
| 661 | /* invalidate_dcache(); */ | ||
| 654 | enable_dcache(); | 662 | enable_dcache(); |
| 655 | 663 | ||
| 656 | invalidate_icache(); | 664 | invalidate_icache(); |
diff --git a/arch/microblaze/kernel/cpu/mb.c b/arch/microblaze/kernel/cpu/mb.c index 0c912b2a8e0..4216eb1eaa3 100644 --- a/arch/microblaze/kernel/cpu/mb.c +++ b/arch/microblaze/kernel/cpu/mb.c | |||
| @@ -98,15 +98,17 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
| 98 | 98 | ||
| 99 | if (cpuinfo.use_icache) | 99 | if (cpuinfo.use_icache) |
| 100 | count += seq_printf(m, | 100 | count += seq_printf(m, |
| 101 | "Icache:\t\t%ukB\n", | 101 | "Icache:\t\t%ukB\tline length:\t%dB\n", |
| 102 | cpuinfo.icache_size >> 10); | 102 | cpuinfo.icache_size >> 10, |
| 103 | cpuinfo.icache_line_length); | ||
| 103 | else | 104 | else |
| 104 | count += seq_printf(m, "Icache:\t\tno\n"); | 105 | count += seq_printf(m, "Icache:\t\tno\n"); |
| 105 | 106 | ||
| 106 | if (cpuinfo.use_dcache) { | 107 | if (cpuinfo.use_dcache) { |
| 107 | count += seq_printf(m, | 108 | count += seq_printf(m, |
| 108 | "Dcache:\t\t%ukB\n", | 109 | "Dcache:\t\t%ukB\tline length:\t%dB\n", |
| 109 | cpuinfo.dcache_size >> 10); | 110 | cpuinfo.dcache_size >> 10, |
| 111 | cpuinfo.dcache_line_length); | ||
| 110 | if (cpuinfo.dcache_wb) | 112 | if (cpuinfo.dcache_wb) |
| 111 | count += seq_printf(m, "\t\twrite-back\n"); | 113 | count += seq_printf(m, "\t\twrite-back\n"); |
| 112 | else | 114 | else |
diff --git a/arch/microblaze/kernel/dma.c b/arch/microblaze/kernel/dma.c index ce72dd4967c..9dcd90b5df5 100644 --- a/arch/microblaze/kernel/dma.c +++ b/arch/microblaze/kernel/dma.c | |||
| @@ -74,7 +74,7 @@ static void dma_direct_free_coherent(struct device *dev, size_t size, | |||
| 74 | void *vaddr, dma_addr_t dma_handle) | 74 | void *vaddr, dma_addr_t dma_handle) |
| 75 | { | 75 | { |
| 76 | #ifdef NOT_COHERENT_CACHE | 76 | #ifdef NOT_COHERENT_CACHE |
| 77 | consistent_free(vaddr); | 77 | consistent_free(size, vaddr); |
| 78 | #else | 78 | #else |
| 79 | free_pages((unsigned long)vaddr, get_order(size)); | 79 | free_pages((unsigned long)vaddr, get_order(size)); |
| 80 | #endif | 80 | #endif |
diff --git a/arch/microblaze/kernel/exceptions.c b/arch/microblaze/kernel/exceptions.c index d9f70f83097..02cbdfe5aa8 100644 --- a/arch/microblaze/kernel/exceptions.c +++ b/arch/microblaze/kernel/exceptions.c | |||
| @@ -121,7 +121,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type, | |||
| 121 | } | 121 | } |
| 122 | printk(KERN_WARNING "Divide by zero exception " \ | 122 | printk(KERN_WARNING "Divide by zero exception " \ |
| 123 | "in kernel mode.\n"); | 123 | "in kernel mode.\n"); |
| 124 | die("Divide by exception", regs, SIGBUS); | 124 | die("Divide by zero exception", regs, SIGBUS); |
| 125 | break; | 125 | break; |
| 126 | case MICROBLAZE_FPU_EXCEPTION: | 126 | case MICROBLAZE_FPU_EXCEPTION: |
| 127 | pr_debug(KERN_WARNING "FPU exception\n"); | 127 | pr_debug(KERN_WARNING "FPU exception\n"); |
diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S index da6a5f5dc76..1bf73988826 100644 --- a/arch/microblaze/kernel/head.S +++ b/arch/microblaze/kernel/head.S | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | * for more details. | 28 | * for more details. |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | #include <linux/init.h> | ||
| 31 | #include <linux/linkage.h> | 32 | #include <linux/linkage.h> |
| 32 | #include <asm/thread_info.h> | 33 | #include <asm/thread_info.h> |
| 33 | #include <asm/page.h> | 34 | #include <asm/page.h> |
| @@ -49,7 +50,7 @@ swapper_pg_dir: | |||
| 49 | 50 | ||
| 50 | #endif /* CONFIG_MMU */ | 51 | #endif /* CONFIG_MMU */ |
| 51 | 52 | ||
| 52 | .text | 53 | __HEAD |
| 53 | ENTRY(_start) | 54 | ENTRY(_start) |
| 54 | #if CONFIG_KERNEL_BASE_ADDR == 0 | 55 | #if CONFIG_KERNEL_BASE_ADDR == 0 |
| 55 | brai TOPHYS(real_start) | 56 | brai TOPHYS(real_start) |
diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c index 6f39e2c001f..8f120aca123 100644 --- a/arch/microblaze/kernel/irq.c +++ b/arch/microblaze/kernel/irq.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
| 12 | #include <linux/ftrace.h> | ||
| 12 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
| 13 | #include <linux/hardirq.h> | 14 | #include <linux/hardirq.h> |
| 14 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
| @@ -32,7 +33,7 @@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map); | |||
| 32 | 33 | ||
| 33 | static u32 concurrent_irq; | 34 | static u32 concurrent_irq; |
| 34 | 35 | ||
| 35 | void do_IRQ(struct pt_regs *regs) | 36 | void __irq_entry do_IRQ(struct pt_regs *regs) |
| 36 | { | 37 | { |
| 37 | unsigned int irq; | 38 | unsigned int irq; |
| 38 | struct pt_regs *old_regs = set_irq_regs(regs); | 39 | struct pt_regs *old_regs = set_irq_regs(regs); |
diff --git a/arch/microblaze/kernel/misc.S b/arch/microblaze/kernel/misc.S index 7cf86498326..0fb5fc6c1fc 100644 --- a/arch/microblaze/kernel/misc.S +++ b/arch/microblaze/kernel/misc.S | |||
| @@ -93,39 +93,3 @@ early_console_reg_tlb_alloc: | |||
| 93 | nop | 93 | nop |
| 94 | 94 | ||
| 95 | .size early_console_reg_tlb_alloc, . - early_console_reg_tlb_alloc | 95 | .size early_console_reg_tlb_alloc, . - early_console_reg_tlb_alloc |
| 96 | |||
| 97 | /* | ||
| 98 | * Copy a whole page (4096 bytes). | ||
| 99 | */ | ||
| 100 | #define COPY_16_BYTES \ | ||
| 101 | lwi r7, r6, 0; \ | ||
| 102 | lwi r8, r6, 4; \ | ||
| 103 | lwi r9, r6, 8; \ | ||
| 104 | lwi r10, r6, 12; \ | ||
| 105 | swi r7, r5, 0; \ | ||
| 106 | swi r8, r5, 4; \ | ||
| 107 | swi r9, r5, 8; \ | ||
| 108 | swi r10, r5, 12 | ||
| 109 | |||
| 110 | |||
| 111 | /* FIXME DCACHE_LINE_BYTES (CONFIG_XILINX_MICROBLAZE0_DCACHE_LINE_LEN * 4)*/ | ||
| 112 | #define DCACHE_LINE_BYTES (4 * 4) | ||
| 113 | |||
| 114 | .globl copy_page; | ||
| 115 | .type copy_page, @function | ||
| 116 | .align 4; | ||
| 117 | copy_page: | ||
| 118 | ori r11, r0, (PAGE_SIZE/DCACHE_LINE_BYTES) - 1 | ||
| 119 | _copy_page_loop: | ||
| 120 | COPY_16_BYTES | ||
| 121 | #if DCACHE_LINE_BYTES >= 32 | ||
| 122 | COPY_16_BYTES | ||
| 123 | #endif | ||
| 124 | addik r6, r6, DCACHE_LINE_BYTES | ||
| 125 | addik r5, r5, DCACHE_LINE_BYTES | ||
| 126 | bneid r11, _copy_page_loop | ||
| 127 | addik r11, r11, -1 | ||
| 128 | rtsd r15, 8 | ||
| 129 | nop | ||
| 130 | |||
| 131 | .size copy_page, . - copy_page | ||
diff --git a/arch/microblaze/kernel/traps.c b/arch/microblaze/kernel/traps.c index 5e4570ef515..75e49202a5e 100644 --- a/arch/microblaze/kernel/traps.c +++ b/arch/microblaze/kernel/traps.c | |||
| @@ -95,37 +95,3 @@ void dump_stack(void) | |||
| 95 | show_stack(NULL, NULL); | 95 | show_stack(NULL, NULL); |
| 96 | } | 96 | } |
| 97 | EXPORT_SYMBOL(dump_stack); | 97 | EXPORT_SYMBOL(dump_stack); |
| 98 | |||
| 99 | #ifdef CONFIG_MMU | ||
| 100 | void __bug(const char *file, int line, void *data) | ||
| 101 | { | ||
| 102 | if (data) | ||
| 103 | printk(KERN_CRIT "kernel BUG at %s:%d (data = %p)!\n", | ||
| 104 | file, line, data); | ||
| 105 | else | ||
| 106 | printk(KERN_CRIT "kernel BUG at %s:%d!\n", file, line); | ||
| 107 | |||
| 108 | machine_halt(); | ||
| 109 | } | ||
| 110 | |||
| 111 | int bad_trap(int trap_num, struct pt_regs *regs) | ||
| 112 | { | ||
| 113 | printk(KERN_CRIT | ||
| 114 | "unimplemented trap %d called at 0x%08lx, pid %d!\n", | ||
| 115 | trap_num, regs->pc, current->pid); | ||
| 116 | return -ENOSYS; | ||
| 117 | } | ||
| 118 | |||
| 119 | int debug_trap(struct pt_regs *regs) | ||
| 120 | { | ||
| 121 | int i; | ||
| 122 | printk(KERN_CRIT "debug trap\n"); | ||
| 123 | for (i = 0; i < 32; i++) { | ||
| 124 | /* printk("r%i:%08X\t",i,regs->gpr[i]); */ | ||
| 125 | if ((i % 4) == 3) | ||
| 126 | printk(KERN_CRIT "\n"); | ||
| 127 | } | ||
| 128 | printk(KERN_CRIT "pc:%08lX\tmsr:%08lX\n", regs->pc, regs->msr); | ||
| 129 | return -ENOSYS; | ||
| 130 | } | ||
| 131 | #endif | ||
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S index 5ef619aad63..db72d712460 100644 --- a/arch/microblaze/kernel/vmlinux.lds.S +++ b/arch/microblaze/kernel/vmlinux.lds.S | |||
| @@ -24,7 +24,8 @@ SECTIONS { | |||
| 24 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | 24 | .text : AT(ADDR(.text) - LOAD_OFFSET) { |
| 25 | _text = . ; | 25 | _text = . ; |
| 26 | _stext = . ; | 26 | _stext = . ; |
| 27 | *(.text .text.*) | 27 | HEAD_TEXT |
| 28 | TEXT_TEXT | ||
| 28 | *(.fixup) | 29 | *(.fixup) |
| 29 | EXIT_TEXT | 30 | EXIT_TEXT |
| 30 | EXIT_CALL | 31 | EXIT_CALL |
diff --git a/arch/microblaze/mm/consistent.c b/arch/microblaze/mm/consistent.c index f956e24fe49..5a59dad62bd 100644 --- a/arch/microblaze/mm/consistent.c +++ b/arch/microblaze/mm/consistent.c | |||
| @@ -42,11 +42,12 @@ | |||
| 42 | #include <linux/uaccess.h> | 42 | #include <linux/uaccess.h> |
| 43 | #include <asm/pgtable.h> | 43 | #include <asm/pgtable.h> |
| 44 | #include <asm/cpuinfo.h> | 44 | #include <asm/cpuinfo.h> |
| 45 | #include <asm/tlbflush.h> | ||
| 45 | 46 | ||
| 46 | #ifndef CONFIG_MMU | 47 | #ifndef CONFIG_MMU |
| 47 | |||
| 48 | /* I have to use dcache values because I can't relate on ram size */ | 48 | /* I have to use dcache values because I can't relate on ram size */ |
| 49 | #define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1) | 49 | # define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1) |
| 50 | #endif | ||
| 50 | 51 | ||
| 51 | /* | 52 | /* |
| 52 | * Consistent memory allocators. Used for DMA devices that want to | 53 | * Consistent memory allocators. Used for DMA devices that want to |
| @@ -60,71 +61,16 @@ | |||
| 60 | */ | 61 | */ |
| 61 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) | 62 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) |
| 62 | { | 63 | { |
| 63 | struct page *page, *end, *free; | 64 | unsigned long order, vaddr; |
| 64 | unsigned long order; | 65 | void *ret; |
| 65 | void *ret, *virt; | 66 | unsigned int i, err = 0; |
| 66 | 67 | struct page *page, *end; | |
| 67 | if (in_interrupt()) | ||
| 68 | BUG(); | ||
| 69 | |||
| 70 | size = PAGE_ALIGN(size); | ||
| 71 | order = get_order(size); | ||
| 72 | |||
| 73 | page = alloc_pages(gfp, order); | ||
| 74 | if (!page) | ||
| 75 | goto no_page; | ||
| 76 | |||
| 77 | /* We could do with a page_to_phys and page_to_bus here. */ | ||
| 78 | virt = page_address(page); | ||
| 79 | ret = ioremap(virt_to_phys(virt), size); | ||
| 80 | if (!ret) | ||
| 81 | goto no_remap; | ||
| 82 | |||
| 83 | /* | ||
| 84 | * Here's the magic! Note if the uncached shadow is not implemented, | ||
| 85 | * it's up to the calling code to also test that condition and make | ||
| 86 | * other arranegments, such as manually flushing the cache and so on. | ||
| 87 | */ | ||
| 88 | #ifdef CONFIG_XILINX_UNCACHED_SHADOW | ||
| 89 | ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK); | ||
| 90 | #endif | ||
| 91 | /* dma_handle is same as physical (shadowed) address */ | ||
| 92 | *dma_handle = (dma_addr_t)ret; | ||
| 93 | |||
| 94 | /* | ||
| 95 | * free wasted pages. We skip the first page since we know | ||
| 96 | * that it will have count = 1 and won't require freeing. | ||
| 97 | * We also mark the pages in use as reserved so that | ||
| 98 | * remap_page_range works. | ||
| 99 | */ | ||
| 100 | page = virt_to_page(virt); | ||
| 101 | free = page + (size >> PAGE_SHIFT); | ||
| 102 | end = page + (1 << order); | ||
| 103 | |||
| 104 | for (; page < end; page++) { | ||
| 105 | init_page_count(page); | ||
| 106 | if (page >= free) | ||
| 107 | __free_page(page); | ||
| 108 | else | ||
| 109 | SetPageReserved(page); | ||
| 110 | } | ||
| 111 | |||
| 112 | return ret; | ||
| 113 | no_remap: | ||
| 114 | __free_pages(page, order); | ||
| 115 | no_page: | ||
| 116 | return NULL; | ||
| 117 | } | ||
| 118 | |||
| 119 | #else | ||
| 120 | 68 | ||
| 121 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) | 69 | #ifdef CONFIG_MMU |
| 122 | { | ||
| 123 | int order, err, i; | ||
| 124 | unsigned long page, va, flags; | ||
| 125 | phys_addr_t pa; | 70 | phys_addr_t pa; |
| 126 | struct vm_struct *area; | 71 | struct vm_struct *area; |
| 127 | void *ret; | 72 | unsigned long va; |
| 73 | #endif | ||
| 128 | 74 | ||
| 129 | if (in_interrupt()) | 75 | if (in_interrupt()) |
| 130 | BUG(); | 76 | BUG(); |
| @@ -133,71 +79,133 @@ void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) | |||
| 133 | size = PAGE_ALIGN(size); | 79 | size = PAGE_ALIGN(size); |
| 134 | order = get_order(size); | 80 | order = get_order(size); |
| 135 | 81 | ||
| 136 | page = __get_free_pages(gfp, order); | 82 | vaddr = __get_free_pages(gfp, order); |
| 137 | if (!page) { | 83 | if (!vaddr) |
| 138 | BUG(); | ||
| 139 | return NULL; | 84 | return NULL; |
| 140 | } | ||
| 141 | 85 | ||
| 142 | /* | 86 | /* |
| 143 | * we need to ensure that there are no cachelines in use, | 87 | * we need to ensure that there are no cachelines in use, |
| 144 | * or worse dirty in this area. | 88 | * or worse dirty in this area. |
| 145 | */ | 89 | */ |
| 146 | flush_dcache_range(virt_to_phys(page), virt_to_phys(page) + size); | 90 | flush_dcache_range(virt_to_phys((void *)vaddr), |
| 91 | virt_to_phys((void *)vaddr) + size); | ||
| 147 | 92 | ||
| 93 | #ifndef CONFIG_MMU | ||
| 94 | ret = (void *)vaddr; | ||
| 95 | /* | ||
| 96 | * Here's the magic! Note if the uncached shadow is not implemented, | ||
| 97 | * it's up to the calling code to also test that condition and make | ||
| 98 | * other arranegments, such as manually flushing the cache and so on. | ||
| 99 | */ | ||
| 100 | # ifdef CONFIG_XILINX_UNCACHED_SHADOW | ||
| 101 | ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK); | ||
| 102 | # endif | ||
| 103 | if ((unsigned int)ret > cpuinfo.dcache_base && | ||
| 104 | (unsigned int)ret < cpuinfo.dcache_high) | ||
| 105 | printk(KERN_WARNING | ||
| 106 | "ERROR: Your cache coherent area is CACHED!!!\n"); | ||
| 107 | |||
| 108 | /* dma_handle is same as physical (shadowed) address */ | ||
| 109 | *dma_handle = (dma_addr_t)ret; | ||
| 110 | #else | ||
| 148 | /* Allocate some common virtual space to map the new pages. */ | 111 | /* Allocate some common virtual space to map the new pages. */ |
| 149 | area = get_vm_area(size, VM_ALLOC); | 112 | area = get_vm_area(size, VM_ALLOC); |
| 150 | if (area == NULL) { | 113 | if (!area) { |
| 151 | free_pages(page, order); | 114 | free_pages(vaddr, order); |
| 152 | return NULL; | 115 | return NULL; |
| 153 | } | 116 | } |
| 154 | va = (unsigned long) area->addr; | 117 | va = (unsigned long) area->addr; |
| 155 | ret = (void *)va; | 118 | ret = (void *)va; |
| 156 | 119 | ||
| 157 | /* This gives us the real physical address of the first page. */ | 120 | /* This gives us the real physical address of the first page. */ |
| 158 | *dma_handle = pa = virt_to_bus((void *)page); | 121 | *dma_handle = pa = virt_to_bus((void *)vaddr); |
| 159 | 122 | #endif | |
| 160 | /* MS: This is the whole magic - use cache inhibit pages */ | ||
| 161 | flags = _PAGE_KERNEL | _PAGE_NO_CACHE; | ||
| 162 | 123 | ||
| 163 | /* | 124 | /* |
| 164 | * Set refcount=1 on all pages in an order>0 | 125 | * free wasted pages. We skip the first page since we know |
| 165 | * allocation so that vfree() will actually | 126 | * that it will have count = 1 and won't require freeing. |
| 166 | * free all pages that were allocated. | 127 | * We also mark the pages in use as reserved so that |
| 128 | * remap_page_range works. | ||
| 167 | */ | 129 | */ |
| 168 | if (order > 0) { | 130 | page = virt_to_page(vaddr); |
| 169 | struct page *rpage = virt_to_page(page); | 131 | end = page + (1 << order); |
| 170 | for (i = 1; i < (1 << order); i++) | 132 | |
| 171 | init_page_count(rpage+i); | 133 | split_page(page, order); |
| 134 | |||
| 135 | for (i = 0; i < size && err == 0; i += PAGE_SIZE) { | ||
| 136 | #ifdef CONFIG_MMU | ||
| 137 | /* MS: This is the whole magic - use cache inhibit pages */ | ||
| 138 | err = map_page(va + i, pa + i, _PAGE_KERNEL | _PAGE_NO_CACHE); | ||
| 139 | #endif | ||
| 140 | |||
| 141 | SetPageReserved(page); | ||
| 142 | page++; | ||
| 172 | } | 143 | } |
| 173 | 144 | ||
| 174 | err = 0; | 145 | /* Free the otherwise unused pages. */ |
| 175 | for (i = 0; i < size && err == 0; i += PAGE_SIZE) | 146 | while (page < end) { |
| 176 | err = map_page(va+i, pa+i, flags); | 147 | __free_page(page); |
| 148 | page++; | ||
| 149 | } | ||
| 177 | 150 | ||
| 178 | if (err) { | 151 | if (err) { |
| 179 | vfree((void *)va); | 152 | free_pages(vaddr, order); |
| 180 | return NULL; | 153 | return NULL; |
| 181 | } | 154 | } |
| 182 | 155 | ||
| 183 | return ret; | 156 | return ret; |
| 184 | } | 157 | } |
| 185 | #endif /* CONFIG_MMU */ | ||
| 186 | EXPORT_SYMBOL(consistent_alloc); | 158 | EXPORT_SYMBOL(consistent_alloc); |
| 187 | 159 | ||
| 188 | /* | 160 | /* |
| 189 | * free page(s) as defined by the above mapping. | 161 | * free page(s) as defined by the above mapping. |
| 190 | */ | 162 | */ |
| 191 | void consistent_free(void *vaddr) | 163 | void consistent_free(size_t size, void *vaddr) |
| 192 | { | 164 | { |
| 165 | struct page *page; | ||
| 166 | |||
| 193 | if (in_interrupt()) | 167 | if (in_interrupt()) |
| 194 | BUG(); | 168 | BUG(); |
| 195 | 169 | ||
| 170 | size = PAGE_ALIGN(size); | ||
| 171 | |||
| 172 | #ifndef CONFIG_MMU | ||
| 196 | /* Clear SHADOW_MASK bit in address, and free as per usual */ | 173 | /* Clear SHADOW_MASK bit in address, and free as per usual */ |
| 197 | #ifdef CONFIG_XILINX_UNCACHED_SHADOW | 174 | # ifdef CONFIG_XILINX_UNCACHED_SHADOW |
| 198 | vaddr = (void *)((unsigned)vaddr & ~UNCACHED_SHADOW_MASK); | 175 | vaddr = (void *)((unsigned)vaddr & ~UNCACHED_SHADOW_MASK); |
| 176 | # endif | ||
| 177 | page = virt_to_page(vaddr); | ||
| 178 | |||
| 179 | do { | ||
| 180 | ClearPageReserved(page); | ||
| 181 | __free_page(page); | ||
| 182 | page++; | ||
| 183 | } while (size -= PAGE_SIZE); | ||
| 184 | #else | ||
| 185 | do { | ||
| 186 | pte_t *ptep; | ||
| 187 | unsigned long pfn; | ||
| 188 | |||
| 189 | ptep = pte_offset_kernel(pmd_offset(pgd_offset_k( | ||
| 190 | (unsigned int)vaddr), | ||
| 191 | (unsigned int)vaddr), | ||
| 192 | (unsigned int)vaddr); | ||
| 193 | if (!pte_none(*ptep) && pte_present(*ptep)) { | ||
| 194 | pfn = pte_pfn(*ptep); | ||
| 195 | pte_clear(&init_mm, (unsigned int)vaddr, ptep); | ||
| 196 | if (pfn_valid(pfn)) { | ||
| 197 | page = pfn_to_page(pfn); | ||
| 198 | |||
| 199 | ClearPageReserved(page); | ||
| 200 | __free_page(page); | ||
| 201 | } | ||
| 202 | } | ||
| 203 | vaddr += PAGE_SIZE; | ||
| 204 | } while (size -= PAGE_SIZE); | ||
| 205 | |||
| 206 | /* flush tlb */ | ||
| 207 | flush_tlb_all(); | ||
| 199 | #endif | 208 | #endif |
| 200 | vfree(vaddr); | ||
| 201 | } | 209 | } |
| 202 | EXPORT_SYMBOL(consistent_free); | 210 | EXPORT_SYMBOL(consistent_free); |
| 203 | 211 | ||
| @@ -221,7 +229,7 @@ void consistent_sync(void *vaddr, size_t size, int direction) | |||
| 221 | case PCI_DMA_NONE: | 229 | case PCI_DMA_NONE: |
| 222 | BUG(); | 230 | BUG(); |
| 223 | case PCI_DMA_FROMDEVICE: /* invalidate only */ | 231 | case PCI_DMA_FROMDEVICE: /* invalidate only */ |
| 224 | flush_dcache_range(start, end); | 232 | invalidate_dcache_range(start, end); |
| 225 | break; | 233 | break; |
| 226 | case PCI_DMA_TODEVICE: /* writeback only */ | 234 | case PCI_DMA_TODEVICE: /* writeback only */ |
| 227 | flush_dcache_range(start, end); | 235 | flush_dcache_range(start, end); |
diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c index 7af87f4b2c2..bab92299318 100644 --- a/arch/microblaze/mm/fault.c +++ b/arch/microblaze/mm/fault.c | |||
| @@ -273,16 +273,11 @@ bad_area_nosemaphore: | |||
| 273 | * us unable to handle the page fault gracefully. | 273 | * us unable to handle the page fault gracefully. |
| 274 | */ | 274 | */ |
| 275 | out_of_memory: | 275 | out_of_memory: |
| 276 | if (current->pid == 1) { | ||
| 277 | yield(); | ||
| 278 | down_read(&mm->mmap_sem); | ||
| 279 | goto survive; | ||
| 280 | } | ||
| 281 | up_read(&mm->mmap_sem); | 276 | up_read(&mm->mmap_sem); |
| 282 | printk(KERN_WARNING "VM: killing process %s\n", current->comm); | 277 | if (!user_mode(regs)) |
| 283 | if (user_mode(regs)) | 278 | bad_page_fault(regs, address, SIGKILL); |
| 284 | do_exit(SIGKILL); | 279 | else |
| 285 | bad_page_fault(regs, address, SIGKILL); | 280 | pagefault_out_of_memory(); |
| 286 | return; | 281 | return; |
| 287 | 282 | ||
| 288 | do_sigbus: | 283 | do_sigbus: |
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c index d31312cde6e..784557fb28c 100644 --- a/arch/microblaze/mm/pgtable.c +++ b/arch/microblaze/mm/pgtable.c | |||
| @@ -161,24 +161,6 @@ int map_page(unsigned long va, phys_addr_t pa, int flags) | |||
| 161 | return err; | 161 | return err; |
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | void __init adjust_total_lowmem(void) | ||
| 165 | { | ||
| 166 | /* TBD */ | ||
| 167 | #if 0 | ||
| 168 | unsigned long max_low_mem = MAX_LOW_MEM; | ||
| 169 | |||
| 170 | if (total_lowmem > max_low_mem) { | ||
| 171 | total_lowmem = max_low_mem; | ||
| 172 | #ifndef CONFIG_HIGHMEM | ||
| 173 | printk(KERN_INFO "Warning, memory limited to %ld Mb, use " | ||
| 174 | "CONFIG_HIGHMEM to reach %ld Mb\n", | ||
| 175 | max_low_mem >> 20, total_memory >> 20); | ||
| 176 | total_memory = total_lowmem; | ||
| 177 | #endif /* CONFIG_HIGHMEM */ | ||
| 178 | } | ||
| 179 | #endif | ||
| 180 | } | ||
| 181 | |||
| 182 | /* | 164 | /* |
| 183 | * Map in all of physical memory starting at CONFIG_KERNEL_START. | 165 | * Map in all of physical memory starting at CONFIG_KERNEL_START. |
| 184 | */ | 166 | */ |
| @@ -206,24 +188,6 @@ void __init mapin_ram(void) | |||
| 206 | /* is x a power of 2? */ | 188 | /* is x a power of 2? */ |
| 207 | #define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0)) | 189 | #define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0)) |
| 208 | 190 | ||
| 209 | /* | ||
| 210 | * Set up a mapping for a block of I/O. | ||
| 211 | * virt, phys, size must all be page-aligned. | ||
| 212 | * This should only be called before ioremap is called. | ||
| 213 | */ | ||
| 214 | void __init io_block_mapping(unsigned long virt, phys_addr_t phys, | ||
| 215 | unsigned int size, int flags) | ||
| 216 | { | ||
| 217 | int i; | ||
| 218 | |||
| 219 | if (virt > CONFIG_KERNEL_START && virt < ioremap_bot) | ||
| 220 | ioremap_bot = ioremap_base = virt; | ||
| 221 | |||
| 222 | /* Put it in the page tables. */ | ||
| 223 | for (i = 0; i < size; i += PAGE_SIZE) | ||
| 224 | map_page(virt + i, phys + i, flags); | ||
| 225 | } | ||
| 226 | |||
| 227 | /* Scan the real Linux page tables and return a PTE pointer for | 191 | /* Scan the real Linux page tables and return a PTE pointer for |
| 228 | * a virtual address in a context. | 192 | * a virtual address in a context. |
| 229 | * Returns true (1) if PTE was found, zero otherwise. The pointer to | 193 | * Returns true (1) if PTE was found, zero otherwise. The pointer to |
| @@ -274,3 +238,18 @@ unsigned long iopa(unsigned long addr) | |||
| 274 | 238 | ||
| 275 | return pa; | 239 | return pa; |
| 276 | } | 240 | } |
| 241 | |||
| 242 | __init_refok pte_t *pte_alloc_one_kernel(struct mm_struct *mm, | ||
| 243 | unsigned long address) | ||
| 244 | { | ||
| 245 | pte_t *pte; | ||
| 246 | if (mem_init_done) { | ||
| 247 | pte = (pte_t *)__get_free_page(GFP_KERNEL | | ||
| 248 | __GFP_REPEAT | __GFP_ZERO); | ||
| 249 | } else { | ||
| 250 | pte = (pte_t *)early_get_page(); | ||
| 251 | if (pte) | ||
| 252 | clear_page(pte); | ||
| 253 | } | ||
| 254 | return pte; | ||
| 255 | } | ||
diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c index 740bb32ec57..01c8c97c15b 100644 --- a/arch/microblaze/pci/pci-common.c +++ b/arch/microblaze/pci/pci-common.c | |||
| @@ -1025,7 +1025,7 @@ static void __devinit pcibios_fixup_bridge(struct pci_bus *bus) | |||
| 1025 | 1025 | ||
| 1026 | struct pci_dev *dev = bus->self; | 1026 | struct pci_dev *dev = bus->self; |
| 1027 | 1027 | ||
| 1028 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { | 1028 | pci_bus_for_each_resource(bus, res, i) { |
| 1029 | res = bus->resource[i]; | 1029 | res = bus->resource[i]; |
| 1030 | if (!res) | 1030 | if (!res) |
| 1031 | continue; | 1031 | continue; |
| @@ -1131,21 +1131,20 @@ static int skip_isa_ioresource_align(struct pci_dev *dev) | |||
| 1131 | * but we want to try to avoid allocating at 0x2900-0x2bff | 1131 | * but we want to try to avoid allocating at 0x2900-0x2bff |
| 1132 | * which might have be mirrored at 0x0100-0x03ff.. | 1132 | * which might have be mirrored at 0x0100-0x03ff.. |
| 1133 | */ | 1133 | */ |
| 1134 | void pcibios_align_resource(void *data, struct resource *res, | 1134 | resource_size_t pcibios_align_resource(void *data, const struct resource *res, |
| 1135 | resource_size_t size, resource_size_t align) | 1135 | resource_size_t size, resource_size_t align) |
| 1136 | { | 1136 | { |
| 1137 | struct pci_dev *dev = data; | 1137 | struct pci_dev *dev = data; |
| 1138 | resource_size_t start = res->start; | ||
| 1138 | 1139 | ||
| 1139 | if (res->flags & IORESOURCE_IO) { | 1140 | if (res->flags & IORESOURCE_IO) { |
| 1140 | resource_size_t start = res->start; | ||
| 1141 | |||
| 1142 | if (skip_isa_ioresource_align(dev)) | 1141 | if (skip_isa_ioresource_align(dev)) |
| 1143 | return; | 1142 | return start; |
| 1144 | if (start & 0x300) { | 1143 | if (start & 0x300) |
| 1145 | start = (start + 0x3ff) & ~0x3ff; | 1144 | start = (start + 0x3ff) & ~0x3ff; |
| 1146 | res->start = start; | ||
| 1147 | } | ||
| 1148 | } | 1145 | } |
| 1146 | |||
| 1147 | return start; | ||
| 1149 | } | 1148 | } |
| 1150 | EXPORT_SYMBOL(pcibios_align_resource); | 1149 | EXPORT_SYMBOL(pcibios_align_resource); |
| 1151 | 1150 | ||
| @@ -1228,7 +1227,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus) | |||
| 1228 | pr_debug("PCI: Allocating bus resources for %04x:%02x...\n", | 1227 | pr_debug("PCI: Allocating bus resources for %04x:%02x...\n", |
| 1229 | pci_domain_nr(bus), bus->number); | 1228 | pci_domain_nr(bus), bus->number); |
| 1230 | 1229 | ||
| 1231 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { | 1230 | pci_bus_for_each_resource(bus, res, i) { |
| 1232 | res = bus->resource[i]; | 1231 | res = bus->resource[i]; |
| 1233 | if (!res || !res->flags | 1232 | if (!res || !res->flags |
| 1234 | || res->start > res->end || res->parent) | 1233 | || res->start > res->end || res->parent) |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 29e86923d1b..7e6fd1cbd3f 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
| @@ -49,7 +49,7 @@ config AR7 | |||
| 49 | family: TNETD7100, 7200 and 7300. | 49 | family: TNETD7100, 7200 and 7300. |
| 50 | 50 | ||
| 51 | config BCM47XX | 51 | config BCM47XX |
| 52 | bool "BCM47XX based boards" | 52 | bool "Broadcom BCM47XX based boards" |
| 53 | select CEVT_R4K | 53 | select CEVT_R4K |
| 54 | select CSRC_R4K | 54 | select CSRC_R4K |
| 55 | select DMA_NONCOHERENT | 55 | select DMA_NONCOHERENT |
| @@ -509,6 +509,7 @@ config SIBYTE_SWARM | |||
| 509 | bool "Sibyte BCM91250A-SWARM" | 509 | bool "Sibyte BCM91250A-SWARM" |
| 510 | select BOOT_ELF32 | 510 | select BOOT_ELF32 |
| 511 | select DMA_COHERENT | 511 | select DMA_COHERENT |
| 512 | select HAVE_PATA_PLATFORM | ||
| 512 | select NR_CPUS_DEFAULT_2 | 513 | select NR_CPUS_DEFAULT_2 |
| 513 | select SIBYTE_SB1250 | 514 | select SIBYTE_SB1250 |
| 514 | select SWAP_IO_SPACE | 515 | select SWAP_IO_SPACE |
| @@ -523,6 +524,7 @@ config SIBYTE_LITTLESUR | |||
| 523 | depends on EXPERIMENTAL | 524 | depends on EXPERIMENTAL |
| 524 | select BOOT_ELF32 | 525 | select BOOT_ELF32 |
| 525 | select DMA_COHERENT | 526 | select DMA_COHERENT |
| 527 | select HAVE_PATA_PLATFORM | ||
| 526 | select NR_CPUS_DEFAULT_2 | 528 | select NR_CPUS_DEFAULT_2 |
| 527 | select SIBYTE_SB1250 | 529 | select SIBYTE_SB1250 |
| 528 | select SWAP_IO_SPACE | 530 | select SWAP_IO_SPACE |
| @@ -1305,6 +1307,33 @@ config CPU_CAVIUM_OCTEON | |||
| 1305 | 1307 | ||
| 1306 | endchoice | 1308 | endchoice |
| 1307 | 1309 | ||
| 1310 | if CPU_LOONGSON2F | ||
| 1311 | config CPU_NOP_WORKAROUNDS | ||
| 1312 | bool | ||
| 1313 | |||
| 1314 | config CPU_JUMP_WORKAROUNDS | ||
| 1315 | bool | ||
| 1316 | |||
| 1317 | config CPU_LOONGSON2F_WORKAROUNDS | ||
| 1318 | bool "Loongson 2F Workarounds" | ||
| 1319 | default y | ||
| 1320 | select CPU_NOP_WORKAROUNDS | ||
| 1321 | select CPU_JUMP_WORKAROUNDS | ||
| 1322 | help | ||
| 1323 | Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which | ||
| 1324 | require workarounds. Without workarounds the system may hang | ||
| 1325 | unexpectedly. For more information please refer to the gas | ||
| 1326 | -mfix-loongson2f-nop and -mfix-loongson2f-jump options. | ||
| 1327 | |||
| 1328 | Loongson 2F03 and later have fixed these issues and no workarounds | ||
| 1329 | are needed. The workarounds have no significant side effect on them | ||
| 1330 | but may decrease the performance of the system so this option should | ||
| 1331 | be disabled unless the kernel is intended to be run on 2F01 or 2F02 | ||
| 1332 | systems. | ||
| 1333 | |||
| 1334 | If unsure, please say Y. | ||
| 1335 | endif # CPU_LOONGSON2F | ||
| 1336 | |||
| 1308 | config SYS_SUPPORTS_ZBOOT | 1337 | config SYS_SUPPORTS_ZBOOT |
| 1309 | bool | 1338 | bool |
| 1310 | select HAVE_KERNEL_GZIP | 1339 | select HAVE_KERNEL_GZIP |
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 2f2eac23332..0b9c01add0a 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
| @@ -136,6 +136,19 @@ cflags-$(CONFIG_CPU_LOONGSON2E) += \ | |||
| 136 | $(call cc-option,-march=loongson2e,-march=r4600) | 136 | $(call cc-option,-march=loongson2e,-march=r4600) |
| 137 | cflags-$(CONFIG_CPU_LOONGSON2F) += \ | 137 | cflags-$(CONFIG_CPU_LOONGSON2F) += \ |
| 138 | $(call cc-option,-march=loongson2f,-march=r4600) | 138 | $(call cc-option,-march=loongson2f,-march=r4600) |
| 139 | # enable the workarounds for loongson2f | ||
| 140 | ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS | ||
| 141 | ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),) | ||
| 142 | $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop) | ||
| 143 | else | ||
| 144 | cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-nop | ||
| 145 | endif | ||
| 146 | ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-jump,),) | ||
| 147 | $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-jump) | ||
| 148 | else | ||
| 149 | cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump | ||
| 150 | endif | ||
| 151 | endif | ||
| 139 | 152 | ||
| 140 | cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ | 153 | cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ |
| 141 | -Wa,-mips32 -Wa,--trap | 154 | -Wa,-mips32 -Wa,--trap |
diff --git a/arch/mips/alchemy/devboards/db1200/setup.c b/arch/mips/alchemy/devboards/db1200/setup.c index be7e92ea01f..88761954755 100644 --- a/arch/mips/alchemy/devboards/db1200/setup.c +++ b/arch/mips/alchemy/devboards/db1200/setup.c | |||
| @@ -66,12 +66,16 @@ static int __init db1200_arch_init(void) | |||
| 66 | set_irq_type(AU1200_GPIO7_INT, IRQF_TRIGGER_LOW); | 66 | set_irq_type(AU1200_GPIO7_INT, IRQF_TRIGGER_LOW); |
| 67 | bcsr_init_irq(DB1200_INT_BEGIN, DB1200_INT_END, AU1200_GPIO7_INT); | 67 | bcsr_init_irq(DB1200_INT_BEGIN, DB1200_INT_END, AU1200_GPIO7_INT); |
| 68 | 68 | ||
| 69 | /* do not autoenable these: CPLD has broken edge int handling, | 69 | /* insert/eject pairs: one of both is always screaming. To avoid |
| 70 | * and the CD handler setup requires manual enabling to work | 70 | * issues they must not be automatically enabled when initially |
| 71 | * around that. | 71 | * requested. |
| 72 | */ | 72 | */ |
| 73 | irq_to_desc(DB1200_SD0_INSERT_INT)->status |= IRQ_NOAUTOEN; | 73 | irq_to_desc(DB1200_SD0_INSERT_INT)->status |= IRQ_NOAUTOEN; |
| 74 | irq_to_desc(DB1200_SD0_EJECT_INT)->status |= IRQ_NOAUTOEN; | 74 | irq_to_desc(DB1200_SD0_EJECT_INT)->status |= IRQ_NOAUTOEN; |
| 75 | irq_to_desc(DB1200_PC0_INSERT_INT)->status |= IRQ_NOAUTOEN; | ||
| 76 | irq_to_desc(DB1200_PC0_EJECT_INT)->status |= IRQ_NOAUTOEN; | ||
| 77 | irq_to_desc(DB1200_PC1_INSERT_INT)->status |= IRQ_NOAUTOEN; | ||
| 78 | irq_to_desc(DB1200_PC1_EJECT_INT)->status |= IRQ_NOAUTOEN; | ||
| 75 | 79 | ||
| 76 | return 0; | 80 | return 0; |
| 77 | } | 81 | } |
diff --git a/arch/mips/configs/bcm63xx_defconfig b/arch/mips/configs/bcm63xx_defconfig index 7fee0273c82..6389ca0fdc6 100644 --- a/arch/mips/configs/bcm63xx_defconfig +++ b/arch/mips/configs/bcm63xx_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.30-rc6 | 3 | # Linux kernel version: 2.6.34-rc2 |
| 4 | # Sun May 31 20:17:18 2009 | 4 | # Tue Mar 23 10:36:32 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
| 7 | 7 | ||
| @@ -9,13 +9,14 @@ CONFIG_MIPS=y | |||
| 9 | # Machine selection | 9 | # Machine selection |
| 10 | # | 10 | # |
| 11 | # CONFIG_MACH_ALCHEMY is not set | 11 | # CONFIG_MACH_ALCHEMY is not set |
| 12 | # CONFIG_AR7 is not set | ||
| 12 | # CONFIG_BCM47XX is not set | 13 | # CONFIG_BCM47XX is not set |
| 13 | CONFIG_BCM63XX=y | 14 | CONFIG_BCM63XX=y |
| 14 | # CONFIG_MIPS_COBALT is not set | 15 | # CONFIG_MIPS_COBALT is not set |
| 15 | # CONFIG_MACH_DECSTATION is not set | 16 | # CONFIG_MACH_DECSTATION is not set |
| 16 | # CONFIG_MACH_JAZZ is not set | 17 | # CONFIG_MACH_JAZZ is not set |
| 17 | # CONFIG_LASAT is not set | 18 | # CONFIG_LASAT is not set |
| 18 | # CONFIG_LEMOTE_FULONG is not set | 19 | # CONFIG_MACH_LOONGSON is not set |
| 19 | # CONFIG_MIPS_MALTA is not set | 20 | # CONFIG_MIPS_MALTA is not set |
| 20 | # CONFIG_MIPS_SIM is not set | 21 | # CONFIG_MIPS_SIM is not set |
| 21 | # CONFIG_NEC_MARKEINS is not set | 22 | # CONFIG_NEC_MARKEINS is not set |
| @@ -26,6 +27,7 @@ CONFIG_BCM63XX=y | |||
| 26 | # CONFIG_PNX8550_STB810 is not set | 27 | # CONFIG_PNX8550_STB810 is not set |
| 27 | # CONFIG_PMC_MSP is not set | 28 | # CONFIG_PMC_MSP is not set |
| 28 | # CONFIG_PMC_YOSEMITE is not set | 29 | # CONFIG_PMC_YOSEMITE is not set |
| 30 | # CONFIG_POWERTV is not set | ||
| 29 | # CONFIG_SGI_IP22 is not set | 31 | # CONFIG_SGI_IP22 is not set |
| 30 | # CONFIG_SGI_IP27 is not set | 32 | # CONFIG_SGI_IP27 is not set |
| 31 | # CONFIG_SGI_IP28 is not set | 33 | # CONFIG_SGI_IP28 is not set |
| @@ -45,13 +47,17 @@ CONFIG_BCM63XX=y | |||
| 45 | # CONFIG_WR_PPMC is not set | 47 | # CONFIG_WR_PPMC is not set |
| 46 | # CONFIG_CAVIUM_OCTEON_SIMULATOR is not set | 48 | # CONFIG_CAVIUM_OCTEON_SIMULATOR is not set |
| 47 | # CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set | 49 | # CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set |
| 50 | # CONFIG_ALCHEMY_GPIO_INDIRECT is not set | ||
| 48 | 51 | ||
| 49 | # | 52 | # |
| 50 | # CPU support | 53 | # CPU support |
| 51 | # | 54 | # |
| 55 | CONFIG_BCM63XX_CPU_6338=y | ||
| 56 | CONFIG_BCM63XX_CPU_6345=y | ||
| 52 | CONFIG_BCM63XX_CPU_6348=y | 57 | CONFIG_BCM63XX_CPU_6348=y |
| 53 | CONFIG_BCM63XX_CPU_6358=y | 58 | CONFIG_BCM63XX_CPU_6358=y |
| 54 | CONFIG_BOARD_BCM963XX=y | 59 | CONFIG_BOARD_BCM963XX=y |
| 60 | CONFIG_LOONGSON_UART_BASE=y | ||
| 55 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 61 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
| 56 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 62 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
| 57 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 63 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
| @@ -69,10 +75,8 @@ CONFIG_CEVT_R4K=y | |||
| 69 | CONFIG_CSRC_R4K_LIB=y | 75 | CONFIG_CSRC_R4K_LIB=y |
| 70 | CONFIG_CSRC_R4K=y | 76 | CONFIG_CSRC_R4K=y |
| 71 | CONFIG_DMA_NONCOHERENT=y | 77 | CONFIG_DMA_NONCOHERENT=y |
| 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 78 | CONFIG_NEED_DMA_MAP_STATE=y |
| 73 | CONFIG_EARLY_PRINTK=y | ||
| 74 | CONFIG_SYS_HAS_EARLY_PRINTK=y | 79 | CONFIG_SYS_HAS_EARLY_PRINTK=y |
| 75 | # CONFIG_HOTPLUG_CPU is not set | ||
| 76 | # CONFIG_NO_IOPORT is not set | 80 | # CONFIG_NO_IOPORT is not set |
| 77 | CONFIG_GENERIC_GPIO=y | 81 | CONFIG_GENERIC_GPIO=y |
| 78 | CONFIG_CPU_BIG_ENDIAN=y | 82 | CONFIG_CPU_BIG_ENDIAN=y |
| @@ -85,7 +89,8 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 85 | # | 89 | # |
| 86 | # CPU selection | 90 | # CPU selection |
| 87 | # | 91 | # |
| 88 | # CONFIG_CPU_LOONGSON2 is not set | 92 | # CONFIG_CPU_LOONGSON2E is not set |
| 93 | # CONFIG_CPU_LOONGSON2F is not set | ||
| 89 | CONFIG_CPU_MIPS32_R1=y | 94 | CONFIG_CPU_MIPS32_R1=y |
| 90 | # CONFIG_CPU_MIPS32_R2 is not set | 95 | # CONFIG_CPU_MIPS32_R2 is not set |
| 91 | # CONFIG_CPU_MIPS64_R1 is not set | 96 | # CONFIG_CPU_MIPS64_R1 is not set |
| @@ -128,7 +133,7 @@ CONFIG_CPU_HAS_PREFETCH=y | |||
| 128 | CONFIG_MIPS_MT_DISABLED=y | 133 | CONFIG_MIPS_MT_DISABLED=y |
| 129 | # CONFIG_MIPS_MT_SMP is not set | 134 | # CONFIG_MIPS_MT_SMP is not set |
| 130 | # CONFIG_MIPS_MT_SMTC is not set | 135 | # CONFIG_MIPS_MT_SMTC is not set |
| 131 | CONFIG_CPU_HAS_LLSC=y | 136 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
| 132 | CONFIG_CPU_HAS_SYNC=y | 137 | CONFIG_CPU_HAS_SYNC=y |
| 133 | CONFIG_GENERIC_HARDIRQS=y | 138 | CONFIG_GENERIC_HARDIRQS=y |
| 134 | CONFIG_GENERIC_IRQ_PROBE=y | 139 | CONFIG_GENERIC_IRQ_PROBE=y |
| @@ -146,9 +151,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
| 146 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 151 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 147 | CONFIG_ZONE_DMA_FLAG=0 | 152 | CONFIG_ZONE_DMA_FLAG=0 |
| 148 | CONFIG_VIRT_TO_BUS=y | 153 | CONFIG_VIRT_TO_BUS=y |
| 149 | CONFIG_UNEVICTABLE_LRU=y | 154 | # CONFIG_KSM is not set |
| 150 | CONFIG_HAVE_MLOCK=y | 155 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
| 151 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 152 | CONFIG_TICK_ONESHOT=y | 156 | CONFIG_TICK_ONESHOT=y |
| 153 | CONFIG_NO_HZ=y | 157 | CONFIG_NO_HZ=y |
| 154 | # CONFIG_HIGH_RES_TIMERS is not set | 158 | # CONFIG_HIGH_RES_TIMERS is not set |
| @@ -170,6 +174,7 @@ CONFIG_PREEMPT_NONE=y | |||
| 170 | CONFIG_LOCKDEP_SUPPORT=y | 174 | CONFIG_LOCKDEP_SUPPORT=y |
| 171 | CONFIG_STACKTRACE_SUPPORT=y | 175 | CONFIG_STACKTRACE_SUPPORT=y |
| 172 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 176 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 177 | CONFIG_CONSTRUCTORS=y | ||
| 173 | 178 | ||
| 174 | # | 179 | # |
| 175 | # General setup | 180 | # General setup |
| @@ -189,15 +194,12 @@ CONFIG_LOCALVERSION="" | |||
| 189 | # | 194 | # |
| 190 | # RCU Subsystem | 195 | # RCU Subsystem |
| 191 | # | 196 | # |
| 192 | CONFIG_CLASSIC_RCU=y | ||
| 193 | # CONFIG_TREE_RCU is not set | 197 | # CONFIG_TREE_RCU is not set |
| 194 | # CONFIG_PREEMPT_RCU is not set | 198 | # CONFIG_TREE_PREEMPT_RCU is not set |
| 199 | CONFIG_TINY_RCU=y | ||
| 195 | # CONFIG_TREE_RCU_TRACE is not set | 200 | # CONFIG_TREE_RCU_TRACE is not set |
| 196 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 197 | # CONFIG_IKCONFIG is not set | 201 | # CONFIG_IKCONFIG is not set |
| 198 | CONFIG_LOG_BUF_SHIFT=17 | 202 | CONFIG_LOG_BUF_SHIFT=17 |
| 199 | # CONFIG_GROUP_SCHED is not set | ||
| 200 | # CONFIG_CGROUPS is not set | ||
| 201 | CONFIG_SYSFS_DEPRECATED=y | 203 | CONFIG_SYSFS_DEPRECATED=y |
| 202 | CONFIG_SYSFS_DEPRECATED_V2=y | 204 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 203 | # CONFIG_RELAY is not set | 205 | # CONFIG_RELAY is not set |
| @@ -205,11 +207,11 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
| 205 | # CONFIG_BLK_DEV_INITRD is not set | 207 | # CONFIG_BLK_DEV_INITRD is not set |
| 206 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 208 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 207 | CONFIG_SYSCTL=y | 209 | CONFIG_SYSCTL=y |
| 210 | CONFIG_ANON_INODES=y | ||
| 208 | CONFIG_EMBEDDED=y | 211 | CONFIG_EMBEDDED=y |
| 209 | CONFIG_SYSCTL_SYSCALL=y | 212 | CONFIG_SYSCTL_SYSCALL=y |
| 210 | CONFIG_KALLSYMS=y | 213 | CONFIG_KALLSYMS=y |
| 211 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 214 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 212 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 213 | CONFIG_HOTPLUG=y | 215 | CONFIG_HOTPLUG=y |
| 214 | CONFIG_PRINTK=y | 216 | CONFIG_PRINTK=y |
| 215 | CONFIG_BUG=y | 217 | CONFIG_BUG=y |
| @@ -223,6 +225,10 @@ CONFIG_BASE_FULL=y | |||
| 223 | # CONFIG_EVENTFD is not set | 225 | # CONFIG_EVENTFD is not set |
| 224 | # CONFIG_SHMEM is not set | 226 | # CONFIG_SHMEM is not set |
| 225 | # CONFIG_AIO is not set | 227 | # CONFIG_AIO is not set |
| 228 | |||
| 229 | # | ||
| 230 | # Kernel Performance Events And Counters | ||
| 231 | # | ||
| 226 | # CONFIG_VM_EVENT_COUNTERS is not set | 232 | # CONFIG_VM_EVENT_COUNTERS is not set |
| 227 | CONFIG_PCI_QUIRKS=y | 233 | CONFIG_PCI_QUIRKS=y |
| 228 | # CONFIG_SLUB_DEBUG is not set | 234 | # CONFIG_SLUB_DEBUG is not set |
| @@ -231,14 +237,17 @@ CONFIG_COMPAT_BRK=y | |||
| 231 | CONFIG_SLUB=y | 237 | CONFIG_SLUB=y |
| 232 | # CONFIG_SLOB is not set | 238 | # CONFIG_SLOB is not set |
| 233 | # CONFIG_PROFILING is not set | 239 | # CONFIG_PROFILING is not set |
| 234 | # CONFIG_MARKERS is not set | ||
| 235 | CONFIG_HAVE_OPROFILE=y | 240 | CONFIG_HAVE_OPROFILE=y |
| 241 | |||
| 242 | # | ||
| 243 | # GCOV-based kernel profiling | ||
| 244 | # | ||
| 236 | # CONFIG_SLOW_WORK is not set | 245 | # CONFIG_SLOW_WORK is not set |
| 237 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 246 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 238 | CONFIG_BASE_SMALL=0 | 247 | CONFIG_BASE_SMALL=0 |
| 239 | # CONFIG_MODULES is not set | 248 | # CONFIG_MODULES is not set |
| 240 | CONFIG_BLOCK=y | 249 | CONFIG_BLOCK=y |
| 241 | # CONFIG_LBD is not set | 250 | CONFIG_LBDAF=y |
| 242 | # CONFIG_BLK_DEV_BSG is not set | 251 | # CONFIG_BLK_DEV_BSG is not set |
| 243 | # CONFIG_BLK_DEV_INTEGRITY is not set | 252 | # CONFIG_BLK_DEV_INTEGRITY is not set |
| 244 | 253 | ||
| @@ -246,14 +255,41 @@ CONFIG_BLOCK=y | |||
| 246 | # IO Schedulers | 255 | # IO Schedulers |
| 247 | # | 256 | # |
| 248 | CONFIG_IOSCHED_NOOP=y | 257 | CONFIG_IOSCHED_NOOP=y |
| 249 | # CONFIG_IOSCHED_AS is not set | ||
| 250 | # CONFIG_IOSCHED_DEADLINE is not set | 258 | # CONFIG_IOSCHED_DEADLINE is not set |
| 251 | # CONFIG_IOSCHED_CFQ is not set | 259 | # CONFIG_IOSCHED_CFQ is not set |
| 252 | # CONFIG_DEFAULT_AS is not set | ||
| 253 | # CONFIG_DEFAULT_DEADLINE is not set | 260 | # CONFIG_DEFAULT_DEADLINE is not set |
| 254 | # CONFIG_DEFAULT_CFQ is not set | 261 | # CONFIG_DEFAULT_CFQ is not set |
| 255 | CONFIG_DEFAULT_NOOP=y | 262 | CONFIG_DEFAULT_NOOP=y |
| 256 | CONFIG_DEFAULT_IOSCHED="noop" | 263 | CONFIG_DEFAULT_IOSCHED="noop" |
| 264 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 265 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 266 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 267 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 268 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 269 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 270 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
| 271 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 272 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
| 273 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 274 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 275 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 276 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 277 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 278 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 279 | CONFIG_INLINE_READ_UNLOCK=y | ||
| 280 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 281 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
| 282 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 283 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 284 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 285 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 286 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 287 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 288 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
| 289 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 290 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
| 291 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 292 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 257 | # CONFIG_FREEZER is not set | 293 | # CONFIG_FREEZER is not set |
| 258 | 294 | ||
| 259 | # | 295 | # |
| @@ -263,15 +299,12 @@ CONFIG_HW_HAS_PCI=y | |||
| 263 | CONFIG_PCI=y | 299 | CONFIG_PCI=y |
| 264 | CONFIG_PCI_DOMAINS=y | 300 | CONFIG_PCI_DOMAINS=y |
| 265 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 301 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
| 266 | # CONFIG_PCI_LEGACY is not set | ||
| 267 | # CONFIG_PCI_STUB is not set | 302 | # CONFIG_PCI_STUB is not set |
| 268 | # CONFIG_PCI_IOV is not set | 303 | # CONFIG_PCI_IOV is not set |
| 269 | CONFIG_MMU=y | 304 | CONFIG_MMU=y |
| 270 | CONFIG_PCCARD=y | 305 | CONFIG_PCCARD=y |
| 271 | # CONFIG_PCMCIA_DEBUG is not set | ||
| 272 | CONFIG_PCMCIA=y | 306 | CONFIG_PCMCIA=y |
| 273 | CONFIG_PCMCIA_LOAD_CIS=y | 307 | CONFIG_PCMCIA_LOAD_CIS=y |
| 274 | CONFIG_PCMCIA_IOCTL=y | ||
| 275 | CONFIG_CARDBUS=y | 308 | CONFIG_CARDBUS=y |
| 276 | 309 | ||
| 277 | # | 310 | # |
| @@ -295,6 +328,7 @@ CONFIG_TRAD_SIGNALS=y | |||
| 295 | # | 328 | # |
| 296 | # Power management options | 329 | # Power management options |
| 297 | # | 330 | # |
| 331 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | ||
| 298 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 332 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 299 | # CONFIG_PM is not set | 333 | # CONFIG_PM is not set |
| 300 | CONFIG_NET=y | 334 | CONFIG_NET=y |
| @@ -333,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 333 | # CONFIG_NETFILTER is not set | 367 | # CONFIG_NETFILTER is not set |
| 334 | # CONFIG_IP_DCCP is not set | 368 | # CONFIG_IP_DCCP is not set |
| 335 | # CONFIG_IP_SCTP is not set | 369 | # CONFIG_IP_SCTP is not set |
| 370 | # CONFIG_RDS is not set | ||
| 336 | # CONFIG_TIPC is not set | 371 | # CONFIG_TIPC is not set |
| 337 | # CONFIG_ATM is not set | 372 | # CONFIG_ATM is not set |
| 338 | # CONFIG_BRIDGE is not set | 373 | # CONFIG_BRIDGE is not set |
| @@ -347,6 +382,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 347 | # CONFIG_ECONET is not set | 382 | # CONFIG_ECONET is not set |
| 348 | # CONFIG_WAN_ROUTER is not set | 383 | # CONFIG_WAN_ROUTER is not set |
| 349 | # CONFIG_PHONET is not set | 384 | # CONFIG_PHONET is not set |
| 385 | # CONFIG_IEEE802154 is not set | ||
| 350 | # CONFIG_NET_SCHED is not set | 386 | # CONFIG_NET_SCHED is not set |
| 351 | # CONFIG_DCB is not set | 387 | # CONFIG_DCB is not set |
| 352 | 388 | ||
| @@ -359,7 +395,27 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 359 | # CONFIG_IRDA is not set | 395 | # CONFIG_IRDA is not set |
| 360 | # CONFIG_BT is not set | 396 | # CONFIG_BT is not set |
| 361 | # CONFIG_AF_RXRPC is not set | 397 | # CONFIG_AF_RXRPC is not set |
| 362 | # CONFIG_WIRELESS is not set | 398 | CONFIG_WIRELESS=y |
| 399 | CONFIG_WEXT_CORE=y | ||
| 400 | CONFIG_WEXT_PROC=y | ||
| 401 | CONFIG_CFG80211=y | ||
| 402 | CONFIG_NL80211_TESTMODE=y | ||
| 403 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
| 404 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
| 405 | CONFIG_CFG80211_DEFAULT_PS=y | ||
| 406 | # CONFIG_CFG80211_INTERNAL_REGDB is not set | ||
| 407 | CONFIG_CFG80211_WEXT=y | ||
| 408 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
| 409 | # CONFIG_LIB80211 is not set | ||
| 410 | CONFIG_MAC80211=y | ||
| 411 | # CONFIG_MAC80211_RC_PID is not set | ||
| 412 | CONFIG_MAC80211_RC_MINSTREL=y | ||
| 413 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set | ||
| 414 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
| 415 | CONFIG_MAC80211_RC_DEFAULT="minstrel" | ||
| 416 | # CONFIG_MAC80211_MESH is not set | ||
| 417 | CONFIG_MAC80211_LEDS=y | ||
| 418 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
| 363 | # CONFIG_WIMAX is not set | 419 | # CONFIG_WIMAX is not set |
| 364 | # CONFIG_RFKILL is not set | 420 | # CONFIG_RFKILL is not set |
| 365 | # CONFIG_NET_9P is not set | 421 | # CONFIG_NET_9P is not set |
| @@ -471,6 +527,7 @@ CONFIG_HAVE_IDE=y | |||
| 471 | # | 527 | # |
| 472 | # SCSI device support | 528 | # SCSI device support |
| 473 | # | 529 | # |
| 530 | CONFIG_SCSI_MOD=y | ||
| 474 | # CONFIG_RAID_ATTRS is not set | 531 | # CONFIG_RAID_ATTRS is not set |
| 475 | # CONFIG_SCSI is not set | 532 | # CONFIG_SCSI is not set |
| 476 | # CONFIG_SCSI_DMA is not set | 533 | # CONFIG_SCSI_DMA is not set |
| @@ -484,13 +541,16 @@ CONFIG_HAVE_IDE=y | |||
| 484 | # | 541 | # |
| 485 | 542 | ||
| 486 | # | 543 | # |
| 487 | # Enable only one of the two stacks, unless you know what you are doing | 544 | # You can enable one or both FireWire driver stacks. |
| 545 | # | ||
| 546 | |||
| 547 | # | ||
| 548 | # The newer stack is recommended. | ||
| 488 | # | 549 | # |
| 489 | # CONFIG_FIREWIRE is not set | 550 | # CONFIG_FIREWIRE is not set |
| 490 | # CONFIG_IEEE1394 is not set | 551 | # CONFIG_IEEE1394 is not set |
| 491 | # CONFIG_I2O is not set | 552 | # CONFIG_I2O is not set |
| 492 | CONFIG_NETDEVICES=y | 553 | CONFIG_NETDEVICES=y |
| 493 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
| 494 | # CONFIG_DUMMY is not set | 554 | # CONFIG_DUMMY is not set |
| 495 | # CONFIG_BONDING is not set | 555 | # CONFIG_BONDING is not set |
| 496 | # CONFIG_MACVLAN is not set | 556 | # CONFIG_MACVLAN is not set |
| @@ -529,6 +589,7 @@ CONFIG_MII=y | |||
| 529 | # CONFIG_SMC91X is not set | 589 | # CONFIG_SMC91X is not set |
| 530 | # CONFIG_DM9000 is not set | 590 | # CONFIG_DM9000 is not set |
| 531 | # CONFIG_ETHOC is not set | 591 | # CONFIG_ETHOC is not set |
| 592 | # CONFIG_SMSC911X is not set | ||
| 532 | # CONFIG_DNET is not set | 593 | # CONFIG_DNET is not set |
| 533 | # CONFIG_NET_TULIP is not set | 594 | # CONFIG_NET_TULIP is not set |
| 534 | # CONFIG_HP100 is not set | 595 | # CONFIG_HP100 is not set |
| @@ -541,17 +602,48 @@ CONFIG_MII=y | |||
| 541 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 602 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
| 542 | # CONFIG_NET_PCI is not set | 603 | # CONFIG_NET_PCI is not set |
| 543 | # CONFIG_B44 is not set | 604 | # CONFIG_B44 is not set |
| 605 | # CONFIG_KS8842 is not set | ||
| 606 | # CONFIG_KS8851_MLL is not set | ||
| 544 | # CONFIG_ATL2 is not set | 607 | # CONFIG_ATL2 is not set |
| 545 | CONFIG_BCM63XX_ENET=y | 608 | CONFIG_BCM63XX_ENET=y |
| 546 | # CONFIG_NETDEV_1000 is not set | 609 | # CONFIG_NETDEV_1000 is not set |
| 547 | # CONFIG_NETDEV_10000 is not set | 610 | # CONFIG_NETDEV_10000 is not set |
| 548 | # CONFIG_TR is not set | 611 | # CONFIG_TR is not set |
| 549 | 612 | CONFIG_WLAN=y | |
| 550 | # | 613 | # CONFIG_PCMCIA_RAYCS is not set |
| 551 | # Wireless LAN | 614 | # CONFIG_LIBERTAS_THINFIRM is not set |
| 552 | # | 615 | # CONFIG_ATMEL is not set |
| 553 | # CONFIG_WLAN_PRE80211 is not set | 616 | # CONFIG_AT76C50X_USB is not set |
| 554 | # CONFIG_WLAN_80211 is not set | 617 | # CONFIG_AIRO_CS is not set |
| 618 | # CONFIG_PCMCIA_WL3501 is not set | ||
| 619 | # CONFIG_PRISM54 is not set | ||
| 620 | # CONFIG_USB_ZD1201 is not set | ||
| 621 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
| 622 | # CONFIG_RTL8180 is not set | ||
| 623 | # CONFIG_RTL8187 is not set | ||
| 624 | # CONFIG_ADM8211 is not set | ||
| 625 | # CONFIG_MAC80211_HWSIM is not set | ||
| 626 | # CONFIG_MWL8K is not set | ||
| 627 | # CONFIG_ATH_COMMON is not set | ||
| 628 | CONFIG_B43=y | ||
| 629 | CONFIG_B43_PCI_AUTOSELECT=y | ||
| 630 | CONFIG_B43_PCICORE_AUTOSELECT=y | ||
| 631 | # CONFIG_B43_PCMCIA is not set | ||
| 632 | CONFIG_B43_PIO=y | ||
| 633 | # CONFIG_B43_PHY_LP is not set | ||
| 634 | CONFIG_B43_LEDS=y | ||
| 635 | # CONFIG_B43_DEBUG is not set | ||
| 636 | # CONFIG_B43LEGACY is not set | ||
| 637 | # CONFIG_HOSTAP is not set | ||
| 638 | # CONFIG_IPW2100 is not set | ||
| 639 | # CONFIG_IPW2200 is not set | ||
| 640 | # CONFIG_IWLWIFI is not set | ||
| 641 | # CONFIG_LIBERTAS is not set | ||
| 642 | # CONFIG_HERMES is not set | ||
| 643 | # CONFIG_P54_COMMON is not set | ||
| 644 | # CONFIG_RT2X00 is not set | ||
| 645 | # CONFIG_WL12XX is not set | ||
| 646 | # CONFIG_ZD1211RW is not set | ||
| 555 | 647 | ||
| 556 | # | 648 | # |
| 557 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 649 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -574,6 +666,7 @@ CONFIG_BCM63XX_ENET=y | |||
| 574 | # CONFIG_NETCONSOLE is not set | 666 | # CONFIG_NETCONSOLE is not set |
| 575 | # CONFIG_NETPOLL is not set | 667 | # CONFIG_NETPOLL is not set |
| 576 | # CONFIG_NET_POLL_CONTROLLER is not set | 668 | # CONFIG_NET_POLL_CONTROLLER is not set |
| 669 | # CONFIG_VMXNET3 is not set | ||
| 577 | # CONFIG_ISDN is not set | 670 | # CONFIG_ISDN is not set |
| 578 | # CONFIG_PHONE is not set | 671 | # CONFIG_PHONE is not set |
| 579 | 672 | ||
| @@ -607,6 +700,7 @@ CONFIG_BCM63XX_ENET=y | |||
| 607 | CONFIG_SERIAL_CORE=y | 700 | CONFIG_SERIAL_CORE=y |
| 608 | CONFIG_SERIAL_CORE_CONSOLE=y | 701 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 609 | # CONFIG_SERIAL_JSM is not set | 702 | # CONFIG_SERIAL_JSM is not set |
| 703 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
| 610 | CONFIG_SERIAL_BCM63XX=y | 704 | CONFIG_SERIAL_BCM63XX=y |
| 611 | CONFIG_SERIAL_BCM63XX_CONSOLE=y | 705 | CONFIG_SERIAL_BCM63XX_CONSOLE=y |
| 612 | # CONFIG_UNIX98_PTYS is not set | 706 | # CONFIG_UNIX98_PTYS is not set |
| @@ -629,6 +723,11 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 629 | CONFIG_DEVPORT=y | 723 | CONFIG_DEVPORT=y |
| 630 | # CONFIG_I2C is not set | 724 | # CONFIG_I2C is not set |
| 631 | # CONFIG_SPI is not set | 725 | # CONFIG_SPI is not set |
| 726 | |||
| 727 | # | ||
| 728 | # PPS support | ||
| 729 | # | ||
| 730 | # CONFIG_PPS is not set | ||
| 632 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | 731 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
| 633 | CONFIG_GPIOLIB=y | 732 | CONFIG_GPIOLIB=y |
| 634 | # CONFIG_GPIO_SYSFS is not set | 733 | # CONFIG_GPIO_SYSFS is not set |
| @@ -636,6 +735,8 @@ CONFIG_GPIOLIB=y | |||
| 636 | # | 735 | # |
| 637 | # Memory mapped GPIO expanders: | 736 | # Memory mapped GPIO expanders: |
| 638 | # | 737 | # |
| 738 | # CONFIG_GPIO_IT8761E is not set | ||
| 739 | # CONFIG_GPIO_SCH is not set | ||
| 639 | 740 | ||
| 640 | # | 741 | # |
| 641 | # I2C GPIO expanders: | 742 | # I2C GPIO expanders: |
| @@ -644,16 +745,21 @@ CONFIG_GPIOLIB=y | |||
| 644 | # | 745 | # |
| 645 | # PCI GPIO expanders: | 746 | # PCI GPIO expanders: |
| 646 | # | 747 | # |
| 748 | # CONFIG_GPIO_CS5535 is not set | ||
| 647 | # CONFIG_GPIO_BT8XX is not set | 749 | # CONFIG_GPIO_BT8XX is not set |
| 750 | # CONFIG_GPIO_LANGWELL is not set | ||
| 648 | 751 | ||
| 649 | # | 752 | # |
| 650 | # SPI GPIO expanders: | 753 | # SPI GPIO expanders: |
| 651 | # | 754 | # |
| 755 | |||
| 756 | # | ||
| 757 | # AC97 GPIO expanders: | ||
| 758 | # | ||
| 652 | # CONFIG_W1 is not set | 759 | # CONFIG_W1 is not set |
| 653 | # CONFIG_POWER_SUPPLY is not set | 760 | # CONFIG_POWER_SUPPLY is not set |
| 654 | # CONFIG_HWMON is not set | 761 | # CONFIG_HWMON is not set |
| 655 | # CONFIG_THERMAL is not set | 762 | # CONFIG_THERMAL is not set |
| 656 | # CONFIG_THERMAL_HWMON is not set | ||
| 657 | # CONFIG_WATCHDOG is not set | 763 | # CONFIG_WATCHDOG is not set |
| 658 | CONFIG_SSB_POSSIBLE=y | 764 | CONFIG_SSB_POSSIBLE=y |
| 659 | 765 | ||
| @@ -662,15 +768,16 @@ CONFIG_SSB_POSSIBLE=y | |||
| 662 | # | 768 | # |
| 663 | CONFIG_SSB=y | 769 | CONFIG_SSB=y |
| 664 | CONFIG_SSB_SPROM=y | 770 | CONFIG_SSB_SPROM=y |
| 771 | CONFIG_SSB_BLOCKIO=y | ||
| 665 | CONFIG_SSB_PCIHOST_POSSIBLE=y | 772 | CONFIG_SSB_PCIHOST_POSSIBLE=y |
| 666 | CONFIG_SSB_PCIHOST=y | 773 | CONFIG_SSB_PCIHOST=y |
| 667 | # CONFIG_SSB_B43_PCI_BRIDGE is not set | 774 | CONFIG_SSB_B43_PCI_BRIDGE=y |
| 668 | CONFIG_SSB_PCMCIAHOST_POSSIBLE=y | 775 | CONFIG_SSB_PCMCIAHOST_POSSIBLE=y |
| 669 | # CONFIG_SSB_PCMCIAHOST is not set | 776 | # CONFIG_SSB_PCMCIAHOST is not set |
| 670 | # CONFIG_SSB_SILENT is not set | 777 | # CONFIG_SSB_SILENT is not set |
| 671 | # CONFIG_SSB_DEBUG is not set | 778 | # CONFIG_SSB_DEBUG is not set |
| 672 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y | 779 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y |
| 673 | # CONFIG_SSB_DRIVER_PCICORE is not set | 780 | CONFIG_SSB_DRIVER_PCICORE=y |
| 674 | # CONFIG_SSB_DRIVER_MIPS is not set | 781 | # CONFIG_SSB_DRIVER_MIPS is not set |
| 675 | 782 | ||
| 676 | # | 783 | # |
| @@ -680,27 +787,15 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y | |||
| 680 | # CONFIG_MFD_SM501 is not set | 787 | # CONFIG_MFD_SM501 is not set |
| 681 | # CONFIG_HTC_PASIC3 is not set | 788 | # CONFIG_HTC_PASIC3 is not set |
| 682 | # CONFIG_MFD_TMIO is not set | 789 | # CONFIG_MFD_TMIO is not set |
| 790 | # CONFIG_MFD_TIMBERDALE is not set | ||
| 791 | # CONFIG_LPC_SCH is not set | ||
| 683 | # CONFIG_REGULATOR is not set | 792 | # CONFIG_REGULATOR is not set |
| 684 | 793 | # CONFIG_MEDIA_SUPPORT is not set | |
| 685 | # | ||
| 686 | # Multimedia devices | ||
| 687 | # | ||
| 688 | |||
| 689 | # | ||
| 690 | # Multimedia core support | ||
| 691 | # | ||
| 692 | # CONFIG_VIDEO_DEV is not set | ||
| 693 | # CONFIG_DVB_CORE is not set | ||
| 694 | # CONFIG_VIDEO_MEDIA is not set | ||
| 695 | |||
| 696 | # | ||
| 697 | # Multimedia drivers | ||
| 698 | # | ||
| 699 | # CONFIG_DAB is not set | ||
| 700 | 794 | ||
| 701 | # | 795 | # |
| 702 | # Graphics support | 796 | # Graphics support |
| 703 | # | 797 | # |
| 798 | # CONFIG_VGA_ARB is not set | ||
| 704 | # CONFIG_DRM is not set | 799 | # CONFIG_DRM is not set |
| 705 | # CONFIG_VGASTATE is not set | 800 | # CONFIG_VGASTATE is not set |
| 706 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 801 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
| @@ -710,11 +805,7 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y | |||
| 710 | # | 805 | # |
| 711 | # Display device support | 806 | # Display device support |
| 712 | # | 807 | # |
| 713 | CONFIG_DISPLAY_SUPPORT=y | 808 | # CONFIG_DISPLAY_SUPPORT is not set |
| 714 | |||
| 715 | # | ||
| 716 | # Display hardware drivers | ||
| 717 | # | ||
| 718 | # CONFIG_SOUND is not set | 809 | # CONFIG_SOUND is not set |
| 719 | CONFIG_USB_SUPPORT=y | 810 | CONFIG_USB_SUPPORT=y |
| 720 | CONFIG_USB_ARCH_HAS_HCD=y | 811 | CONFIG_USB_ARCH_HAS_HCD=y |
| @@ -741,13 +832,14 @@ CONFIG_USB=y | |||
| 741 | # USB Host Controller Drivers | 832 | # USB Host Controller Drivers |
| 742 | # | 833 | # |
| 743 | # CONFIG_USB_C67X00_HCD is not set | 834 | # CONFIG_USB_C67X00_HCD is not set |
| 835 | # CONFIG_USB_XHCI_HCD is not set | ||
| 744 | CONFIG_USB_EHCI_HCD=y | 836 | CONFIG_USB_EHCI_HCD=y |
| 745 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 837 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
| 746 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 838 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
| 747 | CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y | ||
| 748 | # CONFIG_USB_OXU210HP_HCD is not set | 839 | # CONFIG_USB_OXU210HP_HCD is not set |
| 749 | # CONFIG_USB_ISP116X_HCD is not set | 840 | # CONFIG_USB_ISP116X_HCD is not set |
| 750 | # CONFIG_USB_ISP1760_HCD is not set | 841 | # CONFIG_USB_ISP1760_HCD is not set |
| 842 | # CONFIG_USB_ISP1362_HCD is not set | ||
| 751 | CONFIG_USB_OHCI_HCD=y | 843 | CONFIG_USB_OHCI_HCD=y |
| 752 | # CONFIG_USB_OHCI_HCD_SSB is not set | 844 | # CONFIG_USB_OHCI_HCD_SSB is not set |
| 753 | CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y | 845 | CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y |
| @@ -796,7 +888,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 796 | # CONFIG_USB_RIO500 is not set | 888 | # CONFIG_USB_RIO500 is not set |
| 797 | # CONFIG_USB_LEGOTOWER is not set | 889 | # CONFIG_USB_LEGOTOWER is not set |
| 798 | # CONFIG_USB_LCD is not set | 890 | # CONFIG_USB_LCD is not set |
| 799 | # CONFIG_USB_BERRY_CHARGE is not set | ||
| 800 | # CONFIG_USB_LED is not set | 891 | # CONFIG_USB_LED is not set |
| 801 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 892 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
| 802 | # CONFIG_USB_CYTHERM is not set | 893 | # CONFIG_USB_CYTHERM is not set |
| @@ -807,8 +898,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 807 | # CONFIG_USB_LD is not set | 898 | # CONFIG_USB_LD is not set |
| 808 | # CONFIG_USB_TRANCEVIBRATOR is not set | 899 | # CONFIG_USB_TRANCEVIBRATOR is not set |
| 809 | # CONFIG_USB_IOWARRIOR is not set | 900 | # CONFIG_USB_IOWARRIOR is not set |
| 901 | # CONFIG_USB_TEST is not set | ||
| 810 | # CONFIG_USB_ISIGHTFW is not set | 902 | # CONFIG_USB_ISIGHTFW is not set |
| 811 | # CONFIG_USB_VST is not set | ||
| 812 | # CONFIG_USB_GADGET is not set | 903 | # CONFIG_USB_GADGET is not set |
| 813 | 904 | ||
| 814 | # | 905 | # |
| @@ -819,7 +910,29 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 819 | # CONFIG_UWB is not set | 910 | # CONFIG_UWB is not set |
| 820 | # CONFIG_MMC is not set | 911 | # CONFIG_MMC is not set |
| 821 | # CONFIG_MEMSTICK is not set | 912 | # CONFIG_MEMSTICK is not set |
| 822 | # CONFIG_NEW_LEDS is not set | 913 | CONFIG_NEW_LEDS=y |
| 914 | CONFIG_LEDS_CLASS=y | ||
| 915 | |||
| 916 | # | ||
| 917 | # LED drivers | ||
| 918 | # | ||
| 919 | CONFIG_LEDS_GPIO=y | ||
| 920 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
| 921 | # CONFIG_LEDS_LT3593 is not set | ||
| 922 | CONFIG_LEDS_TRIGGERS=y | ||
| 923 | |||
| 924 | # | ||
| 925 | # LED Triggers | ||
| 926 | # | ||
| 927 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
| 928 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | ||
| 929 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
| 930 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
| 931 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
| 932 | |||
| 933 | # | ||
| 934 | # iptables trigger is under Netfilter config (LED target) | ||
| 935 | # | ||
| 823 | # CONFIG_ACCESSIBILITY is not set | 936 | # CONFIG_ACCESSIBILITY is not set |
| 824 | # CONFIG_INFINIBAND is not set | 937 | # CONFIG_INFINIBAND is not set |
| 825 | CONFIG_RTC_LIB=y | 938 | CONFIG_RTC_LIB=y |
| @@ -827,6 +940,10 @@ CONFIG_RTC_LIB=y | |||
| 827 | # CONFIG_DMADEVICES is not set | 940 | # CONFIG_DMADEVICES is not set |
| 828 | # CONFIG_AUXDISPLAY is not set | 941 | # CONFIG_AUXDISPLAY is not set |
| 829 | # CONFIG_UIO is not set | 942 | # CONFIG_UIO is not set |
| 943 | |||
| 944 | # | ||
| 945 | # TI VLYNQ | ||
| 946 | # | ||
| 830 | # CONFIG_STAGING is not set | 947 | # CONFIG_STAGING is not set |
| 831 | 948 | ||
| 832 | # | 949 | # |
| @@ -838,12 +955,16 @@ CONFIG_RTC_LIB=y | |||
| 838 | # CONFIG_REISERFS_FS is not set | 955 | # CONFIG_REISERFS_FS is not set |
| 839 | # CONFIG_JFS_FS is not set | 956 | # CONFIG_JFS_FS is not set |
| 840 | # CONFIG_FS_POSIX_ACL is not set | 957 | # CONFIG_FS_POSIX_ACL is not set |
| 841 | # CONFIG_FILE_LOCKING is not set | ||
| 842 | # CONFIG_XFS_FS is not set | 958 | # CONFIG_XFS_FS is not set |
| 959 | # CONFIG_GFS2_FS is not set | ||
| 843 | # CONFIG_OCFS2_FS is not set | 960 | # CONFIG_OCFS2_FS is not set |
| 844 | # CONFIG_BTRFS_FS is not set | 961 | # CONFIG_BTRFS_FS is not set |
| 962 | # CONFIG_NILFS2_FS is not set | ||
| 963 | # CONFIG_FILE_LOCKING is not set | ||
| 964 | CONFIG_FSNOTIFY=y | ||
| 845 | # CONFIG_DNOTIFY is not set | 965 | # CONFIG_DNOTIFY is not set |
| 846 | # CONFIG_INOTIFY is not set | 966 | # CONFIG_INOTIFY is not set |
| 967 | CONFIG_INOTIFY_USER=y | ||
| 847 | # CONFIG_QUOTA is not set | 968 | # CONFIG_QUOTA is not set |
| 848 | # CONFIG_AUTOFS_FS is not set | 969 | # CONFIG_AUTOFS_FS is not set |
| 849 | # CONFIG_AUTOFS4_FS is not set | 970 | # CONFIG_AUTOFS4_FS is not set |
| @@ -875,8 +996,6 @@ CONFIG_PROC_KCORE=y | |||
| 875 | CONFIG_PROC_SYSCTL=y | 996 | CONFIG_PROC_SYSCTL=y |
| 876 | CONFIG_PROC_PAGE_MONITOR=y | 997 | CONFIG_PROC_PAGE_MONITOR=y |
| 877 | CONFIG_SYSFS=y | 998 | CONFIG_SYSFS=y |
| 878 | CONFIG_TMPFS=y | ||
| 879 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 880 | # CONFIG_HUGETLB_PAGE is not set | 999 | # CONFIG_HUGETLB_PAGE is not set |
| 881 | # CONFIG_CONFIGFS_FS is not set | 1000 | # CONFIG_CONFIGFS_FS is not set |
| 882 | CONFIG_MISC_FILESYSTEMS=y | 1001 | CONFIG_MISC_FILESYSTEMS=y |
| @@ -888,6 +1007,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 888 | # CONFIG_BFS_FS is not set | 1007 | # CONFIG_BFS_FS is not set |
| 889 | # CONFIG_EFS_FS is not set | 1008 | # CONFIG_EFS_FS is not set |
| 890 | # CONFIG_JFFS2_FS is not set | 1009 | # CONFIG_JFFS2_FS is not set |
| 1010 | # CONFIG_LOGFS is not set | ||
| 891 | # CONFIG_CRAMFS is not set | 1011 | # CONFIG_CRAMFS is not set |
| 892 | # CONFIG_SQUASHFS is not set | 1012 | # CONFIG_SQUASHFS is not set |
| 893 | # CONFIG_VXFS_FS is not set | 1013 | # CONFIG_VXFS_FS is not set |
| @@ -898,7 +1018,6 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 898 | # CONFIG_ROMFS_FS is not set | 1018 | # CONFIG_ROMFS_FS is not set |
| 899 | # CONFIG_SYSV_FS is not set | 1019 | # CONFIG_SYSV_FS is not set |
| 900 | # CONFIG_UFS_FS is not set | 1020 | # CONFIG_UFS_FS is not set |
| 901 | # CONFIG_NILFS2_FS is not set | ||
| 902 | # CONFIG_NETWORK_FILESYSTEMS is not set | 1021 | # CONFIG_NETWORK_FILESYSTEMS is not set |
| 903 | 1022 | ||
| 904 | # | 1023 | # |
| @@ -906,7 +1025,46 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 906 | # | 1025 | # |
| 907 | # CONFIG_PARTITION_ADVANCED is not set | 1026 | # CONFIG_PARTITION_ADVANCED is not set |
| 908 | CONFIG_MSDOS_PARTITION=y | 1027 | CONFIG_MSDOS_PARTITION=y |
| 909 | # CONFIG_NLS is not set | 1028 | CONFIG_NLS=y |
| 1029 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 1030 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
| 1031 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 1032 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 1033 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 1034 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 1035 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 1036 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 1037 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 1038 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 1039 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 1040 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 1041 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 1042 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 1043 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 1044 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 1045 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 1046 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 1047 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 1048 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 1049 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 1050 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 1051 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 1052 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 1053 | # CONFIG_NLS_ASCII is not set | ||
| 1054 | # CONFIG_NLS_ISO8859_1 is not set | ||
| 1055 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 1056 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 1057 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 1058 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 1059 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 1060 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 1061 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 1062 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 1063 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 1064 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 1065 | # CONFIG_NLS_KOI8_R is not set | ||
| 1066 | # CONFIG_NLS_KOI8_U is not set | ||
| 1067 | # CONFIG_NLS_UTF8 is not set | ||
| 910 | # CONFIG_DLM is not set | 1068 | # CONFIG_DLM is not set |
| 911 | 1069 | ||
| 912 | # | 1070 | # |
| @@ -918,29 +1076,23 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
| 918 | CONFIG_ENABLE_MUST_CHECK=y | 1076 | CONFIG_ENABLE_MUST_CHECK=y |
| 919 | CONFIG_FRAME_WARN=1024 | 1077 | CONFIG_FRAME_WARN=1024 |
| 920 | CONFIG_MAGIC_SYSRQ=y | 1078 | CONFIG_MAGIC_SYSRQ=y |
| 1079 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 921 | # CONFIG_UNUSED_SYMBOLS is not set | 1080 | # CONFIG_UNUSED_SYMBOLS is not set |
| 922 | # CONFIG_DEBUG_FS is not set | 1081 | # CONFIG_DEBUG_FS is not set |
| 923 | # CONFIG_HEADERS_CHECK is not set | 1082 | # CONFIG_HEADERS_CHECK is not set |
| 924 | # CONFIG_DEBUG_KERNEL is not set | 1083 | # CONFIG_DEBUG_KERNEL is not set |
| 925 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1084 | # CONFIG_DEBUG_MEMORY_INIT is not set |
| 926 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 927 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1085 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 1086 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1087 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
| 1088 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | ||
| 1089 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
| 1090 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
| 928 | CONFIG_TRACING_SUPPORT=y | 1091 | CONFIG_TRACING_SUPPORT=y |
| 929 | 1092 | # CONFIG_FTRACE is not set | |
| 930 | # | ||
| 931 | # Tracers | ||
| 932 | # | ||
| 933 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 934 | # CONFIG_SCHED_TRACER is not set | ||
| 935 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
| 936 | # CONFIG_EVENT_TRACER is not set | ||
| 937 | # CONFIG_BOOT_TRACER is not set | ||
| 938 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
| 939 | # CONFIG_KMEMTRACE is not set | ||
| 940 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 941 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 942 | # CONFIG_SAMPLES is not set | 1093 | # CONFIG_SAMPLES is not set |
| 943 | CONFIG_HAVE_ARCH_KGDB=y | 1094 | CONFIG_HAVE_ARCH_KGDB=y |
| 1095 | CONFIG_EARLY_PRINTK=y | ||
| 944 | CONFIG_CMDLINE_BOOL=y | 1096 | CONFIG_CMDLINE_BOOL=y |
| 945 | CONFIG_CMDLINE="console=ttyS0,115200" | 1097 | CONFIG_CMDLINE="console=ttyS0,115200" |
| 946 | # CONFIG_CMDLINE_OVERRIDE is not set | 1098 | # CONFIG_CMDLINE_OVERRIDE is not set |
| @@ -951,8 +1103,108 @@ CONFIG_CMDLINE="console=ttyS0,115200" | |||
| 951 | # CONFIG_KEYS is not set | 1103 | # CONFIG_KEYS is not set |
| 952 | # CONFIG_SECURITY is not set | 1104 | # CONFIG_SECURITY is not set |
| 953 | # CONFIG_SECURITYFS is not set | 1105 | # CONFIG_SECURITYFS is not set |
| 954 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1106 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
| 955 | # CONFIG_CRYPTO is not set | 1107 | # CONFIG_DEFAULT_SECURITY_SMACK is not set |
| 1108 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 1109 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 1110 | CONFIG_DEFAULT_SECURITY="" | ||
| 1111 | CONFIG_CRYPTO=y | ||
| 1112 | |||
| 1113 | # | ||
| 1114 | # Crypto core or helper | ||
| 1115 | # | ||
| 1116 | # CONFIG_CRYPTO_FIPS is not set | ||
| 1117 | CONFIG_CRYPTO_ALGAPI=y | ||
| 1118 | CONFIG_CRYPTO_ALGAPI2=y | ||
| 1119 | CONFIG_CRYPTO_AEAD2=y | ||
| 1120 | CONFIG_CRYPTO_BLKCIPHER=y | ||
| 1121 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
| 1122 | CONFIG_CRYPTO_HASH2=y | ||
| 1123 | CONFIG_CRYPTO_RNG=y | ||
| 1124 | CONFIG_CRYPTO_RNG2=y | ||
| 1125 | CONFIG_CRYPTO_PCOMP=y | ||
| 1126 | CONFIG_CRYPTO_MANAGER=y | ||
| 1127 | CONFIG_CRYPTO_MANAGER2=y | ||
| 1128 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 1129 | # CONFIG_CRYPTO_NULL is not set | ||
| 1130 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 1131 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1132 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 1133 | |||
| 1134 | # | ||
| 1135 | # Authenticated Encryption with Associated Data | ||
| 1136 | # | ||
| 1137 | # CONFIG_CRYPTO_CCM is not set | ||
| 1138 | # CONFIG_CRYPTO_GCM is not set | ||
| 1139 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1140 | |||
| 1141 | # | ||
| 1142 | # Block modes | ||
| 1143 | # | ||
| 1144 | # CONFIG_CRYPTO_CBC is not set | ||
| 1145 | # CONFIG_CRYPTO_CTR is not set | ||
| 1146 | # CONFIG_CRYPTO_CTS is not set | ||
| 1147 | CONFIG_CRYPTO_ECB=y | ||
| 1148 | # CONFIG_CRYPTO_LRW is not set | ||
| 1149 | # CONFIG_CRYPTO_PCBC is not set | ||
| 1150 | # CONFIG_CRYPTO_XTS is not set | ||
| 1151 | |||
| 1152 | # | ||
| 1153 | # Hash modes | ||
| 1154 | # | ||
| 1155 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1156 | # CONFIG_CRYPTO_XCBC is not set | ||
| 1157 | # CONFIG_CRYPTO_VMAC is not set | ||
| 1158 | |||
| 1159 | # | ||
| 1160 | # Digest | ||
| 1161 | # | ||
| 1162 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1163 | # CONFIG_CRYPTO_GHASH is not set | ||
| 1164 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1165 | # CONFIG_CRYPTO_MD5 is not set | ||
| 1166 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1167 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1168 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1169 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1170 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 1171 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1172 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1173 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1174 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1175 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1176 | |||
| 1177 | # | ||
| 1178 | # Ciphers | ||
| 1179 | # | ||
| 1180 | CONFIG_CRYPTO_AES=y | ||
| 1181 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1182 | CONFIG_CRYPTO_ARC4=y | ||
| 1183 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1184 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1185 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1186 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1187 | # CONFIG_CRYPTO_DES is not set | ||
| 1188 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 1189 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1190 | # CONFIG_CRYPTO_SALSA20 is not set | ||
| 1191 | # CONFIG_CRYPTO_SEED is not set | ||
| 1192 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1193 | # CONFIG_CRYPTO_TEA is not set | ||
| 1194 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1195 | |||
| 1196 | # | ||
| 1197 | # Compression | ||
| 1198 | # | ||
| 1199 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 1200 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1201 | # CONFIG_CRYPTO_LZO is not set | ||
| 1202 | |||
| 1203 | # | ||
| 1204 | # Random Number Generation | ||
| 1205 | # | ||
| 1206 | CONFIG_CRYPTO_ANSI_CPRNG=y | ||
| 1207 | # CONFIG_CRYPTO_HW is not set | ||
| 956 | # CONFIG_BINARY_PRINTF is not set | 1208 | # CONFIG_BINARY_PRINTF is not set |
| 957 | 1209 | ||
| 958 | # | 1210 | # |
diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h index ed9aaaaf074..2d28017e95d 100644 --- a/arch/mips/include/asm/cmpxchg.h +++ b/arch/mips/include/asm/cmpxchg.h | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | ({ \ | 16 | ({ \ |
| 17 | __typeof(*(m)) __ret; \ | 17 | __typeof(*(m)) __ret; \ |
| 18 | \ | 18 | \ |
| 19 | if (kernel_uses_llsc && R10000_LLSC_WAR) { \ | 19 | if (kernel_uses_llsc && R10000_LLSC_WAR) { \ |
| 20 | __asm__ __volatile__( \ | 20 | __asm__ __volatile__( \ |
| 21 | " .set push \n" \ | 21 | " .set push \n" \ |
| 22 | " .set noat \n" \ | 22 | " .set noat \n" \ |
diff --git a/arch/mips/include/asm/mach-loongson/loongson.h b/arch/mips/include/asm/mach-loongson/loongson.h index 1cf7b1401ee..fcdbe3a4ce1 100644 --- a/arch/mips/include/asm/mach-loongson/loongson.h +++ b/arch/mips/include/asm/mach-loongson/loongson.h | |||
| @@ -307,7 +307,7 @@ extern unsigned long _loongson_addrwincfg_base; | |||
| 307 | */ | 307 | */ |
| 308 | #define LOONGSON_ADDRWIN_CFG(s, d, w, src, dst, size) do {\ | 308 | #define LOONGSON_ADDRWIN_CFG(s, d, w, src, dst, size) do {\ |
| 309 | s##_WIN##w##_BASE = (src); \ | 309 | s##_WIN##w##_BASE = (src); \ |
| 310 | s##_WIN##w##_MMAP = (src) | ADDRWIN_MAP_DST_##d; \ | 310 | s##_WIN##w##_MMAP = (dst) | ADDRWIN_MAP_DST_##d; \ |
| 311 | s##_WIN##w##_MASK = ~(size-1); \ | 311 | s##_WIN##w##_MASK = ~(size-1); \ |
| 312 | } while (0) | 312 | } while (0) |
| 313 | 313 | ||
diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h index 26dc69d792a..1be4b0fa30d 100644 --- a/arch/mips/include/asm/pgtable-64.h +++ b/arch/mips/include/asm/pgtable-64.h | |||
| @@ -120,9 +120,14 @@ | |||
| 120 | #endif | 120 | #endif |
| 121 | #define FIRST_USER_ADDRESS 0UL | 121 | #define FIRST_USER_ADDRESS 0UL |
| 122 | 122 | ||
| 123 | #define VMALLOC_START MAP_BASE | 123 | /* |
| 124 | * TLB refill handlers also map the vmalloc area into xuseg. Avoid | ||
| 125 | * the first couple of pages so NULL pointer dereferences will still | ||
| 126 | * reliably trap. | ||
| 127 | */ | ||
| 128 | #define VMALLOC_START (MAP_BASE + (2 * PAGE_SIZE)) | ||
| 124 | #define VMALLOC_END \ | 129 | #define VMALLOC_END \ |
| 125 | (VMALLOC_START + \ | 130 | (MAP_BASE + \ |
| 126 | min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \ | 131 | min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \ |
| 127 | (1UL << cpu_vmbits)) - (1UL << 32)) | 132 | (1UL << cpu_vmbits)) - (1UL << 32)) |
| 128 | 133 | ||
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h index ce47118e52b..cdc6a46efd9 100644 --- a/arch/mips/include/asm/ptrace.h +++ b/arch/mips/include/asm/ptrace.h | |||
| @@ -142,9 +142,9 @@ extern int ptrace_set_watch_regs(struct task_struct *child, | |||
| 142 | 142 | ||
| 143 | extern asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit); | 143 | extern asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit); |
| 144 | 144 | ||
| 145 | extern NORET_TYPE void die(const char *, const struct pt_regs *) ATTRIB_NORET; | 145 | extern NORET_TYPE void die(const char *, struct pt_regs *) ATTRIB_NORET; |
| 146 | 146 | ||
| 147 | static inline void die_if_kernel(const char *str, const struct pt_regs *regs) | 147 | static inline void die_if_kernel(const char *str, struct pt_regs *regs) |
| 148 | { | 148 | { |
| 149 | if (unlikely(!user_mode(regs))) | 149 | if (unlikely(!user_mode(regs))) |
| 150 | die(str, regs); | 150 | die(str, regs); |
diff --git a/arch/mips/include/asm/stackframe.h b/arch/mips/include/asm/stackframe.h index c8419129e77..58730c5ce4b 100644 --- a/arch/mips/include/asm/stackframe.h +++ b/arch/mips/include/asm/stackframe.h | |||
| @@ -121,7 +121,7 @@ | |||
| 121 | .endm | 121 | .endm |
| 122 | #else | 122 | #else |
| 123 | .macro get_saved_sp /* Uniprocessor variation */ | 123 | .macro get_saved_sp /* Uniprocessor variation */ |
| 124 | #ifdef CONFIG_CPU_LOONGSON2F | 124 | #ifdef CONFIG_CPU_JUMP_WORKAROUNDS |
| 125 | /* | 125 | /* |
| 126 | * Clear BTB (branch target buffer), forbid RAS (return address | 126 | * Clear BTB (branch target buffer), forbid RAS (return address |
| 127 | * stack) to workaround the Out-of-order Issue in Loongson2F | 127 | * stack) to workaround the Out-of-order Issue in Loongson2F |
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h index 11a8b525254..697e40c0649 100644 --- a/arch/mips/include/asm/uasm.h +++ b/arch/mips/include/asm/uasm.h | |||
| @@ -167,6 +167,24 @@ static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \ | |||
| 167 | #define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1) | 167 | #define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1) |
| 168 | #define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3) | 168 | #define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3) |
| 169 | 169 | ||
| 170 | static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1, | ||
| 171 | unsigned int a2, unsigned int a3) | ||
| 172 | { | ||
| 173 | if (a3 < 32) | ||
| 174 | uasm_i_dsrl(p, a1, a2, a3); | ||
| 175 | else | ||
| 176 | uasm_i_dsrl32(p, a1, a2, a3 - 32); | ||
| 177 | } | ||
| 178 | |||
| 179 | static inline void uasm_i_dsll_safe(u32 **p, unsigned int a1, | ||
| 180 | unsigned int a2, unsigned int a3) | ||
| 181 | { | ||
| 182 | if (a3 < 32) | ||
| 183 | uasm_i_dsll(p, a1, a2, a3); | ||
| 184 | else | ||
| 185 | uasm_i_dsll32(p, a1, a2, a3 - 32); | ||
| 186 | } | ||
| 187 | |||
| 170 | /* Handle relocations. */ | 188 | /* Handle relocations. */ |
| 171 | struct uasm_reloc { | 189 | struct uasm_reloc { |
| 172 | u32 *addr; | 190 | u32 *addr; |
diff --git a/arch/mips/jazz/setup.c b/arch/mips/jazz/setup.c index 7043f6b9ff3..0d0f054a02f 100644 --- a/arch/mips/jazz/setup.c +++ b/arch/mips/jazz/setup.c | |||
| @@ -76,15 +76,9 @@ void __init plat_mem_setup(void) | |||
| 76 | 76 | ||
| 77 | #ifdef CONFIG_VT | 77 | #ifdef CONFIG_VT |
| 78 | screen_info = (struct screen_info) { | 78 | screen_info = (struct screen_info) { |
| 79 | 0, 0, /* orig-x, orig-y */ | 79 | .orig_video_cols = 160, |
| 80 | 0, /* unused */ | 80 | .orig_video_lines = 64, |
| 81 | 0, /* orig_video_page */ | 81 | .orig_video_points = 16, |
| 82 | 0, /* orig_video_mode */ | ||
| 83 | 160, /* orig_video_cols */ | ||
| 84 | 0, 0, 0, /* unused, ega_bx, unused */ | ||
| 85 | 64, /* orig_video_lines */ | ||
| 86 | 0, /* orig_video_isVGA */ | ||
| 87 | 16 /* orig_video_points */ | ||
| 88 | }; | 82 | }; |
| 89 | #endif | 83 | #endif |
| 90 | 84 | ||
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 1a4dd657ccb..d612c6dcb74 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
| @@ -352,9 +352,10 @@ void show_registers(const struct pt_regs *regs) | |||
| 352 | 352 | ||
| 353 | static DEFINE_SPINLOCK(die_lock); | 353 | static DEFINE_SPINLOCK(die_lock); |
| 354 | 354 | ||
| 355 | void __noreturn die(const char * str, const struct pt_regs * regs) | 355 | void __noreturn die(const char * str, struct pt_regs * regs) |
| 356 | { | 356 | { |
| 357 | static int die_counter; | 357 | static int die_counter; |
| 358 | int sig = SIGSEGV; | ||
| 358 | #ifdef CONFIG_MIPS_MT_SMTC | 359 | #ifdef CONFIG_MIPS_MT_SMTC |
| 359 | unsigned long dvpret = dvpe(); | 360 | unsigned long dvpret = dvpe(); |
| 360 | #endif /* CONFIG_MIPS_MT_SMTC */ | 361 | #endif /* CONFIG_MIPS_MT_SMTC */ |
| @@ -365,6 +366,10 @@ void __noreturn die(const char * str, const struct pt_regs * regs) | |||
| 365 | #ifdef CONFIG_MIPS_MT_SMTC | 366 | #ifdef CONFIG_MIPS_MT_SMTC |
| 366 | mips_mt_regdump(dvpret); | 367 | mips_mt_regdump(dvpret); |
| 367 | #endif /* CONFIG_MIPS_MT_SMTC */ | 368 | #endif /* CONFIG_MIPS_MT_SMTC */ |
| 369 | |||
| 370 | if (notify_die(DIE_OOPS, str, regs, 0, current->thread.trap_no, SIGSEGV) == NOTIFY_STOP) | ||
| 371 | sig = 0; | ||
| 372 | |||
| 368 | printk("%s[#%d]:\n", str, ++die_counter); | 373 | printk("%s[#%d]:\n", str, ++die_counter); |
| 369 | show_registers(regs); | 374 | show_registers(regs); |
| 370 | add_taint(TAINT_DIE); | 375 | add_taint(TAINT_DIE); |
| @@ -379,7 +384,7 @@ void __noreturn die(const char * str, const struct pt_regs * regs) | |||
| 379 | panic("Fatal exception"); | 384 | panic("Fatal exception"); |
| 380 | } | 385 | } |
| 381 | 386 | ||
| 382 | do_exit(SIGSEGV); | 387 | do_exit(sig); |
| 383 | } | 388 | } |
| 384 | 389 | ||
| 385 | extern struct exception_table_entry __start___dbe_table[]; | 390 | extern struct exception_table_entry __start___dbe_table[]; |
| @@ -1557,12 +1562,7 @@ static char panic_null_cerr[] __cpuinitdata = | |||
| 1557 | void __cpuinit set_uncached_handler(unsigned long offset, void *addr, | 1562 | void __cpuinit set_uncached_handler(unsigned long offset, void *addr, |
| 1558 | unsigned long size) | 1563 | unsigned long size) |
| 1559 | { | 1564 | { |
| 1560 | #ifdef CONFIG_32BIT | 1565 | unsigned long uncached_ebase = CKSEG1ADDR(ebase); |
| 1561 | unsigned long uncached_ebase = KSEG1ADDR(ebase); | ||
| 1562 | #endif | ||
| 1563 | #ifdef CONFIG_64BIT | ||
| 1564 | unsigned long uncached_ebase = TO_UNCAC(ebase); | ||
| 1565 | #endif | ||
| 1566 | 1566 | ||
| 1567 | if (!addr) | 1567 | if (!addr) |
| 1568 | panic(panic_null_cerr); | 1568 | panic(panic_null_cerr); |
diff --git a/arch/mips/loongson/common/machtype.c b/arch/mips/loongson/common/machtype.c index 853f184b793..81fbe6b73f9 100644 --- a/arch/mips/loongson/common/machtype.c +++ b/arch/mips/loongson/common/machtype.c | |||
| @@ -24,7 +24,7 @@ static const char *system_types[] = { | |||
| 24 | [MACH_LEMOTE_FL2F] "lemote-fuloong-2f-box", | 24 | [MACH_LEMOTE_FL2F] "lemote-fuloong-2f-box", |
| 25 | [MACH_LEMOTE_ML2F7] "lemote-mengloong-2f-7inches", | 25 | [MACH_LEMOTE_ML2F7] "lemote-mengloong-2f-7inches", |
| 26 | [MACH_LEMOTE_YL2F89] "lemote-yeeloong-2f-8.9inches", | 26 | [MACH_LEMOTE_YL2F89] "lemote-yeeloong-2f-8.9inches", |
| 27 | [MACH_DEXXON_GDIUM2F10] "dexxon-gidum-2f-10inches", | 27 | [MACH_DEXXON_GDIUM2F10] "dexxon-gdium-2f", |
| 28 | [MACH_LEMOTE_NAS] "lemote-nas-2f", | 28 | [MACH_LEMOTE_NAS] "lemote-nas-2f", |
| 29 | [MACH_LEMOTE_LL2F] "lemote-lynloong-2f", | 29 | [MACH_LEMOTE_LL2F] "lemote-lynloong-2f", |
| 30 | [MACH_LOONGSON_END] NULL, | 30 | [MACH_LOONGSON_END] NULL, |
diff --git a/arch/mips/loongson/common/mem.c b/arch/mips/loongson/common/mem.c index ec2f7964a0b..30eba600120 100644 --- a/arch/mips/loongson/common/mem.c +++ b/arch/mips/loongson/common/mem.c | |||
| @@ -75,7 +75,7 @@ pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, | |||
| 75 | unsigned long end = offset + size; | 75 | unsigned long end = offset + size; |
| 76 | 76 | ||
| 77 | if (__uncached_access(file, offset)) { | 77 | if (__uncached_access(file, offset)) { |
| 78 | if (((uca_start && offset) >= uca_start) && | 78 | if (uca_start && (offset >= uca_start) && |
| 79 | (end <= uca_end)) | 79 | (end <= uca_end)) |
| 80 | return __pgprot((pgprot_val(vma_prot) & | 80 | return __pgprot((pgprot_val(vma_prot) & |
| 81 | ~_CACHE_MASK) | | 81 | ~_CACHE_MASK) | |
| @@ -96,7 +96,7 @@ static int __init find_vga_mem_init(void) | |||
| 96 | return 0; | 96 | return 0; |
| 97 | 97 | ||
| 98 | for_each_pci_dev(dev) { | 98 | for_each_pci_dev(dev) { |
| 99 | if ((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA) { | 99 | if ((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) { |
| 100 | for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) { | 100 | for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) { |
| 101 | r = &dev->resource[idx]; | 101 | r = &dev->resource[idx]; |
| 102 | if (!r->start && r->end) | 102 | if (!r->start && r->end) |
diff --git a/arch/mips/loongson/common/reset.c b/arch/mips/loongson/common/reset.c index 4bd9c18b07a..9e10d6225d9 100644 --- a/arch/mips/loongson/common/reset.c +++ b/arch/mips/loongson/common/reset.c | |||
| @@ -16,13 +16,31 @@ | |||
| 16 | 16 | ||
| 17 | #include <loongson.h> | 17 | #include <loongson.h> |
| 18 | 18 | ||
| 19 | static inline void loongson_reboot(void) | ||
| 20 | { | ||
| 21 | #ifndef CONFIG_CPU_JUMP_WORKAROUNDS | ||
| 22 | ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) (); | ||
| 23 | #else | ||
| 24 | void (*func)(void); | ||
| 25 | |||
| 26 | func = (void *)ioremap_nocache(LOONGSON_BOOT_BASE, 4); | ||
| 27 | |||
| 28 | __asm__ __volatile__( | ||
| 29 | " .set noat \n" | ||
| 30 | " jr %[func] \n" | ||
| 31 | " .set at \n" | ||
| 32 | : /* No outputs */ | ||
| 33 | : [func] "r" (func)); | ||
| 34 | #endif | ||
| 35 | } | ||
| 36 | |||
| 19 | static void loongson_restart(char *command) | 37 | static void loongson_restart(char *command) |
| 20 | { | 38 | { |
| 21 | /* do preparation for reboot */ | 39 | /* do preparation for reboot */ |
| 22 | mach_prepare_reboot(); | 40 | mach_prepare_reboot(); |
| 23 | 41 | ||
| 24 | /* reboot via jumping to boot base address */ | 42 | /* reboot via jumping to boot base address */ |
| 25 | ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) (); | 43 | loongson_reboot(); |
| 26 | } | 44 | } |
| 27 | 45 | ||
| 28 | static void loongson_poweroff(void) | 46 | static void loongson_poweroff(void) |
diff --git a/arch/mips/loongson/common/setup.c b/arch/mips/loongson/common/setup.c index 4cd2aa9a342..27d826bc710 100644 --- a/arch/mips/loongson/common/setup.c +++ b/arch/mips/loongson/common/setup.c | |||
| @@ -41,15 +41,12 @@ void __init plat_mem_setup(void) | |||
| 41 | conswitchp = &vga_con; | 41 | conswitchp = &vga_con; |
| 42 | 42 | ||
| 43 | screen_info = (struct screen_info) { | 43 | screen_info = (struct screen_info) { |
| 44 | 0, 25, /* orig-x, orig-y */ | 44 | .orig_x = 0, |
| 45 | 0, /* unused */ | 45 | .orig_y = 25, |
| 46 | 0, /* orig-video-page */ | 46 | .orig_video_cols = 80, |
| 47 | 0, /* orig-video-mode */ | 47 | .orig_video_lines = 25, |
| 48 | 80, /* orig-video-cols */ | 48 | .orig_video_isVGA = VIDEO_TYPE_VGAC, |
| 49 | 0, 0, 0, /* ega_ax, ega_bx, ega_cx */ | 49 | .orig_video_points = 16, |
| 50 | 25, /* orig-video-lines */ | ||
| 51 | VIDEO_TYPE_VGAC, /* orig-video-isVGA */ | ||
| 52 | 16 /* orig-video-points */ | ||
| 53 | }; | 50 | }; |
| 54 | #elif defined(CONFIG_DUMMY_CONSOLE) | 51 | #elif defined(CONFIG_DUMMY_CONSOLE) |
| 55 | conswitchp = &dummy_con; | 52 | conswitchp = &dummy_con; |
diff --git a/arch/mips/loongson/lemote-2f/irq.c b/arch/mips/loongson/lemote-2f/irq.c index 882dfcd42c0..1d8b4d28a05 100644 --- a/arch/mips/loongson/lemote-2f/irq.c +++ b/arch/mips/loongson/lemote-2f/irq.c | |||
| @@ -79,7 +79,7 @@ void mach_irq_dispatch(unsigned int pending) | |||
| 79 | if (pending & CAUSEF_IP7) | 79 | if (pending & CAUSEF_IP7) |
| 80 | do_IRQ(LOONGSON_TIMER_IRQ); | 80 | do_IRQ(LOONGSON_TIMER_IRQ); |
| 81 | else if (pending & CAUSEF_IP6) { /* North Bridge, Perf counter */ | 81 | else if (pending & CAUSEF_IP6) { /* North Bridge, Perf counter */ |
| 82 | #ifdef CONFIG_OPROFILE | 82 | #if defined(CONFIG_OPROFILE) || defined(CONFIG_OPROFILE_MODULE) |
| 83 | do_IRQ(LOONGSON2_PERFCNT_IRQ); | 83 | do_IRQ(LOONGSON2_PERFCNT_IRQ); |
| 84 | #endif | 84 | #endif |
| 85 | bonito_irqdispatch(); | 85 | bonito_irqdispatch(); |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index d1f68aadbc4..86f004dc835 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
| @@ -31,6 +31,16 @@ | |||
| 31 | #include <asm/war.h> | 31 | #include <asm/war.h> |
| 32 | #include <asm/uasm.h> | 32 | #include <asm/uasm.h> |
| 33 | 33 | ||
| 34 | /* | ||
| 35 | * TLB load/store/modify handlers. | ||
| 36 | * | ||
| 37 | * Only the fastpath gets synthesized at runtime, the slowpath for | ||
| 38 | * do_page_fault remains normal asm. | ||
| 39 | */ | ||
| 40 | extern void tlb_do_page_fault_0(void); | ||
| 41 | extern void tlb_do_page_fault_1(void); | ||
| 42 | |||
| 43 | |||
| 34 | static inline int r45k_bvahwbug(void) | 44 | static inline int r45k_bvahwbug(void) |
| 35 | { | 45 | { |
| 36 | /* XXX: We should probe for the presence of this bug, but we don't. */ | 46 | /* XXX: We should probe for the presence of this bug, but we don't. */ |
| @@ -83,6 +93,7 @@ enum label_id { | |||
| 83 | label_nopage_tlbm, | 93 | label_nopage_tlbm, |
| 84 | label_smp_pgtable_change, | 94 | label_smp_pgtable_change, |
| 85 | label_r3000_write_probe_fail, | 95 | label_r3000_write_probe_fail, |
| 96 | label_large_segbits_fault, | ||
| 86 | #ifdef CONFIG_HUGETLB_PAGE | 97 | #ifdef CONFIG_HUGETLB_PAGE |
| 87 | label_tlb_huge_update, | 98 | label_tlb_huge_update, |
| 88 | #endif | 99 | #endif |
| @@ -101,6 +112,7 @@ UASM_L_LA(_nopage_tlbs) | |||
| 101 | UASM_L_LA(_nopage_tlbm) | 112 | UASM_L_LA(_nopage_tlbm) |
| 102 | UASM_L_LA(_smp_pgtable_change) | 113 | UASM_L_LA(_smp_pgtable_change) |
| 103 | UASM_L_LA(_r3000_write_probe_fail) | 114 | UASM_L_LA(_r3000_write_probe_fail) |
| 115 | UASM_L_LA(_large_segbits_fault) | ||
| 104 | #ifdef CONFIG_HUGETLB_PAGE | 116 | #ifdef CONFIG_HUGETLB_PAGE |
| 105 | UASM_L_LA(_tlb_huge_update) | 117 | UASM_L_LA(_tlb_huge_update) |
| 106 | #endif | 118 | #endif |
| @@ -157,6 +169,10 @@ static u32 tlb_handler[128] __cpuinitdata; | |||
| 157 | static struct uasm_label labels[128] __cpuinitdata; | 169 | static struct uasm_label labels[128] __cpuinitdata; |
| 158 | static struct uasm_reloc relocs[128] __cpuinitdata; | 170 | static struct uasm_reloc relocs[128] __cpuinitdata; |
| 159 | 171 | ||
| 172 | #ifdef CONFIG_64BIT | ||
| 173 | static int check_for_high_segbits __cpuinitdata; | ||
| 174 | #endif | ||
| 175 | |||
| 160 | #ifndef CONFIG_MIPS_PGD_C0_CONTEXT | 176 | #ifndef CONFIG_MIPS_PGD_C0_CONTEXT |
| 161 | /* | 177 | /* |
| 162 | * CONFIG_MIPS_PGD_C0_CONTEXT implies 64 bit and lack of pgd_current, | 178 | * CONFIG_MIPS_PGD_C0_CONTEXT implies 64 bit and lack of pgd_current, |
| @@ -408,7 +424,7 @@ static __cpuinit __maybe_unused void build_convert_pte_to_entrylo(u32 **p, | |||
| 408 | UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); | 424 | UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); |
| 409 | } else { | 425 | } else { |
| 410 | #ifdef CONFIG_64BIT_PHYS_ADDR | 426 | #ifdef CONFIG_64BIT_PHYS_ADDR |
| 411 | uasm_i_dsrl(p, reg, reg, ilog2(_PAGE_GLOBAL)); | 427 | uasm_i_dsrl_safe(p, reg, reg, ilog2(_PAGE_GLOBAL)); |
| 412 | #else | 428 | #else |
| 413 | UASM_i_SRL(p, reg, reg, ilog2(_PAGE_GLOBAL)); | 429 | UASM_i_SRL(p, reg, reg, ilog2(_PAGE_GLOBAL)); |
| 414 | #endif | 430 | #endif |
| @@ -532,7 +548,24 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, | |||
| 532 | * The vmalloc handling is not in the hotpath. | 548 | * The vmalloc handling is not in the hotpath. |
| 533 | */ | 549 | */ |
| 534 | uasm_i_dmfc0(p, tmp, C0_BADVADDR); | 550 | uasm_i_dmfc0(p, tmp, C0_BADVADDR); |
| 535 | uasm_il_bltz(p, r, tmp, label_vmalloc); | 551 | |
| 552 | if (check_for_high_segbits) { | ||
| 553 | /* | ||
| 554 | * The kernel currently implicitely assumes that the | ||
| 555 | * MIPS SEGBITS parameter for the processor is | ||
| 556 | * (PGDIR_SHIFT+PGDIR_BITS) or less, and will never | ||
| 557 | * allocate virtual addresses outside the maximum | ||
| 558 | * range for SEGBITS = (PGDIR_SHIFT+PGDIR_BITS). But | ||
| 559 | * that doesn't prevent user code from accessing the | ||
| 560 | * higher xuseg addresses. Here, we make sure that | ||
| 561 | * everything but the lower xuseg addresses goes down | ||
| 562 | * the module_alloc/vmalloc path. | ||
| 563 | */ | ||
| 564 | uasm_i_dsrl_safe(p, ptr, tmp, PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3); | ||
| 565 | uasm_il_bnez(p, r, ptr, label_vmalloc); | ||
| 566 | } else { | ||
| 567 | uasm_il_bltz(p, r, tmp, label_vmalloc); | ||
| 568 | } | ||
| 536 | /* No uasm_i_nop needed here, since the next insn doesn't touch TMP. */ | 569 | /* No uasm_i_nop needed here, since the next insn doesn't touch TMP. */ |
| 537 | 570 | ||
| 538 | #ifdef CONFIG_MIPS_PGD_C0_CONTEXT | 571 | #ifdef CONFIG_MIPS_PGD_C0_CONTEXT |
| @@ -549,14 +582,14 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, | |||
| 549 | * SMTC uses TCBind value as "CPU" index | 582 | * SMTC uses TCBind value as "CPU" index |
| 550 | */ | 583 | */ |
| 551 | uasm_i_mfc0(p, ptr, C0_TCBIND); | 584 | uasm_i_mfc0(p, ptr, C0_TCBIND); |
| 552 | uasm_i_dsrl(p, ptr, ptr, 19); | 585 | uasm_i_dsrl_safe(p, ptr, ptr, 19); |
| 553 | # else | 586 | # else |
| 554 | /* | 587 | /* |
| 555 | * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 | 588 | * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 |
| 556 | * stored in CONTEXT. | 589 | * stored in CONTEXT. |
| 557 | */ | 590 | */ |
| 558 | uasm_i_dmfc0(p, ptr, C0_CONTEXT); | 591 | uasm_i_dmfc0(p, ptr, C0_CONTEXT); |
| 559 | uasm_i_dsrl(p, ptr, ptr, 23); | 592 | uasm_i_dsrl_safe(p, ptr, ptr, 23); |
| 560 | # endif | 593 | # endif |
| 561 | UASM_i_LA_mostly(p, tmp, pgdc); | 594 | UASM_i_LA_mostly(p, tmp, pgdc); |
| 562 | uasm_i_daddu(p, ptr, ptr, tmp); | 595 | uasm_i_daddu(p, ptr, ptr, tmp); |
| @@ -569,44 +602,78 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, | |||
| 569 | 602 | ||
| 570 | uasm_l_vmalloc_done(l, *p); | 603 | uasm_l_vmalloc_done(l, *p); |
| 571 | 604 | ||
| 572 | if (PGDIR_SHIFT - 3 < 32) /* get pgd offset in bytes */ | 605 | /* get pgd offset in bytes */ |
| 573 | uasm_i_dsrl(p, tmp, tmp, PGDIR_SHIFT-3); | 606 | uasm_i_dsrl_safe(p, tmp, tmp, PGDIR_SHIFT - 3); |
| 574 | else | ||
| 575 | uasm_i_dsrl32(p, tmp, tmp, PGDIR_SHIFT - 3 - 32); | ||
| 576 | 607 | ||
| 577 | uasm_i_andi(p, tmp, tmp, (PTRS_PER_PGD - 1)<<3); | 608 | uasm_i_andi(p, tmp, tmp, (PTRS_PER_PGD - 1)<<3); |
| 578 | uasm_i_daddu(p, ptr, ptr, tmp); /* add in pgd offset */ | 609 | uasm_i_daddu(p, ptr, ptr, tmp); /* add in pgd offset */ |
| 579 | #ifndef __PAGETABLE_PMD_FOLDED | 610 | #ifndef __PAGETABLE_PMD_FOLDED |
| 580 | uasm_i_dmfc0(p, tmp, C0_BADVADDR); /* get faulting address */ | 611 | uasm_i_dmfc0(p, tmp, C0_BADVADDR); /* get faulting address */ |
| 581 | uasm_i_ld(p, ptr, 0, ptr); /* get pmd pointer */ | 612 | uasm_i_ld(p, ptr, 0, ptr); /* get pmd pointer */ |
| 582 | uasm_i_dsrl(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */ | 613 | uasm_i_dsrl_safe(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */ |
| 583 | uasm_i_andi(p, tmp, tmp, (PTRS_PER_PMD - 1)<<3); | 614 | uasm_i_andi(p, tmp, tmp, (PTRS_PER_PMD - 1)<<3); |
| 584 | uasm_i_daddu(p, ptr, ptr, tmp); /* add in pmd offset */ | 615 | uasm_i_daddu(p, ptr, ptr, tmp); /* add in pmd offset */ |
| 585 | #endif | 616 | #endif |
| 586 | } | 617 | } |
| 587 | 618 | ||
| 619 | enum vmalloc64_mode {not_refill, refill}; | ||
| 588 | /* | 620 | /* |
| 589 | * BVADDR is the faulting address, PTR is scratch. | 621 | * BVADDR is the faulting address, PTR is scratch. |
| 590 | * PTR will hold the pgd for vmalloc. | 622 | * PTR will hold the pgd for vmalloc. |
| 591 | */ | 623 | */ |
| 592 | static void __cpuinit | 624 | static void __cpuinit |
| 593 | build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, | 625 | build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, |
| 594 | unsigned int bvaddr, unsigned int ptr) | 626 | unsigned int bvaddr, unsigned int ptr, |
| 627 | enum vmalloc64_mode mode) | ||
| 595 | { | 628 | { |
| 596 | long swpd = (long)swapper_pg_dir; | 629 | long swpd = (long)swapper_pg_dir; |
| 630 | int single_insn_swpd; | ||
| 631 | int did_vmalloc_branch = 0; | ||
| 632 | |||
| 633 | single_insn_swpd = uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd); | ||
| 597 | 634 | ||
| 598 | uasm_l_vmalloc(l, *p); | 635 | uasm_l_vmalloc(l, *p); |
| 599 | 636 | ||
| 600 | if (uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd)) { | 637 | if (mode == refill && check_for_high_segbits) { |
| 601 | uasm_il_b(p, r, label_vmalloc_done); | 638 | if (single_insn_swpd) { |
| 602 | uasm_i_lui(p, ptr, uasm_rel_hi(swpd)); | 639 | uasm_il_bltz(p, r, bvaddr, label_vmalloc_done); |
| 603 | } else { | 640 | uasm_i_lui(p, ptr, uasm_rel_hi(swpd)); |
| 604 | UASM_i_LA_mostly(p, ptr, swpd); | 641 | did_vmalloc_branch = 1; |
| 605 | uasm_il_b(p, r, label_vmalloc_done); | 642 | /* fall through */ |
| 606 | if (uasm_in_compat_space_p(swpd)) | 643 | } else { |
| 607 | uasm_i_addiu(p, ptr, ptr, uasm_rel_lo(swpd)); | 644 | uasm_il_bgez(p, r, bvaddr, label_large_segbits_fault); |
| 608 | else | 645 | } |
| 609 | uasm_i_daddiu(p, ptr, ptr, uasm_rel_lo(swpd)); | 646 | } |
| 647 | if (!did_vmalloc_branch) { | ||
| 648 | if (uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd)) { | ||
| 649 | uasm_il_b(p, r, label_vmalloc_done); | ||
| 650 | uasm_i_lui(p, ptr, uasm_rel_hi(swpd)); | ||
| 651 | } else { | ||
| 652 | UASM_i_LA_mostly(p, ptr, swpd); | ||
| 653 | uasm_il_b(p, r, label_vmalloc_done); | ||
| 654 | if (uasm_in_compat_space_p(swpd)) | ||
| 655 | uasm_i_addiu(p, ptr, ptr, uasm_rel_lo(swpd)); | ||
| 656 | else | ||
| 657 | uasm_i_daddiu(p, ptr, ptr, uasm_rel_lo(swpd)); | ||
| 658 | } | ||
| 659 | } | ||
| 660 | if (mode == refill && check_for_high_segbits) { | ||
| 661 | uasm_l_large_segbits_fault(l, *p); | ||
| 662 | /* | ||
| 663 | * We get here if we are an xsseg address, or if we are | ||
| 664 | * an xuseg address above (PGDIR_SHIFT+PGDIR_BITS) boundary. | ||
| 665 | * | ||
| 666 | * Ignoring xsseg (assume disabled so would generate | ||
| 667 | * (address errors?), the only remaining possibility | ||
| 668 | * is the upper xuseg addresses. On processors with | ||
| 669 | * TLB_SEGBITS <= PGDIR_SHIFT+PGDIR_BITS, these | ||
| 670 | * addresses would have taken an address error. We try | ||
| 671 | * to mimic that here by taking a load/istream page | ||
| 672 | * fault. | ||
| 673 | */ | ||
| 674 | UASM_i_LA(p, ptr, (unsigned long)tlb_do_page_fault_0); | ||
| 675 | uasm_i_jr(p, ptr); | ||
| 676 | uasm_i_nop(p); | ||
| 610 | } | 677 | } |
| 611 | } | 678 | } |
| 612 | 679 | ||
| @@ -720,9 +787,9 @@ static void __cpuinit build_update_entries(u32 **p, unsigned int tmp, | |||
| 720 | UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */ | 787 | UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */ |
| 721 | UASM_i_ROTR(p, ptep, ptep, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); | 788 | UASM_i_ROTR(p, ptep, ptep, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); |
| 722 | } else { | 789 | } else { |
| 723 | uasm_i_dsrl(p, tmp, tmp, ilog2(_PAGE_GLOBAL)); /* convert to entrylo0 */ | 790 | uasm_i_dsrl_safe(p, tmp, tmp, ilog2(_PAGE_GLOBAL)); /* convert to entrylo0 */ |
| 724 | UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */ | 791 | UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */ |
| 725 | uasm_i_dsrl(p, ptep, ptep, ilog2(_PAGE_GLOBAL)); /* convert to entrylo1 */ | 792 | uasm_i_dsrl_safe(p, ptep, ptep, ilog2(_PAGE_GLOBAL)); /* convert to entrylo1 */ |
| 726 | } | 793 | } |
| 727 | UASM_i_MTC0(p, ptep, C0_ENTRYLO1); /* load it */ | 794 | UASM_i_MTC0(p, ptep, C0_ENTRYLO1); /* load it */ |
| 728 | } else { | 795 | } else { |
| @@ -793,9 +860,9 @@ static void __cpuinit build_r4000_tlb_refill_handler(void) | |||
| 793 | uasm_i_dmfc0(&p, K0, C0_BADVADDR); | 860 | uasm_i_dmfc0(&p, K0, C0_BADVADDR); |
| 794 | uasm_i_dmfc0(&p, K1, C0_ENTRYHI); | 861 | uasm_i_dmfc0(&p, K1, C0_ENTRYHI); |
| 795 | uasm_i_xor(&p, K0, K0, K1); | 862 | uasm_i_xor(&p, K0, K0, K1); |
| 796 | uasm_i_dsrl32(&p, K1, K0, 62 - 32); | 863 | uasm_i_dsrl_safe(&p, K1, K0, 62); |
| 797 | uasm_i_dsrl(&p, K0, K0, 12 + 1); | 864 | uasm_i_dsrl_safe(&p, K0, K0, 12 + 1); |
| 798 | uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32); | 865 | uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits); |
| 799 | uasm_i_or(&p, K0, K0, K1); | 866 | uasm_i_or(&p, K0, K0, K1); |
| 800 | uasm_il_bnez(&p, &r, K0, label_leave); | 867 | uasm_il_bnez(&p, &r, K0, label_leave); |
| 801 | /* No need for uasm_i_nop */ | 868 | /* No need for uasm_i_nop */ |
| @@ -825,7 +892,7 @@ static void __cpuinit build_r4000_tlb_refill_handler(void) | |||
| 825 | #endif | 892 | #endif |
| 826 | 893 | ||
| 827 | #ifdef CONFIG_64BIT | 894 | #ifdef CONFIG_64BIT |
| 828 | build_get_pgd_vmalloc64(&p, &l, &r, K0, K1); | 895 | build_get_pgd_vmalloc64(&p, &l, &r, K0, K1, refill); |
| 829 | #endif | 896 | #endif |
| 830 | 897 | ||
| 831 | /* | 898 | /* |
| @@ -935,15 +1002,6 @@ static void __cpuinit build_r4000_tlb_refill_handler(void) | |||
| 935 | } | 1002 | } |
| 936 | 1003 | ||
| 937 | /* | 1004 | /* |
| 938 | * TLB load/store/modify handlers. | ||
| 939 | * | ||
| 940 | * Only the fastpath gets synthesized at runtime, the slowpath for | ||
| 941 | * do_page_fault remains normal asm. | ||
| 942 | */ | ||
| 943 | extern void tlb_do_page_fault_0(void); | ||
| 944 | extern void tlb_do_page_fault_1(void); | ||
| 945 | |||
| 946 | /* | ||
| 947 | * 128 instructions for the fastpath handler is generous and should | 1005 | * 128 instructions for the fastpath handler is generous and should |
| 948 | * never be exceeded. | 1006 | * never be exceeded. |
| 949 | */ | 1007 | */ |
| @@ -1302,7 +1360,7 @@ build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l, | |||
| 1302 | uasm_i_eret(p); /* return from trap */ | 1360 | uasm_i_eret(p); /* return from trap */ |
| 1303 | 1361 | ||
| 1304 | #ifdef CONFIG_64BIT | 1362 | #ifdef CONFIG_64BIT |
| 1305 | build_get_pgd_vmalloc64(p, l, r, tmp, ptr); | 1363 | build_get_pgd_vmalloc64(p, l, r, tmp, ptr, not_refill); |
| 1306 | #endif | 1364 | #endif |
| 1307 | } | 1365 | } |
| 1308 | 1366 | ||
| @@ -1322,9 +1380,9 @@ static void __cpuinit build_r4000_tlb_load_handler(void) | |||
| 1322 | uasm_i_dmfc0(&p, K0, C0_BADVADDR); | 1380 | uasm_i_dmfc0(&p, K0, C0_BADVADDR); |
| 1323 | uasm_i_dmfc0(&p, K1, C0_ENTRYHI); | 1381 | uasm_i_dmfc0(&p, K1, C0_ENTRYHI); |
| 1324 | uasm_i_xor(&p, K0, K0, K1); | 1382 | uasm_i_xor(&p, K0, K0, K1); |
| 1325 | uasm_i_dsrl32(&p, K1, K0, 62 - 32); | 1383 | uasm_i_dsrl_safe(&p, K1, K0, 62); |
| 1326 | uasm_i_dsrl(&p, K0, K0, 12 + 1); | 1384 | uasm_i_dsrl_safe(&p, K0, K0, 12 + 1); |
| 1327 | uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32); | 1385 | uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits); |
| 1328 | uasm_i_or(&p, K0, K0, K1); | 1386 | uasm_i_or(&p, K0, K0, K1); |
| 1329 | uasm_il_bnez(&p, &r, K0, label_leave); | 1387 | uasm_il_bnez(&p, &r, K0, label_leave); |
| 1330 | /* No need for uasm_i_nop */ | 1388 | /* No need for uasm_i_nop */ |
| @@ -1526,6 +1584,10 @@ void __cpuinit build_tlb_refill_handler(void) | |||
| 1526 | */ | 1584 | */ |
| 1527 | static int run_once = 0; | 1585 | static int run_once = 0; |
| 1528 | 1586 | ||
| 1587 | #ifdef CONFIG_64BIT | ||
| 1588 | check_for_high_segbits = current_cpu_data.vmbits > (PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3); | ||
| 1589 | #endif | ||
| 1590 | |||
| 1529 | switch (current_cpu_type()) { | 1591 | switch (current_cpu_type()) { |
| 1530 | case CPU_R2000: | 1592 | case CPU_R2000: |
| 1531 | case CPU_R3000: | 1593 | case CPU_R3000: |
diff --git a/arch/mips/nxp/pnx8550/common/reset.c b/arch/mips/nxp/pnx8550/common/reset.c index 76bc3ec634e..fadd8744a6b 100644 --- a/arch/mips/nxp/pnx8550/common/reset.c +++ b/arch/mips/nxp/pnx8550/common/reset.c | |||
| @@ -20,6 +20,8 @@ | |||
| 20 | * Reset the PNX8550 board. | 20 | * Reset the PNX8550 board. |
| 21 | * | 21 | * |
| 22 | */ | 22 | */ |
| 23 | #include <linux/kernel.h> | ||
| 24 | |||
| 23 | #include <asm/reboot.h> | 25 | #include <asm/reboot.h> |
| 24 | #include <glb.h> | 26 | #include <glb.h> |
| 25 | 27 | ||
diff --git a/arch/mips/pci/pci-sb1250.c b/arch/mips/pci/pci-sb1250.c index ada24e6f951..1711e8e101b 100644 --- a/arch/mips/pci/pci-sb1250.c +++ b/arch/mips/pci/pci-sb1250.c | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | #include <linux/mm.h> | 37 | #include <linux/mm.h> |
| 38 | #include <linux/console.h> | 38 | #include <linux/console.h> |
| 39 | #include <linux/tty.h> | 39 | #include <linux/tty.h> |
| 40 | #include <linux/vt.h> | ||
| 40 | 41 | ||
| 41 | #include <asm/io.h> | 42 | #include <asm/io.h> |
| 42 | 43 | ||
| @@ -254,7 +255,7 @@ static int __init sb1250_pcibios_init(void) | |||
| 254 | * XXX ehs: Should this happen in PCI Device mode? | 255 | * XXX ehs: Should this happen in PCI Device mode? |
| 255 | */ | 256 | */ |
| 256 | io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024); | 257 | io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024); |
| 257 | sb1250_controller.io_map_base = io_map_base; | 258 | sb1250_controller.io_map_base = (unsigned long)io_map_base; |
| 258 | set_io_port_base((unsigned long)io_map_base); | 259 | set_io_port_base((unsigned long)io_map_base); |
| 259 | 260 | ||
| 260 | #ifdef CONFIG_SIBYTE_HAS_LDT | 261 | #ifdef CONFIG_SIBYTE_HAS_LDT |
diff --git a/arch/mips/sgi-ip22/ip22-berr.c b/arch/mips/sgi-ip22/ip22-berr.c index de6a0cc32fe..911d3999c0c 100644 --- a/arch/mips/sgi-ip22/ip22-berr.c +++ b/arch/mips/sgi-ip22/ip22-berr.c | |||
| @@ -89,7 +89,7 @@ static void print_buserr(void) | |||
| 89 | void ip22_be_interrupt(int irq) | 89 | void ip22_be_interrupt(int irq) |
| 90 | { | 90 | { |
| 91 | const int field = 2 * sizeof(unsigned long); | 91 | const int field = 2 * sizeof(unsigned long); |
| 92 | const struct pt_regs *regs = get_irq_regs(); | 92 | struct pt_regs *regs = get_irq_regs(); |
| 93 | 93 | ||
| 94 | save_and_clear_buserr(); | 94 | save_and_clear_buserr(); |
| 95 | print_buserr(); | 95 | print_buserr(); |
diff --git a/arch/mips/sgi-ip22/ip28-berr.c b/arch/mips/sgi-ip22/ip28-berr.c index 30e12e2ec4b..88c684e05a3 100644 --- a/arch/mips/sgi-ip22/ip28-berr.c +++ b/arch/mips/sgi-ip22/ip28-berr.c | |||
| @@ -453,7 +453,7 @@ mips_be_fatal: | |||
| 453 | 453 | ||
| 454 | void ip22_be_interrupt(int irq) | 454 | void ip22_be_interrupt(int irq) |
| 455 | { | 455 | { |
| 456 | const struct pt_regs *regs = get_irq_regs(); | 456 | struct pt_regs *regs = get_irq_regs(); |
| 457 | 457 | ||
| 458 | count_be_interrupt++; | 458 | count_be_interrupt++; |
| 459 | 459 | ||
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c index 5277aac96b0..c308989fc46 100644 --- a/arch/mips/sibyte/swarm/setup.c +++ b/arch/mips/sibyte/swarm/setup.c | |||
| @@ -145,15 +145,14 @@ void __init plat_mem_setup(void) | |||
| 145 | 145 | ||
| 146 | #ifdef CONFIG_VT | 146 | #ifdef CONFIG_VT |
| 147 | screen_info = (struct screen_info) { | 147 | screen_info = (struct screen_info) { |
| 148 | 0, 0, /* orig-x, orig-y */ | 148 | .orig_video_page = 52, |
| 149 | 0, /* unused */ | 149 | .orig_video_mode = 3, |
| 150 | 52, /* orig_video_page */ | 150 | .orig_video_cols = 80, |
| 151 | 3, /* orig_video_mode */ | 151 | .flags = 12, |
| 152 | 80, /* orig_video_cols */ | 152 | .orig_video_ega_bx = 3, |
| 153 | 4626, 3, 9, /* unused, ega_bx, unused */ | 153 | .orig_video_lines = 25, |
| 154 | 25, /* orig_video_lines */ | 154 | .orig_video_isVGA = 0x22, |
| 155 | 0x22, /* orig_video_isVGA */ | 155 | .orig_video_points = 16, |
| 156 | 16 /* orig_video_points */ | ||
| 157 | }; | 156 | }; |
| 158 | /* XXXKW for CFE, get lines/cols from environment */ | 157 | /* XXXKW for CFE, get lines/cols from environment */ |
| 159 | #endif | 158 | #endif |
diff --git a/arch/sh/configs/rts7751r2d1_defconfig b/arch/sh/configs/rts7751r2d1_defconfig index fba1f62d56e..dba024d72a8 100644 --- a/arch/sh/configs/rts7751r2d1_defconfig +++ b/arch/sh/configs/rts7751r2d1_defconfig | |||
| @@ -877,7 +877,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 877 | # | 877 | # |
| 878 | # CONFIG_SERIAL_MAX3100 is not set | 878 | # CONFIG_SERIAL_MAX3100 is not set |
| 879 | CONFIG_SERIAL_SH_SCI=y | 879 | CONFIG_SERIAL_SH_SCI=y |
| 880 | CONFIG_SERIAL_SH_SCI_NR_UARTS=1 | 880 | CONFIG_SERIAL_SH_SCI_NR_UARTS=2 |
| 881 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | 881 | CONFIG_SERIAL_SH_SCI_CONSOLE=y |
| 882 | CONFIG_SERIAL_CORE=y | 882 | CONFIG_SERIAL_CORE=y |
| 883 | CONFIG_SERIAL_CORE_CONSOLE=y | 883 | CONFIG_SERIAL_CORE_CONSOLE=y |
diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig index a8d538f06e6..6d511d06cbf 100644 --- a/arch/sh/configs/rts7751r2dplus_defconfig +++ b/arch/sh/configs/rts7751r2dplus_defconfig | |||
| @@ -963,7 +963,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 963 | # | 963 | # |
| 964 | # CONFIG_SERIAL_MAX3100 is not set | 964 | # CONFIG_SERIAL_MAX3100 is not set |
| 965 | CONFIG_SERIAL_SH_SCI=y | 965 | CONFIG_SERIAL_SH_SCI=y |
| 966 | CONFIG_SERIAL_SH_SCI_NR_UARTS=1 | 966 | CONFIG_SERIAL_SH_SCI_NR_UARTS=2 |
| 967 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | 967 | CONFIG_SERIAL_SH_SCI_CONSOLE=y |
| 968 | CONFIG_SERIAL_CORE=y | 968 | CONFIG_SERIAL_CORE=y |
| 969 | CONFIG_SERIAL_CORE_CONSOLE=y | 969 | CONFIG_SERIAL_CORE_CONSOLE=y |
diff --git a/arch/sh/drivers/pci/pci-sh7751.c b/arch/sh/drivers/pci/pci-sh7751.c index 17811e5d287..f98141b3b7d 100644 --- a/arch/sh/drivers/pci/pci-sh7751.c +++ b/arch/sh/drivers/pci/pci-sh7751.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
| 18 | #include "pci-sh4.h" | 18 | #include "pci-sh4.h" |
| 19 | #include <asm/addrspace.h> | 19 | #include <asm/addrspace.h> |
| 20 | #include <asm/sizes.h> | ||
| 20 | 21 | ||
| 21 | static int __init __area_sdram_check(struct pci_channel *chan, | 22 | static int __init __area_sdram_check(struct pci_channel *chan, |
| 22 | unsigned int area) | 23 | unsigned int area) |
| @@ -47,8 +48,8 @@ static int __init __area_sdram_check(struct pci_channel *chan, | |||
| 47 | static struct resource sh7751_pci_resources[] = { | 48 | static struct resource sh7751_pci_resources[] = { |
| 48 | { | 49 | { |
| 49 | .name = "SH7751_IO", | 50 | .name = "SH7751_IO", |
| 50 | .start = SH7751_PCI_IO_BASE, | 51 | .start = 0x1000, |
| 51 | .end = SH7751_PCI_IO_BASE + SH7751_PCI_IO_SIZE - 1, | 52 | .end = SZ_4M - 1, |
| 52 | .flags = IORESOURCE_IO | 53 | .flags = IORESOURCE_IO |
| 53 | }, { | 54 | }, { |
| 54 | .name = "SH7751_mem", | 55 | .name = "SH7751_mem", |
diff --git a/arch/sh/include/cpu-sh4/cpu/dma-register.h b/arch/sh/include/cpu-sh4/cpu/dma-register.h index 55f9fec082d..de235953399 100644 --- a/arch/sh/include/cpu-sh4/cpu/dma-register.h +++ b/arch/sh/include/cpu-sh4/cpu/dma-register.h | |||
| @@ -76,7 +76,7 @@ enum { | |||
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | #define TS_INDEX2VAL(i) ((((i) & 3) << CHCR_TS_LOW_SHIFT) | \ | 78 | #define TS_INDEX2VAL(i) ((((i) & 3) << CHCR_TS_LOW_SHIFT) | \ |
| 79 | ((((i) >> 2) & 3) << CHCR_TS_HIGH_SHIFT)) | 79 | (((i) & 0xc) << CHCR_TS_HIGH_SHIFT)) |
| 80 | 80 | ||
| 81 | #else /* CONFIG_CPU_SH4A */ | 81 | #else /* CONFIG_CPU_SH4A */ |
| 82 | 82 | ||
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h index a1dcfa3ab17..30a3e977612 100644 --- a/arch/x86/include/asm/io.h +++ b/arch/x86/include/asm/io.h | |||
| @@ -347,6 +347,7 @@ extern void __iomem *early_ioremap(resource_size_t phys_addr, | |||
| 347 | extern void __iomem *early_memremap(resource_size_t phys_addr, | 347 | extern void __iomem *early_memremap(resource_size_t phys_addr, |
| 348 | unsigned long size); | 348 | unsigned long size); |
| 349 | extern void early_iounmap(void __iomem *addr, unsigned long size); | 349 | extern void early_iounmap(void __iomem *addr, unsigned long size); |
| 350 | extern void fixup_early_ioremap(void); | ||
| 350 | 351 | ||
| 351 | #define IO_SPACE_LIMIT 0xffff | 352 | #define IO_SPACE_LIMIT 0xffff |
| 352 | 353 | ||
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 127b8718abf..eb2789c3f72 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
| @@ -2545,6 +2545,9 @@ void irq_force_complete_move(int irq) | |||
| 2545 | struct irq_desc *desc = irq_to_desc(irq); | 2545 | struct irq_desc *desc = irq_to_desc(irq); |
| 2546 | struct irq_cfg *cfg = desc->chip_data; | 2546 | struct irq_cfg *cfg = desc->chip_data; |
| 2547 | 2547 | ||
| 2548 | if (!cfg) | ||
| 2549 | return; | ||
| 2550 | |||
| 2548 | __irq_complete_move(&desc, cfg->vector); | 2551 | __irq_complete_move(&desc, cfg->vector); |
| 2549 | } | 2552 | } |
| 2550 | #else | 2553 | #else |
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c index d360b56e982..b6215b9798e 100644 --- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c | |||
| @@ -929,7 +929,8 @@ static int fill_powernow_table_pstate(struct powernow_k8_data *data, | |||
| 929 | powernow_table[i].index = index; | 929 | powernow_table[i].index = index; |
| 930 | 930 | ||
| 931 | /* Frequency may be rounded for these */ | 931 | /* Frequency may be rounded for these */ |
| 932 | if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) { | 932 | if ((boot_cpu_data.x86 == 0x10 && boot_cpu_data.x86_model < 10) |
| 933 | || boot_cpu_data.x86 == 0x11) { | ||
| 933 | powernow_table[i].frequency = | 934 | powernow_table[i].frequency = |
| 934 | freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7); | 935 | freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7); |
| 935 | } else | 936 | } else |
diff --git a/arch/x86/lib/rwsem_64.S b/arch/x86/lib/rwsem_64.S index 15acecf0d7a..41fcf00e49d 100644 --- a/arch/x86/lib/rwsem_64.S +++ b/arch/x86/lib/rwsem_64.S | |||
| @@ -60,7 +60,7 @@ ENTRY(call_rwsem_down_write_failed) | |||
| 60 | ENDPROC(call_rwsem_down_write_failed) | 60 | ENDPROC(call_rwsem_down_write_failed) |
| 61 | 61 | ||
| 62 | ENTRY(call_rwsem_wake) | 62 | ENTRY(call_rwsem_wake) |
| 63 | decw %dx /* do nothing if still outstanding active readers */ | 63 | decl %edx /* do nothing if still outstanding active readers */ |
| 64 | jnz 1f | 64 | jnz 1f |
| 65 | save_common_regs | 65 | save_common_regs |
| 66 | movq %rax,%rdi | 66 | movq %rax,%rdi |
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index 5eb1ba74a3a..12e4d2d3c11 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c | |||
| @@ -448,6 +448,20 @@ static inline void __init early_clear_fixmap(enum fixed_addresses idx) | |||
| 448 | static void __iomem *prev_map[FIX_BTMAPS_SLOTS] __initdata; | 448 | static void __iomem *prev_map[FIX_BTMAPS_SLOTS] __initdata; |
| 449 | static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata; | 449 | static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata; |
| 450 | 450 | ||
| 451 | void __init fixup_early_ioremap(void) | ||
| 452 | { | ||
| 453 | int i; | ||
| 454 | |||
| 455 | for (i = 0; i < FIX_BTMAPS_SLOTS; i++) { | ||
| 456 | if (prev_map[i]) { | ||
| 457 | WARN_ON(1); | ||
| 458 | break; | ||
| 459 | } | ||
| 460 | } | ||
| 461 | |||
| 462 | early_ioremap_init(); | ||
| 463 | } | ||
| 464 | |||
| 451 | static int __init check_early_ioremap_leak(void) | 465 | static int __init check_early_ioremap_leak(void) |
| 452 | { | 466 | { |
| 453 | int count = 0; | 467 | int count = 0; |
diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c index 1a8faf09afe..792854003ed 100644 --- a/arch/x86/mm/pgtable_32.c +++ b/arch/x86/mm/pgtable_32.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #include <asm/e820.h> | 18 | #include <asm/e820.h> |
| 19 | #include <asm/tlb.h> | 19 | #include <asm/tlb.h> |
| 20 | #include <asm/tlbflush.h> | 20 | #include <asm/tlbflush.h> |
| 21 | #include <asm/io.h> | ||
| 21 | 22 | ||
| 22 | unsigned int __VMALLOC_RESERVE = 128 << 20; | 23 | unsigned int __VMALLOC_RESERVE = 128 << 20; |
| 23 | 24 | ||
| @@ -128,6 +129,7 @@ static int __init parse_reservetop(char *arg) | |||
| 128 | 129 | ||
| 129 | address = memparse(arg, &arg); | 130 | address = memparse(arg, &arg); |
| 130 | reserve_top_address(address); | 131 | reserve_top_address(address); |
| 132 | fixup_early_ioremap(); | ||
| 131 | return 0; | 133 | return 0; |
| 132 | } | 134 | } |
| 133 | early_param("reservetop", parse_reservetop); | 135 | early_param("reservetop", parse_reservetop); |
