aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arc/boot/dts/abilis_tb100_dvk.dts2
-rw-r--r--arch/arc/boot/dts/abilis_tb101_dvk.dts2
-rw-r--r--arch/arc/boot/dts/abilis_tb10x.dtsi6
-rw-r--r--arch/arc/include/asm/cacheflush.h6
-rw-r--r--arch/arc/include/asm/page.h9
-rw-r--r--arch/arc/include/asm/pgtable.h26
-rw-r--r--arch/arc/include/asm/tlb.h2
-rw-r--r--arch/arc/mm/cache_arc700.c23
-rw-r--r--arch/arc/mm/tlb.c3
-rw-r--r--arch/arc/mm/tlbex.S6
-rw-r--r--arch/arc/plat-tb10x/tb10x.c26
-rw-r--r--arch/arm/Kconfig12
-rw-r--r--arch/arm/boot/compressed/Makefile5
-rw-r--r--arch/arm/boot/compressed/debug.S28
-rw-r--r--arch/arm/boot/compressed/head-sa1100.S1
-rw-r--r--arch/arm/boot/compressed/head-shark.S1
-rw-r--r--arch/arm/boot/compressed/head.S5
-rw-r--r--arch/arm/boot/dts/Makefile4
-rw-r--r--arch/arm/boot/dts/am33xx.dtsi4
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi3
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi7
-rw-r--r--arch/arm/boot/dts/armada-xp-gp.dts4
-rw-r--r--arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts4
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi1
-rw-r--r--arch/arm/boot/dts/at91sam9x25ek.dts2
-rw-r--r--arch/arm/boot/dts/bcm2835.dtsi1
-rw-r--r--arch/arm/boot/dts/exynos5250-pinctrl.dtsi2
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi19
-rw-r--r--arch/arm/boot/dts/imx25.dtsi12
-rw-r--r--arch/arm/boot/dts/imx27.dtsi6
-rw-r--r--arch/arm/boot/dts/imx51.dtsi2
-rw-r--r--arch/arm/boot/dts/imx53.dtsi2
-rw-r--r--arch/arm/boot/dts/omap3.dtsi2
-rw-r--r--arch/arm/boot/dts/omap4-panda-common.dtsi20
-rw-r--r--arch/arm/boot/dts/omap4-sdp.dts20
-rw-r--r--arch/arm/boot/dts/omap5.dtsi3
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi12
-rw-r--r--arch/arm/boot/dts/sama5d3xcm.dtsi4
-rw-r--r--arch/arm/boot/dts/ste-nomadik-s8815.dts12
-rw-r--r--arch/arm/boot/dts/sun4i-a10-mini-xplus.dts4
-rw-r--r--arch/arm/configs/exynos_defconfig54
-rw-r--r--arch/arm/configs/omap2plus_defconfig1
-rw-r--r--arch/arm/configs/tegra_defconfig3
-rw-r--r--arch/arm/crypto/sha1-armv4-large.S2
-rw-r--r--arch/arm/include/asm/cacheflush.h4
-rw-r--r--arch/arm/include/asm/percpu.h11
-rw-r--r--arch/arm/include/asm/tlb.h27
-rw-r--r--arch/arm/include/debug/ux500.S6
-rw-r--r--arch/arm/kernel/machine_kexec.c4
-rw-r--r--arch/arm/kernel/process.c44
-rw-r--r--arch/arm/kernel/smp.c13
-rw-r--r--arch/arm/kernel/topology.c2
-rw-r--r--arch/arm/kvm/arm.c15
-rw-r--r--arch/arm/kvm/mmu.c41
-rw-r--r--arch/arm/mach-at91/at91rm9200_time.c7
-rw-r--r--arch/arm/mach-at91/at91sam9n12.c6
-rw-r--r--arch/arm/mach-at91/include/mach/at91_pmc.h6
-rw-r--r--arch/arm/mach-exynos/Kconfig3
-rw-r--r--arch/arm/mach-exynos/common.c41
-rw-r--r--arch/arm/mach-exynos/common.h2
-rw-r--r--arch/arm/mach-exynos/include/mach/pm-core.h14
-rw-r--r--arch/arm/mach-exynos/mach-universal_c210.c5
-rw-r--r--arch/arm/mach-imx/clk-imx6q.c15
-rw-r--r--arch/arm/mach-imx/headsmp.S12
-rw-r--r--arch/arm/mach-imx/platsmp.c14
-rw-r--r--arch/arm/mach-kirkwood/board-ts219.c10
-rw-r--r--arch/arm/mach-kirkwood/common.c6
-rw-r--r--arch/arm/mach-kirkwood/mpp.c5
-rw-r--r--arch/arm/mach-kirkwood/ts219-setup.c2
-rw-r--r--arch/arm/mach-mvebu/Kconfig1
-rw-r--r--arch/arm/mach-mvebu/armada-370-xp.c7
-rw-r--r--arch/arm/mach-mvebu/coherency_ll.S16
-rw-r--r--arch/arm/mach-omap1/dma.c1
-rw-r--r--arch/arm/mach-omap2/cclock33xx_data.c26
-rw-r--r--arch/arm/mach-omap2/clock36xx.c18
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c113
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.h7
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c3
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_33xx_data.c15
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_3xxx_data.c4
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_44xx_data.c6
-rw-r--r--arch/arm/mach-omap2/pm34xx.c6
-rw-r--r--arch/arm/mach-omap2/serial.c31
-rw-r--r--arch/arm/mach-orion5x/common.c7
-rw-r--r--arch/arm/mach-prima2/pm.c6
-rw-r--r--arch/arm/mach-prima2/rstc.c6
-rw-r--r--arch/arm/mach-shmobile/board-marzen.c6
-rw-r--r--arch/arm/mach-shmobile/setup-sh73a0.c2
-rw-r--r--arch/arm/mach-sunxi/Kconfig1
-rw-r--r--arch/arm/mach-ux500/Kconfig1
-rw-r--r--arch/arm/mach-ux500/board-mop500-regulators.c3
-rw-r--r--arch/arm/mach-ux500/board-mop500.c6
-rw-r--r--arch/arm/mach-ux500/cpu-db8500.c6
-rw-r--r--arch/arm/mach-ux500/cpuidle.c4
-rw-r--r--arch/arm/mach-ux500/setup.h2
-rw-r--r--arch/arm/mach-vt8500/vt8500.c1
-rw-r--r--arch/arm/mm/cache-v7.S8
-rw-r--r--arch/arm/mm/flush.c33
-rw-r--r--arch/arm/mm/mmu.c8
-rw-r--r--arch/arm/mm/proc-v7.S4
-rw-r--r--arch/arm/plat-orion/common.c12
-rw-r--r--arch/arm/plat-orion/include/plat/common.h1
-rw-r--r--arch/arm/plat-samsung/devs.c6
-rw-r--r--arch/arm/plat-samsung/include/plat/uncompress.h10
-rw-r--r--arch/arm/plat-samsung/pm.c18
-rw-r--r--arch/arm/vfp/entry.S2
-rw-r--r--arch/arm64/kernel/arm64ksyms.c1
-rw-r--r--arch/arm64/kernel/entry.S10
-rw-r--r--arch/arm64/kernel/perf_event.c1
-rw-r--r--arch/arm64/kernel/traps.c17
-rw-r--r--arch/arm64/mm/fault.c3
-rw-r--r--arch/ia64/include/asm/irqflags.h1
-rw-r--r--arch/ia64/include/asm/tlb.h41
-rw-r--r--arch/m68k/configs/amiga_defconfig230
-rw-r--r--arch/m68k/configs/apollo_defconfig215
-rw-r--r--arch/m68k/configs/atari_defconfig227
-rw-r--r--arch/m68k/configs/bvme6000_defconfig217
-rw-r--r--arch/m68k/configs/hp300_defconfig214
-rw-r--r--arch/m68k/configs/mac_defconfig234
-rw-r--r--arch/m68k/configs/multi_defconfig264
-rw-r--r--arch/m68k/configs/mvme147_defconfig215
-rw-r--r--arch/m68k/configs/mvme16x_defconfig216
-rw-r--r--arch/m68k/configs/q40_defconfig229
-rw-r--r--arch/m68k/configs/sun3_defconfig209
-rw-r--r--arch/m68k/configs/sun3x_defconfig210
-rw-r--r--arch/m68k/include/asm/Kbuild1
-rw-r--r--arch/m68k/include/asm/futex.h94
-rw-r--r--arch/m68k/include/asm/gpio.h3
-rw-r--r--arch/m68k/kernel/head.S29
-rw-r--r--arch/metag/include/asm/hugetlb.h1
-rw-r--r--arch/microblaze/include/asm/cacheflush.h34
-rw-r--r--arch/microblaze/include/asm/futex.h2
-rw-r--r--arch/microblaze/include/asm/io.h6
-rw-r--r--arch/microblaze/include/asm/uaccess.h4
-rw-r--r--arch/microblaze/kernel/cpu/cache.c2
-rw-r--r--arch/mips/cavium-octeon/setup.c15
-rw-r--r--arch/mips/include/asm/kvm_host.h4
-rw-r--r--arch/mips/include/asm/mmu_context.h2
-rw-r--r--arch/mips/include/asm/ptrace.h32
-rw-r--r--arch/mips/include/uapi/asm/kvm.h134
-rw-r--r--arch/mips/include/uapi/asm/ptrace.h17
-rw-r--r--arch/mips/kernel/binfmt_elfn32.c11
-rw-r--r--arch/mips/kernel/binfmt_elfo32.c11
-rw-r--r--arch/mips/kernel/ftrace.c4
-rw-r--r--arch/mips/kernel/idle.c13
-rw-r--r--arch/mips/kernel/rtlx.c1
-rw-r--r--arch/mips/kernel/traps.c28
-rw-r--r--arch/mips/kvm/kvm_mips.c305
-rw-r--r--arch/mips/kvm/kvm_trap_emul.c50
-rw-r--r--arch/mips/mm/tlbex.c4
-rw-r--r--arch/mips/ralink/of.c2
-rw-r--r--arch/mn10300/include/asm/irqflags.h5
-rw-r--r--arch/mn10300/include/asm/pci.h2
-rw-r--r--arch/mn10300/include/asm/smp.h4
-rw-r--r--arch/mn10300/kernel/entry.S19
-rw-r--r--arch/mn10300/unit-asb2305/pci.c1
-rw-r--r--arch/parisc/Makefile2
-rw-r--r--arch/parisc/include/asm/assembly.h1
-rw-r--r--arch/parisc/include/asm/hardirq.h7
-rw-r--r--arch/parisc/include/asm/mmzone.h7
-rw-r--r--arch/parisc/include/asm/pci.h5
-rw-r--r--arch/parisc/include/asm/processor.h21
-rw-r--r--arch/parisc/kernel/drivers.c2
-rw-r--r--arch/parisc/kernel/entry.S19
-rw-r--r--arch/parisc/kernel/hardware.c2
-rw-r--r--arch/parisc/kernel/irq.c49
-rw-r--r--arch/parisc/kernel/pacache.S88
-rw-r--r--arch/parisc/kernel/pci.c27
-rw-r--r--arch/parisc/kernel/setup.c3
-rw-r--r--arch/parisc/kernel/traps.c1
-rw-r--r--arch/parisc/kernel/unaligned.c3
-rw-r--r--arch/parisc/mm/init.c2
-rw-r--r--arch/powerpc/include/asm/cputable.h17
-rw-r--r--arch/powerpc/include/asm/exception-64s.h2
-rw-r--r--arch/powerpc/include/asm/hvcall.h1
-rw-r--r--arch/powerpc/include/asm/kvm_asm.h16
-rw-r--r--arch/powerpc/include/asm/pci-bridge.h2
-rw-r--r--arch/powerpc/include/asm/ppc_asm.h11
-rw-r--r--arch/powerpc/include/asm/processor.h19
-rw-r--r--arch/powerpc/include/asm/reg.h11
-rw-r--r--arch/powerpc/include/asm/signal.h3
-rw-r--r--arch/powerpc/include/asm/tm.h2
-rw-r--r--arch/powerpc/include/uapi/asm/Kbuild1
-rw-r--r--arch/powerpc/include/uapi/asm/tm.h18
-rw-r--r--arch/powerpc/kernel/asm-offsets.c6
-rw-r--r--arch/powerpc/kernel/cpu_setup_power.S8
-rw-r--r--arch/powerpc/kernel/cputable.c6
-rw-r--r--arch/powerpc/kernel/entry_32.S2
-rw-r--r--arch/powerpc/kernel/entry_64.S7
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S92
-rw-r--r--arch/powerpc/kernel/irq.c2
-rw-r--r--arch/powerpc/kernel/pci-common.c25
-rw-r--r--arch/powerpc/kernel/pci_64.c10
-rw-r--r--arch/powerpc/kernel/pci_dn.c8
-rw-r--r--arch/powerpc/kernel/process.c7
-rw-r--r--arch/powerpc/kernel/signal.c40
-rw-r--r--arch/powerpc/kernel/signal.h2
-rw-r--r--arch/powerpc/kernel/signal_32.c10
-rw-r--r--arch/powerpc/kernel/signal_64.c23
-rw-r--r--arch/powerpc/kernel/traps.c39
-rw-r--r--arch/powerpc/kvm/44x_tlb.c5
-rw-r--r--arch/powerpc/kvm/book3s_hv.c2
-rw-r--r--arch/powerpc/kvm/book3s_pr_papr.c2
-rw-r--r--arch/powerpc/kvm/book3s_xics.c29
-rw-r--r--arch/powerpc/kvm/booke.c21
-rw-r--r--arch/powerpc/kvm/e500_mmu.c5
-rw-r--r--arch/powerpc/kvm/e500mc.c2
-rw-r--r--arch/powerpc/lib/copypage_power7.S19
-rw-r--r--arch/powerpc/lib/copyuser_power7.S12
-rw-r--r--arch/powerpc/mm/hash_native_64.c30
-rw-r--r--arch/powerpc/mm/hugetlbpage.c8
-rw-r--r--arch/powerpc/perf/core-book3s.c69
-rw-r--r--arch/powerpc/platforms/powernv/Kconfig1
-rw-r--r--arch/powerpc/platforms/powernv/pci-ioda.c27
-rw-r--r--arch/powerpc/platforms/powernv/pci.c6
-rw-r--r--arch/powerpc/platforms/pseries/Kconfig2
-rw-r--r--arch/powerpc/platforms/pseries/eeh_pseries.c12
-rw-r--r--arch/powerpc/platforms/pseries/msi.c75
-rw-r--r--arch/powerpc/sysdev/mpic.c4
-rw-r--r--arch/s390/appldata/appldata_base.c7
-rw-r--r--arch/s390/include/asm/dma-mapping.h2
-rw-r--r--arch/s390/include/asm/io.h1
-rw-r--r--arch/s390/include/asm/pgtable.h45
-rw-r--r--arch/s390/kernel/dumpstack.c12
-rw-r--r--arch/s390/kernel/irq.c64
-rw-r--r--arch/s390/kernel/sclp.S2
-rw-r--r--arch/s390/kernel/smp.c27
-rw-r--r--arch/s390/mm/pgtable.c2
-rw-r--r--arch/s390/pci/pci.c33
-rw-r--r--arch/score/mm/init.c2
-rw-r--r--arch/sparc/include/asm/Kbuild1
-rw-r--r--arch/sparc/include/asm/leon.h2
-rw-r--r--arch/sparc/include/asm/leon_amba.h1
-rw-r--r--arch/sparc/include/asm/linkage.h6
-rw-r--r--arch/sparc/kernel/ds.c3
-rw-r--r--arch/sparc/kernel/leon_kernel.c54
-rw-r--r--arch/sparc/kernel/leon_pci_grpci1.c8
-rw-r--r--arch/sparc/kernel/leon_pmc.c7
-rw-r--r--arch/sparc/kernel/prom_common.c5
-rw-r--r--arch/sparc/kernel/setup_32.c2
-rw-r--r--arch/sparc/kernel/setup_64.c2
-rw-r--r--arch/sparc/mm/init_64.c9
-rw-r--r--arch/sparc/mm/tlb.c2
-rw-r--r--arch/sparc/prom/bootstr_32.c12
-rw-r--r--arch/sparc/prom/tree_64.c16
-rw-r--r--arch/tile/lib/exports.c2
-rw-r--r--arch/um/drivers/mconsole_kern.c2
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--arch/x86/boot/compressed/eboot.c47
-rw-r--r--arch/x86/crypto/aesni-intel_asm.S48
-rw-r--r--arch/x86/crypto/crc32-pclmul_asm.S2
-rw-r--r--arch/x86/crypto/sha256-avx-asm.S2
-rw-r--r--arch/x86/crypto/sha256-ssse3-asm.S2
-rw-r--r--arch/x86/ia32/ia32_aout.c2
-rw-r--r--arch/x86/include/asm/efi.h7
-rw-r--r--arch/x86/include/asm/inst.h74
-rw-r--r--arch/x86/include/asm/irq.h5
-rw-r--r--arch/x86/include/asm/microcode.h4
-rw-r--r--arch/x86/include/asm/nmi.h4
-rw-r--r--arch/x86/include/uapi/asm/bootparam.h1
-rw-r--r--arch/x86/kernel/apic/hw_nmi.c1
-rw-r--r--arch/x86/kernel/cpu/mtrr/cleanup.c8
-rw-r--r--arch/x86/kernel/cpu/perf_event_intel.c2
-rw-r--r--arch/x86/kernel/head_64.S6
-rw-r--r--arch/x86/kernel/i387.c14
-rw-r--r--arch/x86/kernel/kvmclock.c1
-rw-r--r--arch/x86/kernel/process.c12
-rw-r--r--arch/x86/kernel/relocate_kernel_64.S2
-rw-r--r--arch/x86/kernel/smpboot.c8
-rw-r--r--arch/x86/kvm/emulate.c9
-rw-r--r--arch/x86/kvm/lapic.c9
-rw-r--r--arch/x86/kvm/x86.c5
-rw-r--r--arch/x86/mm/init.c6
-rw-r--r--arch/x86/pci/common.c5
-rw-r--r--arch/x86/platform/efi/efi.c193
-rw-r--r--arch/x86/tools/relocs.c4
-rw-r--r--arch/x86/xen/smp.c18
-rw-r--r--arch/x86/xen/smp.h1
280 files changed, 4337 insertions, 2150 deletions
diff --git a/arch/arc/boot/dts/abilis_tb100_dvk.dts b/arch/arc/boot/dts/abilis_tb100_dvk.dts
index c0fd3623c393..0fa0d4abe795 100644
--- a/arch/arc/boot/dts/abilis_tb100_dvk.dts
+++ b/arch/arc/boot/dts/abilis_tb100_dvk.dts
@@ -37,7 +37,7 @@
37 37
38 soc100 { 38 soc100 {
39 uart@FF100000 { 39 uart@FF100000 {
40 pinctrl-names = "abilis,simple-default"; 40 pinctrl-names = "default";
41 pinctrl-0 = <&pctl_uart0>; 41 pinctrl-0 = <&pctl_uart0>;
42 }; 42 };
43 ethernet@FE100000 { 43 ethernet@FE100000 {
diff --git a/arch/arc/boot/dts/abilis_tb101_dvk.dts b/arch/arc/boot/dts/abilis_tb101_dvk.dts
index 6f8c381f6268..a4d80ce283ae 100644
--- a/arch/arc/boot/dts/abilis_tb101_dvk.dts
+++ b/arch/arc/boot/dts/abilis_tb101_dvk.dts
@@ -37,7 +37,7 @@
37 37
38 soc100 { 38 soc100 {
39 uart@FF100000 { 39 uart@FF100000 {
40 pinctrl-names = "abilis,simple-default"; 40 pinctrl-names = "default";
41 pinctrl-0 = <&pctl_uart0>; 41 pinctrl-0 = <&pctl_uart0>;
42 }; 42 };
43 ethernet@FE100000 { 43 ethernet@FE100000 {
diff --git a/arch/arc/boot/dts/abilis_tb10x.dtsi b/arch/arc/boot/dts/abilis_tb10x.dtsi
index a6139fc5aaa3..b97e3051ba4b 100644
--- a/arch/arc/boot/dts/abilis_tb10x.dtsi
+++ b/arch/arc/boot/dts/abilis_tb10x.dtsi
@@ -88,8 +88,7 @@
88 }; 88 };
89 89
90 uart@FF100000 { 90 uart@FF100000 {
91 compatible = "snps,dw-apb-uart", 91 compatible = "snps,dw-apb-uart";
92 "abilis,simple-pinctrl";
93 reg = <0xFF100000 0x100>; 92 reg = <0xFF100000 0x100>;
94 clock-frequency = <166666666>; 93 clock-frequency = <166666666>;
95 interrupts = <25 1>; 94 interrupts = <25 1>;
@@ -184,8 +183,7 @@
184 #address-cells = <1>; 183 #address-cells = <1>;
185 #size-cells = <0>; 184 #size-cells = <0>;
186 cell-index = <1>; 185 cell-index = <1>;
187 compatible = "abilis,tb100-spi", 186 compatible = "abilis,tb100-spi";
188 "abilis,simple-pinctrl";
189 num-cs = <2>; 187 num-cs = <2>;
190 reg = <0xFE011000 0x20>; 188 reg = <0xFE011000 0x20>;
191 interrupt-parent = <&tb10x_ictl>; 189 interrupt-parent = <&tb10x_ictl>;
diff --git a/arch/arc/include/asm/cacheflush.h b/arch/arc/include/asm/cacheflush.h
index 9f841af41092..ef62682e8d95 100644
--- a/arch/arc/include/asm/cacheflush.h
+++ b/arch/arc/include/asm/cacheflush.h
@@ -93,14 +93,16 @@ static inline int cache_is_vipt_aliasing(void)
93#endif 93#endif
94} 94}
95 95
96#define CACHE_COLOR(addr) (((unsigned long)(addr) >> (PAGE_SHIFT)) & 3) 96#define CACHE_COLOR(addr) (((unsigned long)(addr) >> (PAGE_SHIFT)) & 1)
97 97
98/* 98/*
99 * checks if two addresses (after page aligning) index into same cache set 99 * checks if two addresses (after page aligning) index into same cache set
100 */ 100 */
101#define addr_not_cache_congruent(addr1, addr2) \ 101#define addr_not_cache_congruent(addr1, addr2) \
102({ \
102 cache_is_vipt_aliasing() ? \ 103 cache_is_vipt_aliasing() ? \
103 (CACHE_COLOR(addr1) != CACHE_COLOR(addr2)) : 0 \ 104 (CACHE_COLOR(addr1) != CACHE_COLOR(addr2)) : 0; \
105})
104 106
105#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ 107#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
106do { \ 108do { \
diff --git a/arch/arc/include/asm/page.h b/arch/arc/include/asm/page.h
index 374a35514116..ab84bf131fe1 100644
--- a/arch/arc/include/asm/page.h
+++ b/arch/arc/include/asm/page.h
@@ -19,13 +19,6 @@
19#define clear_page(paddr) memset((paddr), 0, PAGE_SIZE) 19#define clear_page(paddr) memset((paddr), 0, PAGE_SIZE)
20#define copy_page(to, from) memcpy((to), (from), PAGE_SIZE) 20#define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
21 21
22#ifndef CONFIG_ARC_CACHE_VIPT_ALIASING
23
24#define clear_user_page(addr, vaddr, pg) clear_page(addr)
25#define copy_user_page(vto, vfrom, vaddr, pg) copy_page(vto, vfrom)
26
27#else /* VIPT aliasing dcache */
28
29struct vm_area_struct; 22struct vm_area_struct;
30struct page; 23struct page;
31 24
@@ -35,8 +28,6 @@ void copy_user_highpage(struct page *to, struct page *from,
35 unsigned long u_vaddr, struct vm_area_struct *vma); 28 unsigned long u_vaddr, struct vm_area_struct *vma);
36void clear_user_page(void *to, unsigned long u_vaddr, struct page *page); 29void clear_user_page(void *to, unsigned long u_vaddr, struct page *page);
37 30
38#endif /* CONFIG_ARC_CACHE_VIPT_ALIASING */
39
40#undef STRICT_MM_TYPECHECKS 31#undef STRICT_MM_TYPECHECKS
41 32
42#ifdef STRICT_MM_TYPECHECKS 33#ifdef STRICT_MM_TYPECHECKS
diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
index 1cc4720faccb..95b1522212a7 100644
--- a/arch/arc/include/asm/pgtable.h
+++ b/arch/arc/include/asm/pgtable.h
@@ -57,9 +57,9 @@
57 57
58#define _PAGE_ACCESSED (1<<1) /* Page is accessed (S) */ 58#define _PAGE_ACCESSED (1<<1) /* Page is accessed (S) */
59#define _PAGE_CACHEABLE (1<<2) /* Page is cached (H) */ 59#define _PAGE_CACHEABLE (1<<2) /* Page is cached (H) */
60#define _PAGE_EXECUTE (1<<3) /* Page has user execute perm (H) */ 60#define _PAGE_U_EXECUTE (1<<3) /* Page has user execute perm (H) */
61#define _PAGE_WRITE (1<<4) /* Page has user write perm (H) */ 61#define _PAGE_U_WRITE (1<<4) /* Page has user write perm (H) */
62#define _PAGE_READ (1<<5) /* Page has user read perm (H) */ 62#define _PAGE_U_READ (1<<5) /* Page has user read perm (H) */
63#define _PAGE_K_EXECUTE (1<<6) /* Page has kernel execute perm (H) */ 63#define _PAGE_K_EXECUTE (1<<6) /* Page has kernel execute perm (H) */
64#define _PAGE_K_WRITE (1<<7) /* Page has kernel write perm (H) */ 64#define _PAGE_K_WRITE (1<<7) /* Page has kernel write perm (H) */
65#define _PAGE_K_READ (1<<8) /* Page has kernel perm (H) */ 65#define _PAGE_K_READ (1<<8) /* Page has kernel perm (H) */
@@ -72,9 +72,9 @@
72 72
73/* PD1 */ 73/* PD1 */
74#define _PAGE_CACHEABLE (1<<0) /* Page is cached (H) */ 74#define _PAGE_CACHEABLE (1<<0) /* Page is cached (H) */
75#define _PAGE_EXECUTE (1<<1) /* Page has user execute perm (H) */ 75#define _PAGE_U_EXECUTE (1<<1) /* Page has user execute perm (H) */
76#define _PAGE_WRITE (1<<2) /* Page has user write perm (H) */ 76#define _PAGE_U_WRITE (1<<2) /* Page has user write perm (H) */
77#define _PAGE_READ (1<<3) /* Page has user read perm (H) */ 77#define _PAGE_U_READ (1<<3) /* Page has user read perm (H) */
78#define _PAGE_K_EXECUTE (1<<4) /* Page has kernel execute perm (H) */ 78#define _PAGE_K_EXECUTE (1<<4) /* Page has kernel execute perm (H) */
79#define _PAGE_K_WRITE (1<<5) /* Page has kernel write perm (H) */ 79#define _PAGE_K_WRITE (1<<5) /* Page has kernel write perm (H) */
80#define _PAGE_K_READ (1<<6) /* Page has kernel perm (H) */ 80#define _PAGE_K_READ (1<<6) /* Page has kernel perm (H) */
@@ -93,7 +93,8 @@
93#endif 93#endif
94 94
95/* Kernel allowed all permissions for all pages */ 95/* Kernel allowed all permissions for all pages */
96#define _K_PAGE_PERMS (_PAGE_K_EXECUTE | _PAGE_K_WRITE | _PAGE_K_READ) 96#define _K_PAGE_PERMS (_PAGE_K_EXECUTE | _PAGE_K_WRITE | _PAGE_K_READ | \
97 _PAGE_GLOBAL | _PAGE_PRESENT)
97 98
98#ifdef CONFIG_ARC_CACHE_PAGES 99#ifdef CONFIG_ARC_CACHE_PAGES
99#define _PAGE_DEF_CACHEABLE _PAGE_CACHEABLE 100#define _PAGE_DEF_CACHEABLE _PAGE_CACHEABLE
@@ -106,7 +107,11 @@
106 * -by default cached, unless config otherwise 107 * -by default cached, unless config otherwise
107 * -present in memory 108 * -present in memory
108 */ 109 */
109#define ___DEF (_PAGE_PRESENT | _K_PAGE_PERMS | _PAGE_DEF_CACHEABLE) 110#define ___DEF (_PAGE_PRESENT | _PAGE_DEF_CACHEABLE)
111
112#define _PAGE_READ (_PAGE_U_READ | _PAGE_K_READ)
113#define _PAGE_WRITE (_PAGE_U_WRITE | _PAGE_K_WRITE)
114#define _PAGE_EXECUTE (_PAGE_U_EXECUTE | _PAGE_K_EXECUTE)
110 115
111/* Set of bits not changed in pte_modify */ 116/* Set of bits not changed in pte_modify */
112#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED) 117#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED)
@@ -125,11 +130,10 @@
125 * kernel vaddr space - visible in all addr spaces, but kernel mode only 130 * kernel vaddr space - visible in all addr spaces, but kernel mode only
126 * Thus Global, all-kernel-access, no-user-access, cached 131 * Thus Global, all-kernel-access, no-user-access, cached
127 */ 132 */
128#define PAGE_KERNEL __pgprot(___DEF | _PAGE_GLOBAL) 133#define PAGE_KERNEL __pgprot(_K_PAGE_PERMS | _PAGE_DEF_CACHEABLE)
129 134
130/* ioremap */ 135/* ioremap */
131#define PAGE_KERNEL_NO_CACHE __pgprot(_PAGE_PRESENT | _K_PAGE_PERMS | \ 136#define PAGE_KERNEL_NO_CACHE __pgprot(_K_PAGE_PERMS)
132 _PAGE_GLOBAL)
133 137
134/************************************************************************** 138/**************************************************************************
135 * Mapping of vm_flags (Generic VM) to PTE flags (arch specific) 139 * Mapping of vm_flags (Generic VM) to PTE flags (arch specific)
diff --git a/arch/arc/include/asm/tlb.h b/arch/arc/include/asm/tlb.h
index 85b6df839bd7..cb0c708ca665 100644
--- a/arch/arc/include/asm/tlb.h
+++ b/arch/arc/include/asm/tlb.h
@@ -16,7 +16,7 @@
16/* Masks for actual TLB "PD"s */ 16/* Masks for actual TLB "PD"s */
17#define PTE_BITS_IN_PD0 (_PAGE_GLOBAL | _PAGE_PRESENT) 17#define PTE_BITS_IN_PD0 (_PAGE_GLOBAL | _PAGE_PRESENT)
18#define PTE_BITS_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE | \ 18#define PTE_BITS_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE | \
19 _PAGE_EXECUTE | _PAGE_WRITE | _PAGE_READ | \ 19 _PAGE_U_EXECUTE | _PAGE_U_WRITE | _PAGE_U_READ | \
20 _PAGE_K_EXECUTE | _PAGE_K_WRITE | _PAGE_K_READ) 20 _PAGE_K_EXECUTE | _PAGE_K_WRITE | _PAGE_K_READ)
21 21
22#ifndef __ASSEMBLY__ 22#ifndef __ASSEMBLY__
diff --git a/arch/arc/mm/cache_arc700.c b/arch/arc/mm/cache_arc700.c
index 2f12bca8aef3..aedce1905441 100644
--- a/arch/arc/mm/cache_arc700.c
+++ b/arch/arc/mm/cache_arc700.c
@@ -610,7 +610,7 @@ void __sync_icache_dcache(unsigned long paddr, unsigned long vaddr, int len)
610 610
611 local_irq_save(flags); 611 local_irq_save(flags);
612 __ic_line_inv_vaddr(paddr, vaddr, len); 612 __ic_line_inv_vaddr(paddr, vaddr, len);
613 __dc_line_op(paddr, vaddr, len, OP_FLUSH); 613 __dc_line_op(paddr, vaddr, len, OP_FLUSH_N_INV);
614 local_irq_restore(flags); 614 local_irq_restore(flags);
615} 615}
616 616
@@ -676,6 +676,17 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
676 flush_cache_all(); 676 flush_cache_all();
677} 677}
678 678
679void flush_anon_page(struct vm_area_struct *vma, struct page *page,
680 unsigned long u_vaddr)
681{
682 /* TBD: do we really need to clear the kernel mapping */
683 __flush_dcache_page(page_address(page), u_vaddr);
684 __flush_dcache_page(page_address(page), page_address(page));
685
686}
687
688#endif
689
679void copy_user_highpage(struct page *to, struct page *from, 690void copy_user_highpage(struct page *to, struct page *from,
680 unsigned long u_vaddr, struct vm_area_struct *vma) 691 unsigned long u_vaddr, struct vm_area_struct *vma)
681{ 692{
@@ -725,16 +736,6 @@ void clear_user_page(void *to, unsigned long u_vaddr, struct page *page)
725 set_bit(PG_arch_1, &page->flags); 736 set_bit(PG_arch_1, &page->flags);
726} 737}
727 738
728void flush_anon_page(struct vm_area_struct *vma, struct page *page,
729 unsigned long u_vaddr)
730{
731 /* TBD: do we really need to clear the kernel mapping */
732 __flush_dcache_page(page_address(page), u_vaddr);
733 __flush_dcache_page(page_address(page), page_address(page));
734
735}
736
737#endif
738 739
739/********************************************************************** 740/**********************************************************************
740 * Explicit Cache flush request from user space via syscall 741 * Explicit Cache flush request from user space via syscall
diff --git a/arch/arc/mm/tlb.c b/arch/arc/mm/tlb.c
index 066145b5f348..fe1c5a073afe 100644
--- a/arch/arc/mm/tlb.c
+++ b/arch/arc/mm/tlb.c
@@ -444,7 +444,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr_unaligned,
444 * so userspace sees the right data. 444 * so userspace sees the right data.
445 * (Avoids the flush for Non-exec + congruent mapping case) 445 * (Avoids the flush for Non-exec + congruent mapping case)
446 */ 446 */
447 if (vma->vm_flags & VM_EXEC || addr_not_cache_congruent(paddr, vaddr)) { 447 if ((vma->vm_flags & VM_EXEC) ||
448 addr_not_cache_congruent(paddr, vaddr)) {
448 struct page *page = pfn_to_page(pte_pfn(*ptep)); 449 struct page *page = pfn_to_page(pte_pfn(*ptep));
449 450
450 int dirty = test_and_clear_bit(PG_arch_1, &page->flags); 451 int dirty = test_and_clear_bit(PG_arch_1, &page->flags);
diff --git a/arch/arc/mm/tlbex.S b/arch/arc/mm/tlbex.S
index 9df765dc7c3a..3357d26ffe54 100644
--- a/arch/arc/mm/tlbex.S
+++ b/arch/arc/mm/tlbex.S
@@ -277,7 +277,7 @@ ARC_ENTRY EV_TLBMissI
277 ;---------------------------------------------------------------- 277 ;----------------------------------------------------------------
278 ; VERIFY_PTE: Check if PTE permissions approp for executing code 278 ; VERIFY_PTE: Check if PTE permissions approp for executing code
279 cmp_s r2, VMALLOC_START 279 cmp_s r2, VMALLOC_START
280 mov.lo r2, (_PAGE_PRESENT | _PAGE_READ | _PAGE_EXECUTE) 280 mov.lo r2, (_PAGE_PRESENT | _PAGE_U_READ | _PAGE_U_EXECUTE)
281 mov.hs r2, (_PAGE_PRESENT | _PAGE_K_READ | _PAGE_K_EXECUTE) 281 mov.hs r2, (_PAGE_PRESENT | _PAGE_K_READ | _PAGE_K_EXECUTE)
282 282
283 and r3, r0, r2 ; Mask out NON Flag bits from PTE 283 and r3, r0, r2 ; Mask out NON Flag bits from PTE
@@ -320,9 +320,9 @@ ARC_ENTRY EV_TLBMissD
320 mov_s r2, 0 320 mov_s r2, 0
321 lr r3, [ecr] 321 lr r3, [ecr]
322 btst_s r3, ECR_C_BIT_DTLB_LD_MISS ; Read Access 322 btst_s r3, ECR_C_BIT_DTLB_LD_MISS ; Read Access
323 or.nz r2, r2, _PAGE_READ ; chk for Read flag in PTE 323 or.nz r2, r2, _PAGE_U_READ ; chk for Read flag in PTE
324 btst_s r3, ECR_C_BIT_DTLB_ST_MISS ; Write Access 324 btst_s r3, ECR_C_BIT_DTLB_ST_MISS ; Write Access
325 or.nz r2, r2, _PAGE_WRITE ; chk for Write flag in PTE 325 or.nz r2, r2, _PAGE_U_WRITE ; chk for Write flag in PTE
326 ; Above laddering takes care of XCHG access 326 ; Above laddering takes care of XCHG access
327 ; which is both Read and Write 327 ; which is both Read and Write
328 328
diff --git a/arch/arc/plat-tb10x/tb10x.c b/arch/arc/plat-tb10x/tb10x.c
index d3567691c7e1..06cb30929460 100644
--- a/arch/arc/plat-tb10x/tb10x.c
+++ b/arch/arc/plat-tb10x/tb10x.c
@@ -34,31 +34,6 @@ static void __init tb10x_platform_init(void)
34 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 34 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
35} 35}
36 36
37static void __init tb10x_platform_late_init(void)
38{
39 struct device_node *dn;
40
41 /*
42 * Pinctrl documentation recommends setting up the iomux here for
43 * all modules which don't require control over the pins themselves.
44 * Modules which need this kind of assistance are compatible with
45 * "abilis,simple-pinctrl", i.e. we can easily iterate over them.
46 * TODO: Does this recommended method work cleanly with pins required
47 * by modules?
48 */
49 for_each_compatible_node(dn, NULL, "abilis,simple-pinctrl") {
50 struct platform_device *pd = of_find_device_by_node(dn);
51 struct pinctrl *pctl;
52
53 pctl = pinctrl_get_select(&pd->dev, "abilis,simple-default");
54 if (IS_ERR(pctl)) {
55 int ret = PTR_ERR(pctl);
56 dev_err(&pd->dev, "Could not set up pinctrl: %d\n",
57 ret);
58 }
59 }
60}
61
62static const char *tb10x_compat[] __initdata = { 37static const char *tb10x_compat[] __initdata = {
63 "abilis,arc-tb10x", 38 "abilis,arc-tb10x",
64 NULL, 39 NULL,
@@ -67,5 +42,4 @@ static const char *tb10x_compat[] __initdata = {
67MACHINE_START(TB10x, "tb10x") 42MACHINE_START(TB10x, "tb10x")
68 .dt_compat = tb10x_compat, 43 .dt_compat = tb10x_compat,
69 .init_machine = tb10x_platform_init, 44 .init_machine = tb10x_platform_init,
70 .init_late = tb10x_platform_late_init,
71MACHINE_END 45MACHINE_END
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 49d993cee512..2651b1da1c56 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1189,6 +1189,16 @@ config PL310_ERRATA_588369
1189 is not correctly implemented in PL310 as clean lines are not 1189 is not correctly implemented in PL310 as clean lines are not
1190 invalidated as a result of these operations. 1190 invalidated as a result of these operations.
1191 1191
1192config ARM_ERRATA_643719
1193 bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
1194 depends on CPU_V7 && SMP
1195 help
1196 This option enables the workaround for the 643719 Cortex-A9 (prior to
1197 r1p0) erratum. On affected cores the LoUIS bit field of the CLIDR
1198 register returns zero when it should return one. The workaround
1199 corrects this value, ensuring cache maintenance operations which use
1200 it behave as intended and avoiding data corruption.
1201
1192config ARM_ERRATA_720789 1202config ARM_ERRATA_720789
1193 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" 1203 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1194 depends on CPU_V7 1204 depends on CPU_V7
@@ -2006,7 +2016,7 @@ config XIP_PHYS_ADDR
2006 2016
2007config KEXEC 2017config KEXEC
2008 bool "Kexec system call (EXPERIMENTAL)" 2018 bool "Kexec system call (EXPERIMENTAL)"
2009 depends on (!SMP || HOTPLUG_CPU) 2019 depends on (!SMP || PM_SLEEP_SMP)
2010 help 2020 help
2011 kexec is a system call that implements the ability to shutdown your 2021 kexec is a system call that implements the ability to shutdown your
2012 current kernel, and to start another kernel. It is like a reboot 2022 current kernel, and to start another kernel. It is like a reboot
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 3580d57ea218..120b83bfde20 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -116,7 +116,8 @@ targets := vmlinux vmlinux.lds \
116 116
117# Make sure files are removed during clean 117# Make sure files are removed during clean
118extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern \ 118extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern \
119 lib1funcs.S ashldi3.S $(libfdt) $(libfdt_hdrs) 119 lib1funcs.S ashldi3.S $(libfdt) $(libfdt_hdrs) \
120 hyp-stub.S
120 121
121ifeq ($(CONFIG_FUNCTION_TRACER),y) 122ifeq ($(CONFIG_FUNCTION_TRACER),y)
122ORIG_CFLAGS := $(KBUILD_CFLAGS) 123ORIG_CFLAGS := $(KBUILD_CFLAGS)
@@ -124,7 +125,7 @@ KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
124endif 125endif
125 126
126ccflags-y := -fpic -mno-single-pic-base -fno-builtin -I$(obj) 127ccflags-y := -fpic -mno-single-pic-base -fno-builtin -I$(obj)
127asflags-y := -Wa,-march=all -DZIMAGE 128asflags-y := -DZIMAGE
128 129
129# Supply kernel BSS size to the decompressor via a linker symbol. 130# Supply kernel BSS size to the decompressor via a linker symbol.
130KBSS_SZ = $(shell $(CROSS_COMPILE)size $(obj)/../../../../vmlinux | \ 131KBSS_SZ = $(shell $(CROSS_COMPILE)size $(obj)/../../../../vmlinux | \
diff --git a/arch/arm/boot/compressed/debug.S b/arch/arm/boot/compressed/debug.S
index 6e8382d5b7a4..5392ee63338f 100644
--- a/arch/arm/boot/compressed/debug.S
+++ b/arch/arm/boot/compressed/debug.S
@@ -1,6 +1,8 @@
1#include <linux/linkage.h> 1#include <linux/linkage.h>
2#include <asm/assembler.h> 2#include <asm/assembler.h>
3 3
4#ifndef CONFIG_DEBUG_SEMIHOSTING
5
4#include CONFIG_DEBUG_LL_INCLUDE 6#include CONFIG_DEBUG_LL_INCLUDE
5 7
6ENTRY(putc) 8ENTRY(putc)
@@ -10,3 +12,29 @@ ENTRY(putc)
10 busyuart r3, r1 12 busyuart r3, r1
11 mov pc, lr 13 mov pc, lr
12ENDPROC(putc) 14ENDPROC(putc)
15
16#else
17
18ENTRY(putc)
19 adr r1, 1f
20 ldmia r1, {r2, r3}
21 add r2, r2, r1
22 ldr r1, [r2, r3]
23 strb r0, [r1]
24 mov r0, #0x03 @ SYS_WRITEC
25 ARM( svc #0x123456 )
26 THUMB( svc #0xab )
27 mov pc, lr
28 .align 2
291: .word _GLOBAL_OFFSET_TABLE_ - .
30 .word semi_writec_buf(GOT)
31ENDPROC(putc)
32
33 .bss
34 .global semi_writec_buf
35 .type semi_writec_buf, %object
36semi_writec_buf:
37 .space 4
38 .size semi_writec_buf, 4
39
40#endif
diff --git a/arch/arm/boot/compressed/head-sa1100.S b/arch/arm/boot/compressed/head-sa1100.S
index 6179d94dd5c6..3115e313d9f6 100644
--- a/arch/arm/boot/compressed/head-sa1100.S
+++ b/arch/arm/boot/compressed/head-sa1100.S
@@ -11,6 +11,7 @@
11#include <asm/mach-types.h> 11#include <asm/mach-types.h>
12 12
13 .section ".start", "ax" 13 .section ".start", "ax"
14 .arch armv4
14 15
15__SA1100_start: 16__SA1100_start:
16 17
diff --git a/arch/arm/boot/compressed/head-shark.S b/arch/arm/boot/compressed/head-shark.S
index 089c560e07f1..92b56897ed64 100644
--- a/arch/arm/boot/compressed/head-shark.S
+++ b/arch/arm/boot/compressed/head-shark.S
@@ -18,6 +18,7 @@
18 18
19 .section ".start", "ax" 19 .section ".start", "ax"
20 20
21 .arch armv4
21 b __beginning 22 b __beginning
22 23
23__ofw_data: .long 0 @ the number of memory blocks 24__ofw_data: .long 0 @ the number of memory blocks
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index fe4d9c3ad761..032a8d987148 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -11,6 +11,7 @@
11#include <linux/linkage.h> 11#include <linux/linkage.h>
12#include <asm/assembler.h> 12#include <asm/assembler.h>
13 13
14 .arch armv7-a
14/* 15/*
15 * Debugging stuff 16 * Debugging stuff
16 * 17 *
@@ -805,8 +806,8 @@ call_cache_fn: adr r12, proc_types
805 .align 2 806 .align 2
806 .type proc_types,#object 807 .type proc_types,#object
807proc_types: 808proc_types:
808 .word 0x00000000 @ old ARM ID 809 .word 0x41000000 @ old ARM ID
809 .word 0x0000f000 810 .word 0xff00f000
810 mov pc, lr 811 mov pc, lr
811 THUMB( nop ) 812 THUMB( nop )
812 mov pc, lr 813 mov pc, lr
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b9f7121e6ecf..f0895c581a89 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -177,7 +177,9 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
177 spear320-evb.dtb \ 177 spear320-evb.dtb \
178 spear320-hmi.dtb 178 spear320-hmi.dtb
179dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb 179dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
180dtb-$(CONFIG_ARCH_SUNXI) += sun4i-a10-cubieboard.dtb \ 180dtb-$(CONFIG_ARCH_SUNXI) += \
181 sun4i-a10-cubieboard.dtb \
182 sun4i-a10-mini-xplus.dtb \
181 sun4i-a10-hackberry.dtb \ 183 sun4i-a10-hackberry.dtb \
182 sun5i-a13-olinuxino.dtb 184 sun5i-a13-olinuxino.dtb
183dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ 185dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 1460d9b88adf..8e1248f01fab 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -409,8 +409,8 @@
409 ti,hwmods = "gpmc"; 409 ti,hwmods = "gpmc";
410 reg = <0x50000000 0x2000>; 410 reg = <0x50000000 0x2000>;
411 interrupts = <100>; 411 interrupts = <100>;
412 num-cs = <7>; 412 gpmc,num-cs = <7>;
413 num-waitpins = <2>; 413 gpmc,num-waitpins = <2>;
414 #address-cells = <2>; 414 #address-cells = <2>;
415 #size-cells = <1>; 415 #size-cells = <1>;
416 status = "disabled"; 416 status = "disabled";
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 272bbc65fab0..550eb772c30e 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -33,7 +33,8 @@
33 #size-cells = <1>; 33 #size-cells = <1>;
34 compatible = "simple-bus"; 34 compatible = "simple-bus";
35 interrupt-parent = <&mpic>; 35 interrupt-parent = <&mpic>;
36 ranges = <0 0 0xd0000000 0x100000>; 36 ranges = <0 0 0xd0000000 0x0100000 /* internal registers */
37 0xe0000000 0 0xe0000000 0x8100000 /* PCIe */>;
37 38
38 internal-regs { 39 internal-regs {
39 compatible = "simple-bus"; 40 compatible = "simple-bus";
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index b2c1b5af9749..aee2b1866ce2 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -29,7 +29,8 @@
29 }; 29 };
30 30
31 soc { 31 soc {
32 ranges = <0 0xd0000000 0x100000>; 32 ranges = <0 0xd0000000 0x0100000 /* internal registers */
33 0xe0000000 0xe0000000 0x8100000 /* PCIe */>;
33 internal-regs { 34 internal-regs {
34 system-controller@18200 { 35 system-controller@18200 {
35 compatible = "marvell,armada-370-xp-system-controller"; 36 compatible = "marvell,armada-370-xp-system-controller";
@@ -38,12 +39,12 @@
38 39
39 L2: l2-cache { 40 L2: l2-cache {
40 compatible = "marvell,aurora-outer-cache"; 41 compatible = "marvell,aurora-outer-cache";
41 reg = <0xd0008000 0x1000>; 42 reg = <0x08000 0x1000>;
42 cache-id-part = <0x100>; 43 cache-id-part = <0x100>;
43 wt-override; 44 wt-override;
44 }; 45 };
45 46
46 mpic: interrupt-controller@20000 { 47 interrupt-controller@20000 {
47 reg = <0x20a00 0x1d0>, <0x21870 0x58>; 48 reg = <0x20a00 0x1d0>, <0x21870 0x58>;
48 }; 49 };
49 50
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
index 26ad06fc147e..76db557adbe7 100644
--- a/arch/arm/boot/dts/armada-xp-gp.dts
+++ b/arch/arm/boot/dts/armada-xp-gp.dts
@@ -39,6 +39,10 @@
39 }; 39 };
40 40
41 soc { 41 soc {
42 ranges = <0 0 0xd0000000 0x100000 /* Internal registers 1MiB */
43 0xe0000000 0 0xe0000000 0x8100000 /* PCIe */
44 0xf0000000 0 0xf0000000 0x1000000 /* Device Bus, NOR 16MiB */>;
45
42 internal-regs { 46 internal-regs {
43 serial@12000 { 47 serial@12000 {
44 clock-frequency = <250000000>; 48 clock-frequency = <250000000>;
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
index f14d36c46159..fdea75c73411 100644
--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
@@ -27,6 +27,10 @@
27 }; 27 };
28 28
29 soc { 29 soc {
30 ranges = <0 0 0xd0000000 0x100000 /* Internal registers 1MiB */
31 0xe0000000 0 0xe0000000 0x8100000 /* PCIe */
32 0xf0000000 0 0xf0000000 0x8000000 /* Device Bus, NOR 128MiB */>;
33
30 internal-regs { 34 internal-regs {
31 serial@12000 { 35 serial@12000 {
32 clock-frequency = <250000000>; 36 clock-frequency = <250000000>;
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index bacab11c10dc..5b902f9a3af2 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -31,7 +31,7 @@
31 wt-override; 31 wt-override;
32 }; 32 };
33 33
34 mpic: interrupt-controller@20000 { 34 interrupt-controller@20000 {
35 reg = <0x20a00 0x2d0>, <0x21070 0x58>; 35 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
36 }; 36 };
37 37
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index 70b5ccbac234..84c4bef2d726 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -264,7 +264,7 @@
264 atmel,pins = 264 atmel,pins =
265 <0 10 0x2 0x0 /* PA10 periph B */ 265 <0 10 0x2 0x0 /* PA10 periph B */
266 0 11 0x2 0x0 /* PA11 periph B */ 266 0 11 0x2 0x0 /* PA11 periph B */
267 0 24 0x2 0x0 /* PA24 periph B */ 267 0 22 0x2 0x0 /* PA22 periph B */
268 0 25 0x2 0x0 /* PA25 periph B */ 268 0 25 0x2 0x0 /* PA25 periph B */
269 0 26 0x2 0x0 /* PA26 periph B */ 269 0 26 0x2 0x0 /* PA26 periph B */
270 0 27 0x2 0x0 /* PA27 periph B */ 270 0 27 0x2 0x0 /* PA27 periph B */
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index 3de8e6dfbcb1..8d25f889928e 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -57,6 +57,7 @@
57 compatible = "atmel,at91rm9200-aic"; 57 compatible = "atmel,at91rm9200-aic";
58 interrupt-controller; 58 interrupt-controller;
59 reg = <0xfffff000 0x200>; 59 reg = <0xfffff000 0x200>;
60 atmel,external-irqs = <31>;
60 }; 61 };
61 62
62 ramc0: ramc@ffffe800 { 63 ramc0: ramc@ffffe800 {
diff --git a/arch/arm/boot/dts/at91sam9x25ek.dts b/arch/arm/boot/dts/at91sam9x25ek.dts
index 3b40d11d65e7..315250b4995e 100644
--- a/arch/arm/boot/dts/at91sam9x25ek.dts
+++ b/arch/arm/boot/dts/at91sam9x25ek.dts
@@ -11,7 +11,7 @@
11/include/ "at91sam9x5ek.dtsi" 11/include/ "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9G25-EK"; 14 model = "Atmel AT91SAM9X25-EK";
15 compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 15 compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
16 16
17 ahb { 17 ahb {
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index f0052dccf9a8..1e12aeff403b 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -44,6 +44,7 @@
44 reg = <0x7e201000 0x1000>; 44 reg = <0x7e201000 0x1000>;
45 interrupts = <2 25>; 45 interrupts = <2 25>;
46 clock-frequency = <3000000>; 46 clock-frequency = <3000000>;
47 arm,primecell-periphid = <0x00241011>;
47 }; 48 };
48 49
49 gpio: gpio { 50 gpio: gpio {
diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
index d1650fb34c0a..ded558bb0f3b 100644
--- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
@@ -763,7 +763,7 @@
763 }; 763 };
764 }; 764 };
765 765
766 pinctrl@03680000 { 766 pinctrl@03860000 {
767 gpz: gpz { 767 gpz: gpz {
768 gpio-controller; 768 gpio-controller;
769 #gpio-cells = <2>; 769 #gpio-cells = <2>;
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 98dfc3ea5c0b..fc9fb3d526e2 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -161,9 +161,9 @@
161 interrupts = <0 50 0>; 161 interrupts = <0 50 0>;
162 }; 162 };
163 163
164 pinctrl_3: pinctrl@03680000 { 164 pinctrl_3: pinctrl@03860000 {
165 compatible = "samsung,exynos5250-pinctrl"; 165 compatible = "samsung,exynos5250-pinctrl";
166 reg = <0x0368000 0x1000>; 166 reg = <0x03860000 0x1000>;
167 interrupts = <0 47 0>; 167 interrupts = <0 47 0>;
168 }; 168 };
169 169
@@ -497,6 +497,21 @@
497 clock-names = "usbhost"; 497 clock-names = "usbhost";
498 }; 498 };
499 499
500 usbphy@12130000 {
501 compatible = "samsung,exynos5250-usb2phy";
502 reg = <0x12130000 0x100>;
503 clocks = <&clock 1>, <&clock 285>;
504 clock-names = "ext_xtal", "usbhost";
505 #address-cells = <1>;
506 #size-cells = <1>;
507 ranges;
508
509 usbphy-sys {
510 reg = <0x10040704 0x8>,
511 <0x10050230 0x4>;
512 };
513 };
514
500 amba { 515 amba {
501 #address-cells = <1>; 516 #address-cells = <1>;
502 #size-cells = <1>; 517 #size-cells = <1>;
diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi
index d2550e0bca24..701153992c69 100644
--- a/arch/arm/boot/dts/imx25.dtsi
+++ b/arch/arm/boot/dts/imx25.dtsi
@@ -141,8 +141,8 @@
141 #size-cells = <0>; 141 #size-cells = <0>;
142 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; 142 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
143 reg = <0x43fa4000 0x4000>; 143 reg = <0x43fa4000 0x4000>;
144 clocks = <&clks 62>; 144 clocks = <&clks 62>, <&clks 62>;
145 clock-names = "ipg"; 145 clock-names = "ipg", "per";
146 interrupts = <14>; 146 interrupts = <14>;
147 status = "disabled"; 147 status = "disabled";
148 }; 148 };
@@ -182,8 +182,8 @@
182 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; 182 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
183 reg = <0x50004000 0x4000>; 183 reg = <0x50004000 0x4000>;
184 interrupts = <0>; 184 interrupts = <0>;
185 clocks = <&clks 80>; 185 clocks = <&clks 80>, <&clks 80>;
186 clock-names = "ipg"; 186 clock-names = "ipg", "per";
187 status = "disabled"; 187 status = "disabled";
188 }; 188 };
189 189
@@ -210,8 +210,8 @@
210 #size-cells = <0>; 210 #size-cells = <0>;
211 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; 211 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
212 reg = <0x50010000 0x4000>; 212 reg = <0x50010000 0x4000>;
213 clocks = <&clks 79>; 213 clocks = <&clks 79>, <&clks 79>;
214 clock-names = "ipg"; 214 clock-names = "ipg", "per";
215 interrupts = <13>; 215 interrupts = <13>;
216 status = "disabled"; 216 status = "disabled";
217 }; 217 };
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
index ff4bd4873edf..75bd11386516 100644
--- a/arch/arm/boot/dts/imx27.dtsi
+++ b/arch/arm/boot/dts/imx27.dtsi
@@ -131,7 +131,7 @@
131 compatible = "fsl,imx27-cspi"; 131 compatible = "fsl,imx27-cspi";
132 reg = <0x1000e000 0x1000>; 132 reg = <0x1000e000 0x1000>;
133 interrupts = <16>; 133 interrupts = <16>;
134 clocks = <&clks 53>, <&clks 0>; 134 clocks = <&clks 53>, <&clks 53>;
135 clock-names = "ipg", "per"; 135 clock-names = "ipg", "per";
136 status = "disabled"; 136 status = "disabled";
137 }; 137 };
@@ -142,7 +142,7 @@
142 compatible = "fsl,imx27-cspi"; 142 compatible = "fsl,imx27-cspi";
143 reg = <0x1000f000 0x1000>; 143 reg = <0x1000f000 0x1000>;
144 interrupts = <15>; 144 interrupts = <15>;
145 clocks = <&clks 52>, <&clks 0>; 145 clocks = <&clks 52>, <&clks 52>;
146 clock-names = "ipg", "per"; 146 clock-names = "ipg", "per";
147 status = "disabled"; 147 status = "disabled";
148 }; 148 };
@@ -223,7 +223,7 @@
223 compatible = "fsl,imx27-cspi"; 223 compatible = "fsl,imx27-cspi";
224 reg = <0x10017000 0x1000>; 224 reg = <0x10017000 0x1000>;
225 interrupts = <6>; 225 interrupts = <6>;
226 clocks = <&clks 51>, <&clks 0>; 226 clocks = <&clks 51>, <&clks 51>;
227 clock-names = "ipg", "per"; 227 clock-names = "ipg", "per";
228 status = "disabled"; 228 status = "disabled";
229 }; 229 };
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
index 21bb786c5b31..53fdde69bbf4 100644
--- a/arch/arm/boot/dts/imx51.dtsi
+++ b/arch/arm/boot/dts/imx51.dtsi
@@ -631,7 +631,7 @@
631 compatible = "fsl,imx51-cspi", "fsl,imx35-cspi"; 631 compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
632 reg = <0x83fc0000 0x4000>; 632 reg = <0x83fc0000 0x4000>;
633 interrupts = <38>; 633 interrupts = <38>;
634 clocks = <&clks 55>, <&clks 0>; 634 clocks = <&clks 55>, <&clks 55>;
635 clock-names = "ipg", "per"; 635 clock-names = "ipg", "per";
636 status = "disabled"; 636 status = "disabled";
637 }; 637 };
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index 845982eaac22..eb83aa039b8b 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -714,7 +714,7 @@
714 compatible = "fsl,imx53-cspi", "fsl,imx35-cspi"; 714 compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
715 reg = <0x63fc0000 0x4000>; 715 reg = <0x63fc0000 0x4000>;
716 interrupts = <38>; 716 interrupts = <38>;
717 clocks = <&clks 55>, <&clks 0>; 717 clocks = <&clks 55>, <&clks 55>;
718 clock-names = "ipg", "per"; 718 clock-names = "ipg", "per";
719 status = "disabled"; 719 status = "disabled";
720 }; 720 };
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 82a404da1c0d..99ba6e14ebf3 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -516,7 +516,7 @@
516 usb_otg_hs: usb_otg_hs@480ab000 { 516 usb_otg_hs: usb_otg_hs@480ab000 {
517 compatible = "ti,omap3-musb"; 517 compatible = "ti,omap3-musb";
518 reg = <0x480ab000 0x1000>; 518 reg = <0x480ab000 0x1000>;
519 interrupts = <0 92 0x4>, <0 93 0x4>; 519 interrupts = <92>, <93>;
520 interrupt-names = "mc", "dma"; 520 interrupt-names = "mc", "dma";
521 ti,hwmods = "usb_otg_hs"; 521 ti,hwmods = "usb_otg_hs";
522 multipoint = <1>; 522 multipoint = <1>;
diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
index 03bd60deb52b..eeb734e25709 100644
--- a/arch/arm/boot/dts/omap4-panda-common.dtsi
+++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
@@ -56,9 +56,23 @@
56 }; 56 };
57}; 57};
58 58
59&omap4_pmx_wkup {
60 pinctrl-names = "default";
61 pinctrl-0 = <
62 &twl6030_wkup_pins
63 >;
64
65 twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
66 pinctrl-single,pins = <
67 0x14 0x2 /* fref_clk0_out.sys_drm_msecure OUTPUT | MODE2 */
68 >;
69 };
70};
71
59&omap4_pmx_core { 72&omap4_pmx_core {
60 pinctrl-names = "default"; 73 pinctrl-names = "default";
61 pinctrl-0 = < 74 pinctrl-0 = <
75 &twl6030_pins
62 &twl6040_pins 76 &twl6040_pins
63 &mcpdm_pins 77 &mcpdm_pins
64 &mcbsp1_pins 78 &mcbsp1_pins
@@ -66,6 +80,12 @@
66 &tpd12s015_pins 80 &tpd12s015_pins
67 >; 81 >;
68 82
83 twl6030_pins: pinmux_twl6030_pins {
84 pinctrl-single,pins = <
85 0x15e 0x4118 /* sys_nirq1.sys_nirq1 OMAP_WAKEUP_EN | INPUT_PULLUP | MODE0 */
86 >;
87 };
88
69 twl6040_pins: pinmux_twl6040_pins { 89 twl6040_pins: pinmux_twl6040_pins {
70 pinctrl-single,pins = < 90 pinctrl-single,pins = <
71 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */ 91 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index a35d9cd58063..98505a2ef162 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -142,9 +142,23 @@
142 }; 142 };
143}; 143};
144 144
145&omap4_pmx_wkup {
146 pinctrl-names = "default";
147 pinctrl-0 = <
148 &twl6030_wkup_pins
149 >;
150
151 twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
152 pinctrl-single,pins = <
153 0x14 0x2 /* fref_clk0_out.sys_drm_msecure OUTPUT | MODE2 */
154 >;
155 };
156};
157
145&omap4_pmx_core { 158&omap4_pmx_core {
146 pinctrl-names = "default"; 159 pinctrl-names = "default";
147 pinctrl-0 = < 160 pinctrl-0 = <
161 &twl6030_pins
148 &twl6040_pins 162 &twl6040_pins
149 &mcpdm_pins 163 &mcpdm_pins
150 &dmic_pins 164 &dmic_pins
@@ -179,6 +193,12 @@
179 >; 193 >;
180 }; 194 };
181 195
196 twl6030_pins: pinmux_twl6030_pins {
197 pinctrl-single,pins = <
198 0x15e 0x4118 /* sys_nirq1.sys_nirq1 OMAP_WAKEUP_EN | INPUT_PULLUP | MODE0 */
199 >;
200 };
201
182 twl6040_pins: pinmux_twl6040_pins { 202 twl6040_pins: pinmux_twl6040_pins {
183 pinctrl-single,pins = < 203 pinctrl-single,pins = <
184 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */ 204 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 3dd7ff825828..635cae283011 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -538,6 +538,7 @@
538 interrupts = <0 41 0x4>; 538 interrupts = <0 41 0x4>;
539 ti,hwmods = "timer5"; 539 ti,hwmods = "timer5";
540 ti,timer-dsp; 540 ti,timer-dsp;
541 ti,timer-pwm;
541 }; 542 };
542 543
543 timer6: timer@4013a000 { 544 timer6: timer@4013a000 {
@@ -574,6 +575,7 @@
574 reg = <0x4803e000 0x80>; 575 reg = <0x4803e000 0x80>;
575 interrupts = <0 45 0x4>; 576 interrupts = <0 45 0x4>;
576 ti,hwmods = "timer9"; 577 ti,hwmods = "timer9";
578 ti,timer-pwm;
577 }; 579 };
578 580
579 timer10: timer@48086000 { 581 timer10: timer@48086000 {
@@ -581,6 +583,7 @@
581 reg = <0x48086000 0x80>; 583 reg = <0x48086000 0x80>;
582 interrupts = <0 46 0x4>; 584 interrupts = <0 46 0x4>;
583 ti,hwmods = "timer10"; 585 ti,hwmods = "timer10";
586 ti,timer-pwm;
584 }; 587 };
585 588
586 timer11: timer@48088000 { 589 timer11: timer@48088000 {
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index 2e643ea51cce..5000e0d42849 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -75,11 +75,6 @@
75 compatible = "atmel,at91sam9x5-spi"; 75 compatible = "atmel,at91sam9x5-spi";
76 reg = <0xf0004000 0x100>; 76 reg = <0xf0004000 0x100>;
77 interrupts = <24 4 3>; 77 interrupts = <24 4 3>;
78 cs-gpios = <&pioD 13 0
79 &pioD 14 0 /* conflicts with SCK0 and CANRX0 */
80 &pioD 15 0 /* conflicts with CTS0 and CANTX0 */
81 &pioD 16 0 /* conflicts with RTS0 and PWMFI3 */
82 >;
83 pinctrl-names = "default"; 78 pinctrl-names = "default";
84 pinctrl-0 = <&pinctrl_spi0>; 79 pinctrl-0 = <&pinctrl_spi0>;
85 status = "disabled"; 80 status = "disabled";
@@ -156,7 +151,7 @@
156 }; 151 };
157 152
158 macb0: ethernet@f0028000 { 153 macb0: ethernet@f0028000 {
159 compatible = "cnds,pc302-gem", "cdns,gem"; 154 compatible = "cdns,pc302-gem", "cdns,gem";
160 reg = <0xf0028000 0x100>; 155 reg = <0xf0028000 0x100>;
161 interrupts = <34 4 3>; 156 interrupts = <34 4 3>;
162 pinctrl-names = "default"; 157 pinctrl-names = "default";
@@ -203,11 +198,6 @@
203 compatible = "atmel,at91sam9x5-spi"; 198 compatible = "atmel,at91sam9x5-spi";
204 reg = <0xf8008000 0x100>; 199 reg = <0xf8008000 0x100>;
205 interrupts = <25 4 3>; 200 interrupts = <25 4 3>;
206 cs-gpios = <&pioC 25 0
207 &pioC 26 0 /* conflitcs with TWD1 and ISI_D11 */
208 &pioC 27 0 /* conflitcs with TWCK1 and ISI_D10 */
209 &pioC 28 0 /* conflitcs with PWMFI0 and ISI_D9 */
210 >;
211 pinctrl-names = "default"; 201 pinctrl-names = "default";
212 pinctrl-0 = <&pinctrl_spi1>; 202 pinctrl-0 = <&pinctrl_spi1>;
213 status = "disabled"; 203 status = "disabled";
diff --git a/arch/arm/boot/dts/sama5d3xcm.dtsi b/arch/arm/boot/dts/sama5d3xcm.dtsi
index 1f8ed404626c..b336e7787cb3 100644
--- a/arch/arm/boot/dts/sama5d3xcm.dtsi
+++ b/arch/arm/boot/dts/sama5d3xcm.dtsi
@@ -32,6 +32,10 @@
32 32
33 ahb { 33 ahb {
34 apb { 34 apb {
35 spi0: spi@f0004000 {
36 cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
37 };
38
35 macb0: ethernet@f0028000 { 39 macb0: ethernet@f0028000 {
36 phy-mode = "rgmii"; 40 phy-mode = "rgmii";
37 }; 41 };
diff --git a/arch/arm/boot/dts/ste-nomadik-s8815.dts b/arch/arm/boot/dts/ste-nomadik-s8815.dts
index b28fbf3408e3..6f82d9368948 100644
--- a/arch/arm/boot/dts/ste-nomadik-s8815.dts
+++ b/arch/arm/boot/dts/ste-nomadik-s8815.dts
@@ -14,13 +14,19 @@
14 bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; 14 bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
15 }; 15 };
16 16
17 /* This is where the interrupt is routed on the S8815 board */
18 external-bus@34000000 {
19 ethernet@300 {
20 interrupt-parent = <&gpio3>;
21 interrupts = <8 0x1>;
22 };
23 };
24
17 /* Custom board node with GPIO pins to active etc */ 25 /* Custom board node with GPIO pins to active etc */
18 usb-s8815 { 26 usb-s8815 {
19 /* The S8815 is using this very GPIO pin for the SMSC91x IRQs */ 27 /* The S8815 is using this very GPIO pin for the SMSC91x IRQs */
20 ethernet-gpio { 28 ethernet-gpio {
21 gpios = <&gpio3 19 0x1>; 29 gpios = <&gpio3 8 0x1>;
22 interrupts = <19 0x1>;
23 interrupt-parent = <&gpio3>;
24 }; 30 };
25 /* This will bias the MMC/SD card detect line */ 31 /* This will bias the MMC/SD card detect line */
26 mmcsd-gpio { 32 mmcsd-gpio {
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
index 4a7c35d6726a..078ed7f618d7 100644
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
@@ -22,8 +22,8 @@
22 bootargs = "earlyprintk console=ttyS0,115200"; 22 bootargs = "earlyprintk console=ttyS0,115200";
23 }; 23 };
24 24
25 soc { 25 soc@01c20000 {
26 uart0: uart@01c28000 { 26 uart0: serial@01c28000 {
27 pinctrl-names = "default"; 27 pinctrl-names = "default";
28 pinctrl-0 = <&uart0_pins_a>; 28 pinctrl-0 = <&uart0_pins_a>;
29 status = "okay"; 29 status = "okay";
diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index e40b435d204e..227abf9cc601 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -1,4 +1,4 @@
1CONFIG_EXPERIMENTAL=y 1CONFIG_SYSVIPC=y
2CONFIG_NO_HZ=y 2CONFIG_NO_HZ=y
3CONFIG_HIGH_RES_TIMERS=y 3CONFIG_HIGH_RES_TIMERS=y
4CONFIG_BLK_DEV_INITRD=y 4CONFIG_BLK_DEV_INITRD=y
@@ -7,17 +7,18 @@ CONFIG_MODULES=y
7CONFIG_MODULE_UNLOAD=y 7CONFIG_MODULE_UNLOAD=y
8# CONFIG_BLK_DEV_BSG is not set 8# CONFIG_BLK_DEV_BSG is not set
9CONFIG_PARTITION_ADVANCED=y 9CONFIG_PARTITION_ADVANCED=y
10CONFIG_EFI_PARTITION=y
11CONFIG_ARCH_EXYNOS=y 10CONFIG_ARCH_EXYNOS=y
12CONFIG_S3C_LOWLEVEL_UART_PORT=1 11CONFIG_S3C_LOWLEVEL_UART_PORT=3
13CONFIG_S3C24XX_PWM=y 12CONFIG_S3C24XX_PWM=y
14CONFIG_ARCH_EXYNOS5=y 13CONFIG_ARCH_EXYNOS5=y
15CONFIG_MACH_EXYNOS4_DT=y 14CONFIG_MACH_EXYNOS4_DT=y
16CONFIG_MACH_EXYNOS5_DT=y
17CONFIG_SMP=y 15CONFIG_SMP=y
18CONFIG_NR_CPUS=2 16CONFIG_NR_CPUS=2
19CONFIG_PREEMPT=y 17CONFIG_PREEMPT=y
20CONFIG_AEABI=y 18CONFIG_AEABI=y
19CONFIG_HIGHMEM=y
20CONFIG_ZBOOT_ROM_TEXT=0x0
21CONFIG_ZBOOT_ROM_BSS=0x0
21CONFIG_ARM_APPENDED_DTB=y 22CONFIG_ARM_APPENDED_DTB=y
22CONFIG_ARM_ATAG_DTB_COMPAT=y 23CONFIG_ARM_ATAG_DTB_COMPAT=y
23CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M" 24CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M"
@@ -30,35 +31,58 @@ CONFIG_NET_KEY=y
30CONFIG_INET=y 31CONFIG_INET=y
31CONFIG_RFKILL_REGULATOR=y 32CONFIG_RFKILL_REGULATOR=y
32CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 33CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
34CONFIG_DEVTMPFS=y
35CONFIG_DEVTMPFS_MOUNT=y
33CONFIG_PROC_DEVICETREE=y 36CONFIG_PROC_DEVICETREE=y
34CONFIG_BLK_DEV_LOOP=y 37CONFIG_BLK_DEV_LOOP=y
38CONFIG_BLK_DEV_CRYPTOLOOP=y
35CONFIG_BLK_DEV_RAM=y 39CONFIG_BLK_DEV_RAM=y
36CONFIG_BLK_DEV_RAM_SIZE=8192 40CONFIG_BLK_DEV_RAM_SIZE=8192
37CONFIG_SCSI=y 41CONFIG_SCSI=y
38CONFIG_BLK_DEV_SD=y 42CONFIG_BLK_DEV_SD=y
39CONFIG_CHR_DEV_SG=y 43CONFIG_CHR_DEV_SG=y
44CONFIG_MD=y
45CONFIG_BLK_DEV_DM=y
46CONFIG_DM_CRYPT=m
40CONFIG_NETDEVICES=y 47CONFIG_NETDEVICES=y
41CONFIG_SMSC911X=y 48CONFIG_SMSC911X=y
42CONFIG_USB_USBNET=y 49CONFIG_USB_USBNET=y
43CONFIG_USB_NET_SMSC75XX=y 50CONFIG_USB_NET_SMSC75XX=y
44CONFIG_USB_NET_SMSC95XX=y 51CONFIG_USB_NET_SMSC95XX=y
45CONFIG_INPUT_EVDEV=y 52CONFIG_INPUT_EVDEV=y
46# CONFIG_INPUT_KEYBOARD is not set 53CONFIG_KEYBOARD_CROS_EC=y
47# CONFIG_INPUT_MOUSE is not set 54# CONFIG_MOUSE_PS2 is not set
55CONFIG_MOUSE_CYAPA=y
48CONFIG_INPUT_TOUCHSCREEN=y 56CONFIG_INPUT_TOUCHSCREEN=y
49CONFIG_SERIAL_8250=y 57CONFIG_SERIAL_8250=y
50CONFIG_SERIAL_SAMSUNG=y 58CONFIG_SERIAL_SAMSUNG=y
51CONFIG_SERIAL_SAMSUNG_CONSOLE=y 59CONFIG_SERIAL_SAMSUNG_CONSOLE=y
52CONFIG_SERIAL_OF_PLATFORM=y 60CONFIG_SERIAL_OF_PLATFORM=y
53CONFIG_HW_RANDOM=y 61CONFIG_HW_RANDOM=y
62CONFIG_TCG_TPM=y
63CONFIG_TCG_TIS_I2C_INFINEON=y
54CONFIG_I2C=y 64CONFIG_I2C=y
65CONFIG_I2C_MUX=y
66CONFIG_I2C_ARB_GPIO_CHALLENGE=y
67CONFIG_I2C_S3C2410=y
68CONFIG_DEBUG_GPIO=y
55# CONFIG_HWMON is not set 69# CONFIG_HWMON is not set
70CONFIG_MFD_CROS_EC=y
71CONFIG_MFD_CROS_EC_I2C=y
72CONFIG_MFD_MAX77686=y
73CONFIG_MFD_MAX8997=y
74CONFIG_MFD_SEC_CORE=y
56CONFIG_MFD_TPS65090=y 75CONFIG_MFD_TPS65090=y
57CONFIG_REGULATOR=y 76CONFIG_REGULATOR=y
58CONFIG_REGULATOR_FIXED_VOLTAGE=y 77CONFIG_REGULATOR_FIXED_VOLTAGE=y
59CONFIG_REGULATOR_GPIO=y 78CONFIG_REGULATOR_GPIO=y
79CONFIG_REGULATOR_MAX8997=y
80CONFIG_REGULATOR_MAX77686=y
81CONFIG_REGULATOR_S5M8767=y
60CONFIG_REGULATOR_TPS65090=y 82CONFIG_REGULATOR_TPS65090=y
61CONFIG_FB=y 83CONFIG_FB=y
84CONFIG_FB_MODE_HELPERS=y
85CONFIG_FB_SIMPLE=y
62CONFIG_EXYNOS_VIDEO=y 86CONFIG_EXYNOS_VIDEO=y
63CONFIG_EXYNOS_MIPI_DSI=y 87CONFIG_EXYNOS_MIPI_DSI=y
64CONFIG_EXYNOS_DP=y 88CONFIG_EXYNOS_DP=y
@@ -67,6 +91,20 @@ CONFIG_FONTS=y
67CONFIG_FONT_7x14=y 91CONFIG_FONT_7x14=y
68CONFIG_LOGO=y 92CONFIG_LOGO=y
69CONFIG_USB=y 93CONFIG_USB=y
94CONFIG_USB_EHCI_HCD=y
95CONFIG_USB_EHCI_S5P=y
96CONFIG_USB_STORAGE=y
97CONFIG_USB_DWC3=y
98CONFIG_USB_PHY=y
99CONFIG_SAMSUNG_USB2PHY=y
100CONFIG_SAMSUNG_USB3PHY=y
101CONFIG_MMC=y
102CONFIG_MMC_SDHCI=y
103CONFIG_MMC_SDHCI_S3C=y
104CONFIG_MMC_DW=y
105CONFIG_MMC_DW_IDMAC=y
106CONFIG_MMC_DW_EXYNOS=y
107CONFIG_COMMON_CLK_MAX77686=y
70CONFIG_EXT2_FS=y 108CONFIG_EXT2_FS=y
71CONFIG_EXT3_FS=y 109CONFIG_EXT3_FS=y
72CONFIG_EXT4_FS=y 110CONFIG_EXT4_FS=y
@@ -79,6 +117,7 @@ CONFIG_ROMFS_FS=y
79CONFIG_NLS_CODEPAGE_437=y 117CONFIG_NLS_CODEPAGE_437=y
80CONFIG_NLS_ASCII=y 118CONFIG_NLS_ASCII=y
81CONFIG_NLS_ISO8859_1=y 119CONFIG_NLS_ISO8859_1=y
120CONFIG_PRINTK_TIME=y
82CONFIG_MAGIC_SYSRQ=y 121CONFIG_MAGIC_SYSRQ=y
83CONFIG_DEBUG_KERNEL=y 122CONFIG_DEBUG_KERNEL=y
84CONFIG_DETECT_HUNG_TASK=y 123CONFIG_DETECT_HUNG_TASK=y
@@ -87,6 +126,5 @@ CONFIG_DEBUG_SPINLOCK=y
87CONFIG_DEBUG_MUTEXES=y 126CONFIG_DEBUG_MUTEXES=y
88CONFIG_DEBUG_INFO=y 127CONFIG_DEBUG_INFO=y
89CONFIG_DEBUG_USER=y 128CONFIG_DEBUG_USER=y
90CONFIG_DEBUG_LL=y 129CONFIG_CRYPTO_SHA256=y
91CONFIG_EARLY_PRINTK=y
92CONFIG_CRC_CCITT=y 130CONFIG_CRC_CCITT=y
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index 435d69b83e32..abbe31937c65 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -20,6 +20,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y
20CONFIG_MODVERSIONS=y 20CONFIG_MODVERSIONS=y
21CONFIG_MODULE_SRCVERSION_ALL=y 21CONFIG_MODULE_SRCVERSION_ALL=y
22# CONFIG_BLK_DEV_BSG is not set 22# CONFIG_BLK_DEV_BSG is not set
23CONFIG_ARCH_MULTI_V6=y
23CONFIG_ARCH_OMAP2PLUS=y 24CONFIG_ARCH_OMAP2PLUS=y
24CONFIG_OMAP_RESET_CLOCKS=y 25CONFIG_OMAP_RESET_CLOCKS=y
25CONFIG_OMAP_MUX_DEBUG=y 26CONFIG_OMAP_MUX_DEBUG=y
diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig
index a5f0485133cf..f7ba316164d4 100644
--- a/arch/arm/configs/tegra_defconfig
+++ b/arch/arm/configs/tegra_defconfig
@@ -153,6 +153,7 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y
153CONFIG_MEDIA_USB_SUPPORT=y 153CONFIG_MEDIA_USB_SUPPORT=y
154CONFIG_USB_VIDEO_CLASS=m 154CONFIG_USB_VIDEO_CLASS=m
155CONFIG_DRM=y 155CONFIG_DRM=y
156CONFIG_TEGRA_HOST1X=y
156CONFIG_DRM_TEGRA=y 157CONFIG_DRM_TEGRA=y
157CONFIG_BACKLIGHT_LCD_SUPPORT=y 158CONFIG_BACKLIGHT_LCD_SUPPORT=y
158# CONFIG_LCD_CLASS_DEVICE is not set 159# CONFIG_LCD_CLASS_DEVICE is not set
@@ -202,7 +203,7 @@ CONFIG_TEGRA20_APB_DMA=y
202CONFIG_STAGING=y 203CONFIG_STAGING=y
203CONFIG_SENSORS_ISL29018=y 204CONFIG_SENSORS_ISL29018=y
204CONFIG_SENSORS_ISL29028=y 205CONFIG_SENSORS_ISL29028=y
205CONFIG_SENSORS_AK8975=y 206CONFIG_AK8975=y
206CONFIG_MFD_NVEC=y 207CONFIG_MFD_NVEC=y
207CONFIG_KEYBOARD_NVEC=y 208CONFIG_KEYBOARD_NVEC=y
208CONFIG_SERIO_NVEC_PS2=y 209CONFIG_SERIO_NVEC_PS2=y
diff --git a/arch/arm/crypto/sha1-armv4-large.S b/arch/arm/crypto/sha1-armv4-large.S
index 92c6eed7aac9..99207c45ec10 100644
--- a/arch/arm/crypto/sha1-armv4-large.S
+++ b/arch/arm/crypto/sha1-armv4-large.S
@@ -195,6 +195,7 @@ ENTRY(sha1_block_data_order)
195 add r3,r3,r10 @ E+=F_00_19(B,C,D) 195 add r3,r3,r10 @ E+=F_00_19(B,C,D)
196 cmp r14,sp 196 cmp r14,sp
197 bne .L_00_15 @ [((11+4)*5+2)*3] 197 bne .L_00_15 @ [((11+4)*5+2)*3]
198 sub sp,sp,#25*4
198#if __ARM_ARCH__<7 199#if __ARM_ARCH__<7
199 ldrb r10,[r1,#2] 200 ldrb r10,[r1,#2]
200 ldrb r9,[r1,#3] 201 ldrb r9,[r1,#3]
@@ -290,7 +291,6 @@ ENTRY(sha1_block_data_order)
290 add r3,r3,r10 @ E+=F_00_19(B,C,D) 291 add r3,r3,r10 @ E+=F_00_19(B,C,D)
291 292
292 ldr r8,.LK_20_39 @ [+15+16*4] 293 ldr r8,.LK_20_39 @ [+15+16*4]
293 sub sp,sp,#25*4
294 cmn sp,#0 @ [+3], clear carry to denote 20_39 294 cmn sp,#0 @ [+3], clear carry to denote 20_39
295.L_20_39_or_60_79: 295.L_20_39_or_60_79:
296 ldr r9,[r14,#15*4] 296 ldr r9,[r14,#15*4]
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
index bff71388e72a..17d0ae8672fa 100644
--- a/arch/arm/include/asm/cacheflush.h
+++ b/arch/arm/include/asm/cacheflush.h
@@ -320,9 +320,7 @@ static inline void flush_anon_page(struct vm_area_struct *vma,
320} 320}
321 321
322#define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE 322#define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE
323static inline void flush_kernel_dcache_page(struct page *page) 323extern void flush_kernel_dcache_page(struct page *);
324{
325}
326 324
327#define flush_dcache_mmap_lock(mapping) \ 325#define flush_dcache_mmap_lock(mapping) \
328 spin_lock_irq(&(mapping)->tree_lock) 326 spin_lock_irq(&(mapping)->tree_lock)
diff --git a/arch/arm/include/asm/percpu.h b/arch/arm/include/asm/percpu.h
index 968c0a14e0a3..209e6504922e 100644
--- a/arch/arm/include/asm/percpu.h
+++ b/arch/arm/include/asm/percpu.h
@@ -30,8 +30,15 @@ static inline void set_my_cpu_offset(unsigned long off)
30static inline unsigned long __my_cpu_offset(void) 30static inline unsigned long __my_cpu_offset(void)
31{ 31{
32 unsigned long off; 32 unsigned long off;
33 /* Read TPIDRPRW */ 33 register unsigned long *sp asm ("sp");
34 asm("mrc p15, 0, %0, c13, c0, 4" : "=r" (off) : : "memory"); 34
35 /*
36 * Read TPIDRPRW.
37 * We want to allow caching the value, so avoid using volatile and
38 * instead use a fake stack read to hazard against barrier().
39 */
40 asm("mrc p15, 0, %0, c13, c0, 4" : "=r" (off) : "Q" (*sp));
41
35 return off; 42 return off;
36} 43}
37#define __my_cpu_offset __my_cpu_offset() 44#define __my_cpu_offset __my_cpu_offset()
diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm/tlb.h
index 99a19512ee26..bdf2b8458ec1 100644
--- a/arch/arm/include/asm/tlb.h
+++ b/arch/arm/include/asm/tlb.h
@@ -33,18 +33,6 @@
33#include <asm/pgalloc.h> 33#include <asm/pgalloc.h>
34#include <asm/tlbflush.h> 34#include <asm/tlbflush.h>
35 35
36/*
37 * We need to delay page freeing for SMP as other CPUs can access pages
38 * which have been removed but not yet had their TLB entries invalidated.
39 * Also, as ARMv7 speculative prefetch can drag new entries into the TLB,
40 * we need to apply this same delaying tactic to ensure correct operation.
41 */
42#if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7)
43#define tlb_fast_mode(tlb) 0
44#else
45#define tlb_fast_mode(tlb) 1
46#endif
47
48#define MMU_GATHER_BUNDLE 8 36#define MMU_GATHER_BUNDLE 8
49 37
50/* 38/*
@@ -112,12 +100,10 @@ static inline void __tlb_alloc_page(struct mmu_gather *tlb)
112static inline void tlb_flush_mmu(struct mmu_gather *tlb) 100static inline void tlb_flush_mmu(struct mmu_gather *tlb)
113{ 101{
114 tlb_flush(tlb); 102 tlb_flush(tlb);
115 if (!tlb_fast_mode(tlb)) { 103 free_pages_and_swap_cache(tlb->pages, tlb->nr);
116 free_pages_and_swap_cache(tlb->pages, tlb->nr); 104 tlb->nr = 0;
117 tlb->nr = 0; 105 if (tlb->pages == tlb->local)
118 if (tlb->pages == tlb->local) 106 __tlb_alloc_page(tlb);
119 __tlb_alloc_page(tlb);
120 }
121} 107}
122 108
123static inline void 109static inline void
@@ -178,11 +164,6 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
178 164
179static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page) 165static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
180{ 166{
181 if (tlb_fast_mode(tlb)) {
182 free_page_and_swap_cache(page);
183 return 1; /* avoid calling tlb_flush_mmu */
184 }
185
186 tlb->pages[tlb->nr++] = page; 167 tlb->pages[tlb->nr++] = page;
187 VM_BUG_ON(tlb->nr > tlb->max); 168 VM_BUG_ON(tlb->nr > tlb->max);
188 return tlb->max - tlb->nr; 169 return tlb->max - tlb->nr;
diff --git a/arch/arm/include/debug/ux500.S b/arch/arm/include/debug/ux500.S
index 2848857f5b62..fbd24beeb1fa 100644
--- a/arch/arm/include/debug/ux500.S
+++ b/arch/arm/include/debug/ux500.S
@@ -24,9 +24,9 @@
24#define U8500_UART0_PHYS_BASE (0x80120000) 24#define U8500_UART0_PHYS_BASE (0x80120000)
25#define U8500_UART1_PHYS_BASE (0x80121000) 25#define U8500_UART1_PHYS_BASE (0x80121000)
26#define U8500_UART2_PHYS_BASE (0x80007000) 26#define U8500_UART2_PHYS_BASE (0x80007000)
27#define U8500_UART0_VIRT_BASE (0xa8120000) 27#define U8500_UART0_VIRT_BASE (0xf8120000)
28#define U8500_UART1_VIRT_BASE (0xa8121000) 28#define U8500_UART1_VIRT_BASE (0xf8121000)
29#define U8500_UART2_VIRT_BASE (0xa8007000) 29#define U8500_UART2_VIRT_BASE (0xf8007000)
30#define __UX500_PHYS_UART(n) U8500_UART##n##_PHYS_BASE 30#define __UX500_PHYS_UART(n) U8500_UART##n##_PHYS_BASE
31#define __UX500_VIRT_UART(n) U8500_UART##n##_VIRT_BASE 31#define __UX500_VIRT_UART(n) U8500_UART##n##_VIRT_BASE
32#endif 32#endif
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
index 8ef8c9337809..4fb074c446bf 100644
--- a/arch/arm/kernel/machine_kexec.c
+++ b/arch/arm/kernel/machine_kexec.c
@@ -134,6 +134,10 @@ void machine_kexec(struct kimage *image)
134 unsigned long reboot_code_buffer_phys; 134 unsigned long reboot_code_buffer_phys;
135 void *reboot_code_buffer; 135 void *reboot_code_buffer;
136 136
137 if (num_online_cpus() > 1) {
138 pr_err("kexec: error: multiple CPUs still online\n");
139 return;
140 }
137 141
138 page_list = image->head & PAGE_MASK; 142 page_list = image->head & PAGE_MASK;
139 143
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index f21970316836..6e8931ccf13e 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -184,30 +184,61 @@ int __init reboot_setup(char *str)
184 184
185__setup("reboot=", reboot_setup); 185__setup("reboot=", reboot_setup);
186 186
187/*
188 * Called by kexec, immediately prior to machine_kexec().
189 *
190 * This must completely disable all secondary CPUs; simply causing those CPUs
191 * to execute e.g. a RAM-based pin loop is not sufficient. This allows the
192 * kexec'd kernel to use any and all RAM as it sees fit, without having to
193 * avoid any code or data used by any SW CPU pin loop. The CPU hotplug
194 * functionality embodied in disable_nonboot_cpus() to achieve this.
195 */
187void machine_shutdown(void) 196void machine_shutdown(void)
188{ 197{
189#ifdef CONFIG_SMP 198 disable_nonboot_cpus();
190 smp_send_stop();
191#endif
192} 199}
193 200
201/*
202 * Halting simply requires that the secondary CPUs stop performing any
203 * activity (executing tasks, handling interrupts). smp_send_stop()
204 * achieves this.
205 */
194void machine_halt(void) 206void machine_halt(void)
195{ 207{
196 machine_shutdown(); 208 smp_send_stop();
209
197 local_irq_disable(); 210 local_irq_disable();
198 while (1); 211 while (1);
199} 212}
200 213
214/*
215 * Power-off simply requires that the secondary CPUs stop performing any
216 * activity (executing tasks, handling interrupts). smp_send_stop()
217 * achieves this. When the system power is turned off, it will take all CPUs
218 * with it.
219 */
201void machine_power_off(void) 220void machine_power_off(void)
202{ 221{
203 machine_shutdown(); 222 smp_send_stop();
223
204 if (pm_power_off) 224 if (pm_power_off)
205 pm_power_off(); 225 pm_power_off();
206} 226}
207 227
228/*
229 * Restart requires that the secondary CPUs stop performing any activity
230 * while the primary CPU resets the system. Systems with a single CPU can
231 * use soft_restart() as their machine descriptor's .restart hook, since that
232 * will cause the only available CPU to reset. Systems with multiple CPUs must
233 * provide a HW restart implementation, to ensure that all CPUs reset at once.
234 * This is required so that any code running after reset on the primary CPU
235 * doesn't have to co-ordinate with other CPUs to ensure they aren't still
236 * executing pre-reset code, and using RAM that the primary CPU's code wishes
237 * to use. Implementing such co-ordination would be essentially impossible.
238 */
208void machine_restart(char *cmd) 239void machine_restart(char *cmd)
209{ 240{
210 machine_shutdown(); 241 smp_send_stop();
211 242
212 arm_pm_restart(reboot_mode, cmd); 243 arm_pm_restart(reboot_mode, cmd);
213 244
@@ -411,7 +442,6 @@ static struct vm_area_struct gate_vma = {
411 .vm_start = 0xffff0000, 442 .vm_start = 0xffff0000,
412 .vm_end = 0xffff0000 + PAGE_SIZE, 443 .vm_end = 0xffff0000 + PAGE_SIZE,
413 .vm_flags = VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYEXEC, 444 .vm_flags = VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYEXEC,
414 .vm_mm = &init_mm,
415}; 445};
416 446
417static int __init gate_vma_init(void) 447static int __init gate_vma_init(void)
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 550d63cef68e..5919eb451bb9 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -651,17 +651,6 @@ void smp_send_reschedule(int cpu)
651 smp_cross_call(cpumask_of(cpu), IPI_RESCHEDULE); 651 smp_cross_call(cpumask_of(cpu), IPI_RESCHEDULE);
652} 652}
653 653
654#ifdef CONFIG_HOTPLUG_CPU
655static void smp_kill_cpus(cpumask_t *mask)
656{
657 unsigned int cpu;
658 for_each_cpu(cpu, mask)
659 platform_cpu_kill(cpu);
660}
661#else
662static void smp_kill_cpus(cpumask_t *mask) { }
663#endif
664
665void smp_send_stop(void) 654void smp_send_stop(void)
666{ 655{
667 unsigned long timeout; 656 unsigned long timeout;
@@ -679,8 +668,6 @@ void smp_send_stop(void)
679 668
680 if (num_online_cpus() > 1) 669 if (num_online_cpus() > 1)
681 pr_warning("SMP: failed to stop secondary CPUs\n"); 670 pr_warning("SMP: failed to stop secondary CPUs\n");
682
683 smp_kill_cpus(&mask);
684} 671}
685 672
686/* 673/*
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index f10316b4ecdc..c5a59546a256 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -13,6 +13,7 @@
13 13
14#include <linux/cpu.h> 14#include <linux/cpu.h>
15#include <linux/cpumask.h> 15#include <linux/cpumask.h>
16#include <linux/export.h>
16#include <linux/init.h> 17#include <linux/init.h>
17#include <linux/percpu.h> 18#include <linux/percpu.h>
18#include <linux/node.h> 19#include <linux/node.h>
@@ -200,6 +201,7 @@ static inline void update_cpu_power(unsigned int cpuid, unsigned int mpidr) {}
200 * cpu topology table 201 * cpu topology table
201 */ 202 */
202struct cputopo_arm cpu_topology[NR_CPUS]; 203struct cputopo_arm cpu_topology[NR_CPUS];
204EXPORT_SYMBOL_GPL(cpu_topology);
203 205
204const struct cpumask *cpu_coregroup_mask(int cpu) 206const struct cpumask *cpu_coregroup_mask(int cpu)
205{ 207{
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
index 37d216d814cd..ef1703b9587b 100644
--- a/arch/arm/kvm/arm.c
+++ b/arch/arm/kvm/arm.c
@@ -492,6 +492,11 @@ static void vcpu_pause(struct kvm_vcpu *vcpu)
492 wait_event_interruptible(*wq, !vcpu->arch.pause); 492 wait_event_interruptible(*wq, !vcpu->arch.pause);
493} 493}
494 494
495static int kvm_vcpu_initialized(struct kvm_vcpu *vcpu)
496{
497 return vcpu->arch.target >= 0;
498}
499
495/** 500/**
496 * kvm_arch_vcpu_ioctl_run - the main VCPU run function to execute guest code 501 * kvm_arch_vcpu_ioctl_run - the main VCPU run function to execute guest code
497 * @vcpu: The VCPU pointer 502 * @vcpu: The VCPU pointer
@@ -508,8 +513,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
508 int ret; 513 int ret;
509 sigset_t sigsaved; 514 sigset_t sigsaved;
510 515
511 /* Make sure they initialize the vcpu with KVM_ARM_VCPU_INIT */ 516 if (unlikely(!kvm_vcpu_initialized(vcpu)))
512 if (unlikely(vcpu->arch.target < 0))
513 return -ENOEXEC; 517 return -ENOEXEC;
514 518
515 ret = kvm_vcpu_first_run_init(vcpu); 519 ret = kvm_vcpu_first_run_init(vcpu);
@@ -710,6 +714,10 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
710 case KVM_SET_ONE_REG: 714 case KVM_SET_ONE_REG:
711 case KVM_GET_ONE_REG: { 715 case KVM_GET_ONE_REG: {
712 struct kvm_one_reg reg; 716 struct kvm_one_reg reg;
717
718 if (unlikely(!kvm_vcpu_initialized(vcpu)))
719 return -ENOEXEC;
720
713 if (copy_from_user(&reg, argp, sizeof(reg))) 721 if (copy_from_user(&reg, argp, sizeof(reg)))
714 return -EFAULT; 722 return -EFAULT;
715 if (ioctl == KVM_SET_ONE_REG) 723 if (ioctl == KVM_SET_ONE_REG)
@@ -722,6 +730,9 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
722 struct kvm_reg_list reg_list; 730 struct kvm_reg_list reg_list;
723 unsigned n; 731 unsigned n;
724 732
733 if (unlikely(!kvm_vcpu_initialized(vcpu)))
734 return -ENOEXEC;
735
725 if (copy_from_user(&reg_list, user_list, sizeof(reg_list))) 736 if (copy_from_user(&reg_list, user_list, sizeof(reg_list)))
726 return -EFAULT; 737 return -EFAULT;
727 n = reg_list.n; 738 n = reg_list.n;
diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c
index 965706578f13..84ba67b982c0 100644
--- a/arch/arm/kvm/mmu.c
+++ b/arch/arm/kvm/mmu.c
@@ -43,7 +43,14 @@ static phys_addr_t hyp_idmap_vector;
43 43
44static void kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) 44static void kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa)
45{ 45{
46 kvm_call_hyp(__kvm_tlb_flush_vmid_ipa, kvm, ipa); 46 /*
47 * This function also gets called when dealing with HYP page
48 * tables. As HYP doesn't have an associated struct kvm (and
49 * the HYP page tables are fairly static), we don't do
50 * anything there.
51 */
52 if (kvm)
53 kvm_call_hyp(__kvm_tlb_flush_vmid_ipa, kvm, ipa);
47} 54}
48 55
49static int mmu_topup_memory_cache(struct kvm_mmu_memory_cache *cache, 56static int mmu_topup_memory_cache(struct kvm_mmu_memory_cache *cache,
@@ -78,18 +85,20 @@ static void *mmu_memory_cache_alloc(struct kvm_mmu_memory_cache *mc)
78 return p; 85 return p;
79} 86}
80 87
81static void clear_pud_entry(pud_t *pud) 88static void clear_pud_entry(struct kvm *kvm, pud_t *pud, phys_addr_t addr)
82{ 89{
83 pmd_t *pmd_table = pmd_offset(pud, 0); 90 pmd_t *pmd_table = pmd_offset(pud, 0);
84 pud_clear(pud); 91 pud_clear(pud);
92 kvm_tlb_flush_vmid_ipa(kvm, addr);
85 pmd_free(NULL, pmd_table); 93 pmd_free(NULL, pmd_table);
86 put_page(virt_to_page(pud)); 94 put_page(virt_to_page(pud));
87} 95}
88 96
89static void clear_pmd_entry(pmd_t *pmd) 97static void clear_pmd_entry(struct kvm *kvm, pmd_t *pmd, phys_addr_t addr)
90{ 98{
91 pte_t *pte_table = pte_offset_kernel(pmd, 0); 99 pte_t *pte_table = pte_offset_kernel(pmd, 0);
92 pmd_clear(pmd); 100 pmd_clear(pmd);
101 kvm_tlb_flush_vmid_ipa(kvm, addr);
93 pte_free_kernel(NULL, pte_table); 102 pte_free_kernel(NULL, pte_table);
94 put_page(virt_to_page(pmd)); 103 put_page(virt_to_page(pmd));
95} 104}
@@ -100,11 +109,12 @@ static bool pmd_empty(pmd_t *pmd)
100 return page_count(pmd_page) == 1; 109 return page_count(pmd_page) == 1;
101} 110}
102 111
103static void clear_pte_entry(pte_t *pte) 112static void clear_pte_entry(struct kvm *kvm, pte_t *pte, phys_addr_t addr)
104{ 113{
105 if (pte_present(*pte)) { 114 if (pte_present(*pte)) {
106 kvm_set_pte(pte, __pte(0)); 115 kvm_set_pte(pte, __pte(0));
107 put_page(virt_to_page(pte)); 116 put_page(virt_to_page(pte));
117 kvm_tlb_flush_vmid_ipa(kvm, addr);
108 } 118 }
109} 119}
110 120
@@ -114,7 +124,8 @@ static bool pte_empty(pte_t *pte)
114 return page_count(pte_page) == 1; 124 return page_count(pte_page) == 1;
115} 125}
116 126
117static void unmap_range(pgd_t *pgdp, unsigned long long start, u64 size) 127static void unmap_range(struct kvm *kvm, pgd_t *pgdp,
128 unsigned long long start, u64 size)
118{ 129{
119 pgd_t *pgd; 130 pgd_t *pgd;
120 pud_t *pud; 131 pud_t *pud;
@@ -138,15 +149,15 @@ static void unmap_range(pgd_t *pgdp, unsigned long long start, u64 size)
138 } 149 }
139 150
140 pte = pte_offset_kernel(pmd, addr); 151 pte = pte_offset_kernel(pmd, addr);
141 clear_pte_entry(pte); 152 clear_pte_entry(kvm, pte, addr);
142 range = PAGE_SIZE; 153 range = PAGE_SIZE;
143 154
144 /* If we emptied the pte, walk back up the ladder */ 155 /* If we emptied the pte, walk back up the ladder */
145 if (pte_empty(pte)) { 156 if (pte_empty(pte)) {
146 clear_pmd_entry(pmd); 157 clear_pmd_entry(kvm, pmd, addr);
147 range = PMD_SIZE; 158 range = PMD_SIZE;
148 if (pmd_empty(pmd)) { 159 if (pmd_empty(pmd)) {
149 clear_pud_entry(pud); 160 clear_pud_entry(kvm, pud, addr);
150 range = PUD_SIZE; 161 range = PUD_SIZE;
151 } 162 }
152 } 163 }
@@ -165,14 +176,14 @@ void free_boot_hyp_pgd(void)
165 mutex_lock(&kvm_hyp_pgd_mutex); 176 mutex_lock(&kvm_hyp_pgd_mutex);
166 177
167 if (boot_hyp_pgd) { 178 if (boot_hyp_pgd) {
168 unmap_range(boot_hyp_pgd, hyp_idmap_start, PAGE_SIZE); 179 unmap_range(NULL, boot_hyp_pgd, hyp_idmap_start, PAGE_SIZE);
169 unmap_range(boot_hyp_pgd, TRAMPOLINE_VA, PAGE_SIZE); 180 unmap_range(NULL, boot_hyp_pgd, TRAMPOLINE_VA, PAGE_SIZE);
170 kfree(boot_hyp_pgd); 181 kfree(boot_hyp_pgd);
171 boot_hyp_pgd = NULL; 182 boot_hyp_pgd = NULL;
172 } 183 }
173 184
174 if (hyp_pgd) 185 if (hyp_pgd)
175 unmap_range(hyp_pgd, TRAMPOLINE_VA, PAGE_SIZE); 186 unmap_range(NULL, hyp_pgd, TRAMPOLINE_VA, PAGE_SIZE);
176 187
177 kfree(init_bounce_page); 188 kfree(init_bounce_page);
178 init_bounce_page = NULL; 189 init_bounce_page = NULL;
@@ -200,9 +211,10 @@ void free_hyp_pgds(void)
200 211
201 if (hyp_pgd) { 212 if (hyp_pgd) {
202 for (addr = PAGE_OFFSET; virt_addr_valid(addr); addr += PGDIR_SIZE) 213 for (addr = PAGE_OFFSET; virt_addr_valid(addr); addr += PGDIR_SIZE)
203 unmap_range(hyp_pgd, KERN_TO_HYP(addr), PGDIR_SIZE); 214 unmap_range(NULL, hyp_pgd, KERN_TO_HYP(addr), PGDIR_SIZE);
204 for (addr = VMALLOC_START; is_vmalloc_addr((void*)addr); addr += PGDIR_SIZE) 215 for (addr = VMALLOC_START; is_vmalloc_addr((void*)addr); addr += PGDIR_SIZE)
205 unmap_range(hyp_pgd, KERN_TO_HYP(addr), PGDIR_SIZE); 216 unmap_range(NULL, hyp_pgd, KERN_TO_HYP(addr), PGDIR_SIZE);
217
206 kfree(hyp_pgd); 218 kfree(hyp_pgd);
207 hyp_pgd = NULL; 219 hyp_pgd = NULL;
208 } 220 }
@@ -393,7 +405,7 @@ int kvm_alloc_stage2_pgd(struct kvm *kvm)
393 */ 405 */
394static void unmap_stage2_range(struct kvm *kvm, phys_addr_t start, u64 size) 406static void unmap_stage2_range(struct kvm *kvm, phys_addr_t start, u64 size)
395{ 407{
396 unmap_range(kvm->arch.pgd, start, size); 408 unmap_range(kvm, kvm->arch.pgd, start, size);
397} 409}
398 410
399/** 411/**
@@ -675,7 +687,6 @@ static void handle_hva_to_gpa(struct kvm *kvm,
675static void kvm_unmap_hva_handler(struct kvm *kvm, gpa_t gpa, void *data) 687static void kvm_unmap_hva_handler(struct kvm *kvm, gpa_t gpa, void *data)
676{ 688{
677 unmap_stage2_range(kvm, gpa, PAGE_SIZE); 689 unmap_stage2_range(kvm, gpa, PAGE_SIZE);
678 kvm_tlb_flush_vmid_ipa(kvm, gpa);
679} 690}
680 691
681int kvm_unmap_hva(struct kvm *kvm, unsigned long hva) 692int kvm_unmap_hva(struct kvm *kvm, unsigned long hva)
diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c
index 2acdff4c1dfe..180b3024bec3 100644
--- a/arch/arm/mach-at91/at91rm9200_time.c
+++ b/arch/arm/mach-at91/at91rm9200_time.c
@@ -174,6 +174,7 @@ clkevt32k_next_event(unsigned long delta, struct clock_event_device *dev)
174static struct clock_event_device clkevt = { 174static struct clock_event_device clkevt = {
175 .name = "at91_tick", 175 .name = "at91_tick",
176 .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, 176 .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
177 .shift = 32,
177 .rating = 150, 178 .rating = 150,
178 .set_next_event = clkevt32k_next_event, 179 .set_next_event = clkevt32k_next_event,
179 .set_mode = clkevt32k_mode, 180 .set_mode = clkevt32k_mode,
@@ -264,9 +265,11 @@ void __init at91rm9200_timer_init(void)
264 at91_st_write(AT91_ST_RTMR, 1); 265 at91_st_write(AT91_ST_RTMR, 1);
265 266
266 /* Setup timer clockevent, with minimum of two ticks (important!!) */ 267 /* Setup timer clockevent, with minimum of two ticks (important!!) */
268 clkevt.mult = div_sc(AT91_SLOW_CLOCK, NSEC_PER_SEC, clkevt.shift);
269 clkevt.max_delta_ns = clockevent_delta2ns(AT91_ST_ALMV, &clkevt);
270 clkevt.min_delta_ns = clockevent_delta2ns(2, &clkevt) + 1;
267 clkevt.cpumask = cpumask_of(0); 271 clkevt.cpumask = cpumask_of(0);
268 clockevents_config_and_register(&clkevt, AT91_SLOW_CLOCK, 272 clockevents_register_device(&clkevt);
269 2, AT91_ST_ALMV);
270 273
271 /* register clocksource */ 274 /* register clocksource */
272 clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK); 275 clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK);
diff --git a/arch/arm/mach-at91/at91sam9n12.c b/arch/arm/mach-at91/at91sam9n12.c
index 13cdbcd48f51..c7d670d11802 100644
--- a/arch/arm/mach-at91/at91sam9n12.c
+++ b/arch/arm/mach-at91/at91sam9n12.c
@@ -223,13 +223,7 @@ static void __init at91sam9n12_map_io(void)
223 at91_init_sram(0, AT91SAM9N12_SRAM_BASE, AT91SAM9N12_SRAM_SIZE); 223 at91_init_sram(0, AT91SAM9N12_SRAM_BASE, AT91SAM9N12_SRAM_SIZE);
224} 224}
225 225
226void __init at91sam9n12_initialize(void)
227{
228 at91_extern_irq = (1 << AT91SAM9N12_ID_IRQ0);
229}
230
231AT91_SOC_START(at91sam9n12) 226AT91_SOC_START(at91sam9n12)
232 .map_io = at91sam9n12_map_io, 227 .map_io = at91sam9n12_map_io,
233 .register_clocks = at91sam9n12_register_clocks, 228 .register_clocks = at91sam9n12_register_clocks,
234 .init = at91sam9n12_initialize,
235AT91_SOC_END 229AT91_SOC_END
diff --git a/arch/arm/mach-at91/include/mach/at91_pmc.h b/arch/arm/mach-at91/include/mach/at91_pmc.h
index 31df12029c4e..2bd7f51b0b82 100644
--- a/arch/arm/mach-at91/include/mach/at91_pmc.h
+++ b/arch/arm/mach-at91/include/mach/at91_pmc.h
@@ -179,9 +179,9 @@ extern void __iomem *at91_pmc_base;
179#define AT91_PMC_PCR_CMD (0x1 << 12) /* Command (read=0, write=1) */ 179#define AT91_PMC_PCR_CMD (0x1 << 12) /* Command (read=0, write=1) */
180#define AT91_PMC_PCR_DIV(n) ((n) << 16) /* Divisor Value */ 180#define AT91_PMC_PCR_DIV(n) ((n) << 16) /* Divisor Value */
181#define AT91_PMC_PCR_DIV0 0x0 /* Peripheral clock is MCK */ 181#define AT91_PMC_PCR_DIV0 0x0 /* Peripheral clock is MCK */
182#define AT91_PMC_PCR_DIV2 0x2 /* Peripheral clock is MCK/2 */ 182#define AT91_PMC_PCR_DIV2 0x1 /* Peripheral clock is MCK/2 */
183#define AT91_PMC_PCR_DIV4 0x4 /* Peripheral clock is MCK/4 */ 183#define AT91_PMC_PCR_DIV4 0x2 /* Peripheral clock is MCK/4 */
184#define AT91_PMC_PCR_DIV8 0x8 /* Peripheral clock is MCK/8 */ 184#define AT91_PMC_PCR_DIV8 0x3 /* Peripheral clock is MCK/8 */
185#define AT91_PMC_PCR_EN (0x1 << 28) /* Enable */ 185#define AT91_PMC_PCR_EN (0x1 << 28) /* Enable */
186 186
187#endif 187#endif
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index d19edff0ea6e..ff18fc2ea46f 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -250,6 +250,7 @@ config MACH_ARMLEX4210
250config MACH_UNIVERSAL_C210 250config MACH_UNIVERSAL_C210
251 bool "Mobile UNIVERSAL_C210 Board" 251 bool "Mobile UNIVERSAL_C210 Board"
252 select CLKSRC_MMIO 252 select CLKSRC_MMIO
253 select CLKSRC_SAMSUNG_PWM
253 select CPU_EXYNOS4210 254 select CPU_EXYNOS4210
254 select EXYNOS4_SETUP_FIMC 255 select EXYNOS4_SETUP_FIMC
255 select EXYNOS4_SETUP_FIMD0 256 select EXYNOS4_SETUP_FIMD0
@@ -281,7 +282,6 @@ config MACH_UNIVERSAL_C210
281 select S5P_DEV_TV 282 select S5P_DEV_TV
282 select S5P_GPIO_INT 283 select S5P_GPIO_INT
283 select S5P_SETUP_MIPIPHY 284 select S5P_SETUP_MIPIPHY
284 select SAMSUNG_HRT
285 help 285 help
286 Machine support for Samsung Mobile Universal S5PC210 Reference 286 Machine support for Samsung Mobile Universal S5PC210 Reference
287 Board. 287 Board.
@@ -410,6 +410,7 @@ config MACH_EXYNOS4_DT
410 depends on ARCH_EXYNOS4 410 depends on ARCH_EXYNOS4
411 select ARM_AMBA 411 select ARM_AMBA
412 select CLKSRC_OF 412 select CLKSRC_OF
413 select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
413 select CPU_EXYNOS4210 414 select CPU_EXYNOS4210
414 select KEYBOARD_SAMSUNG if INPUT_KEYBOARD 415 select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
415 select PINCTRL 416 select PINCTRL
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 745e304ad0de..f7e504b7874d 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -10,12 +10,14 @@
10 */ 10 */
11 11
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/bitops.h>
13#include <linux/interrupt.h> 14#include <linux/interrupt.h>
14#include <linux/irq.h> 15#include <linux/irq.h>
15#include <linux/irqchip.h> 16#include <linux/irqchip.h>
16#include <linux/io.h> 17#include <linux/io.h>
17#include <linux/device.h> 18#include <linux/device.h>
18#include <linux/gpio.h> 19#include <linux/gpio.h>
20#include <clocksource/samsung_pwm.h>
19#include <linux/sched.h> 21#include <linux/sched.h>
20#include <linux/serial_core.h> 22#include <linux/serial_core.h>
21#include <linux/of.h> 23#include <linux/of.h>
@@ -302,6 +304,13 @@ static struct map_desc exynos5440_iodesc0[] __initdata = {
302 }, 304 },
303}; 305};
304 306
307static struct samsung_pwm_variant exynos4_pwm_variant = {
308 .bits = 32,
309 .div_base = 0,
310 .has_tint_cstat = true,
311 .tclk_mask = 0,
312};
313
305void exynos4_restart(char mode, const char *cmd) 314void exynos4_restart(char mode, const char *cmd)
306{ 315{
307 __raw_writel(0x1, S5P_SWRESET); 316 __raw_writel(0x1, S5P_SWRESET);
@@ -317,9 +326,16 @@ void exynos5_restart(char mode, const char *cmd)
317 val = 0x1; 326 val = 0x1;
318 addr = EXYNOS_SWRESET; 327 addr = EXYNOS_SWRESET;
319 } else if (of_machine_is_compatible("samsung,exynos5440")) { 328 } else if (of_machine_is_compatible("samsung,exynos5440")) {
329 u32 status;
320 np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); 330 np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
331
332 addr = of_iomap(np, 0) + 0xbc;
333 status = __raw_readl(addr);
334
321 addr = of_iomap(np, 0) + 0xcc; 335 addr = of_iomap(np, 0) + 0xcc;
322 val = (0xfff << 20) | (0x1 << 16); 336 val = __raw_readl(addr);
337
338 val = (val & 0xffff0000) | (status & 0xffff);
323 } else { 339 } else {
324 pr_err("%s: cannot support non-DT\n", __func__); 340 pr_err("%s: cannot support non-DT\n", __func__);
325 return; 341 return;
@@ -370,6 +386,8 @@ int __init exynos_fdt_map_chipid(unsigned long node, const char *uname,
370 386
371void __init exynos_init_io(struct map_desc *mach_desc, int size) 387void __init exynos_init_io(struct map_desc *mach_desc, int size)
372{ 388{
389 debug_ll_io_init();
390
373#ifdef CONFIG_OF 391#ifdef CONFIG_OF
374 if (initial_boot_params) 392 if (initial_boot_params)
375 of_scan_flat_dt(exynos_fdt_map_chipid, NULL); 393 of_scan_flat_dt(exynos_fdt_map_chipid, NULL);
@@ -442,8 +460,20 @@ static void __init exynos5440_map_io(void)
442 iotable_init(exynos5440_iodesc0, ARRAY_SIZE(exynos5440_iodesc0)); 460 iotable_init(exynos5440_iodesc0, ARRAY_SIZE(exynos5440_iodesc0));
443} 461}
444 462
463void __init exynos_set_timer_source(u8 channels)
464{
465 exynos4_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1;
466 exynos4_pwm_variant.output_mask &= ~channels;
467}
468
445void __init exynos_init_time(void) 469void __init exynos_init_time(void)
446{ 470{
471 unsigned int timer_irqs[SAMSUNG_PWM_NUM] = {
472 EXYNOS4_IRQ_TIMER0_VIC, EXYNOS4_IRQ_TIMER1_VIC,
473 EXYNOS4_IRQ_TIMER2_VIC, EXYNOS4_IRQ_TIMER3_VIC,
474 EXYNOS4_IRQ_TIMER4_VIC,
475 };
476
447 if (of_have_populated_dt()) { 477 if (of_have_populated_dt()) {
448#ifdef CONFIG_OF 478#ifdef CONFIG_OF
449 of_clk_init(NULL); 479 of_clk_init(NULL);
@@ -455,7 +485,14 @@ void __init exynos_init_time(void)
455 exynos4_clk_init(NULL, !soc_is_exynos4210(), S5P_VA_CMU, readl(S5P_VA_CHIPID + 8) & 1); 485 exynos4_clk_init(NULL, !soc_is_exynos4210(), S5P_VA_CMU, readl(S5P_VA_CHIPID + 8) & 1);
456 exynos4_clk_register_fixed_ext(xxti_f, xusbxti_f); 486 exynos4_clk_register_fixed_ext(xxti_f, xusbxti_f);
457#endif 487#endif
458 mct_init(S5P_VA_SYSTIMER, EXYNOS4_IRQ_MCT_G0, EXYNOS4_IRQ_MCT_L0, EXYNOS4_IRQ_MCT_L1); 488#ifdef CONFIG_CLKSRC_SAMSUNG_PWM
489 if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_0)
490 samsung_pwm_clocksource_init(S3C_VA_TIMER,
491 timer_irqs, &exynos4_pwm_variant);
492 else
493#endif
494 mct_init(S5P_VA_SYSTIMER, EXYNOS4_IRQ_MCT_G0,
495 EXYNOS4_IRQ_MCT_L0, EXYNOS4_IRQ_MCT_L1);
459 } 496 }
460} 497}
461 498
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
index 60dd35cc01a6..11fc1e29819b 100644
--- a/arch/arm/mach-exynos/common.h
+++ b/arch/arm/mach-exynos/common.h
@@ -32,6 +32,8 @@ void exynos4_clk_register_fixed_ext(unsigned long, unsigned long);
32 32
33void exynos_firmware_init(void); 33void exynos_firmware_init(void);
34 34
35void exynos_set_timer_source(u8 channels);
36
35#ifdef CONFIG_PM_GENERIC_DOMAINS 37#ifdef CONFIG_PM_GENERIC_DOMAINS
36int exynos_pm_late_initcall(void); 38int exynos_pm_late_initcall(void);
37#else 39#else
diff --git a/arch/arm/mach-exynos/include/mach/pm-core.h b/arch/arm/mach-exynos/include/mach/pm-core.h
index 7dbbfec13ea5..296090e7f423 100644
--- a/arch/arm/mach-exynos/include/mach/pm-core.h
+++ b/arch/arm/mach-exynos/include/mach/pm-core.h
@@ -18,8 +18,15 @@
18#ifndef __ASM_ARCH_PM_CORE_H 18#ifndef __ASM_ARCH_PM_CORE_H
19#define __ASM_ARCH_PM_CORE_H __FILE__ 19#define __ASM_ARCH_PM_CORE_H __FILE__
20 20
21#include <linux/of.h>
21#include <mach/regs-pmu.h> 22#include <mach/regs-pmu.h>
22 23
24#ifdef CONFIG_PINCTRL_EXYNOS
25extern u32 exynos_get_eint_wake_mask(void);
26#else
27static inline u32 exynos_get_eint_wake_mask(void) { return 0xffffffff; }
28#endif
29
23static inline void s3c_pm_debug_init_uart(void) 30static inline void s3c_pm_debug_init_uart(void)
24{ 31{
25 /* nothing here yet */ 32 /* nothing here yet */
@@ -27,7 +34,12 @@ static inline void s3c_pm_debug_init_uart(void)
27 34
28static inline void s3c_pm_arch_prepare_irqs(void) 35static inline void s3c_pm_arch_prepare_irqs(void)
29{ 36{
30 __raw_writel(s3c_irqwake_eintmask, S5P_EINT_WAKEUP_MASK); 37 u32 eintmask = s3c_irqwake_eintmask;
38
39 if (of_have_populated_dt())
40 eintmask = exynos_get_eint_wake_mask();
41
42 __raw_writel(eintmask, S5P_EINT_WAKEUP_MASK);
31 __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK); 43 __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
32} 44}
33 45
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c
index 327d50d4681d..74ddb2b55614 100644
--- a/arch/arm/mach-exynos/mach-universal_c210.c
+++ b/arch/arm/mach-exynos/mach-universal_c210.c
@@ -41,7 +41,6 @@
41#include <plat/mfc.h> 41#include <plat/mfc.h>
42#include <plat/sdhci.h> 42#include <plat/sdhci.h>
43#include <plat/fimc-core.h> 43#include <plat/fimc-core.h>
44#include <plat/samsung-time.h>
45#include <plat/camport.h> 44#include <plat/camport.h>
46 45
47#include <mach/map.h> 46#include <mach/map.h>
@@ -1094,7 +1093,7 @@ static void __init universal_map_io(void)
1094{ 1093{
1095 exynos_init_io(NULL, 0); 1094 exynos_init_io(NULL, 0);
1096 s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs)); 1095 s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
1097 samsung_set_timer_source(SAMSUNG_PWM2, SAMSUNG_PWM4); 1096 exynos_set_timer_source(BIT(2) | BIT(4));
1098 xxti_f = 0; 1097 xxti_f = 0;
1099 xusbxti_f = 24000000; 1098 xusbxti_f = 24000000;
1100} 1099}
@@ -1154,7 +1153,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
1154 .map_io = universal_map_io, 1153 .map_io = universal_map_io,
1155 .init_machine = universal_machine_init, 1154 .init_machine = universal_machine_init,
1156 .init_late = exynos_init_late, 1155 .init_late = exynos_init_late,
1157 .init_time = samsung_timer_init, 1156 .init_time = exynos_init_time,
1158 .reserve = &universal_reserve, 1157 .reserve = &universal_reserve,
1159 .restart = exynos4_restart, 1158 .restart = exynos4_restart,
1160MACHINE_END 1159MACHINE_END
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
index 151259003086..4e3148ce852d 100644
--- a/arch/arm/mach-imx/clk-imx6q.c
+++ b/arch/arm/mach-imx/clk-imx6q.c
@@ -177,17 +177,18 @@ int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode)
177static const char *step_sels[] = { "osc", "pll2_pfd2_396m", }; 177static const char *step_sels[] = { "osc", "pll2_pfd2_396m", };
178static const char *pll1_sw_sels[] = { "pll1_sys", "step", }; 178static const char *pll1_sw_sels[] = { "pll1_sys", "step", };
179static const char *periph_pre_sels[] = { "pll2_bus", "pll2_pfd2_396m", "pll2_pfd0_352m", "pll2_198m", }; 179static const char *periph_pre_sels[] = { "pll2_bus", "pll2_pfd2_396m", "pll2_pfd0_352m", "pll2_198m", };
180static const char *periph_clk2_sels[] = { "pll3_usb_otg", "osc", }; 180static const char *periph_clk2_sels[] = { "pll3_usb_otg", "osc", "osc", "dummy", };
181static const char *periph2_clk2_sels[] = { "pll3_usb_otg", "pll2_bus", };
181static const char *periph_sels[] = { "periph_pre", "periph_clk2", }; 182static const char *periph_sels[] = { "periph_pre", "periph_clk2", };
182static const char *periph2_sels[] = { "periph2_pre", "periph2_clk2", }; 183static const char *periph2_sels[] = { "periph2_pre", "periph2_clk2", };
183static const char *axi_sels[] = { "periph", "pll2_pfd2_396m", "pll3_pfd1_540m", }; 184static const char *axi_sels[] = { "periph", "pll2_pfd2_396m", "periph", "pll3_pfd1_540m", };
184static const char *audio_sels[] = { "pll4_post_div", "pll3_pfd2_508m", "pll3_pfd3_454m", "pll3_usb_otg", }; 185static const char *audio_sels[] = { "pll4_post_div", "pll3_pfd2_508m", "pll3_pfd3_454m", "pll3_usb_otg", };
185static const char *gpu_axi_sels[] = { "axi", "ahb", }; 186static const char *gpu_axi_sels[] = { "axi", "ahb", };
186static const char *gpu2d_core_sels[] = { "axi", "pll3_usb_otg", "pll2_pfd0_352m", "pll2_pfd2_396m", }; 187static const char *gpu2d_core_sels[] = { "axi", "pll3_usb_otg", "pll2_pfd0_352m", "pll2_pfd2_396m", };
187static const char *gpu3d_core_sels[] = { "mmdc_ch0_axi", "pll3_usb_otg", "pll2_pfd1_594m", "pll2_pfd2_396m", }; 188static const char *gpu3d_core_sels[] = { "mmdc_ch0_axi", "pll3_usb_otg", "pll2_pfd1_594m", "pll2_pfd2_396m", };
188static const char *gpu3d_shader_sels[] = { "mmdc_ch0_axi", "pll3_usb_otg", "pll2_pfd1_594m", "pll2_pfd9_720m", }; 189static const char *gpu3d_shader_sels[] = { "mmdc_ch0_axi", "pll3_usb_otg", "pll2_pfd1_594m", "pll3_pfd0_720m", };
189static const char *ipu_sels[] = { "mmdc_ch0_axi", "pll2_pfd2_396m", "pll3_120m", "pll3_pfd1_540m", }; 190static const char *ipu_sels[] = { "mmdc_ch0_axi", "pll2_pfd2_396m", "pll3_120m", "pll3_pfd1_540m", };
190static const char *ldb_di_sels[] = { "pll5_video", "pll2_pfd0_352m", "pll2_pfd2_396m", "mmdc_ch1_axi", "pll3_usb_otg", }; 191static const char *ldb_di_sels[] = { "pll5_video_div", "pll2_pfd0_352m", "pll2_pfd2_396m", "mmdc_ch1_axi", "pll3_usb_otg", };
191static const char *ipu_di_pre_sels[] = { "mmdc_ch0_axi", "pll3_usb_otg", "pll5_video_div", "pll2_pfd0_352m", "pll2_pfd2_396m", "pll3_pfd1_540m", }; 192static const char *ipu_di_pre_sels[] = { "mmdc_ch0_axi", "pll3_usb_otg", "pll5_video_div", "pll2_pfd0_352m", "pll2_pfd2_396m", "pll3_pfd1_540m", };
192static const char *ipu1_di0_sels[] = { "ipu1_di0_pre", "dummy", "dummy", "ldb_di0", "ldb_di1", }; 193static const char *ipu1_di0_sels[] = { "ipu1_di0_pre", "dummy", "dummy", "ldb_di0", "ldb_di1", };
193static const char *ipu1_di1_sels[] = { "ipu1_di1_pre", "dummy", "dummy", "ldb_di0", "ldb_di1", }; 194static const char *ipu1_di1_sels[] = { "ipu1_di1_pre", "dummy", "dummy", "ldb_di0", "ldb_di1", };
@@ -369,8 +370,8 @@ int __init mx6q_clocks_init(void)
369 clk[pll1_sw] = imx_clk_mux("pll1_sw", base + 0xc, 2, 1, pll1_sw_sels, ARRAY_SIZE(pll1_sw_sels)); 370 clk[pll1_sw] = imx_clk_mux("pll1_sw", base + 0xc, 2, 1, pll1_sw_sels, ARRAY_SIZE(pll1_sw_sels));
370 clk[periph_pre] = imx_clk_mux("periph_pre", base + 0x18, 18, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels)); 371 clk[periph_pre] = imx_clk_mux("periph_pre", base + 0x18, 18, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels));
371 clk[periph2_pre] = imx_clk_mux("periph2_pre", base + 0x18, 21, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels)); 372 clk[periph2_pre] = imx_clk_mux("periph2_pre", base + 0x18, 21, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels));
372 clk[periph_clk2_sel] = imx_clk_mux("periph_clk2_sel", base + 0x18, 12, 1, periph_clk2_sels, ARRAY_SIZE(periph_clk2_sels)); 373 clk[periph_clk2_sel] = imx_clk_mux("periph_clk2_sel", base + 0x18, 12, 2, periph_clk2_sels, ARRAY_SIZE(periph_clk2_sels));
373 clk[periph2_clk2_sel] = imx_clk_mux("periph2_clk2_sel", base + 0x18, 20, 1, periph_clk2_sels, ARRAY_SIZE(periph_clk2_sels)); 374 clk[periph2_clk2_sel] = imx_clk_mux("periph2_clk2_sel", base + 0x18, 20, 1, periph2_clk2_sels, ARRAY_SIZE(periph2_clk2_sels));
374 clk[axi_sel] = imx_clk_mux("axi_sel", base + 0x14, 6, 2, axi_sels, ARRAY_SIZE(axi_sels)); 375 clk[axi_sel] = imx_clk_mux("axi_sel", base + 0x14, 6, 2, axi_sels, ARRAY_SIZE(axi_sels));
375 clk[esai_sel] = imx_clk_mux("esai_sel", base + 0x20, 19, 2, audio_sels, ARRAY_SIZE(audio_sels)); 376 clk[esai_sel] = imx_clk_mux("esai_sel", base + 0x20, 19, 2, audio_sels, ARRAY_SIZE(audio_sels));
376 clk[asrc_sel] = imx_clk_mux("asrc_sel", base + 0x30, 7, 2, audio_sels, ARRAY_SIZE(audio_sels)); 377 clk[asrc_sel] = imx_clk_mux("asrc_sel", base + 0x30, 7, 2, audio_sels, ARRAY_SIZE(audio_sels));
@@ -498,7 +499,7 @@ int __init mx6q_clocks_init(void)
498 clk[ldb_di1] = imx_clk_gate2("ldb_di1", "ldb_di1_podf", base + 0x74, 14); 499 clk[ldb_di1] = imx_clk_gate2("ldb_di1", "ldb_di1_podf", base + 0x74, 14);
499 clk[ipu2_di1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10); 500 clk[ipu2_di1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10);
500 clk[hsi_tx] = imx_clk_gate2("hsi_tx", "hsi_tx_podf", base + 0x74, 16); 501 clk[hsi_tx] = imx_clk_gate2("hsi_tx", "hsi_tx_podf", base + 0x74, 16);
501 clk[mlb] = imx_clk_gate2("mlb", "pll8_mlb", base + 0x74, 18); 502 clk[mlb] = imx_clk_gate2("mlb", "axi", base + 0x74, 18);
502 clk[mmdc_ch0_axi] = imx_clk_gate2("mmdc_ch0_axi", "mmdc_ch0_axi_podf", base + 0x74, 20); 503 clk[mmdc_ch0_axi] = imx_clk_gate2("mmdc_ch0_axi", "mmdc_ch0_axi_podf", base + 0x74, 20);
503 clk[mmdc_ch1_axi] = imx_clk_gate2("mmdc_ch1_axi", "mmdc_ch1_axi_podf", base + 0x74, 22); 504 clk[mmdc_ch1_axi] = imx_clk_gate2("mmdc_ch1_axi", "mmdc_ch1_axi_podf", base + 0x74, 22);
504 clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28); 505 clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28);
diff --git a/arch/arm/mach-imx/headsmp.S b/arch/arm/mach-imx/headsmp.S
index 67b9c48dcafe..627f16f0e9d1 100644
--- a/arch/arm/mach-imx/headsmp.S
+++ b/arch/arm/mach-imx/headsmp.S
@@ -18,8 +18,20 @@
18 .section ".text.head", "ax" 18 .section ".text.head", "ax"
19 19
20#ifdef CONFIG_SMP 20#ifdef CONFIG_SMP
21diag_reg_offset:
22 .word g_diag_reg - .
23
24 .macro set_diag_reg
25 adr r0, diag_reg_offset
26 ldr r1, [r0]
27 add r1, r1, r0 @ r1 = physical &g_diag_reg
28 ldr r0, [r1]
29 mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register
30 .endm
31
21ENTRY(v7_secondary_startup) 32ENTRY(v7_secondary_startup)
22 bl v7_invalidate_l1 33 bl v7_invalidate_l1
34 set_diag_reg
23 b secondary_startup 35 b secondary_startup
24ENDPROC(v7_secondary_startup) 36ENDPROC(v7_secondary_startup)
25#endif 37#endif
diff --git a/arch/arm/mach-imx/platsmp.c b/arch/arm/mach-imx/platsmp.c
index 4a69305db65e..c6e1ab544882 100644
--- a/arch/arm/mach-imx/platsmp.c
+++ b/arch/arm/mach-imx/platsmp.c
@@ -12,6 +12,7 @@
12 12
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/smp.h> 14#include <linux/smp.h>
15#include <asm/cacheflush.h>
15#include <asm/page.h> 16#include <asm/page.h>
16#include <asm/smp_scu.h> 17#include <asm/smp_scu.h>
17#include <asm/mach/map.h> 18#include <asm/mach/map.h>
@@ -21,6 +22,7 @@
21 22
22#define SCU_STANDBY_ENABLE (1 << 5) 23#define SCU_STANDBY_ENABLE (1 << 5)
23 24
25u32 g_diag_reg;
24static void __iomem *scu_base; 26static void __iomem *scu_base;
25 27
26static struct map_desc scu_io_desc __initdata = { 28static struct map_desc scu_io_desc __initdata = {
@@ -80,6 +82,18 @@ void imx_smp_prepare(void)
80static void __init imx_smp_prepare_cpus(unsigned int max_cpus) 82static void __init imx_smp_prepare_cpus(unsigned int max_cpus)
81{ 83{
82 imx_smp_prepare(); 84 imx_smp_prepare();
85
86 /*
87 * The diagnostic register holds the errata bits. Mostly bootloader
88 * does not bring up secondary cores, so that when errata bits are set
89 * in bootloader, they are set only for boot cpu. But on a SMP
90 * configuration, it should be equally done on every single core.
91 * Read the register from boot cpu here, and will replicate it into
92 * secondary cores when booting them.
93 */
94 asm("mrc p15, 0, %0, c15, c0, 1" : "=r" (g_diag_reg) : : "cc");
95 __cpuc_flush_dcache_area(&g_diag_reg, sizeof(g_diag_reg));
96 outer_clean_range(__pa(&g_diag_reg), __pa(&g_diag_reg + 1));
83} 97}
84 98
85struct smp_operations imx_smp_ops __initdata = { 99struct smp_operations imx_smp_ops __initdata = {
diff --git a/arch/arm/mach-kirkwood/board-ts219.c b/arch/arm/mach-kirkwood/board-ts219.c
index acb0187c7ee1..4695d5f35fc9 100644
--- a/arch/arm/mach-kirkwood/board-ts219.c
+++ b/arch/arm/mach-kirkwood/board-ts219.c
@@ -41,13 +41,3 @@ void __init qnap_dt_ts219_init(void)
41 41
42 pm_power_off = qnap_tsx1x_power_off; 42 pm_power_off = qnap_tsx1x_power_off;
43} 43}
44
45/* FIXME: Will not work with DT. Maybe use MPP40_GPIO? */
46static int __init ts219_pci_init(void)
47{
48 if (machine_is_ts219())
49 kirkwood_pcie_init(KW_PCIE0);
50
51 return 0;
52}
53subsys_initcall(ts219_pci_init);
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index c2cae69e6d2b..f38922897563 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -528,12 +528,6 @@ void __init kirkwood_init_early(void)
528{ 528{
529 orion_time_set_base(TIMER_VIRT_BASE); 529 orion_time_set_base(TIMER_VIRT_BASE);
530 530
531 /*
532 * Some Kirkwood devices allocate their coherent buffers from atomic
533 * context. Increase size of atomic coherent pool to make sure such
534 * the allocations won't fail.
535 */
536 init_dma_coherent_pool_size(SZ_1M);
537 mvebu_mbus_init("marvell,kirkwood-mbus", 531 mvebu_mbus_init("marvell,kirkwood-mbus",
538 BRIDGE_WINS_BASE, BRIDGE_WINS_SZ, 532 BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
539 DDR_WINDOW_CPU_BASE, DDR_WINDOW_CPU_SZ); 533 DDR_WINDOW_CPU_BASE, DDR_WINDOW_CPU_SZ);
diff --git a/arch/arm/mach-kirkwood/mpp.c b/arch/arm/mach-kirkwood/mpp.c
index 827cde42414f..e96fd71abd76 100644
--- a/arch/arm/mach-kirkwood/mpp.c
+++ b/arch/arm/mach-kirkwood/mpp.c
@@ -22,9 +22,10 @@ static unsigned int __init kirkwood_variant(void)
22 22
23 kirkwood_pcie_id(&dev, &rev); 23 kirkwood_pcie_id(&dev, &rev);
24 24
25 if ((dev == MV88F6281_DEV_ID && rev >= MV88F6281_REV_A0) || 25 if (dev == MV88F6281_DEV_ID && rev >= MV88F6281_REV_A0)
26 (dev == MV88F6282_DEV_ID))
27 return MPP_F6281_MASK; 26 return MPP_F6281_MASK;
27 if (dev == MV88F6282_DEV_ID)
28 return MPP_F6282_MASK;
28 if (dev == MV88F6192_DEV_ID && rev >= MV88F6192_REV_A0) 29 if (dev == MV88F6192_DEV_ID && rev >= MV88F6192_REV_A0)
29 return MPP_F6192_MASK; 30 return MPP_F6192_MASK;
30 if (dev == MV88F6180_DEV_ID) 31 if (dev == MV88F6180_DEV_ID)
diff --git a/arch/arm/mach-kirkwood/ts219-setup.c b/arch/arm/mach-kirkwood/ts219-setup.c
index 283abff90228..e1267d6b468f 100644
--- a/arch/arm/mach-kirkwood/ts219-setup.c
+++ b/arch/arm/mach-kirkwood/ts219-setup.c
@@ -124,7 +124,7 @@ static void __init qnap_ts219_init(void)
124static int __init ts219_pci_init(void) 124static int __init ts219_pci_init(void)
125{ 125{
126 if (machine_is_ts219()) 126 if (machine_is_ts219())
127 kirkwood_pcie_init(KW_PCIE0); 127 kirkwood_pcie_init(KW_PCIE1 | KW_PCIE0);
128 128
129 return 0; 129 return 0;
130} 130}
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index e11acbb0a46d..80a8bcacd9d5 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -15,6 +15,7 @@ config ARCH_MVEBU
15 select MVEBU_CLK_GATING 15 select MVEBU_CLK_GATING
16 select MVEBU_MBUS 16 select MVEBU_MBUS
17 select ZONE_DMA if ARM_LPAE 17 select ZONE_DMA if ARM_LPAE
18 select ARCH_REQUIRE_GPIOLIB
18 19
19if ARCH_MVEBU 20if ARCH_MVEBU
20 21
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index 42a4cb3087e2..1c48890bb72b 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -54,13 +54,6 @@ void __init armada_370_xp_init_early(void)
54 char *mbus_soc_name; 54 char *mbus_soc_name;
55 55
56 /* 56 /*
57 * Some Armada 370/XP devices allocate their coherent buffers
58 * from atomic context. Increase size of atomic coherent pool
59 * to make sure such the allocations won't fail.
60 */
61 init_dma_coherent_pool_size(SZ_1M);
62
63 /*
64 * This initialization will be replaced by a DT-based 57 * This initialization will be replaced by a DT-based
65 * initialization once the mvebu-mbus driver gains DT support. 58 * initialization once the mvebu-mbus driver gains DT support.
66 */ 59 */
diff --git a/arch/arm/mach-mvebu/coherency_ll.S b/arch/arm/mach-mvebu/coherency_ll.S
index 53e8391192cd..5476669ba905 100644
--- a/arch/arm/mach-mvebu/coherency_ll.S
+++ b/arch/arm/mach-mvebu/coherency_ll.S
@@ -32,15 +32,21 @@ ENTRY(ll_set_cpu_coherent)
32 32
33 /* Add CPU to SMP group - Atomic */ 33 /* Add CPU to SMP group - Atomic */
34 add r3, r0, #ARMADA_XP_CFB_CTL_REG_OFFSET 34 add r3, r0, #ARMADA_XP_CFB_CTL_REG_OFFSET
35 ldr r2, [r3] 351:
36 ldrex r2, [r3]
36 orr r2, r2, r1 37 orr r2, r2, r1
37 str r2, [r3] 38 strex r0, r2, [r3]
39 cmp r0, #0
40 bne 1b
38 41
39 /* Enable coherency on CPU - Atomic */ 42 /* Enable coherency on CPU - Atomic */
40 add r3, r0, #ARMADA_XP_CFB_CFG_REG_OFFSET 43 add r3, r3, #ARMADA_XP_CFB_CFG_REG_OFFSET
41 ldr r2, [r3] 441:
45 ldrex r2, [r3]
42 orr r2, r2, r1 46 orr r2, r2, r1
43 str r2, [r3] 47 strex r0, r2, [r3]
48 cmp r0, #0
49 bne 1b
44 50
45 dsb 51 dsb
46 52
diff --git a/arch/arm/mach-omap1/dma.c b/arch/arm/mach-omap1/dma.c
index 68ab858e27b7..a94b3a718d1a 100644
--- a/arch/arm/mach-omap1/dma.c
+++ b/arch/arm/mach-omap1/dma.c
@@ -345,6 +345,7 @@ static int __init omap1_system_dma_init(void)
345 dev_err(&pdev->dev, 345 dev_err(&pdev->dev,
346 "%s: Memory allocation failed for d->chan!\n", 346 "%s: Memory allocation failed for d->chan!\n",
347 __func__); 347 __func__);
348 ret = -ENOMEM;
348 goto exit_release_d; 349 goto exit_release_d;
349 } 350 }
350 351
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c
index 6ebc7803bc3e..af3544ce4f02 100644
--- a/arch/arm/mach-omap2/cclock33xx_data.c
+++ b/arch/arm/mach-omap2/cclock33xx_data.c
@@ -454,9 +454,29 @@ DEFINE_CLK_GATE(cefuse_fck, "sys_clkin_ck", &sys_clkin_ck, 0x0,
454 */ 454 */
455DEFINE_CLK_FIXED_FACTOR(clkdiv32k_ck, "clk_24mhz", &clk_24mhz, 0x0, 1, 732); 455DEFINE_CLK_FIXED_FACTOR(clkdiv32k_ck, "clk_24mhz", &clk_24mhz, 0x0, 1, 732);
456 456
457DEFINE_CLK_GATE(clkdiv32k_ick, "clkdiv32k_ck", &clkdiv32k_ck, 0x0, 457static struct clk clkdiv32k_ick;
458 AM33XX_CM_PER_CLKDIV32K_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT, 458
459 0x0, NULL); 459static const char *clkdiv32k_ick_parent_names[] = {
460 "clkdiv32k_ck",
461};
462
463static const struct clk_ops clkdiv32k_ick_ops = {
464 .enable = &omap2_dflt_clk_enable,
465 .disable = &omap2_dflt_clk_disable,
466 .is_enabled = &omap2_dflt_clk_is_enabled,
467 .init = &omap2_init_clk_clkdm,
468};
469
470static struct clk_hw_omap clkdiv32k_ick_hw = {
471 .hw = {
472 .clk = &clkdiv32k_ick,
473 },
474 .enable_reg = AM33XX_CM_PER_CLKDIV32K_CLKCTRL,
475 .enable_bit = AM33XX_MODULEMODE_SWCTRL_SHIFT,
476 .clkdm_name = "clk_24mhz_clkdm",
477};
478
479DEFINE_STRUCT_CLK(clkdiv32k_ick, clkdiv32k_ick_parent_names, clkdiv32k_ick_ops);
460 480
461/* "usbotg_fck" is an additional clock and not really a modulemode */ 481/* "usbotg_fck" is an additional clock and not really a modulemode */
462DEFINE_CLK_GATE(usbotg_fck, "dpll_per_ck", &dpll_per_ck, 0x0, 482DEFINE_CLK_GATE(usbotg_fck, "dpll_per_ck", &dpll_per_ck, 0x0,
diff --git a/arch/arm/mach-omap2/clock36xx.c b/arch/arm/mach-omap2/clock36xx.c
index 8f3bf4e50908..bbd6a3f717e6 100644
--- a/arch/arm/mach-omap2/clock36xx.c
+++ b/arch/arm/mach-omap2/clock36xx.c
@@ -20,11 +20,12 @@
20 20
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/clk.h> 22#include <linux/clk.h>
23#include <linux/clk-provider.h>
23#include <linux/io.h> 24#include <linux/io.h>
24 25
25#include "clock.h" 26#include "clock.h"
26#include "clock36xx.h" 27#include "clock36xx.h"
27 28#define to_clk_divider(_hw) container_of(_hw, struct clk_divider, hw)
28 29
29/** 30/**
30 * omap36xx_pwrdn_clk_enable_with_hsdiv_restore - enable clocks suffering 31 * omap36xx_pwrdn_clk_enable_with_hsdiv_restore - enable clocks suffering
@@ -39,29 +40,28 @@
39 */ 40 */
40int omap36xx_pwrdn_clk_enable_with_hsdiv_restore(struct clk_hw *clk) 41int omap36xx_pwrdn_clk_enable_with_hsdiv_restore(struct clk_hw *clk)
41{ 42{
42 struct clk_hw_omap *parent; 43 struct clk_divider *parent;
43 struct clk_hw *parent_hw; 44 struct clk_hw *parent_hw;
44 u32 dummy_v, orig_v, clksel_shift; 45 u32 dummy_v, orig_v;
45 int ret; 46 int ret;
46 47
47 /* Clear PWRDN bit of HSDIVIDER */ 48 /* Clear PWRDN bit of HSDIVIDER */
48 ret = omap2_dflt_clk_enable(clk); 49 ret = omap2_dflt_clk_enable(clk);
49 50
50 parent_hw = __clk_get_hw(__clk_get_parent(clk->clk)); 51 parent_hw = __clk_get_hw(__clk_get_parent(clk->clk));
51 parent = to_clk_hw_omap(parent_hw); 52 parent = to_clk_divider(parent_hw);
52 53
53 /* Restore the dividers */ 54 /* Restore the dividers */
54 if (!ret) { 55 if (!ret) {
55 clksel_shift = __ffs(parent->clksel_mask); 56 orig_v = __raw_readl(parent->reg);
56 orig_v = __raw_readl(parent->clksel_reg);
57 dummy_v = orig_v; 57 dummy_v = orig_v;
58 58
59 /* Write any other value different from the Read value */ 59 /* Write any other value different from the Read value */
60 dummy_v ^= (1 << clksel_shift); 60 dummy_v ^= (1 << parent->shift);
61 __raw_writel(dummy_v, parent->clksel_reg); 61 __raw_writel(dummy_v, parent->reg);
62 62
63 /* Write the original divider */ 63 /* Write the original divider */
64 __raw_writel(orig_v, parent->clksel_reg); 64 __raw_writel(orig_v, parent->reg);
65 } 65 }
66 66
67 return ret; 67 return ret;
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index d25a95fe9921..7341eff63f56 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -1356,13 +1356,27 @@ static void _enable_sysc(struct omap_hwmod *oh)
1356 1356
1357 clkdm = _get_clkdm(oh); 1357 clkdm = _get_clkdm(oh);
1358 if (sf & SYSC_HAS_SIDLEMODE) { 1358 if (sf & SYSC_HAS_SIDLEMODE) {
1359 if (oh->flags & HWMOD_SWSUP_SIDLE ||
1360 oh->flags & HWMOD_SWSUP_SIDLE_ACT) {
1361 idlemode = HWMOD_IDLEMODE_NO;
1362 } else {
1363 if (sf & SYSC_HAS_ENAWAKEUP)
1364 _enable_wakeup(oh, &v);
1365 if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
1366 idlemode = HWMOD_IDLEMODE_SMART_WKUP;
1367 else
1368 idlemode = HWMOD_IDLEMODE_SMART;
1369 }
1370
1371 /*
1372 * This is special handling for some IPs like
1373 * 32k sync timer. Force them to idle!
1374 */
1359 clkdm_act = (clkdm && clkdm->flags & CLKDM_ACTIVE_WITH_MPU); 1375 clkdm_act = (clkdm && clkdm->flags & CLKDM_ACTIVE_WITH_MPU);
1360 if (clkdm_act && !(oh->class->sysc->idlemodes & 1376 if (clkdm_act && !(oh->class->sysc->idlemodes &
1361 (SIDLE_SMART | SIDLE_SMART_WKUP))) 1377 (SIDLE_SMART | SIDLE_SMART_WKUP)))
1362 idlemode = HWMOD_IDLEMODE_FORCE; 1378 idlemode = HWMOD_IDLEMODE_FORCE;
1363 else 1379
1364 idlemode = (oh->flags & HWMOD_SWSUP_SIDLE) ?
1365 HWMOD_IDLEMODE_NO : HWMOD_IDLEMODE_SMART;
1366 _set_slave_idlemode(oh, idlemode, &v); 1380 _set_slave_idlemode(oh, idlemode, &v);
1367 } 1381 }
1368 1382
@@ -1391,10 +1405,6 @@ static void _enable_sysc(struct omap_hwmod *oh)
1391 (sf & SYSC_HAS_CLOCKACTIVITY)) 1405 (sf & SYSC_HAS_CLOCKACTIVITY))
1392 _set_clockactivity(oh, oh->class->sysc->clockact, &v); 1406 _set_clockactivity(oh, oh->class->sysc->clockact, &v);
1393 1407
1394 /* If slave is in SMARTIDLE, also enable wakeup */
1395 if ((sf & SYSC_HAS_SIDLEMODE) && !(oh->flags & HWMOD_SWSUP_SIDLE))
1396 _enable_wakeup(oh, &v);
1397
1398 _write_sysconfig(v, oh); 1408 _write_sysconfig(v, oh);
1399 1409
1400 /* 1410 /*
@@ -1430,13 +1440,16 @@ static void _idle_sysc(struct omap_hwmod *oh)
1430 sf = oh->class->sysc->sysc_flags; 1440 sf = oh->class->sysc->sysc_flags;
1431 1441
1432 if (sf & SYSC_HAS_SIDLEMODE) { 1442 if (sf & SYSC_HAS_SIDLEMODE) {
1433 /* XXX What about HWMOD_IDLEMODE_SMART_WKUP? */ 1443 if (oh->flags & HWMOD_SWSUP_SIDLE) {
1434 if (oh->flags & HWMOD_SWSUP_SIDLE ||
1435 !(oh->class->sysc->idlemodes &
1436 (SIDLE_SMART | SIDLE_SMART_WKUP)))
1437 idlemode = HWMOD_IDLEMODE_FORCE; 1444 idlemode = HWMOD_IDLEMODE_FORCE;
1438 else 1445 } else {
1439 idlemode = HWMOD_IDLEMODE_SMART; 1446 if (sf & SYSC_HAS_ENAWAKEUP)
1447 _enable_wakeup(oh, &v);
1448 if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
1449 idlemode = HWMOD_IDLEMODE_SMART_WKUP;
1450 else
1451 idlemode = HWMOD_IDLEMODE_SMART;
1452 }
1440 _set_slave_idlemode(oh, idlemode, &v); 1453 _set_slave_idlemode(oh, idlemode, &v);
1441 } 1454 }
1442 1455
@@ -1455,10 +1468,6 @@ static void _idle_sysc(struct omap_hwmod *oh)
1455 _set_master_standbymode(oh, idlemode, &v); 1468 _set_master_standbymode(oh, idlemode, &v);
1456 } 1469 }
1457 1470
1458 /* If slave is in SMARTIDLE, also enable wakeup */
1459 if ((sf & SYSC_HAS_SIDLEMODE) && !(oh->flags & HWMOD_SWSUP_SIDLE))
1460 _enable_wakeup(oh, &v);
1461
1462 _write_sysconfig(v, oh); 1471 _write_sysconfig(v, oh);
1463} 1472}
1464 1473
@@ -2065,7 +2074,7 @@ static int _omap4_get_context_lost(struct omap_hwmod *oh)
2065 * do so is present in the hwmod data, then call it and pass along the 2074 * do so is present in the hwmod data, then call it and pass along the
2066 * return value; otherwise, return 0. 2075 * return value; otherwise, return 0.
2067 */ 2076 */
2068static int __init _enable_preprogram(struct omap_hwmod *oh) 2077static int _enable_preprogram(struct omap_hwmod *oh)
2069{ 2078{
2070 if (!oh->class->enable_preprogram) 2079 if (!oh->class->enable_preprogram)
2071 return 0; 2080 return 0;
@@ -2246,42 +2255,6 @@ static int _idle(struct omap_hwmod *oh)
2246} 2255}
2247 2256
2248/** 2257/**
2249 * omap_hwmod_set_ocp_autoidle - set the hwmod's OCP autoidle bit
2250 * @oh: struct omap_hwmod *
2251 * @autoidle: desired AUTOIDLE bitfield value (0 or 1)
2252 *
2253 * Sets the IP block's OCP autoidle bit in hardware, and updates our
2254 * local copy. Intended to be used by drivers that require
2255 * direct manipulation of the AUTOIDLE bits.
2256 * Returns -EINVAL if @oh is null or is not in the ENABLED state, or passes
2257 * along the return value from _set_module_autoidle().
2258 *
2259 * Any users of this function should be scrutinized carefully.
2260 */
2261int omap_hwmod_set_ocp_autoidle(struct omap_hwmod *oh, u8 autoidle)
2262{
2263 u32 v;
2264 int retval = 0;
2265 unsigned long flags;
2266
2267 if (!oh || oh->_state != _HWMOD_STATE_ENABLED)
2268 return -EINVAL;
2269
2270 spin_lock_irqsave(&oh->_lock, flags);
2271
2272 v = oh->_sysc_cache;
2273
2274 retval = _set_module_autoidle(oh, autoidle, &v);
2275
2276 if (!retval)
2277 _write_sysconfig(v, oh);
2278
2279 spin_unlock_irqrestore(&oh->_lock, flags);
2280
2281 return retval;
2282}
2283
2284/**
2285 * _shutdown - shutdown an omap_hwmod 2258 * _shutdown - shutdown an omap_hwmod
2286 * @oh: struct omap_hwmod * 2259 * @oh: struct omap_hwmod *
2287 * 2260 *
@@ -3180,38 +3153,6 @@ error:
3180} 3153}
3181 3154
3182/** 3155/**
3183 * omap_hwmod_set_slave_idlemode - set the hwmod's OCP slave idlemode
3184 * @oh: struct omap_hwmod *
3185 * @idlemode: SIDLEMODE field bits (shifted to bit 0)
3186 *
3187 * Sets the IP block's OCP slave idlemode in hardware, and updates our
3188 * local copy. Intended to be used by drivers that have some erratum
3189 * that requires direct manipulation of the SIDLEMODE bits. Returns
3190 * -EINVAL if @oh is null, or passes along the return value from
3191 * _set_slave_idlemode().
3192 *
3193 * XXX Does this function have any current users? If not, we should
3194 * remove it; it is better to let the rest of the hwmod code handle this.
3195 * Any users of this function should be scrutinized carefully.
3196 */
3197int omap_hwmod_set_slave_idlemode(struct omap_hwmod *oh, u8 idlemode)
3198{
3199 u32 v;
3200 int retval = 0;
3201
3202 if (!oh)
3203 return -EINVAL;
3204
3205 v = oh->_sysc_cache;
3206
3207 retval = _set_slave_idlemode(oh, idlemode, &v);
3208 if (!retval)
3209 _write_sysconfig(v, oh);
3210
3211 return retval;
3212}
3213
3214/**
3215 * omap_hwmod_lookup - look up a registered omap_hwmod by name 3156 * omap_hwmod_lookup - look up a registered omap_hwmod by name
3216 * @name: name of the omap_hwmod to look up 3157 * @name: name of the omap_hwmod to look up
3217 * 3158 *
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
index fe5962921f07..0c898f58ac9b 100644
--- a/arch/arm/mach-omap2/omap_hwmod.h
+++ b/arch/arm/mach-omap2/omap_hwmod.h
@@ -463,6 +463,9 @@ struct omap_hwmod_omap4_prcm {
463 * is kept in force-standby mode. Failing to do so causes PM problems 463 * is kept in force-standby mode. Failing to do so causes PM problems
464 * with musb on OMAP3630 at least. Note that musb has a dedicated register 464 * with musb on OMAP3630 at least. Note that musb has a dedicated register
465 * to control MSTANDBY signal when MIDLEMODE is set to force-standby. 465 * to control MSTANDBY signal when MIDLEMODE is set to force-standby.
466 * HWMOD_SWSUP_SIDLE_ACT: omap_hwmod code should manually bring the module
467 * out of idle, but rely on smart-idle to the put it back in idle,
468 * so the wakeups are still functional (Only known case for now is UART)
466 */ 469 */
467#define HWMOD_SWSUP_SIDLE (1 << 0) 470#define HWMOD_SWSUP_SIDLE (1 << 0)
468#define HWMOD_SWSUP_MSTANDBY (1 << 1) 471#define HWMOD_SWSUP_MSTANDBY (1 << 1)
@@ -476,6 +479,7 @@ struct omap_hwmod_omap4_prcm {
476#define HWMOD_EXT_OPT_MAIN_CLK (1 << 9) 479#define HWMOD_EXT_OPT_MAIN_CLK (1 << 9)
477#define HWMOD_BLOCK_WFI (1 << 10) 480#define HWMOD_BLOCK_WFI (1 << 10)
478#define HWMOD_FORCE_MSTANDBY (1 << 11) 481#define HWMOD_FORCE_MSTANDBY (1 << 11)
482#define HWMOD_SWSUP_SIDLE_ACT (1 << 12)
479 483
480/* 484/*
481 * omap_hwmod._int_flags definitions 485 * omap_hwmod._int_flags definitions
@@ -641,9 +645,6 @@ int omap_hwmod_read_hardreset(struct omap_hwmod *oh, const char *name);
641int omap_hwmod_enable_clocks(struct omap_hwmod *oh); 645int omap_hwmod_enable_clocks(struct omap_hwmod *oh);
642int omap_hwmod_disable_clocks(struct omap_hwmod *oh); 646int omap_hwmod_disable_clocks(struct omap_hwmod *oh);
643 647
644int omap_hwmod_set_slave_idlemode(struct omap_hwmod *oh, u8 idlemode);
645int omap_hwmod_set_ocp_autoidle(struct omap_hwmod *oh, u8 autoidle);
646
647int omap_hwmod_reset(struct omap_hwmod *oh); 648int omap_hwmod_reset(struct omap_hwmod *oh);
648void omap_hwmod_ocp_barrier(struct omap_hwmod *oh); 649void omap_hwmod_ocp_barrier(struct omap_hwmod *oh);
649 650
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
index c8c64b3e1acc..d05fc7b54567 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
@@ -512,6 +512,7 @@ struct omap_hwmod omap2xxx_uart1_hwmod = {
512 .mpu_irqs = omap2_uart1_mpu_irqs, 512 .mpu_irqs = omap2_uart1_mpu_irqs,
513 .sdma_reqs = omap2_uart1_sdma_reqs, 513 .sdma_reqs = omap2_uart1_sdma_reqs,
514 .main_clk = "uart1_fck", 514 .main_clk = "uart1_fck",
515 .flags = HWMOD_SWSUP_SIDLE_ACT,
515 .prcm = { 516 .prcm = {
516 .omap2 = { 517 .omap2 = {
517 .module_offs = CORE_MOD, 518 .module_offs = CORE_MOD,
@@ -531,6 +532,7 @@ struct omap_hwmod omap2xxx_uart2_hwmod = {
531 .mpu_irqs = omap2_uart2_mpu_irqs, 532 .mpu_irqs = omap2_uart2_mpu_irqs,
532 .sdma_reqs = omap2_uart2_sdma_reqs, 533 .sdma_reqs = omap2_uart2_sdma_reqs,
533 .main_clk = "uart2_fck", 534 .main_clk = "uart2_fck",
535 .flags = HWMOD_SWSUP_SIDLE_ACT,
534 .prcm = { 536 .prcm = {
535 .omap2 = { 537 .omap2 = {
536 .module_offs = CORE_MOD, 538 .module_offs = CORE_MOD,
@@ -550,6 +552,7 @@ struct omap_hwmod omap2xxx_uart3_hwmod = {
550 .mpu_irqs = omap2_uart3_mpu_irqs, 552 .mpu_irqs = omap2_uart3_mpu_irqs,
551 .sdma_reqs = omap2_uart3_sdma_reqs, 553 .sdma_reqs = omap2_uart3_sdma_reqs,
552 .main_clk = "uart3_fck", 554 .main_clk = "uart3_fck",
555 .flags = HWMOD_SWSUP_SIDLE_ACT,
553 .prcm = { 556 .prcm = {
554 .omap2 = { 557 .omap2 = {
555 .module_offs = CORE_MOD, 558 .module_offs = CORE_MOD,
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
index 01d8f324450a..69337af748cc 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -1995,6 +1995,7 @@ static struct omap_hwmod am33xx_uart1_hwmod = {
1995 .name = "uart1", 1995 .name = "uart1",
1996 .class = &uart_class, 1996 .class = &uart_class,
1997 .clkdm_name = "l4_wkup_clkdm", 1997 .clkdm_name = "l4_wkup_clkdm",
1998 .flags = HWMOD_SWSUP_SIDLE_ACT,
1998 .mpu_irqs = am33xx_uart1_irqs, 1999 .mpu_irqs = am33xx_uart1_irqs,
1999 .sdma_reqs = uart1_edma_reqs, 2000 .sdma_reqs = uart1_edma_reqs,
2000 .main_clk = "dpll_per_m2_div4_wkupdm_ck", 2001 .main_clk = "dpll_per_m2_div4_wkupdm_ck",
@@ -2006,6 +2007,13 @@ static struct omap_hwmod am33xx_uart1_hwmod = {
2006 }, 2007 },
2007}; 2008};
2008 2009
2010/* uart2 */
2011static struct omap_hwmod_dma_info uart2_edma_reqs[] = {
2012 { .name = "tx", .dma_req = 28, },
2013 { .name = "rx", .dma_req = 29, },
2014 { .dma_req = -1 }
2015};
2016
2009static struct omap_hwmod_irq_info am33xx_uart2_irqs[] = { 2017static struct omap_hwmod_irq_info am33xx_uart2_irqs[] = {
2010 { .irq = 73 + OMAP_INTC_START, }, 2018 { .irq = 73 + OMAP_INTC_START, },
2011 { .irq = -1 }, 2019 { .irq = -1 },
@@ -2015,8 +2023,9 @@ static struct omap_hwmod am33xx_uart2_hwmod = {
2015 .name = "uart2", 2023 .name = "uart2",
2016 .class = &uart_class, 2024 .class = &uart_class,
2017 .clkdm_name = "l4ls_clkdm", 2025 .clkdm_name = "l4ls_clkdm",
2026 .flags = HWMOD_SWSUP_SIDLE_ACT,
2018 .mpu_irqs = am33xx_uart2_irqs, 2027 .mpu_irqs = am33xx_uart2_irqs,
2019 .sdma_reqs = uart1_edma_reqs, 2028 .sdma_reqs = uart2_edma_reqs,
2020 .main_clk = "dpll_per_m2_div4_ck", 2029 .main_clk = "dpll_per_m2_div4_ck",
2021 .prcm = { 2030 .prcm = {
2022 .omap4 = { 2031 .omap4 = {
@@ -2042,6 +2051,7 @@ static struct omap_hwmod am33xx_uart3_hwmod = {
2042 .name = "uart3", 2051 .name = "uart3",
2043 .class = &uart_class, 2052 .class = &uart_class,
2044 .clkdm_name = "l4ls_clkdm", 2053 .clkdm_name = "l4ls_clkdm",
2054 .flags = HWMOD_SWSUP_SIDLE_ACT,
2045 .mpu_irqs = am33xx_uart3_irqs, 2055 .mpu_irqs = am33xx_uart3_irqs,
2046 .sdma_reqs = uart3_edma_reqs, 2056 .sdma_reqs = uart3_edma_reqs,
2047 .main_clk = "dpll_per_m2_div4_ck", 2057 .main_clk = "dpll_per_m2_div4_ck",
@@ -2062,6 +2072,7 @@ static struct omap_hwmod am33xx_uart4_hwmod = {
2062 .name = "uart4", 2072 .name = "uart4",
2063 .class = &uart_class, 2073 .class = &uart_class,
2064 .clkdm_name = "l4ls_clkdm", 2074 .clkdm_name = "l4ls_clkdm",
2075 .flags = HWMOD_SWSUP_SIDLE_ACT,
2065 .mpu_irqs = am33xx_uart4_irqs, 2076 .mpu_irqs = am33xx_uart4_irqs,
2066 .sdma_reqs = uart1_edma_reqs, 2077 .sdma_reqs = uart1_edma_reqs,
2067 .main_clk = "dpll_per_m2_div4_ck", 2078 .main_clk = "dpll_per_m2_div4_ck",
@@ -2082,6 +2093,7 @@ static struct omap_hwmod am33xx_uart5_hwmod = {
2082 .name = "uart5", 2093 .name = "uart5",
2083 .class = &uart_class, 2094 .class = &uart_class,
2084 .clkdm_name = "l4ls_clkdm", 2095 .clkdm_name = "l4ls_clkdm",
2096 .flags = HWMOD_SWSUP_SIDLE_ACT,
2085 .mpu_irqs = am33xx_uart5_irqs, 2097 .mpu_irqs = am33xx_uart5_irqs,
2086 .sdma_reqs = uart1_edma_reqs, 2098 .sdma_reqs = uart1_edma_reqs,
2087 .main_clk = "dpll_per_m2_div4_ck", 2099 .main_clk = "dpll_per_m2_div4_ck",
@@ -2102,6 +2114,7 @@ static struct omap_hwmod am33xx_uart6_hwmod = {
2102 .name = "uart6", 2114 .name = "uart6",
2103 .class = &uart_class, 2115 .class = &uart_class,
2104 .clkdm_name = "l4ls_clkdm", 2116 .clkdm_name = "l4ls_clkdm",
2117 .flags = HWMOD_SWSUP_SIDLE_ACT,
2105 .mpu_irqs = am33xx_uart6_irqs, 2118 .mpu_irqs = am33xx_uart6_irqs,
2106 .sdma_reqs = uart1_edma_reqs, 2119 .sdma_reqs = uart1_edma_reqs,
2107 .main_clk = "dpll_per_m2_div4_ck", 2120 .main_clk = "dpll_per_m2_div4_ck",
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 4083606ea1da..31c7126eb3bb 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -490,6 +490,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
490 .mpu_irqs = omap2_uart1_mpu_irqs, 490 .mpu_irqs = omap2_uart1_mpu_irqs,
491 .sdma_reqs = omap2_uart1_sdma_reqs, 491 .sdma_reqs = omap2_uart1_sdma_reqs,
492 .main_clk = "uart1_fck", 492 .main_clk = "uart1_fck",
493 .flags = HWMOD_SWSUP_SIDLE_ACT,
493 .prcm = { 494 .prcm = {
494 .omap2 = { 495 .omap2 = {
495 .module_offs = CORE_MOD, 496 .module_offs = CORE_MOD,
@@ -508,6 +509,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
508 .mpu_irqs = omap2_uart2_mpu_irqs, 509 .mpu_irqs = omap2_uart2_mpu_irqs,
509 .sdma_reqs = omap2_uart2_sdma_reqs, 510 .sdma_reqs = omap2_uart2_sdma_reqs,
510 .main_clk = "uart2_fck", 511 .main_clk = "uart2_fck",
512 .flags = HWMOD_SWSUP_SIDLE_ACT,
511 .prcm = { 513 .prcm = {
512 .omap2 = { 514 .omap2 = {
513 .module_offs = CORE_MOD, 515 .module_offs = CORE_MOD,
@@ -526,6 +528,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {
526 .mpu_irqs = omap2_uart3_mpu_irqs, 528 .mpu_irqs = omap2_uart3_mpu_irqs,
527 .sdma_reqs = omap2_uart3_sdma_reqs, 529 .sdma_reqs = omap2_uart3_sdma_reqs,
528 .main_clk = "uart3_fck", 530 .main_clk = "uart3_fck",
531 .flags = HWMOD_SWSUP_SIDLE_ACT,
529 .prcm = { 532 .prcm = {
530 .omap2 = { 533 .omap2 = {
531 .module_offs = OMAP3430_PER_MOD, 534 .module_offs = OMAP3430_PER_MOD,
@@ -555,6 +558,7 @@ static struct omap_hwmod omap36xx_uart4_hwmod = {
555 .mpu_irqs = uart4_mpu_irqs, 558 .mpu_irqs = uart4_mpu_irqs,
556 .sdma_reqs = uart4_sdma_reqs, 559 .sdma_reqs = uart4_sdma_reqs,
557 .main_clk = "uart4_fck", 560 .main_clk = "uart4_fck",
561 .flags = HWMOD_SWSUP_SIDLE_ACT,
558 .prcm = { 562 .prcm = {
559 .omap2 = { 563 .omap2 = {
560 .module_offs = OMAP3430_PER_MOD, 564 .module_offs = OMAP3430_PER_MOD,
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index eaba9dc91a0d..848b6dc67590 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -3434,6 +3434,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
3434 .name = "uart1", 3434 .name = "uart1",
3435 .class = &omap44xx_uart_hwmod_class, 3435 .class = &omap44xx_uart_hwmod_class,
3436 .clkdm_name = "l4_per_clkdm", 3436 .clkdm_name = "l4_per_clkdm",
3437 .flags = HWMOD_SWSUP_SIDLE_ACT,
3437 .mpu_irqs = omap44xx_uart1_irqs, 3438 .mpu_irqs = omap44xx_uart1_irqs,
3438 .sdma_reqs = omap44xx_uart1_sdma_reqs, 3439 .sdma_reqs = omap44xx_uart1_sdma_reqs,
3439 .main_clk = "func_48m_fclk", 3440 .main_clk = "func_48m_fclk",
@@ -3462,6 +3463,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
3462 .name = "uart2", 3463 .name = "uart2",
3463 .class = &omap44xx_uart_hwmod_class, 3464 .class = &omap44xx_uart_hwmod_class,
3464 .clkdm_name = "l4_per_clkdm", 3465 .clkdm_name = "l4_per_clkdm",
3466 .flags = HWMOD_SWSUP_SIDLE_ACT,
3465 .mpu_irqs = omap44xx_uart2_irqs, 3467 .mpu_irqs = omap44xx_uart2_irqs,
3466 .sdma_reqs = omap44xx_uart2_sdma_reqs, 3468 .sdma_reqs = omap44xx_uart2_sdma_reqs,
3467 .main_clk = "func_48m_fclk", 3469 .main_clk = "func_48m_fclk",
@@ -3490,7 +3492,8 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
3490 .name = "uart3", 3492 .name = "uart3",
3491 .class = &omap44xx_uart_hwmod_class, 3493 .class = &omap44xx_uart_hwmod_class,
3492 .clkdm_name = "l4_per_clkdm", 3494 .clkdm_name = "l4_per_clkdm",
3493 .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, 3495 .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET |
3496 HWMOD_SWSUP_SIDLE_ACT,
3494 .mpu_irqs = omap44xx_uart3_irqs, 3497 .mpu_irqs = omap44xx_uart3_irqs,
3495 .sdma_reqs = omap44xx_uart3_sdma_reqs, 3498 .sdma_reqs = omap44xx_uart3_sdma_reqs,
3496 .main_clk = "func_48m_fclk", 3499 .main_clk = "func_48m_fclk",
@@ -3519,6 +3522,7 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
3519 .name = "uart4", 3522 .name = "uart4",
3520 .class = &omap44xx_uart_hwmod_class, 3523 .class = &omap44xx_uart_hwmod_class,
3521 .clkdm_name = "l4_per_clkdm", 3524 .clkdm_name = "l4_per_clkdm",
3525 .flags = HWMOD_SWSUP_SIDLE_ACT,
3522 .mpu_irqs = omap44xx_uart4_irqs, 3526 .mpu_irqs = omap44xx_uart4_irqs,
3523 .sdma_reqs = omap44xx_uart4_sdma_reqs, 3527 .sdma_reqs = omap44xx_uart4_sdma_reqs,
3524 .main_clk = "func_48m_fclk", 3528 .main_clk = "func_48m_fclk",
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index c01859398b54..5a2d8034c8de 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -546,8 +546,10 @@ static void __init prcm_setup_regs(void)
546 /* Clear any pending PRCM interrupts */ 546 /* Clear any pending PRCM interrupts */
547 omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET); 547 omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
548 548
549 if (omap3_has_iva()) 549 /*
550 omap3_iva_idle(); 550 * We need to idle iva2_pwrdm even on am3703 with no iva2.
551 */
552 omap3_iva_idle();
551 553
552 omap3_d2d_idle(); 554 omap3_d2d_idle();
553} 555}
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 8396b5b7e912..f6601563aa69 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -95,38 +95,9 @@ static void omap_uart_enable_wakeup(struct device *dev, bool enable)
95 omap_hwmod_disable_wakeup(od->hwmods[0]); 95 omap_hwmod_disable_wakeup(od->hwmods[0]);
96} 96}
97 97
98/*
99 * Errata i291: [UART]:Cannot Acknowledge Idle Requests
100 * in Smartidle Mode When Configured for DMA Operations.
101 * WA: configure uart in force idle mode.
102 */
103static void omap_uart_set_noidle(struct device *dev)
104{
105 struct platform_device *pdev = to_platform_device(dev);
106 struct omap_device *od = to_omap_device(pdev);
107
108 omap_hwmod_set_slave_idlemode(od->hwmods[0], HWMOD_IDLEMODE_NO);
109}
110
111static void omap_uart_set_smartidle(struct device *dev)
112{
113 struct platform_device *pdev = to_platform_device(dev);
114 struct omap_device *od = to_omap_device(pdev);
115 u8 idlemode;
116
117 if (od->hwmods[0]->class->sysc->idlemodes & SIDLE_SMART_WKUP)
118 idlemode = HWMOD_IDLEMODE_SMART_WKUP;
119 else
120 idlemode = HWMOD_IDLEMODE_SMART;
121
122 omap_hwmod_set_slave_idlemode(od->hwmods[0], idlemode);
123}
124
125#else 98#else
126static void omap_uart_enable_wakeup(struct device *dev, bool enable) 99static void omap_uart_enable_wakeup(struct device *dev, bool enable)
127{} 100{}
128static void omap_uart_set_noidle(struct device *dev) {}
129static void omap_uart_set_smartidle(struct device *dev) {}
130#endif /* CONFIG_PM */ 101#endif /* CONFIG_PM */
131 102
132#ifdef CONFIG_OMAP_MUX 103#ifdef CONFIG_OMAP_MUX
@@ -299,8 +270,6 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
299 omap_up.uartclk = OMAP24XX_BASE_BAUD * 16; 270 omap_up.uartclk = OMAP24XX_BASE_BAUD * 16;
300 omap_up.flags = UPF_BOOT_AUTOCONF; 271 omap_up.flags = UPF_BOOT_AUTOCONF;
301 omap_up.get_context_loss_count = omap_pm_get_dev_context_loss_count; 272 omap_up.get_context_loss_count = omap_pm_get_dev_context_loss_count;
302 omap_up.set_forceidle = omap_uart_set_smartidle;
303 omap_up.set_noidle = omap_uart_set_noidle;
304 omap_up.enable_wakeup = omap_uart_enable_wakeup; 273 omap_up.enable_wakeup = omap_uart_enable_wakeup;
305 omap_up.dma_rx_buf_size = info->dma_rx_buf_size; 274 omap_up.dma_rx_buf_size = info->dma_rx_buf_size;
306 omap_up.dma_rx_timeout = info->dma_rx_timeout; 275 omap_up.dma_rx_timeout = info->dma_rx_timeout;
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
index b97fd672e89d..f8a6db9239bf 100644
--- a/arch/arm/mach-orion5x/common.c
+++ b/arch/arm/mach-orion5x/common.c
@@ -199,13 +199,6 @@ void __init orion5x_init_early(void)
199 199
200 orion_time_set_base(TIMER_VIRT_BASE); 200 orion_time_set_base(TIMER_VIRT_BASE);
201 201
202 /*
203 * Some Orion5x devices allocate their coherent buffers from atomic
204 * context. Increase size of atomic coherent pool to make sure such
205 * the allocations won't fail.
206 */
207 init_dma_coherent_pool_size(SZ_1M);
208
209 /* Initialize the MBUS driver */ 202 /* Initialize the MBUS driver */
210 orion5x_pcie_id(&dev, &rev); 203 orion5x_pcie_id(&dev, &rev);
211 if (dev == MV88F5281_DEV_ID) 204 if (dev == MV88F5281_DEV_ID)
diff --git a/arch/arm/mach-prima2/pm.c b/arch/arm/mach-prima2/pm.c
index 9936c180bf01..8f595c0cc8d9 100644
--- a/arch/arm/mach-prima2/pm.c
+++ b/arch/arm/mach-prima2/pm.c
@@ -101,8 +101,10 @@ static int __init sirfsoc_of_pwrc_init(void)
101 struct device_node *np; 101 struct device_node *np;
102 102
103 np = of_find_matching_node(NULL, pwrc_ids); 103 np = of_find_matching_node(NULL, pwrc_ids);
104 if (!np) 104 if (!np) {
105 panic("unable to find compatible pwrc node in dtb\n"); 105 pr_err("unable to find compatible sirf pwrc node in dtb\n");
106 return -ENOENT;
107 }
106 108
107 /* 109 /*
108 * pwrc behind rtciobrg is not located in memory space 110 * pwrc behind rtciobrg is not located in memory space
diff --git a/arch/arm/mach-prima2/rstc.c b/arch/arm/mach-prima2/rstc.c
index 435019ca0a48..d5e0cbc934c0 100644
--- a/arch/arm/mach-prima2/rstc.c
+++ b/arch/arm/mach-prima2/rstc.c
@@ -28,8 +28,10 @@ static int __init sirfsoc_of_rstc_init(void)
28 struct device_node *np; 28 struct device_node *np;
29 29
30 np = of_find_matching_node(NULL, rstc_ids); 30 np = of_find_matching_node(NULL, rstc_ids);
31 if (!np) 31 if (!np) {
32 panic("unable to find compatible rstc node in dtb\n"); 32 pr_err("unable to find compatible sirf rstc node in dtb\n");
33 return -ENOENT;
34 }
33 35
34 sirfsoc_rstc_base = of_iomap(np, 0); 36 sirfsoc_rstc_base = of_iomap(np, 0);
35 if (!sirfsoc_rstc_base) 37 if (!sirfsoc_rstc_base)
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c
index 91052855cc12..b9594e911ce7 100644
--- a/arch/arm/mach-shmobile/board-marzen.c
+++ b/arch/arm/mach-shmobile/board-marzen.c
@@ -212,8 +212,8 @@ static struct platform_device *marzen_devices[] __initdata = {
212static struct usb_phy *phy; 212static struct usb_phy *phy;
213static int usb_power_on(struct platform_device *pdev) 213static int usb_power_on(struct platform_device *pdev)
214{ 214{
215 if (!phy) 215 if (IS_ERR(phy))
216 return -EIO; 216 return PTR_ERR(phy);
217 217
218 pm_runtime_enable(&pdev->dev); 218 pm_runtime_enable(&pdev->dev);
219 pm_runtime_get_sync(&pdev->dev); 219 pm_runtime_get_sync(&pdev->dev);
@@ -225,7 +225,7 @@ static int usb_power_on(struct platform_device *pdev)
225 225
226static void usb_power_off(struct platform_device *pdev) 226static void usb_power_off(struct platform_device *pdev)
227{ 227{
228 if (!phy) 228 if (IS_ERR(phy))
229 return; 229 return;
230 230
231 usb_phy_shutdown(phy); 231 usb_phy_shutdown(phy);
diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c
index fdf3894b1cc3..9696f3646864 100644
--- a/arch/arm/mach-shmobile/setup-sh73a0.c
+++ b/arch/arm/mach-shmobile/setup-sh73a0.c
@@ -252,7 +252,7 @@ static struct sh_timer_config cmt10_platform_data = {
252 .name = "CMT10", 252 .name = "CMT10",
253 .channel_offset = 0x10, 253 .channel_offset = 0x10,
254 .timer_bit = 0, 254 .timer_bit = 0,
255 .clockevent_rating = 125, 255 .clockevent_rating = 80,
256 .clocksource_rating = 125, 256 .clocksource_rating = 125,
257}; 257};
258 258
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index d259c782d742..5b045e302b43 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -1,5 +1,6 @@
1config ARCH_SUNXI 1config ARCH_SUNXI
2 bool "Allwinner A1X SOCs" if ARCH_MULTI_V7 2 bool "Allwinner A1X SOCs" if ARCH_MULTI_V7
3 select ARCH_REQUIRE_GPIOLIB
3 select CLKSRC_MMIO 4 select CLKSRC_MMIO
4 select CLKSRC_OF 5 select CLKSRC_OF
5 select COMMON_CLK 6 select COMMON_CLK
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
index 6a4387e39df8..b19b07204aaf 100644
--- a/arch/arm/mach-ux500/Kconfig
+++ b/arch/arm/mach-ux500/Kconfig
@@ -51,6 +51,7 @@ config MACH_MOP500
51 bool "U8500 Development platform, MOP500 versions" 51 bool "U8500 Development platform, MOP500 versions"
52 select I2C 52 select I2C
53 select I2C_NOMADIK 53 select I2C_NOMADIK
54 select REGULATOR
54 select REGULATOR_FIXED_VOLTAGE 55 select REGULATOR_FIXED_VOLTAGE
55 select SOC_BUS 56 select SOC_BUS
56 select UX500_SOC_DB8500 57 select UX500_SOC_DB8500
diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c
index 33c353bc1c4a..d6b7c8556fa1 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -374,6 +374,7 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] = {
374static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { 374static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
375 /* supplies to the display/camera */ 375 /* supplies to the display/camera */
376 [AB8500_LDO_AUX1] = { 376 [AB8500_LDO_AUX1] = {
377 .supply_regulator = "ab8500-ext-supply3",
377 .constraints = { 378 .constraints = {
378 .name = "V-DISPLAY", 379 .name = "V-DISPLAY",
379 .min_uV = 2800000, 380 .min_uV = 2800000,
@@ -387,6 +388,7 @@ static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
387 }, 388 },
388 /* supplies to the on-board eMMC */ 389 /* supplies to the on-board eMMC */
389 [AB8500_LDO_AUX2] = { 390 [AB8500_LDO_AUX2] = {
391 .supply_regulator = "ab8500-ext-supply3",
390 .constraints = { 392 .constraints = {
391 .name = "V-eMMC1", 393 .name = "V-eMMC1",
392 .min_uV = 1100000, 394 .min_uV = 1100000,
@@ -402,6 +404,7 @@ static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
402 }, 404 },
403 /* supply for VAUX3, supplies to SDcard slots */ 405 /* supply for VAUX3, supplies to SDcard slots */
404 [AB8500_LDO_AUX3] = { 406 [AB8500_LDO_AUX3] = {
407 .supply_regulator = "ab8500-ext-supply3",
405 .constraints = { 408 .constraints = {
406 .name = "V-MMC-SD", 409 .name = "V-MMC-SD",
407 .min_uV = 1100000, 410 .min_uV = 1100000,
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 3cd555ac6d0a..78389de94dde 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -623,7 +623,7 @@ static void __init mop500_init_machine(void)
623 sdi0_reg_info.gpios[0].gpio = GPIO_SDMMC_1V8_3V_SEL; 623 sdi0_reg_info.gpios[0].gpio = GPIO_SDMMC_1V8_3V_SEL;
624 624
625 mop500_pinmaps_init(); 625 mop500_pinmaps_init();
626 parent = u8500_init_devices(&ab8500_platdata); 626 parent = u8500_init_devices();
627 627
628 for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) 628 for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
629 mop500_platform_devs[i]->dev.parent = parent; 629 mop500_platform_devs[i]->dev.parent = parent;
@@ -660,7 +660,7 @@ static void __init snowball_init_machine(void)
660 sdi0_reg_info.gpios[0].gpio = SNOWBALL_SDMMC_1V8_3V_GPIO; 660 sdi0_reg_info.gpios[0].gpio = SNOWBALL_SDMMC_1V8_3V_GPIO;
661 661
662 snowball_pinmaps_init(); 662 snowball_pinmaps_init();
663 parent = u8500_init_devices(&ab8500_platdata); 663 parent = u8500_init_devices();
664 664
665 for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) 665 for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++)
666 snowball_platform_devs[i]->dev.parent = parent; 666 snowball_platform_devs[i]->dev.parent = parent;
@@ -698,7 +698,7 @@ static void __init hrefv60_init_machine(void)
698 sdi0_reg_info.gpios[0].gpio = HREFV60_SDMMC_1V8_3V_GPIO; 698 sdi0_reg_info.gpios[0].gpio = HREFV60_SDMMC_1V8_3V_GPIO;
699 699
700 hrefv60_pinmaps_init(); 700 hrefv60_pinmaps_init();
701 parent = u8500_init_devices(&ab8500_platdata); 701 parent = u8500_init_devices();
702 702
703 for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) 703 for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
704 mop500_platform_devs[i]->dev.parent = parent; 704 mop500_platform_devs[i]->dev.parent = parent;
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index e90b5ab23b6d..46cca52890bc 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -206,7 +206,7 @@ static struct device * __init db8500_soc_device_init(void)
206/* 206/*
207 * This function is called from the board init 207 * This function is called from the board init
208 */ 208 */
209struct device * __init u8500_init_devices(struct ab8500_platform_data *ab8500) 209struct device * __init u8500_init_devices(void)
210{ 210{
211 struct device *parent; 211 struct device *parent;
212 int i; 212 int i;
@@ -220,8 +220,6 @@ struct device * __init u8500_init_devices(struct ab8500_platform_data *ab8500)
220 for (i = 0; i < ARRAY_SIZE(platform_devs); i++) 220 for (i = 0; i < ARRAY_SIZE(platform_devs); i++)
221 platform_devs[i]->dev.parent = parent; 221 platform_devs[i]->dev.parent = parent;
222 222
223 db8500_prcmu_device.dev.platform_data = ab8500;
224
225 platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); 223 platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs));
226 224
227 return parent; 225 return parent;
@@ -278,7 +276,7 @@ static struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
278 OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL), 276 OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL),
279 OF_DEV_AUXDATA("stericsson,db8500-prcmu", 0x80157000, "db8500-prcmu", 277 OF_DEV_AUXDATA("stericsson,db8500-prcmu", 0x80157000, "db8500-prcmu",
280 &db8500_prcmu_pdata), 278 &db8500_prcmu_pdata),
281 OF_DEV_AUXDATA("smsc,lan9115", 0x50000000, "smsc911x", NULL), 279 OF_DEV_AUXDATA("smsc,lan9115", 0x50000000, "smsc911x.0", NULL),
282 /* Requires device name bindings. */ 280 /* Requires device name bindings. */
283 OF_DEV_AUXDATA("stericsson,nmk-pinctrl", U8500_PRCMU_BASE, 281 OF_DEV_AUXDATA("stericsson,nmk-pinctrl", U8500_PRCMU_BASE,
284 "pinctrl-db8500", NULL), 282 "pinctrl-db8500", NULL),
diff --git a/arch/arm/mach-ux500/cpuidle.c b/arch/arm/mach-ux500/cpuidle.c
index 317a2be129fb..a45dd09daed9 100644
--- a/arch/arm/mach-ux500/cpuidle.c
+++ b/arch/arm/mach-ux500/cpuidle.c
@@ -21,6 +21,7 @@
21#include <asm/proc-fns.h> 21#include <asm/proc-fns.h>
22 22
23#include "db8500-regs.h" 23#include "db8500-regs.h"
24#include "id.h"
24 25
25static atomic_t master = ATOMIC_INIT(0); 26static atomic_t master = ATOMIC_INIT(0);
26static DEFINE_SPINLOCK(master_lock); 27static DEFINE_SPINLOCK(master_lock);
@@ -114,6 +115,9 @@ static struct cpuidle_driver ux500_idle_driver = {
114 115
115int __init ux500_idle_init(void) 116int __init ux500_idle_init(void)
116{ 117{
118 if (!(cpu_is_u8500_family() || cpu_is_ux540_family()))
119 return -ENODEV;
120
117 /* Configure wake up reasons */ 121 /* Configure wake up reasons */
118 prcmu_enable_wakeups(PRCMU_WAKEUP(ARM) | PRCMU_WAKEUP(RTC) | 122 prcmu_enable_wakeups(PRCMU_WAKEUP(ARM) | PRCMU_WAKEUP(RTC) |
119 PRCMU_WAKEUP(ABB)); 123 PRCMU_WAKEUP(ABB));
diff --git a/arch/arm/mach-ux500/setup.h b/arch/arm/mach-ux500/setup.h
index bddce2b49372..cad3ca86c540 100644
--- a/arch/arm/mach-ux500/setup.h
+++ b/arch/arm/mach-ux500/setup.h
@@ -18,7 +18,7 @@
18void __init ux500_map_io(void); 18void __init ux500_map_io(void);
19extern void __init u8500_map_io(void); 19extern void __init u8500_map_io(void);
20 20
21extern struct device * __init u8500_init_devices(struct ab8500_platform_data *ab8500); 21extern struct device * __init u8500_init_devices(void);
22 22
23extern void __init ux500_init_irq(void); 23extern void __init ux500_init_irq(void);
24extern void __init ux500_init_late(void); 24extern void __init ux500_init_late(void);
diff --git a/arch/arm/mach-vt8500/vt8500.c b/arch/arm/mach-vt8500/vt8500.c
index 1dd281efc020..f5c33df7a597 100644
--- a/arch/arm/mach-vt8500/vt8500.c
+++ b/arch/arm/mach-vt8500/vt8500.c
@@ -173,6 +173,7 @@ static const char * const vt8500_dt_compat[] = {
173 "wm,wm8505", 173 "wm,wm8505",
174 "wm,wm8750", 174 "wm,wm8750",
175 "wm,wm8850", 175 "wm,wm8850",
176 NULL
176}; 177};
177 178
178DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)") 179DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)")
diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S
index 15451ee4acc8..515b00064da8 100644
--- a/arch/arm/mm/cache-v7.S
+++ b/arch/arm/mm/cache-v7.S
@@ -92,6 +92,14 @@ ENTRY(v7_flush_dcache_louis)
92 mrc p15, 1, r0, c0, c0, 1 @ read clidr, r0 = clidr 92 mrc p15, 1, r0, c0, c0, 1 @ read clidr, r0 = clidr
93 ALT_SMP(ands r3, r0, #(7 << 21)) @ extract LoUIS from clidr 93 ALT_SMP(ands r3, r0, #(7 << 21)) @ extract LoUIS from clidr
94 ALT_UP(ands r3, r0, #(7 << 27)) @ extract LoUU from clidr 94 ALT_UP(ands r3, r0, #(7 << 27)) @ extract LoUU from clidr
95#ifdef CONFIG_ARM_ERRATA_643719
96 ALT_SMP(mrceq p15, 0, r2, c0, c0, 0) @ read main ID register
97 ALT_UP(moveq pc, lr) @ LoUU is zero, so nothing to do
98 ldreq r1, =0x410fc090 @ ID of ARM Cortex A9 r0p?
99 biceq r2, r2, #0x0000000f @ clear minor revision number
100 teqeq r2, r1 @ test for errata affected core and if so...
101 orreqs r3, #(1 << 21) @ fix LoUIS value (and set flags state to 'ne')
102#endif
95 ALT_SMP(mov r3, r3, lsr #20) @ r3 = LoUIS * 2 103 ALT_SMP(mov r3, r3, lsr #20) @ r3 = LoUIS * 2
96 ALT_UP(mov r3, r3, lsr #26) @ r3 = LoUU * 2 104 ALT_UP(mov r3, r3, lsr #26) @ r3 = LoUU * 2
97 moveq pc, lr @ return if level == 0 105 moveq pc, lr @ return if level == 0
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index 0d473cce501c..32aa5861119f 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -301,6 +301,39 @@ void flush_dcache_page(struct page *page)
301EXPORT_SYMBOL(flush_dcache_page); 301EXPORT_SYMBOL(flush_dcache_page);
302 302
303/* 303/*
304 * Ensure cache coherency for the kernel mapping of this page. We can
305 * assume that the page is pinned via kmap.
306 *
307 * If the page only exists in the page cache and there are no user
308 * space mappings, this is a no-op since the page was already marked
309 * dirty at creation. Otherwise, we need to flush the dirty kernel
310 * cache lines directly.
311 */
312void flush_kernel_dcache_page(struct page *page)
313{
314 if (cache_is_vivt() || cache_is_vipt_aliasing()) {
315 struct address_space *mapping;
316
317 mapping = page_mapping(page);
318
319 if (!mapping || mapping_mapped(mapping)) {
320 void *addr;
321
322 addr = page_address(page);
323 /*
324 * kmap_atomic() doesn't set the page virtual
325 * address for highmem pages, and
326 * kunmap_atomic() takes care of cache
327 * flushing already.
328 */
329 if (!IS_ENABLED(CONFIG_HIGHMEM) || addr)
330 __cpuc_flush_dcache_area(addr, PAGE_SIZE);
331 }
332 }
333}
334EXPORT_SYMBOL(flush_kernel_dcache_page);
335
336/*
304 * Flush an anonymous page so that users of get_user_pages() 337 * Flush an anonymous page so that users of get_user_pages()
305 * can safely access the data. The expected sequence is: 338 * can safely access the data. The expected sequence is:
306 * 339 *
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index e0d8565671a6..4d409e6a552d 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -616,10 +616,12 @@ static void __init alloc_init_pte(pmd_t *pmd, unsigned long addr,
616 } while (pte++, addr += PAGE_SIZE, addr != end); 616 } while (pte++, addr += PAGE_SIZE, addr != end);
617} 617}
618 618
619static void __init map_init_section(pmd_t *pmd, unsigned long addr, 619static void __init __map_init_section(pmd_t *pmd, unsigned long addr,
620 unsigned long end, phys_addr_t phys, 620 unsigned long end, phys_addr_t phys,
621 const struct mem_type *type) 621 const struct mem_type *type)
622{ 622{
623 pmd_t *p = pmd;
624
623#ifndef CONFIG_ARM_LPAE 625#ifndef CONFIG_ARM_LPAE
624 /* 626 /*
625 * In classic MMU format, puds and pmds are folded in to 627 * In classic MMU format, puds and pmds are folded in to
@@ -638,7 +640,7 @@ static void __init map_init_section(pmd_t *pmd, unsigned long addr,
638 phys += SECTION_SIZE; 640 phys += SECTION_SIZE;
639 } while (pmd++, addr += SECTION_SIZE, addr != end); 641 } while (pmd++, addr += SECTION_SIZE, addr != end);
640 642
641 flush_pmd_entry(pmd); 643 flush_pmd_entry(p);
642} 644}
643 645
644static void __init alloc_init_pmd(pud_t *pud, unsigned long addr, 646static void __init alloc_init_pmd(pud_t *pud, unsigned long addr,
@@ -661,7 +663,7 @@ static void __init alloc_init_pmd(pud_t *pud, unsigned long addr,
661 */ 663 */
662 if (type->prot_sect && 664 if (type->prot_sect &&
663 ((addr | next | phys) & ~SECTION_MASK) == 0) { 665 ((addr | next | phys) & ~SECTION_MASK) == 0) {
664 map_init_section(pmd, addr, next, phys, type); 666 __map_init_section(pmd, addr, next, phys, type);
665 } else { 667 } else {
666 alloc_init_pte(pmd, addr, next, 668 alloc_init_pte(pmd, addr, next,
667 __phys_to_pfn(phys), type); 669 __phys_to_pfn(phys), type);
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index 2c73a7301ff7..4c8c9c10a388 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -409,8 +409,8 @@ __v7_ca9mp_proc_info:
409 */ 409 */
410 .type __v7_pj4b_proc_info, #object 410 .type __v7_pj4b_proc_info, #object
411__v7_pj4b_proc_info: 411__v7_pj4b_proc_info:
412 .long 0x562f5840 412 .long 0x560f5800
413 .long 0xfffffff0 413 .long 0xff0fff00
414 __v7_proc __v7_pj4b_setup 414 __v7_proc __v7_pj4b_setup
415 .size __v7_pj4b_proc_info, . - __v7_pj4b_proc_info 415 .size __v7_pj4b_proc_info, . - __v7_pj4b_proc_info
416 416
diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
index 251f827271e9..c019b7aaf776 100644
--- a/arch/arm/plat-orion/common.c
+++ b/arch/arm/plat-orion/common.c
@@ -383,7 +383,7 @@ static struct resource orion_ge10_shared_resources[] = {
383 383
384static struct platform_device orion_ge10_shared = { 384static struct platform_device orion_ge10_shared = {
385 .name = MV643XX_ETH_SHARED_NAME, 385 .name = MV643XX_ETH_SHARED_NAME,
386 .id = 1, 386 .id = 2,
387 .dev = { 387 .dev = {
388 .platform_data = &orion_ge10_shared_data, 388 .platform_data = &orion_ge10_shared_data,
389 }, 389 },
@@ -398,8 +398,8 @@ static struct resource orion_ge10_resources[] = {
398 398
399static struct platform_device orion_ge10 = { 399static struct platform_device orion_ge10 = {
400 .name = MV643XX_ETH_NAME, 400 .name = MV643XX_ETH_NAME,
401 .id = 1, 401 .id = 2,
402 .num_resources = 2, 402 .num_resources = 1,
403 .resource = orion_ge10_resources, 403 .resource = orion_ge10_resources,
404 .dev = { 404 .dev = {
405 .coherent_dma_mask = DMA_BIT_MASK(32), 405 .coherent_dma_mask = DMA_BIT_MASK(32),
@@ -432,7 +432,7 @@ static struct resource orion_ge11_shared_resources[] = {
432 432
433static struct platform_device orion_ge11_shared = { 433static struct platform_device orion_ge11_shared = {
434 .name = MV643XX_ETH_SHARED_NAME, 434 .name = MV643XX_ETH_SHARED_NAME,
435 .id = 1, 435 .id = 3,
436 .dev = { 436 .dev = {
437 .platform_data = &orion_ge11_shared_data, 437 .platform_data = &orion_ge11_shared_data,
438 }, 438 },
@@ -447,8 +447,8 @@ static struct resource orion_ge11_resources[] = {
447 447
448static struct platform_device orion_ge11 = { 448static struct platform_device orion_ge11 = {
449 .name = MV643XX_ETH_NAME, 449 .name = MV643XX_ETH_NAME,
450 .id = 1, 450 .id = 3,
451 .num_resources = 2, 451 .num_resources = 1,
452 .resource = orion_ge11_resources, 452 .resource = orion_ge11_resources,
453 .dev = { 453 .dev = {
454 .coherent_dma_mask = DMA_BIT_MASK(32), 454 .coherent_dma_mask = DMA_BIT_MASK(32),
diff --git a/arch/arm/plat-orion/include/plat/common.h b/arch/arm/plat-orion/include/plat/common.h
index e06fc5fefa14..d9a24f605a2b 100644
--- a/arch/arm/plat-orion/include/plat/common.h
+++ b/arch/arm/plat-orion/include/plat/common.h
@@ -10,6 +10,7 @@
10 10
11#ifndef __PLAT_COMMON_H 11#ifndef __PLAT_COMMON_H
12#include <linux/mv643xx_eth.h> 12#include <linux/mv643xx_eth.h>
13#include <linux/platform_data/usb-ehci-orion.h>
13 14
14struct dsa_platform_data; 15struct dsa_platform_data;
15struct mv_sata_platform_data; 16struct mv_sata_platform_data;
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
index 30c2fe243f76..0f9c3f431a5f 100644
--- a/arch/arm/plat-samsung/devs.c
+++ b/arch/arm/plat-samsung/devs.c
@@ -311,9 +311,9 @@ struct platform_device s5p_device_jpeg = {
311#ifdef CONFIG_S5P_DEV_FIMD0 311#ifdef CONFIG_S5P_DEV_FIMD0
312static struct resource s5p_fimd0_resource[] = { 312static struct resource s5p_fimd0_resource[] = {
313 [0] = DEFINE_RES_MEM(S5P_PA_FIMD0, SZ_32K), 313 [0] = DEFINE_RES_MEM(S5P_PA_FIMD0, SZ_32K),
314 [1] = DEFINE_RES_IRQ(IRQ_FIMD0_VSYNC), 314 [1] = DEFINE_RES_IRQ_NAMED(IRQ_FIMD0_VSYNC, "vsync"),
315 [2] = DEFINE_RES_IRQ(IRQ_FIMD0_FIFO), 315 [2] = DEFINE_RES_IRQ_NAMED(IRQ_FIMD0_FIFO, "fifo"),
316 [3] = DEFINE_RES_IRQ(IRQ_FIMD0_SYSTEM), 316 [3] = DEFINE_RES_IRQ_NAMED(IRQ_FIMD0_SYSTEM, "lcd_sys"),
317}; 317};
318 318
319struct platform_device s5p_device_fimd0 = { 319struct platform_device s5p_device_fimd0 = {
diff --git a/arch/arm/plat-samsung/include/plat/uncompress.h b/arch/arm/plat-samsung/include/plat/uncompress.h
index 438b24846e7f..02b66d723d1a 100644
--- a/arch/arm/plat-samsung/include/plat/uncompress.h
+++ b/arch/arm/plat-samsung/include/plat/uncompress.h
@@ -66,6 +66,9 @@ uart_rd(unsigned int reg)
66 66
67static void putc(int ch) 67static void putc(int ch)
68{ 68{
69 if (!config_enabled(CONFIG_DEBUG_LL))
70 return;
71
69 if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) { 72 if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) {
70 int level; 73 int level;
71 74
@@ -118,7 +121,12 @@ static void arch_decomp_error(const char *x)
118#ifdef CONFIG_S3C_BOOT_UART_FORCE_FIFO 121#ifdef CONFIG_S3C_BOOT_UART_FORCE_FIFO
119static inline void arch_enable_uart_fifo(void) 122static inline void arch_enable_uart_fifo(void)
120{ 123{
121 u32 fifocon = uart_rd(S3C2410_UFCON); 124 u32 fifocon;
125
126 if (!config_enabled(CONFIG_DEBUG_LL))
127 return;
128
129 fifocon = uart_rd(S3C2410_UFCON);
122 130
123 if (!(fifocon & S3C2410_UFCON_FIFOMODE)) { 131 if (!(fifocon & S3C2410_UFCON_FIFOMODE)) {
124 fifocon |= S3C2410_UFCON_RESETBOTH; 132 fifocon |= S3C2410_UFCON_RESETBOTH;
diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c
index 53210ec4e8ec..bd7124c87fea 100644
--- a/arch/arm/plat-samsung/pm.c
+++ b/arch/arm/plat-samsung/pm.c
@@ -16,6 +16,7 @@
16#include <linux/suspend.h> 16#include <linux/suspend.h>
17#include <linux/errno.h> 17#include <linux/errno.h>
18#include <linux/delay.h> 18#include <linux/delay.h>
19#include <linux/of.h>
19#include <linux/serial_core.h> 20#include <linux/serial_core.h>
20#include <linux/io.h> 21#include <linux/io.h>
21 22
@@ -261,7 +262,8 @@ static int s3c_pm_enter(suspend_state_t state)
261 * require a full power-cycle) 262 * require a full power-cycle)
262 */ 263 */
263 264
264 if (!any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) && 265 if (!of_have_populated_dt() &&
266 !any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) &&
265 !any_allowed(s3c_irqwake_eintmask, s3c_irqwake_eintallow)) { 267 !any_allowed(s3c_irqwake_eintmask, s3c_irqwake_eintallow)) {
266 printk(KERN_ERR "%s: No wake-up sources!\n", __func__); 268 printk(KERN_ERR "%s: No wake-up sources!\n", __func__);
267 printk(KERN_ERR "%s: Aborting sleep\n", __func__); 269 printk(KERN_ERR "%s: Aborting sleep\n", __func__);
@@ -270,8 +272,11 @@ static int s3c_pm_enter(suspend_state_t state)
270 272
271 /* save all necessary core registers not covered by the drivers */ 273 /* save all necessary core registers not covered by the drivers */
272 274
273 samsung_pm_save_gpios(); 275 if (!of_have_populated_dt()) {
274 samsung_pm_saved_gpios(); 276 samsung_pm_save_gpios();
277 samsung_pm_saved_gpios();
278 }
279
275 s3c_pm_save_uarts(); 280 s3c_pm_save_uarts();
276 s3c_pm_save_core(); 281 s3c_pm_save_core();
277 282
@@ -310,8 +315,11 @@ static int s3c_pm_enter(suspend_state_t state)
310 315
311 s3c_pm_restore_core(); 316 s3c_pm_restore_core();
312 s3c_pm_restore_uarts(); 317 s3c_pm_restore_uarts();
313 samsung_pm_restore_gpios(); 318
314 s3c_pm_restored_gpios(); 319 if (!of_have_populated_dt()) {
320 samsung_pm_restore_gpios();
321 s3c_pm_restored_gpios();
322 }
315 323
316 s3c_pm_debug_init(); 324 s3c_pm_debug_init();
317 325
diff --git a/arch/arm/vfp/entry.S b/arch/arm/vfp/entry.S
index 323ce1a62bbf..46e17492fd1f 100644
--- a/arch/arm/vfp/entry.S
+++ b/arch/arm/vfp/entry.S
@@ -60,7 +60,7 @@ ENTRY(vfp_testing_entry)
60 str r11, [r10, #TI_PREEMPT] 60 str r11, [r10, #TI_PREEMPT]
61#endif 61#endif
62 ldr r0, VFP_arch_address 62 ldr r0, VFP_arch_address
63 str r5, [r0] @ known non-zero value 63 str r0, [r0] @ set to non-zero value
64 mov pc, r9 @ we have handled the fault 64 mov pc, r9 @ we have handled the fault
65ENDPROC(vfp_testing_entry) 65ENDPROC(vfp_testing_entry)
66 66
diff --git a/arch/arm64/kernel/arm64ksyms.c b/arch/arm64/kernel/arm64ksyms.c
index 7df1aad29b67..41b4f626d554 100644
--- a/arch/arm64/kernel/arm64ksyms.c
+++ b/arch/arm64/kernel/arm64ksyms.c
@@ -34,6 +34,7 @@ EXPORT_SYMBOL(__strnlen_user);
34EXPORT_SYMBOL(__strncpy_from_user); 34EXPORT_SYMBOL(__strncpy_from_user);
35 35
36EXPORT_SYMBOL(copy_page); 36EXPORT_SYMBOL(copy_page);
37EXPORT_SYMBOL(clear_page);
37 38
38EXPORT_SYMBOL(__copy_from_user); 39EXPORT_SYMBOL(__copy_from_user);
39EXPORT_SYMBOL(__copy_to_user); 40EXPORT_SYMBOL(__copy_to_user);
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index c7e047049f2c..1d1314280a03 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -390,6 +390,16 @@ el0_sync_compat:
390 b.eq el0_fpsimd_exc 390 b.eq el0_fpsimd_exc
391 cmp x24, #ESR_EL1_EC_UNKNOWN // unknown exception in EL0 391 cmp x24, #ESR_EL1_EC_UNKNOWN // unknown exception in EL0
392 b.eq el0_undef 392 b.eq el0_undef
393 cmp x24, #ESR_EL1_EC_CP15_32 // CP15 MRC/MCR trap
394 b.eq el0_undef
395 cmp x24, #ESR_EL1_EC_CP15_64 // CP15 MRRC/MCRR trap
396 b.eq el0_undef
397 cmp x24, #ESR_EL1_EC_CP14_MR // CP14 MRC/MCR trap
398 b.eq el0_undef
399 cmp x24, #ESR_EL1_EC_CP14_LS // CP14 LDC/STC trap
400 b.eq el0_undef
401 cmp x24, #ESR_EL1_EC_CP14_64 // CP14 MRRC/MCRR trap
402 b.eq el0_undef
393 cmp x24, #ESR_EL1_EC_BREAKPT_EL0 // debug exception in EL0 403 cmp x24, #ESR_EL1_EC_BREAKPT_EL0 // debug exception in EL0
394 b.ge el0_dbg 404 b.ge el0_dbg
395 b el0_inv 405 b el0_inv
diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c
index 1e49e5eb81e9..9ba33c40cdf8 100644
--- a/arch/arm64/kernel/perf_event.c
+++ b/arch/arm64/kernel/perf_event.c
@@ -1336,6 +1336,7 @@ void perf_callchain_user(struct perf_callchain_entry *entry,
1336 return; 1336 return;
1337 } 1337 }
1338 1338
1339 perf_callchain_store(entry, regs->pc);
1339 tail = (struct frame_tail __user *)regs->regs[29]; 1340 tail = (struct frame_tail __user *)regs->regs[29];
1340 1341
1341 while (entry->nr < PERF_MAX_STACK_DEPTH && 1342 while (entry->nr < PERF_MAX_STACK_DEPTH &&
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index 61d7dd29f756..f30852d28590 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -267,7 +267,8 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs)
267 return; 267 return;
268#endif 268#endif
269 269
270 if (show_unhandled_signals) { 270 if (show_unhandled_signals && unhandled_signal(current, SIGILL) &&
271 printk_ratelimit()) {
271 pr_info("%s[%d]: undefined instruction: pc=%p\n", 272 pr_info("%s[%d]: undefined instruction: pc=%p\n",
272 current->comm, task_pid_nr(current), pc); 273 current->comm, task_pid_nr(current), pc);
273 dump_instr(KERN_INFO, regs); 274 dump_instr(KERN_INFO, regs);
@@ -294,7 +295,7 @@ asmlinkage long do_ni_syscall(struct pt_regs *regs)
294 } 295 }
295#endif 296#endif
296 297
297 if (show_unhandled_signals) { 298 if (show_unhandled_signals && printk_ratelimit()) {
298 pr_info("%s[%d]: syscall %d\n", current->comm, 299 pr_info("%s[%d]: syscall %d\n", current->comm,
299 task_pid_nr(current), (int)regs->syscallno); 300 task_pid_nr(current), (int)regs->syscallno);
300 dump_instr("", regs); 301 dump_instr("", regs);
@@ -310,14 +311,20 @@ asmlinkage long do_ni_syscall(struct pt_regs *regs)
310 */ 311 */
311asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr) 312asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr)
312{ 313{
314 siginfo_t info;
315 void __user *pc = (void __user *)instruction_pointer(regs);
313 console_verbose(); 316 console_verbose();
314 317
315 pr_crit("Bad mode in %s handler detected, code 0x%08x\n", 318 pr_crit("Bad mode in %s handler detected, code 0x%08x\n",
316 handler[reason], esr); 319 handler[reason], esr);
320 __show_regs(regs);
321
322 info.si_signo = SIGILL;
323 info.si_errno = 0;
324 info.si_code = ILL_ILLOPC;
325 info.si_addr = pc;
317 326
318 die("Oops - bad mode", regs, 0); 327 arm64_notify_die("Oops - bad mode", regs, &info, 0);
319 local_irq_disable();
320 panic("bad mode");
321} 328}
322 329
323void __pte_error(const char *file, int line, unsigned long val) 330void __pte_error(const char *file, int line, unsigned long val)
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 98af6e760cce..1426468b77f3 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -113,7 +113,8 @@ static void __do_user_fault(struct task_struct *tsk, unsigned long addr,
113{ 113{
114 struct siginfo si; 114 struct siginfo si;
115 115
116 if (show_unhandled_signals) { 116 if (show_unhandled_signals && unhandled_signal(tsk, sig) &&
117 printk_ratelimit()) {
117 pr_info("%s[%d]: unhandled %s (%d) at 0x%08lx, esr 0x%03x\n", 118 pr_info("%s[%d]: unhandled %s (%d) at 0x%08lx, esr 0x%03x\n",
118 tsk->comm, task_pid_nr(tsk), fault_name(esr), sig, 119 tsk->comm, task_pid_nr(tsk), fault_name(esr), sig,
119 addr, esr); 120 addr, esr);
diff --git a/arch/ia64/include/asm/irqflags.h b/arch/ia64/include/asm/irqflags.h
index 1bf2cf2f4ab4..cec6c06b52c0 100644
--- a/arch/ia64/include/asm/irqflags.h
+++ b/arch/ia64/include/asm/irqflags.h
@@ -11,6 +11,7 @@
11#define _ASM_IA64_IRQFLAGS_H 11#define _ASM_IA64_IRQFLAGS_H
12 12
13#include <asm/pal.h> 13#include <asm/pal.h>
14#include <asm/kregs.h>
14 15
15#ifdef CONFIG_IA64_DEBUG_IRQ 16#ifdef CONFIG_IA64_DEBUG_IRQ
16extern unsigned long last_cli_ip; 17extern unsigned long last_cli_ip;
diff --git a/arch/ia64/include/asm/tlb.h b/arch/ia64/include/asm/tlb.h
index c3ffe3e54edc..ef3a9de01954 100644
--- a/arch/ia64/include/asm/tlb.h
+++ b/arch/ia64/include/asm/tlb.h
@@ -46,12 +46,6 @@
46#include <asm/tlbflush.h> 46#include <asm/tlbflush.h>
47#include <asm/machvec.h> 47#include <asm/machvec.h>
48 48
49#ifdef CONFIG_SMP
50# define tlb_fast_mode(tlb) ((tlb)->nr == ~0U)
51#else
52# define tlb_fast_mode(tlb) (1)
53#endif
54
55/* 49/*
56 * If we can't allocate a page to make a big batch of page pointers 50 * If we can't allocate a page to make a big batch of page pointers
57 * to work on, then just handle a few from the on-stack structure. 51 * to work on, then just handle a few from the on-stack structure.
@@ -60,7 +54,7 @@
60 54
61struct mmu_gather { 55struct mmu_gather {
62 struct mm_struct *mm; 56 struct mm_struct *mm;
63 unsigned int nr; /* == ~0U => fast mode */ 57 unsigned int nr;
64 unsigned int max; 58 unsigned int max;
65 unsigned char fullmm; /* non-zero means full mm flush */ 59 unsigned char fullmm; /* non-zero means full mm flush */
66 unsigned char need_flush; /* really unmapped some PTEs? */ 60 unsigned char need_flush; /* really unmapped some PTEs? */
@@ -103,6 +97,7 @@ extern struct ia64_tr_entry *ia64_idtrs[NR_CPUS];
103static inline void 97static inline void
104ia64_tlb_flush_mmu (struct mmu_gather *tlb, unsigned long start, unsigned long end) 98ia64_tlb_flush_mmu (struct mmu_gather *tlb, unsigned long start, unsigned long end)
105{ 99{
100 unsigned long i;
106 unsigned int nr; 101 unsigned int nr;
107 102
108 if (!tlb->need_flush) 103 if (!tlb->need_flush)
@@ -141,13 +136,11 @@ ia64_tlb_flush_mmu (struct mmu_gather *tlb, unsigned long start, unsigned long e
141 136
142 /* lastly, release the freed pages */ 137 /* lastly, release the freed pages */
143 nr = tlb->nr; 138 nr = tlb->nr;
144 if (!tlb_fast_mode(tlb)) { 139
145 unsigned long i; 140 tlb->nr = 0;
146 tlb->nr = 0; 141 tlb->start_addr = ~0UL;
147 tlb->start_addr = ~0UL; 142 for (i = 0; i < nr; ++i)
148 for (i = 0; i < nr; ++i) 143 free_page_and_swap_cache(tlb->pages[i]);
149 free_page_and_swap_cache(tlb->pages[i]);
150 }
151} 144}
152 145
153static inline void __tlb_alloc_page(struct mmu_gather *tlb) 146static inline void __tlb_alloc_page(struct mmu_gather *tlb)
@@ -167,20 +160,7 @@ tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int full_m
167 tlb->mm = mm; 160 tlb->mm = mm;
168 tlb->max = ARRAY_SIZE(tlb->local); 161 tlb->max = ARRAY_SIZE(tlb->local);
169 tlb->pages = tlb->local; 162 tlb->pages = tlb->local;
170 /* 163 tlb->nr = 0;
171 * Use fast mode if only 1 CPU is online.
172 *
173 * It would be tempting to turn on fast-mode for full_mm_flush as well. But this
174 * doesn't work because of speculative accesses and software prefetching: the page
175 * table of "mm" may (and usually is) the currently active page table and even
176 * though the kernel won't do any user-space accesses during the TLB shoot down, a
177 * compiler might use speculation or lfetch.fault on what happens to be a valid
178 * user-space address. This in turn could trigger a TLB miss fault (or a VHPT
179 * walk) and re-insert a TLB entry we just removed. Slow mode avoids such
180 * problems. (We could make fast-mode work by switching the current task to a
181 * different "mm" during the shootdown.) --davidm 08/02/2002
182 */
183 tlb->nr = (num_online_cpus() == 1) ? ~0U : 0;
184 tlb->fullmm = full_mm_flush; 164 tlb->fullmm = full_mm_flush;
185 tlb->start_addr = ~0UL; 165 tlb->start_addr = ~0UL;
186} 166}
@@ -214,11 +194,6 @@ static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
214{ 194{
215 tlb->need_flush = 1; 195 tlb->need_flush = 1;
216 196
217 if (tlb_fast_mode(tlb)) {
218 free_page_and_swap_cache(page);
219 return 1; /* avoid calling tlb_flush_mmu */
220 }
221
222 if (!tlb->nr && tlb->pages == tlb->local) 197 if (!tlb->nr && tlb->pages == tlb->local)
223 __tlb_alloc_page(tlb); 198 __tlb_alloc_page(tlb);
224 199
diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig
index 90d3109c82f4..19325e117eea 100644
--- a/arch/m68k/configs/amiga_defconfig
+++ b/arch/m68k/configs/amiga_defconfig
@@ -1,55 +1,78 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-amiga" 1CONFIG_LOCALVERSION="-amiga"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_AMIGA=y 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_ATARI_PARTITION=y
18CONFIG_MAC_PARTITION=y
19CONFIG_BSD_DISKLABEL=y
20CONFIG_MINIX_SUBPARTITION=y
21CONFIG_SOLARIS_X86_PARTITION=y
22CONFIG_UNIXWARE_DISKLABEL=y
23CONFIG_SUN_PARTITION=y
24# CONFIG_EFI_PARTITION is not set
25CONFIG_SYSV68_PARTITION=y
26CONFIG_IOSCHED_DEADLINE=m
14CONFIG_M68020=y 27CONFIG_M68020=y
15CONFIG_M68030=y 28CONFIG_M68030=y
16CONFIG_M68040=y 29CONFIG_M68040=y
17CONFIG_M68060=y 30CONFIG_M68060=y
18CONFIG_BINFMT_AOUT=m 31CONFIG_AMIGA=y
19CONFIG_BINFMT_MISC=m
20CONFIG_ZORRO=y 32CONFIG_ZORRO=y
21CONFIG_AMIGA_PCMCIA=y 33CONFIG_AMIGA_PCMCIA=y
22CONFIG_HEARTBEAT=y
23CONFIG_PROC_HARDWARE=y
24CONFIG_ZORRO_NAMES=y 34CONFIG_ZORRO_NAMES=y
35# CONFIG_COMPACTION is not set
36CONFIG_CLEANCACHE=y
37# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
38CONFIG_BINFMT_AOUT=m
39CONFIG_BINFMT_MISC=m
25CONFIG_NET=y 40CONFIG_NET=y
26CONFIG_PACKET=y 41CONFIG_PACKET=y
42CONFIG_PACKET_DIAG=m
27CONFIG_UNIX=y 43CONFIG_UNIX=y
44CONFIG_UNIX_DIAG=m
45CONFIG_XFRM_MIGRATE=y
28CONFIG_NET_KEY=y 46CONFIG_NET_KEY=y
29CONFIG_NET_KEY_MIGRATE=y
30CONFIG_INET=y 47CONFIG_INET=y
31CONFIG_IP_PNP=y 48CONFIG_IP_PNP=y
49CONFIG_IP_PNP_DHCP=y
50CONFIG_IP_PNP_BOOTP=y
51CONFIG_IP_PNP_RARP=y
32CONFIG_NET_IPIP=m 52CONFIG_NET_IPIP=m
53CONFIG_NET_IPGRE_DEMUX=m
33CONFIG_NET_IPGRE=m 54CONFIG_NET_IPGRE=m
34CONFIG_SYN_COOKIES=y 55CONFIG_SYN_COOKIES=y
56CONFIG_NET_IPVTI=m
35CONFIG_INET_AH=m 57CONFIG_INET_AH=m
36CONFIG_INET_ESP=m 58CONFIG_INET_ESP=m
37CONFIG_INET_IPCOMP=m 59CONFIG_INET_IPCOMP=m
38CONFIG_INET_XFRM_MODE_TRANSPORT=m 60CONFIG_INET_XFRM_MODE_TRANSPORT=m
39CONFIG_INET_XFRM_MODE_TUNNEL=m 61CONFIG_INET_XFRM_MODE_TUNNEL=m
40CONFIG_INET_XFRM_MODE_BEET=m 62CONFIG_INET_XFRM_MODE_BEET=m
63# CONFIG_INET_LRO is not set
41CONFIG_INET_DIAG=m 64CONFIG_INET_DIAG=m
65CONFIG_INET_UDP_DIAG=m
42CONFIG_IPV6_PRIVACY=y 66CONFIG_IPV6_PRIVACY=y
43CONFIG_IPV6_ROUTER_PREF=y 67CONFIG_IPV6_ROUTER_PREF=y
44CONFIG_IPV6_ROUTE_INFO=y
45CONFIG_INET6_AH=m 68CONFIG_INET6_AH=m
46CONFIG_INET6_ESP=m 69CONFIG_INET6_ESP=m
47CONFIG_INET6_IPCOMP=m 70CONFIG_INET6_IPCOMP=m
48CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 71CONFIG_IPV6_GRE=m
49CONFIG_IPV6_TUNNEL=m
50CONFIG_NETFILTER=y 72CONFIG_NETFILTER=y
51CONFIG_NETFILTER_NETLINK_QUEUE=m
52CONFIG_NF_CONNTRACK=m 73CONFIG_NF_CONNTRACK=m
74CONFIG_NF_CONNTRACK_ZONES=y
75# CONFIG_NF_CONNTRACK_PROCFS is not set
53# CONFIG_NF_CT_PROTO_DCCP is not set 76# CONFIG_NF_CT_PROTO_DCCP is not set
54CONFIG_NF_CT_PROTO_UDPLITE=m 77CONFIG_NF_CT_PROTO_UDPLITE=m
55CONFIG_NF_CONNTRACK_AMANDA=m 78CONFIG_NF_CONNTRACK_AMANDA=m
@@ -57,25 +80,37 @@ CONFIG_NF_CONNTRACK_FTP=m
57CONFIG_NF_CONNTRACK_H323=m 80CONFIG_NF_CONNTRACK_H323=m
58CONFIG_NF_CONNTRACK_IRC=m 81CONFIG_NF_CONNTRACK_IRC=m
59CONFIG_NF_CONNTRACK_NETBIOS_NS=m 82CONFIG_NF_CONNTRACK_NETBIOS_NS=m
83CONFIG_NF_CONNTRACK_SNMP=m
60CONFIG_NF_CONNTRACK_PPTP=m 84CONFIG_NF_CONNTRACK_PPTP=m
61CONFIG_NF_CONNTRACK_SANE=m 85CONFIG_NF_CONNTRACK_SANE=m
62CONFIG_NF_CONNTRACK_SIP=m 86CONFIG_NF_CONNTRACK_SIP=m
63CONFIG_NF_CONNTRACK_TFTP=m 87CONFIG_NF_CONNTRACK_TFTP=m
88CONFIG_NETFILTER_XT_SET=m
89CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
64CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 90CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
65CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 91CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
66CONFIG_NETFILTER_XT_TARGET_DSCP=m 92CONFIG_NETFILTER_XT_TARGET_DSCP=m
93CONFIG_NETFILTER_XT_TARGET_HMARK=m
94CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
95CONFIG_NETFILTER_XT_TARGET_LOG=m
67CONFIG_NETFILTER_XT_TARGET_MARK=m 96CONFIG_NETFILTER_XT_TARGET_MARK=m
68CONFIG_NETFILTER_XT_TARGET_NFLOG=m 97CONFIG_NETFILTER_XT_TARGET_NFLOG=m
69CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 98CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
99CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
100CONFIG_NETFILTER_XT_TARGET_TEE=m
70CONFIG_NETFILTER_XT_TARGET_TRACE=m 101CONFIG_NETFILTER_XT_TARGET_TRACE=m
71CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 102CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
72CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 103CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
104CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
105CONFIG_NETFILTER_XT_MATCH_BPF=m
73CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 106CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
74CONFIG_NETFILTER_XT_MATCH_COMMENT=m 107CONFIG_NETFILTER_XT_MATCH_COMMENT=m
75CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 108CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
109CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
76CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 110CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
77CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 111CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
78CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 112CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
113CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
79CONFIG_NETFILTER_XT_MATCH_DSCP=m 114CONFIG_NETFILTER_XT_MATCH_DSCP=m
80CONFIG_NETFILTER_XT_MATCH_ESP=m 115CONFIG_NETFILTER_XT_MATCH_ESP=m
81CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 116CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -86,6 +121,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
86CONFIG_NETFILTER_XT_MATCH_MAC=m 121CONFIG_NETFILTER_XT_MATCH_MAC=m
87CONFIG_NETFILTER_XT_MATCH_MARK=m 122CONFIG_NETFILTER_XT_MATCH_MARK=m
88CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 123CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
124CONFIG_NETFILTER_XT_MATCH_NFACCT=m
125CONFIG_NETFILTER_XT_MATCH_OSF=m
89CONFIG_NETFILTER_XT_MATCH_OWNER=m 126CONFIG_NETFILTER_XT_MATCH_OWNER=m
90CONFIG_NETFILTER_XT_MATCH_POLICY=m 127CONFIG_NETFILTER_XT_MATCH_POLICY=m
91CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 128CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -99,22 +136,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
99CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 136CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
100CONFIG_NETFILTER_XT_MATCH_TIME=m 137CONFIG_NETFILTER_XT_MATCH_TIME=m
101CONFIG_NETFILTER_XT_MATCH_U32=m 138CONFIG_NETFILTER_XT_MATCH_U32=m
139CONFIG_IP_SET=m
140CONFIG_IP_SET_BITMAP_IP=m
141CONFIG_IP_SET_BITMAP_IPMAC=m
142CONFIG_IP_SET_BITMAP_PORT=m
143CONFIG_IP_SET_HASH_IP=m
144CONFIG_IP_SET_HASH_IPPORT=m
145CONFIG_IP_SET_HASH_IPPORTIP=m
146CONFIG_IP_SET_HASH_IPPORTNET=m
147CONFIG_IP_SET_HASH_NET=m
148CONFIG_IP_SET_HASH_NETPORT=m
149CONFIG_IP_SET_HASH_NETIFACE=m
150CONFIG_IP_SET_LIST_SET=m
102CONFIG_NF_CONNTRACK_IPV4=m 151CONFIG_NF_CONNTRACK_IPV4=m
103CONFIG_IP_NF_QUEUE=m
104CONFIG_IP_NF_IPTABLES=m 152CONFIG_IP_NF_IPTABLES=m
105CONFIG_IP_NF_MATCH_ADDRTYPE=m
106CONFIG_IP_NF_MATCH_AH=m 153CONFIG_IP_NF_MATCH_AH=m
107CONFIG_IP_NF_MATCH_ECN=m 154CONFIG_IP_NF_MATCH_ECN=m
155CONFIG_IP_NF_MATCH_RPFILTER=m
108CONFIG_IP_NF_MATCH_TTL=m 156CONFIG_IP_NF_MATCH_TTL=m
109CONFIG_IP_NF_FILTER=m 157CONFIG_IP_NF_FILTER=m
110CONFIG_IP_NF_TARGET_REJECT=m 158CONFIG_IP_NF_TARGET_REJECT=m
111CONFIG_IP_NF_TARGET_LOG=m
112CONFIG_IP_NF_TARGET_ULOG=m 159CONFIG_IP_NF_TARGET_ULOG=m
113CONFIG_NF_NAT=m 160CONFIG_NF_NAT_IPV4=m
114CONFIG_IP_NF_TARGET_MASQUERADE=m 161CONFIG_IP_NF_TARGET_MASQUERADE=m
115CONFIG_IP_NF_TARGET_NETMAP=m 162CONFIG_IP_NF_TARGET_NETMAP=m
116CONFIG_IP_NF_TARGET_REDIRECT=m 163CONFIG_IP_NF_TARGET_REDIRECT=m
117CONFIG_NF_NAT_SNMP_BASIC=m
118CONFIG_IP_NF_MANGLE=m 164CONFIG_IP_NF_MANGLE=m
119CONFIG_IP_NF_TARGET_CLUSTERIP=m 165CONFIG_IP_NF_TARGET_CLUSTERIP=m
120CONFIG_IP_NF_TARGET_ECN=m 166CONFIG_IP_NF_TARGET_ECN=m
@@ -124,7 +170,6 @@ CONFIG_IP_NF_ARPTABLES=m
124CONFIG_IP_NF_ARPFILTER=m 170CONFIG_IP_NF_ARPFILTER=m
125CONFIG_IP_NF_ARP_MANGLE=m 171CONFIG_IP_NF_ARP_MANGLE=m
126CONFIG_NF_CONNTRACK_IPV6=m 172CONFIG_NF_CONNTRACK_IPV6=m
127CONFIG_IP6_NF_QUEUE=m
128CONFIG_IP6_NF_IPTABLES=m 173CONFIG_IP6_NF_IPTABLES=m
129CONFIG_IP6_NF_MATCH_AH=m 174CONFIG_IP6_NF_MATCH_AH=m
130CONFIG_IP6_NF_MATCH_EUI64=m 175CONFIG_IP6_NF_MATCH_EUI64=m
@@ -133,18 +178,30 @@ CONFIG_IP6_NF_MATCH_OPTS=m
133CONFIG_IP6_NF_MATCH_HL=m 178CONFIG_IP6_NF_MATCH_HL=m
134CONFIG_IP6_NF_MATCH_IPV6HEADER=m 179CONFIG_IP6_NF_MATCH_IPV6HEADER=m
135CONFIG_IP6_NF_MATCH_MH=m 180CONFIG_IP6_NF_MATCH_MH=m
181CONFIG_IP6_NF_MATCH_RPFILTER=m
136CONFIG_IP6_NF_MATCH_RT=m 182CONFIG_IP6_NF_MATCH_RT=m
137CONFIG_IP6_NF_TARGET_HL=m 183CONFIG_IP6_NF_TARGET_HL=m
138CONFIG_IP6_NF_TARGET_LOG=m
139CONFIG_IP6_NF_FILTER=m 184CONFIG_IP6_NF_FILTER=m
140CONFIG_IP6_NF_TARGET_REJECT=m 185CONFIG_IP6_NF_TARGET_REJECT=m
141CONFIG_IP6_NF_MANGLE=m 186CONFIG_IP6_NF_MANGLE=m
142CONFIG_IP6_NF_RAW=m 187CONFIG_IP6_NF_RAW=m
188CONFIG_NF_NAT_IPV6=m
189CONFIG_IP6_NF_TARGET_MASQUERADE=m
190CONFIG_IP6_NF_TARGET_NPT=m
143CONFIG_IP_DCCP=m 191CONFIG_IP_DCCP=m
144# CONFIG_IP_DCCP_CCID3 is not set 192# CONFIG_IP_DCCP_CCID3 is not set
193CONFIG_SCTP_COOKIE_HMAC_SHA1=y
194CONFIG_RDS=m
195CONFIG_RDS_TCP=m
196CONFIG_L2TP=m
145CONFIG_ATALK=m 197CONFIG_ATALK=m
198CONFIG_BATMAN_ADV=m
199CONFIG_BATMAN_ADV_DAT=y
200# CONFIG_WIRELESS is not set
146CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 201CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
202CONFIG_DEVTMPFS=y
147# CONFIG_FIRMWARE_IN_KERNEL is not set 203# CONFIG_FIRMWARE_IN_KERNEL is not set
204# CONFIG_FW_LOADER_USER_HELPER is not set
148CONFIG_CONNECTOR=m 205CONFIG_CONNECTOR=m
149CONFIG_PARPORT=m 206CONFIG_PARPORT=m
150CONFIG_PARPORT_AMIGA=m 207CONFIG_PARPORT_AMIGA=m
@@ -154,11 +211,13 @@ CONFIG_AMIGA_FLOPPY=y
154CONFIG_AMIGA_Z2RAM=y 211CONFIG_AMIGA_Z2RAM=y
155CONFIG_BLK_DEV_LOOP=y 212CONFIG_BLK_DEV_LOOP=y
156CONFIG_BLK_DEV_CRYPTOLOOP=m 213CONFIG_BLK_DEV_CRYPTOLOOP=m
214CONFIG_BLK_DEV_DRBD=m
157CONFIG_BLK_DEV_NBD=m 215CONFIG_BLK_DEV_NBD=m
158CONFIG_BLK_DEV_RAM=y 216CONFIG_BLK_DEV_RAM=y
159CONFIG_CDROM_PKTCDVD=m 217CONFIG_CDROM_PKTCDVD=m
160CONFIG_ATA_OVER_ETH=m 218CONFIG_ATA_OVER_ETH=m
161CONFIG_IDE=y 219CONFIG_IDE=y
220CONFIG_IDE_GD_ATAPI=y
162CONFIG_BLK_DEV_IDECD=y 221CONFIG_BLK_DEV_IDECD=y
163CONFIG_BLK_DEV_GAYLE=y 222CONFIG_BLK_DEV_GAYLE=y
164CONFIG_BLK_DEV_BUDDHA=y 223CONFIG_BLK_DEV_BUDDHA=y
@@ -172,57 +231,77 @@ CONFIG_BLK_DEV_SR=y
172CONFIG_BLK_DEV_SR_VENDOR=y 231CONFIG_BLK_DEV_SR_VENDOR=y
173CONFIG_CHR_DEV_SG=m 232CONFIG_CHR_DEV_SG=m
174CONFIG_SCSI_CONSTANTS=y 233CONFIG_SCSI_CONSTANTS=y
175CONFIG_SCSI_SAS_LIBSAS=m 234CONFIG_SCSI_SAS_ATTRS=m
176# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
177CONFIG_SCSI_SRP_ATTRS=m
178CONFIG_SCSI_SRP_TGT_ATTRS=y
179CONFIG_ISCSI_TCP=m 235CONFIG_ISCSI_TCP=m
236CONFIG_ISCSI_BOOT_SYSFS=m
180CONFIG_A3000_SCSI=y 237CONFIG_A3000_SCSI=y
181CONFIG_A2091_SCSI=y 238CONFIG_A2091_SCSI=y
182CONFIG_GVP11_SCSI=y 239CONFIG_GVP11_SCSI=y
183CONFIG_SCSI_A4000T=y 240CONFIG_SCSI_A4000T=y
184CONFIG_SCSI_ZORRO7XX=y 241CONFIG_SCSI_ZORRO7XX=y
185CONFIG_MD=y 242CONFIG_MD=y
186CONFIG_BLK_DEV_MD=m
187CONFIG_MD_LINEAR=m 243CONFIG_MD_LINEAR=m
188CONFIG_MD_RAID0=m 244CONFIG_MD_RAID0=m
189CONFIG_MD_RAID1=m
190CONFIG_MD_RAID456=m
191CONFIG_BLK_DEV_DM=m 245CONFIG_BLK_DEV_DM=m
192CONFIG_DM_CRYPT=m 246CONFIG_DM_CRYPT=m
193CONFIG_DM_SNAPSHOT=m 247CONFIG_DM_SNAPSHOT=m
248CONFIG_DM_THIN_PROVISIONING=m
249CONFIG_DM_CACHE=m
194CONFIG_DM_MIRROR=m 250CONFIG_DM_MIRROR=m
251CONFIG_DM_RAID=m
195CONFIG_DM_ZERO=m 252CONFIG_DM_ZERO=m
196CONFIG_DM_MULTIPATH=m 253CONFIG_DM_MULTIPATH=m
197CONFIG_DM_UEVENT=y 254CONFIG_DM_UEVENT=y
255CONFIG_TARGET_CORE=m
256CONFIG_TCM_IBLOCK=m
257CONFIG_TCM_FILEIO=m
258CONFIG_TCM_PSCSI=m
198CONFIG_NETDEVICES=y 259CONFIG_NETDEVICES=y
199CONFIG_DUMMY=m 260CONFIG_DUMMY=m
200CONFIG_MACVLAN=m
201CONFIG_EQUALIZER=m 261CONFIG_EQUALIZER=m
262CONFIG_NET_TEAM=m
263CONFIG_NET_TEAM_MODE_BROADCAST=m
264CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
265CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
266CONFIG_NET_TEAM_MODE_LOADBALANCE=m
267CONFIG_VXLAN=m
268CONFIG_NETCONSOLE=m
269CONFIG_NETCONSOLE_DYNAMIC=y
202CONFIG_VETH=m 270CONFIG_VETH=m
203CONFIG_NET_ETHERNET=y 271# CONFIG_NET_VENDOR_3COM is not set
204CONFIG_ARIADNE=y
205CONFIG_A2065=y 272CONFIG_A2065=y
273CONFIG_ARIADNE=y
274# CONFIG_NET_CADENCE is not set
275# CONFIG_NET_VENDOR_BROADCOM is not set
276# CONFIG_NET_VENDOR_CIRRUS is not set
277# CONFIG_NET_VENDOR_FUJITSU is not set
278# CONFIG_NET_VENDOR_HP is not set
279# CONFIG_NET_VENDOR_INTEL is not set
280# CONFIG_NET_VENDOR_MARVELL is not set
281# CONFIG_NET_VENDOR_MICREL is not set
206CONFIG_HYDRA=y 282CONFIG_HYDRA=y
207CONFIG_ZORRO8390=y
208CONFIG_APNE=y 283CONFIG_APNE=y
209# CONFIG_NETDEV_1000 is not set 284CONFIG_ZORRO8390=y
210# CONFIG_NETDEV_10000 is not set 285# CONFIG_NET_VENDOR_SEEQ is not set
286# CONFIG_NET_VENDOR_SMSC is not set
287# CONFIG_NET_VENDOR_STMICRO is not set
288# CONFIG_NET_VENDOR_WIZNET is not set
211CONFIG_PPP=m 289CONFIG_PPP=m
212CONFIG_PPP_FILTER=y
213CONFIG_PPP_ASYNC=m
214CONFIG_PPP_SYNC_TTY=m
215CONFIG_PPP_DEFLATE=m
216CONFIG_PPP_BSDCOMP=m 290CONFIG_PPP_BSDCOMP=m
291CONFIG_PPP_DEFLATE=m
292CONFIG_PPP_FILTER=y
217CONFIG_PPP_MPPE=m 293CONFIG_PPP_MPPE=m
218CONFIG_PPPOE=m 294CONFIG_PPPOE=m
295CONFIG_PPTP=m
296CONFIG_PPPOL2TP=m
297CONFIG_PPP_ASYNC=m
298CONFIG_PPP_SYNC_TTY=m
219CONFIG_SLIP=m 299CONFIG_SLIP=m
220CONFIG_SLIP_COMPRESSED=y 300CONFIG_SLIP_COMPRESSED=y
221CONFIG_SLIP_SMART=y 301CONFIG_SLIP_SMART=y
222CONFIG_SLIP_MODE_SLIP6=y 302CONFIG_SLIP_MODE_SLIP6=y
223CONFIG_NETCONSOLE=m 303# CONFIG_WLAN is not set
224CONFIG_NETCONSOLE_DYNAMIC=y 304CONFIG_INPUT_EVDEV=m
225CONFIG_INPUT_FF_MEMLESS=m
226CONFIG_KEYBOARD_AMIGA=y 305CONFIG_KEYBOARD_AMIGA=y
227# CONFIG_KEYBOARD_ATKBD is not set 306# CONFIG_KEYBOARD_ATKBD is not set
228# CONFIG_MOUSE_PS2 is not set 307# CONFIG_MOUSE_PS2 is not set
@@ -233,11 +312,14 @@ CONFIG_INPUT_MISC=y
233CONFIG_INPUT_M68K_BEEP=m 312CONFIG_INPUT_M68K_BEEP=m
234# CONFIG_SERIO is not set 313# CONFIG_SERIO is not set
235CONFIG_VT_HW_CONSOLE_BINDING=y 314CONFIG_VT_HW_CONSOLE_BINDING=y
315# CONFIG_LEGACY_PTYS is not set
236# CONFIG_DEVKMEM is not set 316# CONFIG_DEVKMEM is not set
237CONFIG_PRINTER=m 317CONFIG_PRINTER=m
238# CONFIG_HW_RANDOM is not set 318# CONFIG_HW_RANDOM is not set
239CONFIG_GEN_RTC=m 319CONFIG_NTP_PPS=y
240CONFIG_GEN_RTC_X=y 320CONFIG_PPS_CLIENT_LDISC=m
321CONFIG_PPS_CLIENT_PARPORT=m
322CONFIG_PTP_1588_CLOCK=m
241# CONFIG_HWMON is not set 323# CONFIG_HWMON is not set
242CONFIG_FB=y 324CONFIG_FB=y
243CONFIG_FB_CIRRUS=y 325CONFIG_FB_CIRRUS=y
@@ -252,48 +334,64 @@ CONFIG_SOUND=m
252CONFIG_DMASOUND_PAULA=m 334CONFIG_DMASOUND_PAULA=m
253CONFIG_HID=m 335CONFIG_HID=m
254CONFIG_HIDRAW=y 336CONFIG_HIDRAW=y
337CONFIG_UHID=m
338# CONFIG_HID_GENERIC is not set
255# CONFIG_USB_SUPPORT is not set 339# CONFIG_USB_SUPPORT is not set
340CONFIG_RTC_CLASS=y
341CONFIG_RTC_DRV_MSM6242=m
342CONFIG_RTC_DRV_RP5C01=m
343# CONFIG_IOMMU_SUPPORT is not set
344CONFIG_HEARTBEAT=y
345CONFIG_PROC_HARDWARE=y
256CONFIG_AMIGA_BUILTIN_SERIAL=y 346CONFIG_AMIGA_BUILTIN_SERIAL=y
257CONFIG_SERIAL_CONSOLE=y 347CONFIG_SERIAL_CONSOLE=y
258CONFIG_EXT2_FS=y 348CONFIG_EXT2_FS=y
259CONFIG_EXT3_FS=y 349CONFIG_EXT3_FS=y
260# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 350# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
261# CONFIG_EXT3_FS_XATTR is not set 351# CONFIG_EXT3_FS_XATTR is not set
352CONFIG_EXT4_FS=y
262CONFIG_REISERFS_FS=m 353CONFIG_REISERFS_FS=m
263CONFIG_JFS_FS=m 354CONFIG_JFS_FS=m
264CONFIG_XFS_FS=m 355CONFIG_XFS_FS=m
265CONFIG_OCFS2_FS=m 356CONFIG_OCFS2_FS=m
266# CONFIG_OCFS2_FS_STATS is not set
267# CONFIG_OCFS2_DEBUG_MASKLOG is not set 357# CONFIG_OCFS2_DEBUG_MASKLOG is not set
358CONFIG_FANOTIFY=y
268CONFIG_QUOTA_NETLINK_INTERFACE=y 359CONFIG_QUOTA_NETLINK_INTERFACE=y
269# CONFIG_PRINT_QUOTA_WARNING is not set 360# CONFIG_PRINT_QUOTA_WARNING is not set
270CONFIG_AUTOFS_FS=m
271CONFIG_AUTOFS4_FS=m 361CONFIG_AUTOFS4_FS=m
272CONFIG_FUSE_FS=m 362CONFIG_FUSE_FS=m
363CONFIG_CUSE=m
273CONFIG_ISO9660_FS=y 364CONFIG_ISO9660_FS=y
274CONFIG_JOLIET=y 365CONFIG_JOLIET=y
275CONFIG_ZISOFS=y 366CONFIG_ZISOFS=y
276CONFIG_UDF_FS=m 367CONFIG_UDF_FS=m
277CONFIG_MSDOS_FS=y 368CONFIG_MSDOS_FS=m
278CONFIG_VFAT_FS=m 369CONFIG_VFAT_FS=m
279CONFIG_PROC_KCORE=y 370CONFIG_PROC_KCORE=y
280CONFIG_TMPFS=y 371CONFIG_TMPFS=y
281CONFIG_AFFS_FS=m 372CONFIG_AFFS_FS=m
373CONFIG_ECRYPT_FS=m
374CONFIG_ECRYPT_FS_MESSAGING=y
282CONFIG_HFS_FS=m 375CONFIG_HFS_FS=m
283CONFIG_HFSPLUS_FS=m 376CONFIG_HFSPLUS_FS=m
284CONFIG_CRAMFS=m 377CONFIG_CRAMFS=m
285CONFIG_SQUASHFS=m 378CONFIG_SQUASHFS=m
286CONFIG_MINIX_FS=y 379CONFIG_SQUASHFS_LZO=y
380CONFIG_MINIX_FS=m
381CONFIG_OMFS_FS=m
287CONFIG_HPFS_FS=m 382CONFIG_HPFS_FS=m
383CONFIG_QNX4FS_FS=m
384CONFIG_QNX6FS_FS=m
288CONFIG_SYSV_FS=m 385CONFIG_SYSV_FS=m
289CONFIG_UFS_FS=m 386CONFIG_UFS_FS=m
290CONFIG_NFS_FS=y 387CONFIG_NFS_FS=y
291CONFIG_NFS_V3=y
292CONFIG_NFS_V4=y 388CONFIG_NFS_V4=y
389CONFIG_NFS_SWAP=y
390CONFIG_ROOT_NFS=y
293CONFIG_NFSD=m 391CONFIG_NFSD=m
294CONFIG_NFSD_V3=y 392CONFIG_NFSD_V3=y
295CONFIG_SMB_FS=m 393CONFIG_CIFS=m
296CONFIG_SMB_NLS_DEFAULT=y 394# CONFIG_CIFS_DEBUG is not set
297CONFIG_CODA_FS=m 395CONFIG_CODA_FS=m
298CONFIG_NLS_CODEPAGE_437=y 396CONFIG_NLS_CODEPAGE_437=y
299CONFIG_NLS_CODEPAGE_737=m 397CONFIG_NLS_CODEPAGE_737=m
@@ -332,10 +430,23 @@ CONFIG_NLS_ISO8859_14=m
332CONFIG_NLS_ISO8859_15=m 430CONFIG_NLS_ISO8859_15=m
333CONFIG_NLS_KOI8_R=m 431CONFIG_NLS_KOI8_R=m
334CONFIG_NLS_KOI8_U=m 432CONFIG_NLS_KOI8_U=m
433CONFIG_NLS_MAC_ROMAN=m
434CONFIG_NLS_MAC_CELTIC=m
435CONFIG_NLS_MAC_CENTEURO=m
436CONFIG_NLS_MAC_CROATIAN=m
437CONFIG_NLS_MAC_CYRILLIC=m
438CONFIG_NLS_MAC_GAELIC=m
439CONFIG_NLS_MAC_GREEK=m
440CONFIG_NLS_MAC_ICELAND=m
441CONFIG_NLS_MAC_INUIT=m
442CONFIG_NLS_MAC_ROMANIAN=m
443CONFIG_NLS_MAC_TURKISH=m
335CONFIG_DLM=m 444CONFIG_DLM=m
336CONFIG_MAGIC_SYSRQ=y 445CONFIG_MAGIC_SYSRQ=y
337# CONFIG_RCU_CPU_STALL_DETECTOR is not set 446CONFIG_ASYNC_RAID6_TEST=m
338CONFIG_SYSCTL_SYSCALL_CHECK=y 447CONFIG_ENCRYPTED_KEYS=m
448CONFIG_CRYPTO_MANAGER=y
449CONFIG_CRYPTO_USER=m
339CONFIG_CRYPTO_NULL=m 450CONFIG_CRYPTO_NULL=m
340CONFIG_CRYPTO_CRYPTD=m 451CONFIG_CRYPTO_CRYPTD=m
341CONFIG_CRYPTO_TEST=m 452CONFIG_CRYPTO_TEST=m
@@ -345,19 +456,16 @@ CONFIG_CRYPTO_CTS=m
345CONFIG_CRYPTO_LRW=m 456CONFIG_CRYPTO_LRW=m
346CONFIG_CRYPTO_PCBC=m 457CONFIG_CRYPTO_PCBC=m
347CONFIG_CRYPTO_XTS=m 458CONFIG_CRYPTO_XTS=m
348CONFIG_CRYPTO_HMAC=y
349CONFIG_CRYPTO_XCBC=m 459CONFIG_CRYPTO_XCBC=m
350CONFIG_CRYPTO_MD4=m 460CONFIG_CRYPTO_VMAC=m
351CONFIG_CRYPTO_MICHAEL_MIC=m 461CONFIG_CRYPTO_MICHAEL_MIC=m
352CONFIG_CRYPTO_RMD128=m 462CONFIG_CRYPTO_RMD128=m
353CONFIG_CRYPTO_RMD160=m 463CONFIG_CRYPTO_RMD160=m
354CONFIG_CRYPTO_RMD256=m 464CONFIG_CRYPTO_RMD256=m
355CONFIG_CRYPTO_RMD320=m 465CONFIG_CRYPTO_RMD320=m
356CONFIG_CRYPTO_SHA256=m
357CONFIG_CRYPTO_SHA512=m 466CONFIG_CRYPTO_SHA512=m
358CONFIG_CRYPTO_TGR192=m 467CONFIG_CRYPTO_TGR192=m
359CONFIG_CRYPTO_WP512=m 468CONFIG_CRYPTO_WP512=m
360CONFIG_CRYPTO_AES=m
361CONFIG_CRYPTO_ANUBIS=m 469CONFIG_CRYPTO_ANUBIS=m
362CONFIG_CRYPTO_BLOWFISH=m 470CONFIG_CRYPTO_BLOWFISH=m
363CONFIG_CRYPTO_CAMELLIA=m 471CONFIG_CRYPTO_CAMELLIA=m
@@ -373,6 +481,14 @@ CONFIG_CRYPTO_TWOFISH=m
373CONFIG_CRYPTO_ZLIB=m 481CONFIG_CRYPTO_ZLIB=m
374CONFIG_CRYPTO_LZO=m 482CONFIG_CRYPTO_LZO=m
375# CONFIG_CRYPTO_ANSI_CPRNG is not set 483# CONFIG_CRYPTO_ANSI_CPRNG is not set
484CONFIG_CRYPTO_USER_API_HASH=m
485CONFIG_CRYPTO_USER_API_SKCIPHER=m
376# CONFIG_CRYPTO_HW is not set 486# CONFIG_CRYPTO_HW is not set
377CONFIG_CRC16=m
378CONFIG_CRC_T10DIF=y 487CONFIG_CRC_T10DIF=y
488CONFIG_XZ_DEC_X86=y
489CONFIG_XZ_DEC_POWERPC=y
490CONFIG_XZ_DEC_IA64=y
491CONFIG_XZ_DEC_ARM=y
492CONFIG_XZ_DEC_ARMTHUMB=y
493CONFIG_XZ_DEC_SPARC=y
494CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig
index 8f4f657fdbc6..14dc6ccda7f4 100644
--- a/arch/m68k/configs/apollo_defconfig
+++ b/arch/m68k/configs/apollo_defconfig
@@ -1,55 +1,76 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-apollo" 1CONFIG_LOCALVERSION="-apollo"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_APOLLO=y 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24CONFIG_SUN_PARTITION=y
25# CONFIG_EFI_PARTITION is not set
26CONFIG_SYSV68_PARTITION=y
27CONFIG_IOSCHED_DEADLINE=m
14CONFIG_M68020=y 28CONFIG_M68020=y
15CONFIG_M68030=y 29CONFIG_M68030=y
16CONFIG_M68040=y 30CONFIG_M68040=y
17CONFIG_M68060=y 31CONFIG_M68060=y
32CONFIG_APOLLO=y
33# CONFIG_COMPACTION is not set
34CONFIG_CLEANCACHE=y
35# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
18CONFIG_BINFMT_AOUT=m 36CONFIG_BINFMT_AOUT=m
19CONFIG_BINFMT_MISC=m 37CONFIG_BINFMT_MISC=m
20CONFIG_HEARTBEAT=y
21CONFIG_PROC_HARDWARE=y
22CONFIG_NET=y 38CONFIG_NET=y
23CONFIG_PACKET=y 39CONFIG_PACKET=y
40CONFIG_PACKET_DIAG=m
24CONFIG_UNIX=y 41CONFIG_UNIX=y
42CONFIG_UNIX_DIAG=m
43CONFIG_XFRM_MIGRATE=y
25CONFIG_NET_KEY=y 44CONFIG_NET_KEY=y
26CONFIG_NET_KEY_MIGRATE=y
27CONFIG_INET=y 45CONFIG_INET=y
28CONFIG_IP_PNP=y 46CONFIG_IP_PNP=y
29CONFIG_IP_PNP_DHCP=y 47CONFIG_IP_PNP_DHCP=y
30CONFIG_IP_PNP_BOOTP=y 48CONFIG_IP_PNP_BOOTP=y
31CONFIG_IP_PNP_RARP=y 49CONFIG_IP_PNP_RARP=y
32CONFIG_NET_IPIP=m 50CONFIG_NET_IPIP=m
51CONFIG_NET_IPGRE_DEMUX=m
33CONFIG_NET_IPGRE=m 52CONFIG_NET_IPGRE=m
34CONFIG_SYN_COOKIES=y 53CONFIG_SYN_COOKIES=y
54CONFIG_NET_IPVTI=m
35CONFIG_INET_AH=m 55CONFIG_INET_AH=m
36CONFIG_INET_ESP=m 56CONFIG_INET_ESP=m
37CONFIG_INET_IPCOMP=m 57CONFIG_INET_IPCOMP=m
38CONFIG_INET_XFRM_MODE_TRANSPORT=m 58CONFIG_INET_XFRM_MODE_TRANSPORT=m
39CONFIG_INET_XFRM_MODE_TUNNEL=m 59CONFIG_INET_XFRM_MODE_TUNNEL=m
40CONFIG_INET_XFRM_MODE_BEET=m 60CONFIG_INET_XFRM_MODE_BEET=m
61# CONFIG_INET_LRO is not set
41CONFIG_INET_DIAG=m 62CONFIG_INET_DIAG=m
63CONFIG_INET_UDP_DIAG=m
42CONFIG_IPV6_PRIVACY=y 64CONFIG_IPV6_PRIVACY=y
43CONFIG_IPV6_ROUTER_PREF=y 65CONFIG_IPV6_ROUTER_PREF=y
44CONFIG_IPV6_ROUTE_INFO=y
45CONFIG_INET6_AH=m 66CONFIG_INET6_AH=m
46CONFIG_INET6_ESP=m 67CONFIG_INET6_ESP=m
47CONFIG_INET6_IPCOMP=m 68CONFIG_INET6_IPCOMP=m
48CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 69CONFIG_IPV6_GRE=m
49CONFIG_IPV6_TUNNEL=m
50CONFIG_NETFILTER=y 70CONFIG_NETFILTER=y
51CONFIG_NETFILTER_NETLINK_QUEUE=m
52CONFIG_NF_CONNTRACK=m 71CONFIG_NF_CONNTRACK=m
72CONFIG_NF_CONNTRACK_ZONES=y
73# CONFIG_NF_CONNTRACK_PROCFS is not set
53# CONFIG_NF_CT_PROTO_DCCP is not set 74# CONFIG_NF_CT_PROTO_DCCP is not set
54CONFIG_NF_CT_PROTO_UDPLITE=m 75CONFIG_NF_CT_PROTO_UDPLITE=m
55CONFIG_NF_CONNTRACK_AMANDA=m 76CONFIG_NF_CONNTRACK_AMANDA=m
@@ -57,25 +78,37 @@ CONFIG_NF_CONNTRACK_FTP=m
57CONFIG_NF_CONNTRACK_H323=m 78CONFIG_NF_CONNTRACK_H323=m
58CONFIG_NF_CONNTRACK_IRC=m 79CONFIG_NF_CONNTRACK_IRC=m
59CONFIG_NF_CONNTRACK_NETBIOS_NS=m 80CONFIG_NF_CONNTRACK_NETBIOS_NS=m
81CONFIG_NF_CONNTRACK_SNMP=m
60CONFIG_NF_CONNTRACK_PPTP=m 82CONFIG_NF_CONNTRACK_PPTP=m
61CONFIG_NF_CONNTRACK_SANE=m 83CONFIG_NF_CONNTRACK_SANE=m
62CONFIG_NF_CONNTRACK_SIP=m 84CONFIG_NF_CONNTRACK_SIP=m
63CONFIG_NF_CONNTRACK_TFTP=m 85CONFIG_NF_CONNTRACK_TFTP=m
86CONFIG_NETFILTER_XT_SET=m
87CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
64CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 88CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
65CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 89CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
66CONFIG_NETFILTER_XT_TARGET_DSCP=m 90CONFIG_NETFILTER_XT_TARGET_DSCP=m
91CONFIG_NETFILTER_XT_TARGET_HMARK=m
92CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
93CONFIG_NETFILTER_XT_TARGET_LOG=m
67CONFIG_NETFILTER_XT_TARGET_MARK=m 94CONFIG_NETFILTER_XT_TARGET_MARK=m
68CONFIG_NETFILTER_XT_TARGET_NFLOG=m 95CONFIG_NETFILTER_XT_TARGET_NFLOG=m
69CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 96CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
97CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
98CONFIG_NETFILTER_XT_TARGET_TEE=m
70CONFIG_NETFILTER_XT_TARGET_TRACE=m 99CONFIG_NETFILTER_XT_TARGET_TRACE=m
71CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 100CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
72CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 101CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
102CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
103CONFIG_NETFILTER_XT_MATCH_BPF=m
73CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 104CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
74CONFIG_NETFILTER_XT_MATCH_COMMENT=m 105CONFIG_NETFILTER_XT_MATCH_COMMENT=m
75CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 106CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
107CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
76CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 108CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
77CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 109CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
78CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 110CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
111CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
79CONFIG_NETFILTER_XT_MATCH_DSCP=m 112CONFIG_NETFILTER_XT_MATCH_DSCP=m
80CONFIG_NETFILTER_XT_MATCH_ESP=m 113CONFIG_NETFILTER_XT_MATCH_ESP=m
81CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 114CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -86,6 +119,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
86CONFIG_NETFILTER_XT_MATCH_MAC=m 119CONFIG_NETFILTER_XT_MATCH_MAC=m
87CONFIG_NETFILTER_XT_MATCH_MARK=m 120CONFIG_NETFILTER_XT_MATCH_MARK=m
88CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 121CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
122CONFIG_NETFILTER_XT_MATCH_NFACCT=m
123CONFIG_NETFILTER_XT_MATCH_OSF=m
89CONFIG_NETFILTER_XT_MATCH_OWNER=m 124CONFIG_NETFILTER_XT_MATCH_OWNER=m
90CONFIG_NETFILTER_XT_MATCH_POLICY=m 125CONFIG_NETFILTER_XT_MATCH_POLICY=m
91CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 126CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -99,22 +134,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
99CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 134CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
100CONFIG_NETFILTER_XT_MATCH_TIME=m 135CONFIG_NETFILTER_XT_MATCH_TIME=m
101CONFIG_NETFILTER_XT_MATCH_U32=m 136CONFIG_NETFILTER_XT_MATCH_U32=m
137CONFIG_IP_SET=m
138CONFIG_IP_SET_BITMAP_IP=m
139CONFIG_IP_SET_BITMAP_IPMAC=m
140CONFIG_IP_SET_BITMAP_PORT=m
141CONFIG_IP_SET_HASH_IP=m
142CONFIG_IP_SET_HASH_IPPORT=m
143CONFIG_IP_SET_HASH_IPPORTIP=m
144CONFIG_IP_SET_HASH_IPPORTNET=m
145CONFIG_IP_SET_HASH_NET=m
146CONFIG_IP_SET_HASH_NETPORT=m
147CONFIG_IP_SET_HASH_NETIFACE=m
148CONFIG_IP_SET_LIST_SET=m
102CONFIG_NF_CONNTRACK_IPV4=m 149CONFIG_NF_CONNTRACK_IPV4=m
103CONFIG_IP_NF_QUEUE=m
104CONFIG_IP_NF_IPTABLES=m 150CONFIG_IP_NF_IPTABLES=m
105CONFIG_IP_NF_MATCH_ADDRTYPE=m
106CONFIG_IP_NF_MATCH_AH=m 151CONFIG_IP_NF_MATCH_AH=m
107CONFIG_IP_NF_MATCH_ECN=m 152CONFIG_IP_NF_MATCH_ECN=m
153CONFIG_IP_NF_MATCH_RPFILTER=m
108CONFIG_IP_NF_MATCH_TTL=m 154CONFIG_IP_NF_MATCH_TTL=m
109CONFIG_IP_NF_FILTER=m 155CONFIG_IP_NF_FILTER=m
110CONFIG_IP_NF_TARGET_REJECT=m 156CONFIG_IP_NF_TARGET_REJECT=m
111CONFIG_IP_NF_TARGET_LOG=m
112CONFIG_IP_NF_TARGET_ULOG=m 157CONFIG_IP_NF_TARGET_ULOG=m
113CONFIG_NF_NAT=m 158CONFIG_NF_NAT_IPV4=m
114CONFIG_IP_NF_TARGET_MASQUERADE=m 159CONFIG_IP_NF_TARGET_MASQUERADE=m
115CONFIG_IP_NF_TARGET_NETMAP=m 160CONFIG_IP_NF_TARGET_NETMAP=m
116CONFIG_IP_NF_TARGET_REDIRECT=m 161CONFIG_IP_NF_TARGET_REDIRECT=m
117CONFIG_NF_NAT_SNMP_BASIC=m
118CONFIG_IP_NF_MANGLE=m 162CONFIG_IP_NF_MANGLE=m
119CONFIG_IP_NF_TARGET_CLUSTERIP=m 163CONFIG_IP_NF_TARGET_CLUSTERIP=m
120CONFIG_IP_NF_TARGET_ECN=m 164CONFIG_IP_NF_TARGET_ECN=m
@@ -124,7 +168,6 @@ CONFIG_IP_NF_ARPTABLES=m
124CONFIG_IP_NF_ARPFILTER=m 168CONFIG_IP_NF_ARPFILTER=m
125CONFIG_IP_NF_ARP_MANGLE=m 169CONFIG_IP_NF_ARP_MANGLE=m
126CONFIG_NF_CONNTRACK_IPV6=m 170CONFIG_NF_CONNTRACK_IPV6=m
127CONFIG_IP6_NF_QUEUE=m
128CONFIG_IP6_NF_IPTABLES=m 171CONFIG_IP6_NF_IPTABLES=m
129CONFIG_IP6_NF_MATCH_AH=m 172CONFIG_IP6_NF_MATCH_AH=m
130CONFIG_IP6_NF_MATCH_EUI64=m 173CONFIG_IP6_NF_MATCH_EUI64=m
@@ -133,21 +176,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
133CONFIG_IP6_NF_MATCH_HL=m 176CONFIG_IP6_NF_MATCH_HL=m
134CONFIG_IP6_NF_MATCH_IPV6HEADER=m 177CONFIG_IP6_NF_MATCH_IPV6HEADER=m
135CONFIG_IP6_NF_MATCH_MH=m 178CONFIG_IP6_NF_MATCH_MH=m
179CONFIG_IP6_NF_MATCH_RPFILTER=m
136CONFIG_IP6_NF_MATCH_RT=m 180CONFIG_IP6_NF_MATCH_RT=m
137CONFIG_IP6_NF_TARGET_HL=m 181CONFIG_IP6_NF_TARGET_HL=m
138CONFIG_IP6_NF_TARGET_LOG=m
139CONFIG_IP6_NF_FILTER=m 182CONFIG_IP6_NF_FILTER=m
140CONFIG_IP6_NF_TARGET_REJECT=m 183CONFIG_IP6_NF_TARGET_REJECT=m
141CONFIG_IP6_NF_MANGLE=m 184CONFIG_IP6_NF_MANGLE=m
142CONFIG_IP6_NF_RAW=m 185CONFIG_IP6_NF_RAW=m
186CONFIG_NF_NAT_IPV6=m
187CONFIG_IP6_NF_TARGET_MASQUERADE=m
188CONFIG_IP6_NF_TARGET_NPT=m
143CONFIG_IP_DCCP=m 189CONFIG_IP_DCCP=m
144# CONFIG_IP_DCCP_CCID3 is not set 190# CONFIG_IP_DCCP_CCID3 is not set
191CONFIG_SCTP_COOKIE_HMAC_SHA1=y
192CONFIG_RDS=m
193CONFIG_RDS_TCP=m
194CONFIG_L2TP=m
145CONFIG_ATALK=m 195CONFIG_ATALK=m
196CONFIG_BATMAN_ADV=m
197CONFIG_BATMAN_ADV_DAT=y
198# CONFIG_WIRELESS is not set
146CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 199CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
200CONFIG_DEVTMPFS=y
147# CONFIG_FIRMWARE_IN_KERNEL is not set 201# CONFIG_FIRMWARE_IN_KERNEL is not set
202# CONFIG_FW_LOADER_USER_HELPER is not set
148CONFIG_CONNECTOR=m 203CONFIG_CONNECTOR=m
149CONFIG_BLK_DEV_LOOP=y 204CONFIG_BLK_DEV_LOOP=y
150CONFIG_BLK_DEV_CRYPTOLOOP=m 205CONFIG_BLK_DEV_CRYPTOLOOP=m
206CONFIG_BLK_DEV_DRBD=m
151CONFIG_BLK_DEV_NBD=m 207CONFIG_BLK_DEV_NBD=m
152CONFIG_BLK_DEV_RAM=y 208CONFIG_BLK_DEV_RAM=y
153CONFIG_CDROM_PKTCDVD=m 209CONFIG_CDROM_PKTCDVD=m
@@ -162,57 +218,74 @@ CONFIG_BLK_DEV_SR=y
162CONFIG_BLK_DEV_SR_VENDOR=y 218CONFIG_BLK_DEV_SR_VENDOR=y
163CONFIG_CHR_DEV_SG=m 219CONFIG_CHR_DEV_SG=m
164CONFIG_SCSI_CONSTANTS=y 220CONFIG_SCSI_CONSTANTS=y
165CONFIG_SCSI_SAS_LIBSAS=m 221CONFIG_SCSI_SAS_ATTRS=m
166# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
167CONFIG_SCSI_SRP_ATTRS=m
168CONFIG_SCSI_SRP_TGT_ATTRS=y
169CONFIG_ISCSI_TCP=m 222CONFIG_ISCSI_TCP=m
223CONFIG_ISCSI_BOOT_SYSFS=m
170CONFIG_MD=y 224CONFIG_MD=y
171CONFIG_BLK_DEV_MD=m
172CONFIG_MD_LINEAR=m 225CONFIG_MD_LINEAR=m
173CONFIG_MD_RAID0=m 226CONFIG_MD_RAID0=m
174CONFIG_MD_RAID1=m
175CONFIG_MD_RAID456=m
176CONFIG_BLK_DEV_DM=m 227CONFIG_BLK_DEV_DM=m
177CONFIG_DM_CRYPT=m 228CONFIG_DM_CRYPT=m
178CONFIG_DM_SNAPSHOT=m 229CONFIG_DM_SNAPSHOT=m
230CONFIG_DM_THIN_PROVISIONING=m
231CONFIG_DM_CACHE=m
179CONFIG_DM_MIRROR=m 232CONFIG_DM_MIRROR=m
233CONFIG_DM_RAID=m
180CONFIG_DM_ZERO=m 234CONFIG_DM_ZERO=m
181CONFIG_DM_MULTIPATH=m 235CONFIG_DM_MULTIPATH=m
182CONFIG_DM_UEVENT=y 236CONFIG_DM_UEVENT=y
237CONFIG_TARGET_CORE=m
238CONFIG_TCM_IBLOCK=m
239CONFIG_TCM_FILEIO=m
240CONFIG_TCM_PSCSI=m
183CONFIG_NETDEVICES=y 241CONFIG_NETDEVICES=y
184CONFIG_DUMMY=m 242CONFIG_DUMMY=m
185CONFIG_MACVLAN=m
186CONFIG_EQUALIZER=m 243CONFIG_EQUALIZER=m
244CONFIG_NET_TEAM=m
245CONFIG_NET_TEAM_MODE_BROADCAST=m
246CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
247CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
248CONFIG_NET_TEAM_MODE_LOADBALANCE=m
249CONFIG_VXLAN=m
250CONFIG_NETCONSOLE=m
251CONFIG_NETCONSOLE_DYNAMIC=y
187CONFIG_VETH=m 252CONFIG_VETH=m
188CONFIG_NET_ETHERNET=y 253# CONFIG_NET_CADENCE is not set
189# CONFIG_NETDEV_1000 is not set 254# CONFIG_NET_VENDOR_BROADCOM is not set
190# CONFIG_NETDEV_10000 is not set 255# CONFIG_NET_VENDOR_INTEL is not set
256# CONFIG_NET_VENDOR_MARVELL is not set
257# CONFIG_NET_VENDOR_MICREL is not set
258# CONFIG_NET_VENDOR_NATSEMI is not set
259# CONFIG_NET_VENDOR_SEEQ is not set
260# CONFIG_NET_VENDOR_STMICRO is not set
261# CONFIG_NET_VENDOR_WIZNET is not set
191CONFIG_PPP=m 262CONFIG_PPP=m
192CONFIG_PPP_FILTER=y
193CONFIG_PPP_ASYNC=m
194CONFIG_PPP_SYNC_TTY=m
195CONFIG_PPP_DEFLATE=m
196CONFIG_PPP_BSDCOMP=m 263CONFIG_PPP_BSDCOMP=m
264CONFIG_PPP_DEFLATE=m
265CONFIG_PPP_FILTER=y
197CONFIG_PPP_MPPE=m 266CONFIG_PPP_MPPE=m
198CONFIG_PPPOE=m 267CONFIG_PPPOE=m
268CONFIG_PPTP=m
269CONFIG_PPPOL2TP=m
270CONFIG_PPP_ASYNC=m
271CONFIG_PPP_SYNC_TTY=m
199CONFIG_SLIP=m 272CONFIG_SLIP=m
200CONFIG_SLIP_COMPRESSED=y 273CONFIG_SLIP_COMPRESSED=y
201CONFIG_SLIP_SMART=y 274CONFIG_SLIP_SMART=y
202CONFIG_SLIP_MODE_SLIP6=y 275CONFIG_SLIP_MODE_SLIP6=y
203CONFIG_NETCONSOLE=m 276# CONFIG_WLAN is not set
204CONFIG_NETCONSOLE_DYNAMIC=y 277CONFIG_INPUT_EVDEV=m
205CONFIG_INPUT_FF_MEMLESS=m
206# CONFIG_KEYBOARD_ATKBD is not set 278# CONFIG_KEYBOARD_ATKBD is not set
207CONFIG_MOUSE_PS2=m 279# CONFIG_MOUSE_PS2 is not set
208CONFIG_MOUSE_SERIAL=m 280CONFIG_MOUSE_SERIAL=m
209CONFIG_SERIO=m 281CONFIG_SERIO=m
210# CONFIG_SERIO_SERPORT is not set
211CONFIG_VT_HW_CONSOLE_BINDING=y 282CONFIG_VT_HW_CONSOLE_BINDING=y
283# CONFIG_LEGACY_PTYS is not set
212# CONFIG_DEVKMEM is not set 284# CONFIG_DEVKMEM is not set
213# CONFIG_HW_RANDOM is not set 285# CONFIG_HW_RANDOM is not set
214CONFIG_GEN_RTC=m 286CONFIG_NTP_PPS=y
215CONFIG_GEN_RTC_X=y 287CONFIG_PPS_CLIENT_LDISC=m
288CONFIG_PTP_1588_CLOCK=m
216# CONFIG_HWMON is not set 289# CONFIG_HWMON is not set
217CONFIG_FB=y 290CONFIG_FB=y
218CONFIG_FRAMEBUFFER_CONSOLE=y 291CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -221,47 +294,61 @@ CONFIG_LOGO=y
221# CONFIG_LOGO_LINUX_CLUT224 is not set 294# CONFIG_LOGO_LINUX_CLUT224 is not set
222CONFIG_HID=m 295CONFIG_HID=m
223CONFIG_HIDRAW=y 296CONFIG_HIDRAW=y
297CONFIG_UHID=m
298# CONFIG_HID_GENERIC is not set
224# CONFIG_USB_SUPPORT is not set 299# CONFIG_USB_SUPPORT is not set
300CONFIG_RTC_CLASS=y
301CONFIG_RTC_DRV_GENERIC=m
302# CONFIG_IOMMU_SUPPORT is not set
303CONFIG_HEARTBEAT=y
304CONFIG_PROC_HARDWARE=y
225CONFIG_EXT2_FS=y 305CONFIG_EXT2_FS=y
226CONFIG_EXT3_FS=y 306CONFIG_EXT3_FS=y
227# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 307# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
228# CONFIG_EXT3_FS_XATTR is not set 308# CONFIG_EXT3_FS_XATTR is not set
309CONFIG_EXT4_FS=y
229CONFIG_REISERFS_FS=m 310CONFIG_REISERFS_FS=m
230CONFIG_JFS_FS=m 311CONFIG_JFS_FS=m
231CONFIG_XFS_FS=m 312CONFIG_XFS_FS=m
232CONFIG_OCFS2_FS=m 313CONFIG_OCFS2_FS=m
233# CONFIG_OCFS2_FS_STATS is not set
234# CONFIG_OCFS2_DEBUG_MASKLOG is not set 314# CONFIG_OCFS2_DEBUG_MASKLOG is not set
315CONFIG_FANOTIFY=y
235CONFIG_QUOTA_NETLINK_INTERFACE=y 316CONFIG_QUOTA_NETLINK_INTERFACE=y
236# CONFIG_PRINT_QUOTA_WARNING is not set 317# CONFIG_PRINT_QUOTA_WARNING is not set
237CONFIG_AUTOFS_FS=m
238CONFIG_AUTOFS4_FS=m 318CONFIG_AUTOFS4_FS=m
239CONFIG_FUSE_FS=m 319CONFIG_FUSE_FS=m
320CONFIG_CUSE=m
240CONFIG_ISO9660_FS=y 321CONFIG_ISO9660_FS=y
241CONFIG_JOLIET=y 322CONFIG_JOLIET=y
242CONFIG_ZISOFS=y 323CONFIG_ZISOFS=y
243CONFIG_UDF_FS=m 324CONFIG_UDF_FS=m
244CONFIG_MSDOS_FS=y 325CONFIG_MSDOS_FS=m
245CONFIG_VFAT_FS=m 326CONFIG_VFAT_FS=m
246CONFIG_PROC_KCORE=y 327CONFIG_PROC_KCORE=y
247CONFIG_TMPFS=y 328CONFIG_TMPFS=y
248CONFIG_AFFS_FS=m 329CONFIG_AFFS_FS=m
330CONFIG_ECRYPT_FS=m
331CONFIG_ECRYPT_FS_MESSAGING=y
249CONFIG_HFS_FS=m 332CONFIG_HFS_FS=m
250CONFIG_HFSPLUS_FS=m 333CONFIG_HFSPLUS_FS=m
251CONFIG_CRAMFS=m 334CONFIG_CRAMFS=m
252CONFIG_SQUASHFS=m 335CONFIG_SQUASHFS=m
253CONFIG_MINIX_FS=y 336CONFIG_SQUASHFS_LZO=y
337CONFIG_MINIX_FS=m
338CONFIG_OMFS_FS=m
254CONFIG_HPFS_FS=m 339CONFIG_HPFS_FS=m
340CONFIG_QNX4FS_FS=m
341CONFIG_QNX6FS_FS=m
255CONFIG_SYSV_FS=m 342CONFIG_SYSV_FS=m
256CONFIG_UFS_FS=m 343CONFIG_UFS_FS=m
257CONFIG_NFS_FS=y 344CONFIG_NFS_FS=y
258CONFIG_NFS_V3=y
259CONFIG_NFS_V4=y 345CONFIG_NFS_V4=y
346CONFIG_NFS_SWAP=y
260CONFIG_ROOT_NFS=y 347CONFIG_ROOT_NFS=y
261CONFIG_NFSD=m 348CONFIG_NFSD=m
262CONFIG_NFSD_V3=y 349CONFIG_NFSD_V3=y
263CONFIG_SMB_FS=m 350CONFIG_CIFS=m
264CONFIG_SMB_NLS_DEFAULT=y 351# CONFIG_CIFS_DEBUG is not set
265CONFIG_CODA_FS=m 352CONFIG_CODA_FS=m
266CONFIG_NLS_CODEPAGE_437=y 353CONFIG_NLS_CODEPAGE_437=y
267CONFIG_NLS_CODEPAGE_737=m 354CONFIG_NLS_CODEPAGE_737=m
@@ -300,10 +387,23 @@ CONFIG_NLS_ISO8859_14=m
300CONFIG_NLS_ISO8859_15=m 387CONFIG_NLS_ISO8859_15=m
301CONFIG_NLS_KOI8_R=m 388CONFIG_NLS_KOI8_R=m
302CONFIG_NLS_KOI8_U=m 389CONFIG_NLS_KOI8_U=m
390CONFIG_NLS_MAC_ROMAN=m
391CONFIG_NLS_MAC_CELTIC=m
392CONFIG_NLS_MAC_CENTEURO=m
393CONFIG_NLS_MAC_CROATIAN=m
394CONFIG_NLS_MAC_CYRILLIC=m
395CONFIG_NLS_MAC_GAELIC=m
396CONFIG_NLS_MAC_GREEK=m
397CONFIG_NLS_MAC_ICELAND=m
398CONFIG_NLS_MAC_INUIT=m
399CONFIG_NLS_MAC_ROMANIAN=m
400CONFIG_NLS_MAC_TURKISH=m
303CONFIG_DLM=m 401CONFIG_DLM=m
304CONFIG_MAGIC_SYSRQ=y 402CONFIG_MAGIC_SYSRQ=y
305# CONFIG_RCU_CPU_STALL_DETECTOR is not set 403CONFIG_ASYNC_RAID6_TEST=m
306CONFIG_SYSCTL_SYSCALL_CHECK=y 404CONFIG_ENCRYPTED_KEYS=m
405CONFIG_CRYPTO_MANAGER=y
406CONFIG_CRYPTO_USER=m
307CONFIG_CRYPTO_NULL=m 407CONFIG_CRYPTO_NULL=m
308CONFIG_CRYPTO_CRYPTD=m 408CONFIG_CRYPTO_CRYPTD=m
309CONFIG_CRYPTO_TEST=m 409CONFIG_CRYPTO_TEST=m
@@ -313,19 +413,16 @@ CONFIG_CRYPTO_CTS=m
313CONFIG_CRYPTO_LRW=m 413CONFIG_CRYPTO_LRW=m
314CONFIG_CRYPTO_PCBC=m 414CONFIG_CRYPTO_PCBC=m
315CONFIG_CRYPTO_XTS=m 415CONFIG_CRYPTO_XTS=m
316CONFIG_CRYPTO_HMAC=y
317CONFIG_CRYPTO_XCBC=m 416CONFIG_CRYPTO_XCBC=m
318CONFIG_CRYPTO_MD4=m 417CONFIG_CRYPTO_VMAC=m
319CONFIG_CRYPTO_MICHAEL_MIC=m 418CONFIG_CRYPTO_MICHAEL_MIC=m
320CONFIG_CRYPTO_RMD128=m 419CONFIG_CRYPTO_RMD128=m
321CONFIG_CRYPTO_RMD160=m 420CONFIG_CRYPTO_RMD160=m
322CONFIG_CRYPTO_RMD256=m 421CONFIG_CRYPTO_RMD256=m
323CONFIG_CRYPTO_RMD320=m 422CONFIG_CRYPTO_RMD320=m
324CONFIG_CRYPTO_SHA256=m
325CONFIG_CRYPTO_SHA512=m 423CONFIG_CRYPTO_SHA512=m
326CONFIG_CRYPTO_TGR192=m 424CONFIG_CRYPTO_TGR192=m
327CONFIG_CRYPTO_WP512=m 425CONFIG_CRYPTO_WP512=m
328CONFIG_CRYPTO_AES=m
329CONFIG_CRYPTO_ANUBIS=m 426CONFIG_CRYPTO_ANUBIS=m
330CONFIG_CRYPTO_BLOWFISH=m 427CONFIG_CRYPTO_BLOWFISH=m
331CONFIG_CRYPTO_CAMELLIA=m 428CONFIG_CRYPTO_CAMELLIA=m
@@ -341,6 +438,14 @@ CONFIG_CRYPTO_TWOFISH=m
341CONFIG_CRYPTO_ZLIB=m 438CONFIG_CRYPTO_ZLIB=m
342CONFIG_CRYPTO_LZO=m 439CONFIG_CRYPTO_LZO=m
343# CONFIG_CRYPTO_ANSI_CPRNG is not set 440# CONFIG_CRYPTO_ANSI_CPRNG is not set
441CONFIG_CRYPTO_USER_API_HASH=m
442CONFIG_CRYPTO_USER_API_SKCIPHER=m
344# CONFIG_CRYPTO_HW is not set 443# CONFIG_CRYPTO_HW is not set
345CONFIG_CRC16=m
346CONFIG_CRC_T10DIF=y 444CONFIG_CRC_T10DIF=y
445CONFIG_XZ_DEC_X86=y
446CONFIG_XZ_DEC_POWERPC=y
447CONFIG_XZ_DEC_IA64=y
448CONFIG_XZ_DEC_ARM=y
449CONFIG_XZ_DEC_ARMTHUMB=y
450CONFIG_XZ_DEC_SPARC=y
451CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig
index 4571d33903fe..6d5370c914b2 100644
--- a/arch/m68k/configs/atari_defconfig
+++ b/arch/m68k/configs/atari_defconfig
@@ -1,53 +1,75 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-atari" 1CONFIG_LOCALVERSION="-atari"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_ATARI=y 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_MAC_PARTITION=y
19CONFIG_BSD_DISKLABEL=y
20CONFIG_MINIX_SUBPARTITION=y
21CONFIG_SOLARIS_X86_PARTITION=y
22CONFIG_UNIXWARE_DISKLABEL=y
23CONFIG_SUN_PARTITION=y
24# CONFIG_EFI_PARTITION is not set
25CONFIG_SYSV68_PARTITION=y
26CONFIG_IOSCHED_DEADLINE=m
14CONFIG_M68020=y 27CONFIG_M68020=y
15CONFIG_M68030=y 28CONFIG_M68030=y
16CONFIG_M68040=y 29CONFIG_M68040=y
17CONFIG_M68060=y 30CONFIG_M68060=y
31CONFIG_ATARI=y
32# CONFIG_COMPACTION is not set
33CONFIG_CLEANCACHE=y
34# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
18CONFIG_BINFMT_AOUT=m 35CONFIG_BINFMT_AOUT=m
19CONFIG_BINFMT_MISC=m 36CONFIG_BINFMT_MISC=m
20CONFIG_STRAM_PROC=y
21CONFIG_HEARTBEAT=y
22CONFIG_PROC_HARDWARE=y
23CONFIG_NET=y 37CONFIG_NET=y
24CONFIG_PACKET=y 38CONFIG_PACKET=y
39CONFIG_PACKET_DIAG=m
25CONFIG_UNIX=y 40CONFIG_UNIX=y
41CONFIG_UNIX_DIAG=m
42CONFIG_XFRM_MIGRATE=y
26CONFIG_NET_KEY=y 43CONFIG_NET_KEY=y
27CONFIG_NET_KEY_MIGRATE=y
28CONFIG_INET=y 44CONFIG_INET=y
29CONFIG_IP_PNP=y 45CONFIG_IP_PNP=y
46CONFIG_IP_PNP_DHCP=y
47CONFIG_IP_PNP_BOOTP=y
48CONFIG_IP_PNP_RARP=y
30CONFIG_NET_IPIP=m 49CONFIG_NET_IPIP=m
50CONFIG_NET_IPGRE_DEMUX=m
31CONFIG_NET_IPGRE=m 51CONFIG_NET_IPGRE=m
32CONFIG_SYN_COOKIES=y 52CONFIG_SYN_COOKIES=y
53CONFIG_NET_IPVTI=m
33CONFIG_INET_AH=m 54CONFIG_INET_AH=m
34CONFIG_INET_ESP=m 55CONFIG_INET_ESP=m
35CONFIG_INET_IPCOMP=m 56CONFIG_INET_IPCOMP=m
36CONFIG_INET_XFRM_MODE_TRANSPORT=m 57CONFIG_INET_XFRM_MODE_TRANSPORT=m
37CONFIG_INET_XFRM_MODE_TUNNEL=m 58CONFIG_INET_XFRM_MODE_TUNNEL=m
38CONFIG_INET_XFRM_MODE_BEET=m 59CONFIG_INET_XFRM_MODE_BEET=m
60# CONFIG_INET_LRO is not set
39CONFIG_INET_DIAG=m 61CONFIG_INET_DIAG=m
62CONFIG_INET_UDP_DIAG=m
40CONFIG_IPV6_PRIVACY=y 63CONFIG_IPV6_PRIVACY=y
41CONFIG_IPV6_ROUTER_PREF=y 64CONFIG_IPV6_ROUTER_PREF=y
42CONFIG_IPV6_ROUTE_INFO=y
43CONFIG_INET6_AH=m 65CONFIG_INET6_AH=m
44CONFIG_INET6_ESP=m 66CONFIG_INET6_ESP=m
45CONFIG_INET6_IPCOMP=m 67CONFIG_INET6_IPCOMP=m
46CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 68CONFIG_IPV6_GRE=m
47CONFIG_IPV6_TUNNEL=m
48CONFIG_NETFILTER=y 69CONFIG_NETFILTER=y
49CONFIG_NETFILTER_NETLINK_QUEUE=m
50CONFIG_NF_CONNTRACK=m 70CONFIG_NF_CONNTRACK=m
71CONFIG_NF_CONNTRACK_ZONES=y
72# CONFIG_NF_CONNTRACK_PROCFS is not set
51# CONFIG_NF_CT_PROTO_DCCP is not set 73# CONFIG_NF_CT_PROTO_DCCP is not set
52CONFIG_NF_CT_PROTO_UDPLITE=m 74CONFIG_NF_CT_PROTO_UDPLITE=m
53CONFIG_NF_CONNTRACK_AMANDA=m 75CONFIG_NF_CONNTRACK_AMANDA=m
@@ -55,25 +77,37 @@ CONFIG_NF_CONNTRACK_FTP=m
55CONFIG_NF_CONNTRACK_H323=m 77CONFIG_NF_CONNTRACK_H323=m
56CONFIG_NF_CONNTRACK_IRC=m 78CONFIG_NF_CONNTRACK_IRC=m
57CONFIG_NF_CONNTRACK_NETBIOS_NS=m 79CONFIG_NF_CONNTRACK_NETBIOS_NS=m
80CONFIG_NF_CONNTRACK_SNMP=m
58CONFIG_NF_CONNTRACK_PPTP=m 81CONFIG_NF_CONNTRACK_PPTP=m
59CONFIG_NF_CONNTRACK_SANE=m 82CONFIG_NF_CONNTRACK_SANE=m
60CONFIG_NF_CONNTRACK_SIP=m 83CONFIG_NF_CONNTRACK_SIP=m
61CONFIG_NF_CONNTRACK_TFTP=m 84CONFIG_NF_CONNTRACK_TFTP=m
85CONFIG_NETFILTER_XT_SET=m
86CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
62CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 87CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
63CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 88CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
64CONFIG_NETFILTER_XT_TARGET_DSCP=m 89CONFIG_NETFILTER_XT_TARGET_DSCP=m
90CONFIG_NETFILTER_XT_TARGET_HMARK=m
91CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
92CONFIG_NETFILTER_XT_TARGET_LOG=m
65CONFIG_NETFILTER_XT_TARGET_MARK=m 93CONFIG_NETFILTER_XT_TARGET_MARK=m
66CONFIG_NETFILTER_XT_TARGET_NFLOG=m 94CONFIG_NETFILTER_XT_TARGET_NFLOG=m
67CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 95CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
96CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
97CONFIG_NETFILTER_XT_TARGET_TEE=m
68CONFIG_NETFILTER_XT_TARGET_TRACE=m 98CONFIG_NETFILTER_XT_TARGET_TRACE=m
69CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 99CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
70CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 100CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
101CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
102CONFIG_NETFILTER_XT_MATCH_BPF=m
71CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 103CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
72CONFIG_NETFILTER_XT_MATCH_COMMENT=m 104CONFIG_NETFILTER_XT_MATCH_COMMENT=m
73CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 105CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
106CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
74CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 107CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
75CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 108CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
76CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 109CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
110CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
77CONFIG_NETFILTER_XT_MATCH_DSCP=m 111CONFIG_NETFILTER_XT_MATCH_DSCP=m
78CONFIG_NETFILTER_XT_MATCH_ESP=m 112CONFIG_NETFILTER_XT_MATCH_ESP=m
79CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 113CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -84,6 +118,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
84CONFIG_NETFILTER_XT_MATCH_MAC=m 118CONFIG_NETFILTER_XT_MATCH_MAC=m
85CONFIG_NETFILTER_XT_MATCH_MARK=m 119CONFIG_NETFILTER_XT_MATCH_MARK=m
86CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 120CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
121CONFIG_NETFILTER_XT_MATCH_NFACCT=m
122CONFIG_NETFILTER_XT_MATCH_OSF=m
87CONFIG_NETFILTER_XT_MATCH_OWNER=m 123CONFIG_NETFILTER_XT_MATCH_OWNER=m
88CONFIG_NETFILTER_XT_MATCH_POLICY=m 124CONFIG_NETFILTER_XT_MATCH_POLICY=m
89CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 125CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -97,22 +133,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
97CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 133CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
98CONFIG_NETFILTER_XT_MATCH_TIME=m 134CONFIG_NETFILTER_XT_MATCH_TIME=m
99CONFIG_NETFILTER_XT_MATCH_U32=m 135CONFIG_NETFILTER_XT_MATCH_U32=m
136CONFIG_IP_SET=m
137CONFIG_IP_SET_BITMAP_IP=m
138CONFIG_IP_SET_BITMAP_IPMAC=m
139CONFIG_IP_SET_BITMAP_PORT=m
140CONFIG_IP_SET_HASH_IP=m
141CONFIG_IP_SET_HASH_IPPORT=m
142CONFIG_IP_SET_HASH_IPPORTIP=m
143CONFIG_IP_SET_HASH_IPPORTNET=m
144CONFIG_IP_SET_HASH_NET=m
145CONFIG_IP_SET_HASH_NETPORT=m
146CONFIG_IP_SET_HASH_NETIFACE=m
147CONFIG_IP_SET_LIST_SET=m
100CONFIG_NF_CONNTRACK_IPV4=m 148CONFIG_NF_CONNTRACK_IPV4=m
101CONFIG_IP_NF_QUEUE=m
102CONFIG_IP_NF_IPTABLES=m 149CONFIG_IP_NF_IPTABLES=m
103CONFIG_IP_NF_MATCH_ADDRTYPE=m
104CONFIG_IP_NF_MATCH_AH=m 150CONFIG_IP_NF_MATCH_AH=m
105CONFIG_IP_NF_MATCH_ECN=m 151CONFIG_IP_NF_MATCH_ECN=m
152CONFIG_IP_NF_MATCH_RPFILTER=m
106CONFIG_IP_NF_MATCH_TTL=m 153CONFIG_IP_NF_MATCH_TTL=m
107CONFIG_IP_NF_FILTER=m 154CONFIG_IP_NF_FILTER=m
108CONFIG_IP_NF_TARGET_REJECT=m 155CONFIG_IP_NF_TARGET_REJECT=m
109CONFIG_IP_NF_TARGET_LOG=m
110CONFIG_IP_NF_TARGET_ULOG=m 156CONFIG_IP_NF_TARGET_ULOG=m
111CONFIG_NF_NAT=m 157CONFIG_NF_NAT_IPV4=m
112CONFIG_IP_NF_TARGET_MASQUERADE=m 158CONFIG_IP_NF_TARGET_MASQUERADE=m
113CONFIG_IP_NF_TARGET_NETMAP=m 159CONFIG_IP_NF_TARGET_NETMAP=m
114CONFIG_IP_NF_TARGET_REDIRECT=m 160CONFIG_IP_NF_TARGET_REDIRECT=m
115CONFIG_NF_NAT_SNMP_BASIC=m
116CONFIG_IP_NF_MANGLE=m 161CONFIG_IP_NF_MANGLE=m
117CONFIG_IP_NF_TARGET_CLUSTERIP=m 162CONFIG_IP_NF_TARGET_CLUSTERIP=m
118CONFIG_IP_NF_TARGET_ECN=m 163CONFIG_IP_NF_TARGET_ECN=m
@@ -122,7 +167,6 @@ CONFIG_IP_NF_ARPTABLES=m
122CONFIG_IP_NF_ARPFILTER=m 167CONFIG_IP_NF_ARPFILTER=m
123CONFIG_IP_NF_ARP_MANGLE=m 168CONFIG_IP_NF_ARP_MANGLE=m
124CONFIG_NF_CONNTRACK_IPV6=m 169CONFIG_NF_CONNTRACK_IPV6=m
125CONFIG_IP6_NF_QUEUE=m
126CONFIG_IP6_NF_IPTABLES=m 170CONFIG_IP6_NF_IPTABLES=m
127CONFIG_IP6_NF_MATCH_AH=m 171CONFIG_IP6_NF_MATCH_AH=m
128CONFIG_IP6_NF_MATCH_EUI64=m 172CONFIG_IP6_NF_MATCH_EUI64=m
@@ -131,18 +175,30 @@ CONFIG_IP6_NF_MATCH_OPTS=m
131CONFIG_IP6_NF_MATCH_HL=m 175CONFIG_IP6_NF_MATCH_HL=m
132CONFIG_IP6_NF_MATCH_IPV6HEADER=m 176CONFIG_IP6_NF_MATCH_IPV6HEADER=m
133CONFIG_IP6_NF_MATCH_MH=m 177CONFIG_IP6_NF_MATCH_MH=m
178CONFIG_IP6_NF_MATCH_RPFILTER=m
134CONFIG_IP6_NF_MATCH_RT=m 179CONFIG_IP6_NF_MATCH_RT=m
135CONFIG_IP6_NF_TARGET_HL=m 180CONFIG_IP6_NF_TARGET_HL=m
136CONFIG_IP6_NF_TARGET_LOG=m
137CONFIG_IP6_NF_FILTER=m 181CONFIG_IP6_NF_FILTER=m
138CONFIG_IP6_NF_TARGET_REJECT=m 182CONFIG_IP6_NF_TARGET_REJECT=m
139CONFIG_IP6_NF_MANGLE=m 183CONFIG_IP6_NF_MANGLE=m
140CONFIG_IP6_NF_RAW=m 184CONFIG_IP6_NF_RAW=m
185CONFIG_NF_NAT_IPV6=m
186CONFIG_IP6_NF_TARGET_MASQUERADE=m
187CONFIG_IP6_NF_TARGET_NPT=m
141CONFIG_IP_DCCP=m 188CONFIG_IP_DCCP=m
142# CONFIG_IP_DCCP_CCID3 is not set 189# CONFIG_IP_DCCP_CCID3 is not set
190CONFIG_SCTP_COOKIE_HMAC_SHA1=y
191CONFIG_RDS=m
192CONFIG_RDS_TCP=m
193CONFIG_L2TP=m
143CONFIG_ATALK=m 194CONFIG_ATALK=m
195CONFIG_BATMAN_ADV=m
196CONFIG_BATMAN_ADV_DAT=y
197# CONFIG_WIRELESS is not set
144CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 198CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
199CONFIG_DEVTMPFS=y
145# CONFIG_FIRMWARE_IN_KERNEL is not set 200# CONFIG_FIRMWARE_IN_KERNEL is not set
201# CONFIG_FW_LOADER_USER_HELPER is not set
146CONFIG_CONNECTOR=m 202CONFIG_CONNECTOR=m
147CONFIG_PARPORT=m 203CONFIG_PARPORT=m
148CONFIG_PARPORT_ATARI=m 204CONFIG_PARPORT_ATARI=m
@@ -150,11 +206,13 @@ CONFIG_PARPORT_1284=y
150CONFIG_ATARI_FLOPPY=y 206CONFIG_ATARI_FLOPPY=y
151CONFIG_BLK_DEV_LOOP=y 207CONFIG_BLK_DEV_LOOP=y
152CONFIG_BLK_DEV_CRYPTOLOOP=m 208CONFIG_BLK_DEV_CRYPTOLOOP=m
209CONFIG_BLK_DEV_DRBD=m
153CONFIG_BLK_DEV_NBD=m 210CONFIG_BLK_DEV_NBD=m
154CONFIG_BLK_DEV_RAM=y 211CONFIG_BLK_DEV_RAM=y
155CONFIG_CDROM_PKTCDVD=m 212CONFIG_CDROM_PKTCDVD=m
156CONFIG_ATA_OVER_ETH=m 213CONFIG_ATA_OVER_ETH=m
157CONFIG_IDE=y 214CONFIG_IDE=y
215CONFIG_IDE_GD_ATAPI=y
158CONFIG_BLK_DEV_IDECD=y 216CONFIG_BLK_DEV_IDECD=y
159CONFIG_BLK_DEV_FALCON_IDE=y 217CONFIG_BLK_DEV_FALCON_IDE=y
160CONFIG_RAID_ATTRS=m 218CONFIG_RAID_ATTRS=m
@@ -167,63 +225,81 @@ CONFIG_BLK_DEV_SR=y
167CONFIG_BLK_DEV_SR_VENDOR=y 225CONFIG_BLK_DEV_SR_VENDOR=y
168CONFIG_CHR_DEV_SG=m 226CONFIG_CHR_DEV_SG=m
169CONFIG_SCSI_CONSTANTS=y 227CONFIG_SCSI_CONSTANTS=y
170CONFIG_SCSI_SAS_LIBSAS=m 228CONFIG_SCSI_SAS_ATTRS=m
171# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
172CONFIG_SCSI_SRP_ATTRS=m
173CONFIG_SCSI_SRP_TGT_ATTRS=y
174CONFIG_ISCSI_TCP=m 229CONFIG_ISCSI_TCP=m
230CONFIG_ISCSI_BOOT_SYSFS=m
175CONFIG_ATARI_SCSI=y 231CONFIG_ATARI_SCSI=y
176CONFIG_MD=y 232CONFIG_MD=y
177CONFIG_BLK_DEV_MD=m
178CONFIG_MD_LINEAR=m 233CONFIG_MD_LINEAR=m
179CONFIG_MD_RAID0=m 234CONFIG_MD_RAID0=m
180CONFIG_MD_RAID1=m
181CONFIG_MD_RAID456=m
182CONFIG_BLK_DEV_DM=m 235CONFIG_BLK_DEV_DM=m
183CONFIG_DM_CRYPT=m 236CONFIG_DM_CRYPT=m
184CONFIG_DM_SNAPSHOT=m 237CONFIG_DM_SNAPSHOT=m
238CONFIG_DM_THIN_PROVISIONING=m
239CONFIG_DM_CACHE=m
185CONFIG_DM_MIRROR=m 240CONFIG_DM_MIRROR=m
241CONFIG_DM_RAID=m
186CONFIG_DM_ZERO=m 242CONFIG_DM_ZERO=m
187CONFIG_DM_MULTIPATH=m 243CONFIG_DM_MULTIPATH=m
188CONFIG_DM_UEVENT=y 244CONFIG_DM_UEVENT=y
245CONFIG_TARGET_CORE=m
246CONFIG_TCM_IBLOCK=m
247CONFIG_TCM_FILEIO=m
248CONFIG_TCM_PSCSI=m
189CONFIG_NETDEVICES=y 249CONFIG_NETDEVICES=y
190CONFIG_DUMMY=m 250CONFIG_DUMMY=m
191CONFIG_MACVLAN=m
192CONFIG_EQUALIZER=m 251CONFIG_EQUALIZER=m
193CONFIG_VETH=m
194CONFIG_NET_ETHERNET=y
195CONFIG_MII=y 252CONFIG_MII=y
253CONFIG_NET_TEAM=m
254CONFIG_NET_TEAM_MODE_BROADCAST=m
255CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
256CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
257CONFIG_NET_TEAM_MODE_LOADBALANCE=m
258CONFIG_VXLAN=m
259CONFIG_NETCONSOLE=m
260CONFIG_NETCONSOLE_DYNAMIC=y
261CONFIG_VETH=m
196CONFIG_ATARILANCE=y 262CONFIG_ATARILANCE=y
197# CONFIG_NETDEV_1000 is not set 263# CONFIG_NET_CADENCE is not set
198# CONFIG_NETDEV_10000 is not set 264# CONFIG_NET_VENDOR_BROADCOM is not set
265# CONFIG_NET_VENDOR_INTEL is not set
266# CONFIG_NET_VENDOR_MARVELL is not set
267# CONFIG_NET_VENDOR_MICREL is not set
268# CONFIG_NET_VENDOR_SEEQ is not set
269# CONFIG_NET_VENDOR_STMICRO is not set
270# CONFIG_NET_VENDOR_WIZNET is not set
199CONFIG_PPP=m 271CONFIG_PPP=m
200CONFIG_PPP_FILTER=y
201CONFIG_PPP_ASYNC=m
202CONFIG_PPP_SYNC_TTY=m
203CONFIG_PPP_DEFLATE=m
204CONFIG_PPP_BSDCOMP=m 272CONFIG_PPP_BSDCOMP=m
273CONFIG_PPP_DEFLATE=m
274CONFIG_PPP_FILTER=y
205CONFIG_PPP_MPPE=m 275CONFIG_PPP_MPPE=m
206CONFIG_PPPOE=m 276CONFIG_PPPOE=m
277CONFIG_PPTP=m
278CONFIG_PPPOL2TP=m
279CONFIG_PPP_ASYNC=m
280CONFIG_PPP_SYNC_TTY=m
207CONFIG_SLIP=m 281CONFIG_SLIP=m
208CONFIG_SLIP_COMPRESSED=y 282CONFIG_SLIP_COMPRESSED=y
209CONFIG_SLIP_SMART=y 283CONFIG_SLIP_SMART=y
210CONFIG_SLIP_MODE_SLIP6=y 284CONFIG_SLIP_MODE_SLIP6=y
211CONFIG_NETCONSOLE=m 285# CONFIG_WLAN is not set
212CONFIG_NETCONSOLE_DYNAMIC=y 286CONFIG_INPUT_EVDEV=m
213CONFIG_INPUT_FF_MEMLESS=m
214CONFIG_KEYBOARD_ATARI=y 287CONFIG_KEYBOARD_ATARI=y
215# CONFIG_KEYBOARD_ATKBD is not set 288# CONFIG_KEYBOARD_ATKBD is not set
216CONFIG_MOUSE_PS2=m 289# CONFIG_MOUSE_PS2 is not set
217CONFIG_MOUSE_ATARI=m 290CONFIG_MOUSE_ATARI=m
218CONFIG_INPUT_MISC=y 291CONFIG_INPUT_MISC=y
219CONFIG_INPUT_M68K_BEEP=m 292CONFIG_INPUT_M68K_BEEP=m
220# CONFIG_SERIO_SERPORT is not set 293# CONFIG_SERIO is not set
221CONFIG_VT_HW_CONSOLE_BINDING=y 294CONFIG_VT_HW_CONSOLE_BINDING=y
295# CONFIG_LEGACY_PTYS is not set
222# CONFIG_DEVKMEM is not set 296# CONFIG_DEVKMEM is not set
223CONFIG_PRINTER=m 297CONFIG_PRINTER=m
224# CONFIG_HW_RANDOM is not set 298# CONFIG_HW_RANDOM is not set
225CONFIG_GEN_RTC=m 299CONFIG_NTP_PPS=y
226CONFIG_GEN_RTC_X=y 300CONFIG_PPS_CLIENT_LDISC=m
301CONFIG_PPS_CLIENT_PARPORT=m
302CONFIG_PTP_1588_CLOCK=m
227# CONFIG_HWMON is not set 303# CONFIG_HWMON is not set
228CONFIG_FB=y 304CONFIG_FB=y
229CONFIG_FB_ATARI=y 305CONFIG_FB_ATARI=y
@@ -233,47 +309,64 @@ CONFIG_SOUND=m
233CONFIG_DMASOUND_ATARI=m 309CONFIG_DMASOUND_ATARI=m
234CONFIG_HID=m 310CONFIG_HID=m
235CONFIG_HIDRAW=y 311CONFIG_HIDRAW=y
236# CONFIG_USB_SUPPORT is not set 312CONFIG_UHID=m
313CONFIG_RTC_CLASS=y
314CONFIG_RTC_DRV_GENERIC=m
315# CONFIG_IOMMU_SUPPORT is not set
316CONFIG_HEARTBEAT=y
317CONFIG_PROC_HARDWARE=y
318CONFIG_NATFEAT=y
319CONFIG_NFBLOCK=y
320CONFIG_NFCON=y
321CONFIG_NFETH=y
237CONFIG_ATARI_DSP56K=m 322CONFIG_ATARI_DSP56K=m
238CONFIG_EXT2_FS=y 323CONFIG_EXT2_FS=y
239CONFIG_EXT3_FS=y 324CONFIG_EXT3_FS=y
240# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 325# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
241# CONFIG_EXT3_FS_XATTR is not set 326# CONFIG_EXT3_FS_XATTR is not set
327CONFIG_EXT4_FS=y
242CONFIG_REISERFS_FS=m 328CONFIG_REISERFS_FS=m
243CONFIG_JFS_FS=m 329CONFIG_JFS_FS=m
244CONFIG_XFS_FS=m 330CONFIG_XFS_FS=m
245CONFIG_OCFS2_FS=m 331CONFIG_OCFS2_FS=m
246# CONFIG_OCFS2_FS_STATS is not set
247# CONFIG_OCFS2_DEBUG_MASKLOG is not set 332# CONFIG_OCFS2_DEBUG_MASKLOG is not set
333CONFIG_FANOTIFY=y
248CONFIG_QUOTA_NETLINK_INTERFACE=y 334CONFIG_QUOTA_NETLINK_INTERFACE=y
249# CONFIG_PRINT_QUOTA_WARNING is not set 335# CONFIG_PRINT_QUOTA_WARNING is not set
250CONFIG_AUTOFS_FS=m
251CONFIG_AUTOFS4_FS=m 336CONFIG_AUTOFS4_FS=m
252CONFIG_FUSE_FS=m 337CONFIG_FUSE_FS=m
338CONFIG_CUSE=m
253CONFIG_ISO9660_FS=y 339CONFIG_ISO9660_FS=y
254CONFIG_JOLIET=y 340CONFIG_JOLIET=y
255CONFIG_ZISOFS=y 341CONFIG_ZISOFS=y
256CONFIG_UDF_FS=m 342CONFIG_UDF_FS=m
257CONFIG_MSDOS_FS=y 343CONFIG_MSDOS_FS=m
258CONFIG_VFAT_FS=m 344CONFIG_VFAT_FS=m
259CONFIG_PROC_KCORE=y 345CONFIG_PROC_KCORE=y
260CONFIG_TMPFS=y 346CONFIG_TMPFS=y
261CONFIG_AFFS_FS=m 347CONFIG_AFFS_FS=m
348CONFIG_ECRYPT_FS=m
349CONFIG_ECRYPT_FS_MESSAGING=y
262CONFIG_HFS_FS=m 350CONFIG_HFS_FS=m
263CONFIG_HFSPLUS_FS=m 351CONFIG_HFSPLUS_FS=m
264CONFIG_CRAMFS=m 352CONFIG_CRAMFS=m
265CONFIG_SQUASHFS=m 353CONFIG_SQUASHFS=m
266CONFIG_MINIX_FS=y 354CONFIG_SQUASHFS_LZO=y
355CONFIG_MINIX_FS=m
356CONFIG_OMFS_FS=m
267CONFIG_HPFS_FS=m 357CONFIG_HPFS_FS=m
358CONFIG_QNX4FS_FS=m
359CONFIG_QNX6FS_FS=m
268CONFIG_SYSV_FS=m 360CONFIG_SYSV_FS=m
269CONFIG_UFS_FS=m 361CONFIG_UFS_FS=m
270CONFIG_NFS_FS=y 362CONFIG_NFS_FS=y
271CONFIG_NFS_V3=y
272CONFIG_NFS_V4=y 363CONFIG_NFS_V4=y
364CONFIG_NFS_SWAP=y
365CONFIG_ROOT_NFS=y
273CONFIG_NFSD=m 366CONFIG_NFSD=m
274CONFIG_NFSD_V3=y 367CONFIG_NFSD_V3=y
275CONFIG_SMB_FS=m 368CONFIG_CIFS=m
276CONFIG_SMB_NLS_DEFAULT=y 369# CONFIG_CIFS_DEBUG is not set
277CONFIG_CODA_FS=m 370CONFIG_CODA_FS=m
278CONFIG_NLS_CODEPAGE_437=y 371CONFIG_NLS_CODEPAGE_437=y
279CONFIG_NLS_CODEPAGE_737=m 372CONFIG_NLS_CODEPAGE_737=m
@@ -312,10 +405,23 @@ CONFIG_NLS_ISO8859_14=m
312CONFIG_NLS_ISO8859_15=m 405CONFIG_NLS_ISO8859_15=m
313CONFIG_NLS_KOI8_R=m 406CONFIG_NLS_KOI8_R=m
314CONFIG_NLS_KOI8_U=m 407CONFIG_NLS_KOI8_U=m
408CONFIG_NLS_MAC_ROMAN=m
409CONFIG_NLS_MAC_CELTIC=m
410CONFIG_NLS_MAC_CENTEURO=m
411CONFIG_NLS_MAC_CROATIAN=m
412CONFIG_NLS_MAC_CYRILLIC=m
413CONFIG_NLS_MAC_GAELIC=m
414CONFIG_NLS_MAC_GREEK=m
415CONFIG_NLS_MAC_ICELAND=m
416CONFIG_NLS_MAC_INUIT=m
417CONFIG_NLS_MAC_ROMANIAN=m
418CONFIG_NLS_MAC_TURKISH=m
315CONFIG_DLM=m 419CONFIG_DLM=m
316CONFIG_MAGIC_SYSRQ=y 420CONFIG_MAGIC_SYSRQ=y
317# CONFIG_RCU_CPU_STALL_DETECTOR is not set 421CONFIG_ASYNC_RAID6_TEST=m
318CONFIG_SYSCTL_SYSCALL_CHECK=y 422CONFIG_ENCRYPTED_KEYS=m
423CONFIG_CRYPTO_MANAGER=y
424CONFIG_CRYPTO_USER=m
319CONFIG_CRYPTO_NULL=m 425CONFIG_CRYPTO_NULL=m
320CONFIG_CRYPTO_CRYPTD=m 426CONFIG_CRYPTO_CRYPTD=m
321CONFIG_CRYPTO_TEST=m 427CONFIG_CRYPTO_TEST=m
@@ -325,19 +431,16 @@ CONFIG_CRYPTO_CTS=m
325CONFIG_CRYPTO_LRW=m 431CONFIG_CRYPTO_LRW=m
326CONFIG_CRYPTO_PCBC=m 432CONFIG_CRYPTO_PCBC=m
327CONFIG_CRYPTO_XTS=m 433CONFIG_CRYPTO_XTS=m
328CONFIG_CRYPTO_HMAC=y
329CONFIG_CRYPTO_XCBC=m 434CONFIG_CRYPTO_XCBC=m
330CONFIG_CRYPTO_MD4=m 435CONFIG_CRYPTO_VMAC=m
331CONFIG_CRYPTO_MICHAEL_MIC=m 436CONFIG_CRYPTO_MICHAEL_MIC=m
332CONFIG_CRYPTO_RMD128=m 437CONFIG_CRYPTO_RMD128=m
333CONFIG_CRYPTO_RMD160=m 438CONFIG_CRYPTO_RMD160=m
334CONFIG_CRYPTO_RMD256=m 439CONFIG_CRYPTO_RMD256=m
335CONFIG_CRYPTO_RMD320=m 440CONFIG_CRYPTO_RMD320=m
336CONFIG_CRYPTO_SHA256=m
337CONFIG_CRYPTO_SHA512=m 441CONFIG_CRYPTO_SHA512=m
338CONFIG_CRYPTO_TGR192=m 442CONFIG_CRYPTO_TGR192=m
339CONFIG_CRYPTO_WP512=m 443CONFIG_CRYPTO_WP512=m
340CONFIG_CRYPTO_AES=m
341CONFIG_CRYPTO_ANUBIS=m 444CONFIG_CRYPTO_ANUBIS=m
342CONFIG_CRYPTO_BLOWFISH=m 445CONFIG_CRYPTO_BLOWFISH=m
343CONFIG_CRYPTO_CAMELLIA=m 446CONFIG_CRYPTO_CAMELLIA=m
@@ -353,6 +456,14 @@ CONFIG_CRYPTO_TWOFISH=m
353CONFIG_CRYPTO_ZLIB=m 456CONFIG_CRYPTO_ZLIB=m
354CONFIG_CRYPTO_LZO=m 457CONFIG_CRYPTO_LZO=m
355# CONFIG_CRYPTO_ANSI_CPRNG is not set 458# CONFIG_CRYPTO_ANSI_CPRNG is not set
459CONFIG_CRYPTO_USER_API_HASH=m
460CONFIG_CRYPTO_USER_API_SKCIPHER=m
356# CONFIG_CRYPTO_HW is not set 461# CONFIG_CRYPTO_HW is not set
357CONFIG_CRC16=y
358CONFIG_CRC_T10DIF=y 462CONFIG_CRC_T10DIF=y
463CONFIG_XZ_DEC_X86=y
464CONFIG_XZ_DEC_POWERPC=y
465CONFIG_XZ_DEC_IA64=y
466CONFIG_XZ_DEC_ARM=y
467CONFIG_XZ_DEC_ARMTHUMB=y
468CONFIG_XZ_DEC_SPARC=y
469CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig
index 12f211733ba0..c015ddb6fd80 100644
--- a/arch/m68k/configs/bvme6000_defconfig
+++ b/arch/m68k/configs/bvme6000_defconfig
@@ -1,53 +1,74 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-bvme6000" 1CONFIG_LOCALVERSION="-bvme6000"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_VME=y 16CONFIG_PARTITION_ADVANCED=y
14CONFIG_BVME6000=y 17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24CONFIG_SUN_PARTITION=y
25# CONFIG_EFI_PARTITION is not set
26CONFIG_IOSCHED_DEADLINE=m
15CONFIG_M68040=y 27CONFIG_M68040=y
16CONFIG_M68060=y 28CONFIG_M68060=y
29CONFIG_VME=y
30CONFIG_BVME6000=y
31# CONFIG_COMPACTION is not set
32CONFIG_CLEANCACHE=y
33# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
17CONFIG_BINFMT_AOUT=m 34CONFIG_BINFMT_AOUT=m
18CONFIG_BINFMT_MISC=m 35CONFIG_BINFMT_MISC=m
19CONFIG_PROC_HARDWARE=y
20CONFIG_NET=y 36CONFIG_NET=y
21CONFIG_PACKET=y 37CONFIG_PACKET=y
38CONFIG_PACKET_DIAG=m
22CONFIG_UNIX=y 39CONFIG_UNIX=y
40CONFIG_UNIX_DIAG=m
41CONFIG_XFRM_MIGRATE=y
23CONFIG_NET_KEY=y 42CONFIG_NET_KEY=y
24CONFIG_NET_KEY_MIGRATE=y
25CONFIG_INET=y 43CONFIG_INET=y
26CONFIG_IP_PNP=y 44CONFIG_IP_PNP=y
27CONFIG_IP_PNP_DHCP=y 45CONFIG_IP_PNP_DHCP=y
28CONFIG_IP_PNP_BOOTP=y 46CONFIG_IP_PNP_BOOTP=y
29CONFIG_IP_PNP_RARP=y 47CONFIG_IP_PNP_RARP=y
30CONFIG_NET_IPIP=m 48CONFIG_NET_IPIP=m
49CONFIG_NET_IPGRE_DEMUX=m
31CONFIG_NET_IPGRE=m 50CONFIG_NET_IPGRE=m
32CONFIG_SYN_COOKIES=y 51CONFIG_SYN_COOKIES=y
52CONFIG_NET_IPVTI=m
33CONFIG_INET_AH=m 53CONFIG_INET_AH=m
34CONFIG_INET_ESP=m 54CONFIG_INET_ESP=m
35CONFIG_INET_IPCOMP=m 55CONFIG_INET_IPCOMP=m
36CONFIG_INET_XFRM_MODE_TRANSPORT=m 56CONFIG_INET_XFRM_MODE_TRANSPORT=m
37CONFIG_INET_XFRM_MODE_TUNNEL=m 57CONFIG_INET_XFRM_MODE_TUNNEL=m
38CONFIG_INET_XFRM_MODE_BEET=m 58CONFIG_INET_XFRM_MODE_BEET=m
59# CONFIG_INET_LRO is not set
39CONFIG_INET_DIAG=m 60CONFIG_INET_DIAG=m
61CONFIG_INET_UDP_DIAG=m
40CONFIG_IPV6_PRIVACY=y 62CONFIG_IPV6_PRIVACY=y
41CONFIG_IPV6_ROUTER_PREF=y 63CONFIG_IPV6_ROUTER_PREF=y
42CONFIG_IPV6_ROUTE_INFO=y
43CONFIG_INET6_AH=m 64CONFIG_INET6_AH=m
44CONFIG_INET6_ESP=m 65CONFIG_INET6_ESP=m
45CONFIG_INET6_IPCOMP=m 66CONFIG_INET6_IPCOMP=m
46CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 67CONFIG_IPV6_GRE=m
47CONFIG_IPV6_TUNNEL=m
48CONFIG_NETFILTER=y 68CONFIG_NETFILTER=y
49CONFIG_NETFILTER_NETLINK_QUEUE=m
50CONFIG_NF_CONNTRACK=m 69CONFIG_NF_CONNTRACK=m
70CONFIG_NF_CONNTRACK_ZONES=y
71# CONFIG_NF_CONNTRACK_PROCFS is not set
51# CONFIG_NF_CT_PROTO_DCCP is not set 72# CONFIG_NF_CT_PROTO_DCCP is not set
52CONFIG_NF_CT_PROTO_UDPLITE=m 73CONFIG_NF_CT_PROTO_UDPLITE=m
53CONFIG_NF_CONNTRACK_AMANDA=m 74CONFIG_NF_CONNTRACK_AMANDA=m
@@ -55,25 +76,37 @@ CONFIG_NF_CONNTRACK_FTP=m
55CONFIG_NF_CONNTRACK_H323=m 76CONFIG_NF_CONNTRACK_H323=m
56CONFIG_NF_CONNTRACK_IRC=m 77CONFIG_NF_CONNTRACK_IRC=m
57CONFIG_NF_CONNTRACK_NETBIOS_NS=m 78CONFIG_NF_CONNTRACK_NETBIOS_NS=m
79CONFIG_NF_CONNTRACK_SNMP=m
58CONFIG_NF_CONNTRACK_PPTP=m 80CONFIG_NF_CONNTRACK_PPTP=m
59CONFIG_NF_CONNTRACK_SANE=m 81CONFIG_NF_CONNTRACK_SANE=m
60CONFIG_NF_CONNTRACK_SIP=m 82CONFIG_NF_CONNTRACK_SIP=m
61CONFIG_NF_CONNTRACK_TFTP=m 83CONFIG_NF_CONNTRACK_TFTP=m
84CONFIG_NETFILTER_XT_SET=m
85CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
62CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 86CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
63CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 87CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
64CONFIG_NETFILTER_XT_TARGET_DSCP=m 88CONFIG_NETFILTER_XT_TARGET_DSCP=m
89CONFIG_NETFILTER_XT_TARGET_HMARK=m
90CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
91CONFIG_NETFILTER_XT_TARGET_LOG=m
65CONFIG_NETFILTER_XT_TARGET_MARK=m 92CONFIG_NETFILTER_XT_TARGET_MARK=m
66CONFIG_NETFILTER_XT_TARGET_NFLOG=m 93CONFIG_NETFILTER_XT_TARGET_NFLOG=m
67CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 94CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
95CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
96CONFIG_NETFILTER_XT_TARGET_TEE=m
68CONFIG_NETFILTER_XT_TARGET_TRACE=m 97CONFIG_NETFILTER_XT_TARGET_TRACE=m
69CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 98CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
70CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 99CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
100CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
101CONFIG_NETFILTER_XT_MATCH_BPF=m
71CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 102CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
72CONFIG_NETFILTER_XT_MATCH_COMMENT=m 103CONFIG_NETFILTER_XT_MATCH_COMMENT=m
73CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 104CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
105CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
74CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 106CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
75CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 107CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
76CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 108CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
109CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
77CONFIG_NETFILTER_XT_MATCH_DSCP=m 110CONFIG_NETFILTER_XT_MATCH_DSCP=m
78CONFIG_NETFILTER_XT_MATCH_ESP=m 111CONFIG_NETFILTER_XT_MATCH_ESP=m
79CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 112CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -84,6 +117,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
84CONFIG_NETFILTER_XT_MATCH_MAC=m 117CONFIG_NETFILTER_XT_MATCH_MAC=m
85CONFIG_NETFILTER_XT_MATCH_MARK=m 118CONFIG_NETFILTER_XT_MATCH_MARK=m
86CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 119CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
120CONFIG_NETFILTER_XT_MATCH_NFACCT=m
121CONFIG_NETFILTER_XT_MATCH_OSF=m
87CONFIG_NETFILTER_XT_MATCH_OWNER=m 122CONFIG_NETFILTER_XT_MATCH_OWNER=m
88CONFIG_NETFILTER_XT_MATCH_POLICY=m 123CONFIG_NETFILTER_XT_MATCH_POLICY=m
89CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 124CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -97,22 +132,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
97CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 132CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
98CONFIG_NETFILTER_XT_MATCH_TIME=m 133CONFIG_NETFILTER_XT_MATCH_TIME=m
99CONFIG_NETFILTER_XT_MATCH_U32=m 134CONFIG_NETFILTER_XT_MATCH_U32=m
135CONFIG_IP_SET=m
136CONFIG_IP_SET_BITMAP_IP=m
137CONFIG_IP_SET_BITMAP_IPMAC=m
138CONFIG_IP_SET_BITMAP_PORT=m
139CONFIG_IP_SET_HASH_IP=m
140CONFIG_IP_SET_HASH_IPPORT=m
141CONFIG_IP_SET_HASH_IPPORTIP=m
142CONFIG_IP_SET_HASH_IPPORTNET=m
143CONFIG_IP_SET_HASH_NET=m
144CONFIG_IP_SET_HASH_NETPORT=m
145CONFIG_IP_SET_HASH_NETIFACE=m
146CONFIG_IP_SET_LIST_SET=m
100CONFIG_NF_CONNTRACK_IPV4=m 147CONFIG_NF_CONNTRACK_IPV4=m
101CONFIG_IP_NF_QUEUE=m
102CONFIG_IP_NF_IPTABLES=m 148CONFIG_IP_NF_IPTABLES=m
103CONFIG_IP_NF_MATCH_ADDRTYPE=m
104CONFIG_IP_NF_MATCH_AH=m 149CONFIG_IP_NF_MATCH_AH=m
105CONFIG_IP_NF_MATCH_ECN=m 150CONFIG_IP_NF_MATCH_ECN=m
151CONFIG_IP_NF_MATCH_RPFILTER=m
106CONFIG_IP_NF_MATCH_TTL=m 152CONFIG_IP_NF_MATCH_TTL=m
107CONFIG_IP_NF_FILTER=m 153CONFIG_IP_NF_FILTER=m
108CONFIG_IP_NF_TARGET_REJECT=m 154CONFIG_IP_NF_TARGET_REJECT=m
109CONFIG_IP_NF_TARGET_LOG=m
110CONFIG_IP_NF_TARGET_ULOG=m 155CONFIG_IP_NF_TARGET_ULOG=m
111CONFIG_NF_NAT=m 156CONFIG_NF_NAT_IPV4=m
112CONFIG_IP_NF_TARGET_MASQUERADE=m 157CONFIG_IP_NF_TARGET_MASQUERADE=m
113CONFIG_IP_NF_TARGET_NETMAP=m 158CONFIG_IP_NF_TARGET_NETMAP=m
114CONFIG_IP_NF_TARGET_REDIRECT=m 159CONFIG_IP_NF_TARGET_REDIRECT=m
115CONFIG_NF_NAT_SNMP_BASIC=m
116CONFIG_IP_NF_MANGLE=m 160CONFIG_IP_NF_MANGLE=m
117CONFIG_IP_NF_TARGET_CLUSTERIP=m 161CONFIG_IP_NF_TARGET_CLUSTERIP=m
118CONFIG_IP_NF_TARGET_ECN=m 162CONFIG_IP_NF_TARGET_ECN=m
@@ -122,7 +166,6 @@ CONFIG_IP_NF_ARPTABLES=m
122CONFIG_IP_NF_ARPFILTER=m 166CONFIG_IP_NF_ARPFILTER=m
123CONFIG_IP_NF_ARP_MANGLE=m 167CONFIG_IP_NF_ARP_MANGLE=m
124CONFIG_NF_CONNTRACK_IPV6=m 168CONFIG_NF_CONNTRACK_IPV6=m
125CONFIG_IP6_NF_QUEUE=m
126CONFIG_IP6_NF_IPTABLES=m 169CONFIG_IP6_NF_IPTABLES=m
127CONFIG_IP6_NF_MATCH_AH=m 170CONFIG_IP6_NF_MATCH_AH=m
128CONFIG_IP6_NF_MATCH_EUI64=m 171CONFIG_IP6_NF_MATCH_EUI64=m
@@ -131,21 +174,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
131CONFIG_IP6_NF_MATCH_HL=m 174CONFIG_IP6_NF_MATCH_HL=m
132CONFIG_IP6_NF_MATCH_IPV6HEADER=m 175CONFIG_IP6_NF_MATCH_IPV6HEADER=m
133CONFIG_IP6_NF_MATCH_MH=m 176CONFIG_IP6_NF_MATCH_MH=m
177CONFIG_IP6_NF_MATCH_RPFILTER=m
134CONFIG_IP6_NF_MATCH_RT=m 178CONFIG_IP6_NF_MATCH_RT=m
135CONFIG_IP6_NF_TARGET_HL=m 179CONFIG_IP6_NF_TARGET_HL=m
136CONFIG_IP6_NF_TARGET_LOG=m
137CONFIG_IP6_NF_FILTER=m 180CONFIG_IP6_NF_FILTER=m
138CONFIG_IP6_NF_TARGET_REJECT=m 181CONFIG_IP6_NF_TARGET_REJECT=m
139CONFIG_IP6_NF_MANGLE=m 182CONFIG_IP6_NF_MANGLE=m
140CONFIG_IP6_NF_RAW=m 183CONFIG_IP6_NF_RAW=m
184CONFIG_NF_NAT_IPV6=m
185CONFIG_IP6_NF_TARGET_MASQUERADE=m
186CONFIG_IP6_NF_TARGET_NPT=m
141CONFIG_IP_DCCP=m 187CONFIG_IP_DCCP=m
142# CONFIG_IP_DCCP_CCID3 is not set 188# CONFIG_IP_DCCP_CCID3 is not set
189CONFIG_SCTP_COOKIE_HMAC_SHA1=y
190CONFIG_RDS=m
191CONFIG_RDS_TCP=m
192CONFIG_L2TP=m
143CONFIG_ATALK=m 193CONFIG_ATALK=m
194CONFIG_BATMAN_ADV=m
195CONFIG_BATMAN_ADV_DAT=y
196# CONFIG_WIRELESS is not set
144CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 197CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
198CONFIG_DEVTMPFS=y
145# CONFIG_FIRMWARE_IN_KERNEL is not set 199# CONFIG_FIRMWARE_IN_KERNEL is not set
200# CONFIG_FW_LOADER_USER_HELPER is not set
146CONFIG_CONNECTOR=m 201CONFIG_CONNECTOR=m
147CONFIG_BLK_DEV_LOOP=y 202CONFIG_BLK_DEV_LOOP=y
148CONFIG_BLK_DEV_CRYPTOLOOP=m 203CONFIG_BLK_DEV_CRYPTOLOOP=m
204CONFIG_BLK_DEV_DRBD=m
149CONFIG_BLK_DEV_NBD=m 205CONFIG_BLK_DEV_NBD=m
150CONFIG_BLK_DEV_RAM=y 206CONFIG_BLK_DEV_RAM=y
151CONFIG_CDROM_PKTCDVD=m 207CONFIG_CDROM_PKTCDVD=m
@@ -160,103 +216,131 @@ CONFIG_BLK_DEV_SR=y
160CONFIG_BLK_DEV_SR_VENDOR=y 216CONFIG_BLK_DEV_SR_VENDOR=y
161CONFIG_CHR_DEV_SG=m 217CONFIG_CHR_DEV_SG=m
162CONFIG_SCSI_CONSTANTS=y 218CONFIG_SCSI_CONSTANTS=y
163CONFIG_SCSI_SAS_LIBSAS=m 219CONFIG_SCSI_SAS_ATTRS=m
164# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
165CONFIG_SCSI_SRP_ATTRS=m
166CONFIG_SCSI_SRP_TGT_ATTRS=y
167CONFIG_ISCSI_TCP=m 220CONFIG_ISCSI_TCP=m
221CONFIG_ISCSI_BOOT_SYSFS=m
168CONFIG_BVME6000_SCSI=y 222CONFIG_BVME6000_SCSI=y
169CONFIG_MD=y 223CONFIG_MD=y
170CONFIG_BLK_DEV_MD=m
171CONFIG_MD_LINEAR=m 224CONFIG_MD_LINEAR=m
172CONFIG_MD_RAID0=m 225CONFIG_MD_RAID0=m
173CONFIG_MD_RAID1=m
174CONFIG_MD_RAID456=m
175CONFIG_BLK_DEV_DM=m 226CONFIG_BLK_DEV_DM=m
176CONFIG_DM_CRYPT=m 227CONFIG_DM_CRYPT=m
177CONFIG_DM_SNAPSHOT=m 228CONFIG_DM_SNAPSHOT=m
229CONFIG_DM_THIN_PROVISIONING=m
230CONFIG_DM_CACHE=m
178CONFIG_DM_MIRROR=m 231CONFIG_DM_MIRROR=m
232CONFIG_DM_RAID=m
179CONFIG_DM_ZERO=m 233CONFIG_DM_ZERO=m
180CONFIG_DM_MULTIPATH=m 234CONFIG_DM_MULTIPATH=m
181CONFIG_DM_UEVENT=y 235CONFIG_DM_UEVENT=y
236CONFIG_TARGET_CORE=m
237CONFIG_TCM_IBLOCK=m
238CONFIG_TCM_FILEIO=m
239CONFIG_TCM_PSCSI=m
182CONFIG_NETDEVICES=y 240CONFIG_NETDEVICES=y
183CONFIG_DUMMY=m 241CONFIG_DUMMY=m
184CONFIG_MACVLAN=m
185CONFIG_EQUALIZER=m 242CONFIG_EQUALIZER=m
243CONFIG_NET_TEAM=m
244CONFIG_NET_TEAM_MODE_BROADCAST=m
245CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
246CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
247CONFIG_NET_TEAM_MODE_LOADBALANCE=m
248CONFIG_VXLAN=m
249CONFIG_NETCONSOLE=m
250CONFIG_NETCONSOLE_DYNAMIC=y
186CONFIG_VETH=m 251CONFIG_VETH=m
187CONFIG_NET_ETHERNET=y 252# CONFIG_NET_CADENCE is not set
253# CONFIG_NET_VENDOR_BROADCOM is not set
188CONFIG_BVME6000_NET=y 254CONFIG_BVME6000_NET=y
189# CONFIG_NETDEV_1000 is not set 255# CONFIG_NET_VENDOR_MARVELL is not set
190# CONFIG_NETDEV_10000 is not set 256# CONFIG_NET_VENDOR_MICREL is not set
257# CONFIG_NET_VENDOR_NATSEMI is not set
258# CONFIG_NET_VENDOR_SEEQ is not set
259# CONFIG_NET_VENDOR_STMICRO is not set
260# CONFIG_NET_VENDOR_WIZNET is not set
191CONFIG_PPP=m 261CONFIG_PPP=m
192CONFIG_PPP_FILTER=y
193CONFIG_PPP_ASYNC=m
194CONFIG_PPP_SYNC_TTY=m
195CONFIG_PPP_DEFLATE=m
196CONFIG_PPP_BSDCOMP=m 262CONFIG_PPP_BSDCOMP=m
263CONFIG_PPP_DEFLATE=m
264CONFIG_PPP_FILTER=y
197CONFIG_PPP_MPPE=m 265CONFIG_PPP_MPPE=m
198CONFIG_PPPOE=m 266CONFIG_PPPOE=m
267CONFIG_PPTP=m
268CONFIG_PPPOL2TP=m
269CONFIG_PPP_ASYNC=m
270CONFIG_PPP_SYNC_TTY=m
199CONFIG_SLIP=m 271CONFIG_SLIP=m
200CONFIG_SLIP_COMPRESSED=y 272CONFIG_SLIP_COMPRESSED=y
201CONFIG_SLIP_SMART=y 273CONFIG_SLIP_SMART=y
202CONFIG_SLIP_MODE_SLIP6=y 274CONFIG_SLIP_MODE_SLIP6=y
203CONFIG_NETCONSOLE=m 275# CONFIG_WLAN is not set
204CONFIG_NETCONSOLE_DYNAMIC=y 276CONFIG_INPUT_EVDEV=m
205CONFIG_INPUT_FF_MEMLESS=m
206# CONFIG_KEYBOARD_ATKBD is not set 277# CONFIG_KEYBOARD_ATKBD is not set
207CONFIG_MOUSE_PS2=m 278# CONFIG_MOUSE_PS2 is not set
208CONFIG_MOUSE_SERIAL=m 279# CONFIG_SERIO is not set
209CONFIG_SERIO=m
210# CONFIG_SERIO_SERPORT is not set
211CONFIG_VT_HW_CONSOLE_BINDING=y 280CONFIG_VT_HW_CONSOLE_BINDING=y
281# CONFIG_LEGACY_PTYS is not set
212# CONFIG_DEVKMEM is not set 282# CONFIG_DEVKMEM is not set
213# CONFIG_HW_RANDOM is not set 283# CONFIG_HW_RANDOM is not set
214CONFIG_GEN_RTC=m 284CONFIG_NTP_PPS=y
215CONFIG_GEN_RTC_X=y 285CONFIG_PPS_CLIENT_LDISC=m
286CONFIG_PTP_1588_CLOCK=m
216# CONFIG_HWMON is not set 287# CONFIG_HWMON is not set
217CONFIG_HID=m 288CONFIG_HID=m
218CONFIG_HIDRAW=y 289CONFIG_HIDRAW=y
290CONFIG_UHID=m
291# CONFIG_HID_GENERIC is not set
219# CONFIG_USB_SUPPORT is not set 292# CONFIG_USB_SUPPORT is not set
293CONFIG_RTC_CLASS=y
294CONFIG_RTC_DRV_GENERIC=m
295# CONFIG_IOMMU_SUPPORT is not set
296CONFIG_PROC_HARDWARE=y
220CONFIG_EXT2_FS=y 297CONFIG_EXT2_FS=y
221CONFIG_EXT3_FS=y 298CONFIG_EXT3_FS=y
222# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 299# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
223# CONFIG_EXT3_FS_XATTR is not set 300# CONFIG_EXT3_FS_XATTR is not set
301CONFIG_EXT4_FS=y
224CONFIG_REISERFS_FS=m 302CONFIG_REISERFS_FS=m
225CONFIG_JFS_FS=m 303CONFIG_JFS_FS=m
226CONFIG_XFS_FS=m 304CONFIG_XFS_FS=m
227CONFIG_OCFS2_FS=m 305CONFIG_OCFS2_FS=m
228# CONFIG_OCFS2_FS_STATS is not set
229# CONFIG_OCFS2_DEBUG_MASKLOG is not set 306# CONFIG_OCFS2_DEBUG_MASKLOG is not set
307CONFIG_FANOTIFY=y
230CONFIG_QUOTA_NETLINK_INTERFACE=y 308CONFIG_QUOTA_NETLINK_INTERFACE=y
231# CONFIG_PRINT_QUOTA_WARNING is not set 309# CONFIG_PRINT_QUOTA_WARNING is not set
232CONFIG_AUTOFS_FS=m
233CONFIG_AUTOFS4_FS=m 310CONFIG_AUTOFS4_FS=m
234CONFIG_FUSE_FS=m 311CONFIG_FUSE_FS=m
312CONFIG_CUSE=m
235CONFIG_ISO9660_FS=y 313CONFIG_ISO9660_FS=y
236CONFIG_JOLIET=y 314CONFIG_JOLIET=y
237CONFIG_ZISOFS=y 315CONFIG_ZISOFS=y
238CONFIG_UDF_FS=m 316CONFIG_UDF_FS=m
239CONFIG_MSDOS_FS=y 317CONFIG_MSDOS_FS=m
240CONFIG_VFAT_FS=m 318CONFIG_VFAT_FS=m
241CONFIG_PROC_KCORE=y 319CONFIG_PROC_KCORE=y
242CONFIG_TMPFS=y 320CONFIG_TMPFS=y
243CONFIG_AFFS_FS=m 321CONFIG_AFFS_FS=m
322CONFIG_ECRYPT_FS=m
323CONFIG_ECRYPT_FS_MESSAGING=y
244CONFIG_HFS_FS=m 324CONFIG_HFS_FS=m
245CONFIG_HFSPLUS_FS=m 325CONFIG_HFSPLUS_FS=m
246CONFIG_CRAMFS=m 326CONFIG_CRAMFS=m
247CONFIG_SQUASHFS=m 327CONFIG_SQUASHFS=m
248CONFIG_MINIX_FS=y 328CONFIG_SQUASHFS_LZO=y
329CONFIG_MINIX_FS=m
330CONFIG_OMFS_FS=m
249CONFIG_HPFS_FS=m 331CONFIG_HPFS_FS=m
332CONFIG_QNX4FS_FS=m
333CONFIG_QNX6FS_FS=m
250CONFIG_SYSV_FS=m 334CONFIG_SYSV_FS=m
251CONFIG_UFS_FS=m 335CONFIG_UFS_FS=m
252CONFIG_NFS_FS=y 336CONFIG_NFS_FS=y
253CONFIG_NFS_V3=y
254CONFIG_NFS_V4=y 337CONFIG_NFS_V4=y
338CONFIG_NFS_SWAP=y
255CONFIG_ROOT_NFS=y 339CONFIG_ROOT_NFS=y
256CONFIG_NFSD=m 340CONFIG_NFSD=m
257CONFIG_NFSD_V3=y 341CONFIG_NFSD_V3=y
258CONFIG_SMB_FS=m 342CONFIG_CIFS=m
259CONFIG_SMB_NLS_DEFAULT=y 343# CONFIG_CIFS_DEBUG is not set
260CONFIG_CODA_FS=m 344CONFIG_CODA_FS=m
261CONFIG_NLS_CODEPAGE_437=y 345CONFIG_NLS_CODEPAGE_437=y
262CONFIG_NLS_CODEPAGE_737=m 346CONFIG_NLS_CODEPAGE_737=m
@@ -295,10 +379,23 @@ CONFIG_NLS_ISO8859_14=m
295CONFIG_NLS_ISO8859_15=m 379CONFIG_NLS_ISO8859_15=m
296CONFIG_NLS_KOI8_R=m 380CONFIG_NLS_KOI8_R=m
297CONFIG_NLS_KOI8_U=m 381CONFIG_NLS_KOI8_U=m
382CONFIG_NLS_MAC_ROMAN=m
383CONFIG_NLS_MAC_CELTIC=m
384CONFIG_NLS_MAC_CENTEURO=m
385CONFIG_NLS_MAC_CROATIAN=m
386CONFIG_NLS_MAC_CYRILLIC=m
387CONFIG_NLS_MAC_GAELIC=m
388CONFIG_NLS_MAC_GREEK=m
389CONFIG_NLS_MAC_ICELAND=m
390CONFIG_NLS_MAC_INUIT=m
391CONFIG_NLS_MAC_ROMANIAN=m
392CONFIG_NLS_MAC_TURKISH=m
298CONFIG_DLM=m 393CONFIG_DLM=m
299CONFIG_MAGIC_SYSRQ=y 394CONFIG_MAGIC_SYSRQ=y
300# CONFIG_RCU_CPU_STALL_DETECTOR is not set 395CONFIG_ASYNC_RAID6_TEST=m
301CONFIG_SYSCTL_SYSCALL_CHECK=y 396CONFIG_ENCRYPTED_KEYS=m
397CONFIG_CRYPTO_MANAGER=y
398CONFIG_CRYPTO_USER=m
302CONFIG_CRYPTO_NULL=m 399CONFIG_CRYPTO_NULL=m
303CONFIG_CRYPTO_CRYPTD=m 400CONFIG_CRYPTO_CRYPTD=m
304CONFIG_CRYPTO_TEST=m 401CONFIG_CRYPTO_TEST=m
@@ -308,19 +405,16 @@ CONFIG_CRYPTO_CTS=m
308CONFIG_CRYPTO_LRW=m 405CONFIG_CRYPTO_LRW=m
309CONFIG_CRYPTO_PCBC=m 406CONFIG_CRYPTO_PCBC=m
310CONFIG_CRYPTO_XTS=m 407CONFIG_CRYPTO_XTS=m
311CONFIG_CRYPTO_HMAC=y
312CONFIG_CRYPTO_XCBC=m 408CONFIG_CRYPTO_XCBC=m
313CONFIG_CRYPTO_MD4=m 409CONFIG_CRYPTO_VMAC=m
314CONFIG_CRYPTO_MICHAEL_MIC=m 410CONFIG_CRYPTO_MICHAEL_MIC=m
315CONFIG_CRYPTO_RMD128=m 411CONFIG_CRYPTO_RMD128=m
316CONFIG_CRYPTO_RMD160=m 412CONFIG_CRYPTO_RMD160=m
317CONFIG_CRYPTO_RMD256=m 413CONFIG_CRYPTO_RMD256=m
318CONFIG_CRYPTO_RMD320=m 414CONFIG_CRYPTO_RMD320=m
319CONFIG_CRYPTO_SHA256=m
320CONFIG_CRYPTO_SHA512=m 415CONFIG_CRYPTO_SHA512=m
321CONFIG_CRYPTO_TGR192=m 416CONFIG_CRYPTO_TGR192=m
322CONFIG_CRYPTO_WP512=m 417CONFIG_CRYPTO_WP512=m
323CONFIG_CRYPTO_AES=m
324CONFIG_CRYPTO_ANUBIS=m 418CONFIG_CRYPTO_ANUBIS=m
325CONFIG_CRYPTO_BLOWFISH=m 419CONFIG_CRYPTO_BLOWFISH=m
326CONFIG_CRYPTO_CAMELLIA=m 420CONFIG_CRYPTO_CAMELLIA=m
@@ -336,7 +430,14 @@ CONFIG_CRYPTO_TWOFISH=m
336CONFIG_CRYPTO_ZLIB=m 430CONFIG_CRYPTO_ZLIB=m
337CONFIG_CRYPTO_LZO=m 431CONFIG_CRYPTO_LZO=m
338# CONFIG_CRYPTO_ANSI_CPRNG is not set 432# CONFIG_CRYPTO_ANSI_CPRNG is not set
433CONFIG_CRYPTO_USER_API_HASH=m
434CONFIG_CRYPTO_USER_API_SKCIPHER=m
339# CONFIG_CRYPTO_HW is not set 435# CONFIG_CRYPTO_HW is not set
340CONFIG_CRC16=m
341CONFIG_CRC_T10DIF=y 436CONFIG_CRC_T10DIF=y
342CONFIG_CRC32=m 437CONFIG_XZ_DEC_X86=y
438CONFIG_XZ_DEC_POWERPC=y
439CONFIG_XZ_DEC_IA64=y
440CONFIG_XZ_DEC_ARM=y
441CONFIG_XZ_DEC_ARMTHUMB=y
442CONFIG_XZ_DEC_SPARC=y
443CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig
index 215389a5407f..ec7382d8afff 100644
--- a/arch/m68k/configs/hp300_defconfig
+++ b/arch/m68k/configs/hp300_defconfig
@@ -1,54 +1,76 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-hp300" 1CONFIG_LOCALVERSION="-hp300"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_HP300=y 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24CONFIG_SUN_PARTITION=y
25# CONFIG_EFI_PARTITION is not set
26CONFIG_SYSV68_PARTITION=y
27CONFIG_IOSCHED_DEADLINE=m
14CONFIG_M68020=y 28CONFIG_M68020=y
15CONFIG_M68030=y 29CONFIG_M68030=y
16CONFIG_M68040=y 30CONFIG_M68040=y
17CONFIG_M68060=y 31CONFIG_M68060=y
32CONFIG_HP300=y
33# CONFIG_COMPACTION is not set
34CONFIG_CLEANCACHE=y
35# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
18CONFIG_BINFMT_AOUT=m 36CONFIG_BINFMT_AOUT=m
19CONFIG_BINFMT_MISC=m 37CONFIG_BINFMT_MISC=m
20CONFIG_PROC_HARDWARE=y
21CONFIG_NET=y 38CONFIG_NET=y
22CONFIG_PACKET=y 39CONFIG_PACKET=y
40CONFIG_PACKET_DIAG=m
23CONFIG_UNIX=y 41CONFIG_UNIX=y
42CONFIG_UNIX_DIAG=m
43CONFIG_XFRM_MIGRATE=y
24CONFIG_NET_KEY=y 44CONFIG_NET_KEY=y
25CONFIG_NET_KEY_MIGRATE=y
26CONFIG_INET=y 45CONFIG_INET=y
27CONFIG_IP_PNP=y 46CONFIG_IP_PNP=y
28CONFIG_IP_PNP_DHCP=y 47CONFIG_IP_PNP_DHCP=y
29CONFIG_IP_PNP_BOOTP=y 48CONFIG_IP_PNP_BOOTP=y
30CONFIG_IP_PNP_RARP=y 49CONFIG_IP_PNP_RARP=y
31CONFIG_NET_IPIP=m 50CONFIG_NET_IPIP=m
51CONFIG_NET_IPGRE_DEMUX=m
32CONFIG_NET_IPGRE=m 52CONFIG_NET_IPGRE=m
33CONFIG_SYN_COOKIES=y 53CONFIG_SYN_COOKIES=y
54CONFIG_NET_IPVTI=m
34CONFIG_INET_AH=m 55CONFIG_INET_AH=m
35CONFIG_INET_ESP=m 56CONFIG_INET_ESP=m
36CONFIG_INET_IPCOMP=m 57CONFIG_INET_IPCOMP=m
37CONFIG_INET_XFRM_MODE_TRANSPORT=m 58CONFIG_INET_XFRM_MODE_TRANSPORT=m
38CONFIG_INET_XFRM_MODE_TUNNEL=m 59CONFIG_INET_XFRM_MODE_TUNNEL=m
39CONFIG_INET_XFRM_MODE_BEET=m 60CONFIG_INET_XFRM_MODE_BEET=m
61# CONFIG_INET_LRO is not set
40CONFIG_INET_DIAG=m 62CONFIG_INET_DIAG=m
63CONFIG_INET_UDP_DIAG=m
41CONFIG_IPV6_PRIVACY=y 64CONFIG_IPV6_PRIVACY=y
42CONFIG_IPV6_ROUTER_PREF=y 65CONFIG_IPV6_ROUTER_PREF=y
43CONFIG_IPV6_ROUTE_INFO=y
44CONFIG_INET6_AH=m 66CONFIG_INET6_AH=m
45CONFIG_INET6_ESP=m 67CONFIG_INET6_ESP=m
46CONFIG_INET6_IPCOMP=m 68CONFIG_INET6_IPCOMP=m
47CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 69CONFIG_IPV6_GRE=m
48CONFIG_IPV6_TUNNEL=m
49CONFIG_NETFILTER=y 70CONFIG_NETFILTER=y
50CONFIG_NETFILTER_NETLINK_QUEUE=m
51CONFIG_NF_CONNTRACK=m 71CONFIG_NF_CONNTRACK=m
72CONFIG_NF_CONNTRACK_ZONES=y
73# CONFIG_NF_CONNTRACK_PROCFS is not set
52# CONFIG_NF_CT_PROTO_DCCP is not set 74# CONFIG_NF_CT_PROTO_DCCP is not set
53CONFIG_NF_CT_PROTO_UDPLITE=m 75CONFIG_NF_CT_PROTO_UDPLITE=m
54CONFIG_NF_CONNTRACK_AMANDA=m 76CONFIG_NF_CONNTRACK_AMANDA=m
@@ -56,25 +78,37 @@ CONFIG_NF_CONNTRACK_FTP=m
56CONFIG_NF_CONNTRACK_H323=m 78CONFIG_NF_CONNTRACK_H323=m
57CONFIG_NF_CONNTRACK_IRC=m 79CONFIG_NF_CONNTRACK_IRC=m
58CONFIG_NF_CONNTRACK_NETBIOS_NS=m 80CONFIG_NF_CONNTRACK_NETBIOS_NS=m
81CONFIG_NF_CONNTRACK_SNMP=m
59CONFIG_NF_CONNTRACK_PPTP=m 82CONFIG_NF_CONNTRACK_PPTP=m
60CONFIG_NF_CONNTRACK_SANE=m 83CONFIG_NF_CONNTRACK_SANE=m
61CONFIG_NF_CONNTRACK_SIP=m 84CONFIG_NF_CONNTRACK_SIP=m
62CONFIG_NF_CONNTRACK_TFTP=m 85CONFIG_NF_CONNTRACK_TFTP=m
86CONFIG_NETFILTER_XT_SET=m
87CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
63CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 88CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
64CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 89CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
65CONFIG_NETFILTER_XT_TARGET_DSCP=m 90CONFIG_NETFILTER_XT_TARGET_DSCP=m
91CONFIG_NETFILTER_XT_TARGET_HMARK=m
92CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
93CONFIG_NETFILTER_XT_TARGET_LOG=m
66CONFIG_NETFILTER_XT_TARGET_MARK=m 94CONFIG_NETFILTER_XT_TARGET_MARK=m
67CONFIG_NETFILTER_XT_TARGET_NFLOG=m 95CONFIG_NETFILTER_XT_TARGET_NFLOG=m
68CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 96CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
97CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
98CONFIG_NETFILTER_XT_TARGET_TEE=m
69CONFIG_NETFILTER_XT_TARGET_TRACE=m 99CONFIG_NETFILTER_XT_TARGET_TRACE=m
70CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 100CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
71CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 101CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
102CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
103CONFIG_NETFILTER_XT_MATCH_BPF=m
72CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 104CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
73CONFIG_NETFILTER_XT_MATCH_COMMENT=m 105CONFIG_NETFILTER_XT_MATCH_COMMENT=m
74CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 106CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
107CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
75CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 108CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
76CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 109CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
77CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 110CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
111CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
78CONFIG_NETFILTER_XT_MATCH_DSCP=m 112CONFIG_NETFILTER_XT_MATCH_DSCP=m
79CONFIG_NETFILTER_XT_MATCH_ESP=m 113CONFIG_NETFILTER_XT_MATCH_ESP=m
80CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 114CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -85,6 +119,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
85CONFIG_NETFILTER_XT_MATCH_MAC=m 119CONFIG_NETFILTER_XT_MATCH_MAC=m
86CONFIG_NETFILTER_XT_MATCH_MARK=m 120CONFIG_NETFILTER_XT_MATCH_MARK=m
87CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 121CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
122CONFIG_NETFILTER_XT_MATCH_NFACCT=m
123CONFIG_NETFILTER_XT_MATCH_OSF=m
88CONFIG_NETFILTER_XT_MATCH_OWNER=m 124CONFIG_NETFILTER_XT_MATCH_OWNER=m
89CONFIG_NETFILTER_XT_MATCH_POLICY=m 125CONFIG_NETFILTER_XT_MATCH_POLICY=m
90CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 126CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -98,22 +134,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
98CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 134CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
99CONFIG_NETFILTER_XT_MATCH_TIME=m 135CONFIG_NETFILTER_XT_MATCH_TIME=m
100CONFIG_NETFILTER_XT_MATCH_U32=m 136CONFIG_NETFILTER_XT_MATCH_U32=m
137CONFIG_IP_SET=m
138CONFIG_IP_SET_BITMAP_IP=m
139CONFIG_IP_SET_BITMAP_IPMAC=m
140CONFIG_IP_SET_BITMAP_PORT=m
141CONFIG_IP_SET_HASH_IP=m
142CONFIG_IP_SET_HASH_IPPORT=m
143CONFIG_IP_SET_HASH_IPPORTIP=m
144CONFIG_IP_SET_HASH_IPPORTNET=m
145CONFIG_IP_SET_HASH_NET=m
146CONFIG_IP_SET_HASH_NETPORT=m
147CONFIG_IP_SET_HASH_NETIFACE=m
148CONFIG_IP_SET_LIST_SET=m
101CONFIG_NF_CONNTRACK_IPV4=m 149CONFIG_NF_CONNTRACK_IPV4=m
102CONFIG_IP_NF_QUEUE=m
103CONFIG_IP_NF_IPTABLES=m 150CONFIG_IP_NF_IPTABLES=m
104CONFIG_IP_NF_MATCH_ADDRTYPE=m
105CONFIG_IP_NF_MATCH_AH=m 151CONFIG_IP_NF_MATCH_AH=m
106CONFIG_IP_NF_MATCH_ECN=m 152CONFIG_IP_NF_MATCH_ECN=m
153CONFIG_IP_NF_MATCH_RPFILTER=m
107CONFIG_IP_NF_MATCH_TTL=m 154CONFIG_IP_NF_MATCH_TTL=m
108CONFIG_IP_NF_FILTER=m 155CONFIG_IP_NF_FILTER=m
109CONFIG_IP_NF_TARGET_REJECT=m 156CONFIG_IP_NF_TARGET_REJECT=m
110CONFIG_IP_NF_TARGET_LOG=m
111CONFIG_IP_NF_TARGET_ULOG=m 157CONFIG_IP_NF_TARGET_ULOG=m
112CONFIG_NF_NAT=m 158CONFIG_NF_NAT_IPV4=m
113CONFIG_IP_NF_TARGET_MASQUERADE=m 159CONFIG_IP_NF_TARGET_MASQUERADE=m
114CONFIG_IP_NF_TARGET_NETMAP=m 160CONFIG_IP_NF_TARGET_NETMAP=m
115CONFIG_IP_NF_TARGET_REDIRECT=m 161CONFIG_IP_NF_TARGET_REDIRECT=m
116CONFIG_NF_NAT_SNMP_BASIC=m
117CONFIG_IP_NF_MANGLE=m 162CONFIG_IP_NF_MANGLE=m
118CONFIG_IP_NF_TARGET_CLUSTERIP=m 163CONFIG_IP_NF_TARGET_CLUSTERIP=m
119CONFIG_IP_NF_TARGET_ECN=m 164CONFIG_IP_NF_TARGET_ECN=m
@@ -123,7 +168,6 @@ CONFIG_IP_NF_ARPTABLES=m
123CONFIG_IP_NF_ARPFILTER=m 168CONFIG_IP_NF_ARPFILTER=m
124CONFIG_IP_NF_ARP_MANGLE=m 169CONFIG_IP_NF_ARP_MANGLE=m
125CONFIG_NF_CONNTRACK_IPV6=m 170CONFIG_NF_CONNTRACK_IPV6=m
126CONFIG_IP6_NF_QUEUE=m
127CONFIG_IP6_NF_IPTABLES=m 171CONFIG_IP6_NF_IPTABLES=m
128CONFIG_IP6_NF_MATCH_AH=m 172CONFIG_IP6_NF_MATCH_AH=m
129CONFIG_IP6_NF_MATCH_EUI64=m 173CONFIG_IP6_NF_MATCH_EUI64=m
@@ -132,21 +176,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
132CONFIG_IP6_NF_MATCH_HL=m 176CONFIG_IP6_NF_MATCH_HL=m
133CONFIG_IP6_NF_MATCH_IPV6HEADER=m 177CONFIG_IP6_NF_MATCH_IPV6HEADER=m
134CONFIG_IP6_NF_MATCH_MH=m 178CONFIG_IP6_NF_MATCH_MH=m
179CONFIG_IP6_NF_MATCH_RPFILTER=m
135CONFIG_IP6_NF_MATCH_RT=m 180CONFIG_IP6_NF_MATCH_RT=m
136CONFIG_IP6_NF_TARGET_HL=m 181CONFIG_IP6_NF_TARGET_HL=m
137CONFIG_IP6_NF_TARGET_LOG=m
138CONFIG_IP6_NF_FILTER=m 182CONFIG_IP6_NF_FILTER=m
139CONFIG_IP6_NF_TARGET_REJECT=m 183CONFIG_IP6_NF_TARGET_REJECT=m
140CONFIG_IP6_NF_MANGLE=m 184CONFIG_IP6_NF_MANGLE=m
141CONFIG_IP6_NF_RAW=m 185CONFIG_IP6_NF_RAW=m
186CONFIG_NF_NAT_IPV6=m
187CONFIG_IP6_NF_TARGET_MASQUERADE=m
188CONFIG_IP6_NF_TARGET_NPT=m
142CONFIG_IP_DCCP=m 189CONFIG_IP_DCCP=m
143# CONFIG_IP_DCCP_CCID3 is not set 190# CONFIG_IP_DCCP_CCID3 is not set
191CONFIG_SCTP_COOKIE_HMAC_SHA1=y
192CONFIG_RDS=m
193CONFIG_RDS_TCP=m
194CONFIG_L2TP=m
144CONFIG_ATALK=m 195CONFIG_ATALK=m
196CONFIG_BATMAN_ADV=m
197CONFIG_BATMAN_ADV_DAT=y
198# CONFIG_WIRELESS is not set
145CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 199CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
200CONFIG_DEVTMPFS=y
146# CONFIG_FIRMWARE_IN_KERNEL is not set 201# CONFIG_FIRMWARE_IN_KERNEL is not set
202# CONFIG_FW_LOADER_USER_HELPER is not set
147CONFIG_CONNECTOR=m 203CONFIG_CONNECTOR=m
148CONFIG_BLK_DEV_LOOP=y 204CONFIG_BLK_DEV_LOOP=y
149CONFIG_BLK_DEV_CRYPTOLOOP=m 205CONFIG_BLK_DEV_CRYPTOLOOP=m
206CONFIG_BLK_DEV_DRBD=m
150CONFIG_BLK_DEV_NBD=m 207CONFIG_BLK_DEV_NBD=m
151CONFIG_BLK_DEV_RAM=y 208CONFIG_BLK_DEV_RAM=y
152CONFIG_CDROM_PKTCDVD=m 209CONFIG_CDROM_PKTCDVD=m
@@ -161,59 +218,77 @@ CONFIG_BLK_DEV_SR=y
161CONFIG_BLK_DEV_SR_VENDOR=y 218CONFIG_BLK_DEV_SR_VENDOR=y
162CONFIG_CHR_DEV_SG=m 219CONFIG_CHR_DEV_SG=m
163CONFIG_SCSI_CONSTANTS=y 220CONFIG_SCSI_CONSTANTS=y
164CONFIG_SCSI_SAS_LIBSAS=m 221CONFIG_SCSI_SAS_ATTRS=m
165# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
166CONFIG_SCSI_SRP_ATTRS=m
167CONFIG_SCSI_SRP_TGT_ATTRS=y
168CONFIG_ISCSI_TCP=m 222CONFIG_ISCSI_TCP=m
223CONFIG_ISCSI_BOOT_SYSFS=m
169CONFIG_MD=y 224CONFIG_MD=y
170CONFIG_BLK_DEV_MD=m
171CONFIG_MD_LINEAR=m 225CONFIG_MD_LINEAR=m
172CONFIG_MD_RAID0=m 226CONFIG_MD_RAID0=m
173CONFIG_MD_RAID1=m
174CONFIG_MD_RAID456=m
175CONFIG_BLK_DEV_DM=m 227CONFIG_BLK_DEV_DM=m
176CONFIG_DM_CRYPT=m 228CONFIG_DM_CRYPT=m
177CONFIG_DM_SNAPSHOT=m 229CONFIG_DM_SNAPSHOT=m
230CONFIG_DM_THIN_PROVISIONING=m
231CONFIG_DM_CACHE=m
178CONFIG_DM_MIRROR=m 232CONFIG_DM_MIRROR=m
233CONFIG_DM_RAID=m
179CONFIG_DM_ZERO=m 234CONFIG_DM_ZERO=m
180CONFIG_DM_MULTIPATH=m 235CONFIG_DM_MULTIPATH=m
181CONFIG_DM_UEVENT=y 236CONFIG_DM_UEVENT=y
237CONFIG_TARGET_CORE=m
238CONFIG_TCM_IBLOCK=m
239CONFIG_TCM_FILEIO=m
240CONFIG_TCM_PSCSI=m
182CONFIG_NETDEVICES=y 241CONFIG_NETDEVICES=y
183CONFIG_DUMMY=m 242CONFIG_DUMMY=m
184CONFIG_MACVLAN=m
185CONFIG_EQUALIZER=m 243CONFIG_EQUALIZER=m
244CONFIG_NET_TEAM=m
245CONFIG_NET_TEAM_MODE_BROADCAST=m
246CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
247CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
248CONFIG_NET_TEAM_MODE_LOADBALANCE=m
249CONFIG_VXLAN=m
250CONFIG_NETCONSOLE=m
251CONFIG_NETCONSOLE_DYNAMIC=y
186CONFIG_VETH=m 252CONFIG_VETH=m
187CONFIG_NET_ETHERNET=y
188CONFIG_HPLANCE=y 253CONFIG_HPLANCE=y
189# CONFIG_NETDEV_1000 is not set 254# CONFIG_NET_CADENCE is not set
190# CONFIG_NETDEV_10000 is not set 255# CONFIG_NET_VENDOR_BROADCOM is not set
256# CONFIG_NET_VENDOR_INTEL is not set
257# CONFIG_NET_VENDOR_MARVELL is not set
258# CONFIG_NET_VENDOR_MICREL is not set
259# CONFIG_NET_VENDOR_NATSEMI is not set
260# CONFIG_NET_VENDOR_SEEQ is not set
261# CONFIG_NET_VENDOR_STMICRO is not set
262# CONFIG_NET_VENDOR_WIZNET is not set
191CONFIG_PPP=m 263CONFIG_PPP=m
192CONFIG_PPP_FILTER=y
193CONFIG_PPP_ASYNC=m
194CONFIG_PPP_SYNC_TTY=m
195CONFIG_PPP_DEFLATE=m
196CONFIG_PPP_BSDCOMP=m 264CONFIG_PPP_BSDCOMP=m
265CONFIG_PPP_DEFLATE=m
266CONFIG_PPP_FILTER=y
197CONFIG_PPP_MPPE=m 267CONFIG_PPP_MPPE=m
198CONFIG_PPPOE=m 268CONFIG_PPPOE=m
269CONFIG_PPTP=m
270CONFIG_PPPOL2TP=m
271CONFIG_PPP_ASYNC=m
272CONFIG_PPP_SYNC_TTY=m
199CONFIG_SLIP=m 273CONFIG_SLIP=m
200CONFIG_SLIP_COMPRESSED=y 274CONFIG_SLIP_COMPRESSED=y
201CONFIG_SLIP_SMART=y 275CONFIG_SLIP_SMART=y
202CONFIG_SLIP_MODE_SLIP6=y 276CONFIG_SLIP_MODE_SLIP6=y
203CONFIG_NETCONSOLE=m 277# CONFIG_WLAN is not set
204CONFIG_NETCONSOLE_DYNAMIC=y 278CONFIG_INPUT_EVDEV=m
205CONFIG_INPUT_FF_MEMLESS=m
206# CONFIG_KEYBOARD_ATKBD is not set 279# CONFIG_KEYBOARD_ATKBD is not set
207CONFIG_MOUSE_PS2=m 280# CONFIG_MOUSE_PS2 is not set
208CONFIG_MOUSE_SERIAL=m 281CONFIG_MOUSE_SERIAL=m
209CONFIG_INPUT_MISC=y 282CONFIG_INPUT_MISC=y
210CONFIG_HP_SDC_RTC=m 283CONFIG_HP_SDC_RTC=m
211# CONFIG_SERIO_SERPORT is not set 284CONFIG_SERIO_SERPORT=m
212CONFIG_VT_HW_CONSOLE_BINDING=y 285CONFIG_VT_HW_CONSOLE_BINDING=y
286# CONFIG_LEGACY_PTYS is not set
213# CONFIG_DEVKMEM is not set 287# CONFIG_DEVKMEM is not set
214# CONFIG_HW_RANDOM is not set 288# CONFIG_HW_RANDOM is not set
215CONFIG_GEN_RTC=m 289CONFIG_NTP_PPS=y
216CONFIG_GEN_RTC_X=y 290CONFIG_PPS_CLIENT_LDISC=m
291CONFIG_PTP_1588_CLOCK=m
217# CONFIG_HWMON is not set 292# CONFIG_HWMON is not set
218CONFIG_FB=y 293CONFIG_FB=y
219CONFIG_FRAMEBUFFER_CONSOLE=y 294CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -222,47 +297,60 @@ CONFIG_LOGO=y
222# CONFIG_LOGO_LINUX_VGA16 is not set 297# CONFIG_LOGO_LINUX_VGA16 is not set
223CONFIG_HID=m 298CONFIG_HID=m
224CONFIG_HIDRAW=y 299CONFIG_HIDRAW=y
300CONFIG_UHID=m
301# CONFIG_HID_GENERIC is not set
225# CONFIG_USB_SUPPORT is not set 302# CONFIG_USB_SUPPORT is not set
303CONFIG_RTC_CLASS=y
304CONFIG_RTC_DRV_GENERIC=m
305# CONFIG_IOMMU_SUPPORT is not set
306CONFIG_PROC_HARDWARE=y
226CONFIG_EXT2_FS=y 307CONFIG_EXT2_FS=y
227CONFIG_EXT3_FS=y 308CONFIG_EXT3_FS=y
228# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 309# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
229# CONFIG_EXT3_FS_XATTR is not set 310# CONFIG_EXT3_FS_XATTR is not set
311CONFIG_EXT4_FS=y
230CONFIG_REISERFS_FS=m 312CONFIG_REISERFS_FS=m
231CONFIG_JFS_FS=m 313CONFIG_JFS_FS=m
232CONFIG_XFS_FS=m 314CONFIG_XFS_FS=m
233CONFIG_OCFS2_FS=m 315CONFIG_OCFS2_FS=m
234# CONFIG_OCFS2_FS_STATS is not set
235# CONFIG_OCFS2_DEBUG_MASKLOG is not set 316# CONFIG_OCFS2_DEBUG_MASKLOG is not set
317CONFIG_FANOTIFY=y
236CONFIG_QUOTA_NETLINK_INTERFACE=y 318CONFIG_QUOTA_NETLINK_INTERFACE=y
237# CONFIG_PRINT_QUOTA_WARNING is not set 319# CONFIG_PRINT_QUOTA_WARNING is not set
238CONFIG_AUTOFS_FS=m
239CONFIG_AUTOFS4_FS=m 320CONFIG_AUTOFS4_FS=m
240CONFIG_FUSE_FS=m 321CONFIG_FUSE_FS=m
322CONFIG_CUSE=m
241CONFIG_ISO9660_FS=y 323CONFIG_ISO9660_FS=y
242CONFIG_JOLIET=y 324CONFIG_JOLIET=y
243CONFIG_ZISOFS=y 325CONFIG_ZISOFS=y
244CONFIG_UDF_FS=m 326CONFIG_UDF_FS=m
245CONFIG_MSDOS_FS=y 327CONFIG_MSDOS_FS=m
246CONFIG_VFAT_FS=m 328CONFIG_VFAT_FS=m
247CONFIG_PROC_KCORE=y 329CONFIG_PROC_KCORE=y
248CONFIG_TMPFS=y 330CONFIG_TMPFS=y
249CONFIG_AFFS_FS=m 331CONFIG_AFFS_FS=m
332CONFIG_ECRYPT_FS=m
333CONFIG_ECRYPT_FS_MESSAGING=y
250CONFIG_HFS_FS=m 334CONFIG_HFS_FS=m
251CONFIG_HFSPLUS_FS=m 335CONFIG_HFSPLUS_FS=m
252CONFIG_CRAMFS=m 336CONFIG_CRAMFS=m
253CONFIG_SQUASHFS=m 337CONFIG_SQUASHFS=m
254CONFIG_MINIX_FS=y 338CONFIG_SQUASHFS_LZO=y
339CONFIG_MINIX_FS=m
340CONFIG_OMFS_FS=m
255CONFIG_HPFS_FS=m 341CONFIG_HPFS_FS=m
342CONFIG_QNX4FS_FS=m
343CONFIG_QNX6FS_FS=m
256CONFIG_SYSV_FS=m 344CONFIG_SYSV_FS=m
257CONFIG_UFS_FS=m 345CONFIG_UFS_FS=m
258CONFIG_NFS_FS=y 346CONFIG_NFS_FS=y
259CONFIG_NFS_V3=y
260CONFIG_NFS_V4=y 347CONFIG_NFS_V4=y
348CONFIG_NFS_SWAP=y
261CONFIG_ROOT_NFS=y 349CONFIG_ROOT_NFS=y
262CONFIG_NFSD=m 350CONFIG_NFSD=m
263CONFIG_NFSD_V3=y 351CONFIG_NFSD_V3=y
264CONFIG_SMB_FS=m 352CONFIG_CIFS=m
265CONFIG_SMB_NLS_DEFAULT=y 353# CONFIG_CIFS_DEBUG is not set
266CONFIG_CODA_FS=m 354CONFIG_CODA_FS=m
267CONFIG_NLS_CODEPAGE_437=y 355CONFIG_NLS_CODEPAGE_437=y
268CONFIG_NLS_CODEPAGE_737=m 356CONFIG_NLS_CODEPAGE_737=m
@@ -301,10 +389,23 @@ CONFIG_NLS_ISO8859_14=m
301CONFIG_NLS_ISO8859_15=m 389CONFIG_NLS_ISO8859_15=m
302CONFIG_NLS_KOI8_R=m 390CONFIG_NLS_KOI8_R=m
303CONFIG_NLS_KOI8_U=m 391CONFIG_NLS_KOI8_U=m
392CONFIG_NLS_MAC_ROMAN=m
393CONFIG_NLS_MAC_CELTIC=m
394CONFIG_NLS_MAC_CENTEURO=m
395CONFIG_NLS_MAC_CROATIAN=m
396CONFIG_NLS_MAC_CYRILLIC=m
397CONFIG_NLS_MAC_GAELIC=m
398CONFIG_NLS_MAC_GREEK=m
399CONFIG_NLS_MAC_ICELAND=m
400CONFIG_NLS_MAC_INUIT=m
401CONFIG_NLS_MAC_ROMANIAN=m
402CONFIG_NLS_MAC_TURKISH=m
304CONFIG_DLM=m 403CONFIG_DLM=m
305CONFIG_MAGIC_SYSRQ=y 404CONFIG_MAGIC_SYSRQ=y
306# CONFIG_RCU_CPU_STALL_DETECTOR is not set 405CONFIG_ASYNC_RAID6_TEST=m
307CONFIG_SYSCTL_SYSCALL_CHECK=y 406CONFIG_ENCRYPTED_KEYS=m
407CONFIG_CRYPTO_MANAGER=y
408CONFIG_CRYPTO_USER=m
308CONFIG_CRYPTO_NULL=m 409CONFIG_CRYPTO_NULL=m
309CONFIG_CRYPTO_CRYPTD=m 410CONFIG_CRYPTO_CRYPTD=m
310CONFIG_CRYPTO_TEST=m 411CONFIG_CRYPTO_TEST=m
@@ -314,19 +415,16 @@ CONFIG_CRYPTO_CTS=m
314CONFIG_CRYPTO_LRW=m 415CONFIG_CRYPTO_LRW=m
315CONFIG_CRYPTO_PCBC=m 416CONFIG_CRYPTO_PCBC=m
316CONFIG_CRYPTO_XTS=m 417CONFIG_CRYPTO_XTS=m
317CONFIG_CRYPTO_HMAC=y
318CONFIG_CRYPTO_XCBC=m 418CONFIG_CRYPTO_XCBC=m
319CONFIG_CRYPTO_MD4=m 419CONFIG_CRYPTO_VMAC=m
320CONFIG_CRYPTO_MICHAEL_MIC=m 420CONFIG_CRYPTO_MICHAEL_MIC=m
321CONFIG_CRYPTO_RMD128=m 421CONFIG_CRYPTO_RMD128=m
322CONFIG_CRYPTO_RMD160=m 422CONFIG_CRYPTO_RMD160=m
323CONFIG_CRYPTO_RMD256=m 423CONFIG_CRYPTO_RMD256=m
324CONFIG_CRYPTO_RMD320=m 424CONFIG_CRYPTO_RMD320=m
325CONFIG_CRYPTO_SHA256=m
326CONFIG_CRYPTO_SHA512=m 425CONFIG_CRYPTO_SHA512=m
327CONFIG_CRYPTO_TGR192=m 426CONFIG_CRYPTO_TGR192=m
328CONFIG_CRYPTO_WP512=m 427CONFIG_CRYPTO_WP512=m
329CONFIG_CRYPTO_AES=m
330CONFIG_CRYPTO_ANUBIS=m 428CONFIG_CRYPTO_ANUBIS=m
331CONFIG_CRYPTO_BLOWFISH=m 429CONFIG_CRYPTO_BLOWFISH=m
332CONFIG_CRYPTO_CAMELLIA=m 430CONFIG_CRYPTO_CAMELLIA=m
@@ -342,6 +440,14 @@ CONFIG_CRYPTO_TWOFISH=m
342CONFIG_CRYPTO_ZLIB=m 440CONFIG_CRYPTO_ZLIB=m
343CONFIG_CRYPTO_LZO=m 441CONFIG_CRYPTO_LZO=m
344# CONFIG_CRYPTO_ANSI_CPRNG is not set 442# CONFIG_CRYPTO_ANSI_CPRNG is not set
443CONFIG_CRYPTO_USER_API_HASH=m
444CONFIG_CRYPTO_USER_API_SKCIPHER=m
345# CONFIG_CRYPTO_HW is not set 445# CONFIG_CRYPTO_HW is not set
346CONFIG_CRC16=m
347CONFIG_CRC_T10DIF=y 446CONFIG_CRC_T10DIF=y
447CONFIG_XZ_DEC_X86=y
448CONFIG_XZ_DEC_POWERPC=y
449CONFIG_XZ_DEC_IA64=y
450CONFIG_XZ_DEC_ARM=y
451CONFIG_XZ_DEC_ARMTHUMB=y
452CONFIG_XZ_DEC_SPARC=y
453CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig
index cb9dfb30b674..7d46fbec7042 100644
--- a/arch/m68k/configs/mac_defconfig
+++ b/arch/m68k/configs/mac_defconfig
@@ -1,49 +1,75 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-mac" 1CONFIG_LOCALVERSION="-mac"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_MAC=y 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_BSD_DISKLABEL=y
20CONFIG_MINIX_SUBPARTITION=y
21CONFIG_SOLARIS_X86_PARTITION=y
22CONFIG_UNIXWARE_DISKLABEL=y
23CONFIG_SUN_PARTITION=y
24# CONFIG_EFI_PARTITION is not set
25CONFIG_SYSV68_PARTITION=y
26CONFIG_IOSCHED_DEADLINE=m
14CONFIG_M68020=y 27CONFIG_M68020=y
15CONFIG_M68030=y 28CONFIG_M68030=y
16CONFIG_M68040=y 29CONFIG_M68040=y
30CONFIG_M68KFPU_EMU=y
31CONFIG_MAC=y
32# CONFIG_COMPACTION is not set
33CONFIG_CLEANCACHE=y
34# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
17CONFIG_BINFMT_AOUT=m 35CONFIG_BINFMT_AOUT=m
18CONFIG_BINFMT_MISC=m 36CONFIG_BINFMT_MISC=m
19CONFIG_PROC_HARDWARE=y
20CONFIG_NET=y 37CONFIG_NET=y
21CONFIG_PACKET=y 38CONFIG_PACKET=y
39CONFIG_PACKET_DIAG=m
22CONFIG_UNIX=y 40CONFIG_UNIX=y
41CONFIG_UNIX_DIAG=m
42CONFIG_XFRM_MIGRATE=y
23CONFIG_NET_KEY=y 43CONFIG_NET_KEY=y
24CONFIG_NET_KEY_MIGRATE=y
25CONFIG_INET=y 44CONFIG_INET=y
45CONFIG_IP_PNP=y
46CONFIG_IP_PNP_DHCP=y
47CONFIG_IP_PNP_BOOTP=y
48CONFIG_IP_PNP_RARP=y
26CONFIG_NET_IPIP=m 49CONFIG_NET_IPIP=m
50CONFIG_NET_IPGRE_DEMUX=m
27CONFIG_NET_IPGRE=m 51CONFIG_NET_IPGRE=m
28CONFIG_SYN_COOKIES=y 52CONFIG_SYN_COOKIES=y
53CONFIG_NET_IPVTI=m
29CONFIG_INET_AH=m 54CONFIG_INET_AH=m
30CONFIG_INET_ESP=m 55CONFIG_INET_ESP=m
31CONFIG_INET_IPCOMP=m 56CONFIG_INET_IPCOMP=m
32CONFIG_INET_XFRM_MODE_TRANSPORT=m 57CONFIG_INET_XFRM_MODE_TRANSPORT=m
33CONFIG_INET_XFRM_MODE_TUNNEL=m 58CONFIG_INET_XFRM_MODE_TUNNEL=m
34CONFIG_INET_XFRM_MODE_BEET=m 59CONFIG_INET_XFRM_MODE_BEET=m
60# CONFIG_INET_LRO is not set
35CONFIG_INET_DIAG=m 61CONFIG_INET_DIAG=m
62CONFIG_INET_UDP_DIAG=m
36CONFIG_IPV6_PRIVACY=y 63CONFIG_IPV6_PRIVACY=y
37CONFIG_IPV6_ROUTER_PREF=y 64CONFIG_IPV6_ROUTER_PREF=y
38CONFIG_IPV6_ROUTE_INFO=y
39CONFIG_INET6_AH=m 65CONFIG_INET6_AH=m
40CONFIG_INET6_ESP=m 66CONFIG_INET6_ESP=m
41CONFIG_INET6_IPCOMP=m 67CONFIG_INET6_IPCOMP=m
42CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 68CONFIG_IPV6_GRE=m
43CONFIG_IPV6_TUNNEL=m
44CONFIG_NETFILTER=y 69CONFIG_NETFILTER=y
45CONFIG_NETFILTER_NETLINK_QUEUE=m
46CONFIG_NF_CONNTRACK=m 70CONFIG_NF_CONNTRACK=m
71CONFIG_NF_CONNTRACK_ZONES=y
72# CONFIG_NF_CONNTRACK_PROCFS is not set
47# CONFIG_NF_CT_PROTO_DCCP is not set 73# CONFIG_NF_CT_PROTO_DCCP is not set
48CONFIG_NF_CT_PROTO_UDPLITE=m 74CONFIG_NF_CT_PROTO_UDPLITE=m
49CONFIG_NF_CONNTRACK_AMANDA=m 75CONFIG_NF_CONNTRACK_AMANDA=m
@@ -51,25 +77,37 @@ CONFIG_NF_CONNTRACK_FTP=m
51CONFIG_NF_CONNTRACK_H323=m 77CONFIG_NF_CONNTRACK_H323=m
52CONFIG_NF_CONNTRACK_IRC=m 78CONFIG_NF_CONNTRACK_IRC=m
53CONFIG_NF_CONNTRACK_NETBIOS_NS=m 79CONFIG_NF_CONNTRACK_NETBIOS_NS=m
80CONFIG_NF_CONNTRACK_SNMP=m
54CONFIG_NF_CONNTRACK_PPTP=m 81CONFIG_NF_CONNTRACK_PPTP=m
55CONFIG_NF_CONNTRACK_SANE=m 82CONFIG_NF_CONNTRACK_SANE=m
56CONFIG_NF_CONNTRACK_SIP=m 83CONFIG_NF_CONNTRACK_SIP=m
57CONFIG_NF_CONNTRACK_TFTP=m 84CONFIG_NF_CONNTRACK_TFTP=m
85CONFIG_NETFILTER_XT_SET=m
86CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
58CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 87CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
59CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 88CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
60CONFIG_NETFILTER_XT_TARGET_DSCP=m 89CONFIG_NETFILTER_XT_TARGET_DSCP=m
90CONFIG_NETFILTER_XT_TARGET_HMARK=m
91CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
92CONFIG_NETFILTER_XT_TARGET_LOG=m
61CONFIG_NETFILTER_XT_TARGET_MARK=m 93CONFIG_NETFILTER_XT_TARGET_MARK=m
62CONFIG_NETFILTER_XT_TARGET_NFLOG=m 94CONFIG_NETFILTER_XT_TARGET_NFLOG=m
63CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 95CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
96CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
97CONFIG_NETFILTER_XT_TARGET_TEE=m
64CONFIG_NETFILTER_XT_TARGET_TRACE=m 98CONFIG_NETFILTER_XT_TARGET_TRACE=m
65CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 99CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
66CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 100CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
101CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
102CONFIG_NETFILTER_XT_MATCH_BPF=m
67CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 103CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
68CONFIG_NETFILTER_XT_MATCH_COMMENT=m 104CONFIG_NETFILTER_XT_MATCH_COMMENT=m
69CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 105CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
106CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
70CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 107CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
71CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 108CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
72CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 109CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
110CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
73CONFIG_NETFILTER_XT_MATCH_DSCP=m 111CONFIG_NETFILTER_XT_MATCH_DSCP=m
74CONFIG_NETFILTER_XT_MATCH_ESP=m 112CONFIG_NETFILTER_XT_MATCH_ESP=m
75CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 113CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -80,6 +118,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
80CONFIG_NETFILTER_XT_MATCH_MAC=m 118CONFIG_NETFILTER_XT_MATCH_MAC=m
81CONFIG_NETFILTER_XT_MATCH_MARK=m 119CONFIG_NETFILTER_XT_MATCH_MARK=m
82CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 120CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
121CONFIG_NETFILTER_XT_MATCH_NFACCT=m
122CONFIG_NETFILTER_XT_MATCH_OSF=m
83CONFIG_NETFILTER_XT_MATCH_OWNER=m 123CONFIG_NETFILTER_XT_MATCH_OWNER=m
84CONFIG_NETFILTER_XT_MATCH_POLICY=m 124CONFIG_NETFILTER_XT_MATCH_POLICY=m
85CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 125CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -93,22 +133,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
93CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 133CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
94CONFIG_NETFILTER_XT_MATCH_TIME=m 134CONFIG_NETFILTER_XT_MATCH_TIME=m
95CONFIG_NETFILTER_XT_MATCH_U32=m 135CONFIG_NETFILTER_XT_MATCH_U32=m
136CONFIG_IP_SET=m
137CONFIG_IP_SET_BITMAP_IP=m
138CONFIG_IP_SET_BITMAP_IPMAC=m
139CONFIG_IP_SET_BITMAP_PORT=m
140CONFIG_IP_SET_HASH_IP=m
141CONFIG_IP_SET_HASH_IPPORT=m
142CONFIG_IP_SET_HASH_IPPORTIP=m
143CONFIG_IP_SET_HASH_IPPORTNET=m
144CONFIG_IP_SET_HASH_NET=m
145CONFIG_IP_SET_HASH_NETPORT=m
146CONFIG_IP_SET_HASH_NETIFACE=m
147CONFIG_IP_SET_LIST_SET=m
96CONFIG_NF_CONNTRACK_IPV4=m 148CONFIG_NF_CONNTRACK_IPV4=m
97CONFIG_IP_NF_QUEUE=m
98CONFIG_IP_NF_IPTABLES=m 149CONFIG_IP_NF_IPTABLES=m
99CONFIG_IP_NF_MATCH_ADDRTYPE=m
100CONFIG_IP_NF_MATCH_AH=m 150CONFIG_IP_NF_MATCH_AH=m
101CONFIG_IP_NF_MATCH_ECN=m 151CONFIG_IP_NF_MATCH_ECN=m
152CONFIG_IP_NF_MATCH_RPFILTER=m
102CONFIG_IP_NF_MATCH_TTL=m 153CONFIG_IP_NF_MATCH_TTL=m
103CONFIG_IP_NF_FILTER=m 154CONFIG_IP_NF_FILTER=m
104CONFIG_IP_NF_TARGET_REJECT=m 155CONFIG_IP_NF_TARGET_REJECT=m
105CONFIG_IP_NF_TARGET_LOG=m
106CONFIG_IP_NF_TARGET_ULOG=m 156CONFIG_IP_NF_TARGET_ULOG=m
107CONFIG_NF_NAT=m 157CONFIG_NF_NAT_IPV4=m
108CONFIG_IP_NF_TARGET_MASQUERADE=m 158CONFIG_IP_NF_TARGET_MASQUERADE=m
109CONFIG_IP_NF_TARGET_NETMAP=m 159CONFIG_IP_NF_TARGET_NETMAP=m
110CONFIG_IP_NF_TARGET_REDIRECT=m 160CONFIG_IP_NF_TARGET_REDIRECT=m
111CONFIG_NF_NAT_SNMP_BASIC=m
112CONFIG_IP_NF_MANGLE=m 161CONFIG_IP_NF_MANGLE=m
113CONFIG_IP_NF_TARGET_CLUSTERIP=m 162CONFIG_IP_NF_TARGET_CLUSTERIP=m
114CONFIG_IP_NF_TARGET_ECN=m 163CONFIG_IP_NF_TARGET_ECN=m
@@ -118,7 +167,6 @@ CONFIG_IP_NF_ARPTABLES=m
118CONFIG_IP_NF_ARPFILTER=m 167CONFIG_IP_NF_ARPFILTER=m
119CONFIG_IP_NF_ARP_MANGLE=m 168CONFIG_IP_NF_ARP_MANGLE=m
120CONFIG_NF_CONNTRACK_IPV6=m 169CONFIG_NF_CONNTRACK_IPV6=m
121CONFIG_IP6_NF_QUEUE=m
122CONFIG_IP6_NF_IPTABLES=m 170CONFIG_IP6_NF_IPTABLES=m
123CONFIG_IP6_NF_MATCH_AH=m 171CONFIG_IP6_NF_MATCH_AH=m
124CONFIG_IP6_NF_MATCH_EUI64=m 172CONFIG_IP6_NF_MATCH_EUI64=m
@@ -127,31 +175,45 @@ CONFIG_IP6_NF_MATCH_OPTS=m
127CONFIG_IP6_NF_MATCH_HL=m 175CONFIG_IP6_NF_MATCH_HL=m
128CONFIG_IP6_NF_MATCH_IPV6HEADER=m 176CONFIG_IP6_NF_MATCH_IPV6HEADER=m
129CONFIG_IP6_NF_MATCH_MH=m 177CONFIG_IP6_NF_MATCH_MH=m
178CONFIG_IP6_NF_MATCH_RPFILTER=m
130CONFIG_IP6_NF_MATCH_RT=m 179CONFIG_IP6_NF_MATCH_RT=m
131CONFIG_IP6_NF_TARGET_HL=m 180CONFIG_IP6_NF_TARGET_HL=m
132CONFIG_IP6_NF_TARGET_LOG=m
133CONFIG_IP6_NF_FILTER=m 181CONFIG_IP6_NF_FILTER=m
134CONFIG_IP6_NF_TARGET_REJECT=m 182CONFIG_IP6_NF_TARGET_REJECT=m
135CONFIG_IP6_NF_MANGLE=m 183CONFIG_IP6_NF_MANGLE=m
136CONFIG_IP6_NF_RAW=m 184CONFIG_IP6_NF_RAW=m
185CONFIG_NF_NAT_IPV6=m
186CONFIG_IP6_NF_TARGET_MASQUERADE=m
187CONFIG_IP6_NF_TARGET_NPT=m
137CONFIG_IP_DCCP=m 188CONFIG_IP_DCCP=m
138# CONFIG_IP_DCCP_CCID3 is not set 189# CONFIG_IP_DCCP_CCID3 is not set
190CONFIG_SCTP_COOKIE_HMAC_SHA1=y
191CONFIG_RDS=m
192CONFIG_RDS_TCP=m
193CONFIG_L2TP=m
139CONFIG_ATALK=m 194CONFIG_ATALK=m
140CONFIG_DEV_APPLETALK=m 195CONFIG_DEV_APPLETALK=m
141CONFIG_IPDDP=m 196CONFIG_IPDDP=m
142CONFIG_IPDDP_ENCAP=y 197CONFIG_IPDDP_ENCAP=y
143CONFIG_IPDDP_DECAP=y 198CONFIG_IPDDP_DECAP=y
199CONFIG_BATMAN_ADV=m
200CONFIG_BATMAN_ADV_DAT=y
201# CONFIG_WIRELESS is not set
144CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 202CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
203CONFIG_DEVTMPFS=y
145# CONFIG_FIRMWARE_IN_KERNEL is not set 204# CONFIG_FIRMWARE_IN_KERNEL is not set
205# CONFIG_FW_LOADER_USER_HELPER is not set
146CONFIG_CONNECTOR=m 206CONFIG_CONNECTOR=m
147CONFIG_BLK_DEV_SWIM=y 207CONFIG_BLK_DEV_SWIM=m
148CONFIG_BLK_DEV_LOOP=y 208CONFIG_BLK_DEV_LOOP=y
149CONFIG_BLK_DEV_CRYPTOLOOP=m 209CONFIG_BLK_DEV_CRYPTOLOOP=m
210CONFIG_BLK_DEV_DRBD=m
150CONFIG_BLK_DEV_NBD=m 211CONFIG_BLK_DEV_NBD=m
151CONFIG_BLK_DEV_RAM=y 212CONFIG_BLK_DEV_RAM=y
152CONFIG_CDROM_PKTCDVD=m 213CONFIG_CDROM_PKTCDVD=m
153CONFIG_ATA_OVER_ETH=m 214CONFIG_ATA_OVER_ETH=m
154CONFIG_IDE=y 215CONFIG_IDE=y
216CONFIG_IDE_GD_ATAPI=y
155CONFIG_BLK_DEV_IDECD=y 217CONFIG_BLK_DEV_IDECD=y
156CONFIG_BLK_DEV_MAC_IDE=y 218CONFIG_BLK_DEV_MAC_IDE=y
157CONFIG_RAID_ATTRS=m 219CONFIG_RAID_ATTRS=m
@@ -164,29 +226,30 @@ CONFIG_BLK_DEV_SR=y
164CONFIG_BLK_DEV_SR_VENDOR=y 226CONFIG_BLK_DEV_SR_VENDOR=y
165CONFIG_CHR_DEV_SG=m 227CONFIG_CHR_DEV_SG=m
166CONFIG_SCSI_CONSTANTS=y 228CONFIG_SCSI_CONSTANTS=y
167CONFIG_SCSI_SAS_LIBSAS=m 229CONFIG_SCSI_SAS_ATTRS=m
168# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
169CONFIG_SCSI_SRP_ATTRS=m
170CONFIG_SCSI_SRP_TGT_ATTRS=y
171CONFIG_ISCSI_TCP=m 230CONFIG_ISCSI_TCP=m
231CONFIG_ISCSI_BOOT_SYSFS=m
172CONFIG_MAC_SCSI=y 232CONFIG_MAC_SCSI=y
173CONFIG_SCSI_MAC_ESP=y 233CONFIG_SCSI_MAC_ESP=y
174CONFIG_MD=y 234CONFIG_MD=y
175CONFIG_BLK_DEV_MD=m
176CONFIG_MD_LINEAR=m 235CONFIG_MD_LINEAR=m
177CONFIG_MD_RAID0=m 236CONFIG_MD_RAID0=m
178CONFIG_MD_RAID1=m
179CONFIG_MD_RAID456=m
180CONFIG_BLK_DEV_DM=m 237CONFIG_BLK_DEV_DM=m
181CONFIG_DM_CRYPT=m 238CONFIG_DM_CRYPT=m
182CONFIG_DM_SNAPSHOT=m 239CONFIG_DM_SNAPSHOT=m
240CONFIG_DM_THIN_PROVISIONING=m
241CONFIG_DM_CACHE=m
183CONFIG_DM_MIRROR=m 242CONFIG_DM_MIRROR=m
243CONFIG_DM_RAID=m
184CONFIG_DM_ZERO=m 244CONFIG_DM_ZERO=m
185CONFIG_DM_MULTIPATH=m 245CONFIG_DM_MULTIPATH=m
186CONFIG_DM_UEVENT=y 246CONFIG_DM_UEVENT=y
247CONFIG_TARGET_CORE=m
248CONFIG_TCM_IBLOCK=m
249CONFIG_TCM_FILEIO=m
250CONFIG_TCM_PSCSI=m
187CONFIG_ADB=y 251CONFIG_ADB=y
188CONFIG_ADB_MACII=y 252CONFIG_ADB_MACII=y
189CONFIG_ADB_MACIISI=y
190CONFIG_ADB_IOP=y 253CONFIG_ADB_IOP=y
191CONFIG_ADB_PMU68K=y 254CONFIG_ADB_PMU68K=y
192CONFIG_ADB_CUDA=y 255CONFIG_ADB_CUDA=y
@@ -194,46 +257,61 @@ CONFIG_INPUT_ADBHID=y
194CONFIG_MAC_EMUMOUSEBTN=y 257CONFIG_MAC_EMUMOUSEBTN=y
195CONFIG_NETDEVICES=y 258CONFIG_NETDEVICES=y
196CONFIG_DUMMY=m 259CONFIG_DUMMY=m
197CONFIG_MACVLAN=m
198CONFIG_EQUALIZER=m 260CONFIG_EQUALIZER=m
261CONFIG_NET_TEAM=m
262CONFIG_NET_TEAM_MODE_BROADCAST=m
263CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
264CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
265CONFIG_NET_TEAM_MODE_LOADBALANCE=m
266CONFIG_VXLAN=m
267CONFIG_NETCONSOLE=m
268CONFIG_NETCONSOLE_DYNAMIC=y
199CONFIG_VETH=m 269CONFIG_VETH=m
200CONFIG_NET_ETHERNET=y
201CONFIG_MAC8390=y
202CONFIG_MAC89x0=m
203CONFIG_MACSONIC=m
204CONFIG_MACMACE=y 270CONFIG_MACMACE=y
205# CONFIG_NETDEV_1000 is not set 271# CONFIG_NET_CADENCE is not set
206# CONFIG_NETDEV_10000 is not set 272# CONFIG_NET_VENDOR_BROADCOM is not set
273CONFIG_MAC89x0=y
274# CONFIG_NET_VENDOR_INTEL is not set
275# CONFIG_NET_VENDOR_MARVELL is not set
276# CONFIG_NET_VENDOR_MICREL is not set
277CONFIG_MACSONIC=y
278CONFIG_MAC8390=y
279# CONFIG_NET_VENDOR_SEEQ is not set
280# CONFIG_NET_VENDOR_SMSC is not set
281# CONFIG_NET_VENDOR_STMICRO is not set
282# CONFIG_NET_VENDOR_WIZNET is not set
207CONFIG_PPP=m 283CONFIG_PPP=m
208CONFIG_PPP_FILTER=y
209CONFIG_PPP_ASYNC=m
210CONFIG_PPP_SYNC_TTY=m
211CONFIG_PPP_DEFLATE=m
212CONFIG_PPP_BSDCOMP=m 284CONFIG_PPP_BSDCOMP=m
285CONFIG_PPP_DEFLATE=m
286CONFIG_PPP_FILTER=y
213CONFIG_PPP_MPPE=m 287CONFIG_PPP_MPPE=m
214CONFIG_PPPOE=m 288CONFIG_PPPOE=m
289CONFIG_PPTP=m
290CONFIG_PPPOL2TP=m
291CONFIG_PPP_ASYNC=m
292CONFIG_PPP_SYNC_TTY=m
215CONFIG_SLIP=m 293CONFIG_SLIP=m
216CONFIG_SLIP_COMPRESSED=y 294CONFIG_SLIP_COMPRESSED=y
217CONFIG_SLIP_SMART=y 295CONFIG_SLIP_SMART=y
218CONFIG_SLIP_MODE_SLIP6=y 296CONFIG_SLIP_MODE_SLIP6=y
219CONFIG_NETCONSOLE=m 297# CONFIG_WLAN is not set
220CONFIG_NETCONSOLE_DYNAMIC=y 298CONFIG_INPUT_EVDEV=m
221CONFIG_INPUT_FF_MEMLESS=m
222# CONFIG_KEYBOARD_ATKBD is not set 299# CONFIG_KEYBOARD_ATKBD is not set
223CONFIG_MOUSE_PS2=m 300# CONFIG_MOUSE_PS2 is not set
224CONFIG_MOUSE_SERIAL=m 301CONFIG_MOUSE_SERIAL=m
225CONFIG_INPUT_MISC=y 302CONFIG_INPUT_MISC=y
226CONFIG_INPUT_M68K_BEEP=m 303CONFIG_INPUT_M68K_BEEP=m
227CONFIG_SERIO=m 304CONFIG_SERIO=m
228# CONFIG_SERIO_SERPORT is not set
229CONFIG_VT_HW_CONSOLE_BINDING=y 305CONFIG_VT_HW_CONSOLE_BINDING=y
306# CONFIG_LEGACY_PTYS is not set
230# CONFIG_DEVKMEM is not set 307# CONFIG_DEVKMEM is not set
231CONFIG_SERIAL_PMACZILOG=y 308CONFIG_SERIAL_PMACZILOG=y
232CONFIG_SERIAL_PMACZILOG_TTYS=y 309CONFIG_SERIAL_PMACZILOG_TTYS=y
233CONFIG_SERIAL_PMACZILOG_CONSOLE=y 310CONFIG_SERIAL_PMACZILOG_CONSOLE=y
234# CONFIG_HW_RANDOM is not set 311# CONFIG_HW_RANDOM is not set
235CONFIG_GEN_RTC=m 312CONFIG_NTP_PPS=y
236CONFIG_GEN_RTC_X=y 313CONFIG_PPS_CLIENT_LDISC=m
314CONFIG_PTP_1588_CLOCK=m
237# CONFIG_HWMON is not set 315# CONFIG_HWMON is not set
238CONFIG_FB=y 316CONFIG_FB=y
239CONFIG_FB_VALKYRIE=y 317CONFIG_FB_VALKYRIE=y
@@ -242,46 +320,60 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
242CONFIG_LOGO=y 320CONFIG_LOGO=y
243CONFIG_HID=m 321CONFIG_HID=m
244CONFIG_HIDRAW=y 322CONFIG_HIDRAW=y
323CONFIG_UHID=m
324# CONFIG_HID_GENERIC is not set
245# CONFIG_USB_SUPPORT is not set 325# CONFIG_USB_SUPPORT is not set
326CONFIG_RTC_CLASS=y
327CONFIG_RTC_DRV_GENERIC=m
328# CONFIG_IOMMU_SUPPORT is not set
329CONFIG_PROC_HARDWARE=y
246CONFIG_EXT2_FS=y 330CONFIG_EXT2_FS=y
247CONFIG_EXT3_FS=y 331CONFIG_EXT3_FS=y
248# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 332# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
249# CONFIG_EXT3_FS_XATTR is not set 333# CONFIG_EXT3_FS_XATTR is not set
334CONFIG_EXT4_FS=y
250CONFIG_REISERFS_FS=m 335CONFIG_REISERFS_FS=m
251CONFIG_JFS_FS=m 336CONFIG_JFS_FS=m
252CONFIG_XFS_FS=m 337CONFIG_XFS_FS=m
253CONFIG_OCFS2_FS=m 338CONFIG_OCFS2_FS=m
254# CONFIG_OCFS2_FS_STATS is not set
255# CONFIG_OCFS2_DEBUG_MASKLOG is not set 339# CONFIG_OCFS2_DEBUG_MASKLOG is not set
340CONFIG_FANOTIFY=y
256CONFIG_QUOTA_NETLINK_INTERFACE=y 341CONFIG_QUOTA_NETLINK_INTERFACE=y
257# CONFIG_PRINT_QUOTA_WARNING is not set 342# CONFIG_PRINT_QUOTA_WARNING is not set
258CONFIG_AUTOFS_FS=m
259CONFIG_AUTOFS4_FS=m 343CONFIG_AUTOFS4_FS=m
260CONFIG_FUSE_FS=m 344CONFIG_FUSE_FS=m
345CONFIG_CUSE=m
261CONFIG_ISO9660_FS=y 346CONFIG_ISO9660_FS=y
262CONFIG_JOLIET=y 347CONFIG_JOLIET=y
263CONFIG_ZISOFS=y 348CONFIG_ZISOFS=y
264CONFIG_UDF_FS=m 349CONFIG_UDF_FS=m
265CONFIG_MSDOS_FS=y 350CONFIG_MSDOS_FS=m
266CONFIG_VFAT_FS=m 351CONFIG_VFAT_FS=m
267CONFIG_PROC_KCORE=y 352CONFIG_PROC_KCORE=y
268CONFIG_TMPFS=y 353CONFIG_TMPFS=y
269CONFIG_AFFS_FS=m 354CONFIG_AFFS_FS=m
270CONFIG_HFS_FS=y 355CONFIG_ECRYPT_FS=m
271CONFIG_HFSPLUS_FS=y 356CONFIG_ECRYPT_FS_MESSAGING=y
357CONFIG_HFS_FS=m
358CONFIG_HFSPLUS_FS=m
272CONFIG_CRAMFS=m 359CONFIG_CRAMFS=m
273CONFIG_SQUASHFS=m 360CONFIG_SQUASHFS=m
274CONFIG_MINIX_FS=y 361CONFIG_SQUASHFS_LZO=y
362CONFIG_MINIX_FS=m
363CONFIG_OMFS_FS=m
275CONFIG_HPFS_FS=m 364CONFIG_HPFS_FS=m
365CONFIG_QNX4FS_FS=m
366CONFIG_QNX6FS_FS=m
276CONFIG_SYSV_FS=m 367CONFIG_SYSV_FS=m
277CONFIG_UFS_FS=m 368CONFIG_UFS_FS=m
278CONFIG_NFS_FS=m 369CONFIG_NFS_FS=y
279CONFIG_NFS_V3=y
280CONFIG_NFS_V4=y 370CONFIG_NFS_V4=y
371CONFIG_NFS_SWAP=y
372CONFIG_ROOT_NFS=y
281CONFIG_NFSD=m 373CONFIG_NFSD=m
282CONFIG_NFSD_V3=y 374CONFIG_NFSD_V3=y
283CONFIG_SMB_FS=m 375CONFIG_CIFS=m
284CONFIG_SMB_NLS_DEFAULT=y 376# CONFIG_CIFS_DEBUG is not set
285CONFIG_CODA_FS=m 377CONFIG_CODA_FS=m
286CONFIG_NLS_CODEPAGE_437=y 378CONFIG_NLS_CODEPAGE_437=y
287CONFIG_NLS_CODEPAGE_737=m 379CONFIG_NLS_CODEPAGE_737=m
@@ -320,10 +412,23 @@ CONFIG_NLS_ISO8859_14=m
320CONFIG_NLS_ISO8859_15=m 412CONFIG_NLS_ISO8859_15=m
321CONFIG_NLS_KOI8_R=m 413CONFIG_NLS_KOI8_R=m
322CONFIG_NLS_KOI8_U=m 414CONFIG_NLS_KOI8_U=m
415CONFIG_NLS_MAC_ROMAN=m
416CONFIG_NLS_MAC_CELTIC=m
417CONFIG_NLS_MAC_CENTEURO=m
418CONFIG_NLS_MAC_CROATIAN=m
419CONFIG_NLS_MAC_CYRILLIC=m
420CONFIG_NLS_MAC_GAELIC=m
421CONFIG_NLS_MAC_GREEK=m
422CONFIG_NLS_MAC_ICELAND=m
423CONFIG_NLS_MAC_INUIT=m
424CONFIG_NLS_MAC_ROMANIAN=m
425CONFIG_NLS_MAC_TURKISH=m
323CONFIG_DLM=m 426CONFIG_DLM=m
324CONFIG_MAGIC_SYSRQ=y 427CONFIG_MAGIC_SYSRQ=y
325# CONFIG_RCU_CPU_STALL_DETECTOR is not set 428CONFIG_ASYNC_RAID6_TEST=m
326CONFIG_SYSCTL_SYSCALL_CHECK=y 429CONFIG_ENCRYPTED_KEYS=m
430CONFIG_CRYPTO_MANAGER=y
431CONFIG_CRYPTO_USER=m
327CONFIG_CRYPTO_NULL=m 432CONFIG_CRYPTO_NULL=m
328CONFIG_CRYPTO_CRYPTD=m 433CONFIG_CRYPTO_CRYPTD=m
329CONFIG_CRYPTO_TEST=m 434CONFIG_CRYPTO_TEST=m
@@ -333,19 +438,16 @@ CONFIG_CRYPTO_CTS=m
333CONFIG_CRYPTO_LRW=m 438CONFIG_CRYPTO_LRW=m
334CONFIG_CRYPTO_PCBC=m 439CONFIG_CRYPTO_PCBC=m
335CONFIG_CRYPTO_XTS=m 440CONFIG_CRYPTO_XTS=m
336CONFIG_CRYPTO_HMAC=y
337CONFIG_CRYPTO_XCBC=m 441CONFIG_CRYPTO_XCBC=m
338CONFIG_CRYPTO_MD4=m 442CONFIG_CRYPTO_VMAC=m
339CONFIG_CRYPTO_MICHAEL_MIC=m 443CONFIG_CRYPTO_MICHAEL_MIC=m
340CONFIG_CRYPTO_RMD128=m 444CONFIG_CRYPTO_RMD128=m
341CONFIG_CRYPTO_RMD160=m 445CONFIG_CRYPTO_RMD160=m
342CONFIG_CRYPTO_RMD256=m 446CONFIG_CRYPTO_RMD256=m
343CONFIG_CRYPTO_RMD320=m 447CONFIG_CRYPTO_RMD320=m
344CONFIG_CRYPTO_SHA256=m
345CONFIG_CRYPTO_SHA512=m 448CONFIG_CRYPTO_SHA512=m
346CONFIG_CRYPTO_TGR192=m 449CONFIG_CRYPTO_TGR192=m
347CONFIG_CRYPTO_WP512=m 450CONFIG_CRYPTO_WP512=m
348CONFIG_CRYPTO_AES=m
349CONFIG_CRYPTO_ANUBIS=m 451CONFIG_CRYPTO_ANUBIS=m
350CONFIG_CRYPTO_BLOWFISH=m 452CONFIG_CRYPTO_BLOWFISH=m
351CONFIG_CRYPTO_CAMELLIA=m 453CONFIG_CRYPTO_CAMELLIA=m
@@ -361,6 +463,14 @@ CONFIG_CRYPTO_TWOFISH=m
361CONFIG_CRYPTO_ZLIB=m 463CONFIG_CRYPTO_ZLIB=m
362CONFIG_CRYPTO_LZO=m 464CONFIG_CRYPTO_LZO=m
363# CONFIG_CRYPTO_ANSI_CPRNG is not set 465# CONFIG_CRYPTO_ANSI_CPRNG is not set
466CONFIG_CRYPTO_USER_API_HASH=m
467CONFIG_CRYPTO_USER_API_SKCIPHER=m
364# CONFIG_CRYPTO_HW is not set 468# CONFIG_CRYPTO_HW is not set
365CONFIG_CRC16=m
366CONFIG_CRC_T10DIF=y 469CONFIG_CRC_T10DIF=y
470CONFIG_XZ_DEC_X86=y
471CONFIG_XZ_DEC_POWERPC=y
472CONFIG_XZ_DEC_IA64=y
473CONFIG_XZ_DEC_ARM=y
474CONFIG_XZ_DEC_ARMTHUMB=y
475CONFIG_XZ_DEC_SPARC=y
476CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig
index 8d5def4a31e0..0f795d8e65fa 100644
--- a/arch/m68k/configs/multi_defconfig
+++ b/arch/m68k/configs/multi_defconfig
@@ -1,15 +1,29 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-multi" 1CONFIG_LOCALVERSION="-multi"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
16CONFIG_PARTITION_ADVANCED=y
17CONFIG_BSD_DISKLABEL=y
18CONFIG_MINIX_SUBPARTITION=y
19CONFIG_SOLARIS_X86_PARTITION=y
20CONFIG_UNIXWARE_DISKLABEL=y
21# CONFIG_EFI_PARTITION is not set
22CONFIG_IOSCHED_DEADLINE=m
23CONFIG_M68020=y
24CONFIG_M68040=y
25CONFIG_M68060=y
26CONFIG_M68KFPU_EMU=y
13CONFIG_AMIGA=y 27CONFIG_AMIGA=y
14CONFIG_ATARI=y 28CONFIG_ATARI=y
15CONFIG_MAC=y 29CONFIG_MAC=y
@@ -21,48 +35,50 @@ CONFIG_BVME6000=y
21CONFIG_HP300=y 35CONFIG_HP300=y
22CONFIG_SUN3X=y 36CONFIG_SUN3X=y
23CONFIG_Q40=y 37CONFIG_Q40=y
24CONFIG_M68020=y
25CONFIG_M68040=y
26CONFIG_M68060=y
27CONFIG_BINFMT_AOUT=m
28CONFIG_BINFMT_MISC=m
29CONFIG_ZORRO=y 38CONFIG_ZORRO=y
30CONFIG_AMIGA_PCMCIA=y 39CONFIG_AMIGA_PCMCIA=y
31CONFIG_STRAM_PROC=y
32CONFIG_HEARTBEAT=y
33CONFIG_PROC_HARDWARE=y
34CONFIG_ZORRO_NAMES=y 40CONFIG_ZORRO_NAMES=y
41# CONFIG_COMPACTION is not set
42CONFIG_CLEANCACHE=y
43# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
44CONFIG_BINFMT_AOUT=m
45CONFIG_BINFMT_MISC=m
35CONFIG_NET=y 46CONFIG_NET=y
36CONFIG_PACKET=y 47CONFIG_PACKET=y
48CONFIG_PACKET_DIAG=m
37CONFIG_UNIX=y 49CONFIG_UNIX=y
50CONFIG_UNIX_DIAG=m
51CONFIG_XFRM_MIGRATE=y
38CONFIG_NET_KEY=y 52CONFIG_NET_KEY=y
39CONFIG_NET_KEY_MIGRATE=y
40CONFIG_INET=y 53CONFIG_INET=y
41CONFIG_IP_PNP=y 54CONFIG_IP_PNP=y
42CONFIG_IP_PNP_DHCP=y 55CONFIG_IP_PNP_DHCP=y
43CONFIG_IP_PNP_BOOTP=y 56CONFIG_IP_PNP_BOOTP=y
44CONFIG_IP_PNP_RARP=y 57CONFIG_IP_PNP_RARP=y
45CONFIG_NET_IPIP=m 58CONFIG_NET_IPIP=m
59CONFIG_NET_IPGRE_DEMUX=m
46CONFIG_NET_IPGRE=m 60CONFIG_NET_IPGRE=m
47CONFIG_SYN_COOKIES=y 61CONFIG_SYN_COOKIES=y
62CONFIG_NET_IPVTI=m
48CONFIG_INET_AH=m 63CONFIG_INET_AH=m
49CONFIG_INET_ESP=m 64CONFIG_INET_ESP=m
50CONFIG_INET_IPCOMP=m 65CONFIG_INET_IPCOMP=m
51CONFIG_INET_XFRM_MODE_TRANSPORT=m 66CONFIG_INET_XFRM_MODE_TRANSPORT=m
52CONFIG_INET_XFRM_MODE_TUNNEL=m 67CONFIG_INET_XFRM_MODE_TUNNEL=m
53CONFIG_INET_XFRM_MODE_BEET=m 68CONFIG_INET_XFRM_MODE_BEET=m
69# CONFIG_INET_LRO is not set
54CONFIG_INET_DIAG=m 70CONFIG_INET_DIAG=m
71CONFIG_INET_UDP_DIAG=m
55CONFIG_IPV6_PRIVACY=y 72CONFIG_IPV6_PRIVACY=y
56CONFIG_IPV6_ROUTER_PREF=y 73CONFIG_IPV6_ROUTER_PREF=y
57CONFIG_IPV6_ROUTE_INFO=y
58CONFIG_INET6_AH=m 74CONFIG_INET6_AH=m
59CONFIG_INET6_ESP=m 75CONFIG_INET6_ESP=m
60CONFIG_INET6_IPCOMP=m 76CONFIG_INET6_IPCOMP=m
61CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 77CONFIG_IPV6_GRE=m
62CONFIG_IPV6_TUNNEL=m
63CONFIG_NETFILTER=y 78CONFIG_NETFILTER=y
64CONFIG_NETFILTER_NETLINK_QUEUE=m
65CONFIG_NF_CONNTRACK=m 79CONFIG_NF_CONNTRACK=m
80CONFIG_NF_CONNTRACK_ZONES=y
81# CONFIG_NF_CONNTRACK_PROCFS is not set
66# CONFIG_NF_CT_PROTO_DCCP is not set 82# CONFIG_NF_CT_PROTO_DCCP is not set
67CONFIG_NF_CT_PROTO_UDPLITE=m 83CONFIG_NF_CT_PROTO_UDPLITE=m
68CONFIG_NF_CONNTRACK_AMANDA=m 84CONFIG_NF_CONNTRACK_AMANDA=m
@@ -70,25 +86,37 @@ CONFIG_NF_CONNTRACK_FTP=m
70CONFIG_NF_CONNTRACK_H323=m 86CONFIG_NF_CONNTRACK_H323=m
71CONFIG_NF_CONNTRACK_IRC=m 87CONFIG_NF_CONNTRACK_IRC=m
72CONFIG_NF_CONNTRACK_NETBIOS_NS=m 88CONFIG_NF_CONNTRACK_NETBIOS_NS=m
89CONFIG_NF_CONNTRACK_SNMP=m
73CONFIG_NF_CONNTRACK_PPTP=m 90CONFIG_NF_CONNTRACK_PPTP=m
74CONFIG_NF_CONNTRACK_SANE=m 91CONFIG_NF_CONNTRACK_SANE=m
75CONFIG_NF_CONNTRACK_SIP=m 92CONFIG_NF_CONNTRACK_SIP=m
76CONFIG_NF_CONNTRACK_TFTP=m 93CONFIG_NF_CONNTRACK_TFTP=m
94CONFIG_NETFILTER_XT_SET=m
95CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
77CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 96CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
78CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 97CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
79CONFIG_NETFILTER_XT_TARGET_DSCP=m 98CONFIG_NETFILTER_XT_TARGET_DSCP=m
99CONFIG_NETFILTER_XT_TARGET_HMARK=m
100CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
101CONFIG_NETFILTER_XT_TARGET_LOG=m
80CONFIG_NETFILTER_XT_TARGET_MARK=m 102CONFIG_NETFILTER_XT_TARGET_MARK=m
81CONFIG_NETFILTER_XT_TARGET_NFLOG=m 103CONFIG_NETFILTER_XT_TARGET_NFLOG=m
82CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 104CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
105CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
106CONFIG_NETFILTER_XT_TARGET_TEE=m
83CONFIG_NETFILTER_XT_TARGET_TRACE=m 107CONFIG_NETFILTER_XT_TARGET_TRACE=m
84CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 108CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
85CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 109CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
110CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
111CONFIG_NETFILTER_XT_MATCH_BPF=m
86CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 112CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
87CONFIG_NETFILTER_XT_MATCH_COMMENT=m 113CONFIG_NETFILTER_XT_MATCH_COMMENT=m
88CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 114CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
115CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
89CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 116CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
90CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 117CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
91CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 118CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
119CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
92CONFIG_NETFILTER_XT_MATCH_DSCP=m 120CONFIG_NETFILTER_XT_MATCH_DSCP=m
93CONFIG_NETFILTER_XT_MATCH_ESP=m 121CONFIG_NETFILTER_XT_MATCH_ESP=m
94CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 122CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -99,6 +127,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
99CONFIG_NETFILTER_XT_MATCH_MAC=m 127CONFIG_NETFILTER_XT_MATCH_MAC=m
100CONFIG_NETFILTER_XT_MATCH_MARK=m 128CONFIG_NETFILTER_XT_MATCH_MARK=m
101CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 129CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
130CONFIG_NETFILTER_XT_MATCH_NFACCT=m
131CONFIG_NETFILTER_XT_MATCH_OSF=m
102CONFIG_NETFILTER_XT_MATCH_OWNER=m 132CONFIG_NETFILTER_XT_MATCH_OWNER=m
103CONFIG_NETFILTER_XT_MATCH_POLICY=m 133CONFIG_NETFILTER_XT_MATCH_POLICY=m
104CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 134CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -112,22 +142,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
112CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 142CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
113CONFIG_NETFILTER_XT_MATCH_TIME=m 143CONFIG_NETFILTER_XT_MATCH_TIME=m
114CONFIG_NETFILTER_XT_MATCH_U32=m 144CONFIG_NETFILTER_XT_MATCH_U32=m
145CONFIG_IP_SET=m
146CONFIG_IP_SET_BITMAP_IP=m
147CONFIG_IP_SET_BITMAP_IPMAC=m
148CONFIG_IP_SET_BITMAP_PORT=m
149CONFIG_IP_SET_HASH_IP=m
150CONFIG_IP_SET_HASH_IPPORT=m
151CONFIG_IP_SET_HASH_IPPORTIP=m
152CONFIG_IP_SET_HASH_IPPORTNET=m
153CONFIG_IP_SET_HASH_NET=m
154CONFIG_IP_SET_HASH_NETPORT=m
155CONFIG_IP_SET_HASH_NETIFACE=m
156CONFIG_IP_SET_LIST_SET=m
115CONFIG_NF_CONNTRACK_IPV4=m 157CONFIG_NF_CONNTRACK_IPV4=m
116CONFIG_IP_NF_QUEUE=m
117CONFIG_IP_NF_IPTABLES=m 158CONFIG_IP_NF_IPTABLES=m
118CONFIG_IP_NF_MATCH_ADDRTYPE=m
119CONFIG_IP_NF_MATCH_AH=m 159CONFIG_IP_NF_MATCH_AH=m
120CONFIG_IP_NF_MATCH_ECN=m 160CONFIG_IP_NF_MATCH_ECN=m
161CONFIG_IP_NF_MATCH_RPFILTER=m
121CONFIG_IP_NF_MATCH_TTL=m 162CONFIG_IP_NF_MATCH_TTL=m
122CONFIG_IP_NF_FILTER=m 163CONFIG_IP_NF_FILTER=m
123CONFIG_IP_NF_TARGET_REJECT=m 164CONFIG_IP_NF_TARGET_REJECT=m
124CONFIG_IP_NF_TARGET_LOG=m
125CONFIG_IP_NF_TARGET_ULOG=m 165CONFIG_IP_NF_TARGET_ULOG=m
126CONFIG_NF_NAT=m 166CONFIG_NF_NAT_IPV4=m
127CONFIG_IP_NF_TARGET_MASQUERADE=m 167CONFIG_IP_NF_TARGET_MASQUERADE=m
128CONFIG_IP_NF_TARGET_NETMAP=m 168CONFIG_IP_NF_TARGET_NETMAP=m
129CONFIG_IP_NF_TARGET_REDIRECT=m 169CONFIG_IP_NF_TARGET_REDIRECT=m
130CONFIG_NF_NAT_SNMP_BASIC=m
131CONFIG_IP_NF_MANGLE=m 170CONFIG_IP_NF_MANGLE=m
132CONFIG_IP_NF_TARGET_CLUSTERIP=m 171CONFIG_IP_NF_TARGET_CLUSTERIP=m
133CONFIG_IP_NF_TARGET_ECN=m 172CONFIG_IP_NF_TARGET_ECN=m
@@ -137,7 +176,6 @@ CONFIG_IP_NF_ARPTABLES=m
137CONFIG_IP_NF_ARPFILTER=m 176CONFIG_IP_NF_ARPFILTER=m
138CONFIG_IP_NF_ARP_MANGLE=m 177CONFIG_IP_NF_ARP_MANGLE=m
139CONFIG_NF_CONNTRACK_IPV6=m 178CONFIG_NF_CONNTRACK_IPV6=m
140CONFIG_IP6_NF_QUEUE=m
141CONFIG_IP6_NF_IPTABLES=m 179CONFIG_IP6_NF_IPTABLES=m
142CONFIG_IP6_NF_MATCH_AH=m 180CONFIG_IP6_NF_MATCH_AH=m
143CONFIG_IP6_NF_MATCH_EUI64=m 181CONFIG_IP6_NF_MATCH_EUI64=m
@@ -146,22 +184,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
146CONFIG_IP6_NF_MATCH_HL=m 184CONFIG_IP6_NF_MATCH_HL=m
147CONFIG_IP6_NF_MATCH_IPV6HEADER=m 185CONFIG_IP6_NF_MATCH_IPV6HEADER=m
148CONFIG_IP6_NF_MATCH_MH=m 186CONFIG_IP6_NF_MATCH_MH=m
187CONFIG_IP6_NF_MATCH_RPFILTER=m
149CONFIG_IP6_NF_MATCH_RT=m 188CONFIG_IP6_NF_MATCH_RT=m
150CONFIG_IP6_NF_TARGET_HL=m 189CONFIG_IP6_NF_TARGET_HL=m
151CONFIG_IP6_NF_TARGET_LOG=m
152CONFIG_IP6_NF_FILTER=m 190CONFIG_IP6_NF_FILTER=m
153CONFIG_IP6_NF_TARGET_REJECT=m 191CONFIG_IP6_NF_TARGET_REJECT=m
154CONFIG_IP6_NF_MANGLE=m 192CONFIG_IP6_NF_MANGLE=m
155CONFIG_IP6_NF_RAW=m 193CONFIG_IP6_NF_RAW=m
194CONFIG_NF_NAT_IPV6=m
195CONFIG_IP6_NF_TARGET_MASQUERADE=m
196CONFIG_IP6_NF_TARGET_NPT=m
156CONFIG_IP_DCCP=m 197CONFIG_IP_DCCP=m
157# CONFIG_IP_DCCP_CCID3 is not set 198# CONFIG_IP_DCCP_CCID3 is not set
199CONFIG_SCTP_COOKIE_HMAC_SHA1=y
200CONFIG_RDS=m
201CONFIG_RDS_TCP=m
202CONFIG_L2TP=m
158CONFIG_ATALK=m 203CONFIG_ATALK=m
159CONFIG_DEV_APPLETALK=m 204CONFIG_DEV_APPLETALK=m
160CONFIG_IPDDP=m 205CONFIG_IPDDP=m
161CONFIG_IPDDP_ENCAP=y 206CONFIG_IPDDP_ENCAP=y
162CONFIG_IPDDP_DECAP=y 207CONFIG_IPDDP_DECAP=y
208CONFIG_BATMAN_ADV=m
209CONFIG_BATMAN_ADV_DAT=y
210# CONFIG_WIRELESS is not set
163CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 211CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
212CONFIG_DEVTMPFS=y
164# CONFIG_FIRMWARE_IN_KERNEL is not set 213# CONFIG_FIRMWARE_IN_KERNEL is not set
214# CONFIG_FW_LOADER_USER_HELPER is not set
165CONFIG_CONNECTOR=m 215CONFIG_CONNECTOR=m
166CONFIG_PARPORT=m 216CONFIG_PARPORT=m
167CONFIG_PARPORT_AMIGA=m 217CONFIG_PARPORT_AMIGA=m
@@ -170,15 +220,17 @@ CONFIG_PARPORT_ATARI=m
170CONFIG_PARPORT_1284=y 220CONFIG_PARPORT_1284=y
171CONFIG_AMIGA_FLOPPY=y 221CONFIG_AMIGA_FLOPPY=y
172CONFIG_ATARI_FLOPPY=y 222CONFIG_ATARI_FLOPPY=y
173CONFIG_BLK_DEV_SWIM=y 223CONFIG_BLK_DEV_SWIM=m
174CONFIG_AMIGA_Z2RAM=y 224CONFIG_AMIGA_Z2RAM=y
175CONFIG_BLK_DEV_LOOP=y 225CONFIG_BLK_DEV_LOOP=y
176CONFIG_BLK_DEV_CRYPTOLOOP=m 226CONFIG_BLK_DEV_CRYPTOLOOP=m
227CONFIG_BLK_DEV_DRBD=m
177CONFIG_BLK_DEV_NBD=m 228CONFIG_BLK_DEV_NBD=m
178CONFIG_BLK_DEV_RAM=y 229CONFIG_BLK_DEV_RAM=y
179CONFIG_CDROM_PKTCDVD=m 230CONFIG_CDROM_PKTCDVD=m
180CONFIG_ATA_OVER_ETH=m 231CONFIG_ATA_OVER_ETH=m
181CONFIG_IDE=y 232CONFIG_IDE=y
233CONFIG_IDE_GD_ATAPI=y
182CONFIG_BLK_DEV_IDECD=y 234CONFIG_BLK_DEV_IDECD=y
183CONFIG_BLK_DEV_GAYLE=y 235CONFIG_BLK_DEV_GAYLE=y
184CONFIG_BLK_DEV_BUDDHA=y 236CONFIG_BLK_DEV_BUDDHA=y
@@ -195,11 +247,9 @@ CONFIG_BLK_DEV_SR=y
195CONFIG_BLK_DEV_SR_VENDOR=y 247CONFIG_BLK_DEV_SR_VENDOR=y
196CONFIG_CHR_DEV_SG=m 248CONFIG_CHR_DEV_SG=m
197CONFIG_SCSI_CONSTANTS=y 249CONFIG_SCSI_CONSTANTS=y
198CONFIG_SCSI_SAS_LIBSAS=m 250CONFIG_SCSI_SAS_ATTRS=m
199# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
200CONFIG_SCSI_SRP_ATTRS=m
201CONFIG_SCSI_SRP_TGT_ATTRS=y
202CONFIG_ISCSI_TCP=m 251CONFIG_ISCSI_TCP=m
252CONFIG_ISCSI_BOOT_SYSFS=m
203CONFIG_A3000_SCSI=y 253CONFIG_A3000_SCSI=y
204CONFIG_A2091_SCSI=y 254CONFIG_A2091_SCSI=y
205CONFIG_GVP11_SCSI=y 255CONFIG_GVP11_SCSI=y
@@ -213,21 +263,24 @@ CONFIG_MVME16x_SCSI=y
213CONFIG_BVME6000_SCSI=y 263CONFIG_BVME6000_SCSI=y
214CONFIG_SUN3X_ESP=y 264CONFIG_SUN3X_ESP=y
215CONFIG_MD=y 265CONFIG_MD=y
216CONFIG_BLK_DEV_MD=m
217CONFIG_MD_LINEAR=m 266CONFIG_MD_LINEAR=m
218CONFIG_MD_RAID0=m 267CONFIG_MD_RAID0=m
219CONFIG_MD_RAID1=m
220CONFIG_MD_RAID456=m
221CONFIG_BLK_DEV_DM=m 268CONFIG_BLK_DEV_DM=m
222CONFIG_DM_CRYPT=m 269CONFIG_DM_CRYPT=m
223CONFIG_DM_SNAPSHOT=m 270CONFIG_DM_SNAPSHOT=m
271CONFIG_DM_THIN_PROVISIONING=m
272CONFIG_DM_CACHE=m
224CONFIG_DM_MIRROR=m 273CONFIG_DM_MIRROR=m
274CONFIG_DM_RAID=m
225CONFIG_DM_ZERO=m 275CONFIG_DM_ZERO=m
226CONFIG_DM_MULTIPATH=m 276CONFIG_DM_MULTIPATH=m
227CONFIG_DM_UEVENT=y 277CONFIG_DM_UEVENT=y
278CONFIG_TARGET_CORE=m
279CONFIG_TCM_IBLOCK=m
280CONFIG_TCM_FILEIO=m
281CONFIG_TCM_PSCSI=m
228CONFIG_ADB=y 282CONFIG_ADB=y
229CONFIG_ADB_MACII=y 283CONFIG_ADB_MACII=y
230CONFIG_ADB_MACIISI=y
231CONFIG_ADB_IOP=y 284CONFIG_ADB_IOP=y
232CONFIG_ADB_PMU68K=y 285CONFIG_ADB_PMU68K=y
233CONFIG_ADB_CUDA=y 286CONFIG_ADB_CUDA=y
@@ -235,49 +288,64 @@ CONFIG_INPUT_ADBHID=y
235CONFIG_MAC_EMUMOUSEBTN=y 288CONFIG_MAC_EMUMOUSEBTN=y
236CONFIG_NETDEVICES=y 289CONFIG_NETDEVICES=y
237CONFIG_DUMMY=m 290CONFIG_DUMMY=m
238CONFIG_MACVLAN=m
239CONFIG_EQUALIZER=m 291CONFIG_EQUALIZER=m
240CONFIG_VETH=m
241CONFIG_NET_ETHERNET=y
242CONFIG_MII=y 292CONFIG_MII=y
243CONFIG_ARIADNE=y 293CONFIG_NET_TEAM=m
294CONFIG_NET_TEAM_MODE_BROADCAST=m
295CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
296CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
297CONFIG_NET_TEAM_MODE_LOADBALANCE=m
298CONFIG_VXLAN=m
299CONFIG_NETCONSOLE=m
300CONFIG_NETCONSOLE_DYNAMIC=y
301CONFIG_VETH=m
302# CONFIG_NET_VENDOR_3COM is not set
244CONFIG_A2065=y 303CONFIG_A2065=y
245CONFIG_HYDRA=y 304CONFIG_ARIADNE=y
246CONFIG_ZORRO8390=y
247CONFIG_APNE=y
248CONFIG_MAC8390=y
249CONFIG_MAC89x0=y
250CONFIG_MACSONIC=y
251CONFIG_MACMACE=y
252CONFIG_MVME147_NET=y
253CONFIG_MVME16x_NET=y
254CONFIG_BVME6000_NET=y
255CONFIG_ATARILANCE=y 305CONFIG_ATARILANCE=y
256CONFIG_SUN3LANCE=y
257CONFIG_HPLANCE=y 306CONFIG_HPLANCE=y
307CONFIG_MVME147_NET=y
308CONFIG_SUN3LANCE=y
309CONFIG_MACMACE=y
310# CONFIG_NET_CADENCE is not set
311# CONFIG_NET_VENDOR_BROADCOM is not set
312CONFIG_MAC89x0=y
313# CONFIG_NET_VENDOR_FUJITSU is not set
314# CONFIG_NET_VENDOR_HP is not set
315CONFIG_BVME6000_NET=y
316CONFIG_MVME16x_NET=y
317# CONFIG_NET_VENDOR_MARVELL is not set
318# CONFIG_NET_VENDOR_MICREL is not set
319CONFIG_MACSONIC=y
320CONFIG_HYDRA=y
321CONFIG_MAC8390=y
258CONFIG_NE2000=m 322CONFIG_NE2000=m
259# CONFIG_NETDEV_1000 is not set 323CONFIG_APNE=y
260# CONFIG_NETDEV_10000 is not set 324CONFIG_ZORRO8390=y
325# CONFIG_NET_VENDOR_SEEQ is not set
326# CONFIG_NET_VENDOR_STMICRO is not set
327# CONFIG_NET_VENDOR_WIZNET is not set
261CONFIG_PPP=m 328CONFIG_PPP=m
262CONFIG_PPP_FILTER=y
263CONFIG_PPP_ASYNC=m
264CONFIG_PPP_SYNC_TTY=m
265CONFIG_PPP_DEFLATE=m
266CONFIG_PPP_BSDCOMP=m 329CONFIG_PPP_BSDCOMP=m
330CONFIG_PPP_DEFLATE=m
331CONFIG_PPP_FILTER=y
267CONFIG_PPP_MPPE=m 332CONFIG_PPP_MPPE=m
268CONFIG_PPPOE=m 333CONFIG_PPPOE=m
334CONFIG_PPTP=m
335CONFIG_PPPOL2TP=m
336CONFIG_PPP_ASYNC=m
337CONFIG_PPP_SYNC_TTY=m
269CONFIG_SLIP=m 338CONFIG_SLIP=m
270CONFIG_SLIP_COMPRESSED=y 339CONFIG_SLIP_COMPRESSED=y
271CONFIG_SLIP_SMART=y 340CONFIG_SLIP_SMART=y
272CONFIG_SLIP_MODE_SLIP6=y 341CONFIG_SLIP_MODE_SLIP6=y
273CONFIG_NETCONSOLE=m 342# CONFIG_WLAN is not set
274CONFIG_NETCONSOLE_DYNAMIC=y 343CONFIG_INPUT_EVDEV=m
275CONFIG_INPUT_FF_MEMLESS=m
276CONFIG_KEYBOARD_AMIGA=y 344CONFIG_KEYBOARD_AMIGA=y
277CONFIG_KEYBOARD_ATARI=y 345CONFIG_KEYBOARD_ATARI=y
278# CONFIG_KEYBOARD_ATKBD is not set 346# CONFIG_KEYBOARD_ATKBD is not set
279CONFIG_KEYBOARD_SUNKBD=y 347CONFIG_KEYBOARD_SUNKBD=y
280CONFIG_MOUSE_PS2=m 348# CONFIG_MOUSE_PS2 is not set
281CONFIG_MOUSE_SERIAL=m 349CONFIG_MOUSE_SERIAL=m
282CONFIG_MOUSE_AMIGA=m 350CONFIG_MOUSE_AMIGA=m
283CONFIG_MOUSE_ATARI=m 351CONFIG_MOUSE_ATARI=m
@@ -285,18 +353,20 @@ CONFIG_INPUT_JOYSTICK=y
285CONFIG_JOYSTICK_AMIGA=m 353CONFIG_JOYSTICK_AMIGA=m
286CONFIG_INPUT_MISC=y 354CONFIG_INPUT_MISC=y
287CONFIG_INPUT_M68K_BEEP=m 355CONFIG_INPUT_M68K_BEEP=m
288CONFIG_HP_SDC_RTC=y 356CONFIG_HP_SDC_RTC=m
289# CONFIG_SERIO_SERPORT is not set
290CONFIG_SERIO_Q40KBD=y 357CONFIG_SERIO_Q40KBD=y
291CONFIG_VT_HW_CONSOLE_BINDING=y 358CONFIG_VT_HW_CONSOLE_BINDING=y
359# CONFIG_LEGACY_PTYS is not set
292# CONFIG_DEVKMEM is not set 360# CONFIG_DEVKMEM is not set
293CONFIG_SERIAL_PMACZILOG=y 361CONFIG_SERIAL_PMACZILOG=y
294CONFIG_SERIAL_PMACZILOG_TTYS=y 362CONFIG_SERIAL_PMACZILOG_TTYS=y
295CONFIG_SERIAL_PMACZILOG_CONSOLE=y 363CONFIG_SERIAL_PMACZILOG_CONSOLE=y
296CONFIG_PRINTER=m 364CONFIG_PRINTER=m
297# CONFIG_HW_RANDOM is not set 365# CONFIG_HW_RANDOM is not set
298CONFIG_GEN_RTC=y 366CONFIG_NTP_PPS=y
299CONFIG_GEN_RTC_X=y 367CONFIG_PPS_CLIENT_LDISC=m
368CONFIG_PPS_CLIENT_PARPORT=m
369CONFIG_PTP_1588_CLOCK=m
300# CONFIG_HWMON is not set 370# CONFIG_HWMON is not set
301CONFIG_FB=y 371CONFIG_FB=y
302CONFIG_FB_CIRRUS=y 372CONFIG_FB_CIRRUS=y
@@ -316,7 +386,20 @@ CONFIG_DMASOUND_PAULA=m
316CONFIG_DMASOUND_Q40=m 386CONFIG_DMASOUND_Q40=m
317CONFIG_HID=m 387CONFIG_HID=m
318CONFIG_HIDRAW=y 388CONFIG_HIDRAW=y
389CONFIG_UHID=m
390# CONFIG_HID_GENERIC is not set
319# CONFIG_USB_SUPPORT is not set 391# CONFIG_USB_SUPPORT is not set
392CONFIG_RTC_CLASS=y
393CONFIG_RTC_DRV_MSM6242=m
394CONFIG_RTC_DRV_RP5C01=m
395CONFIG_RTC_DRV_GENERIC=m
396# CONFIG_IOMMU_SUPPORT is not set
397CONFIG_HEARTBEAT=y
398CONFIG_PROC_HARDWARE=y
399CONFIG_NATFEAT=y
400CONFIG_NFBLOCK=y
401CONFIG_NFCON=y
402CONFIG_NFETH=y
320CONFIG_ATARI_DSP56K=m 403CONFIG_ATARI_DSP56K=m
321CONFIG_AMIGA_BUILTIN_SERIAL=y 404CONFIG_AMIGA_BUILTIN_SERIAL=y
322CONFIG_SERIAL_CONSOLE=y 405CONFIG_SERIAL_CONSOLE=y
@@ -324,42 +407,49 @@ CONFIG_EXT2_FS=y
324CONFIG_EXT3_FS=y 407CONFIG_EXT3_FS=y
325# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 408# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
326# CONFIG_EXT3_FS_XATTR is not set 409# CONFIG_EXT3_FS_XATTR is not set
410CONFIG_EXT4_FS=y
327CONFIG_REISERFS_FS=m 411CONFIG_REISERFS_FS=m
328CONFIG_JFS_FS=m 412CONFIG_JFS_FS=m
329CONFIG_XFS_FS=m 413CONFIG_XFS_FS=m
330CONFIG_OCFS2_FS=m 414CONFIG_OCFS2_FS=m
331# CONFIG_OCFS2_FS_STATS is not set
332# CONFIG_OCFS2_DEBUG_MASKLOG is not set 415# CONFIG_OCFS2_DEBUG_MASKLOG is not set
416CONFIG_FANOTIFY=y
333CONFIG_QUOTA_NETLINK_INTERFACE=y 417CONFIG_QUOTA_NETLINK_INTERFACE=y
334# CONFIG_PRINT_QUOTA_WARNING is not set 418# CONFIG_PRINT_QUOTA_WARNING is not set
335CONFIG_AUTOFS_FS=m
336CONFIG_AUTOFS4_FS=m 419CONFIG_AUTOFS4_FS=m
337CONFIG_FUSE_FS=m 420CONFIG_FUSE_FS=m
421CONFIG_CUSE=m
338CONFIG_ISO9660_FS=y 422CONFIG_ISO9660_FS=y
339CONFIG_JOLIET=y 423CONFIG_JOLIET=y
340CONFIG_ZISOFS=y 424CONFIG_ZISOFS=y
341CONFIG_UDF_FS=m 425CONFIG_UDF_FS=m
342CONFIG_MSDOS_FS=y 426CONFIG_MSDOS_FS=m
343CONFIG_VFAT_FS=m 427CONFIG_VFAT_FS=m
344CONFIG_PROC_KCORE=y 428CONFIG_PROC_KCORE=y
345CONFIG_TMPFS=y 429CONFIG_TMPFS=y
346CONFIG_AFFS_FS=m 430CONFIG_AFFS_FS=m
347CONFIG_HFS_FS=y 431CONFIG_ECRYPT_FS=m
348CONFIG_HFSPLUS_FS=y 432CONFIG_ECRYPT_FS_MESSAGING=y
433CONFIG_HFS_FS=m
434CONFIG_HFSPLUS_FS=m
349CONFIG_CRAMFS=m 435CONFIG_CRAMFS=m
350CONFIG_SQUASHFS=m 436CONFIG_SQUASHFS=m
351CONFIG_MINIX_FS=y 437CONFIG_SQUASHFS_LZO=y
438CONFIG_MINIX_FS=m
439CONFIG_OMFS_FS=m
352CONFIG_HPFS_FS=m 440CONFIG_HPFS_FS=m
441CONFIG_QNX4FS_FS=m
442CONFIG_QNX6FS_FS=m
353CONFIG_SYSV_FS=m 443CONFIG_SYSV_FS=m
354CONFIG_UFS_FS=m 444CONFIG_UFS_FS=m
355CONFIG_NFS_FS=y 445CONFIG_NFS_FS=y
356CONFIG_NFS_V3=y
357CONFIG_NFS_V4=y 446CONFIG_NFS_V4=y
447CONFIG_NFS_SWAP=y
358CONFIG_ROOT_NFS=y 448CONFIG_ROOT_NFS=y
359CONFIG_NFSD=m 449CONFIG_NFSD=m
360CONFIG_NFSD_V3=y 450CONFIG_NFSD_V3=y
361CONFIG_SMB_FS=m 451CONFIG_CIFS=m
362CONFIG_SMB_NLS_DEFAULT=y 452# CONFIG_CIFS_DEBUG is not set
363CONFIG_CODA_FS=m 453CONFIG_CODA_FS=m
364CONFIG_NLS_CODEPAGE_437=y 454CONFIG_NLS_CODEPAGE_437=y
365CONFIG_NLS_CODEPAGE_737=m 455CONFIG_NLS_CODEPAGE_737=m
@@ -398,10 +488,23 @@ CONFIG_NLS_ISO8859_14=m
398CONFIG_NLS_ISO8859_15=m 488CONFIG_NLS_ISO8859_15=m
399CONFIG_NLS_KOI8_R=m 489CONFIG_NLS_KOI8_R=m
400CONFIG_NLS_KOI8_U=m 490CONFIG_NLS_KOI8_U=m
491CONFIG_NLS_MAC_ROMAN=m
492CONFIG_NLS_MAC_CELTIC=m
493CONFIG_NLS_MAC_CENTEURO=m
494CONFIG_NLS_MAC_CROATIAN=m
495CONFIG_NLS_MAC_CYRILLIC=m
496CONFIG_NLS_MAC_GAELIC=m
497CONFIG_NLS_MAC_GREEK=m
498CONFIG_NLS_MAC_ICELAND=m
499CONFIG_NLS_MAC_INUIT=m
500CONFIG_NLS_MAC_ROMANIAN=m
501CONFIG_NLS_MAC_TURKISH=m
401CONFIG_DLM=m 502CONFIG_DLM=m
402CONFIG_MAGIC_SYSRQ=y 503CONFIG_MAGIC_SYSRQ=y
403# CONFIG_RCU_CPU_STALL_DETECTOR is not set 504CONFIG_ASYNC_RAID6_TEST=m
404CONFIG_SYSCTL_SYSCALL_CHECK=y 505CONFIG_ENCRYPTED_KEYS=m
506CONFIG_CRYPTO_MANAGER=y
507CONFIG_CRYPTO_USER=m
405CONFIG_CRYPTO_NULL=m 508CONFIG_CRYPTO_NULL=m
406CONFIG_CRYPTO_CRYPTD=m 509CONFIG_CRYPTO_CRYPTD=m
407CONFIG_CRYPTO_TEST=m 510CONFIG_CRYPTO_TEST=m
@@ -411,19 +514,16 @@ CONFIG_CRYPTO_CTS=m
411CONFIG_CRYPTO_LRW=m 514CONFIG_CRYPTO_LRW=m
412CONFIG_CRYPTO_PCBC=m 515CONFIG_CRYPTO_PCBC=m
413CONFIG_CRYPTO_XTS=m 516CONFIG_CRYPTO_XTS=m
414CONFIG_CRYPTO_HMAC=y
415CONFIG_CRYPTO_XCBC=m 517CONFIG_CRYPTO_XCBC=m
416CONFIG_CRYPTO_MD4=m 518CONFIG_CRYPTO_VMAC=m
417CONFIG_CRYPTO_MICHAEL_MIC=m 519CONFIG_CRYPTO_MICHAEL_MIC=m
418CONFIG_CRYPTO_RMD128=m 520CONFIG_CRYPTO_RMD128=m
419CONFIG_CRYPTO_RMD160=m 521CONFIG_CRYPTO_RMD160=m
420CONFIG_CRYPTO_RMD256=m 522CONFIG_CRYPTO_RMD256=m
421CONFIG_CRYPTO_RMD320=m 523CONFIG_CRYPTO_RMD320=m
422CONFIG_CRYPTO_SHA256=m
423CONFIG_CRYPTO_SHA512=m 524CONFIG_CRYPTO_SHA512=m
424CONFIG_CRYPTO_TGR192=m 525CONFIG_CRYPTO_TGR192=m
425CONFIG_CRYPTO_WP512=m 526CONFIG_CRYPTO_WP512=m
426CONFIG_CRYPTO_AES=m
427CONFIG_CRYPTO_ANUBIS=m 527CONFIG_CRYPTO_ANUBIS=m
428CONFIG_CRYPTO_BLOWFISH=m 528CONFIG_CRYPTO_BLOWFISH=m
429CONFIG_CRYPTO_CAMELLIA=m 529CONFIG_CRYPTO_CAMELLIA=m
@@ -439,6 +539,14 @@ CONFIG_CRYPTO_TWOFISH=m
439CONFIG_CRYPTO_ZLIB=m 539CONFIG_CRYPTO_ZLIB=m
440CONFIG_CRYPTO_LZO=m 540CONFIG_CRYPTO_LZO=m
441# CONFIG_CRYPTO_ANSI_CPRNG is not set 541# CONFIG_CRYPTO_ANSI_CPRNG is not set
542CONFIG_CRYPTO_USER_API_HASH=m
543CONFIG_CRYPTO_USER_API_SKCIPHER=m
442# CONFIG_CRYPTO_HW is not set 544# CONFIG_CRYPTO_HW is not set
443CONFIG_CRC16=y
444CONFIG_CRC_T10DIF=y 545CONFIG_CRC_T10DIF=y
546CONFIG_XZ_DEC_X86=y
547CONFIG_XZ_DEC_POWERPC=y
548CONFIG_XZ_DEC_IA64=y
549CONFIG_XZ_DEC_ARM=y
550CONFIG_XZ_DEC_ARMTHUMB=y
551CONFIG_XZ_DEC_SPARC=y
552CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig
index e2af46f530c1..5586c6529fce 100644
--- a/arch/m68k/configs/mvme147_defconfig
+++ b/arch/m68k/configs/mvme147_defconfig
@@ -1,52 +1,73 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-mvme147" 1CONFIG_LOCALVERSION="-mvme147"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24CONFIG_SUN_PARTITION=y
25# CONFIG_EFI_PARTITION is not set
26CONFIG_IOSCHED_DEADLINE=m
27CONFIG_M68030=y
13CONFIG_VME=y 28CONFIG_VME=y
14CONFIG_MVME147=y 29CONFIG_MVME147=y
15CONFIG_M68030=y 30# CONFIG_COMPACTION is not set
31CONFIG_CLEANCACHE=y
32# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
16CONFIG_BINFMT_AOUT=m 33CONFIG_BINFMT_AOUT=m
17CONFIG_BINFMT_MISC=m 34CONFIG_BINFMT_MISC=m
18CONFIG_PROC_HARDWARE=y
19CONFIG_NET=y 35CONFIG_NET=y
20CONFIG_PACKET=y 36CONFIG_PACKET=y
37CONFIG_PACKET_DIAG=m
21CONFIG_UNIX=y 38CONFIG_UNIX=y
39CONFIG_UNIX_DIAG=m
40CONFIG_XFRM_MIGRATE=y
22CONFIG_NET_KEY=y 41CONFIG_NET_KEY=y
23CONFIG_NET_KEY_MIGRATE=y
24CONFIG_INET=y 42CONFIG_INET=y
25CONFIG_IP_PNP=y 43CONFIG_IP_PNP=y
26CONFIG_IP_PNP_DHCP=y 44CONFIG_IP_PNP_DHCP=y
27CONFIG_IP_PNP_BOOTP=y 45CONFIG_IP_PNP_BOOTP=y
28CONFIG_IP_PNP_RARP=y 46CONFIG_IP_PNP_RARP=y
29CONFIG_NET_IPIP=m 47CONFIG_NET_IPIP=m
48CONFIG_NET_IPGRE_DEMUX=m
30CONFIG_NET_IPGRE=m 49CONFIG_NET_IPGRE=m
31CONFIG_SYN_COOKIES=y 50CONFIG_SYN_COOKIES=y
51CONFIG_NET_IPVTI=m
32CONFIG_INET_AH=m 52CONFIG_INET_AH=m
33CONFIG_INET_ESP=m 53CONFIG_INET_ESP=m
34CONFIG_INET_IPCOMP=m 54CONFIG_INET_IPCOMP=m
35CONFIG_INET_XFRM_MODE_TRANSPORT=m 55CONFIG_INET_XFRM_MODE_TRANSPORT=m
36CONFIG_INET_XFRM_MODE_TUNNEL=m 56CONFIG_INET_XFRM_MODE_TUNNEL=m
37CONFIG_INET_XFRM_MODE_BEET=m 57CONFIG_INET_XFRM_MODE_BEET=m
58# CONFIG_INET_LRO is not set
38CONFIG_INET_DIAG=m 59CONFIG_INET_DIAG=m
60CONFIG_INET_UDP_DIAG=m
39CONFIG_IPV6_PRIVACY=y 61CONFIG_IPV6_PRIVACY=y
40CONFIG_IPV6_ROUTER_PREF=y 62CONFIG_IPV6_ROUTER_PREF=y
41CONFIG_IPV6_ROUTE_INFO=y
42CONFIG_INET6_AH=m 63CONFIG_INET6_AH=m
43CONFIG_INET6_ESP=m 64CONFIG_INET6_ESP=m
44CONFIG_INET6_IPCOMP=m 65CONFIG_INET6_IPCOMP=m
45CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 66CONFIG_IPV6_GRE=m
46CONFIG_IPV6_TUNNEL=m
47CONFIG_NETFILTER=y 67CONFIG_NETFILTER=y
48CONFIG_NETFILTER_NETLINK_QUEUE=m
49CONFIG_NF_CONNTRACK=m 68CONFIG_NF_CONNTRACK=m
69CONFIG_NF_CONNTRACK_ZONES=y
70# CONFIG_NF_CONNTRACK_PROCFS is not set
50# CONFIG_NF_CT_PROTO_DCCP is not set 71# CONFIG_NF_CT_PROTO_DCCP is not set
51CONFIG_NF_CT_PROTO_UDPLITE=m 72CONFIG_NF_CT_PROTO_UDPLITE=m
52CONFIG_NF_CONNTRACK_AMANDA=m 73CONFIG_NF_CONNTRACK_AMANDA=m
@@ -54,25 +75,37 @@ CONFIG_NF_CONNTRACK_FTP=m
54CONFIG_NF_CONNTRACK_H323=m 75CONFIG_NF_CONNTRACK_H323=m
55CONFIG_NF_CONNTRACK_IRC=m 76CONFIG_NF_CONNTRACK_IRC=m
56CONFIG_NF_CONNTRACK_NETBIOS_NS=m 77CONFIG_NF_CONNTRACK_NETBIOS_NS=m
78CONFIG_NF_CONNTRACK_SNMP=m
57CONFIG_NF_CONNTRACK_PPTP=m 79CONFIG_NF_CONNTRACK_PPTP=m
58CONFIG_NF_CONNTRACK_SANE=m 80CONFIG_NF_CONNTRACK_SANE=m
59CONFIG_NF_CONNTRACK_SIP=m 81CONFIG_NF_CONNTRACK_SIP=m
60CONFIG_NF_CONNTRACK_TFTP=m 82CONFIG_NF_CONNTRACK_TFTP=m
83CONFIG_NETFILTER_XT_SET=m
84CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
61CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 85CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
62CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 86CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
63CONFIG_NETFILTER_XT_TARGET_DSCP=m 87CONFIG_NETFILTER_XT_TARGET_DSCP=m
88CONFIG_NETFILTER_XT_TARGET_HMARK=m
89CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
90CONFIG_NETFILTER_XT_TARGET_LOG=m
64CONFIG_NETFILTER_XT_TARGET_MARK=m 91CONFIG_NETFILTER_XT_TARGET_MARK=m
65CONFIG_NETFILTER_XT_TARGET_NFLOG=m 92CONFIG_NETFILTER_XT_TARGET_NFLOG=m
66CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 93CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
94CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
95CONFIG_NETFILTER_XT_TARGET_TEE=m
67CONFIG_NETFILTER_XT_TARGET_TRACE=m 96CONFIG_NETFILTER_XT_TARGET_TRACE=m
68CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 97CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
69CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 98CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
99CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
100CONFIG_NETFILTER_XT_MATCH_BPF=m
70CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 101CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
71CONFIG_NETFILTER_XT_MATCH_COMMENT=m 102CONFIG_NETFILTER_XT_MATCH_COMMENT=m
72CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 103CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
104CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
73CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 105CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
74CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 106CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
75CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 107CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
108CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
76CONFIG_NETFILTER_XT_MATCH_DSCP=m 109CONFIG_NETFILTER_XT_MATCH_DSCP=m
77CONFIG_NETFILTER_XT_MATCH_ESP=m 110CONFIG_NETFILTER_XT_MATCH_ESP=m
78CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 111CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -83,6 +116,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
83CONFIG_NETFILTER_XT_MATCH_MAC=m 116CONFIG_NETFILTER_XT_MATCH_MAC=m
84CONFIG_NETFILTER_XT_MATCH_MARK=m 117CONFIG_NETFILTER_XT_MATCH_MARK=m
85CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 118CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
119CONFIG_NETFILTER_XT_MATCH_NFACCT=m
120CONFIG_NETFILTER_XT_MATCH_OSF=m
86CONFIG_NETFILTER_XT_MATCH_OWNER=m 121CONFIG_NETFILTER_XT_MATCH_OWNER=m
87CONFIG_NETFILTER_XT_MATCH_POLICY=m 122CONFIG_NETFILTER_XT_MATCH_POLICY=m
88CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 123CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -96,22 +131,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
96CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 131CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
97CONFIG_NETFILTER_XT_MATCH_TIME=m 132CONFIG_NETFILTER_XT_MATCH_TIME=m
98CONFIG_NETFILTER_XT_MATCH_U32=m 133CONFIG_NETFILTER_XT_MATCH_U32=m
134CONFIG_IP_SET=m
135CONFIG_IP_SET_BITMAP_IP=m
136CONFIG_IP_SET_BITMAP_IPMAC=m
137CONFIG_IP_SET_BITMAP_PORT=m
138CONFIG_IP_SET_HASH_IP=m
139CONFIG_IP_SET_HASH_IPPORT=m
140CONFIG_IP_SET_HASH_IPPORTIP=m
141CONFIG_IP_SET_HASH_IPPORTNET=m
142CONFIG_IP_SET_HASH_NET=m
143CONFIG_IP_SET_HASH_NETPORT=m
144CONFIG_IP_SET_HASH_NETIFACE=m
145CONFIG_IP_SET_LIST_SET=m
99CONFIG_NF_CONNTRACK_IPV4=m 146CONFIG_NF_CONNTRACK_IPV4=m
100CONFIG_IP_NF_QUEUE=m
101CONFIG_IP_NF_IPTABLES=m 147CONFIG_IP_NF_IPTABLES=m
102CONFIG_IP_NF_MATCH_ADDRTYPE=m
103CONFIG_IP_NF_MATCH_AH=m 148CONFIG_IP_NF_MATCH_AH=m
104CONFIG_IP_NF_MATCH_ECN=m 149CONFIG_IP_NF_MATCH_ECN=m
150CONFIG_IP_NF_MATCH_RPFILTER=m
105CONFIG_IP_NF_MATCH_TTL=m 151CONFIG_IP_NF_MATCH_TTL=m
106CONFIG_IP_NF_FILTER=m 152CONFIG_IP_NF_FILTER=m
107CONFIG_IP_NF_TARGET_REJECT=m 153CONFIG_IP_NF_TARGET_REJECT=m
108CONFIG_IP_NF_TARGET_LOG=m
109CONFIG_IP_NF_TARGET_ULOG=m 154CONFIG_IP_NF_TARGET_ULOG=m
110CONFIG_NF_NAT=m 155CONFIG_NF_NAT_IPV4=m
111CONFIG_IP_NF_TARGET_MASQUERADE=m 156CONFIG_IP_NF_TARGET_MASQUERADE=m
112CONFIG_IP_NF_TARGET_NETMAP=m 157CONFIG_IP_NF_TARGET_NETMAP=m
113CONFIG_IP_NF_TARGET_REDIRECT=m 158CONFIG_IP_NF_TARGET_REDIRECT=m
114CONFIG_NF_NAT_SNMP_BASIC=m
115CONFIG_IP_NF_MANGLE=m 159CONFIG_IP_NF_MANGLE=m
116CONFIG_IP_NF_TARGET_CLUSTERIP=m 160CONFIG_IP_NF_TARGET_CLUSTERIP=m
117CONFIG_IP_NF_TARGET_ECN=m 161CONFIG_IP_NF_TARGET_ECN=m
@@ -121,7 +165,6 @@ CONFIG_IP_NF_ARPTABLES=m
121CONFIG_IP_NF_ARPFILTER=m 165CONFIG_IP_NF_ARPFILTER=m
122CONFIG_IP_NF_ARP_MANGLE=m 166CONFIG_IP_NF_ARP_MANGLE=m
123CONFIG_NF_CONNTRACK_IPV6=m 167CONFIG_NF_CONNTRACK_IPV6=m
124CONFIG_IP6_NF_QUEUE=m
125CONFIG_IP6_NF_IPTABLES=m 168CONFIG_IP6_NF_IPTABLES=m
126CONFIG_IP6_NF_MATCH_AH=m 169CONFIG_IP6_NF_MATCH_AH=m
127CONFIG_IP6_NF_MATCH_EUI64=m 170CONFIG_IP6_NF_MATCH_EUI64=m
@@ -130,21 +173,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
130CONFIG_IP6_NF_MATCH_HL=m 173CONFIG_IP6_NF_MATCH_HL=m
131CONFIG_IP6_NF_MATCH_IPV6HEADER=m 174CONFIG_IP6_NF_MATCH_IPV6HEADER=m
132CONFIG_IP6_NF_MATCH_MH=m 175CONFIG_IP6_NF_MATCH_MH=m
176CONFIG_IP6_NF_MATCH_RPFILTER=m
133CONFIG_IP6_NF_MATCH_RT=m 177CONFIG_IP6_NF_MATCH_RT=m
134CONFIG_IP6_NF_TARGET_HL=m 178CONFIG_IP6_NF_TARGET_HL=m
135CONFIG_IP6_NF_TARGET_LOG=m
136CONFIG_IP6_NF_FILTER=m 179CONFIG_IP6_NF_FILTER=m
137CONFIG_IP6_NF_TARGET_REJECT=m 180CONFIG_IP6_NF_TARGET_REJECT=m
138CONFIG_IP6_NF_MANGLE=m 181CONFIG_IP6_NF_MANGLE=m
139CONFIG_IP6_NF_RAW=m 182CONFIG_IP6_NF_RAW=m
183CONFIG_NF_NAT_IPV6=m
184CONFIG_IP6_NF_TARGET_MASQUERADE=m
185CONFIG_IP6_NF_TARGET_NPT=m
140CONFIG_IP_DCCP=m 186CONFIG_IP_DCCP=m
141# CONFIG_IP_DCCP_CCID3 is not set 187# CONFIG_IP_DCCP_CCID3 is not set
188CONFIG_SCTP_COOKIE_HMAC_SHA1=y
189CONFIG_RDS=m
190CONFIG_RDS_TCP=m
191CONFIG_L2TP=m
142CONFIG_ATALK=m 192CONFIG_ATALK=m
193CONFIG_BATMAN_ADV=m
194CONFIG_BATMAN_ADV_DAT=y
195# CONFIG_WIRELESS is not set
143CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 196CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
197CONFIG_DEVTMPFS=y
144# CONFIG_FIRMWARE_IN_KERNEL is not set 198# CONFIG_FIRMWARE_IN_KERNEL is not set
199# CONFIG_FW_LOADER_USER_HELPER is not set
145CONFIG_CONNECTOR=m 200CONFIG_CONNECTOR=m
146CONFIG_BLK_DEV_LOOP=y 201CONFIG_BLK_DEV_LOOP=y
147CONFIG_BLK_DEV_CRYPTOLOOP=m 202CONFIG_BLK_DEV_CRYPTOLOOP=m
203CONFIG_BLK_DEV_DRBD=m
148CONFIG_BLK_DEV_NBD=m 204CONFIG_BLK_DEV_NBD=m
149CONFIG_BLK_DEV_RAM=y 205CONFIG_BLK_DEV_RAM=y
150CONFIG_CDROM_PKTCDVD=m 206CONFIG_CDROM_PKTCDVD=m
@@ -159,103 +215,132 @@ CONFIG_BLK_DEV_SR=y
159CONFIG_BLK_DEV_SR_VENDOR=y 215CONFIG_BLK_DEV_SR_VENDOR=y
160CONFIG_CHR_DEV_SG=m 216CONFIG_CHR_DEV_SG=m
161CONFIG_SCSI_CONSTANTS=y 217CONFIG_SCSI_CONSTANTS=y
162CONFIG_SCSI_SAS_LIBSAS=m 218CONFIG_SCSI_SAS_ATTRS=m
163# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
164CONFIG_SCSI_SRP_ATTRS=m
165CONFIG_SCSI_SRP_TGT_ATTRS=y
166CONFIG_ISCSI_TCP=m 219CONFIG_ISCSI_TCP=m
220CONFIG_ISCSI_BOOT_SYSFS=m
167CONFIG_MVME147_SCSI=y 221CONFIG_MVME147_SCSI=y
168CONFIG_MD=y 222CONFIG_MD=y
169CONFIG_BLK_DEV_MD=m
170CONFIG_MD_LINEAR=m 223CONFIG_MD_LINEAR=m
171CONFIG_MD_RAID0=m 224CONFIG_MD_RAID0=m
172CONFIG_MD_RAID1=m
173CONFIG_MD_RAID456=m
174CONFIG_BLK_DEV_DM=m 225CONFIG_BLK_DEV_DM=m
175CONFIG_DM_CRYPT=m 226CONFIG_DM_CRYPT=m
176CONFIG_DM_SNAPSHOT=m 227CONFIG_DM_SNAPSHOT=m
228CONFIG_DM_THIN_PROVISIONING=m
229CONFIG_DM_CACHE=m
177CONFIG_DM_MIRROR=m 230CONFIG_DM_MIRROR=m
231CONFIG_DM_RAID=m
178CONFIG_DM_ZERO=m 232CONFIG_DM_ZERO=m
179CONFIG_DM_MULTIPATH=m 233CONFIG_DM_MULTIPATH=m
180CONFIG_DM_UEVENT=y 234CONFIG_DM_UEVENT=y
235CONFIG_TARGET_CORE=m
236CONFIG_TCM_IBLOCK=m
237CONFIG_TCM_FILEIO=m
238CONFIG_TCM_PSCSI=m
181CONFIG_NETDEVICES=y 239CONFIG_NETDEVICES=y
182CONFIG_DUMMY=m 240CONFIG_DUMMY=m
183CONFIG_MACVLAN=m
184CONFIG_EQUALIZER=m 241CONFIG_EQUALIZER=m
242CONFIG_NET_TEAM=m
243CONFIG_NET_TEAM_MODE_BROADCAST=m
244CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
245CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
246CONFIG_NET_TEAM_MODE_LOADBALANCE=m
247CONFIG_VXLAN=m
248CONFIG_NETCONSOLE=m
249CONFIG_NETCONSOLE_DYNAMIC=y
185CONFIG_VETH=m 250CONFIG_VETH=m
186CONFIG_NET_ETHERNET=y
187CONFIG_MVME147_NET=y 251CONFIG_MVME147_NET=y
188# CONFIG_NETDEV_1000 is not set 252# CONFIG_NET_CADENCE is not set
189# CONFIG_NETDEV_10000 is not set 253# CONFIG_NET_VENDOR_BROADCOM is not set
254# CONFIG_NET_VENDOR_INTEL is not set
255# CONFIG_NET_VENDOR_MARVELL is not set
256# CONFIG_NET_VENDOR_MICREL is not set
257# CONFIG_NET_VENDOR_NATSEMI is not set
258# CONFIG_NET_VENDOR_SEEQ is not set
259# CONFIG_NET_VENDOR_STMICRO is not set
260# CONFIG_NET_VENDOR_WIZNET is not set
190CONFIG_PPP=m 261CONFIG_PPP=m
191CONFIG_PPP_FILTER=y
192CONFIG_PPP_ASYNC=m
193CONFIG_PPP_SYNC_TTY=m
194CONFIG_PPP_DEFLATE=m
195CONFIG_PPP_BSDCOMP=m 262CONFIG_PPP_BSDCOMP=m
263CONFIG_PPP_DEFLATE=m
264CONFIG_PPP_FILTER=y
196CONFIG_PPP_MPPE=m 265CONFIG_PPP_MPPE=m
197CONFIG_PPPOE=m 266CONFIG_PPPOE=m
267CONFIG_PPTP=m
268CONFIG_PPPOL2TP=m
269CONFIG_PPP_ASYNC=m
270CONFIG_PPP_SYNC_TTY=m
198CONFIG_SLIP=m 271CONFIG_SLIP=m
199CONFIG_SLIP_COMPRESSED=y 272CONFIG_SLIP_COMPRESSED=y
200CONFIG_SLIP_SMART=y 273CONFIG_SLIP_SMART=y
201CONFIG_SLIP_MODE_SLIP6=y 274CONFIG_SLIP_MODE_SLIP6=y
202CONFIG_NETCONSOLE=m 275# CONFIG_WLAN is not set
203CONFIG_NETCONSOLE_DYNAMIC=y 276CONFIG_INPUT_EVDEV=m
204CONFIG_INPUT_FF_MEMLESS=m
205# CONFIG_KEYBOARD_ATKBD is not set 277# CONFIG_KEYBOARD_ATKBD is not set
206CONFIG_MOUSE_PS2=m 278# CONFIG_MOUSE_PS2 is not set
207CONFIG_MOUSE_SERIAL=m 279# CONFIG_SERIO is not set
208CONFIG_SERIO=m
209# CONFIG_SERIO_SERPORT is not set
210CONFIG_VT_HW_CONSOLE_BINDING=y 280CONFIG_VT_HW_CONSOLE_BINDING=y
281# CONFIG_LEGACY_PTYS is not set
211# CONFIG_DEVKMEM is not set 282# CONFIG_DEVKMEM is not set
212# CONFIG_HW_RANDOM is not set 283# CONFIG_HW_RANDOM is not set
213CONFIG_GEN_RTC=m 284CONFIG_NTP_PPS=y
214CONFIG_GEN_RTC_X=y 285CONFIG_PPS_CLIENT_LDISC=m
286CONFIG_PTP_1588_CLOCK=m
215# CONFIG_HWMON is not set 287# CONFIG_HWMON is not set
216CONFIG_HID=m 288CONFIG_HID=m
217CONFIG_HIDRAW=y 289CONFIG_HIDRAW=y
290CONFIG_UHID=m
291# CONFIG_HID_GENERIC is not set
218# CONFIG_USB_SUPPORT is not set 292# CONFIG_USB_SUPPORT is not set
293CONFIG_RTC_CLASS=y
294CONFIG_RTC_DRV_GENERIC=m
295# CONFIG_IOMMU_SUPPORT is not set
296CONFIG_PROC_HARDWARE=y
219CONFIG_EXT2_FS=y 297CONFIG_EXT2_FS=y
220CONFIG_EXT3_FS=y 298CONFIG_EXT3_FS=y
221# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 299# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
222# CONFIG_EXT3_FS_XATTR is not set 300# CONFIG_EXT3_FS_XATTR is not set
301CONFIG_EXT4_FS=y
223CONFIG_REISERFS_FS=m 302CONFIG_REISERFS_FS=m
224CONFIG_JFS_FS=m 303CONFIG_JFS_FS=m
225CONFIG_XFS_FS=m 304CONFIG_XFS_FS=m
226CONFIG_OCFS2_FS=m 305CONFIG_OCFS2_FS=m
227# CONFIG_OCFS2_FS_STATS is not set
228# CONFIG_OCFS2_DEBUG_MASKLOG is not set 306# CONFIG_OCFS2_DEBUG_MASKLOG is not set
307CONFIG_FANOTIFY=y
229CONFIG_QUOTA_NETLINK_INTERFACE=y 308CONFIG_QUOTA_NETLINK_INTERFACE=y
230# CONFIG_PRINT_QUOTA_WARNING is not set 309# CONFIG_PRINT_QUOTA_WARNING is not set
231CONFIG_AUTOFS_FS=m
232CONFIG_AUTOFS4_FS=m 310CONFIG_AUTOFS4_FS=m
233CONFIG_FUSE_FS=m 311CONFIG_FUSE_FS=m
312CONFIG_CUSE=m
234CONFIG_ISO9660_FS=y 313CONFIG_ISO9660_FS=y
235CONFIG_JOLIET=y 314CONFIG_JOLIET=y
236CONFIG_ZISOFS=y 315CONFIG_ZISOFS=y
237CONFIG_UDF_FS=m 316CONFIG_UDF_FS=m
238CONFIG_MSDOS_FS=y 317CONFIG_MSDOS_FS=m
239CONFIG_VFAT_FS=m 318CONFIG_VFAT_FS=m
240CONFIG_PROC_KCORE=y 319CONFIG_PROC_KCORE=y
241CONFIG_TMPFS=y 320CONFIG_TMPFS=y
242CONFIG_AFFS_FS=m 321CONFIG_AFFS_FS=m
322CONFIG_ECRYPT_FS=m
323CONFIG_ECRYPT_FS_MESSAGING=y
243CONFIG_HFS_FS=m 324CONFIG_HFS_FS=m
244CONFIG_HFSPLUS_FS=m 325CONFIG_HFSPLUS_FS=m
245CONFIG_CRAMFS=m 326CONFIG_CRAMFS=m
246CONFIG_SQUASHFS=m 327CONFIG_SQUASHFS=m
247CONFIG_MINIX_FS=y 328CONFIG_SQUASHFS_LZO=y
329CONFIG_MINIX_FS=m
330CONFIG_OMFS_FS=m
248CONFIG_HPFS_FS=m 331CONFIG_HPFS_FS=m
332CONFIG_QNX4FS_FS=m
333CONFIG_QNX6FS_FS=m
249CONFIG_SYSV_FS=m 334CONFIG_SYSV_FS=m
250CONFIG_UFS_FS=m 335CONFIG_UFS_FS=m
251CONFIG_NFS_FS=y 336CONFIG_NFS_FS=y
252CONFIG_NFS_V3=y
253CONFIG_NFS_V4=y 337CONFIG_NFS_V4=y
338CONFIG_NFS_SWAP=y
254CONFIG_ROOT_NFS=y 339CONFIG_ROOT_NFS=y
255CONFIG_NFSD=m 340CONFIG_NFSD=m
256CONFIG_NFSD_V3=y 341CONFIG_NFSD_V3=y
257CONFIG_SMB_FS=m 342CONFIG_CIFS=m
258CONFIG_SMB_NLS_DEFAULT=y 343# CONFIG_CIFS_DEBUG is not set
259CONFIG_CODA_FS=m 344CONFIG_CODA_FS=m
260CONFIG_NLS_CODEPAGE_437=y 345CONFIG_NLS_CODEPAGE_437=y
261CONFIG_NLS_CODEPAGE_737=m 346CONFIG_NLS_CODEPAGE_737=m
@@ -294,10 +379,23 @@ CONFIG_NLS_ISO8859_14=m
294CONFIG_NLS_ISO8859_15=m 379CONFIG_NLS_ISO8859_15=m
295CONFIG_NLS_KOI8_R=m 380CONFIG_NLS_KOI8_R=m
296CONFIG_NLS_KOI8_U=m 381CONFIG_NLS_KOI8_U=m
382CONFIG_NLS_MAC_ROMAN=m
383CONFIG_NLS_MAC_CELTIC=m
384CONFIG_NLS_MAC_CENTEURO=m
385CONFIG_NLS_MAC_CROATIAN=m
386CONFIG_NLS_MAC_CYRILLIC=m
387CONFIG_NLS_MAC_GAELIC=m
388CONFIG_NLS_MAC_GREEK=m
389CONFIG_NLS_MAC_ICELAND=m
390CONFIG_NLS_MAC_INUIT=m
391CONFIG_NLS_MAC_ROMANIAN=m
392CONFIG_NLS_MAC_TURKISH=m
297CONFIG_DLM=m 393CONFIG_DLM=m
298CONFIG_MAGIC_SYSRQ=y 394CONFIG_MAGIC_SYSRQ=y
299# CONFIG_RCU_CPU_STALL_DETECTOR is not set 395CONFIG_ASYNC_RAID6_TEST=m
300CONFIG_SYSCTL_SYSCALL_CHECK=y 396CONFIG_ENCRYPTED_KEYS=m
397CONFIG_CRYPTO_MANAGER=y
398CONFIG_CRYPTO_USER=m
301CONFIG_CRYPTO_NULL=m 399CONFIG_CRYPTO_NULL=m
302CONFIG_CRYPTO_CRYPTD=m 400CONFIG_CRYPTO_CRYPTD=m
303CONFIG_CRYPTO_TEST=m 401CONFIG_CRYPTO_TEST=m
@@ -307,19 +405,16 @@ CONFIG_CRYPTO_CTS=m
307CONFIG_CRYPTO_LRW=m 405CONFIG_CRYPTO_LRW=m
308CONFIG_CRYPTO_PCBC=m 406CONFIG_CRYPTO_PCBC=m
309CONFIG_CRYPTO_XTS=m 407CONFIG_CRYPTO_XTS=m
310CONFIG_CRYPTO_HMAC=y
311CONFIG_CRYPTO_XCBC=m 408CONFIG_CRYPTO_XCBC=m
312CONFIG_CRYPTO_MD4=m 409CONFIG_CRYPTO_VMAC=m
313CONFIG_CRYPTO_MICHAEL_MIC=m 410CONFIG_CRYPTO_MICHAEL_MIC=m
314CONFIG_CRYPTO_RMD128=m 411CONFIG_CRYPTO_RMD128=m
315CONFIG_CRYPTO_RMD160=m 412CONFIG_CRYPTO_RMD160=m
316CONFIG_CRYPTO_RMD256=m 413CONFIG_CRYPTO_RMD256=m
317CONFIG_CRYPTO_RMD320=m 414CONFIG_CRYPTO_RMD320=m
318CONFIG_CRYPTO_SHA256=m
319CONFIG_CRYPTO_SHA512=m 415CONFIG_CRYPTO_SHA512=m
320CONFIG_CRYPTO_TGR192=m 416CONFIG_CRYPTO_TGR192=m
321CONFIG_CRYPTO_WP512=m 417CONFIG_CRYPTO_WP512=m
322CONFIG_CRYPTO_AES=m
323CONFIG_CRYPTO_ANUBIS=m 418CONFIG_CRYPTO_ANUBIS=m
324CONFIG_CRYPTO_BLOWFISH=m 419CONFIG_CRYPTO_BLOWFISH=m
325CONFIG_CRYPTO_CAMELLIA=m 420CONFIG_CRYPTO_CAMELLIA=m
@@ -335,6 +430,14 @@ CONFIG_CRYPTO_TWOFISH=m
335CONFIG_CRYPTO_ZLIB=m 430CONFIG_CRYPTO_ZLIB=m
336CONFIG_CRYPTO_LZO=m 431CONFIG_CRYPTO_LZO=m
337# CONFIG_CRYPTO_ANSI_CPRNG is not set 432# CONFIG_CRYPTO_ANSI_CPRNG is not set
433CONFIG_CRYPTO_USER_API_HASH=m
434CONFIG_CRYPTO_USER_API_SKCIPHER=m
338# CONFIG_CRYPTO_HW is not set 435# CONFIG_CRYPTO_HW is not set
339CONFIG_CRC16=m
340CONFIG_CRC_T10DIF=y 436CONFIG_CRC_T10DIF=y
437CONFIG_XZ_DEC_X86=y
438CONFIG_XZ_DEC_POWERPC=y
439CONFIG_XZ_DEC_IA64=y
440CONFIG_XZ_DEC_ARM=y
441CONFIG_XZ_DEC_ARMTHUMB=y
442CONFIG_XZ_DEC_SPARC=y
443CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig
index 7c9402b2097f..e5e8262bbacd 100644
--- a/arch/m68k/configs/mvme16x_defconfig
+++ b/arch/m68k/configs/mvme16x_defconfig
@@ -1,53 +1,74 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-mvme16x" 1CONFIG_LOCALVERSION="-mvme16x"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_VME=y 16CONFIG_PARTITION_ADVANCED=y
14CONFIG_MVME16x=y 17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24CONFIG_SUN_PARTITION=y
25# CONFIG_EFI_PARTITION is not set
26CONFIG_IOSCHED_DEADLINE=m
15CONFIG_M68040=y 27CONFIG_M68040=y
16CONFIG_M68060=y 28CONFIG_M68060=y
29CONFIG_VME=y
30CONFIG_MVME16x=y
31# CONFIG_COMPACTION is not set
32CONFIG_CLEANCACHE=y
33# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
17CONFIG_BINFMT_AOUT=m 34CONFIG_BINFMT_AOUT=m
18CONFIG_BINFMT_MISC=m 35CONFIG_BINFMT_MISC=m
19CONFIG_PROC_HARDWARE=y
20CONFIG_NET=y 36CONFIG_NET=y
21CONFIG_PACKET=y 37CONFIG_PACKET=y
38CONFIG_PACKET_DIAG=m
22CONFIG_UNIX=y 39CONFIG_UNIX=y
40CONFIG_UNIX_DIAG=m
41CONFIG_XFRM_MIGRATE=y
23CONFIG_NET_KEY=y 42CONFIG_NET_KEY=y
24CONFIG_NET_KEY_MIGRATE=y
25CONFIG_INET=y 43CONFIG_INET=y
26CONFIG_IP_PNP=y 44CONFIG_IP_PNP=y
27CONFIG_IP_PNP_DHCP=y 45CONFIG_IP_PNP_DHCP=y
28CONFIG_IP_PNP_BOOTP=y 46CONFIG_IP_PNP_BOOTP=y
29CONFIG_IP_PNP_RARP=y 47CONFIG_IP_PNP_RARP=y
30CONFIG_NET_IPIP=m 48CONFIG_NET_IPIP=m
49CONFIG_NET_IPGRE_DEMUX=m
31CONFIG_NET_IPGRE=m 50CONFIG_NET_IPGRE=m
32CONFIG_SYN_COOKIES=y 51CONFIG_SYN_COOKIES=y
52CONFIG_NET_IPVTI=m
33CONFIG_INET_AH=m 53CONFIG_INET_AH=m
34CONFIG_INET_ESP=m 54CONFIG_INET_ESP=m
35CONFIG_INET_IPCOMP=m 55CONFIG_INET_IPCOMP=m
36CONFIG_INET_XFRM_MODE_TRANSPORT=m 56CONFIG_INET_XFRM_MODE_TRANSPORT=m
37CONFIG_INET_XFRM_MODE_TUNNEL=m 57CONFIG_INET_XFRM_MODE_TUNNEL=m
38CONFIG_INET_XFRM_MODE_BEET=m 58CONFIG_INET_XFRM_MODE_BEET=m
59# CONFIG_INET_LRO is not set
39CONFIG_INET_DIAG=m 60CONFIG_INET_DIAG=m
61CONFIG_INET_UDP_DIAG=m
40CONFIG_IPV6_PRIVACY=y 62CONFIG_IPV6_PRIVACY=y
41CONFIG_IPV6_ROUTER_PREF=y 63CONFIG_IPV6_ROUTER_PREF=y
42CONFIG_IPV6_ROUTE_INFO=y
43CONFIG_INET6_AH=m 64CONFIG_INET6_AH=m
44CONFIG_INET6_ESP=m 65CONFIG_INET6_ESP=m
45CONFIG_INET6_IPCOMP=m 66CONFIG_INET6_IPCOMP=m
46CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 67CONFIG_IPV6_GRE=m
47CONFIG_IPV6_TUNNEL=m
48CONFIG_NETFILTER=y 68CONFIG_NETFILTER=y
49CONFIG_NETFILTER_NETLINK_QUEUE=m
50CONFIG_NF_CONNTRACK=m 69CONFIG_NF_CONNTRACK=m
70CONFIG_NF_CONNTRACK_ZONES=y
71# CONFIG_NF_CONNTRACK_PROCFS is not set
51# CONFIG_NF_CT_PROTO_DCCP is not set 72# CONFIG_NF_CT_PROTO_DCCP is not set
52CONFIG_NF_CT_PROTO_UDPLITE=m 73CONFIG_NF_CT_PROTO_UDPLITE=m
53CONFIG_NF_CONNTRACK_AMANDA=m 74CONFIG_NF_CONNTRACK_AMANDA=m
@@ -55,25 +76,37 @@ CONFIG_NF_CONNTRACK_FTP=m
55CONFIG_NF_CONNTRACK_H323=m 76CONFIG_NF_CONNTRACK_H323=m
56CONFIG_NF_CONNTRACK_IRC=m 77CONFIG_NF_CONNTRACK_IRC=m
57CONFIG_NF_CONNTRACK_NETBIOS_NS=m 78CONFIG_NF_CONNTRACK_NETBIOS_NS=m
79CONFIG_NF_CONNTRACK_SNMP=m
58CONFIG_NF_CONNTRACK_PPTP=m 80CONFIG_NF_CONNTRACK_PPTP=m
59CONFIG_NF_CONNTRACK_SANE=m 81CONFIG_NF_CONNTRACK_SANE=m
60CONFIG_NF_CONNTRACK_SIP=m 82CONFIG_NF_CONNTRACK_SIP=m
61CONFIG_NF_CONNTRACK_TFTP=m 83CONFIG_NF_CONNTRACK_TFTP=m
84CONFIG_NETFILTER_XT_SET=m
85CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
62CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 86CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
63CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 87CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
64CONFIG_NETFILTER_XT_TARGET_DSCP=m 88CONFIG_NETFILTER_XT_TARGET_DSCP=m
89CONFIG_NETFILTER_XT_TARGET_HMARK=m
90CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
91CONFIG_NETFILTER_XT_TARGET_LOG=m
65CONFIG_NETFILTER_XT_TARGET_MARK=m 92CONFIG_NETFILTER_XT_TARGET_MARK=m
66CONFIG_NETFILTER_XT_TARGET_NFLOG=m 93CONFIG_NETFILTER_XT_TARGET_NFLOG=m
67CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 94CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
95CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
96CONFIG_NETFILTER_XT_TARGET_TEE=m
68CONFIG_NETFILTER_XT_TARGET_TRACE=m 97CONFIG_NETFILTER_XT_TARGET_TRACE=m
69CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 98CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
70CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 99CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
100CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
101CONFIG_NETFILTER_XT_MATCH_BPF=m
71CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 102CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
72CONFIG_NETFILTER_XT_MATCH_COMMENT=m 103CONFIG_NETFILTER_XT_MATCH_COMMENT=m
73CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 104CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
105CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
74CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 106CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
75CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 107CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
76CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 108CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
109CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
77CONFIG_NETFILTER_XT_MATCH_DSCP=m 110CONFIG_NETFILTER_XT_MATCH_DSCP=m
78CONFIG_NETFILTER_XT_MATCH_ESP=m 111CONFIG_NETFILTER_XT_MATCH_ESP=m
79CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 112CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -84,6 +117,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
84CONFIG_NETFILTER_XT_MATCH_MAC=m 117CONFIG_NETFILTER_XT_MATCH_MAC=m
85CONFIG_NETFILTER_XT_MATCH_MARK=m 118CONFIG_NETFILTER_XT_MATCH_MARK=m
86CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 119CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
120CONFIG_NETFILTER_XT_MATCH_NFACCT=m
121CONFIG_NETFILTER_XT_MATCH_OSF=m
87CONFIG_NETFILTER_XT_MATCH_OWNER=m 122CONFIG_NETFILTER_XT_MATCH_OWNER=m
88CONFIG_NETFILTER_XT_MATCH_POLICY=m 123CONFIG_NETFILTER_XT_MATCH_POLICY=m
89CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 124CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -97,22 +132,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
97CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 132CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
98CONFIG_NETFILTER_XT_MATCH_TIME=m 133CONFIG_NETFILTER_XT_MATCH_TIME=m
99CONFIG_NETFILTER_XT_MATCH_U32=m 134CONFIG_NETFILTER_XT_MATCH_U32=m
135CONFIG_IP_SET=m
136CONFIG_IP_SET_BITMAP_IP=m
137CONFIG_IP_SET_BITMAP_IPMAC=m
138CONFIG_IP_SET_BITMAP_PORT=m
139CONFIG_IP_SET_HASH_IP=m
140CONFIG_IP_SET_HASH_IPPORT=m
141CONFIG_IP_SET_HASH_IPPORTIP=m
142CONFIG_IP_SET_HASH_IPPORTNET=m
143CONFIG_IP_SET_HASH_NET=m
144CONFIG_IP_SET_HASH_NETPORT=m
145CONFIG_IP_SET_HASH_NETIFACE=m
146CONFIG_IP_SET_LIST_SET=m
100CONFIG_NF_CONNTRACK_IPV4=m 147CONFIG_NF_CONNTRACK_IPV4=m
101CONFIG_IP_NF_QUEUE=m
102CONFIG_IP_NF_IPTABLES=m 148CONFIG_IP_NF_IPTABLES=m
103CONFIG_IP_NF_MATCH_ADDRTYPE=m
104CONFIG_IP_NF_MATCH_AH=m 149CONFIG_IP_NF_MATCH_AH=m
105CONFIG_IP_NF_MATCH_ECN=m 150CONFIG_IP_NF_MATCH_ECN=m
151CONFIG_IP_NF_MATCH_RPFILTER=m
106CONFIG_IP_NF_MATCH_TTL=m 152CONFIG_IP_NF_MATCH_TTL=m
107CONFIG_IP_NF_FILTER=m 153CONFIG_IP_NF_FILTER=m
108CONFIG_IP_NF_TARGET_REJECT=m 154CONFIG_IP_NF_TARGET_REJECT=m
109CONFIG_IP_NF_TARGET_LOG=m
110CONFIG_IP_NF_TARGET_ULOG=m 155CONFIG_IP_NF_TARGET_ULOG=m
111CONFIG_NF_NAT=m 156CONFIG_NF_NAT_IPV4=m
112CONFIG_IP_NF_TARGET_MASQUERADE=m 157CONFIG_IP_NF_TARGET_MASQUERADE=m
113CONFIG_IP_NF_TARGET_NETMAP=m 158CONFIG_IP_NF_TARGET_NETMAP=m
114CONFIG_IP_NF_TARGET_REDIRECT=m 159CONFIG_IP_NF_TARGET_REDIRECT=m
115CONFIG_NF_NAT_SNMP_BASIC=m
116CONFIG_IP_NF_MANGLE=m 160CONFIG_IP_NF_MANGLE=m
117CONFIG_IP_NF_TARGET_CLUSTERIP=m 161CONFIG_IP_NF_TARGET_CLUSTERIP=m
118CONFIG_IP_NF_TARGET_ECN=m 162CONFIG_IP_NF_TARGET_ECN=m
@@ -122,7 +166,6 @@ CONFIG_IP_NF_ARPTABLES=m
122CONFIG_IP_NF_ARPFILTER=m 166CONFIG_IP_NF_ARPFILTER=m
123CONFIG_IP_NF_ARP_MANGLE=m 167CONFIG_IP_NF_ARP_MANGLE=m
124CONFIG_NF_CONNTRACK_IPV6=m 168CONFIG_NF_CONNTRACK_IPV6=m
125CONFIG_IP6_NF_QUEUE=m
126CONFIG_IP6_NF_IPTABLES=m 169CONFIG_IP6_NF_IPTABLES=m
127CONFIG_IP6_NF_MATCH_AH=m 170CONFIG_IP6_NF_MATCH_AH=m
128CONFIG_IP6_NF_MATCH_EUI64=m 171CONFIG_IP6_NF_MATCH_EUI64=m
@@ -131,21 +174,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
131CONFIG_IP6_NF_MATCH_HL=m 174CONFIG_IP6_NF_MATCH_HL=m
132CONFIG_IP6_NF_MATCH_IPV6HEADER=m 175CONFIG_IP6_NF_MATCH_IPV6HEADER=m
133CONFIG_IP6_NF_MATCH_MH=m 176CONFIG_IP6_NF_MATCH_MH=m
177CONFIG_IP6_NF_MATCH_RPFILTER=m
134CONFIG_IP6_NF_MATCH_RT=m 178CONFIG_IP6_NF_MATCH_RT=m
135CONFIG_IP6_NF_TARGET_HL=m 179CONFIG_IP6_NF_TARGET_HL=m
136CONFIG_IP6_NF_TARGET_LOG=m
137CONFIG_IP6_NF_FILTER=m 180CONFIG_IP6_NF_FILTER=m
138CONFIG_IP6_NF_TARGET_REJECT=m 181CONFIG_IP6_NF_TARGET_REJECT=m
139CONFIG_IP6_NF_MANGLE=m 182CONFIG_IP6_NF_MANGLE=m
140CONFIG_IP6_NF_RAW=m 183CONFIG_IP6_NF_RAW=m
184CONFIG_NF_NAT_IPV6=m
185CONFIG_IP6_NF_TARGET_MASQUERADE=m
186CONFIG_IP6_NF_TARGET_NPT=m
141CONFIG_IP_DCCP=m 187CONFIG_IP_DCCP=m
142# CONFIG_IP_DCCP_CCID3 is not set 188# CONFIG_IP_DCCP_CCID3 is not set
189CONFIG_SCTP_COOKIE_HMAC_SHA1=y
190CONFIG_RDS=m
191CONFIG_RDS_TCP=m
192CONFIG_L2TP=m
143CONFIG_ATALK=m 193CONFIG_ATALK=m
194CONFIG_BATMAN_ADV=m
195CONFIG_BATMAN_ADV_DAT=y
196# CONFIG_WIRELESS is not set
144CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 197CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
198CONFIG_DEVTMPFS=y
145# CONFIG_FIRMWARE_IN_KERNEL is not set 199# CONFIG_FIRMWARE_IN_KERNEL is not set
200# CONFIG_FW_LOADER_USER_HELPER is not set
146CONFIG_CONNECTOR=m 201CONFIG_CONNECTOR=m
147CONFIG_BLK_DEV_LOOP=y 202CONFIG_BLK_DEV_LOOP=y
148CONFIG_BLK_DEV_CRYPTOLOOP=m 203CONFIG_BLK_DEV_CRYPTOLOOP=m
204CONFIG_BLK_DEV_DRBD=m
149CONFIG_BLK_DEV_NBD=m 205CONFIG_BLK_DEV_NBD=m
150CONFIG_BLK_DEV_RAM=y 206CONFIG_BLK_DEV_RAM=y
151CONFIG_CDROM_PKTCDVD=m 207CONFIG_CDROM_PKTCDVD=m
@@ -160,103 +216,131 @@ CONFIG_BLK_DEV_SR=y
160CONFIG_BLK_DEV_SR_VENDOR=y 216CONFIG_BLK_DEV_SR_VENDOR=y
161CONFIG_CHR_DEV_SG=m 217CONFIG_CHR_DEV_SG=m
162CONFIG_SCSI_CONSTANTS=y 218CONFIG_SCSI_CONSTANTS=y
163CONFIG_SCSI_SAS_LIBSAS=m 219CONFIG_SCSI_SAS_ATTRS=m
164# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
165CONFIG_SCSI_SRP_ATTRS=m
166CONFIG_SCSI_SRP_TGT_ATTRS=y
167CONFIG_ISCSI_TCP=m 220CONFIG_ISCSI_TCP=m
221CONFIG_ISCSI_BOOT_SYSFS=m
168CONFIG_MVME16x_SCSI=y 222CONFIG_MVME16x_SCSI=y
169CONFIG_MD=y 223CONFIG_MD=y
170CONFIG_BLK_DEV_MD=m
171CONFIG_MD_LINEAR=m 224CONFIG_MD_LINEAR=m
172CONFIG_MD_RAID0=m 225CONFIG_MD_RAID0=m
173CONFIG_MD_RAID1=m
174CONFIG_MD_RAID456=m
175CONFIG_BLK_DEV_DM=m 226CONFIG_BLK_DEV_DM=m
176CONFIG_DM_CRYPT=m 227CONFIG_DM_CRYPT=m
177CONFIG_DM_SNAPSHOT=m 228CONFIG_DM_SNAPSHOT=m
229CONFIG_DM_THIN_PROVISIONING=m
230CONFIG_DM_CACHE=m
178CONFIG_DM_MIRROR=m 231CONFIG_DM_MIRROR=m
232CONFIG_DM_RAID=m
179CONFIG_DM_ZERO=m 233CONFIG_DM_ZERO=m
180CONFIG_DM_MULTIPATH=m 234CONFIG_DM_MULTIPATH=m
181CONFIG_DM_UEVENT=y 235CONFIG_DM_UEVENT=y
236CONFIG_TARGET_CORE=m
237CONFIG_TCM_IBLOCK=m
238CONFIG_TCM_FILEIO=m
239CONFIG_TCM_PSCSI=m
182CONFIG_NETDEVICES=y 240CONFIG_NETDEVICES=y
183CONFIG_DUMMY=m 241CONFIG_DUMMY=m
184CONFIG_MACVLAN=m
185CONFIG_EQUALIZER=m 242CONFIG_EQUALIZER=m
243CONFIG_NET_TEAM=m
244CONFIG_NET_TEAM_MODE_BROADCAST=m
245CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
246CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
247CONFIG_NET_TEAM_MODE_LOADBALANCE=m
248CONFIG_VXLAN=m
249CONFIG_NETCONSOLE=m
250CONFIG_NETCONSOLE_DYNAMIC=y
186CONFIG_VETH=m 251CONFIG_VETH=m
187CONFIG_NET_ETHERNET=y 252# CONFIG_NET_CADENCE is not set
253# CONFIG_NET_VENDOR_BROADCOM is not set
188CONFIG_MVME16x_NET=y 254CONFIG_MVME16x_NET=y
189# CONFIG_NETDEV_1000 is not set 255# CONFIG_NET_VENDOR_MARVELL is not set
190# CONFIG_NETDEV_10000 is not set 256# CONFIG_NET_VENDOR_MICREL is not set
257# CONFIG_NET_VENDOR_NATSEMI is not set
258# CONFIG_NET_VENDOR_SEEQ is not set
259# CONFIG_NET_VENDOR_STMICRO is not set
260# CONFIG_NET_VENDOR_WIZNET is not set
191CONFIG_PPP=m 261CONFIG_PPP=m
192CONFIG_PPP_FILTER=y
193CONFIG_PPP_ASYNC=m
194CONFIG_PPP_SYNC_TTY=m
195CONFIG_PPP_DEFLATE=m
196CONFIG_PPP_BSDCOMP=m 262CONFIG_PPP_BSDCOMP=m
263CONFIG_PPP_DEFLATE=m
264CONFIG_PPP_FILTER=y
197CONFIG_PPP_MPPE=m 265CONFIG_PPP_MPPE=m
198CONFIG_PPPOE=m 266CONFIG_PPPOE=m
267CONFIG_PPTP=m
268CONFIG_PPPOL2TP=m
269CONFIG_PPP_ASYNC=m
270CONFIG_PPP_SYNC_TTY=m
199CONFIG_SLIP=m 271CONFIG_SLIP=m
200CONFIG_SLIP_COMPRESSED=y 272CONFIG_SLIP_COMPRESSED=y
201CONFIG_SLIP_SMART=y 273CONFIG_SLIP_SMART=y
202CONFIG_SLIP_MODE_SLIP6=y 274CONFIG_SLIP_MODE_SLIP6=y
203CONFIG_NETCONSOLE=m 275# CONFIG_WLAN is not set
204CONFIG_NETCONSOLE_DYNAMIC=y 276CONFIG_INPUT_EVDEV=m
205CONFIG_INPUT_FF_MEMLESS=m
206# CONFIG_KEYBOARD_ATKBD is not set 277# CONFIG_KEYBOARD_ATKBD is not set
207CONFIG_MOUSE_PS2=m 278# CONFIG_MOUSE_PS2 is not set
208CONFIG_MOUSE_SERIAL=m 279# CONFIG_SERIO is not set
209CONFIG_SERIO=m
210# CONFIG_SERIO_SERPORT is not set
211CONFIG_VT_HW_CONSOLE_BINDING=y 280CONFIG_VT_HW_CONSOLE_BINDING=y
281# CONFIG_LEGACY_PTYS is not set
212# CONFIG_DEVKMEM is not set 282# CONFIG_DEVKMEM is not set
213# CONFIG_HW_RANDOM is not set 283# CONFIG_HW_RANDOM is not set
214CONFIG_GEN_RTC=m 284CONFIG_NTP_PPS=y
215CONFIG_GEN_RTC_X=y 285CONFIG_PPS_CLIENT_LDISC=m
286CONFIG_PTP_1588_CLOCK=m
216# CONFIG_HWMON is not set 287# CONFIG_HWMON is not set
217CONFIG_HID=m 288CONFIG_HID=m
218CONFIG_HIDRAW=y 289CONFIG_HIDRAW=y
290CONFIG_UHID=m
291# CONFIG_HID_GENERIC is not set
219# CONFIG_USB_SUPPORT is not set 292# CONFIG_USB_SUPPORT is not set
293CONFIG_RTC_CLASS=y
294CONFIG_RTC_DRV_GENERIC=m
295# CONFIG_IOMMU_SUPPORT is not set
296CONFIG_PROC_HARDWARE=y
220CONFIG_EXT2_FS=y 297CONFIG_EXT2_FS=y
221CONFIG_EXT3_FS=y 298CONFIG_EXT3_FS=y
222# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 299# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
223# CONFIG_EXT3_FS_XATTR is not set 300# CONFIG_EXT3_FS_XATTR is not set
301CONFIG_EXT4_FS=y
224CONFIG_REISERFS_FS=m 302CONFIG_REISERFS_FS=m
225CONFIG_JFS_FS=m 303CONFIG_JFS_FS=m
226CONFIG_XFS_FS=m 304CONFIG_XFS_FS=m
227CONFIG_OCFS2_FS=m 305CONFIG_OCFS2_FS=m
228# CONFIG_OCFS2_FS_STATS is not set
229# CONFIG_OCFS2_DEBUG_MASKLOG is not set 306# CONFIG_OCFS2_DEBUG_MASKLOG is not set
307CONFIG_FANOTIFY=y
230CONFIG_QUOTA_NETLINK_INTERFACE=y 308CONFIG_QUOTA_NETLINK_INTERFACE=y
231# CONFIG_PRINT_QUOTA_WARNING is not set 309# CONFIG_PRINT_QUOTA_WARNING is not set
232CONFIG_AUTOFS_FS=m
233CONFIG_AUTOFS4_FS=m 310CONFIG_AUTOFS4_FS=m
234CONFIG_FUSE_FS=m 311CONFIG_FUSE_FS=m
312CONFIG_CUSE=m
235CONFIG_ISO9660_FS=y 313CONFIG_ISO9660_FS=y
236CONFIG_JOLIET=y 314CONFIG_JOLIET=y
237CONFIG_ZISOFS=y 315CONFIG_ZISOFS=y
238CONFIG_UDF_FS=m 316CONFIG_UDF_FS=m
239CONFIG_MSDOS_FS=y 317CONFIG_MSDOS_FS=m
240CONFIG_VFAT_FS=m 318CONFIG_VFAT_FS=m
241CONFIG_PROC_KCORE=y 319CONFIG_PROC_KCORE=y
242CONFIG_TMPFS=y 320CONFIG_TMPFS=y
243CONFIG_AFFS_FS=m 321CONFIG_AFFS_FS=m
322CONFIG_ECRYPT_FS=m
323CONFIG_ECRYPT_FS_MESSAGING=y
244CONFIG_HFS_FS=m 324CONFIG_HFS_FS=m
245CONFIG_HFSPLUS_FS=m 325CONFIG_HFSPLUS_FS=m
246CONFIG_CRAMFS=m 326CONFIG_CRAMFS=m
247CONFIG_SQUASHFS=m 327CONFIG_SQUASHFS=m
248CONFIG_MINIX_FS=y 328CONFIG_SQUASHFS_LZO=y
329CONFIG_MINIX_FS=m
330CONFIG_OMFS_FS=m
249CONFIG_HPFS_FS=m 331CONFIG_HPFS_FS=m
332CONFIG_QNX4FS_FS=m
333CONFIG_QNX6FS_FS=m
250CONFIG_SYSV_FS=m 334CONFIG_SYSV_FS=m
251CONFIG_UFS_FS=m 335CONFIG_UFS_FS=m
252CONFIG_NFS_FS=y 336CONFIG_NFS_FS=y
253CONFIG_NFS_V3=y
254CONFIG_NFS_V4=y 337CONFIG_NFS_V4=y
338CONFIG_NFS_SWAP=y
255CONFIG_ROOT_NFS=y 339CONFIG_ROOT_NFS=y
256CONFIG_NFSD=m 340CONFIG_NFSD=m
257CONFIG_NFSD_V3=y 341CONFIG_NFSD_V3=y
258CONFIG_SMB_FS=m 342CONFIG_CIFS=m
259CONFIG_SMB_NLS_DEFAULT=y 343# CONFIG_CIFS_DEBUG is not set
260CONFIG_CODA_FS=m 344CONFIG_CODA_FS=m
261CONFIG_NLS_CODEPAGE_437=y 345CONFIG_NLS_CODEPAGE_437=y
262CONFIG_NLS_CODEPAGE_737=m 346CONFIG_NLS_CODEPAGE_737=m
@@ -295,10 +379,23 @@ CONFIG_NLS_ISO8859_14=m
295CONFIG_NLS_ISO8859_15=m 379CONFIG_NLS_ISO8859_15=m
296CONFIG_NLS_KOI8_R=m 380CONFIG_NLS_KOI8_R=m
297CONFIG_NLS_KOI8_U=m 381CONFIG_NLS_KOI8_U=m
382CONFIG_NLS_MAC_ROMAN=m
383CONFIG_NLS_MAC_CELTIC=m
384CONFIG_NLS_MAC_CENTEURO=m
385CONFIG_NLS_MAC_CROATIAN=m
386CONFIG_NLS_MAC_CYRILLIC=m
387CONFIG_NLS_MAC_GAELIC=m
388CONFIG_NLS_MAC_GREEK=m
389CONFIG_NLS_MAC_ICELAND=m
390CONFIG_NLS_MAC_INUIT=m
391CONFIG_NLS_MAC_ROMANIAN=m
392CONFIG_NLS_MAC_TURKISH=m
298CONFIG_DLM=m 393CONFIG_DLM=m
299CONFIG_MAGIC_SYSRQ=y 394CONFIG_MAGIC_SYSRQ=y
300# CONFIG_RCU_CPU_STALL_DETECTOR is not set 395CONFIG_ASYNC_RAID6_TEST=m
301CONFIG_SYSCTL_SYSCALL_CHECK=y 396CONFIG_ENCRYPTED_KEYS=m
397CONFIG_CRYPTO_MANAGER=y
398CONFIG_CRYPTO_USER=m
302CONFIG_CRYPTO_NULL=m 399CONFIG_CRYPTO_NULL=m
303CONFIG_CRYPTO_CRYPTD=m 400CONFIG_CRYPTO_CRYPTD=m
304CONFIG_CRYPTO_TEST=m 401CONFIG_CRYPTO_TEST=m
@@ -308,19 +405,16 @@ CONFIG_CRYPTO_CTS=m
308CONFIG_CRYPTO_LRW=m 405CONFIG_CRYPTO_LRW=m
309CONFIG_CRYPTO_PCBC=m 406CONFIG_CRYPTO_PCBC=m
310CONFIG_CRYPTO_XTS=m 407CONFIG_CRYPTO_XTS=m
311CONFIG_CRYPTO_HMAC=y
312CONFIG_CRYPTO_XCBC=m 408CONFIG_CRYPTO_XCBC=m
313CONFIG_CRYPTO_MD4=m 409CONFIG_CRYPTO_VMAC=m
314CONFIG_CRYPTO_MICHAEL_MIC=m 410CONFIG_CRYPTO_MICHAEL_MIC=m
315CONFIG_CRYPTO_RMD128=m 411CONFIG_CRYPTO_RMD128=m
316CONFIG_CRYPTO_RMD160=m 412CONFIG_CRYPTO_RMD160=m
317CONFIG_CRYPTO_RMD256=m 413CONFIG_CRYPTO_RMD256=m
318CONFIG_CRYPTO_RMD320=m 414CONFIG_CRYPTO_RMD320=m
319CONFIG_CRYPTO_SHA256=m
320CONFIG_CRYPTO_SHA512=m 415CONFIG_CRYPTO_SHA512=m
321CONFIG_CRYPTO_TGR192=m 416CONFIG_CRYPTO_TGR192=m
322CONFIG_CRYPTO_WP512=m 417CONFIG_CRYPTO_WP512=m
323CONFIG_CRYPTO_AES=m
324CONFIG_CRYPTO_ANUBIS=m 418CONFIG_CRYPTO_ANUBIS=m
325CONFIG_CRYPTO_BLOWFISH=m 419CONFIG_CRYPTO_BLOWFISH=m
326CONFIG_CRYPTO_CAMELLIA=m 420CONFIG_CRYPTO_CAMELLIA=m
@@ -336,6 +430,14 @@ CONFIG_CRYPTO_TWOFISH=m
336CONFIG_CRYPTO_ZLIB=m 430CONFIG_CRYPTO_ZLIB=m
337CONFIG_CRYPTO_LZO=m 431CONFIG_CRYPTO_LZO=m
338# CONFIG_CRYPTO_ANSI_CPRNG is not set 432# CONFIG_CRYPTO_ANSI_CPRNG is not set
433CONFIG_CRYPTO_USER_API_HASH=m
434CONFIG_CRYPTO_USER_API_SKCIPHER=m
339# CONFIG_CRYPTO_HW is not set 435# CONFIG_CRYPTO_HW is not set
340CONFIG_CRC16=m
341CONFIG_CRC_T10DIF=y 436CONFIG_CRC_T10DIF=y
437CONFIG_XZ_DEC_X86=y
438CONFIG_XZ_DEC_POWERPC=y
439CONFIG_XZ_DEC_IA64=y
440CONFIG_XZ_DEC_ARM=y
441CONFIG_XZ_DEC_ARMTHUMB=y
442CONFIG_XZ_DEC_SPARC=y
443CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig
index 19d23db690a4..8982370e8b42 100644
--- a/arch/m68k/configs/q40_defconfig
+++ b/arch/m68k/configs/q40_defconfig
@@ -1,49 +1,74 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-q40" 1CONFIG_LOCALVERSION="-q40"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
13CONFIG_Q40=y 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24CONFIG_SUN_PARTITION=y
25# CONFIG_EFI_PARTITION is not set
26CONFIG_SYSV68_PARTITION=y
27CONFIG_IOSCHED_DEADLINE=m
14CONFIG_M68040=y 28CONFIG_M68040=y
15CONFIG_M68060=y 29CONFIG_M68060=y
30CONFIG_Q40=y
31# CONFIG_COMPACTION is not set
32CONFIG_CLEANCACHE=y
33# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
16CONFIG_BINFMT_AOUT=m 34CONFIG_BINFMT_AOUT=m
17CONFIG_BINFMT_MISC=m 35CONFIG_BINFMT_MISC=m
18CONFIG_HEARTBEAT=y
19CONFIG_PROC_HARDWARE=y
20CONFIG_NET=y 36CONFIG_NET=y
21CONFIG_PACKET=y 37CONFIG_PACKET=y
38CONFIG_PACKET_DIAG=m
22CONFIG_UNIX=y 39CONFIG_UNIX=y
40CONFIG_UNIX_DIAG=m
41CONFIG_XFRM_MIGRATE=y
23CONFIG_NET_KEY=y 42CONFIG_NET_KEY=y
24CONFIG_NET_KEY_MIGRATE=y
25CONFIG_INET=y 43CONFIG_INET=y
44CONFIG_IP_PNP=y
45CONFIG_IP_PNP_DHCP=y
46CONFIG_IP_PNP_BOOTP=y
47CONFIG_IP_PNP_RARP=y
26CONFIG_NET_IPIP=m 48CONFIG_NET_IPIP=m
49CONFIG_NET_IPGRE_DEMUX=m
27CONFIG_NET_IPGRE=m 50CONFIG_NET_IPGRE=m
28CONFIG_SYN_COOKIES=y 51CONFIG_SYN_COOKIES=y
52CONFIG_NET_IPVTI=m
29CONFIG_INET_AH=m 53CONFIG_INET_AH=m
30CONFIG_INET_ESP=m 54CONFIG_INET_ESP=m
31CONFIG_INET_IPCOMP=m 55CONFIG_INET_IPCOMP=m
32CONFIG_INET_XFRM_MODE_TRANSPORT=m 56CONFIG_INET_XFRM_MODE_TRANSPORT=m
33CONFIG_INET_XFRM_MODE_TUNNEL=m 57CONFIG_INET_XFRM_MODE_TUNNEL=m
34CONFIG_INET_XFRM_MODE_BEET=m 58CONFIG_INET_XFRM_MODE_BEET=m
59# CONFIG_INET_LRO is not set
35CONFIG_INET_DIAG=m 60CONFIG_INET_DIAG=m
61CONFIG_INET_UDP_DIAG=m
36CONFIG_IPV6_PRIVACY=y 62CONFIG_IPV6_PRIVACY=y
37CONFIG_IPV6_ROUTER_PREF=y 63CONFIG_IPV6_ROUTER_PREF=y
38CONFIG_IPV6_ROUTE_INFO=y
39CONFIG_INET6_AH=m 64CONFIG_INET6_AH=m
40CONFIG_INET6_ESP=m 65CONFIG_INET6_ESP=m
41CONFIG_INET6_IPCOMP=m 66CONFIG_INET6_IPCOMP=m
42CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 67CONFIG_IPV6_GRE=m
43CONFIG_IPV6_TUNNEL=m
44CONFIG_NETFILTER=y 68CONFIG_NETFILTER=y
45CONFIG_NETFILTER_NETLINK_QUEUE=m
46CONFIG_NF_CONNTRACK=m 69CONFIG_NF_CONNTRACK=m
70CONFIG_NF_CONNTRACK_ZONES=y
71# CONFIG_NF_CONNTRACK_PROCFS is not set
47# CONFIG_NF_CT_PROTO_DCCP is not set 72# CONFIG_NF_CT_PROTO_DCCP is not set
48CONFIG_NF_CT_PROTO_UDPLITE=m 73CONFIG_NF_CT_PROTO_UDPLITE=m
49CONFIG_NF_CONNTRACK_AMANDA=m 74CONFIG_NF_CONNTRACK_AMANDA=m
@@ -51,25 +76,37 @@ CONFIG_NF_CONNTRACK_FTP=m
51CONFIG_NF_CONNTRACK_H323=m 76CONFIG_NF_CONNTRACK_H323=m
52CONFIG_NF_CONNTRACK_IRC=m 77CONFIG_NF_CONNTRACK_IRC=m
53CONFIG_NF_CONNTRACK_NETBIOS_NS=m 78CONFIG_NF_CONNTRACK_NETBIOS_NS=m
79CONFIG_NF_CONNTRACK_SNMP=m
54CONFIG_NF_CONNTRACK_PPTP=m 80CONFIG_NF_CONNTRACK_PPTP=m
55CONFIG_NF_CONNTRACK_SANE=m 81CONFIG_NF_CONNTRACK_SANE=m
56CONFIG_NF_CONNTRACK_SIP=m 82CONFIG_NF_CONNTRACK_SIP=m
57CONFIG_NF_CONNTRACK_TFTP=m 83CONFIG_NF_CONNTRACK_TFTP=m
84CONFIG_NETFILTER_XT_SET=m
85CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
58CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 86CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
59CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 87CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
60CONFIG_NETFILTER_XT_TARGET_DSCP=m 88CONFIG_NETFILTER_XT_TARGET_DSCP=m
89CONFIG_NETFILTER_XT_TARGET_HMARK=m
90CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
91CONFIG_NETFILTER_XT_TARGET_LOG=m
61CONFIG_NETFILTER_XT_TARGET_MARK=m 92CONFIG_NETFILTER_XT_TARGET_MARK=m
62CONFIG_NETFILTER_XT_TARGET_NFLOG=m 93CONFIG_NETFILTER_XT_TARGET_NFLOG=m
63CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 94CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
95CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
96CONFIG_NETFILTER_XT_TARGET_TEE=m
64CONFIG_NETFILTER_XT_TARGET_TRACE=m 97CONFIG_NETFILTER_XT_TARGET_TRACE=m
65CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 98CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
66CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 99CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
100CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
101CONFIG_NETFILTER_XT_MATCH_BPF=m
67CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 102CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
68CONFIG_NETFILTER_XT_MATCH_COMMENT=m 103CONFIG_NETFILTER_XT_MATCH_COMMENT=m
69CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 104CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
105CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
70CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 106CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
71CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 107CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
72CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 108CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
109CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
73CONFIG_NETFILTER_XT_MATCH_DSCP=m 110CONFIG_NETFILTER_XT_MATCH_DSCP=m
74CONFIG_NETFILTER_XT_MATCH_ESP=m 111CONFIG_NETFILTER_XT_MATCH_ESP=m
75CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 112CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -80,6 +117,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
80CONFIG_NETFILTER_XT_MATCH_MAC=m 117CONFIG_NETFILTER_XT_MATCH_MAC=m
81CONFIG_NETFILTER_XT_MATCH_MARK=m 118CONFIG_NETFILTER_XT_MATCH_MARK=m
82CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 119CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
120CONFIG_NETFILTER_XT_MATCH_NFACCT=m
121CONFIG_NETFILTER_XT_MATCH_OSF=m
83CONFIG_NETFILTER_XT_MATCH_OWNER=m 122CONFIG_NETFILTER_XT_MATCH_OWNER=m
84CONFIG_NETFILTER_XT_MATCH_POLICY=m 123CONFIG_NETFILTER_XT_MATCH_POLICY=m
85CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 124CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -93,22 +132,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
93CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 132CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
94CONFIG_NETFILTER_XT_MATCH_TIME=m 133CONFIG_NETFILTER_XT_MATCH_TIME=m
95CONFIG_NETFILTER_XT_MATCH_U32=m 134CONFIG_NETFILTER_XT_MATCH_U32=m
135CONFIG_IP_SET=m
136CONFIG_IP_SET_BITMAP_IP=m
137CONFIG_IP_SET_BITMAP_IPMAC=m
138CONFIG_IP_SET_BITMAP_PORT=m
139CONFIG_IP_SET_HASH_IP=m
140CONFIG_IP_SET_HASH_IPPORT=m
141CONFIG_IP_SET_HASH_IPPORTIP=m
142CONFIG_IP_SET_HASH_IPPORTNET=m
143CONFIG_IP_SET_HASH_NET=m
144CONFIG_IP_SET_HASH_NETPORT=m
145CONFIG_IP_SET_HASH_NETIFACE=m
146CONFIG_IP_SET_LIST_SET=m
96CONFIG_NF_CONNTRACK_IPV4=m 147CONFIG_NF_CONNTRACK_IPV4=m
97CONFIG_IP_NF_QUEUE=m
98CONFIG_IP_NF_IPTABLES=m 148CONFIG_IP_NF_IPTABLES=m
99CONFIG_IP_NF_MATCH_ADDRTYPE=m
100CONFIG_IP_NF_MATCH_AH=m 149CONFIG_IP_NF_MATCH_AH=m
101CONFIG_IP_NF_MATCH_ECN=m 150CONFIG_IP_NF_MATCH_ECN=m
151CONFIG_IP_NF_MATCH_RPFILTER=m
102CONFIG_IP_NF_MATCH_TTL=m 152CONFIG_IP_NF_MATCH_TTL=m
103CONFIG_IP_NF_FILTER=m 153CONFIG_IP_NF_FILTER=m
104CONFIG_IP_NF_TARGET_REJECT=m 154CONFIG_IP_NF_TARGET_REJECT=m
105CONFIG_IP_NF_TARGET_LOG=m
106CONFIG_IP_NF_TARGET_ULOG=m 155CONFIG_IP_NF_TARGET_ULOG=m
107CONFIG_NF_NAT=m 156CONFIG_NF_NAT_IPV4=m
108CONFIG_IP_NF_TARGET_MASQUERADE=m 157CONFIG_IP_NF_TARGET_MASQUERADE=m
109CONFIG_IP_NF_TARGET_NETMAP=m 158CONFIG_IP_NF_TARGET_NETMAP=m
110CONFIG_IP_NF_TARGET_REDIRECT=m 159CONFIG_IP_NF_TARGET_REDIRECT=m
111CONFIG_NF_NAT_SNMP_BASIC=m
112CONFIG_IP_NF_MANGLE=m 160CONFIG_IP_NF_MANGLE=m
113CONFIG_IP_NF_TARGET_CLUSTERIP=m 161CONFIG_IP_NF_TARGET_CLUSTERIP=m
114CONFIG_IP_NF_TARGET_ECN=m 162CONFIG_IP_NF_TARGET_ECN=m
@@ -118,7 +166,6 @@ CONFIG_IP_NF_ARPTABLES=m
118CONFIG_IP_NF_ARPFILTER=m 166CONFIG_IP_NF_ARPFILTER=m
119CONFIG_IP_NF_ARP_MANGLE=m 167CONFIG_IP_NF_ARP_MANGLE=m
120CONFIG_NF_CONNTRACK_IPV6=m 168CONFIG_NF_CONNTRACK_IPV6=m
121CONFIG_IP6_NF_QUEUE=m
122CONFIG_IP6_NF_IPTABLES=m 169CONFIG_IP6_NF_IPTABLES=m
123CONFIG_IP6_NF_MATCH_AH=m 170CONFIG_IP6_NF_MATCH_AH=m
124CONFIG_IP6_NF_MATCH_EUI64=m 171CONFIG_IP6_NF_MATCH_EUI64=m
@@ -127,26 +174,40 @@ CONFIG_IP6_NF_MATCH_OPTS=m
127CONFIG_IP6_NF_MATCH_HL=m 174CONFIG_IP6_NF_MATCH_HL=m
128CONFIG_IP6_NF_MATCH_IPV6HEADER=m 175CONFIG_IP6_NF_MATCH_IPV6HEADER=m
129CONFIG_IP6_NF_MATCH_MH=m 176CONFIG_IP6_NF_MATCH_MH=m
177CONFIG_IP6_NF_MATCH_RPFILTER=m
130CONFIG_IP6_NF_MATCH_RT=m 178CONFIG_IP6_NF_MATCH_RT=m
131CONFIG_IP6_NF_TARGET_HL=m 179CONFIG_IP6_NF_TARGET_HL=m
132CONFIG_IP6_NF_TARGET_LOG=m
133CONFIG_IP6_NF_FILTER=m 180CONFIG_IP6_NF_FILTER=m
134CONFIG_IP6_NF_TARGET_REJECT=m 181CONFIG_IP6_NF_TARGET_REJECT=m
135CONFIG_IP6_NF_MANGLE=m 182CONFIG_IP6_NF_MANGLE=m
136CONFIG_IP6_NF_RAW=m 183CONFIG_IP6_NF_RAW=m
184CONFIG_NF_NAT_IPV6=m
185CONFIG_IP6_NF_TARGET_MASQUERADE=m
186CONFIG_IP6_NF_TARGET_NPT=m
137CONFIG_IP_DCCP=m 187CONFIG_IP_DCCP=m
138# CONFIG_IP_DCCP_CCID3 is not set 188# CONFIG_IP_DCCP_CCID3 is not set
189CONFIG_SCTP_COOKIE_HMAC_SHA1=y
190CONFIG_RDS=m
191CONFIG_RDS_TCP=m
192CONFIG_L2TP=m
139CONFIG_ATALK=m 193CONFIG_ATALK=m
194CONFIG_BATMAN_ADV=m
195CONFIG_BATMAN_ADV_DAT=y
196# CONFIG_WIRELESS is not set
140CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 197CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
198CONFIG_DEVTMPFS=y
141# CONFIG_FIRMWARE_IN_KERNEL is not set 199# CONFIG_FIRMWARE_IN_KERNEL is not set
200# CONFIG_FW_LOADER_USER_HELPER is not set
142CONFIG_CONNECTOR=m 201CONFIG_CONNECTOR=m
143CONFIG_BLK_DEV_LOOP=y 202CONFIG_BLK_DEV_LOOP=y
144CONFIG_BLK_DEV_CRYPTOLOOP=m 203CONFIG_BLK_DEV_CRYPTOLOOP=m
204CONFIG_BLK_DEV_DRBD=m
145CONFIG_BLK_DEV_NBD=m 205CONFIG_BLK_DEV_NBD=m
146CONFIG_BLK_DEV_RAM=y 206CONFIG_BLK_DEV_RAM=y
147CONFIG_CDROM_PKTCDVD=m 207CONFIG_CDROM_PKTCDVD=m
148CONFIG_ATA_OVER_ETH=m 208CONFIG_ATA_OVER_ETH=m
149CONFIG_IDE=y 209CONFIG_IDE=y
210CONFIG_IDE_GD_ATAPI=y
150CONFIG_BLK_DEV_IDECD=y 211CONFIG_BLK_DEV_IDECD=y
151CONFIG_BLK_DEV_Q40IDE=y 212CONFIG_BLK_DEV_Q40IDE=y
152CONFIG_RAID_ATTRS=m 213CONFIG_RAID_ATTRS=m
@@ -159,61 +220,82 @@ CONFIG_BLK_DEV_SR=y
159CONFIG_BLK_DEV_SR_VENDOR=y 220CONFIG_BLK_DEV_SR_VENDOR=y
160CONFIG_CHR_DEV_SG=m 221CONFIG_CHR_DEV_SG=m
161CONFIG_SCSI_CONSTANTS=y 222CONFIG_SCSI_CONSTANTS=y
162CONFIG_SCSI_SAS_LIBSAS=m 223CONFIG_SCSI_SAS_ATTRS=m
163# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
164CONFIG_SCSI_SRP_ATTRS=m
165CONFIG_SCSI_SRP_TGT_ATTRS=y
166CONFIG_ISCSI_TCP=m 224CONFIG_ISCSI_TCP=m
225CONFIG_ISCSI_BOOT_SYSFS=m
167CONFIG_MD=y 226CONFIG_MD=y
168CONFIG_BLK_DEV_MD=m
169CONFIG_MD_LINEAR=m 227CONFIG_MD_LINEAR=m
170CONFIG_MD_RAID0=m 228CONFIG_MD_RAID0=m
171CONFIG_MD_RAID1=m
172CONFIG_MD_RAID456=m
173CONFIG_BLK_DEV_DM=m 229CONFIG_BLK_DEV_DM=m
174CONFIG_DM_CRYPT=m 230CONFIG_DM_CRYPT=m
175CONFIG_DM_SNAPSHOT=m 231CONFIG_DM_SNAPSHOT=m
232CONFIG_DM_THIN_PROVISIONING=m
233CONFIG_DM_CACHE=m
176CONFIG_DM_MIRROR=m 234CONFIG_DM_MIRROR=m
235CONFIG_DM_RAID=m
177CONFIG_DM_ZERO=m 236CONFIG_DM_ZERO=m
178CONFIG_DM_MULTIPATH=m 237CONFIG_DM_MULTIPATH=m
179CONFIG_DM_UEVENT=y 238CONFIG_DM_UEVENT=y
239CONFIG_TARGET_CORE=m
240CONFIG_TCM_IBLOCK=m
241CONFIG_TCM_FILEIO=m
242CONFIG_TCM_PSCSI=m
180CONFIG_NETDEVICES=y 243CONFIG_NETDEVICES=y
181CONFIG_DUMMY=m 244CONFIG_DUMMY=m
182CONFIG_MACVLAN=m
183CONFIG_EQUALIZER=m 245CONFIG_EQUALIZER=m
246CONFIG_NET_TEAM=m
247CONFIG_NET_TEAM_MODE_BROADCAST=m
248CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
249CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
250CONFIG_NET_TEAM_MODE_LOADBALANCE=m
251CONFIG_VXLAN=m
252CONFIG_NETCONSOLE=m
253CONFIG_NETCONSOLE_DYNAMIC=y
184CONFIG_VETH=m 254CONFIG_VETH=m
185CONFIG_NET_ETHERNET=y 255# CONFIG_NET_VENDOR_3COM is not set
256# CONFIG_NET_VENDOR_AMD is not set
257# CONFIG_NET_CADENCE is not set
258# CONFIG_NET_VENDOR_BROADCOM is not set
259# CONFIG_NET_VENDOR_CIRRUS is not set
260# CONFIG_NET_VENDOR_FUJITSU is not set
261# CONFIG_NET_VENDOR_HP is not set
262# CONFIG_NET_VENDOR_INTEL is not set
263# CONFIG_NET_VENDOR_MARVELL is not set
264# CONFIG_NET_VENDOR_MICREL is not set
186CONFIG_NE2000=m 265CONFIG_NE2000=m
187# CONFIG_NETDEV_1000 is not set 266# CONFIG_NET_VENDOR_SEEQ is not set
188# CONFIG_NETDEV_10000 is not set 267# CONFIG_NET_VENDOR_SMSC is not set
268# CONFIG_NET_VENDOR_STMICRO is not set
269# CONFIG_NET_VENDOR_WIZNET is not set
189CONFIG_PPP=m 270CONFIG_PPP=m
190CONFIG_PPP_FILTER=y
191CONFIG_PPP_ASYNC=m
192CONFIG_PPP_SYNC_TTY=m
193CONFIG_PPP_DEFLATE=m
194CONFIG_PPP_BSDCOMP=m 271CONFIG_PPP_BSDCOMP=m
272CONFIG_PPP_DEFLATE=m
273CONFIG_PPP_FILTER=y
195CONFIG_PPP_MPPE=m 274CONFIG_PPP_MPPE=m
196CONFIG_PPPOE=m 275CONFIG_PPPOE=m
276CONFIG_PPTP=m
277CONFIG_PPPOL2TP=m
278CONFIG_PPP_ASYNC=m
279CONFIG_PPP_SYNC_TTY=m
197CONFIG_SLIP=m 280CONFIG_SLIP=m
198CONFIG_SLIP_COMPRESSED=y 281CONFIG_SLIP_COMPRESSED=y
199CONFIG_SLIP_SMART=y 282CONFIG_SLIP_SMART=y
200CONFIG_SLIP_MODE_SLIP6=y 283CONFIG_SLIP_MODE_SLIP6=y
201CONFIG_NETCONSOLE=m 284# CONFIG_WLAN is not set
202CONFIG_NETCONSOLE_DYNAMIC=y 285CONFIG_INPUT_EVDEV=m
203CONFIG_INPUT_FF_MEMLESS=m
204# CONFIG_KEYBOARD_ATKBD is not set 286# CONFIG_KEYBOARD_ATKBD is not set
205CONFIG_MOUSE_PS2=m 287# CONFIG_MOUSE_PS2 is not set
206CONFIG_MOUSE_SERIAL=m 288CONFIG_MOUSE_SERIAL=m
207CONFIG_INPUT_MISC=y 289CONFIG_INPUT_MISC=y
208CONFIG_INPUT_M68K_BEEP=m 290CONFIG_INPUT_M68K_BEEP=m
209CONFIG_SERIO=m 291CONFIG_SERIO_Q40KBD=y
210# CONFIG_SERIO_SERPORT is not set
211CONFIG_SERIO_Q40KBD=m
212CONFIG_VT_HW_CONSOLE_BINDING=y 292CONFIG_VT_HW_CONSOLE_BINDING=y
293# CONFIG_LEGACY_PTYS is not set
213# CONFIG_DEVKMEM is not set 294# CONFIG_DEVKMEM is not set
214# CONFIG_HW_RANDOM is not set 295# CONFIG_HW_RANDOM is not set
215CONFIG_GEN_RTC=m 296CONFIG_NTP_PPS=y
216CONFIG_GEN_RTC_X=y 297CONFIG_PPS_CLIENT_LDISC=m
298CONFIG_PTP_1588_CLOCK=m
217# CONFIG_HWMON is not set 299# CONFIG_HWMON is not set
218CONFIG_FB=y 300CONFIG_FB=y
219CONFIG_FRAMEBUFFER_CONSOLE=y 301CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -222,46 +304,61 @@ CONFIG_SOUND=m
222CONFIG_DMASOUND_Q40=m 304CONFIG_DMASOUND_Q40=m
223CONFIG_HID=m 305CONFIG_HID=m
224CONFIG_HIDRAW=y 306CONFIG_HIDRAW=y
307CONFIG_UHID=m
308# CONFIG_HID_GENERIC is not set
225# CONFIG_USB_SUPPORT is not set 309# CONFIG_USB_SUPPORT is not set
310CONFIG_RTC_CLASS=y
311CONFIG_RTC_DRV_GENERIC=m
312# CONFIG_IOMMU_SUPPORT is not set
313CONFIG_HEARTBEAT=y
314CONFIG_PROC_HARDWARE=y
226CONFIG_EXT2_FS=y 315CONFIG_EXT2_FS=y
227CONFIG_EXT3_FS=y 316CONFIG_EXT3_FS=y
228# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 317# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
229# CONFIG_EXT3_FS_XATTR is not set 318# CONFIG_EXT3_FS_XATTR is not set
319CONFIG_EXT4_FS=y
230CONFIG_REISERFS_FS=m 320CONFIG_REISERFS_FS=m
231CONFIG_JFS_FS=m 321CONFIG_JFS_FS=m
232CONFIG_XFS_FS=m 322CONFIG_XFS_FS=m
233CONFIG_OCFS2_FS=m 323CONFIG_OCFS2_FS=m
234# CONFIG_OCFS2_FS_STATS is not set
235# CONFIG_OCFS2_DEBUG_MASKLOG is not set 324# CONFIG_OCFS2_DEBUG_MASKLOG is not set
325CONFIG_FANOTIFY=y
236CONFIG_QUOTA_NETLINK_INTERFACE=y 326CONFIG_QUOTA_NETLINK_INTERFACE=y
237# CONFIG_PRINT_QUOTA_WARNING is not set 327# CONFIG_PRINT_QUOTA_WARNING is not set
238CONFIG_AUTOFS_FS=m
239CONFIG_AUTOFS4_FS=m 328CONFIG_AUTOFS4_FS=m
240CONFIG_FUSE_FS=m 329CONFIG_FUSE_FS=m
330CONFIG_CUSE=m
241CONFIG_ISO9660_FS=y 331CONFIG_ISO9660_FS=y
242CONFIG_JOLIET=y 332CONFIG_JOLIET=y
243CONFIG_ZISOFS=y 333CONFIG_ZISOFS=y
244CONFIG_UDF_FS=m 334CONFIG_UDF_FS=m
245CONFIG_MSDOS_FS=y 335CONFIG_MSDOS_FS=m
246CONFIG_VFAT_FS=m 336CONFIG_VFAT_FS=m
247CONFIG_PROC_KCORE=y 337CONFIG_PROC_KCORE=y
248CONFIG_TMPFS=y 338CONFIG_TMPFS=y
249CONFIG_AFFS_FS=m 339CONFIG_AFFS_FS=m
340CONFIG_ECRYPT_FS=m
341CONFIG_ECRYPT_FS_MESSAGING=y
250CONFIG_HFS_FS=m 342CONFIG_HFS_FS=m
251CONFIG_HFSPLUS_FS=m 343CONFIG_HFSPLUS_FS=m
252CONFIG_CRAMFS=m 344CONFIG_CRAMFS=m
253CONFIG_SQUASHFS=m 345CONFIG_SQUASHFS=m
254CONFIG_MINIX_FS=y 346CONFIG_SQUASHFS_LZO=y
347CONFIG_MINIX_FS=m
348CONFIG_OMFS_FS=m
255CONFIG_HPFS_FS=m 349CONFIG_HPFS_FS=m
350CONFIG_QNX4FS_FS=m
351CONFIG_QNX6FS_FS=m
256CONFIG_SYSV_FS=m 352CONFIG_SYSV_FS=m
257CONFIG_UFS_FS=m 353CONFIG_UFS_FS=m
258CONFIG_NFS_FS=y 354CONFIG_NFS_FS=y
259CONFIG_NFS_V3=y
260CONFIG_NFS_V4=y 355CONFIG_NFS_V4=y
356CONFIG_NFS_SWAP=y
357CONFIG_ROOT_NFS=y
261CONFIG_NFSD=m 358CONFIG_NFSD=m
262CONFIG_NFSD_V3=y 359CONFIG_NFSD_V3=y
263CONFIG_SMB_FS=m 360CONFIG_CIFS=m
264CONFIG_SMB_NLS_DEFAULT=y 361# CONFIG_CIFS_DEBUG is not set
265CONFIG_CODA_FS=m 362CONFIG_CODA_FS=m
266CONFIG_NLS_CODEPAGE_437=y 363CONFIG_NLS_CODEPAGE_437=y
267CONFIG_NLS_CODEPAGE_737=m 364CONFIG_NLS_CODEPAGE_737=m
@@ -300,10 +397,23 @@ CONFIG_NLS_ISO8859_14=m
300CONFIG_NLS_ISO8859_15=m 397CONFIG_NLS_ISO8859_15=m
301CONFIG_NLS_KOI8_R=m 398CONFIG_NLS_KOI8_R=m
302CONFIG_NLS_KOI8_U=m 399CONFIG_NLS_KOI8_U=m
400CONFIG_NLS_MAC_ROMAN=m
401CONFIG_NLS_MAC_CELTIC=m
402CONFIG_NLS_MAC_CENTEURO=m
403CONFIG_NLS_MAC_CROATIAN=m
404CONFIG_NLS_MAC_CYRILLIC=m
405CONFIG_NLS_MAC_GAELIC=m
406CONFIG_NLS_MAC_GREEK=m
407CONFIG_NLS_MAC_ICELAND=m
408CONFIG_NLS_MAC_INUIT=m
409CONFIG_NLS_MAC_ROMANIAN=m
410CONFIG_NLS_MAC_TURKISH=m
303CONFIG_DLM=m 411CONFIG_DLM=m
304CONFIG_MAGIC_SYSRQ=y 412CONFIG_MAGIC_SYSRQ=y
305# CONFIG_RCU_CPU_STALL_DETECTOR is not set 413CONFIG_ASYNC_RAID6_TEST=m
306CONFIG_SYSCTL_SYSCALL_CHECK=y 414CONFIG_ENCRYPTED_KEYS=m
415CONFIG_CRYPTO_MANAGER=y
416CONFIG_CRYPTO_USER=m
307CONFIG_CRYPTO_NULL=m 417CONFIG_CRYPTO_NULL=m
308CONFIG_CRYPTO_CRYPTD=m 418CONFIG_CRYPTO_CRYPTD=m
309CONFIG_CRYPTO_TEST=m 419CONFIG_CRYPTO_TEST=m
@@ -313,19 +423,16 @@ CONFIG_CRYPTO_CTS=m
313CONFIG_CRYPTO_LRW=m 423CONFIG_CRYPTO_LRW=m
314CONFIG_CRYPTO_PCBC=m 424CONFIG_CRYPTO_PCBC=m
315CONFIG_CRYPTO_XTS=m 425CONFIG_CRYPTO_XTS=m
316CONFIG_CRYPTO_HMAC=y
317CONFIG_CRYPTO_XCBC=m 426CONFIG_CRYPTO_XCBC=m
318CONFIG_CRYPTO_MD4=m 427CONFIG_CRYPTO_VMAC=m
319CONFIG_CRYPTO_MICHAEL_MIC=m 428CONFIG_CRYPTO_MICHAEL_MIC=m
320CONFIG_CRYPTO_RMD128=m 429CONFIG_CRYPTO_RMD128=m
321CONFIG_CRYPTO_RMD160=m 430CONFIG_CRYPTO_RMD160=m
322CONFIG_CRYPTO_RMD256=m 431CONFIG_CRYPTO_RMD256=m
323CONFIG_CRYPTO_RMD320=m 432CONFIG_CRYPTO_RMD320=m
324CONFIG_CRYPTO_SHA256=m
325CONFIG_CRYPTO_SHA512=m 433CONFIG_CRYPTO_SHA512=m
326CONFIG_CRYPTO_TGR192=m 434CONFIG_CRYPTO_TGR192=m
327CONFIG_CRYPTO_WP512=m 435CONFIG_CRYPTO_WP512=m
328CONFIG_CRYPTO_AES=m
329CONFIG_CRYPTO_ANUBIS=m 436CONFIG_CRYPTO_ANUBIS=m
330CONFIG_CRYPTO_BLOWFISH=m 437CONFIG_CRYPTO_BLOWFISH=m
331CONFIG_CRYPTO_CAMELLIA=m 438CONFIG_CRYPTO_CAMELLIA=m
@@ -341,6 +448,14 @@ CONFIG_CRYPTO_TWOFISH=m
341CONFIG_CRYPTO_ZLIB=m 448CONFIG_CRYPTO_ZLIB=m
342CONFIG_CRYPTO_LZO=m 449CONFIG_CRYPTO_LZO=m
343# CONFIG_CRYPTO_ANSI_CPRNG is not set 450# CONFIG_CRYPTO_ANSI_CPRNG is not set
451CONFIG_CRYPTO_USER_API_HASH=m
452CONFIG_CRYPTO_USER_API_SKCIPHER=m
344# CONFIG_CRYPTO_HW is not set 453# CONFIG_CRYPTO_HW is not set
345CONFIG_CRC16=m
346CONFIG_CRC_T10DIF=y 454CONFIG_CRC_T10DIF=y
455CONFIG_XZ_DEC_X86=y
456CONFIG_XZ_DEC_POWERPC=y
457CONFIG_XZ_DEC_IA64=y
458CONFIG_XZ_DEC_ARM=y
459CONFIG_XZ_DEC_ARMTHUMB=y
460CONFIG_XZ_DEC_SPARC=y
461CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig
index ca6c0b4cab77..54674d61e001 100644
--- a/arch/m68k/configs/sun3_defconfig
+++ b/arch/m68k/configs/sun3_defconfig
@@ -1,50 +1,71 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-sun3" 1CONFIG_LOCALVERSION="-sun3"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24# CONFIG_EFI_PARTITION is not set
25CONFIG_SYSV68_PARTITION=y
26CONFIG_IOSCHED_DEADLINE=m
13CONFIG_SUN3=y 27CONFIG_SUN3=y
28# CONFIG_COMPACTION is not set
29CONFIG_CLEANCACHE=y
30# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
14CONFIG_BINFMT_AOUT=m 31CONFIG_BINFMT_AOUT=m
15CONFIG_BINFMT_MISC=m 32CONFIG_BINFMT_MISC=m
16CONFIG_PROC_HARDWARE=y
17CONFIG_NET=y 33CONFIG_NET=y
18CONFIG_PACKET=y 34CONFIG_PACKET=y
35CONFIG_PACKET_DIAG=m
19CONFIG_UNIX=y 36CONFIG_UNIX=y
37CONFIG_UNIX_DIAG=m
38CONFIG_XFRM_MIGRATE=y
20CONFIG_NET_KEY=y 39CONFIG_NET_KEY=y
21CONFIG_NET_KEY_MIGRATE=y
22CONFIG_INET=y 40CONFIG_INET=y
23CONFIG_IP_PNP=y 41CONFIG_IP_PNP=y
24CONFIG_IP_PNP_DHCP=y 42CONFIG_IP_PNP_DHCP=y
25CONFIG_IP_PNP_BOOTP=y 43CONFIG_IP_PNP_BOOTP=y
26CONFIG_IP_PNP_RARP=y 44CONFIG_IP_PNP_RARP=y
27CONFIG_NET_IPIP=m 45CONFIG_NET_IPIP=m
46CONFIG_NET_IPGRE_DEMUX=m
28CONFIG_NET_IPGRE=m 47CONFIG_NET_IPGRE=m
29CONFIG_SYN_COOKIES=y 48CONFIG_SYN_COOKIES=y
49CONFIG_NET_IPVTI=m
30CONFIG_INET_AH=m 50CONFIG_INET_AH=m
31CONFIG_INET_ESP=m 51CONFIG_INET_ESP=m
32CONFIG_INET_IPCOMP=m 52CONFIG_INET_IPCOMP=m
33CONFIG_INET_XFRM_MODE_TRANSPORT=m 53CONFIG_INET_XFRM_MODE_TRANSPORT=m
34CONFIG_INET_XFRM_MODE_TUNNEL=m 54CONFIG_INET_XFRM_MODE_TUNNEL=m
35CONFIG_INET_XFRM_MODE_BEET=m 55CONFIG_INET_XFRM_MODE_BEET=m
56# CONFIG_INET_LRO is not set
36CONFIG_INET_DIAG=m 57CONFIG_INET_DIAG=m
58CONFIG_INET_UDP_DIAG=m
37CONFIG_IPV6_PRIVACY=y 59CONFIG_IPV6_PRIVACY=y
38CONFIG_IPV6_ROUTER_PREF=y 60CONFIG_IPV6_ROUTER_PREF=y
39CONFIG_IPV6_ROUTE_INFO=y
40CONFIG_INET6_AH=m 61CONFIG_INET6_AH=m
41CONFIG_INET6_ESP=m 62CONFIG_INET6_ESP=m
42CONFIG_INET6_IPCOMP=m 63CONFIG_INET6_IPCOMP=m
43CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 64CONFIG_IPV6_GRE=m
44CONFIG_IPV6_TUNNEL=m
45CONFIG_NETFILTER=y 65CONFIG_NETFILTER=y
46CONFIG_NETFILTER_NETLINK_QUEUE=m
47CONFIG_NF_CONNTRACK=m 66CONFIG_NF_CONNTRACK=m
67CONFIG_NF_CONNTRACK_ZONES=y
68# CONFIG_NF_CONNTRACK_PROCFS is not set
48# CONFIG_NF_CT_PROTO_DCCP is not set 69# CONFIG_NF_CT_PROTO_DCCP is not set
49CONFIG_NF_CT_PROTO_UDPLITE=m 70CONFIG_NF_CT_PROTO_UDPLITE=m
50CONFIG_NF_CONNTRACK_AMANDA=m 71CONFIG_NF_CONNTRACK_AMANDA=m
@@ -52,25 +73,37 @@ CONFIG_NF_CONNTRACK_FTP=m
52CONFIG_NF_CONNTRACK_H323=m 73CONFIG_NF_CONNTRACK_H323=m
53CONFIG_NF_CONNTRACK_IRC=m 74CONFIG_NF_CONNTRACK_IRC=m
54CONFIG_NF_CONNTRACK_NETBIOS_NS=m 75CONFIG_NF_CONNTRACK_NETBIOS_NS=m
76CONFIG_NF_CONNTRACK_SNMP=m
55CONFIG_NF_CONNTRACK_PPTP=m 77CONFIG_NF_CONNTRACK_PPTP=m
56CONFIG_NF_CONNTRACK_SANE=m 78CONFIG_NF_CONNTRACK_SANE=m
57CONFIG_NF_CONNTRACK_SIP=m 79CONFIG_NF_CONNTRACK_SIP=m
58CONFIG_NF_CONNTRACK_TFTP=m 80CONFIG_NF_CONNTRACK_TFTP=m
81CONFIG_NETFILTER_XT_SET=m
82CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
59CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 83CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
60CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 84CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
61CONFIG_NETFILTER_XT_TARGET_DSCP=m 85CONFIG_NETFILTER_XT_TARGET_DSCP=m
86CONFIG_NETFILTER_XT_TARGET_HMARK=m
87CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
88CONFIG_NETFILTER_XT_TARGET_LOG=m
62CONFIG_NETFILTER_XT_TARGET_MARK=m 89CONFIG_NETFILTER_XT_TARGET_MARK=m
63CONFIG_NETFILTER_XT_TARGET_NFLOG=m 90CONFIG_NETFILTER_XT_TARGET_NFLOG=m
64CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 91CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
92CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
93CONFIG_NETFILTER_XT_TARGET_TEE=m
65CONFIG_NETFILTER_XT_TARGET_TRACE=m 94CONFIG_NETFILTER_XT_TARGET_TRACE=m
66CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 95CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
67CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 96CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
97CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
98CONFIG_NETFILTER_XT_MATCH_BPF=m
68CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 99CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
69CONFIG_NETFILTER_XT_MATCH_COMMENT=m 100CONFIG_NETFILTER_XT_MATCH_COMMENT=m
70CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 101CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
102CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
71CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 103CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
72CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 104CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
73CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 105CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
106CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
74CONFIG_NETFILTER_XT_MATCH_DSCP=m 107CONFIG_NETFILTER_XT_MATCH_DSCP=m
75CONFIG_NETFILTER_XT_MATCH_ESP=m 108CONFIG_NETFILTER_XT_MATCH_ESP=m
76CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 109CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -81,6 +114,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
81CONFIG_NETFILTER_XT_MATCH_MAC=m 114CONFIG_NETFILTER_XT_MATCH_MAC=m
82CONFIG_NETFILTER_XT_MATCH_MARK=m 115CONFIG_NETFILTER_XT_MATCH_MARK=m
83CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 116CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
117CONFIG_NETFILTER_XT_MATCH_NFACCT=m
118CONFIG_NETFILTER_XT_MATCH_OSF=m
84CONFIG_NETFILTER_XT_MATCH_OWNER=m 119CONFIG_NETFILTER_XT_MATCH_OWNER=m
85CONFIG_NETFILTER_XT_MATCH_POLICY=m 120CONFIG_NETFILTER_XT_MATCH_POLICY=m
86CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 121CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -94,22 +129,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
94CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 129CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
95CONFIG_NETFILTER_XT_MATCH_TIME=m 130CONFIG_NETFILTER_XT_MATCH_TIME=m
96CONFIG_NETFILTER_XT_MATCH_U32=m 131CONFIG_NETFILTER_XT_MATCH_U32=m
132CONFIG_IP_SET=m
133CONFIG_IP_SET_BITMAP_IP=m
134CONFIG_IP_SET_BITMAP_IPMAC=m
135CONFIG_IP_SET_BITMAP_PORT=m
136CONFIG_IP_SET_HASH_IP=m
137CONFIG_IP_SET_HASH_IPPORT=m
138CONFIG_IP_SET_HASH_IPPORTIP=m
139CONFIG_IP_SET_HASH_IPPORTNET=m
140CONFIG_IP_SET_HASH_NET=m
141CONFIG_IP_SET_HASH_NETPORT=m
142CONFIG_IP_SET_HASH_NETIFACE=m
143CONFIG_IP_SET_LIST_SET=m
97CONFIG_NF_CONNTRACK_IPV4=m 144CONFIG_NF_CONNTRACK_IPV4=m
98CONFIG_IP_NF_QUEUE=m
99CONFIG_IP_NF_IPTABLES=m 145CONFIG_IP_NF_IPTABLES=m
100CONFIG_IP_NF_MATCH_ADDRTYPE=m
101CONFIG_IP_NF_MATCH_AH=m 146CONFIG_IP_NF_MATCH_AH=m
102CONFIG_IP_NF_MATCH_ECN=m 147CONFIG_IP_NF_MATCH_ECN=m
148CONFIG_IP_NF_MATCH_RPFILTER=m
103CONFIG_IP_NF_MATCH_TTL=m 149CONFIG_IP_NF_MATCH_TTL=m
104CONFIG_IP_NF_FILTER=m 150CONFIG_IP_NF_FILTER=m
105CONFIG_IP_NF_TARGET_REJECT=m 151CONFIG_IP_NF_TARGET_REJECT=m
106CONFIG_IP_NF_TARGET_LOG=m
107CONFIG_IP_NF_TARGET_ULOG=m 152CONFIG_IP_NF_TARGET_ULOG=m
108CONFIG_NF_NAT=m 153CONFIG_NF_NAT_IPV4=m
109CONFIG_IP_NF_TARGET_MASQUERADE=m 154CONFIG_IP_NF_TARGET_MASQUERADE=m
110CONFIG_IP_NF_TARGET_NETMAP=m 155CONFIG_IP_NF_TARGET_NETMAP=m
111CONFIG_IP_NF_TARGET_REDIRECT=m 156CONFIG_IP_NF_TARGET_REDIRECT=m
112CONFIG_NF_NAT_SNMP_BASIC=m
113CONFIG_IP_NF_MANGLE=m 157CONFIG_IP_NF_MANGLE=m
114CONFIG_IP_NF_TARGET_CLUSTERIP=m 158CONFIG_IP_NF_TARGET_CLUSTERIP=m
115CONFIG_IP_NF_TARGET_ECN=m 159CONFIG_IP_NF_TARGET_ECN=m
@@ -119,7 +163,6 @@ CONFIG_IP_NF_ARPTABLES=m
119CONFIG_IP_NF_ARPFILTER=m 163CONFIG_IP_NF_ARPFILTER=m
120CONFIG_IP_NF_ARP_MANGLE=m 164CONFIG_IP_NF_ARP_MANGLE=m
121CONFIG_NF_CONNTRACK_IPV6=m 165CONFIG_NF_CONNTRACK_IPV6=m
122CONFIG_IP6_NF_QUEUE=m
123CONFIG_IP6_NF_IPTABLES=m 166CONFIG_IP6_NF_IPTABLES=m
124CONFIG_IP6_NF_MATCH_AH=m 167CONFIG_IP6_NF_MATCH_AH=m
125CONFIG_IP6_NF_MATCH_EUI64=m 168CONFIG_IP6_NF_MATCH_EUI64=m
@@ -128,21 +171,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
128CONFIG_IP6_NF_MATCH_HL=m 171CONFIG_IP6_NF_MATCH_HL=m
129CONFIG_IP6_NF_MATCH_IPV6HEADER=m 172CONFIG_IP6_NF_MATCH_IPV6HEADER=m
130CONFIG_IP6_NF_MATCH_MH=m 173CONFIG_IP6_NF_MATCH_MH=m
174CONFIG_IP6_NF_MATCH_RPFILTER=m
131CONFIG_IP6_NF_MATCH_RT=m 175CONFIG_IP6_NF_MATCH_RT=m
132CONFIG_IP6_NF_TARGET_HL=m 176CONFIG_IP6_NF_TARGET_HL=m
133CONFIG_IP6_NF_TARGET_LOG=m
134CONFIG_IP6_NF_FILTER=m 177CONFIG_IP6_NF_FILTER=m
135CONFIG_IP6_NF_TARGET_REJECT=m 178CONFIG_IP6_NF_TARGET_REJECT=m
136CONFIG_IP6_NF_MANGLE=m 179CONFIG_IP6_NF_MANGLE=m
137CONFIG_IP6_NF_RAW=m 180CONFIG_IP6_NF_RAW=m
181CONFIG_NF_NAT_IPV6=m
182CONFIG_IP6_NF_TARGET_MASQUERADE=m
183CONFIG_IP6_NF_TARGET_NPT=m
138CONFIG_IP_DCCP=m 184CONFIG_IP_DCCP=m
139# CONFIG_IP_DCCP_CCID3 is not set 185# CONFIG_IP_DCCP_CCID3 is not set
186CONFIG_SCTP_COOKIE_HMAC_SHA1=y
187CONFIG_RDS=m
188CONFIG_RDS_TCP=m
189CONFIG_L2TP=m
140CONFIG_ATALK=m 190CONFIG_ATALK=m
191CONFIG_BATMAN_ADV=m
192CONFIG_BATMAN_ADV_DAT=y
193# CONFIG_WIRELESS is not set
141CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 194CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
195CONFIG_DEVTMPFS=y
142# CONFIG_FIRMWARE_IN_KERNEL is not set 196# CONFIG_FIRMWARE_IN_KERNEL is not set
197# CONFIG_FW_LOADER_USER_HELPER is not set
143CONFIG_CONNECTOR=m 198CONFIG_CONNECTOR=m
144CONFIG_BLK_DEV_LOOP=y 199CONFIG_BLK_DEV_LOOP=y
145CONFIG_BLK_DEV_CRYPTOLOOP=m 200CONFIG_BLK_DEV_CRYPTOLOOP=m
201CONFIG_BLK_DEV_DRBD=m
146CONFIG_BLK_DEV_NBD=m 202CONFIG_BLK_DEV_NBD=m
147CONFIG_BLK_DEV_RAM=y 203CONFIG_BLK_DEV_RAM=y
148CONFIG_CDROM_PKTCDVD=m 204CONFIG_CDROM_PKTCDVD=m
@@ -157,107 +213,136 @@ CONFIG_BLK_DEV_SR=y
157CONFIG_BLK_DEV_SR_VENDOR=y 213CONFIG_BLK_DEV_SR_VENDOR=y
158CONFIG_CHR_DEV_SG=m 214CONFIG_CHR_DEV_SG=m
159CONFIG_SCSI_CONSTANTS=y 215CONFIG_SCSI_CONSTANTS=y
160CONFIG_SCSI_SAS_LIBSAS=m 216CONFIG_SCSI_SAS_ATTRS=m
161# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
162CONFIG_SCSI_SRP_ATTRS=m
163CONFIG_SCSI_SRP_TGT_ATTRS=y
164CONFIG_ISCSI_TCP=m 217CONFIG_ISCSI_TCP=m
218CONFIG_ISCSI_BOOT_SYSFS=m
165CONFIG_SUN3_SCSI=y 219CONFIG_SUN3_SCSI=y
166CONFIG_MD=y 220CONFIG_MD=y
167CONFIG_BLK_DEV_MD=m
168CONFIG_MD_LINEAR=m 221CONFIG_MD_LINEAR=m
169CONFIG_MD_RAID0=m 222CONFIG_MD_RAID0=m
170CONFIG_MD_RAID1=m
171CONFIG_MD_RAID456=m
172CONFIG_BLK_DEV_DM=m 223CONFIG_BLK_DEV_DM=m
173CONFIG_DM_CRYPT=m 224CONFIG_DM_CRYPT=m
174CONFIG_DM_SNAPSHOT=m 225CONFIG_DM_SNAPSHOT=m
226CONFIG_DM_THIN_PROVISIONING=m
227CONFIG_DM_CACHE=m
175CONFIG_DM_MIRROR=m 228CONFIG_DM_MIRROR=m
229CONFIG_DM_RAID=m
176CONFIG_DM_ZERO=m 230CONFIG_DM_ZERO=m
177CONFIG_DM_MULTIPATH=m 231CONFIG_DM_MULTIPATH=m
178CONFIG_DM_UEVENT=y 232CONFIG_DM_UEVENT=y
233CONFIG_TARGET_CORE=m
234CONFIG_TCM_IBLOCK=m
235CONFIG_TCM_FILEIO=m
236CONFIG_TCM_PSCSI=m
179CONFIG_NETDEVICES=y 237CONFIG_NETDEVICES=y
180CONFIG_DUMMY=m 238CONFIG_DUMMY=m
181CONFIG_MACVLAN=m
182CONFIG_EQUALIZER=m 239CONFIG_EQUALIZER=m
240CONFIG_NET_TEAM=m
241CONFIG_NET_TEAM_MODE_BROADCAST=m
242CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
243CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
244CONFIG_NET_TEAM_MODE_LOADBALANCE=m
245CONFIG_VXLAN=m
246CONFIG_NETCONSOLE=m
247CONFIG_NETCONSOLE_DYNAMIC=y
183CONFIG_VETH=m 248CONFIG_VETH=m
184CONFIG_NET_ETHERNET=y
185CONFIG_SUN3LANCE=y 249CONFIG_SUN3LANCE=y
250# CONFIG_NET_CADENCE is not set
186CONFIG_SUN3_82586=y 251CONFIG_SUN3_82586=y
187# CONFIG_NETDEV_1000 is not set 252# CONFIG_NET_VENDOR_MARVELL is not set
188# CONFIG_NETDEV_10000 is not set 253# CONFIG_NET_VENDOR_MICREL is not set
254# CONFIG_NET_VENDOR_NATSEMI is not set
255# CONFIG_NET_VENDOR_SEEQ is not set
256# CONFIG_NET_VENDOR_STMICRO is not set
257# CONFIG_NET_VENDOR_SUN is not set
258# CONFIG_NET_VENDOR_WIZNET is not set
189CONFIG_PPP=m 259CONFIG_PPP=m
190CONFIG_PPP_FILTER=y
191CONFIG_PPP_ASYNC=m
192CONFIG_PPP_SYNC_TTY=m
193CONFIG_PPP_DEFLATE=m
194CONFIG_PPP_BSDCOMP=m 260CONFIG_PPP_BSDCOMP=m
261CONFIG_PPP_DEFLATE=m
262CONFIG_PPP_FILTER=y
195CONFIG_PPP_MPPE=m 263CONFIG_PPP_MPPE=m
196CONFIG_PPPOE=m 264CONFIG_PPPOE=m
265CONFIG_PPTP=m
266CONFIG_PPPOL2TP=m
267CONFIG_PPP_ASYNC=m
268CONFIG_PPP_SYNC_TTY=m
197CONFIG_SLIP=m 269CONFIG_SLIP=m
198CONFIG_SLIP_COMPRESSED=y 270CONFIG_SLIP_COMPRESSED=y
199CONFIG_SLIP_SMART=y 271CONFIG_SLIP_SMART=y
200CONFIG_SLIP_MODE_SLIP6=y 272CONFIG_SLIP_MODE_SLIP6=y
201CONFIG_NETCONSOLE=m 273# CONFIG_WLAN is not set
202CONFIG_NETCONSOLE_DYNAMIC=y 274CONFIG_INPUT_EVDEV=m
203CONFIG_INPUT_FF_MEMLESS=m
204# CONFIG_KEYBOARD_ATKBD is not set 275# CONFIG_KEYBOARD_ATKBD is not set
205CONFIG_KEYBOARD_SUNKBD=y 276CONFIG_KEYBOARD_SUNKBD=y
206CONFIG_MOUSE_PS2=m 277# CONFIG_MOUSE_PS2 is not set
207CONFIG_MOUSE_SERIAL=m 278CONFIG_MOUSE_SERIAL=m
208# CONFIG_SERIO_SERPORT is not set
209CONFIG_VT_HW_CONSOLE_BINDING=y 279CONFIG_VT_HW_CONSOLE_BINDING=y
280# CONFIG_LEGACY_PTYS is not set
210# CONFIG_DEVKMEM is not set 281# CONFIG_DEVKMEM is not set
211# CONFIG_HW_RANDOM is not set 282# CONFIG_HW_RANDOM is not set
212CONFIG_GEN_RTC=m 283CONFIG_NTP_PPS=y
213CONFIG_GEN_RTC_X=y 284CONFIG_PPS_CLIENT_LDISC=m
285CONFIG_PTP_1588_CLOCK=m
214# CONFIG_HWMON is not set 286# CONFIG_HWMON is not set
215CONFIG_FB=y 287CONFIG_FB=y
216CONFIG_FRAMEBUFFER_CONSOLE=y 288CONFIG_FRAMEBUFFER_CONSOLE=y
217CONFIG_LOGO=y 289CONFIG_LOGO=y
218CONFIG_HID=m 290CONFIG_HID=m
219CONFIG_HIDRAW=y 291CONFIG_HIDRAW=y
292CONFIG_UHID=m
293# CONFIG_HID_GENERIC is not set
220# CONFIG_USB_SUPPORT is not set 294# CONFIG_USB_SUPPORT is not set
295CONFIG_RTC_CLASS=y
296CONFIG_RTC_DRV_GENERIC=m
297# CONFIG_IOMMU_SUPPORT is not set
298CONFIG_PROC_HARDWARE=y
221CONFIG_EXT2_FS=y 299CONFIG_EXT2_FS=y
222CONFIG_EXT3_FS=y 300CONFIG_EXT3_FS=y
223# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 301# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
224# CONFIG_EXT3_FS_XATTR is not set 302# CONFIG_EXT3_FS_XATTR is not set
303CONFIG_EXT4_FS=y
225CONFIG_REISERFS_FS=m 304CONFIG_REISERFS_FS=m
226CONFIG_JFS_FS=m 305CONFIG_JFS_FS=m
227CONFIG_XFS_FS=m 306CONFIG_XFS_FS=m
228CONFIG_OCFS2_FS=m 307CONFIG_OCFS2_FS=m
229# CONFIG_OCFS2_FS_STATS is not set
230# CONFIG_OCFS2_DEBUG_MASKLOG is not set 308# CONFIG_OCFS2_DEBUG_MASKLOG is not set
309CONFIG_FANOTIFY=y
231CONFIG_QUOTA_NETLINK_INTERFACE=y 310CONFIG_QUOTA_NETLINK_INTERFACE=y
232# CONFIG_PRINT_QUOTA_WARNING is not set 311# CONFIG_PRINT_QUOTA_WARNING is not set
233CONFIG_AUTOFS_FS=m
234CONFIG_AUTOFS4_FS=m 312CONFIG_AUTOFS4_FS=m
235CONFIG_FUSE_FS=m 313CONFIG_FUSE_FS=m
314CONFIG_CUSE=m
236CONFIG_ISO9660_FS=y 315CONFIG_ISO9660_FS=y
237CONFIG_JOLIET=y 316CONFIG_JOLIET=y
238CONFIG_ZISOFS=y 317CONFIG_ZISOFS=y
239CONFIG_UDF_FS=m 318CONFIG_UDF_FS=m
240CONFIG_MSDOS_FS=y 319CONFIG_MSDOS_FS=m
241CONFIG_VFAT_FS=m 320CONFIG_VFAT_FS=m
242CONFIG_PROC_KCORE=y 321CONFIG_PROC_KCORE=y
243CONFIG_TMPFS=y 322CONFIG_TMPFS=y
244CONFIG_AFFS_FS=m 323CONFIG_AFFS_FS=m
324CONFIG_ECRYPT_FS=m
325CONFIG_ECRYPT_FS_MESSAGING=y
245CONFIG_HFS_FS=m 326CONFIG_HFS_FS=m
246CONFIG_HFSPLUS_FS=m 327CONFIG_HFSPLUS_FS=m
247CONFIG_CRAMFS=m 328CONFIG_CRAMFS=m
248CONFIG_SQUASHFS=m 329CONFIG_SQUASHFS=m
249CONFIG_MINIX_FS=y 330CONFIG_SQUASHFS_LZO=y
331CONFIG_MINIX_FS=m
332CONFIG_OMFS_FS=m
250CONFIG_HPFS_FS=m 333CONFIG_HPFS_FS=m
334CONFIG_QNX4FS_FS=m
335CONFIG_QNX6FS_FS=m
251CONFIG_SYSV_FS=m 336CONFIG_SYSV_FS=m
252CONFIG_UFS_FS=m 337CONFIG_UFS_FS=m
253CONFIG_NFS_FS=y 338CONFIG_NFS_FS=y
254CONFIG_NFS_V3=y
255CONFIG_NFS_V4=y 339CONFIG_NFS_V4=y
340CONFIG_NFS_SWAP=y
256CONFIG_ROOT_NFS=y 341CONFIG_ROOT_NFS=y
257CONFIG_NFSD=m 342CONFIG_NFSD=m
258CONFIG_NFSD_V3=y 343CONFIG_NFSD_V3=y
259CONFIG_SMB_FS=m 344CONFIG_CIFS=m
260CONFIG_SMB_NLS_DEFAULT=y 345# CONFIG_CIFS_DEBUG is not set
261CONFIG_CODA_FS=m 346CONFIG_CODA_FS=m
262CONFIG_NLS_CODEPAGE_437=y 347CONFIG_NLS_CODEPAGE_437=y
263CONFIG_NLS_CODEPAGE_737=m 348CONFIG_NLS_CODEPAGE_737=m
@@ -296,10 +381,23 @@ CONFIG_NLS_ISO8859_14=m
296CONFIG_NLS_ISO8859_15=m 381CONFIG_NLS_ISO8859_15=m
297CONFIG_NLS_KOI8_R=m 382CONFIG_NLS_KOI8_R=m
298CONFIG_NLS_KOI8_U=m 383CONFIG_NLS_KOI8_U=m
384CONFIG_NLS_MAC_ROMAN=m
385CONFIG_NLS_MAC_CELTIC=m
386CONFIG_NLS_MAC_CENTEURO=m
387CONFIG_NLS_MAC_CROATIAN=m
388CONFIG_NLS_MAC_CYRILLIC=m
389CONFIG_NLS_MAC_GAELIC=m
390CONFIG_NLS_MAC_GREEK=m
391CONFIG_NLS_MAC_ICELAND=m
392CONFIG_NLS_MAC_INUIT=m
393CONFIG_NLS_MAC_ROMANIAN=m
394CONFIG_NLS_MAC_TURKISH=m
299CONFIG_DLM=m 395CONFIG_DLM=m
300CONFIG_MAGIC_SYSRQ=y 396CONFIG_MAGIC_SYSRQ=y
301# CONFIG_RCU_CPU_STALL_DETECTOR is not set 397CONFIG_ASYNC_RAID6_TEST=m
302CONFIG_SYSCTL_SYSCALL_CHECK=y 398CONFIG_ENCRYPTED_KEYS=m
399CONFIG_CRYPTO_MANAGER=y
400CONFIG_CRYPTO_USER=m
303CONFIG_CRYPTO_NULL=m 401CONFIG_CRYPTO_NULL=m
304CONFIG_CRYPTO_CRYPTD=m 402CONFIG_CRYPTO_CRYPTD=m
305CONFIG_CRYPTO_TEST=m 403CONFIG_CRYPTO_TEST=m
@@ -309,19 +407,16 @@ CONFIG_CRYPTO_CTS=m
309CONFIG_CRYPTO_LRW=m 407CONFIG_CRYPTO_LRW=m
310CONFIG_CRYPTO_PCBC=m 408CONFIG_CRYPTO_PCBC=m
311CONFIG_CRYPTO_XTS=m 409CONFIG_CRYPTO_XTS=m
312CONFIG_CRYPTO_HMAC=y
313CONFIG_CRYPTO_XCBC=m 410CONFIG_CRYPTO_XCBC=m
314CONFIG_CRYPTO_MD4=m 411CONFIG_CRYPTO_VMAC=m
315CONFIG_CRYPTO_MICHAEL_MIC=m 412CONFIG_CRYPTO_MICHAEL_MIC=m
316CONFIG_CRYPTO_RMD128=m 413CONFIG_CRYPTO_RMD128=m
317CONFIG_CRYPTO_RMD160=m 414CONFIG_CRYPTO_RMD160=m
318CONFIG_CRYPTO_RMD256=m 415CONFIG_CRYPTO_RMD256=m
319CONFIG_CRYPTO_RMD320=m 416CONFIG_CRYPTO_RMD320=m
320CONFIG_CRYPTO_SHA256=m
321CONFIG_CRYPTO_SHA512=m 417CONFIG_CRYPTO_SHA512=m
322CONFIG_CRYPTO_TGR192=m 418CONFIG_CRYPTO_TGR192=m
323CONFIG_CRYPTO_WP512=m 419CONFIG_CRYPTO_WP512=m
324CONFIG_CRYPTO_AES=m
325CONFIG_CRYPTO_ANUBIS=m 420CONFIG_CRYPTO_ANUBIS=m
326CONFIG_CRYPTO_BLOWFISH=m 421CONFIG_CRYPTO_BLOWFISH=m
327CONFIG_CRYPTO_CAMELLIA=m 422CONFIG_CRYPTO_CAMELLIA=m
@@ -337,6 +432,14 @@ CONFIG_CRYPTO_TWOFISH=m
337CONFIG_CRYPTO_ZLIB=m 432CONFIG_CRYPTO_ZLIB=m
338CONFIG_CRYPTO_LZO=m 433CONFIG_CRYPTO_LZO=m
339# CONFIG_CRYPTO_ANSI_CPRNG is not set 434# CONFIG_CRYPTO_ANSI_CPRNG is not set
435CONFIG_CRYPTO_USER_API_HASH=m
436CONFIG_CRYPTO_USER_API_SKCIPHER=m
340# CONFIG_CRYPTO_HW is not set 437# CONFIG_CRYPTO_HW is not set
341CONFIG_CRC16=m
342CONFIG_CRC_T10DIF=y 438CONFIG_CRC_T10DIF=y
439CONFIG_XZ_DEC_X86=y
440CONFIG_XZ_DEC_POWERPC=y
441CONFIG_XZ_DEC_IA64=y
442CONFIG_XZ_DEC_ARM=y
443CONFIG_XZ_DEC_ARMTHUMB=y
444CONFIG_XZ_DEC_SPARC=y
445CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig
index c80941c7759e..832d9539f441 100644
--- a/arch/m68k/configs/sun3x_defconfig
+++ b/arch/m68k/configs/sun3x_defconfig
@@ -1,50 +1,71 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-sun3x" 1CONFIG_LOCALVERSION="-sun3x"
3CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_BSD_PROCESS_ACCT=y 5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_LOG_BUF_SHIFT=14 6CONFIG_BSD_PROCESS_ACCT_V3=y
7CONFIG_RELAY=y 7CONFIG_LOG_BUF_SHIFT=16
8# CONFIG_UTS_NS is not set
9# CONFIG_IPC_NS is not set
10# CONFIG_PID_NS is not set
11# CONFIG_NET_NS is not set
8CONFIG_BLK_DEV_INITRD=y 12CONFIG_BLK_DEV_INITRD=y
9# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
10CONFIG_SLAB=y 13CONFIG_SLAB=y
11CONFIG_MODULES=y 14CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y 15CONFIG_MODULE_UNLOAD=y
16CONFIG_PARTITION_ADVANCED=y
17CONFIG_AMIGA_PARTITION=y
18CONFIG_ATARI_PARTITION=y
19CONFIG_MAC_PARTITION=y
20CONFIG_BSD_DISKLABEL=y
21CONFIG_MINIX_SUBPARTITION=y
22CONFIG_SOLARIS_X86_PARTITION=y
23CONFIG_UNIXWARE_DISKLABEL=y
24# CONFIG_EFI_PARTITION is not set
25CONFIG_SYSV68_PARTITION=y
26CONFIG_IOSCHED_DEADLINE=m
13CONFIG_SUN3X=y 27CONFIG_SUN3X=y
28# CONFIG_COMPACTION is not set
29CONFIG_CLEANCACHE=y
30# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
14CONFIG_BINFMT_AOUT=m 31CONFIG_BINFMT_AOUT=m
15CONFIG_BINFMT_MISC=m 32CONFIG_BINFMT_MISC=m
16CONFIG_PROC_HARDWARE=y
17CONFIG_NET=y 33CONFIG_NET=y
18CONFIG_PACKET=y 34CONFIG_PACKET=y
35CONFIG_PACKET_DIAG=m
19CONFIG_UNIX=y 36CONFIG_UNIX=y
37CONFIG_UNIX_DIAG=m
38CONFIG_XFRM_MIGRATE=y
20CONFIG_NET_KEY=y 39CONFIG_NET_KEY=y
21CONFIG_NET_KEY_MIGRATE=y
22CONFIG_INET=y 40CONFIG_INET=y
23CONFIG_IP_PNP=y 41CONFIG_IP_PNP=y
24CONFIG_IP_PNP_DHCP=y 42CONFIG_IP_PNP_DHCP=y
25CONFIG_IP_PNP_BOOTP=y 43CONFIG_IP_PNP_BOOTP=y
26CONFIG_IP_PNP_RARP=y 44CONFIG_IP_PNP_RARP=y
27CONFIG_NET_IPIP=m 45CONFIG_NET_IPIP=m
46CONFIG_NET_IPGRE_DEMUX=m
28CONFIG_NET_IPGRE=m 47CONFIG_NET_IPGRE=m
29CONFIG_SYN_COOKIES=y 48CONFIG_SYN_COOKIES=y
49CONFIG_NET_IPVTI=m
30CONFIG_INET_AH=m 50CONFIG_INET_AH=m
31CONFIG_INET_ESP=m 51CONFIG_INET_ESP=m
32CONFIG_INET_IPCOMP=m 52CONFIG_INET_IPCOMP=m
33CONFIG_INET_XFRM_MODE_TRANSPORT=m 53CONFIG_INET_XFRM_MODE_TRANSPORT=m
34CONFIG_INET_XFRM_MODE_TUNNEL=m 54CONFIG_INET_XFRM_MODE_TUNNEL=m
35CONFIG_INET_XFRM_MODE_BEET=m 55CONFIG_INET_XFRM_MODE_BEET=m
56# CONFIG_INET_LRO is not set
36CONFIG_INET_DIAG=m 57CONFIG_INET_DIAG=m
58CONFIG_INET_UDP_DIAG=m
37CONFIG_IPV6_PRIVACY=y 59CONFIG_IPV6_PRIVACY=y
38CONFIG_IPV6_ROUTER_PREF=y 60CONFIG_IPV6_ROUTER_PREF=y
39CONFIG_IPV6_ROUTE_INFO=y
40CONFIG_INET6_AH=m 61CONFIG_INET6_AH=m
41CONFIG_INET6_ESP=m 62CONFIG_INET6_ESP=m
42CONFIG_INET6_IPCOMP=m 63CONFIG_INET6_IPCOMP=m
43CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 64CONFIG_IPV6_GRE=m
44CONFIG_IPV6_TUNNEL=m
45CONFIG_NETFILTER=y 65CONFIG_NETFILTER=y
46CONFIG_NETFILTER_NETLINK_QUEUE=m
47CONFIG_NF_CONNTRACK=m 66CONFIG_NF_CONNTRACK=m
67CONFIG_NF_CONNTRACK_ZONES=y
68# CONFIG_NF_CONNTRACK_PROCFS is not set
48# CONFIG_NF_CT_PROTO_DCCP is not set 69# CONFIG_NF_CT_PROTO_DCCP is not set
49CONFIG_NF_CT_PROTO_UDPLITE=m 70CONFIG_NF_CT_PROTO_UDPLITE=m
50CONFIG_NF_CONNTRACK_AMANDA=m 71CONFIG_NF_CONNTRACK_AMANDA=m
@@ -52,25 +73,37 @@ CONFIG_NF_CONNTRACK_FTP=m
52CONFIG_NF_CONNTRACK_H323=m 73CONFIG_NF_CONNTRACK_H323=m
53CONFIG_NF_CONNTRACK_IRC=m 74CONFIG_NF_CONNTRACK_IRC=m
54CONFIG_NF_CONNTRACK_NETBIOS_NS=m 75CONFIG_NF_CONNTRACK_NETBIOS_NS=m
76CONFIG_NF_CONNTRACK_SNMP=m
55CONFIG_NF_CONNTRACK_PPTP=m 77CONFIG_NF_CONNTRACK_PPTP=m
56CONFIG_NF_CONNTRACK_SANE=m 78CONFIG_NF_CONNTRACK_SANE=m
57CONFIG_NF_CONNTRACK_SIP=m 79CONFIG_NF_CONNTRACK_SIP=m
58CONFIG_NF_CONNTRACK_TFTP=m 80CONFIG_NF_CONNTRACK_TFTP=m
81CONFIG_NETFILTER_XT_SET=m
82CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
59CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 83CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
60CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 84CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
61CONFIG_NETFILTER_XT_TARGET_DSCP=m 85CONFIG_NETFILTER_XT_TARGET_DSCP=m
86CONFIG_NETFILTER_XT_TARGET_HMARK=m
87CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
88CONFIG_NETFILTER_XT_TARGET_LOG=m
62CONFIG_NETFILTER_XT_TARGET_MARK=m 89CONFIG_NETFILTER_XT_TARGET_MARK=m
63CONFIG_NETFILTER_XT_TARGET_NFLOG=m 90CONFIG_NETFILTER_XT_TARGET_NFLOG=m
64CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 91CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
92CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
93CONFIG_NETFILTER_XT_TARGET_TEE=m
65CONFIG_NETFILTER_XT_TARGET_TRACE=m 94CONFIG_NETFILTER_XT_TARGET_TRACE=m
66CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 95CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
67CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 96CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
97CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
98CONFIG_NETFILTER_XT_MATCH_BPF=m
68CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 99CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
69CONFIG_NETFILTER_XT_MATCH_COMMENT=m 100CONFIG_NETFILTER_XT_MATCH_COMMENT=m
70CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 101CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
102CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
71CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 103CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
72CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 104CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
73CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 105CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
106CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
74CONFIG_NETFILTER_XT_MATCH_DSCP=m 107CONFIG_NETFILTER_XT_MATCH_DSCP=m
75CONFIG_NETFILTER_XT_MATCH_ESP=m 108CONFIG_NETFILTER_XT_MATCH_ESP=m
76CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 109CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -81,6 +114,8 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
81CONFIG_NETFILTER_XT_MATCH_MAC=m 114CONFIG_NETFILTER_XT_MATCH_MAC=m
82CONFIG_NETFILTER_XT_MATCH_MARK=m 115CONFIG_NETFILTER_XT_MATCH_MARK=m
83CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 116CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
117CONFIG_NETFILTER_XT_MATCH_NFACCT=m
118CONFIG_NETFILTER_XT_MATCH_OSF=m
84CONFIG_NETFILTER_XT_MATCH_OWNER=m 119CONFIG_NETFILTER_XT_MATCH_OWNER=m
85CONFIG_NETFILTER_XT_MATCH_POLICY=m 120CONFIG_NETFILTER_XT_MATCH_POLICY=m
86CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 121CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
@@ -94,22 +129,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
94CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 129CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
95CONFIG_NETFILTER_XT_MATCH_TIME=m 130CONFIG_NETFILTER_XT_MATCH_TIME=m
96CONFIG_NETFILTER_XT_MATCH_U32=m 131CONFIG_NETFILTER_XT_MATCH_U32=m
132CONFIG_IP_SET=m
133CONFIG_IP_SET_BITMAP_IP=m
134CONFIG_IP_SET_BITMAP_IPMAC=m
135CONFIG_IP_SET_BITMAP_PORT=m
136CONFIG_IP_SET_HASH_IP=m
137CONFIG_IP_SET_HASH_IPPORT=m
138CONFIG_IP_SET_HASH_IPPORTIP=m
139CONFIG_IP_SET_HASH_IPPORTNET=m
140CONFIG_IP_SET_HASH_NET=m
141CONFIG_IP_SET_HASH_NETPORT=m
142CONFIG_IP_SET_HASH_NETIFACE=m
143CONFIG_IP_SET_LIST_SET=m
97CONFIG_NF_CONNTRACK_IPV4=m 144CONFIG_NF_CONNTRACK_IPV4=m
98CONFIG_IP_NF_QUEUE=m
99CONFIG_IP_NF_IPTABLES=m 145CONFIG_IP_NF_IPTABLES=m
100CONFIG_IP_NF_MATCH_ADDRTYPE=m
101CONFIG_IP_NF_MATCH_AH=m 146CONFIG_IP_NF_MATCH_AH=m
102CONFIG_IP_NF_MATCH_ECN=m 147CONFIG_IP_NF_MATCH_ECN=m
148CONFIG_IP_NF_MATCH_RPFILTER=m
103CONFIG_IP_NF_MATCH_TTL=m 149CONFIG_IP_NF_MATCH_TTL=m
104CONFIG_IP_NF_FILTER=m 150CONFIG_IP_NF_FILTER=m
105CONFIG_IP_NF_TARGET_REJECT=m 151CONFIG_IP_NF_TARGET_REJECT=m
106CONFIG_IP_NF_TARGET_LOG=m
107CONFIG_IP_NF_TARGET_ULOG=m 152CONFIG_IP_NF_TARGET_ULOG=m
108CONFIG_NF_NAT=m 153CONFIG_NF_NAT_IPV4=m
109CONFIG_IP_NF_TARGET_MASQUERADE=m 154CONFIG_IP_NF_TARGET_MASQUERADE=m
110CONFIG_IP_NF_TARGET_NETMAP=m 155CONFIG_IP_NF_TARGET_NETMAP=m
111CONFIG_IP_NF_TARGET_REDIRECT=m 156CONFIG_IP_NF_TARGET_REDIRECT=m
112CONFIG_NF_NAT_SNMP_BASIC=m
113CONFIG_IP_NF_MANGLE=m 157CONFIG_IP_NF_MANGLE=m
114CONFIG_IP_NF_TARGET_CLUSTERIP=m 158CONFIG_IP_NF_TARGET_CLUSTERIP=m
115CONFIG_IP_NF_TARGET_ECN=m 159CONFIG_IP_NF_TARGET_ECN=m
@@ -119,7 +163,6 @@ CONFIG_IP_NF_ARPTABLES=m
119CONFIG_IP_NF_ARPFILTER=m 163CONFIG_IP_NF_ARPFILTER=m
120CONFIG_IP_NF_ARP_MANGLE=m 164CONFIG_IP_NF_ARP_MANGLE=m
121CONFIG_NF_CONNTRACK_IPV6=m 165CONFIG_NF_CONNTRACK_IPV6=m
122CONFIG_IP6_NF_QUEUE=m
123CONFIG_IP6_NF_IPTABLES=m 166CONFIG_IP6_NF_IPTABLES=m
124CONFIG_IP6_NF_MATCH_AH=m 167CONFIG_IP6_NF_MATCH_AH=m
125CONFIG_IP6_NF_MATCH_EUI64=m 168CONFIG_IP6_NF_MATCH_EUI64=m
@@ -128,21 +171,34 @@ CONFIG_IP6_NF_MATCH_OPTS=m
128CONFIG_IP6_NF_MATCH_HL=m 171CONFIG_IP6_NF_MATCH_HL=m
129CONFIG_IP6_NF_MATCH_IPV6HEADER=m 172CONFIG_IP6_NF_MATCH_IPV6HEADER=m
130CONFIG_IP6_NF_MATCH_MH=m 173CONFIG_IP6_NF_MATCH_MH=m
174CONFIG_IP6_NF_MATCH_RPFILTER=m
131CONFIG_IP6_NF_MATCH_RT=m 175CONFIG_IP6_NF_MATCH_RT=m
132CONFIG_IP6_NF_TARGET_HL=m 176CONFIG_IP6_NF_TARGET_HL=m
133CONFIG_IP6_NF_TARGET_LOG=m
134CONFIG_IP6_NF_FILTER=m 177CONFIG_IP6_NF_FILTER=m
135CONFIG_IP6_NF_TARGET_REJECT=m 178CONFIG_IP6_NF_TARGET_REJECT=m
136CONFIG_IP6_NF_MANGLE=m 179CONFIG_IP6_NF_MANGLE=m
137CONFIG_IP6_NF_RAW=m 180CONFIG_IP6_NF_RAW=m
181CONFIG_NF_NAT_IPV6=m
182CONFIG_IP6_NF_TARGET_MASQUERADE=m
183CONFIG_IP6_NF_TARGET_NPT=m
138CONFIG_IP_DCCP=m 184CONFIG_IP_DCCP=m
139# CONFIG_IP_DCCP_CCID3 is not set 185# CONFIG_IP_DCCP_CCID3 is not set
186CONFIG_SCTP_COOKIE_HMAC_SHA1=y
187CONFIG_RDS=m
188CONFIG_RDS_TCP=m
189CONFIG_L2TP=m
140CONFIG_ATALK=m 190CONFIG_ATALK=m
191CONFIG_BATMAN_ADV=m
192CONFIG_BATMAN_ADV_DAT=y
193# CONFIG_WIRELESS is not set
141CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 194CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
195CONFIG_DEVTMPFS=y
142# CONFIG_FIRMWARE_IN_KERNEL is not set 196# CONFIG_FIRMWARE_IN_KERNEL is not set
197# CONFIG_FW_LOADER_USER_HELPER is not set
143CONFIG_CONNECTOR=m 198CONFIG_CONNECTOR=m
144CONFIG_BLK_DEV_LOOP=y 199CONFIG_BLK_DEV_LOOP=y
145CONFIG_BLK_DEV_CRYPTOLOOP=m 200CONFIG_BLK_DEV_CRYPTOLOOP=m
201CONFIG_BLK_DEV_DRBD=m
146CONFIG_BLK_DEV_NBD=m 202CONFIG_BLK_DEV_NBD=m
147CONFIG_BLK_DEV_RAM=y 203CONFIG_BLK_DEV_RAM=y
148CONFIG_CDROM_PKTCDVD=m 204CONFIG_CDROM_PKTCDVD=m
@@ -157,106 +213,136 @@ CONFIG_BLK_DEV_SR=y
157CONFIG_BLK_DEV_SR_VENDOR=y 213CONFIG_BLK_DEV_SR_VENDOR=y
158CONFIG_CHR_DEV_SG=m 214CONFIG_CHR_DEV_SG=m
159CONFIG_SCSI_CONSTANTS=y 215CONFIG_SCSI_CONSTANTS=y
160CONFIG_SCSI_SAS_LIBSAS=m 216CONFIG_SCSI_SAS_ATTRS=m
161# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
162CONFIG_SCSI_SRP_ATTRS=m
163CONFIG_SCSI_SRP_TGT_ATTRS=y
164CONFIG_ISCSI_TCP=m 217CONFIG_ISCSI_TCP=m
218CONFIG_ISCSI_BOOT_SYSFS=m
165CONFIG_SUN3X_ESP=y 219CONFIG_SUN3X_ESP=y
166CONFIG_MD=y 220CONFIG_MD=y
167CONFIG_BLK_DEV_MD=m
168CONFIG_MD_LINEAR=m 221CONFIG_MD_LINEAR=m
169CONFIG_MD_RAID0=m 222CONFIG_MD_RAID0=m
170CONFIG_MD_RAID1=m
171CONFIG_MD_RAID456=m
172CONFIG_BLK_DEV_DM=m 223CONFIG_BLK_DEV_DM=m
173CONFIG_DM_CRYPT=m 224CONFIG_DM_CRYPT=m
174CONFIG_DM_SNAPSHOT=m 225CONFIG_DM_SNAPSHOT=m
226CONFIG_DM_THIN_PROVISIONING=m
227CONFIG_DM_CACHE=m
175CONFIG_DM_MIRROR=m 228CONFIG_DM_MIRROR=m
229CONFIG_DM_RAID=m
176CONFIG_DM_ZERO=m 230CONFIG_DM_ZERO=m
177CONFIG_DM_MULTIPATH=m 231CONFIG_DM_MULTIPATH=m
178CONFIG_DM_UEVENT=y 232CONFIG_DM_UEVENT=y
233CONFIG_TARGET_CORE=m
234CONFIG_TCM_IBLOCK=m
235CONFIG_TCM_FILEIO=m
236CONFIG_TCM_PSCSI=m
179CONFIG_NETDEVICES=y 237CONFIG_NETDEVICES=y
180CONFIG_DUMMY=m 238CONFIG_DUMMY=m
181CONFIG_MACVLAN=m
182CONFIG_EQUALIZER=m 239CONFIG_EQUALIZER=m
240CONFIG_NET_TEAM=m
241CONFIG_NET_TEAM_MODE_BROADCAST=m
242CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
243CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
244CONFIG_NET_TEAM_MODE_LOADBALANCE=m
245CONFIG_VXLAN=m
246CONFIG_NETCONSOLE=m
247CONFIG_NETCONSOLE_DYNAMIC=y
183CONFIG_VETH=m 248CONFIG_VETH=m
184CONFIG_NET_ETHERNET=y
185CONFIG_SUN3LANCE=y 249CONFIG_SUN3LANCE=y
186# CONFIG_NETDEV_1000 is not set 250# CONFIG_NET_CADENCE is not set
187# CONFIG_NETDEV_10000 is not set 251# CONFIG_NET_VENDOR_BROADCOM is not set
252# CONFIG_NET_VENDOR_INTEL is not set
253# CONFIG_NET_VENDOR_MARVELL is not set
254# CONFIG_NET_VENDOR_MICREL is not set
255# CONFIG_NET_VENDOR_NATSEMI is not set
256# CONFIG_NET_VENDOR_SEEQ is not set
257# CONFIG_NET_VENDOR_STMICRO is not set
258# CONFIG_NET_VENDOR_WIZNET is not set
188CONFIG_PPP=m 259CONFIG_PPP=m
189CONFIG_PPP_FILTER=y
190CONFIG_PPP_ASYNC=m
191CONFIG_PPP_SYNC_TTY=m
192CONFIG_PPP_DEFLATE=m
193CONFIG_PPP_BSDCOMP=m 260CONFIG_PPP_BSDCOMP=m
261CONFIG_PPP_DEFLATE=m
262CONFIG_PPP_FILTER=y
194CONFIG_PPP_MPPE=m 263CONFIG_PPP_MPPE=m
195CONFIG_PPPOE=m 264CONFIG_PPPOE=m
265CONFIG_PPTP=m
266CONFIG_PPPOL2TP=m
267CONFIG_PPP_ASYNC=m
268CONFIG_PPP_SYNC_TTY=m
196CONFIG_SLIP=m 269CONFIG_SLIP=m
197CONFIG_SLIP_COMPRESSED=y 270CONFIG_SLIP_COMPRESSED=y
198CONFIG_SLIP_SMART=y 271CONFIG_SLIP_SMART=y
199CONFIG_SLIP_MODE_SLIP6=y 272CONFIG_SLIP_MODE_SLIP6=y
200CONFIG_NETCONSOLE=m 273# CONFIG_WLAN is not set
201CONFIG_NETCONSOLE_DYNAMIC=y 274CONFIG_INPUT_EVDEV=m
202CONFIG_INPUT_FF_MEMLESS=m
203# CONFIG_KEYBOARD_ATKBD is not set 275# CONFIG_KEYBOARD_ATKBD is not set
204CONFIG_KEYBOARD_SUNKBD=y 276CONFIG_KEYBOARD_SUNKBD=y
205CONFIG_MOUSE_PS2=m 277# CONFIG_MOUSE_PS2 is not set
206CONFIG_MOUSE_SERIAL=m 278CONFIG_MOUSE_SERIAL=m
207# CONFIG_SERIO_SERPORT is not set
208CONFIG_VT_HW_CONSOLE_BINDING=y 279CONFIG_VT_HW_CONSOLE_BINDING=y
280# CONFIG_LEGACY_PTYS is not set
209# CONFIG_DEVKMEM is not set 281# CONFIG_DEVKMEM is not set
210# CONFIG_HW_RANDOM is not set 282# CONFIG_HW_RANDOM is not set
211CONFIG_GEN_RTC=m 283CONFIG_NTP_PPS=y
212CONFIG_GEN_RTC_X=y 284CONFIG_PPS_CLIENT_LDISC=m
285CONFIG_PTP_1588_CLOCK=m
213# CONFIG_HWMON is not set 286# CONFIG_HWMON is not set
214CONFIG_FB=y 287CONFIG_FB=y
215CONFIG_FRAMEBUFFER_CONSOLE=y 288CONFIG_FRAMEBUFFER_CONSOLE=y
216CONFIG_LOGO=y 289CONFIG_LOGO=y
217CONFIG_HID=m 290CONFIG_HID=m
218CONFIG_HIDRAW=y 291CONFIG_HIDRAW=y
292CONFIG_UHID=m
293# CONFIG_HID_GENERIC is not set
219# CONFIG_USB_SUPPORT is not set 294# CONFIG_USB_SUPPORT is not set
295CONFIG_RTC_CLASS=y
296CONFIG_RTC_DRV_GENERIC=m
297# CONFIG_IOMMU_SUPPORT is not set
298CONFIG_PROC_HARDWARE=y
220CONFIG_EXT2_FS=y 299CONFIG_EXT2_FS=y
221CONFIG_EXT3_FS=y 300CONFIG_EXT3_FS=y
222# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 301# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
223# CONFIG_EXT3_FS_XATTR is not set 302# CONFIG_EXT3_FS_XATTR is not set
303CONFIG_EXT4_FS=y
224CONFIG_REISERFS_FS=m 304CONFIG_REISERFS_FS=m
225CONFIG_JFS_FS=m 305CONFIG_JFS_FS=m
226CONFIG_XFS_FS=m 306CONFIG_XFS_FS=m
227CONFIG_OCFS2_FS=m 307CONFIG_OCFS2_FS=m
228# CONFIG_OCFS2_FS_STATS is not set
229# CONFIG_OCFS2_DEBUG_MASKLOG is not set 308# CONFIG_OCFS2_DEBUG_MASKLOG is not set
309CONFIG_FANOTIFY=y
230CONFIG_QUOTA_NETLINK_INTERFACE=y 310CONFIG_QUOTA_NETLINK_INTERFACE=y
231# CONFIG_PRINT_QUOTA_WARNING is not set 311# CONFIG_PRINT_QUOTA_WARNING is not set
232CONFIG_AUTOFS_FS=m
233CONFIG_AUTOFS4_FS=m 312CONFIG_AUTOFS4_FS=m
234CONFIG_FUSE_FS=m 313CONFIG_FUSE_FS=m
314CONFIG_CUSE=m
235CONFIG_ISO9660_FS=y 315CONFIG_ISO9660_FS=y
236CONFIG_JOLIET=y 316CONFIG_JOLIET=y
237CONFIG_ZISOFS=y 317CONFIG_ZISOFS=y
238CONFIG_UDF_FS=m 318CONFIG_UDF_FS=m
239CONFIG_MSDOS_FS=y 319CONFIG_MSDOS_FS=m
240CONFIG_VFAT_FS=m 320CONFIG_VFAT_FS=m
241CONFIG_PROC_KCORE=y 321CONFIG_PROC_KCORE=y
242CONFIG_TMPFS=y 322CONFIG_TMPFS=y
243CONFIG_AFFS_FS=m 323CONFIG_AFFS_FS=m
324CONFIG_ECRYPT_FS=m
325CONFIG_ECRYPT_FS_MESSAGING=y
244CONFIG_HFS_FS=m 326CONFIG_HFS_FS=m
245CONFIG_HFSPLUS_FS=m 327CONFIG_HFSPLUS_FS=m
246CONFIG_CRAMFS=m 328CONFIG_CRAMFS=m
247CONFIG_SQUASHFS=m 329CONFIG_SQUASHFS=m
248CONFIG_MINIX_FS=y 330CONFIG_SQUASHFS_LZO=y
331CONFIG_MINIX_FS=m
332CONFIG_OMFS_FS=m
249CONFIG_HPFS_FS=m 333CONFIG_HPFS_FS=m
334CONFIG_QNX4FS_FS=m
335CONFIG_QNX6FS_FS=m
250CONFIG_SYSV_FS=m 336CONFIG_SYSV_FS=m
251CONFIG_UFS_FS=m 337CONFIG_UFS_FS=m
252CONFIG_NFS_FS=y 338CONFIG_NFS_FS=y
253CONFIG_NFS_V3=y
254CONFIG_NFS_V4=y 339CONFIG_NFS_V4=y
340CONFIG_NFS_SWAP=y
255CONFIG_ROOT_NFS=y 341CONFIG_ROOT_NFS=y
256CONFIG_NFSD=m 342CONFIG_NFSD=m
257CONFIG_NFSD_V3=y 343CONFIG_NFSD_V3=y
258CONFIG_SMB_FS=m 344CONFIG_CIFS=m
259CONFIG_SMB_NLS_DEFAULT=y 345# CONFIG_CIFS_DEBUG is not set
260CONFIG_CODA_FS=m 346CONFIG_CODA_FS=m
261CONFIG_NLS_CODEPAGE_437=y 347CONFIG_NLS_CODEPAGE_437=y
262CONFIG_NLS_CODEPAGE_737=m 348CONFIG_NLS_CODEPAGE_737=m
@@ -295,10 +381,23 @@ CONFIG_NLS_ISO8859_14=m
295CONFIG_NLS_ISO8859_15=m 381CONFIG_NLS_ISO8859_15=m
296CONFIG_NLS_KOI8_R=m 382CONFIG_NLS_KOI8_R=m
297CONFIG_NLS_KOI8_U=m 383CONFIG_NLS_KOI8_U=m
384CONFIG_NLS_MAC_ROMAN=m
385CONFIG_NLS_MAC_CELTIC=m
386CONFIG_NLS_MAC_CENTEURO=m
387CONFIG_NLS_MAC_CROATIAN=m
388CONFIG_NLS_MAC_CYRILLIC=m
389CONFIG_NLS_MAC_GAELIC=m
390CONFIG_NLS_MAC_GREEK=m
391CONFIG_NLS_MAC_ICELAND=m
392CONFIG_NLS_MAC_INUIT=m
393CONFIG_NLS_MAC_ROMANIAN=m
394CONFIG_NLS_MAC_TURKISH=m
298CONFIG_DLM=m 395CONFIG_DLM=m
299CONFIG_MAGIC_SYSRQ=y 396CONFIG_MAGIC_SYSRQ=y
300# CONFIG_RCU_CPU_STALL_DETECTOR is not set 397CONFIG_ASYNC_RAID6_TEST=m
301CONFIG_SYSCTL_SYSCALL_CHECK=y 398CONFIG_ENCRYPTED_KEYS=m
399CONFIG_CRYPTO_MANAGER=y
400CONFIG_CRYPTO_USER=m
302CONFIG_CRYPTO_NULL=m 401CONFIG_CRYPTO_NULL=m
303CONFIG_CRYPTO_CRYPTD=m 402CONFIG_CRYPTO_CRYPTD=m
304CONFIG_CRYPTO_TEST=m 403CONFIG_CRYPTO_TEST=m
@@ -308,19 +407,16 @@ CONFIG_CRYPTO_CTS=m
308CONFIG_CRYPTO_LRW=m 407CONFIG_CRYPTO_LRW=m
309CONFIG_CRYPTO_PCBC=m 408CONFIG_CRYPTO_PCBC=m
310CONFIG_CRYPTO_XTS=m 409CONFIG_CRYPTO_XTS=m
311CONFIG_CRYPTO_HMAC=y
312CONFIG_CRYPTO_XCBC=m 410CONFIG_CRYPTO_XCBC=m
313CONFIG_CRYPTO_MD4=m 411CONFIG_CRYPTO_VMAC=m
314CONFIG_CRYPTO_MICHAEL_MIC=m 412CONFIG_CRYPTO_MICHAEL_MIC=m
315CONFIG_CRYPTO_RMD128=m 413CONFIG_CRYPTO_RMD128=m
316CONFIG_CRYPTO_RMD160=m 414CONFIG_CRYPTO_RMD160=m
317CONFIG_CRYPTO_RMD256=m 415CONFIG_CRYPTO_RMD256=m
318CONFIG_CRYPTO_RMD320=m 416CONFIG_CRYPTO_RMD320=m
319CONFIG_CRYPTO_SHA256=m
320CONFIG_CRYPTO_SHA512=m 417CONFIG_CRYPTO_SHA512=m
321CONFIG_CRYPTO_TGR192=m 418CONFIG_CRYPTO_TGR192=m
322CONFIG_CRYPTO_WP512=m 419CONFIG_CRYPTO_WP512=m
323CONFIG_CRYPTO_AES=m
324CONFIG_CRYPTO_ANUBIS=m 420CONFIG_CRYPTO_ANUBIS=m
325CONFIG_CRYPTO_BLOWFISH=m 421CONFIG_CRYPTO_BLOWFISH=m
326CONFIG_CRYPTO_CAMELLIA=m 422CONFIG_CRYPTO_CAMELLIA=m
@@ -336,6 +432,14 @@ CONFIG_CRYPTO_TWOFISH=m
336CONFIG_CRYPTO_ZLIB=m 432CONFIG_CRYPTO_ZLIB=m
337CONFIG_CRYPTO_LZO=m 433CONFIG_CRYPTO_LZO=m
338# CONFIG_CRYPTO_ANSI_CPRNG is not set 434# CONFIG_CRYPTO_ANSI_CPRNG is not set
435CONFIG_CRYPTO_USER_API_HASH=m
436CONFIG_CRYPTO_USER_API_SKCIPHER=m
339# CONFIG_CRYPTO_HW is not set 437# CONFIG_CRYPTO_HW is not set
340CONFIG_CRC16=m
341CONFIG_CRC_T10DIF=y 438CONFIG_CRC_T10DIF=y
439CONFIG_XZ_DEC_X86=y
440CONFIG_XZ_DEC_POWERPC=y
441CONFIG_XZ_DEC_IA64=y
442CONFIG_XZ_DEC_ARM=y
443CONFIG_XZ_DEC_ARMTHUMB=y
444CONFIG_XZ_DEC_SPARC=y
445CONFIG_XZ_DEC_TEST=m
diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild
index c7933e41f10d..09d77a862da3 100644
--- a/arch/m68k/include/asm/Kbuild
+++ b/arch/m68k/include/asm/Kbuild
@@ -6,7 +6,6 @@ generic-y += device.h
6generic-y += emergency-restart.h 6generic-y += emergency-restart.h
7generic-y += errno.h 7generic-y += errno.h
8generic-y += exec.h 8generic-y += exec.h
9generic-y += futex.h
10generic-y += hw_irq.h 9generic-y += hw_irq.h
11generic-y += ioctl.h 10generic-y += ioctl.h
12generic-y += ipcbuf.h 11generic-y += ipcbuf.h
diff --git a/arch/m68k/include/asm/futex.h b/arch/m68k/include/asm/futex.h
new file mode 100644
index 000000000000..bc868af10c96
--- /dev/null
+++ b/arch/m68k/include/asm/futex.h
@@ -0,0 +1,94 @@
1#ifndef _ASM_M68K_FUTEX_H
2#define _ASM_M68K_FUTEX_H
3
4#ifdef __KERNEL__
5#if !defined(CONFIG_MMU)
6#include <asm-generic/futex.h>
7#else /* CONFIG_MMU */
8
9#include <linux/futex.h>
10#include <linux/uaccess.h>
11#include <asm/errno.h>
12
13static inline int
14futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
15 u32 oldval, u32 newval)
16{
17 u32 val;
18
19 if (unlikely(get_user(val, uaddr) != 0))
20 return -EFAULT;
21
22 if (val == oldval && unlikely(put_user(newval, uaddr) != 0))
23 return -EFAULT;
24
25 *uval = val;
26
27 return 0;
28}
29
30static inline int
31futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
32{
33 int op = (encoded_op >> 28) & 7;
34 int cmp = (encoded_op >> 24) & 15;
35 int oparg = (encoded_op << 8) >> 20;
36 int cmparg = (encoded_op << 20) >> 20;
37 int oldval, ret;
38 u32 tmp;
39
40 if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
41 oparg = 1 << oparg;
42
43 pagefault_disable(); /* implies preempt_disable() */
44
45 ret = -EFAULT;
46 if (unlikely(get_user(oldval, uaddr) != 0))
47 goto out_pagefault_enable;
48
49 ret = 0;
50 tmp = oldval;
51
52 switch (op) {
53 case FUTEX_OP_SET:
54 tmp = oparg;
55 break;
56 case FUTEX_OP_ADD:
57 tmp += oparg;
58 break;
59 case FUTEX_OP_OR:
60 tmp |= oparg;
61 break;
62 case FUTEX_OP_ANDN:
63 tmp &= ~oparg;
64 break;
65 case FUTEX_OP_XOR:
66 tmp ^= oparg;
67 break;
68 default:
69 ret = -ENOSYS;
70 }
71
72 if (ret == 0 && unlikely(put_user(tmp, uaddr) != 0))
73 ret = -EFAULT;
74
75out_pagefault_enable:
76 pagefault_enable(); /* subsumes preempt_enable() */
77
78 if (ret == 0) {
79 switch (cmp) {
80 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
81 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
82 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
83 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
84 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
85 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
86 default: ret = -ENOSYS;
87 }
88 }
89 return ret;
90}
91
92#endif /* CONFIG_MMU */
93#endif /* __KERNEL__ */
94#endif /* _ASM_M68K_FUTEX_H */
diff --git a/arch/m68k/include/asm/gpio.h b/arch/m68k/include/asm/gpio.h
index 8cc83431805b..2f6eec1e34b4 100644
--- a/arch/m68k/include/asm/gpio.h
+++ b/arch/m68k/include/asm/gpio.h
@@ -86,6 +86,7 @@ static inline int gpio_cansleep(unsigned gpio)
86 return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio); 86 return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio);
87} 87}
88 88
89#ifndef CONFIG_GPIOLIB
89static inline int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) 90static inline int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
90{ 91{
91 int err; 92 int err;
@@ -105,5 +106,5 @@ static inline int gpio_request_one(unsigned gpio, unsigned long flags, const cha
105 106
106 return err; 107 return err;
107} 108}
108 109#endif /* !CONFIG_GPIOLIB */
109#endif 110#endif
diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
index d197e7ff62c5..ac85f16534af 100644
--- a/arch/m68k/kernel/head.S
+++ b/arch/m68k/kernel/head.S
@@ -2752,11 +2752,9 @@ func_return get_new_page
2752#ifdef CONFIG_MAC 2752#ifdef CONFIG_MAC
2753 2753
2754L(scc_initable_mac): 2754L(scc_initable_mac):
2755 .byte 9,12 /* Reset */
2756 .byte 4,0x44 /* x16, 1 stopbit, no parity */ 2755 .byte 4,0x44 /* x16, 1 stopbit, no parity */
2757 .byte 3,0xc0 /* receiver: 8 bpc */ 2756 .byte 3,0xc0 /* receiver: 8 bpc */
2758 .byte 5,0xe2 /* transmitter: 8 bpc, assert dtr/rts */ 2757 .byte 5,0xe2 /* transmitter: 8 bpc, assert dtr/rts */
2759 .byte 9,0 /* no interrupts */
2760 .byte 10,0 /* NRZ */ 2758 .byte 10,0 /* NRZ */
2761 .byte 11,0x50 /* use baud rate generator */ 2759 .byte 11,0x50 /* use baud rate generator */
2762 .byte 12,1,13,0 /* 38400 baud */ 2760 .byte 12,1,13,0 /* 38400 baud */
@@ -2899,6 +2897,7 @@ func_start serial_init,%d0/%d1/%a0/%a1
2899 is_not_mac(L(serial_init_not_mac)) 2897 is_not_mac(L(serial_init_not_mac))
2900 2898
2901#ifdef SERIAL_DEBUG 2899#ifdef SERIAL_DEBUG
2900
2902/* You may define either or both of these. */ 2901/* You may define either or both of these. */
2903#define MAC_USE_SCC_A /* Modem port */ 2902#define MAC_USE_SCC_A /* Modem port */
2904#define MAC_USE_SCC_B /* Printer port */ 2903#define MAC_USE_SCC_B /* Printer port */
@@ -2908,9 +2907,21 @@ func_start serial_init,%d0/%d1/%a0/%a1
2908#define mac_scc_cha_b_data_offset 0x4 2907#define mac_scc_cha_b_data_offset 0x4
2909#define mac_scc_cha_a_data_offset 0x6 2908#define mac_scc_cha_a_data_offset 0x6
2910 2909
2910#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)
2911 movel %pc@(L(mac_sccbase)),%a0
2912 /* Reset SCC device */
2913 moveb #9,%a0@(mac_scc_cha_a_ctrl_offset)
2914 moveb #0xc0,%a0@(mac_scc_cha_a_ctrl_offset)
2915 /* Wait for 5 PCLK cycles, which is about 68 CPU cycles */
2916 /* 5 / 3.6864 MHz = approx. 1.36 us = 68 / 50 MHz */
2917 movel #35,%d0
29185:
2919 subq #1,%d0
2920 jne 5b
2921#endif
2922
2911#ifdef MAC_USE_SCC_A 2923#ifdef MAC_USE_SCC_A
2912 /* Initialize channel A */ 2924 /* Initialize channel A */
2913 movel %pc@(L(mac_sccbase)),%a0
2914 lea %pc@(L(scc_initable_mac)),%a1 2925 lea %pc@(L(scc_initable_mac)),%a1
29155: moveb %a1@+,%d0 29265: moveb %a1@+,%d0
2916 jmi 6f 2927 jmi 6f
@@ -2922,9 +2933,6 @@ func_start serial_init,%d0/%d1/%a0/%a1
2922 2933
2923#ifdef MAC_USE_SCC_B 2934#ifdef MAC_USE_SCC_B
2924 /* Initialize channel B */ 2935 /* Initialize channel B */
2925#ifndef MAC_USE_SCC_A /* Load mac_sccbase only if needed */
2926 movel %pc@(L(mac_sccbase)),%a0
2927#endif /* MAC_USE_SCC_A */
2928 lea %pc@(L(scc_initable_mac)),%a1 2936 lea %pc@(L(scc_initable_mac)),%a1
29297: moveb %a1@+,%d0 29377: moveb %a1@+,%d0
2930 jmi 8f 2938 jmi 8f
@@ -2933,6 +2941,7 @@ func_start serial_init,%d0/%d1/%a0/%a1
2933 jra 7b 2941 jra 7b
29348: 29428:
2935#endif /* MAC_USE_SCC_B */ 2943#endif /* MAC_USE_SCC_B */
2944
2936#endif /* SERIAL_DEBUG */ 2945#endif /* SERIAL_DEBUG */
2937 2946
2938 jra L(serial_init_done) 2947 jra L(serial_init_done)
@@ -3006,17 +3015,17 @@ func_start serial_putc,%d0/%d1/%a0/%a1
3006 3015
3007#ifdef SERIAL_DEBUG 3016#ifdef SERIAL_DEBUG
3008 3017
3009#ifdef MAC_USE_SCC_A 3018#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)
3010 movel %pc@(L(mac_sccbase)),%a1 3019 movel %pc@(L(mac_sccbase)),%a1
3020#endif
3021
3022#ifdef MAC_USE_SCC_A
30113: btst #2,%a1@(mac_scc_cha_a_ctrl_offset) 30233: btst #2,%a1@(mac_scc_cha_a_ctrl_offset)
3012 jeq 3b 3024 jeq 3b
3013 moveb %d0,%a1@(mac_scc_cha_a_data_offset) 3025 moveb %d0,%a1@(mac_scc_cha_a_data_offset)
3014#endif /* MAC_USE_SCC_A */ 3026#endif /* MAC_USE_SCC_A */
3015 3027
3016#ifdef MAC_USE_SCC_B 3028#ifdef MAC_USE_SCC_B
3017#ifndef MAC_USE_SCC_A /* Load mac_sccbase only if needed */
3018 movel %pc@(L(mac_sccbase)),%a1
3019#endif /* MAC_USE_SCC_A */
30204: btst #2,%a1@(mac_scc_cha_b_ctrl_offset) 30294: btst #2,%a1@(mac_scc_cha_b_ctrl_offset)
3021 jeq 4b 3030 jeq 4b
3022 moveb %d0,%a1@(mac_scc_cha_b_data_offset) 3031 moveb %d0,%a1@(mac_scc_cha_b_data_offset)
diff --git a/arch/metag/include/asm/hugetlb.h b/arch/metag/include/asm/hugetlb.h
index f545477e61f3..471f481e67f3 100644
--- a/arch/metag/include/asm/hugetlb.h
+++ b/arch/metag/include/asm/hugetlb.h
@@ -2,6 +2,7 @@
2#define _ASM_METAG_HUGETLB_H 2#define _ASM_METAG_HUGETLB_H
3 3
4#include <asm/page.h> 4#include <asm/page.h>
5#include <asm-generic/hugetlb.h>
5 6
6 7
7static inline int is_hugepage_only_range(struct mm_struct *mm, 8static inline int is_hugepage_only_range(struct mm_struct *mm,
diff --git a/arch/microblaze/include/asm/cacheflush.h b/arch/microblaze/include/asm/cacheflush.h
index 0f553bc009a0..ffea82a16d2c 100644
--- a/arch/microblaze/include/asm/cacheflush.h
+++ b/arch/microblaze/include/asm/cacheflush.h
@@ -102,21 +102,23 @@ do { \
102 102
103#define flush_cache_range(vma, start, len) do { } while (0) 103#define flush_cache_range(vma, start, len) do { } while (0)
104 104
105#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ 105static inline void copy_to_user_page(struct vm_area_struct *vma,
106do { \ 106 struct page *page, unsigned long vaddr,
107 u32 addr = virt_to_phys(dst); \ 107 void *dst, void *src, int len)
108 memcpy((dst), (src), (len)); \ 108{
109 if (vma->vm_flags & VM_EXEC) { \ 109 u32 addr = virt_to_phys(dst);
110 invalidate_icache_range((unsigned) (addr), \ 110 memcpy(dst, src, len);
111 (unsigned) (addr) + PAGE_SIZE); \ 111 if (vma->vm_flags & VM_EXEC) {
112 flush_dcache_range((unsigned) (addr), \ 112 invalidate_icache_range(addr, addr + PAGE_SIZE);
113 (unsigned) (addr) + PAGE_SIZE); \ 113 flush_dcache_range(addr, addr + PAGE_SIZE);
114 } \ 114 }
115} while (0) 115}
116 116
117#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ 117static inline void copy_from_user_page(struct vm_area_struct *vma,
118do { \ 118 struct page *page, unsigned long vaddr,
119 memcpy((dst), (src), (len)); \ 119 void *dst, void *src, int len)
120} while (0) 120{
121 memcpy(dst, src, len);
122}
121 123
122#endif /* _ASM_MICROBLAZE_CACHEFLUSH_H */ 124#endif /* _ASM_MICROBLAZE_CACHEFLUSH_H */
diff --git a/arch/microblaze/include/asm/futex.h b/arch/microblaze/include/asm/futex.h
index ff8cde159d9a..01848f056f43 100644
--- a/arch/microblaze/include/asm/futex.h
+++ b/arch/microblaze/include/asm/futex.h
@@ -105,7 +105,7 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
105 105
106 __asm__ __volatile__ ("1: lwx %1, %3, r0; \ 106 __asm__ __volatile__ ("1: lwx %1, %3, r0; \
107 cmp %2, %1, %4; \ 107 cmp %2, %1, %4; \
108 beqi %2, 3f; \ 108 bnei %2, 3f; \
109 2: swx %5, %3, r0; \ 109 2: swx %5, %3, r0; \
110 addic %2, r0, 0; \ 110 addic %2, r0, 0; \
111 bnei %2, 1b; \ 111 bnei %2, 1b; \
diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h
index 8cb8a8566ede..2565cb94f32f 100644
--- a/arch/microblaze/include/asm/io.h
+++ b/arch/microblaze/include/asm/io.h
@@ -123,11 +123,11 @@ static inline void writel(unsigned int v, volatile void __iomem *addr)
123 * inb_p/inw_p/... 123 * inb_p/inw_p/...
124 * The macros don't do byte-swapping. 124 * The macros don't do byte-swapping.
125 */ 125 */
126#define inb(port) readb((u8 *)((port))) 126#define inb(port) readb((u8 *)((unsigned long)(port)))
127#define outb(val, port) writeb((val), (u8 *)((unsigned long)(port))) 127#define outb(val, port) writeb((val), (u8 *)((unsigned long)(port)))
128#define inw(port) readw((u16 *)((port))) 128#define inw(port) readw((u16 *)((unsigned long)(port)))
129#define outw(val, port) writew((val), (u16 *)((unsigned long)(port))) 129#define outw(val, port) writew((val), (u16 *)((unsigned long)(port)))
130#define inl(port) readl((u32 *)((port))) 130#define inl(port) readl((u32 *)((unsigned long)(port)))
131#define outl(val, port) writel((val), (u32 *)((unsigned long)(port))) 131#define outl(val, port) writel((val), (u32 *)((unsigned long)(port)))
132 132
133#define inb_p(port) inb((port)) 133#define inb_p(port) inb((port))
diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h
index efe59d881789..04e49553bdf9 100644
--- a/arch/microblaze/include/asm/uaccess.h
+++ b/arch/microblaze/include/asm/uaccess.h
@@ -99,13 +99,13 @@ static inline int access_ok(int type, const void __user *addr,
99 if ((get_fs().seg < ((unsigned long)addr)) || 99 if ((get_fs().seg < ((unsigned long)addr)) ||
100 (get_fs().seg < ((unsigned long)addr + size - 1))) { 100 (get_fs().seg < ((unsigned long)addr + size - 1))) {
101 pr_debug("ACCESS fail: %s at 0x%08x (size 0x%x), seg 0x%08x\n", 101 pr_debug("ACCESS fail: %s at 0x%08x (size 0x%x), seg 0x%08x\n",
102 type ? "WRITE" : "READ ", (u32)addr, (u32)size, 102 type ? "WRITE" : "READ ", (__force u32)addr, (u32)size,
103 (u32)get_fs().seg); 103 (u32)get_fs().seg);
104 return 0; 104 return 0;
105 } 105 }
106ok: 106ok:
107 pr_debug("ACCESS OK: %s at 0x%08x (size 0x%x), seg 0x%08x\n", 107 pr_debug("ACCESS OK: %s at 0x%08x (size 0x%x), seg 0x%08x\n",
108 type ? "WRITE" : "READ ", (u32)addr, (u32)size, 108 type ? "WRITE" : "READ ", (__force u32)addr, (u32)size,
109 (u32)get_fs().seg); 109 (u32)get_fs().seg);
110 return 1; 110 return 1;
111} 111}
diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c
index 4254514b4c8c..a6e44410672d 100644
--- a/arch/microblaze/kernel/cpu/cache.c
+++ b/arch/microblaze/kernel/cpu/cache.c
@@ -140,7 +140,7 @@ do { \
140/* It is used only first parameter for OP - for wic, wdc */ 140/* It is used only first parameter for OP - for wic, wdc */
141#define CACHE_RANGE_LOOP_1(start, end, line_length, op) \ 141#define CACHE_RANGE_LOOP_1(start, end, line_length, op) \
142do { \ 142do { \
143 int volatile temp; \ 143 int volatile temp = 0; \
144 int align = ~(line_length - 1); \ 144 int align = ~(line_length - 1); \
145 end = ((end & align) == end) ? end - line_length : end & align; \ 145 end = ((end & align) == end) ? end - line_length : end & align; \
146 WARN_ON(end - start < 0); \ 146 WARN_ON(end - start < 0); \
diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
index b0baa299f899..01b1b3f94feb 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
@@ -428,13 +428,16 @@ static void octeon_restart(char *command)
428 */ 428 */
429static void octeon_kill_core(void *arg) 429static void octeon_kill_core(void *arg)
430{ 430{
431 mb(); 431 if (octeon_is_simulation())
432 if (octeon_is_simulation()) {
433 /* The simulator needs the watchdog to stop for dead cores */
434 cvmx_write_csr(CVMX_CIU_WDOGX(cvmx_get_core_num()), 0);
435 /* A break instruction causes the simulator stop a core */ 432 /* A break instruction causes the simulator stop a core */
436 asm volatile ("sync\nbreak"); 433 asm volatile ("break" ::: "memory");
437 } 434
435 local_irq_disable();
436 /* Disable watchdog on this core. */
437 cvmx_write_csr(CVMX_CIU_WDOGX(cvmx_get_core_num()), 0);
438 /* Spin in a low power mode. */
439 while (true)
440 asm volatile ("wait" ::: "memory");
438} 441}
439 442
440 443
diff --git a/arch/mips/include/asm/kvm_host.h b/arch/mips/include/asm/kvm_host.h
index 143875c6c95a..4d6fa0bf1305 100644
--- a/arch/mips/include/asm/kvm_host.h
+++ b/arch/mips/include/asm/kvm_host.h
@@ -496,10 +496,6 @@ struct kvm_mips_callbacks {
496 uint32_t cause); 496 uint32_t cause);
497 int (*irq_clear) (struct kvm_vcpu *vcpu, unsigned int priority, 497 int (*irq_clear) (struct kvm_vcpu *vcpu, unsigned int priority,
498 uint32_t cause); 498 uint32_t cause);
499 int (*vcpu_ioctl_get_regs) (struct kvm_vcpu *vcpu,
500 struct kvm_regs *regs);
501 int (*vcpu_ioctl_set_regs) (struct kvm_vcpu *vcpu,
502 struct kvm_regs *regs);
503}; 499};
504extern struct kvm_mips_callbacks *kvm_mips_callbacks; 500extern struct kvm_mips_callbacks *kvm_mips_callbacks;
505int kvm_mips_emulation_init(struct kvm_mips_callbacks **install_callbacks); 501int kvm_mips_emulation_init(struct kvm_mips_callbacks **install_callbacks);
diff --git a/arch/mips/include/asm/mmu_context.h b/arch/mips/include/asm/mmu_context.h
index 820116067c10..516e6e9a5594 100644
--- a/arch/mips/include/asm/mmu_context.h
+++ b/arch/mips/include/asm/mmu_context.h
@@ -117,7 +117,7 @@ get_new_mmu_context(struct mm_struct *mm, unsigned long cpu)
117 if (! ((asid += ASID_INC) & ASID_MASK) ) { 117 if (! ((asid += ASID_INC) & ASID_MASK) ) {
118 if (cpu_has_vtag_icache) 118 if (cpu_has_vtag_icache)
119 flush_icache_all(); 119 flush_icache_all();
120#ifdef CONFIG_VIRTUALIZATION 120#ifdef CONFIG_KVM
121 kvm_local_flush_tlb_all(); /* start new asid cycle */ 121 kvm_local_flush_tlb_all(); /* start new asid cycle */
122#else 122#else
123 local_flush_tlb_all(); /* start new asid cycle */ 123 local_flush_tlb_all(); /* start new asid cycle */
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h
index a3186f2bb8a0..5e6cd0947393 100644
--- a/arch/mips/include/asm/ptrace.h
+++ b/arch/mips/include/asm/ptrace.h
@@ -16,6 +16,38 @@
16#include <asm/isadep.h> 16#include <asm/isadep.h>
17#include <uapi/asm/ptrace.h> 17#include <uapi/asm/ptrace.h>
18 18
19/*
20 * This struct defines the way the registers are stored on the stack during a
21 * system call/exception. As usual the registers k0/k1 aren't being saved.
22 */
23struct pt_regs {
24#ifdef CONFIG_32BIT
25 /* Pad bytes for argument save space on the stack. */
26 unsigned long pad0[6];
27#endif
28
29 /* Saved main processor registers. */
30 unsigned long regs[32];
31
32 /* Saved special registers. */
33 unsigned long cp0_status;
34 unsigned long hi;
35 unsigned long lo;
36#ifdef CONFIG_CPU_HAS_SMARTMIPS
37 unsigned long acx;
38#endif
39 unsigned long cp0_badvaddr;
40 unsigned long cp0_cause;
41 unsigned long cp0_epc;
42#ifdef CONFIG_MIPS_MT_SMTC
43 unsigned long cp0_tcstatus;
44#endif /* CONFIG_MIPS_MT_SMTC */
45#ifdef CONFIG_CPU_CAVIUM_OCTEON
46 unsigned long long mpl[3]; /* MTM{0,1,2} */
47 unsigned long long mtp[3]; /* MTP{0,1,2} */
48#endif
49} __aligned(8);
50
19struct task_struct; 51struct task_struct;
20 52
21extern int ptrace_getregs(struct task_struct *child, __s64 __user *data); 53extern int ptrace_getregs(struct task_struct *child, __s64 __user *data);
diff --git a/arch/mips/include/uapi/asm/kvm.h b/arch/mips/include/uapi/asm/kvm.h
index 85789eacbf18..f09ff5ae2059 100644
--- a/arch/mips/include/uapi/asm/kvm.h
+++ b/arch/mips/include/uapi/asm/kvm.h
@@ -1,55 +1,135 @@
1/* 1/*
2* This file is subject to the terms and conditions of the GNU General Public 2 * This file is subject to the terms and conditions of the GNU General Public
3* License. See the file "COPYING" in the main directory of this archive 3 * License. See the file "COPYING" in the main directory of this archive
4* for more details. 4 * for more details.
5* 5 *
6* Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. 6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7* Authors: Sanjay Lal <sanjayl@kymasys.com> 7 * Copyright (C) 2013 Cavium, Inc.
8*/ 8 * Authors: Sanjay Lal <sanjayl@kymasys.com>
9 */
9 10
10#ifndef __LINUX_KVM_MIPS_H 11#ifndef __LINUX_KVM_MIPS_H
11#define __LINUX_KVM_MIPS_H 12#define __LINUX_KVM_MIPS_H
12 13
13#include <linux/types.h> 14#include <linux/types.h>
14 15
15#define __KVM_MIPS 16/*
16 17 * KVM MIPS specific structures and definitions.
17#define N_MIPS_COPROC_REGS 32 18 *
18#define N_MIPS_COPROC_SEL 8 19 * Some parts derived from the x86 version of this file.
20 */
19 21
20/* for KVM_GET_REGS and KVM_SET_REGS */ 22/*
23 * for KVM_GET_REGS and KVM_SET_REGS
24 *
25 * If Config[AT] is zero (32-bit CPU), the register contents are
26 * stored in the lower 32-bits of the struct kvm_regs fields and sign
27 * extended to 64-bits.
28 */
21struct kvm_regs { 29struct kvm_regs {
22 __u32 gprs[32]; 30 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */
23 __u32 hi; 31 __u64 gpr[32];
24 __u32 lo; 32 __u64 hi;
25 __u32 pc; 33 __u64 lo;
26 34 __u64 pc;
27 __u32 cp0reg[N_MIPS_COPROC_REGS][N_MIPS_COPROC_SEL];
28};
29
30/* for KVM_GET_SREGS and KVM_SET_SREGS */
31struct kvm_sregs {
32}; 35};
33 36
34/* for KVM_GET_FPU and KVM_SET_FPU */ 37/*
38 * for KVM_GET_FPU and KVM_SET_FPU
39 *
40 * If Status[FR] is zero (32-bit FPU), the upper 32-bits of the FPRs
41 * are zero filled.
42 */
35struct kvm_fpu { 43struct kvm_fpu {
44 __u64 fpr[32];
45 __u32 fir;
46 __u32 fccr;
47 __u32 fexr;
48 __u32 fenr;
49 __u32 fcsr;
50 __u32 pad;
36}; 51};
37 52
53
54/*
55 * For MIPS, we use KVM_SET_ONE_REG and KVM_GET_ONE_REG to access CP0
56 * registers. The id field is broken down as follows:
57 *
58 * bits[2..0] - Register 'sel' index.
59 * bits[7..3] - Register 'rd' index.
60 * bits[15..8] - Must be zero.
61 * bits[31..16] - 1 -> CP0 registers.
62 * bits[51..32] - Must be zero.
63 * bits[63..52] - As per linux/kvm.h
64 *
65 * Other sets registers may be added in the future. Each set would
66 * have its own identifier in bits[31..16].
67 *
68 * The registers defined in struct kvm_regs are also accessible, the
69 * id values for these are below.
70 */
71
72#define KVM_REG_MIPS_R0 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 0)
73#define KVM_REG_MIPS_R1 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 1)
74#define KVM_REG_MIPS_R2 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 2)
75#define KVM_REG_MIPS_R3 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 3)
76#define KVM_REG_MIPS_R4 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 4)
77#define KVM_REG_MIPS_R5 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 5)
78#define KVM_REG_MIPS_R6 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 6)
79#define KVM_REG_MIPS_R7 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 7)
80#define KVM_REG_MIPS_R8 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 8)
81#define KVM_REG_MIPS_R9 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 9)
82#define KVM_REG_MIPS_R10 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 10)
83#define KVM_REG_MIPS_R11 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 11)
84#define KVM_REG_MIPS_R12 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 12)
85#define KVM_REG_MIPS_R13 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 13)
86#define KVM_REG_MIPS_R14 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 14)
87#define KVM_REG_MIPS_R15 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 15)
88#define KVM_REG_MIPS_R16 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 16)
89#define KVM_REG_MIPS_R17 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 17)
90#define KVM_REG_MIPS_R18 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 18)
91#define KVM_REG_MIPS_R19 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 19)
92#define KVM_REG_MIPS_R20 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 20)
93#define KVM_REG_MIPS_R21 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 21)
94#define KVM_REG_MIPS_R22 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 22)
95#define KVM_REG_MIPS_R23 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 23)
96#define KVM_REG_MIPS_R24 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 24)
97#define KVM_REG_MIPS_R25 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 25)
98#define KVM_REG_MIPS_R26 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 26)
99#define KVM_REG_MIPS_R27 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 27)
100#define KVM_REG_MIPS_R28 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 28)
101#define KVM_REG_MIPS_R29 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 29)
102#define KVM_REG_MIPS_R30 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 30)
103#define KVM_REG_MIPS_R31 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 31)
104
105#define KVM_REG_MIPS_HI (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 32)
106#define KVM_REG_MIPS_LO (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 33)
107#define KVM_REG_MIPS_PC (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 34)
108
109/*
110 * KVM MIPS specific structures and definitions
111 *
112 */
38struct kvm_debug_exit_arch { 113struct kvm_debug_exit_arch {
114 __u64 epc;
39}; 115};
40 116
41/* for KVM_SET_GUEST_DEBUG */ 117/* for KVM_SET_GUEST_DEBUG */
42struct kvm_guest_debug_arch { 118struct kvm_guest_debug_arch {
43}; 119};
44 120
121/* definition of registers in kvm_run */
122struct kvm_sync_regs {
123};
124
125/* dummy definition */
126struct kvm_sregs {
127};
128
45struct kvm_mips_interrupt { 129struct kvm_mips_interrupt {
46 /* in */ 130 /* in */
47 __u32 cpu; 131 __u32 cpu;
48 __u32 irq; 132 __u32 irq;
49}; 133};
50 134
51/* definition of registers in kvm_run */
52struct kvm_sync_regs {
53};
54
55#endif /* __LINUX_KVM_MIPS_H */ 135#endif /* __LINUX_KVM_MIPS_H */
diff --git a/arch/mips/include/uapi/asm/ptrace.h b/arch/mips/include/uapi/asm/ptrace.h
index 4d58d8468705..b26f7e317279 100644
--- a/arch/mips/include/uapi/asm/ptrace.h
+++ b/arch/mips/include/uapi/asm/ptrace.h
@@ -22,16 +22,12 @@
22#define DSP_CONTROL 77 22#define DSP_CONTROL 77
23#define ACX 78 23#define ACX 78
24 24
25#ifndef __KERNEL__
25/* 26/*
26 * This struct defines the way the registers are stored on the stack during a 27 * This struct defines the way the registers are stored on the stack during a
27 * system call/exception. As usual the registers k0/k1 aren't being saved. 28 * system call/exception. As usual the registers k0/k1 aren't being saved.
28 */ 29 */
29struct pt_regs { 30struct pt_regs {
30#ifdef CONFIG_32BIT
31 /* Pad bytes for argument save space on the stack. */
32 unsigned long pad0[6];
33#endif
34
35 /* Saved main processor registers. */ 31 /* Saved main processor registers. */
36 unsigned long regs[32]; 32 unsigned long regs[32];
37 33
@@ -39,20 +35,11 @@ struct pt_regs {
39 unsigned long cp0_status; 35 unsigned long cp0_status;
40 unsigned long hi; 36 unsigned long hi;
41 unsigned long lo; 37 unsigned long lo;
42#ifdef CONFIG_CPU_HAS_SMARTMIPS
43 unsigned long acx;
44#endif
45 unsigned long cp0_badvaddr; 38 unsigned long cp0_badvaddr;
46 unsigned long cp0_cause; 39 unsigned long cp0_cause;
47 unsigned long cp0_epc; 40 unsigned long cp0_epc;
48#ifdef CONFIG_MIPS_MT_SMTC
49 unsigned long cp0_tcstatus;
50#endif /* CONFIG_MIPS_MT_SMTC */
51#ifdef CONFIG_CPU_CAVIUM_OCTEON
52 unsigned long long mpl[3]; /* MTM{0,1,2} */
53 unsigned long long mtp[3]; /* MTP{0,1,2} */
54#endif
55} __attribute__ ((aligned (8))); 41} __attribute__ ((aligned (8)));
42#endif /* __KERNEL__ */
56 43
57/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ 44/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
58#define PTRACE_GETREGS 12 45#define PTRACE_GETREGS 12
diff --git a/arch/mips/kernel/binfmt_elfn32.c b/arch/mips/kernel/binfmt_elfn32.c
index e06f777e9c49..1188e00bb120 100644
--- a/arch/mips/kernel/binfmt_elfn32.c
+++ b/arch/mips/kernel/binfmt_elfn32.c
@@ -119,4 +119,15 @@ MODULE_AUTHOR("Ralf Baechle (ralf@linux-mips.org)");
119#undef TASK_SIZE 119#undef TASK_SIZE
120#define TASK_SIZE TASK_SIZE32 120#define TASK_SIZE TASK_SIZE32
121 121
122#undef cputime_to_timeval
123#define cputime_to_timeval cputime_to_compat_timeval
124static __inline__ void
125cputime_to_compat_timeval(const cputime_t cputime, struct compat_timeval *value)
126{
127 unsigned long jiffies = cputime_to_jiffies(cputime);
128
129 value->tv_usec = (jiffies % HZ) * (1000000L / HZ);
130 value->tv_sec = jiffies / HZ;
131}
132
122#include "../../../fs/binfmt_elf.c" 133#include "../../../fs/binfmt_elf.c"
diff --git a/arch/mips/kernel/binfmt_elfo32.c b/arch/mips/kernel/binfmt_elfo32.c
index 97c5a1668e53..202e581e6096 100644
--- a/arch/mips/kernel/binfmt_elfo32.c
+++ b/arch/mips/kernel/binfmt_elfo32.c
@@ -162,4 +162,15 @@ MODULE_AUTHOR("Ralf Baechle (ralf@linux-mips.org)");
162#undef TASK_SIZE 162#undef TASK_SIZE
163#define TASK_SIZE TASK_SIZE32 163#define TASK_SIZE TASK_SIZE32
164 164
165#undef cputime_to_timeval
166#define cputime_to_timeval cputime_to_compat_timeval
167static __inline__ void
168cputime_to_compat_timeval(const cputime_t cputime, struct compat_timeval *value)
169{
170 unsigned long jiffies = cputime_to_jiffies(cputime);
171
172 value->tv_usec = (jiffies % HZ) * (1000000L / HZ);
173 value->tv_sec = jiffies / HZ;
174}
175
165#include "../../../fs/binfmt_elf.c" 176#include "../../../fs/binfmt_elf.c"
diff --git a/arch/mips/kernel/ftrace.c b/arch/mips/kernel/ftrace.c
index cf5509f13dd5..dba90ec0dc38 100644
--- a/arch/mips/kernel/ftrace.c
+++ b/arch/mips/kernel/ftrace.c
@@ -25,12 +25,16 @@
25#define MCOUNT_OFFSET_INSNS 4 25#define MCOUNT_OFFSET_INSNS 4
26#endif 26#endif
27 27
28#ifdef CONFIG_DYNAMIC_FTRACE
29
28/* Arch override because MIPS doesn't need to run this from stop_machine() */ 30/* Arch override because MIPS doesn't need to run this from stop_machine() */
29void arch_ftrace_update_code(int command) 31void arch_ftrace_update_code(int command)
30{ 32{
31 ftrace_modify_all_code(command); 33 ftrace_modify_all_code(command);
32} 34}
33 35
36#endif
37
34/* 38/*
35 * Check if the address is in kernel space 39 * Check if the address is in kernel space
36 * 40 *
diff --git a/arch/mips/kernel/idle.c b/arch/mips/kernel/idle.c
index 3b09b888afa9..0c655deeea4a 100644
--- a/arch/mips/kernel/idle.c
+++ b/arch/mips/kernel/idle.c
@@ -93,26 +93,27 @@ static void rm7k_wait_irqoff(void)
93} 93}
94 94
95/* 95/*
96 * The Au1xxx wait is available only if using 32khz counter or 96 * Au1 'wait' is only useful when the 32kHz counter is used as timer,
97 * external timer source, but specifically not CP0 Counter. 97 * since coreclock (and the cp0 counter) stops upon executing it. Only an
98 * alchemy/common/time.c may override cpu_wait! 98 * interrupt can wake it, so they must be enabled before entering idle modes.
99 */ 99 */
100static void au1k_wait(void) 100static void au1k_wait(void)
101{ 101{
102 unsigned long c0status = read_c0_status() | 1; /* irqs on */
103
102 __asm__( 104 __asm__(
103 " .set mips3 \n" 105 " .set mips3 \n"
104 " cache 0x14, 0(%0) \n" 106 " cache 0x14, 0(%0) \n"
105 " cache 0x14, 32(%0) \n" 107 " cache 0x14, 32(%0) \n"
106 " sync \n" 108 " sync \n"
107 " nop \n" 109 " mtc0 %1, $12 \n" /* wr c0status */
108 " wait \n" 110 " wait \n"
109 " nop \n" 111 " nop \n"
110 " nop \n" 112 " nop \n"
111 " nop \n" 113 " nop \n"
112 " nop \n" 114 " nop \n"
113 " .set mips0 \n" 115 " .set mips0 \n"
114 : : "r" (au1k_wait)); 116 : : "r" (au1k_wait), "r" (c0status));
115 local_irq_enable();
116} 117}
117 118
118static int __initdata nowait; 119static int __initdata nowait;
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c
index 93c070b41b0d..6fa198db8999 100644
--- a/arch/mips/kernel/rtlx.c
+++ b/arch/mips/kernel/rtlx.c
@@ -40,6 +40,7 @@
40#include <asm/processor.h> 40#include <asm/processor.h>
41#include <asm/vpe.h> 41#include <asm/vpe.h>
42#include <asm/rtlx.h> 42#include <asm/rtlx.h>
43#include <asm/setup.h>
43 44
44static struct rtlx_info *rtlx; 45static struct rtlx_info *rtlx;
45static int major; 46static int major;
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index e3be67012d78..a75ae40184aa 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -897,22 +897,24 @@ out_sigsegv:
897 897
898asmlinkage void do_tr(struct pt_regs *regs) 898asmlinkage void do_tr(struct pt_regs *regs)
899{ 899{
900 unsigned int opcode, tcode = 0; 900 u32 opcode, tcode = 0;
901 u16 instr[2]; 901 u16 instr[2];
902 unsigned long epc = exception_epc(regs); 902 unsigned long epc = msk_isa16_mode(exception_epc(regs));
903 903
904 if ((__get_user(instr[0], (u16 __user *)msk_isa16_mode(epc))) || 904 if (get_isa16_mode(regs->cp0_epc)) {
905 (__get_user(instr[1], (u16 __user *)msk_isa16_mode(epc + 2)))) 905 if (__get_user(instr[0], (u16 __user *)(epc + 0)) ||
906 __get_user(instr[1], (u16 __user *)(epc + 2)))
906 goto out_sigsegv; 907 goto out_sigsegv;
907 opcode = (instr[0] << 16) | instr[1]; 908 opcode = (instr[0] << 16) | instr[1];
908 909 /* Immediate versions don't provide a code. */
909 /* Immediate versions don't provide a code. */ 910 if (!(opcode & OPCODE))
910 if (!(opcode & OPCODE)) { 911 tcode = (opcode >> 12) & ((1 << 4) - 1);
911 if (get_isa16_mode(regs->cp0_epc)) 912 } else {
912 /* microMIPS */ 913 if (__get_user(opcode, (u32 __user *)epc))
913 tcode = (opcode >> 12) & 0x1f; 914 goto out_sigsegv;
914 else 915 /* Immediate versions don't provide a code. */
915 tcode = ((opcode >> 6) & ((1 << 10) - 1)); 916 if (!(opcode & OPCODE))
917 tcode = (opcode >> 6) & ((1 << 10) - 1);
916 } 918 }
917 919
918 do_trap_or_bp(regs, tcode, "Trap"); 920 do_trap_or_bp(regs, tcode, "Trap");
diff --git a/arch/mips/kvm/kvm_mips.c b/arch/mips/kvm/kvm_mips.c
index e0dad0289797..dd203e59e6fd 100644
--- a/arch/mips/kvm/kvm_mips.c
+++ b/arch/mips/kvm/kvm_mips.c
@@ -195,7 +195,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
195long 195long
196kvm_arch_dev_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg) 196kvm_arch_dev_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
197{ 197{
198 return -EINVAL; 198 return -ENOIOCTLCMD;
199} 199}
200 200
201void kvm_arch_free_memslot(struct kvm_memory_slot *free, 201void kvm_arch_free_memslot(struct kvm_memory_slot *free,
@@ -401,7 +401,7 @@ int
401kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu, 401kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,
402 struct kvm_guest_debug *dbg) 402 struct kvm_guest_debug *dbg)
403{ 403{
404 return -EINVAL; 404 return -ENOIOCTLCMD;
405} 405}
406 406
407int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) 407int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
@@ -475,14 +475,248 @@ int
475kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu, 475kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
476 struct kvm_mp_state *mp_state) 476 struct kvm_mp_state *mp_state)
477{ 477{
478 return -EINVAL; 478 return -ENOIOCTLCMD;
479} 479}
480 480
481int 481int
482kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu, 482kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
483 struct kvm_mp_state *mp_state) 483 struct kvm_mp_state *mp_state)
484{ 484{
485 return -EINVAL; 485 return -ENOIOCTLCMD;
486}
487
488#define MIPS_CP0_32(_R, _S) \
489 (KVM_REG_MIPS | KVM_REG_SIZE_U32 | 0x10000 | (8 * (_R) + (_S)))
490
491#define MIPS_CP0_64(_R, _S) \
492 (KVM_REG_MIPS | KVM_REG_SIZE_U64 | 0x10000 | (8 * (_R) + (_S)))
493
494#define KVM_REG_MIPS_CP0_INDEX MIPS_CP0_32(0, 0)
495#define KVM_REG_MIPS_CP0_ENTRYLO0 MIPS_CP0_64(2, 0)
496#define KVM_REG_MIPS_CP0_ENTRYLO1 MIPS_CP0_64(3, 0)
497#define KVM_REG_MIPS_CP0_CONTEXT MIPS_CP0_64(4, 0)
498#define KVM_REG_MIPS_CP0_USERLOCAL MIPS_CP0_64(4, 2)
499#define KVM_REG_MIPS_CP0_PAGEMASK MIPS_CP0_32(5, 0)
500#define KVM_REG_MIPS_CP0_PAGEGRAIN MIPS_CP0_32(5, 1)
501#define KVM_REG_MIPS_CP0_WIRED MIPS_CP0_32(6, 0)
502#define KVM_REG_MIPS_CP0_HWRENA MIPS_CP0_32(7, 0)
503#define KVM_REG_MIPS_CP0_BADVADDR MIPS_CP0_64(8, 0)
504#define KVM_REG_MIPS_CP0_COUNT MIPS_CP0_32(9, 0)
505#define KVM_REG_MIPS_CP0_ENTRYHI MIPS_CP0_64(10, 0)
506#define KVM_REG_MIPS_CP0_COMPARE MIPS_CP0_32(11, 0)
507#define KVM_REG_MIPS_CP0_STATUS MIPS_CP0_32(12, 0)
508#define KVM_REG_MIPS_CP0_CAUSE MIPS_CP0_32(13, 0)
509#define KVM_REG_MIPS_CP0_EBASE MIPS_CP0_64(15, 1)
510#define KVM_REG_MIPS_CP0_CONFIG MIPS_CP0_32(16, 0)
511#define KVM_REG_MIPS_CP0_CONFIG1 MIPS_CP0_32(16, 1)
512#define KVM_REG_MIPS_CP0_CONFIG2 MIPS_CP0_32(16, 2)
513#define KVM_REG_MIPS_CP0_CONFIG3 MIPS_CP0_32(16, 3)
514#define KVM_REG_MIPS_CP0_CONFIG7 MIPS_CP0_32(16, 7)
515#define KVM_REG_MIPS_CP0_XCONTEXT MIPS_CP0_64(20, 0)
516#define KVM_REG_MIPS_CP0_ERROREPC MIPS_CP0_64(30, 0)
517
518static u64 kvm_mips_get_one_regs[] = {
519 KVM_REG_MIPS_R0,
520 KVM_REG_MIPS_R1,
521 KVM_REG_MIPS_R2,
522 KVM_REG_MIPS_R3,
523 KVM_REG_MIPS_R4,
524 KVM_REG_MIPS_R5,
525 KVM_REG_MIPS_R6,
526 KVM_REG_MIPS_R7,
527 KVM_REG_MIPS_R8,
528 KVM_REG_MIPS_R9,
529 KVM_REG_MIPS_R10,
530 KVM_REG_MIPS_R11,
531 KVM_REG_MIPS_R12,
532 KVM_REG_MIPS_R13,
533 KVM_REG_MIPS_R14,
534 KVM_REG_MIPS_R15,
535 KVM_REG_MIPS_R16,
536 KVM_REG_MIPS_R17,
537 KVM_REG_MIPS_R18,
538 KVM_REG_MIPS_R19,
539 KVM_REG_MIPS_R20,
540 KVM_REG_MIPS_R21,
541 KVM_REG_MIPS_R22,
542 KVM_REG_MIPS_R23,
543 KVM_REG_MIPS_R24,
544 KVM_REG_MIPS_R25,
545 KVM_REG_MIPS_R26,
546 KVM_REG_MIPS_R27,
547 KVM_REG_MIPS_R28,
548 KVM_REG_MIPS_R29,
549 KVM_REG_MIPS_R30,
550 KVM_REG_MIPS_R31,
551
552 KVM_REG_MIPS_HI,
553 KVM_REG_MIPS_LO,
554 KVM_REG_MIPS_PC,
555
556 KVM_REG_MIPS_CP0_INDEX,
557 KVM_REG_MIPS_CP0_CONTEXT,
558 KVM_REG_MIPS_CP0_PAGEMASK,
559 KVM_REG_MIPS_CP0_WIRED,
560 KVM_REG_MIPS_CP0_BADVADDR,
561 KVM_REG_MIPS_CP0_ENTRYHI,
562 KVM_REG_MIPS_CP0_STATUS,
563 KVM_REG_MIPS_CP0_CAUSE,
564 /* EPC set via kvm_regs, et al. */
565 KVM_REG_MIPS_CP0_CONFIG,
566 KVM_REG_MIPS_CP0_CONFIG1,
567 KVM_REG_MIPS_CP0_CONFIG2,
568 KVM_REG_MIPS_CP0_CONFIG3,
569 KVM_REG_MIPS_CP0_CONFIG7,
570 KVM_REG_MIPS_CP0_ERROREPC
571};
572
573static int kvm_mips_get_reg(struct kvm_vcpu *vcpu,
574 const struct kvm_one_reg *reg)
575{
576 struct mips_coproc *cop0 = vcpu->arch.cop0;
577 s64 v;
578
579 switch (reg->id) {
580 case KVM_REG_MIPS_R0 ... KVM_REG_MIPS_R31:
581 v = (long)vcpu->arch.gprs[reg->id - KVM_REG_MIPS_R0];
582 break;
583 case KVM_REG_MIPS_HI:
584 v = (long)vcpu->arch.hi;
585 break;
586 case KVM_REG_MIPS_LO:
587 v = (long)vcpu->arch.lo;
588 break;
589 case KVM_REG_MIPS_PC:
590 v = (long)vcpu->arch.pc;
591 break;
592
593 case KVM_REG_MIPS_CP0_INDEX:
594 v = (long)kvm_read_c0_guest_index(cop0);
595 break;
596 case KVM_REG_MIPS_CP0_CONTEXT:
597 v = (long)kvm_read_c0_guest_context(cop0);
598 break;
599 case KVM_REG_MIPS_CP0_PAGEMASK:
600 v = (long)kvm_read_c0_guest_pagemask(cop0);
601 break;
602 case KVM_REG_MIPS_CP0_WIRED:
603 v = (long)kvm_read_c0_guest_wired(cop0);
604 break;
605 case KVM_REG_MIPS_CP0_BADVADDR:
606 v = (long)kvm_read_c0_guest_badvaddr(cop0);
607 break;
608 case KVM_REG_MIPS_CP0_ENTRYHI:
609 v = (long)kvm_read_c0_guest_entryhi(cop0);
610 break;
611 case KVM_REG_MIPS_CP0_STATUS:
612 v = (long)kvm_read_c0_guest_status(cop0);
613 break;
614 case KVM_REG_MIPS_CP0_CAUSE:
615 v = (long)kvm_read_c0_guest_cause(cop0);
616 break;
617 case KVM_REG_MIPS_CP0_ERROREPC:
618 v = (long)kvm_read_c0_guest_errorepc(cop0);
619 break;
620 case KVM_REG_MIPS_CP0_CONFIG:
621 v = (long)kvm_read_c0_guest_config(cop0);
622 break;
623 case KVM_REG_MIPS_CP0_CONFIG1:
624 v = (long)kvm_read_c0_guest_config1(cop0);
625 break;
626 case KVM_REG_MIPS_CP0_CONFIG2:
627 v = (long)kvm_read_c0_guest_config2(cop0);
628 break;
629 case KVM_REG_MIPS_CP0_CONFIG3:
630 v = (long)kvm_read_c0_guest_config3(cop0);
631 break;
632 case KVM_REG_MIPS_CP0_CONFIG7:
633 v = (long)kvm_read_c0_guest_config7(cop0);
634 break;
635 default:
636 return -EINVAL;
637 }
638 if ((reg->id & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U64) {
639 u64 __user *uaddr64 = (u64 __user *)(long)reg->addr;
640 return put_user(v, uaddr64);
641 } else if ((reg->id & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U32) {
642 u32 __user *uaddr32 = (u32 __user *)(long)reg->addr;
643 u32 v32 = (u32)v;
644 return put_user(v32, uaddr32);
645 } else {
646 return -EINVAL;
647 }
648}
649
650static int kvm_mips_set_reg(struct kvm_vcpu *vcpu,
651 const struct kvm_one_reg *reg)
652{
653 struct mips_coproc *cop0 = vcpu->arch.cop0;
654 u64 v;
655
656 if ((reg->id & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U64) {
657 u64 __user *uaddr64 = (u64 __user *)(long)reg->addr;
658
659 if (get_user(v, uaddr64) != 0)
660 return -EFAULT;
661 } else if ((reg->id & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U32) {
662 u32 __user *uaddr32 = (u32 __user *)(long)reg->addr;
663 s32 v32;
664
665 if (get_user(v32, uaddr32) != 0)
666 return -EFAULT;
667 v = (s64)v32;
668 } else {
669 return -EINVAL;
670 }
671
672 switch (reg->id) {
673 case KVM_REG_MIPS_R0:
674 /* Silently ignore requests to set $0 */
675 break;
676 case KVM_REG_MIPS_R1 ... KVM_REG_MIPS_R31:
677 vcpu->arch.gprs[reg->id - KVM_REG_MIPS_R0] = v;
678 break;
679 case KVM_REG_MIPS_HI:
680 vcpu->arch.hi = v;
681 break;
682 case KVM_REG_MIPS_LO:
683 vcpu->arch.lo = v;
684 break;
685 case KVM_REG_MIPS_PC:
686 vcpu->arch.pc = v;
687 break;
688
689 case KVM_REG_MIPS_CP0_INDEX:
690 kvm_write_c0_guest_index(cop0, v);
691 break;
692 case KVM_REG_MIPS_CP0_CONTEXT:
693 kvm_write_c0_guest_context(cop0, v);
694 break;
695 case KVM_REG_MIPS_CP0_PAGEMASK:
696 kvm_write_c0_guest_pagemask(cop0, v);
697 break;
698 case KVM_REG_MIPS_CP0_WIRED:
699 kvm_write_c0_guest_wired(cop0, v);
700 break;
701 case KVM_REG_MIPS_CP0_BADVADDR:
702 kvm_write_c0_guest_badvaddr(cop0, v);
703 break;
704 case KVM_REG_MIPS_CP0_ENTRYHI:
705 kvm_write_c0_guest_entryhi(cop0, v);
706 break;
707 case KVM_REG_MIPS_CP0_STATUS:
708 kvm_write_c0_guest_status(cop0, v);
709 break;
710 case KVM_REG_MIPS_CP0_CAUSE:
711 kvm_write_c0_guest_cause(cop0, v);
712 break;
713 case KVM_REG_MIPS_CP0_ERROREPC:
714 kvm_write_c0_guest_errorepc(cop0, v);
715 break;
716 default:
717 return -EINVAL;
718 }
719 return 0;
486} 720}
487 721
488long 722long
@@ -491,9 +725,38 @@ kvm_arch_vcpu_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
491 struct kvm_vcpu *vcpu = filp->private_data; 725 struct kvm_vcpu *vcpu = filp->private_data;
492 void __user *argp = (void __user *)arg; 726 void __user *argp = (void __user *)arg;
493 long r; 727 long r;
494 int intr;
495 728
496 switch (ioctl) { 729 switch (ioctl) {
730 case KVM_SET_ONE_REG:
731 case KVM_GET_ONE_REG: {
732 struct kvm_one_reg reg;
733 if (copy_from_user(&reg, argp, sizeof(reg)))
734 return -EFAULT;
735 if (ioctl == KVM_SET_ONE_REG)
736 return kvm_mips_set_reg(vcpu, &reg);
737 else
738 return kvm_mips_get_reg(vcpu, &reg);
739 }
740 case KVM_GET_REG_LIST: {
741 struct kvm_reg_list __user *user_list = argp;
742 u64 __user *reg_dest;
743 struct kvm_reg_list reg_list;
744 unsigned n;
745
746 if (copy_from_user(&reg_list, user_list, sizeof(reg_list)))
747 return -EFAULT;
748 n = reg_list.n;
749 reg_list.n = ARRAY_SIZE(kvm_mips_get_one_regs);
750 if (copy_to_user(user_list, &reg_list, sizeof(reg_list)))
751 return -EFAULT;
752 if (n < reg_list.n)
753 return -E2BIG;
754 reg_dest = user_list->reg;
755 if (copy_to_user(reg_dest, kvm_mips_get_one_regs,
756 sizeof(kvm_mips_get_one_regs)))
757 return -EFAULT;
758 return 0;
759 }
497 case KVM_NMI: 760 case KVM_NMI:
498 /* Treat the NMI as a CPU reset */ 761 /* Treat the NMI as a CPU reset */
499 r = kvm_mips_reset_vcpu(vcpu); 762 r = kvm_mips_reset_vcpu(vcpu);
@@ -505,8 +768,6 @@ kvm_arch_vcpu_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
505 if (copy_from_user(&irq, argp, sizeof(irq))) 768 if (copy_from_user(&irq, argp, sizeof(irq)))
506 goto out; 769 goto out;
507 770
508 intr = (int)irq.irq;
509
510 kvm_debug("[%d] %s: irq: %d\n", vcpu->vcpu_id, __func__, 771 kvm_debug("[%d] %s: irq: %d\n", vcpu->vcpu_id, __func__,
511 irq.irq); 772 irq.irq);
512 773
@@ -514,7 +775,7 @@ kvm_arch_vcpu_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
514 break; 775 break;
515 } 776 }
516 default: 777 default:
517 r = -EINVAL; 778 r = -ENOIOCTLCMD;
518 } 779 }
519 780
520out: 781out:
@@ -565,7 +826,7 @@ long kvm_arch_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
565 826
566 switch (ioctl) { 827 switch (ioctl) {
567 default: 828 default:
568 r = -EINVAL; 829 r = -ENOIOCTLCMD;
569 } 830 }
570 831
571 return r; 832 return r;
@@ -593,13 +854,13 @@ void kvm_arch_exit(void)
593int 854int
594kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs) 855kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
595{ 856{
596 return -ENOTSUPP; 857 return -ENOIOCTLCMD;
597} 858}
598 859
599int 860int
600kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs) 861kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
601{ 862{
602 return -ENOTSUPP; 863 return -ENOIOCTLCMD;
603} 864}
604 865
605int kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu) 866int kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu)
@@ -609,12 +870,12 @@ int kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu)
609 870
610int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) 871int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
611{ 872{
612 return -ENOTSUPP; 873 return -ENOIOCTLCMD;
613} 874}
614 875
615int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) 876int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
616{ 877{
617 return -ENOTSUPP; 878 return -ENOIOCTLCMD;
618} 879}
619 880
620int kvm_arch_vcpu_fault(struct kvm_vcpu *vcpu, struct vm_fault *vmf) 881int kvm_arch_vcpu_fault(struct kvm_vcpu *vcpu, struct vm_fault *vmf)
@@ -627,6 +888,9 @@ int kvm_dev_ioctl_check_extension(long ext)
627 int r; 888 int r;
628 889
629 switch (ext) { 890 switch (ext) {
891 case KVM_CAP_ONE_REG:
892 r = 1;
893 break;
630 case KVM_CAP_COALESCED_MMIO: 894 case KVM_CAP_COALESCED_MMIO:
631 r = KVM_COALESCED_MMIO_PAGE_OFFSET; 895 r = KVM_COALESCED_MMIO_PAGE_OFFSET;
632 break; 896 break;
@@ -635,7 +899,6 @@ int kvm_dev_ioctl_check_extension(long ext)
635 break; 899 break;
636 } 900 }
637 return r; 901 return r;
638
639} 902}
640 903
641int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu) 904int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu)
@@ -677,28 +940,28 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
677{ 940{
678 int i; 941 int i;
679 942
680 for (i = 0; i < 32; i++) 943 for (i = 1; i < ARRAY_SIZE(vcpu->arch.gprs); i++)
681 vcpu->arch.gprs[i] = regs->gprs[i]; 944 vcpu->arch.gprs[i] = regs->gpr[i];
682 945 vcpu->arch.gprs[0] = 0; /* zero is special, and cannot be set. */
683 vcpu->arch.hi = regs->hi; 946 vcpu->arch.hi = regs->hi;
684 vcpu->arch.lo = regs->lo; 947 vcpu->arch.lo = regs->lo;
685 vcpu->arch.pc = regs->pc; 948 vcpu->arch.pc = regs->pc;
686 949
687 return kvm_mips_callbacks->vcpu_ioctl_set_regs(vcpu, regs); 950 return 0;
688} 951}
689 952
690int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) 953int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
691{ 954{
692 int i; 955 int i;
693 956
694 for (i = 0; i < 32; i++) 957 for (i = 0; i < ARRAY_SIZE(vcpu->arch.gprs); i++)
695 regs->gprs[i] = vcpu->arch.gprs[i]; 958 regs->gpr[i] = vcpu->arch.gprs[i];
696 959
697 regs->hi = vcpu->arch.hi; 960 regs->hi = vcpu->arch.hi;
698 regs->lo = vcpu->arch.lo; 961 regs->lo = vcpu->arch.lo;
699 regs->pc = vcpu->arch.pc; 962 regs->pc = vcpu->arch.pc;
700 963
701 return kvm_mips_callbacks->vcpu_ioctl_get_regs(vcpu, regs); 964 return 0;
702} 965}
703 966
704void kvm_mips_comparecount_func(unsigned long data) 967void kvm_mips_comparecount_func(unsigned long data)
diff --git a/arch/mips/kvm/kvm_trap_emul.c b/arch/mips/kvm/kvm_trap_emul.c
index 466aeef044bd..30d725321db1 100644
--- a/arch/mips/kvm/kvm_trap_emul.c
+++ b/arch/mips/kvm/kvm_trap_emul.c
@@ -345,54 +345,6 @@ static int kvm_trap_emul_handle_break(struct kvm_vcpu *vcpu)
345 return ret; 345 return ret;
346} 346}
347 347
348static int
349kvm_trap_emul_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
350{
351 struct mips_coproc *cop0 = vcpu->arch.cop0;
352
353 kvm_write_c0_guest_index(cop0, regs->cp0reg[MIPS_CP0_TLB_INDEX][0]);
354 kvm_write_c0_guest_context(cop0, regs->cp0reg[MIPS_CP0_TLB_CONTEXT][0]);
355 kvm_write_c0_guest_badvaddr(cop0, regs->cp0reg[MIPS_CP0_BAD_VADDR][0]);
356 kvm_write_c0_guest_entryhi(cop0, regs->cp0reg[MIPS_CP0_TLB_HI][0]);
357 kvm_write_c0_guest_epc(cop0, regs->cp0reg[MIPS_CP0_EXC_PC][0]);
358
359 kvm_write_c0_guest_status(cop0, regs->cp0reg[MIPS_CP0_STATUS][0]);
360 kvm_write_c0_guest_cause(cop0, regs->cp0reg[MIPS_CP0_CAUSE][0]);
361 kvm_write_c0_guest_pagemask(cop0,
362 regs->cp0reg[MIPS_CP0_TLB_PG_MASK][0]);
363 kvm_write_c0_guest_wired(cop0, regs->cp0reg[MIPS_CP0_TLB_WIRED][0]);
364 kvm_write_c0_guest_errorepc(cop0, regs->cp0reg[MIPS_CP0_ERROR_PC][0]);
365
366 return 0;
367}
368
369static int
370kvm_trap_emul_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
371{
372 struct mips_coproc *cop0 = vcpu->arch.cop0;
373
374 regs->cp0reg[MIPS_CP0_TLB_INDEX][0] = kvm_read_c0_guest_index(cop0);
375 regs->cp0reg[MIPS_CP0_TLB_CONTEXT][0] = kvm_read_c0_guest_context(cop0);
376 regs->cp0reg[MIPS_CP0_BAD_VADDR][0] = kvm_read_c0_guest_badvaddr(cop0);
377 regs->cp0reg[MIPS_CP0_TLB_HI][0] = kvm_read_c0_guest_entryhi(cop0);
378 regs->cp0reg[MIPS_CP0_EXC_PC][0] = kvm_read_c0_guest_epc(cop0);
379
380 regs->cp0reg[MIPS_CP0_STATUS][0] = kvm_read_c0_guest_status(cop0);
381 regs->cp0reg[MIPS_CP0_CAUSE][0] = kvm_read_c0_guest_cause(cop0);
382 regs->cp0reg[MIPS_CP0_TLB_PG_MASK][0] =
383 kvm_read_c0_guest_pagemask(cop0);
384 regs->cp0reg[MIPS_CP0_TLB_WIRED][0] = kvm_read_c0_guest_wired(cop0);
385 regs->cp0reg[MIPS_CP0_ERROR_PC][0] = kvm_read_c0_guest_errorepc(cop0);
386
387 regs->cp0reg[MIPS_CP0_CONFIG][0] = kvm_read_c0_guest_config(cop0);
388 regs->cp0reg[MIPS_CP0_CONFIG][1] = kvm_read_c0_guest_config1(cop0);
389 regs->cp0reg[MIPS_CP0_CONFIG][2] = kvm_read_c0_guest_config2(cop0);
390 regs->cp0reg[MIPS_CP0_CONFIG][3] = kvm_read_c0_guest_config3(cop0);
391 regs->cp0reg[MIPS_CP0_CONFIG][7] = kvm_read_c0_guest_config7(cop0);
392
393 return 0;
394}
395
396static int kvm_trap_emul_vm_init(struct kvm *kvm) 348static int kvm_trap_emul_vm_init(struct kvm *kvm)
397{ 349{
398 return 0; 350 return 0;
@@ -471,8 +423,6 @@ static struct kvm_mips_callbacks kvm_trap_emul_callbacks = {
471 .dequeue_io_int = kvm_mips_dequeue_io_int_cb, 423 .dequeue_io_int = kvm_mips_dequeue_io_int_cb,
472 .irq_deliver = kvm_mips_irq_deliver_cb, 424 .irq_deliver = kvm_mips_irq_deliver_cb,
473 .irq_clear = kvm_mips_irq_clear_cb, 425 .irq_clear = kvm_mips_irq_clear_cb,
474 .vcpu_ioctl_get_regs = kvm_trap_emul_ioctl_get_regs,
475 .vcpu_ioctl_set_regs = kvm_trap_emul_ioctl_set_regs,
476}; 426};
477 427
478int kvm_mips_emulation_init(struct kvm_mips_callbacks **install_callbacks) 428int kvm_mips_emulation_init(struct kvm_mips_callbacks **install_callbacks)
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index ce9818eef7d3..afeef93f81a7 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -301,10 +301,6 @@ static u32 tlb_handler[128] __cpuinitdata;
301static struct uasm_label labels[128] __cpuinitdata; 301static struct uasm_label labels[128] __cpuinitdata;
302static struct uasm_reloc relocs[128] __cpuinitdata; 302static struct uasm_reloc relocs[128] __cpuinitdata;
303 303
304#ifdef CONFIG_64BIT
305static int check_for_high_segbits __cpuinitdata;
306#endif
307
308static int check_for_high_segbits __cpuinitdata; 304static int check_for_high_segbits __cpuinitdata;
309 305
310static unsigned int kscratch_used_mask __cpuinitdata; 306static unsigned int kscratch_used_mask __cpuinitdata;
diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
index fb1569580def..6b5f3406f414 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -88,7 +88,7 @@ void __init plat_mem_setup(void)
88 __dt_setup_arch(&__dtb_start); 88 __dt_setup_arch(&__dtb_start);
89 89
90 if (soc_info.mem_size) 90 if (soc_info.mem_size)
91 add_memory_region(soc_info.mem_base, soc_info.mem_size, 91 add_memory_region(soc_info.mem_base, soc_info.mem_size * SZ_1M,
92 BOOT_MEM_RAM); 92 BOOT_MEM_RAM);
93 else 93 else
94 detect_memory_region(soc_info.mem_base, 94 detect_memory_region(soc_info.mem_base,
diff --git a/arch/mn10300/include/asm/irqflags.h b/arch/mn10300/include/asm/irqflags.h
index 678f68d5f37b..8730c0a3c37d 100644
--- a/arch/mn10300/include/asm/irqflags.h
+++ b/arch/mn10300/include/asm/irqflags.h
@@ -13,9 +13,8 @@
13#define _ASM_IRQFLAGS_H 13#define _ASM_IRQFLAGS_H
14 14
15#include <asm/cpu-regs.h> 15#include <asm/cpu-regs.h>
16#ifndef __ASSEMBLY__ 16/* linux/smp.h <- linux/irqflags.h needs asm/smp.h first */
17#include <linux/smp.h> 17#include <asm/smp.h>
18#endif
19 18
20/* 19/*
21 * interrupt control 20 * interrupt control
diff --git a/arch/mn10300/include/asm/pci.h b/arch/mn10300/include/asm/pci.h
index 8137c25c4e15..6f31cc0f1a87 100644
--- a/arch/mn10300/include/asm/pci.h
+++ b/arch/mn10300/include/asm/pci.h
@@ -103,4 +103,6 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
103 return channel ? 15 : 14; 103 return channel ? 15 : 14;
104} 104}
105 105
106#include <asm-generic/pci_iomap.h>
107
106#endif /* _ASM_PCI_H */ 108#endif /* _ASM_PCI_H */
diff --git a/arch/mn10300/include/asm/smp.h b/arch/mn10300/include/asm/smp.h
index 6745dbe64944..56c42417d428 100644
--- a/arch/mn10300/include/asm/smp.h
+++ b/arch/mn10300/include/asm/smp.h
@@ -24,6 +24,7 @@
24#ifndef __ASSEMBLY__ 24#ifndef __ASSEMBLY__
25#include <linux/threads.h> 25#include <linux/threads.h>
26#include <linux/cpumask.h> 26#include <linux/cpumask.h>
27#include <linux/thread_info.h>
27#endif 28#endif
28 29
29#ifdef CONFIG_SMP 30#ifdef CONFIG_SMP
@@ -85,7 +86,7 @@ extern cpumask_t cpu_boot_map;
85extern void smp_init_cpus(void); 86extern void smp_init_cpus(void);
86extern void smp_cache_interrupt(void); 87extern void smp_cache_interrupt(void);
87extern void send_IPI_allbutself(int irq); 88extern void send_IPI_allbutself(int irq);
88extern int smp_nmi_call_function(smp_call_func_t func, void *info, int wait); 89extern int smp_nmi_call_function(void (*func)(void *), void *info, int wait);
89 90
90extern void arch_send_call_function_single_ipi(int cpu); 91extern void arch_send_call_function_single_ipi(int cpu);
91extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); 92extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
@@ -100,6 +101,7 @@ extern void __cpu_die(unsigned int cpu);
100#ifndef __ASSEMBLY__ 101#ifndef __ASSEMBLY__
101 102
102static inline void smp_init_cpus(void) {} 103static inline void smp_init_cpus(void) {}
104#define raw_smp_processor_id() 0
103 105
104#endif /* __ASSEMBLY__ */ 106#endif /* __ASSEMBLY__ */
105#endif /* CONFIG_SMP */ 107#endif /* CONFIG_SMP */
diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S
index 68fcab8f8f6f..222152a3f751 100644
--- a/arch/mn10300/kernel/entry.S
+++ b/arch/mn10300/kernel/entry.S
@@ -60,6 +60,7 @@ ENTRY(ret_from_kernel_thread)
60 mov (REG_D0,fp),d0 60 mov (REG_D0,fp),d0
61 mov (REG_A0,fp),a0 61 mov (REG_A0,fp),a0
62 calls (a0) 62 calls (a0)
63 GET_THREAD_INFO a2 # A2 must be set on return from sys_exit()
63 clr d0 64 clr d0
64 mov d0,(REG_D0,fp) 65 mov d0,(REG_D0,fp)
65 jmp syscall_exit 66 jmp syscall_exit
@@ -107,10 +108,10 @@ syscall_exit_work:
107 and EPSW_nSL,d0 108 and EPSW_nSL,d0
108 beq resume_kernel # returning to supervisor mode 109 beq resume_kernel # returning to supervisor mode
109 110
110 btst _TIF_SYSCALL_TRACE,d2
111 beq work_pending
112 LOCAL_IRQ_ENABLE # could let syscall_trace_exit() call 111 LOCAL_IRQ_ENABLE # could let syscall_trace_exit() call
113 # schedule() instead 112 # schedule() instead
113 btst _TIF_SYSCALL_TRACE,d2
114 beq work_pending
114 mov fp,d0 115 mov fp,d0
115 call syscall_trace_exit[],0 # do_syscall_trace(regs) 116 call syscall_trace_exit[],0 # do_syscall_trace(regs)
116 jmp resume_userspace 117 jmp resume_userspace
@@ -123,6 +124,7 @@ work_pending:
123work_resched: 124work_resched:
124 call schedule[],0 125 call schedule[],0
125 126
127resume_userspace:
126 # make sure we don't miss an interrupt setting need_resched or 128 # make sure we don't miss an interrupt setting need_resched or
127 # sigpending between sampling and the rti 129 # sigpending between sampling and the rti
128 LOCAL_IRQ_DISABLE 130 LOCAL_IRQ_DISABLE
@@ -131,6 +133,8 @@ work_resched:
131 mov (TI_flags,a2),d2 133 mov (TI_flags,a2),d2
132 btst _TIF_WORK_MASK,d2 134 btst _TIF_WORK_MASK,d2
133 beq restore_all 135 beq restore_all
136
137 LOCAL_IRQ_ENABLE
134 btst _TIF_NEED_RESCHED,d2 138 btst _TIF_NEED_RESCHED,d2
135 bne work_resched 139 bne work_resched
136 140
@@ -169,17 +173,6 @@ ret_from_intr:
169 and EPSW_nSL,d0 173 and EPSW_nSL,d0
170 beq resume_kernel # returning to supervisor mode 174 beq resume_kernel # returning to supervisor mode
171 175
172ENTRY(resume_userspace)
173 # make sure we don't miss an interrupt setting need_resched or
174 # sigpending between sampling and the rti
175 LOCAL_IRQ_DISABLE
176
177 # is there any work to be done on int/exception return?
178 mov (TI_flags,a2),d2
179 btst _TIF_WORK_MASK,d2
180 bne work_pending
181 jmp restore_all
182
183#ifdef CONFIG_PREEMPT 176#ifdef CONFIG_PREEMPT
184ENTRY(resume_kernel) 177ENTRY(resume_kernel)
185 LOCAL_IRQ_DISABLE 178 LOCAL_IRQ_DISABLE
diff --git a/arch/mn10300/unit-asb2305/pci.c b/arch/mn10300/unit-asb2305/pci.c
index 1adcf024bb9a..e37fac0461f3 100644
--- a/arch/mn10300/unit-asb2305/pci.c
+++ b/arch/mn10300/unit-asb2305/pci.c
@@ -19,6 +19,7 @@
19#include <linux/delay.h> 19#include <linux/delay.h>
20#include <linux/irq.h> 20#include <linux/irq.h>
21#include <asm/io.h> 21#include <asm/io.h>
22#include <asm/irq.h>
22#include "pci-asb2305.h" 23#include "pci-asb2305.h"
23 24
24unsigned int pci_probe = 1; 25unsigned int pci_probe = 1;
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index 197690068f88..96ec3982be8d 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -66,7 +66,7 @@ KBUILD_CFLAGS_KERNEL += -mlong-calls
66endif 66endif
67 67
68# select which processor to optimise for 68# select which processor to optimise for
69cflags-$(CONFIG_PA7100) += -march=1.1 -mschedule=7100 69cflags-$(CONFIG_PA7000) += -march=1.1 -mschedule=7100
70cflags-$(CONFIG_PA7200) += -march=1.1 -mschedule=7200 70cflags-$(CONFIG_PA7200) += -march=1.1 -mschedule=7200
71cflags-$(CONFIG_PA7100LC) += -march=1.1 -mschedule=7100LC 71cflags-$(CONFIG_PA7100LC) += -march=1.1 -mschedule=7100LC
72cflags-$(CONFIG_PA7300LC) += -march=1.1 -mschedule=7300 72cflags-$(CONFIG_PA7300LC) += -march=1.1 -mschedule=7300
diff --git a/arch/parisc/include/asm/assembly.h b/arch/parisc/include/asm/assembly.h
index 89fb40005e3f..0da848232344 100644
--- a/arch/parisc/include/asm/assembly.h
+++ b/arch/parisc/include/asm/assembly.h
@@ -438,7 +438,6 @@
438 SAVE_SP (%sr4, PT_SR4 (\regs)) 438 SAVE_SP (%sr4, PT_SR4 (\regs))
439 SAVE_SP (%sr5, PT_SR5 (\regs)) 439 SAVE_SP (%sr5, PT_SR5 (\regs))
440 SAVE_SP (%sr6, PT_SR6 (\regs)) 440 SAVE_SP (%sr6, PT_SR6 (\regs))
441 SAVE_SP (%sr7, PT_SR7 (\regs))
442 441
443 SAVE_CR (%cr17, PT_IASQ0(\regs)) 442 SAVE_CR (%cr17, PT_IASQ0(\regs))
444 mtctl %r0, %cr17 443 mtctl %r0, %cr17
diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h
index c19f7138ba48..241c34518465 100644
--- a/arch/parisc/include/asm/hardirq.h
+++ b/arch/parisc/include/asm/hardirq.h
@@ -17,17 +17,14 @@
17 17
18typedef struct { 18typedef struct {
19 unsigned int __softirq_pending; 19 unsigned int __softirq_pending;
20#ifdef CONFIG_DEBUG_STACKOVERFLOW
21 unsigned int kernel_stack_usage; 20 unsigned int kernel_stack_usage;
22#ifdef CONFIG_IRQSTACKS
23 unsigned int irq_stack_usage; 21 unsigned int irq_stack_usage;
24 unsigned int irq_stack_counter;
25#endif
26#endif
27#ifdef CONFIG_SMP 22#ifdef CONFIG_SMP
28 unsigned int irq_resched_count; 23 unsigned int irq_resched_count;
29 unsigned int irq_call_count; 24 unsigned int irq_call_count;
30#endif 25#endif
26 unsigned int irq_unaligned_count;
27 unsigned int irq_fpassist_count;
31 unsigned int irq_tlb_count; 28 unsigned int irq_tlb_count;
32} ____cacheline_aligned irq_cpustat_t; 29} ____cacheline_aligned irq_cpustat_t;
33 30
diff --git a/arch/parisc/include/asm/mmzone.h b/arch/parisc/include/asm/mmzone.h
index 0e625ab9aaec..b6b34a0987e7 100644
--- a/arch/parisc/include/asm/mmzone.h
+++ b/arch/parisc/include/asm/mmzone.h
@@ -27,7 +27,7 @@ extern struct node_map_data node_data[];
27 27
28#define PFNNID_SHIFT (30 - PAGE_SHIFT) 28#define PFNNID_SHIFT (30 - PAGE_SHIFT)
29#define PFNNID_MAP_MAX 512 /* support 512GB */ 29#define PFNNID_MAP_MAX 512 /* support 512GB */
30extern unsigned char pfnnid_map[PFNNID_MAP_MAX]; 30extern signed char pfnnid_map[PFNNID_MAP_MAX];
31 31
32#ifndef CONFIG_64BIT 32#ifndef CONFIG_64BIT
33#define pfn_is_io(pfn) ((pfn & (0xf0000000UL >> PAGE_SHIFT)) == (0xf0000000UL >> PAGE_SHIFT)) 33#define pfn_is_io(pfn) ((pfn & (0xf0000000UL >> PAGE_SHIFT)) == (0xf0000000UL >> PAGE_SHIFT))
@@ -39,17 +39,14 @@ extern unsigned char pfnnid_map[PFNNID_MAP_MAX];
39static inline int pfn_to_nid(unsigned long pfn) 39static inline int pfn_to_nid(unsigned long pfn)
40{ 40{
41 unsigned int i; 41 unsigned int i;
42 unsigned char r;
43 42
44 if (unlikely(pfn_is_io(pfn))) 43 if (unlikely(pfn_is_io(pfn)))
45 return 0; 44 return 0;
46 45
47 i = pfn >> PFNNID_SHIFT; 46 i = pfn >> PFNNID_SHIFT;
48 BUG_ON(i >= ARRAY_SIZE(pfnnid_map)); 47 BUG_ON(i >= ARRAY_SIZE(pfnnid_map));
49 r = pfnnid_map[i];
50 BUG_ON(r == 0xff);
51 48
52 return (int)r; 49 return pfnnid_map[i];
53} 50}
54 51
55static inline int pfn_valid(int pfn) 52static inline int pfn_valid(int pfn)
diff --git a/arch/parisc/include/asm/pci.h b/arch/parisc/include/asm/pci.h
index 3234f492d575..465154076d23 100644
--- a/arch/parisc/include/asm/pci.h
+++ b/arch/parisc/include/asm/pci.h
@@ -225,4 +225,9 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
225 return channel ? 15 : 14; 225 return channel ? 15 : 14;
226} 226}
227 227
228#define HAVE_PCI_MMAP
229
230extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
231 enum pci_mmap_state mmap_state, int write_combine);
232
228#endif /* __ASM_PARISC_PCI_H */ 233#endif /* __ASM_PARISC_PCI_H */
diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h
index cfbc43929cf6..cc2290a3cace 100644
--- a/arch/parisc/include/asm/processor.h
+++ b/arch/parisc/include/asm/processor.h
@@ -17,7 +17,6 @@
17#include <asm/ptrace.h> 17#include <asm/ptrace.h>
18#include <asm/types.h> 18#include <asm/types.h>
19#include <asm/percpu.h> 19#include <asm/percpu.h>
20
21#endif /* __ASSEMBLY__ */ 20#endif /* __ASSEMBLY__ */
22 21
23/* 22/*
@@ -59,26 +58,6 @@
59#ifndef __ASSEMBLY__ 58#ifndef __ASSEMBLY__
60 59
61/* 60/*
62 * IRQ STACK - used for irq handler
63 */
64#ifdef __KERNEL__
65
66#include <linux/spinlock_types.h>
67
68#define IRQ_STACK_SIZE (4096 << 2) /* 16k irq stack size */
69
70union irq_stack_union {
71 unsigned long stack[IRQ_STACK_SIZE/sizeof(unsigned long)];
72 raw_spinlock_t lock;
73};
74
75DECLARE_PER_CPU(union irq_stack_union, irq_stack_union);
76
77void call_on_stack(unsigned long p1, void *func, unsigned long new_stack);
78
79#endif /* __KERNEL__ */
80
81/*
82 * Data detected about CPUs at boot time which is the same for all CPU's. 61 * Data detected about CPUs at boot time which is the same for all CPU's.
83 * HP boxes are SMP - ie identical processors. 62 * HP boxes are SMP - ie identical processors.
84 * 63 *
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c
index 5709c5e59be8..14285caec71a 100644
--- a/arch/parisc/kernel/drivers.c
+++ b/arch/parisc/kernel/drivers.c
@@ -394,7 +394,7 @@ EXPORT_SYMBOL(print_pci_hwpath);
394static void setup_bus_id(struct parisc_device *padev) 394static void setup_bus_id(struct parisc_device *padev)
395{ 395{
396 struct hardware_path path; 396 struct hardware_path path;
397 char name[20]; 397 char name[28];
398 char *output = name; 398 char *output = name;
399 int i; 399 int i;
400 400
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index ae27cb6ce19a..e8f07dd28401 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -65,15 +65,11 @@
65 rsm PSW_SM_I, %r0 /* barrier for "Relied upon Translation */ 65 rsm PSW_SM_I, %r0 /* barrier for "Relied upon Translation */
66 mtsp %r0, %sr4 66 mtsp %r0, %sr4
67 mtsp %r0, %sr5 67 mtsp %r0, %sr5
68 mfsp %sr7, %r1 68 mtsp %r0, %sr6
69 or,= %r0,%r1,%r0 /* Only save sr7 in sr3 if sr7 != 0 */
70 mtsp %r1, %sr3
71 tovirt_r1 %r29 69 tovirt_r1 %r29
72 load32 KERNEL_PSW, %r1 70 load32 KERNEL_PSW, %r1
73 71
74 rsm PSW_SM_QUIET,%r0 /* second "heavy weight" ctl op */ 72 rsm PSW_SM_QUIET,%r0 /* second "heavy weight" ctl op */
75 mtsp %r0, %sr6
76 mtsp %r0, %sr7
77 mtctl %r0, %cr17 /* Clear IIASQ tail */ 73 mtctl %r0, %cr17 /* Clear IIASQ tail */
78 mtctl %r0, %cr17 /* Clear IIASQ head */ 74 mtctl %r0, %cr17 /* Clear IIASQ head */
79 mtctl %r1, %ipsw 75 mtctl %r1, %ipsw
@@ -119,17 +115,20 @@
119 115
120 /* we save the registers in the task struct */ 116 /* we save the registers in the task struct */
121 117
118 copy %r30, %r17
122 mfctl %cr30, %r1 119 mfctl %cr30, %r1
120 ldo THREAD_SZ_ALGN(%r1), %r30
121 mtsp %r0,%sr7
122 mtsp %r16,%sr3
123 tophys %r1,%r9 123 tophys %r1,%r9
124 LDREG TI_TASK(%r9), %r1 /* thread_info -> task_struct */ 124 LDREG TI_TASK(%r9), %r1 /* thread_info -> task_struct */
125 tophys %r1,%r9 125 tophys %r1,%r9
126 ldo TASK_REGS(%r9),%r9 126 ldo TASK_REGS(%r9),%r9
127 STREG %r30, PT_GR30(%r9) 127 STREG %r17,PT_GR30(%r9)
128 STREG %r29,PT_GR29(%r9) 128 STREG %r29,PT_GR29(%r9)
129 STREG %r26,PT_GR26(%r9) 129 STREG %r26,PT_GR26(%r9)
130 STREG %r16,PT_SR7(%r9)
130 copy %r9,%r29 131 copy %r9,%r29
131 mfctl %cr30, %r1
132 ldo THREAD_SZ_ALGN(%r1), %r30
133 .endm 132 .endm
134 133
135 .macro get_stack_use_r30 134 .macro get_stack_use_r30
@@ -137,10 +136,12 @@
137 /* we put a struct pt_regs on the stack and save the registers there */ 136 /* we put a struct pt_regs on the stack and save the registers there */
138 137
139 tophys %r30,%r9 138 tophys %r30,%r9
140 STREG %r30,PT_GR30(%r9) 139 copy %r30,%r1
141 ldo PT_SZ_ALGN(%r30),%r30 140 ldo PT_SZ_ALGN(%r30),%r30
141 STREG %r1,PT_GR30(%r9)
142 STREG %r29,PT_GR29(%r9) 142 STREG %r29,PT_GR29(%r9)
143 STREG %r26,PT_GR26(%r9) 143 STREG %r26,PT_GR26(%r9)
144 STREG %r16,PT_SR7(%r9)
144 copy %r9,%r29 145 copy %r9,%r29
145 .endm 146 .endm
146 147
diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c
index f7752f6af29e..872275659d98 100644
--- a/arch/parisc/kernel/hardware.c
+++ b/arch/parisc/kernel/hardware.c
@@ -222,6 +222,7 @@ static struct hp_hardware hp_hardware_list[] = {
222 {HPHW_NPROC,0x5DD,0x4,0x81,"Duet W2"}, 222 {HPHW_NPROC,0x5DD,0x4,0x81,"Duet W2"},
223 {HPHW_NPROC,0x5DE,0x4,0x81,"Piccolo W+"}, 223 {HPHW_NPROC,0x5DE,0x4,0x81,"Piccolo W+"},
224 {HPHW_NPROC,0x5DF,0x4,0x81,"Cantata W2"}, 224 {HPHW_NPROC,0x5DF,0x4,0x81,"Cantata W2"},
225 {HPHW_NPROC,0x5DF,0x0,0x00,"Marcato W+? (rp5470)"},
225 {HPHW_NPROC,0x5E0,0x4,0x91,"Cantata DC- W2"}, 226 {HPHW_NPROC,0x5E0,0x4,0x91,"Cantata DC- W2"},
226 {HPHW_NPROC,0x5E1,0x4,0x91,"Crescendo DC- W2"}, 227 {HPHW_NPROC,0x5E1,0x4,0x91,"Crescendo DC- W2"},
227 {HPHW_NPROC,0x5E2,0x4,0x91,"Crescendo 650 W2"}, 228 {HPHW_NPROC,0x5E2,0x4,0x91,"Crescendo 650 W2"},
@@ -1204,6 +1205,7 @@ static struct hp_hardware hp_hardware_list[] = {
1204 {HPHW_FIO, 0x004, 0x00320, 0x0, "Metheus Frame Buffer"}, 1205 {HPHW_FIO, 0x004, 0x00320, 0x0, "Metheus Frame Buffer"},
1205 {HPHW_FIO, 0x004, 0x00340, 0x0, "BARCO CX4500 VME Grphx Cnsl"}, 1206 {HPHW_FIO, 0x004, 0x00340, 0x0, "BARCO CX4500 VME Grphx Cnsl"},
1206 {HPHW_FIO, 0x004, 0x00360, 0x0, "Hughes TOG VME FDDI"}, 1207 {HPHW_FIO, 0x004, 0x00360, 0x0, "Hughes TOG VME FDDI"},
1208 {HPHW_FIO, 0x076, 0x000AD, 0x00, "Crestone Peak RS-232"},
1207 {HPHW_IOA, 0x185, 0x0000B, 0x00, "Java BC Summit Port"}, 1209 {HPHW_IOA, 0x185, 0x0000B, 0x00, "Java BC Summit Port"},
1208 {HPHW_IOA, 0x1FF, 0x0000B, 0x00, "Hitachi Ghostview Summit Port"}, 1210 {HPHW_IOA, 0x1FF, 0x0000B, 0x00, "Hitachi Ghostview Summit Port"},
1209 {HPHW_IOA, 0x580, 0x0000B, 0x10, "U2-IOA BC Runway Port"}, 1211 {HPHW_IOA, 0x580, 0x0000B, 0x10, "U2-IOA BC Runway Port"},
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 55237a70e197..2e6443b1e922 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -27,11 +27,11 @@
27#include <linux/interrupt.h> 27#include <linux/interrupt.h>
28#include <linux/kernel_stat.h> 28#include <linux/kernel_stat.h>
29#include <linux/seq_file.h> 29#include <linux/seq_file.h>
30#include <linux/spinlock.h>
31#include <linux/types.h> 30#include <linux/types.h>
32#include <asm/io.h> 31#include <asm/io.h>
33 32
34#include <asm/smp.h> 33#include <asm/smp.h>
34#include <asm/ldcw.h>
35 35
36#undef PARISC_IRQ_CR16_COUNTS 36#undef PARISC_IRQ_CR16_COUNTS
37 37
@@ -172,10 +172,6 @@ int arch_show_interrupts(struct seq_file *p, int prec)
172 for_each_online_cpu(j) 172 for_each_online_cpu(j)
173 seq_printf(p, "%10u ", irq_stats(j)->irq_stack_usage); 173 seq_printf(p, "%10u ", irq_stats(j)->irq_stack_usage);
174 seq_puts(p, " Interrupt stack usage\n"); 174 seq_puts(p, " Interrupt stack usage\n");
175 seq_printf(p, "%*s: ", prec, "ISC");
176 for_each_online_cpu(j)
177 seq_printf(p, "%10u ", irq_stats(j)->irq_stack_counter);
178 seq_puts(p, " Interrupt stack usage counter\n");
179# endif 175# endif
180#endif 176#endif
181#ifdef CONFIG_SMP 177#ifdef CONFIG_SMP
@@ -188,6 +184,14 @@ int arch_show_interrupts(struct seq_file *p, int prec)
188 seq_printf(p, "%10u ", irq_stats(j)->irq_call_count); 184 seq_printf(p, "%10u ", irq_stats(j)->irq_call_count);
189 seq_puts(p, " Function call interrupts\n"); 185 seq_puts(p, " Function call interrupts\n");
190#endif 186#endif
187 seq_printf(p, "%*s: ", prec, "UAH");
188 for_each_online_cpu(j)
189 seq_printf(p, "%10u ", irq_stats(j)->irq_unaligned_count);
190 seq_puts(p, " Unaligned access handler traps\n");
191 seq_printf(p, "%*s: ", prec, "FPA");
192 for_each_online_cpu(j)
193 seq_printf(p, "%10u ", irq_stats(j)->irq_fpassist_count);
194 seq_puts(p, " Floating point assist traps\n");
191 seq_printf(p, "%*s: ", prec, "TLB"); 195 seq_printf(p, "%*s: ", prec, "TLB");
192 for_each_online_cpu(j) 196 for_each_online_cpu(j)
193 seq_printf(p, "%10u ", irq_stats(j)->irq_tlb_count); 197 seq_printf(p, "%10u ", irq_stats(j)->irq_tlb_count);
@@ -376,6 +380,24 @@ static inline int eirr_to_irq(unsigned long eirr)
376 return (BITS_PER_LONG - bit) + TIMER_IRQ; 380 return (BITS_PER_LONG - bit) + TIMER_IRQ;
377} 381}
378 382
383#ifdef CONFIG_IRQSTACKS
384/*
385 * IRQ STACK - used for irq handler
386 */
387#define IRQ_STACK_SIZE (4096 << 2) /* 16k irq stack size */
388
389union irq_stack_union {
390 unsigned long stack[IRQ_STACK_SIZE/sizeof(unsigned long)];
391 volatile unsigned int slock[4];
392 volatile unsigned int lock[1];
393};
394
395DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = {
396 .slock = { 1,1,1,1 },
397 };
398#endif
399
400
379int sysctl_panic_on_stackoverflow = 1; 401int sysctl_panic_on_stackoverflow = 1;
380 402
381static inline void stack_overflow_check(struct pt_regs *regs) 403static inline void stack_overflow_check(struct pt_regs *regs)
@@ -442,27 +464,26 @@ panic_check:
442} 464}
443 465
444#ifdef CONFIG_IRQSTACKS 466#ifdef CONFIG_IRQSTACKS
445DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = { 467/* in entry.S: */
446 .lock = __RAW_SPIN_LOCK_UNLOCKED((irq_stack_union).lock) 468void call_on_stack(unsigned long p1, void *func, unsigned long new_stack);
447 };
448 469
449static void execute_on_irq_stack(void *func, unsigned long param1) 470static void execute_on_irq_stack(void *func, unsigned long param1)
450{ 471{
451 union irq_stack_union *union_ptr; 472 union irq_stack_union *union_ptr;
452 unsigned long irq_stack; 473 unsigned long irq_stack;
453 raw_spinlock_t *irq_stack_in_use; 474 volatile unsigned int *irq_stack_in_use;
454 475
455 union_ptr = &per_cpu(irq_stack_union, smp_processor_id()); 476 union_ptr = &per_cpu(irq_stack_union, smp_processor_id());
456 irq_stack = (unsigned long) &union_ptr->stack; 477 irq_stack = (unsigned long) &union_ptr->stack;
457 irq_stack = ALIGN(irq_stack + sizeof(irq_stack_union.lock), 478 irq_stack = ALIGN(irq_stack + sizeof(irq_stack_union.slock),
458 64); /* align for stack frame usage */ 479 64); /* align for stack frame usage */
459 480
460 /* We may be called recursive. If we are already using the irq stack, 481 /* We may be called recursive. If we are already using the irq stack,
461 * just continue to use it. Use spinlocks to serialize 482 * just continue to use it. Use spinlocks to serialize
462 * the irq stack usage. 483 * the irq stack usage.
463 */ 484 */
464 irq_stack_in_use = &union_ptr->lock; 485 irq_stack_in_use = (volatile unsigned int *)__ldcw_align(union_ptr);
465 if (!raw_spin_trylock(irq_stack_in_use)) { 486 if (!__ldcw(irq_stack_in_use)) {
466 void (*direct_call)(unsigned long p1) = func; 487 void (*direct_call)(unsigned long p1) = func;
467 488
468 /* We are using the IRQ stack already. 489 /* We are using the IRQ stack already.
@@ -474,10 +495,8 @@ static void execute_on_irq_stack(void *func, unsigned long param1)
474 /* This is where we switch to the IRQ stack. */ 495 /* This is where we switch to the IRQ stack. */
475 call_on_stack(param1, func, irq_stack); 496 call_on_stack(param1, func, irq_stack);
476 497
477 __inc_irq_stat(irq_stack_counter);
478
479 /* free up irq stack usage. */ 498 /* free up irq stack usage. */
480 do_raw_spin_unlock(irq_stack_in_use); 499 *irq_stack_in_use = 1;
481} 500}
482 501
483asmlinkage void do_softirq(void) 502asmlinkage void do_softirq(void)
diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S
index 5e1de6072be5..b743a80eaba0 100644
--- a/arch/parisc/kernel/pacache.S
+++ b/arch/parisc/kernel/pacache.S
@@ -605,14 +605,14 @@ ENTRY(copy_user_page_asm)
605 convert_phys_for_tlb_insert20 %r26 /* convert phys addr to tlb insert format */ 605 convert_phys_for_tlb_insert20 %r26 /* convert phys addr to tlb insert format */
606 convert_phys_for_tlb_insert20 %r23 /* convert phys addr to tlb insert format */ 606 convert_phys_for_tlb_insert20 %r23 /* convert phys addr to tlb insert format */
607 depd %r24,63,22, %r28 /* Form aliased virtual address 'to' */ 607 depd %r24,63,22, %r28 /* Form aliased virtual address 'to' */
608 depdi 0, 63,PAGE_SHIFT, %r28 /* Clear any offset bits */ 608 depdi 0, 63,PAGE_SHIFT, %r28 /* Clear any offset bits */
609 copy %r28, %r29 609 copy %r28, %r29
610 depdi 1, 41,1, %r29 /* Form aliased virtual address 'from' */ 610 depdi 1, 41,1, %r29 /* Form aliased virtual address 'from' */
611#else 611#else
612 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */ 612 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */
613 extrw,u %r23, 24,25, %r23 /* convert phys addr to tlb insert format */ 613 extrw,u %r23, 24,25, %r23 /* convert phys addr to tlb insert format */
614 depw %r24, 31,22, %r28 /* Form aliased virtual address 'to' */ 614 depw %r24, 31,22, %r28 /* Form aliased virtual address 'to' */
615 depwi 0, 31,12, %r28 /* Clear any offset bits */ 615 depwi 0, 31,PAGE_SHIFT, %r28 /* Clear any offset bits */
616 copy %r28, %r29 616 copy %r28, %r29
617 depwi 1, 9,1, %r29 /* Form aliased virtual address 'from' */ 617 depwi 1, 9,1, %r29 /* Form aliased virtual address 'from' */
618#endif 618#endif
@@ -762,7 +762,7 @@ ENTRY(clear_user_page_asm)
762#else 762#else
763 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */ 763 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */
764 depw %r25, 31,22, %r28 /* Form aliased virtual address 'to' */ 764 depw %r25, 31,22, %r28 /* Form aliased virtual address 'to' */
765 depwi 0, 31,12, %r28 /* Clear any offset bits */ 765 depwi 0, 31,PAGE_SHIFT, %r28 /* Clear any offset bits */
766#endif 766#endif
767 767
768 /* Purge any old translation */ 768 /* Purge any old translation */
@@ -846,7 +846,7 @@ ENTRY(flush_dcache_page_asm)
846#else 846#else
847 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */ 847 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */
848 depw %r25, 31,22, %r28 /* Form aliased virtual address 'to' */ 848 depw %r25, 31,22, %r28 /* Form aliased virtual address 'to' */
849 depwi 0, 31,12, %r28 /* Clear any offset bits */ 849 depwi 0, 31,PAGE_SHIFT, %r28 /* Clear any offset bits */
850#endif 850#endif
851 851
852 /* Purge any old translation */ 852 /* Purge any old translation */
@@ -860,7 +860,7 @@ ENTRY(flush_dcache_page_asm)
860#endif 860#endif
861 861
862 ldil L%dcache_stride, %r1 862 ldil L%dcache_stride, %r1
863 ldw R%dcache_stride(%r1), %r1 863 ldw R%dcache_stride(%r1), r31
864 864
865#ifdef CONFIG_64BIT 865#ifdef CONFIG_64BIT
866 depdi,z 1, 63-PAGE_SHIFT,1, %r25 866 depdi,z 1, 63-PAGE_SHIFT,1, %r25
@@ -868,26 +868,26 @@ ENTRY(flush_dcache_page_asm)
868 depwi,z 1, 31-PAGE_SHIFT,1, %r25 868 depwi,z 1, 31-PAGE_SHIFT,1, %r25
869#endif 869#endif
870 add %r28, %r25, %r25 870 add %r28, %r25, %r25
871 sub %r25, %r1, %r25 871 sub %r25, r31, %r25
872 872
873 873
8741: fdc,m %r1(%r28) 8741: fdc,m r31(%r28)
875 fdc,m %r1(%r28) 875 fdc,m r31(%r28)
876 fdc,m %r1(%r28) 876 fdc,m r31(%r28)
877 fdc,m %r1(%r28) 877 fdc,m r31(%r28)
878 fdc,m %r1(%r28) 878 fdc,m r31(%r28)
879 fdc,m %r1(%r28) 879 fdc,m r31(%r28)
880 fdc,m %r1(%r28) 880 fdc,m r31(%r28)
881 fdc,m %r1(%r28) 881 fdc,m r31(%r28)
882 fdc,m %r1(%r28) 882 fdc,m r31(%r28)
883 fdc,m %r1(%r28) 883 fdc,m r31(%r28)
884 fdc,m %r1(%r28) 884 fdc,m r31(%r28)
885 fdc,m %r1(%r28) 885 fdc,m r31(%r28)
886 fdc,m %r1(%r28) 886 fdc,m r31(%r28)
887 fdc,m %r1(%r28) 887 fdc,m r31(%r28)
888 fdc,m %r1(%r28) 888 fdc,m r31(%r28)
889 cmpb,COND(<<) %r28, %r25,1b 889 cmpb,COND(<<) %r28, %r25,1b
890 fdc,m %r1(%r28) 890 fdc,m r31(%r28)
891 891
892 sync 892 sync
893 893
@@ -918,11 +918,11 @@ ENTRY(flush_icache_page_asm)
918#endif 918#endif
919 convert_phys_for_tlb_insert20 %r26 /* convert phys addr to tlb insert format */ 919 convert_phys_for_tlb_insert20 %r26 /* convert phys addr to tlb insert format */
920 depd %r25, 63,22, %r28 /* Form aliased virtual address 'to' */ 920 depd %r25, 63,22, %r28 /* Form aliased virtual address 'to' */
921 depdi 0, 63,PAGE_SHIFT, %r28 /* Clear any offset bits */ 921 depdi 0, 63,PAGE_SHIFT, %r28 /* Clear any offset bits */
922#else 922#else
923 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */ 923 extrw,u %r26, 24,25, %r26 /* convert phys addr to tlb insert format */
924 depw %r25, 31,22, %r28 /* Form aliased virtual address 'to' */ 924 depw %r25, 31,22, %r28 /* Form aliased virtual address 'to' */
925 depwi 0, 31,12, %r28 /* Clear any offset bits */ 925 depwi 0, 31,PAGE_SHIFT, %r28 /* Clear any offset bits */
926#endif 926#endif
927 927
928 /* Purge any old translation */ 928 /* Purge any old translation */
@@ -936,7 +936,7 @@ ENTRY(flush_icache_page_asm)
936#endif 936#endif
937 937
938 ldil L%icache_stride, %r1 938 ldil L%icache_stride, %r1
939 ldw R%icache_stride(%r1), %r1 939 ldw R%icache_stride(%r1), %r31
940 940
941#ifdef CONFIG_64BIT 941#ifdef CONFIG_64BIT
942 depdi,z 1, 63-PAGE_SHIFT,1, %r25 942 depdi,z 1, 63-PAGE_SHIFT,1, %r25
@@ -944,28 +944,28 @@ ENTRY(flush_icache_page_asm)
944 depwi,z 1, 31-PAGE_SHIFT,1, %r25 944 depwi,z 1, 31-PAGE_SHIFT,1, %r25
945#endif 945#endif
946 add %r28, %r25, %r25 946 add %r28, %r25, %r25
947 sub %r25, %r1, %r25 947 sub %r25, %r31, %r25
948 948
949 949
950 /* fic only has the type 26 form on PA1.1, requiring an 950 /* fic only has the type 26 form on PA1.1, requiring an
951 * explicit space specification, so use %sr4 */ 951 * explicit space specification, so use %sr4 */
9521: fic,m %r1(%sr4,%r28) 9521: fic,m %r31(%sr4,%r28)
953 fic,m %r1(%sr4,%r28) 953 fic,m %r31(%sr4,%r28)
954 fic,m %r1(%sr4,%r28) 954 fic,m %r31(%sr4,%r28)
955 fic,m %r1(%sr4,%r28) 955 fic,m %r31(%sr4,%r28)
956 fic,m %r1(%sr4,%r28) 956 fic,m %r31(%sr4,%r28)
957 fic,m %r1(%sr4,%r28) 957 fic,m %r31(%sr4,%r28)
958 fic,m %r1(%sr4,%r28) 958 fic,m %r31(%sr4,%r28)
959 fic,m %r1(%sr4,%r28) 959 fic,m %r31(%sr4,%r28)
960 fic,m %r1(%sr4,%r28) 960 fic,m %r31(%sr4,%r28)
961 fic,m %r1(%sr4,%r28) 961 fic,m %r31(%sr4,%r28)
962 fic,m %r1(%sr4,%r28) 962 fic,m %r31(%sr4,%r28)
963 fic,m %r1(%sr4,%r28) 963 fic,m %r31(%sr4,%r28)
964 fic,m %r1(%sr4,%r28) 964 fic,m %r31(%sr4,%r28)
965 fic,m %r1(%sr4,%r28) 965 fic,m %r31(%sr4,%r28)
966 fic,m %r1(%sr4,%r28) 966 fic,m %r31(%sr4,%r28)
967 cmpb,COND(<<) %r28, %r25,1b 967 cmpb,COND(<<) %r28, %r25,1b
968 fic,m %r1(%sr4,%r28) 968 fic,m %r31(%sr4,%r28)
969 969
970 sync 970 sync
971 971
diff --git a/arch/parisc/kernel/pci.c b/arch/parisc/kernel/pci.c
index 60309051875e..64f2764a8cef 100644
--- a/arch/parisc/kernel/pci.c
+++ b/arch/parisc/kernel/pci.c
@@ -220,6 +220,33 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
220} 220}
221 221
222 222
223int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
224 enum pci_mmap_state mmap_state, int write_combine)
225{
226 unsigned long prot;
227
228 /*
229 * I/O space can be accessed via normal processor loads and stores on
230 * this platform but for now we elect not to do this and portable
231 * drivers should not do this anyway.
232 */
233 if (mmap_state == pci_mmap_io)
234 return -EINVAL;
235
236 if (write_combine)
237 return -EINVAL;
238
239 /*
240 * Ignore write-combine; for now only return uncached mappings.
241 */
242 prot = pgprot_val(vma->vm_page_prot);
243 prot |= _PAGE_NO_CACHE;
244 vma->vm_page_prot = __pgprot(prot);
245
246 return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
247 vma->vm_end - vma->vm_start, vma->vm_page_prot);
248}
249
223/* 250/*
224 * A driver is enabling the device. We make sure that all the appropriate 251 * A driver is enabling the device. We make sure that all the appropriate
225 * bits are set to allow the device to operate as the driver is expecting. 252 * bits are set to allow the device to operate as the driver is expecting.
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index 76b63e726a53..1e95b2000ce8 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -69,7 +69,8 @@ void __init setup_cmdline(char **cmdline_p)
69 /* called from hpux boot loader */ 69 /* called from hpux boot loader */
70 boot_command_line[0] = '\0'; 70 boot_command_line[0] = '\0';
71 } else { 71 } else {
72 strcpy(boot_command_line, (char *)__va(boot_args[1])); 72 strlcpy(boot_command_line, (char *)__va(boot_args[1]),
73 COMMAND_LINE_SIZE);
73 74
74#ifdef CONFIG_BLK_DEV_INITRD 75#ifdef CONFIG_BLK_DEV_INITRD
75 if (boot_args[2] != 0) /* did palo pass us a ramdisk? */ 76 if (boot_args[2] != 0) /* did palo pass us a ramdisk? */
diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c
index fe41a98043bb..04e47c6a4562 100644
--- a/arch/parisc/kernel/traps.c
+++ b/arch/parisc/kernel/traps.c
@@ -646,6 +646,7 @@ void notrace handle_interruption(int code, struct pt_regs *regs)
646 case 14: 646 case 14:
647 /* Assist Exception Trap, i.e. floating point exception. */ 647 /* Assist Exception Trap, i.e. floating point exception. */
648 die_if_kernel("Floating point exception", regs, 0); /* quiet */ 648 die_if_kernel("Floating point exception", regs, 0); /* quiet */
649 __inc_irq_stat(irq_fpassist_count);
649 handle_fpe(regs); 650 handle_fpe(regs);
650 return; 651 return;
651 652
diff --git a/arch/parisc/kernel/unaligned.c b/arch/parisc/kernel/unaligned.c
index 234e3682cf09..d7c0acb35ec2 100644
--- a/arch/parisc/kernel/unaligned.c
+++ b/arch/parisc/kernel/unaligned.c
@@ -27,6 +27,7 @@
27#include <linux/signal.h> 27#include <linux/signal.h>
28#include <linux/ratelimit.h> 28#include <linux/ratelimit.h>
29#include <asm/uaccess.h> 29#include <asm/uaccess.h>
30#include <asm/hardirq.h>
30 31
31/* #define DEBUG_UNALIGNED 1 */ 32/* #define DEBUG_UNALIGNED 1 */
32 33
@@ -454,6 +455,8 @@ void handle_unaligned(struct pt_regs *regs)
454 struct siginfo si; 455 struct siginfo si;
455 register int flop=0; /* true if this is a flop */ 456 register int flop=0; /* true if this is a flop */
456 457
458 __inc_irq_stat(irq_unaligned_count);
459
457 /* log a message with pacing */ 460 /* log a message with pacing */
458 if (user_mode(regs)) { 461 if (user_mode(regs)) {
459 if (current->thread.flags & PARISC_UAC_SIGBUS) { 462 if (current->thread.flags & PARISC_UAC_SIGBUS) {
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 1c965642068b..505b56c6b9b9 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -47,7 +47,7 @@ pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data..vm0.pt
47 47
48#ifdef CONFIG_DISCONTIGMEM 48#ifdef CONFIG_DISCONTIGMEM
49struct node_map_data node_data[MAX_NUMNODES] __read_mostly; 49struct node_map_data node_data[MAX_NUMNODES] __read_mostly;
50unsigned char pfnnid_map[PFNNID_MAP_MAX] __read_mostly; 50signed char pfnnid_map[PFNNID_MAP_MAX] __read_mostly;
51#endif 51#endif
52 52
53static struct resource data_resource = { 53static struct resource data_resource = {
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
index 26807e5aff51..6f3887d884d2 100644
--- a/arch/powerpc/include/asm/cputable.h
+++ b/arch/powerpc/include/asm/cputable.h
@@ -176,6 +176,7 @@ extern const char *powerpc_base_platform;
176#define CPU_FTR_CFAR LONG_ASM_CONST(0x0100000000000000) 176#define CPU_FTR_CFAR LONG_ASM_CONST(0x0100000000000000)
177#define CPU_FTR_HAS_PPR LONG_ASM_CONST(0x0200000000000000) 177#define CPU_FTR_HAS_PPR LONG_ASM_CONST(0x0200000000000000)
178#define CPU_FTR_DAWR LONG_ASM_CONST(0x0400000000000000) 178#define CPU_FTR_DAWR LONG_ASM_CONST(0x0400000000000000)
179#define CPU_FTR_DABRX LONG_ASM_CONST(0x0800000000000000)
179 180
180#ifndef __ASSEMBLY__ 181#ifndef __ASSEMBLY__
181 182
@@ -394,19 +395,20 @@ extern const char *powerpc_base_platform;
394 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_201 | \ 395 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_201 | \
395 CPU_FTR_ALTIVEC_COMP | CPU_FTR_CAN_NAP | CPU_FTR_MMCRA | \ 396 CPU_FTR_ALTIVEC_COMP | CPU_FTR_CAN_NAP | CPU_FTR_MMCRA | \
396 CPU_FTR_CP_USE_DCBTZ | CPU_FTR_STCX_CHECKS_ADDRESS | \ 397 CPU_FTR_CP_USE_DCBTZ | CPU_FTR_STCX_CHECKS_ADDRESS | \
397 CPU_FTR_HVMODE) 398 CPU_FTR_HVMODE | CPU_FTR_DABRX)
398#define CPU_FTRS_POWER5 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 399#define CPU_FTRS_POWER5 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
399 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ 400 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \
400 CPU_FTR_MMCRA | CPU_FTR_SMT | \ 401 CPU_FTR_MMCRA | CPU_FTR_SMT | \
401 CPU_FTR_COHERENT_ICACHE | CPU_FTR_PURR | \ 402 CPU_FTR_COHERENT_ICACHE | CPU_FTR_PURR | \
402 CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB) 403 CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_DABRX)
403#define CPU_FTRS_POWER6 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 404#define CPU_FTRS_POWER6 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
404 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ 405 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \
405 CPU_FTR_MMCRA | CPU_FTR_SMT | \ 406 CPU_FTR_MMCRA | CPU_FTR_SMT | \
406 CPU_FTR_COHERENT_ICACHE | \ 407 CPU_FTR_COHERENT_ICACHE | \
407 CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \ 408 CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \
408 CPU_FTR_DSCR | CPU_FTR_UNALIGNED_LD_STD | \ 409 CPU_FTR_DSCR | CPU_FTR_UNALIGNED_LD_STD | \
409 CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_CFAR) 410 CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_CFAR | \
411 CPU_FTR_DABRX)
410#define CPU_FTRS_POWER7 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 412#define CPU_FTRS_POWER7 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
411 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_206 |\ 413 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_206 |\
412 CPU_FTR_MMCRA | CPU_FTR_SMT | \ 414 CPU_FTR_MMCRA | CPU_FTR_SMT | \
@@ -415,7 +417,7 @@ extern const char *powerpc_base_platform;
415 CPU_FTR_DSCR | CPU_FTR_SAO | CPU_FTR_ASYM_SMT | \ 417 CPU_FTR_DSCR | CPU_FTR_SAO | CPU_FTR_ASYM_SMT | \
416 CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \ 418 CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \
417 CPU_FTR_ICSWX | CPU_FTR_CFAR | CPU_FTR_HVMODE | \ 419 CPU_FTR_ICSWX | CPU_FTR_CFAR | CPU_FTR_HVMODE | \
418 CPU_FTR_VMX_COPY | CPU_FTR_HAS_PPR) 420 CPU_FTR_VMX_COPY | CPU_FTR_HAS_PPR | CPU_FTR_DABRX)
419#define CPU_FTRS_POWER8 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 421#define CPU_FTRS_POWER8 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
420 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_206 |\ 422 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_206 |\
421 CPU_FTR_MMCRA | CPU_FTR_SMT | \ 423 CPU_FTR_MMCRA | CPU_FTR_SMT | \
@@ -430,14 +432,15 @@ extern const char *powerpc_base_platform;
430 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ 432 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \
431 CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ 433 CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \
432 CPU_FTR_PAUSE_ZERO | CPU_FTR_CELL_TB_BUG | CPU_FTR_CP_USE_DCBTZ | \ 434 CPU_FTR_PAUSE_ZERO | CPU_FTR_CELL_TB_BUG | CPU_FTR_CP_USE_DCBTZ | \
433 CPU_FTR_UNALIGNED_LD_STD) 435 CPU_FTR_UNALIGNED_LD_STD | CPU_FTR_DABRX)
434#define CPU_FTRS_PA6T (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 436#define CPU_FTRS_PA6T (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
435 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_ALTIVEC_COMP | \ 437 CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_ALTIVEC_COMP | \
436 CPU_FTR_PURR | CPU_FTR_REAL_LE) 438 CPU_FTR_PURR | CPU_FTR_REAL_LE | CPU_FTR_DABRX)
437#define CPU_FTRS_COMPATIBLE (CPU_FTR_USE_TB | CPU_FTR_PPCAS_ARCH_V2) 439#define CPU_FTRS_COMPATIBLE (CPU_FTR_USE_TB | CPU_FTR_PPCAS_ARCH_V2)
438 440
439#define CPU_FTRS_A2 (CPU_FTR_USE_TB | CPU_FTR_SMT | CPU_FTR_DBELL | \ 441#define CPU_FTRS_A2 (CPU_FTR_USE_TB | CPU_FTR_SMT | CPU_FTR_DBELL | \
440 CPU_FTR_NOEXECUTE | CPU_FTR_NODSISRALIGN | CPU_FTR_ICSWX) 442 CPU_FTR_NOEXECUTE | CPU_FTR_NODSISRALIGN | \
443 CPU_FTR_ICSWX | CPU_FTR_DABRX )
441 444
442#ifdef __powerpc64__ 445#ifdef __powerpc64__
443#ifdef CONFIG_PPC_BOOK3E 446#ifdef CONFIG_PPC_BOOK3E
diff --git a/arch/powerpc/include/asm/exception-64s.h b/arch/powerpc/include/asm/exception-64s.h
index 8e5fae8beaf6..46793b58a761 100644
--- a/arch/powerpc/include/asm/exception-64s.h
+++ b/arch/powerpc/include/asm/exception-64s.h
@@ -513,7 +513,7 @@ label##_common: \
513 */ 513 */
514#define STD_EXCEPTION_COMMON_ASYNC(trap, label, hdlr) \ 514#define STD_EXCEPTION_COMMON_ASYNC(trap, label, hdlr) \
515 EXCEPTION_COMMON(trap, label, hdlr, ret_from_except_lite, \ 515 EXCEPTION_COMMON(trap, label, hdlr, ret_from_except_lite, \
516 FINISH_NAP;RUNLATCH_ON;DISABLE_INTS) 516 FINISH_NAP;DISABLE_INTS;RUNLATCH_ON)
517 517
518/* 518/*
519 * When the idle code in power4_idle puts the CPU into NAP mode, 519 * When the idle code in power4_idle puts the CPU into NAP mode,
diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h
index cf4df8e2139a..0c7f2bfcf134 100644
--- a/arch/powerpc/include/asm/hvcall.h
+++ b/arch/powerpc/include/asm/hvcall.h
@@ -264,6 +264,7 @@
264#define H_GET_MPP 0x2D4 264#define H_GET_MPP 0x2D4
265#define H_HOME_NODE_ASSOCIATIVITY 0x2EC 265#define H_HOME_NODE_ASSOCIATIVITY 0x2EC
266#define H_BEST_ENERGY 0x2F4 266#define H_BEST_ENERGY 0x2F4
267#define H_XIRR_X 0x2FC
267#define H_RANDOM 0x300 268#define H_RANDOM 0x300
268#define H_COP 0x304 269#define H_COP 0x304
269#define H_GET_MPP_X 0x314 270#define H_GET_MPP_X 0x314
diff --git a/arch/powerpc/include/asm/kvm_asm.h b/arch/powerpc/include/asm/kvm_asm.h
index b9dd382cb349..851bac7afa4b 100644
--- a/arch/powerpc/include/asm/kvm_asm.h
+++ b/arch/powerpc/include/asm/kvm_asm.h
@@ -54,8 +54,16 @@
54#define BOOKE_INTERRUPT_DEBUG 15 54#define BOOKE_INTERRUPT_DEBUG 15
55 55
56/* E500 */ 56/* E500 */
57#define BOOKE_INTERRUPT_SPE_UNAVAIL 32 57#define BOOKE_INTERRUPT_SPE_ALTIVEC_UNAVAIL 32
58#define BOOKE_INTERRUPT_SPE_FP_DATA 33 58#define BOOKE_INTERRUPT_SPE_FP_DATA_ALTIVEC_ASSIST 33
59/*
60 * TODO: Unify 32-bit and 64-bit kernel exception handlers to use same defines
61 */
62#define BOOKE_INTERRUPT_SPE_UNAVAIL BOOKE_INTERRUPT_SPE_ALTIVEC_UNAVAIL
63#define BOOKE_INTERRUPT_SPE_FP_DATA BOOKE_INTERRUPT_SPE_FP_DATA_ALTIVEC_ASSIST
64#define BOOKE_INTERRUPT_ALTIVEC_UNAVAIL BOOKE_INTERRUPT_SPE_ALTIVEC_UNAVAIL
65#define BOOKE_INTERRUPT_ALTIVEC_ASSIST \
66 BOOKE_INTERRUPT_SPE_FP_DATA_ALTIVEC_ASSIST
59#define BOOKE_INTERRUPT_SPE_FP_ROUND 34 67#define BOOKE_INTERRUPT_SPE_FP_ROUND 34
60#define BOOKE_INTERRUPT_PERFORMANCE_MONITOR 35 68#define BOOKE_INTERRUPT_PERFORMANCE_MONITOR 35
61#define BOOKE_INTERRUPT_DOORBELL 36 69#define BOOKE_INTERRUPT_DOORBELL 36
@@ -67,10 +75,6 @@
67#define BOOKE_INTERRUPT_HV_SYSCALL 40 75#define BOOKE_INTERRUPT_HV_SYSCALL 40
68#define BOOKE_INTERRUPT_HV_PRIV 41 76#define BOOKE_INTERRUPT_HV_PRIV 41
69 77
70/* altivec */
71#define BOOKE_INTERRUPT_ALTIVEC_UNAVAIL 42
72#define BOOKE_INTERRUPT_ALTIVEC_ASSIST 43
73
74/* book3s */ 78/* book3s */
75 79
76#define BOOK3S_INTERRUPT_SYSTEM_RESET 0x100 80#define BOOK3S_INTERRUPT_SYSTEM_RESET 0x100
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
index 8b11b5bd9938..2c1d8cb9b265 100644
--- a/arch/powerpc/include/asm/pci-bridge.h
+++ b/arch/powerpc/include/asm/pci-bridge.h
@@ -174,6 +174,8 @@ struct pci_dn {
174/* Get the pointer to a device_node's pci_dn */ 174/* Get the pointer to a device_node's pci_dn */
175#define PCI_DN(dn) ((struct pci_dn *) (dn)->data) 175#define PCI_DN(dn) ((struct pci_dn *) (dn)->data)
176 176
177extern struct pci_dn *pci_get_pdn(struct pci_dev *pdev);
178
177extern void * update_dn_pci_info(struct device_node *dn, void *data); 179extern void * update_dn_pci_info(struct device_node *dn, void *data);
178 180
179static inline int pci_device_from_OF_node(struct device_node *np, 181static inline int pci_device_from_OF_node(struct device_node *np,
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
index cea8496091ff..2f1b6c5f8174 100644
--- a/arch/powerpc/include/asm/ppc_asm.h
+++ b/arch/powerpc/include/asm/ppc_asm.h
@@ -523,6 +523,17 @@ END_FTR_SECTION_NESTED(CPU_FTR_HAS_PPR,CPU_FTR_HAS_PPR,946)
523#define PPC440EP_ERR42 523#define PPC440EP_ERR42
524#endif 524#endif
525 525
526/* The following stops all load and store data streams associated with stream
527 * ID (ie. streams created explicitly). The embedded and server mnemonics for
528 * dcbt are different so we use machine "power4" here explicitly.
529 */
530#define DCBT_STOP_ALL_STREAM_IDS(scratch) \
531.machine push ; \
532.machine "power4" ; \
533 lis scratch,0x60000000@h; \
534 dcbt r0,scratch,0b01010; \
535.machine pop
536
526/* 537/*
527 * toreal/fromreal/tophys/tovirt macros. 32-bit BookE makes them 538 * toreal/fromreal/tophys/tovirt macros. 32-bit BookE makes them
528 * keep the address intact to be compatible with code shared with 539 * keep the address intact to be compatible with code shared with
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h
index d7e67ca8b4a6..14a658363698 100644
--- a/arch/powerpc/include/asm/processor.h
+++ b/arch/powerpc/include/asm/processor.h
@@ -284,6 +284,12 @@ struct thread_struct {
284 unsigned long ebbrr; 284 unsigned long ebbrr;
285 unsigned long ebbhr; 285 unsigned long ebbhr;
286 unsigned long bescr; 286 unsigned long bescr;
287 unsigned long siar;
288 unsigned long sdar;
289 unsigned long sier;
290 unsigned long mmcr0;
291 unsigned long mmcr2;
292 unsigned long mmcra;
287#endif 293#endif
288}; 294};
289 295
@@ -403,21 +409,16 @@ static inline void prefetchw(const void *x)
403#endif 409#endif
404 410
405#ifdef CONFIG_PPC64 411#ifdef CONFIG_PPC64
406static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) 412static inline unsigned long get_clean_sp(unsigned long sp, int is_32)
407{ 413{
408 unsigned long sp;
409
410 if (is_32) 414 if (is_32)
411 sp = regs->gpr[1] & 0x0ffffffffUL; 415 return sp & 0x0ffffffffUL;
412 else
413 sp = regs->gpr[1];
414
415 return sp; 416 return sp;
416} 417}
417#else 418#else
418static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) 419static inline unsigned long get_clean_sp(unsigned long sp, int is_32)
419{ 420{
420 return regs->gpr[1]; 421 return sp;
421} 422}
422#endif 423#endif
423 424
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
index a6136515c7f2..4a9e408644fe 100644
--- a/arch/powerpc/include/asm/reg.h
+++ b/arch/powerpc/include/asm/reg.h
@@ -111,17 +111,6 @@
111#define MSR_TM_TRANSACTIONAL(x) (((x) & MSR_TS_MASK) == MSR_TS_T) 111#define MSR_TM_TRANSACTIONAL(x) (((x) & MSR_TS_MASK) == MSR_TS_T)
112#define MSR_TM_SUSPENDED(x) (((x) & MSR_TS_MASK) == MSR_TS_S) 112#define MSR_TM_SUSPENDED(x) (((x) & MSR_TS_MASK) == MSR_TS_S)
113 113
114/* Reason codes describing kernel causes for transaction aborts. By
115 convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if
116 the failure is persistent.
117*/
118#define TM_CAUSE_RESCHED 0xfe
119#define TM_CAUSE_TLBI 0xfc
120#define TM_CAUSE_FAC_UNAV 0xfa
121#define TM_CAUSE_SYSCALL 0xf9 /* Persistent */
122#define TM_CAUSE_MISC 0xf6
123#define TM_CAUSE_SIGNAL 0xf4
124
125#if defined(CONFIG_PPC_BOOK3S_64) 114#if defined(CONFIG_PPC_BOOK3S_64)
126#define MSR_64BIT MSR_SF 115#define MSR_64BIT MSR_SF
127 116
diff --git a/arch/powerpc/include/asm/signal.h b/arch/powerpc/include/asm/signal.h
index fbe66c463891..9322c28aebd2 100644
--- a/arch/powerpc/include/asm/signal.h
+++ b/arch/powerpc/include/asm/signal.h
@@ -3,5 +3,8 @@
3 3
4#define __ARCH_HAS_SA_RESTORER 4#define __ARCH_HAS_SA_RESTORER
5#include <uapi/asm/signal.h> 5#include <uapi/asm/signal.h>
6#include <uapi/asm/ptrace.h>
7
8extern unsigned long get_tm_stackpointer(struct pt_regs *regs);
6 9
7#endif /* _ASM_POWERPC_SIGNAL_H */ 10#endif /* _ASM_POWERPC_SIGNAL_H */
diff --git a/arch/powerpc/include/asm/tm.h b/arch/powerpc/include/asm/tm.h
index 4b4449abf3f8..9dfbc34bdbf5 100644
--- a/arch/powerpc/include/asm/tm.h
+++ b/arch/powerpc/include/asm/tm.h
@@ -5,6 +5,8 @@
5 * Copyright 2012 Matt Evans & Michael Neuling, IBM Corporation. 5 * Copyright 2012 Matt Evans & Michael Neuling, IBM Corporation.
6 */ 6 */
7 7
8#include <uapi/asm/tm.h>
9
8#ifdef CONFIG_PPC_TRANSACTIONAL_MEM 10#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
9extern void do_load_up_transact_fpu(struct thread_struct *thread); 11extern void do_load_up_transact_fpu(struct thread_struct *thread);
10extern void do_load_up_transact_altivec(struct thread_struct *thread); 12extern void do_load_up_transact_altivec(struct thread_struct *thread);
diff --git a/arch/powerpc/include/uapi/asm/Kbuild b/arch/powerpc/include/uapi/asm/Kbuild
index f7bca6370745..5182c8622b54 100644
--- a/arch/powerpc/include/uapi/asm/Kbuild
+++ b/arch/powerpc/include/uapi/asm/Kbuild
@@ -40,6 +40,7 @@ header-y += statfs.h
40header-y += swab.h 40header-y += swab.h
41header-y += termbits.h 41header-y += termbits.h
42header-y += termios.h 42header-y += termios.h
43header-y += tm.h
43header-y += types.h 44header-y += types.h
44header-y += ucontext.h 45header-y += ucontext.h
45header-y += unistd.h 46header-y += unistd.h
diff --git a/arch/powerpc/include/uapi/asm/tm.h b/arch/powerpc/include/uapi/asm/tm.h
new file mode 100644
index 000000000000..85059a00f560
--- /dev/null
+++ b/arch/powerpc/include/uapi/asm/tm.h
@@ -0,0 +1,18 @@
1#ifndef _ASM_POWERPC_TM_H
2#define _ASM_POWERPC_TM_H
3
4/* Reason codes describing kernel causes for transaction aborts. By
5 * convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if
6 * the failure is persistent. PAPR saves 0xff-0xe0 for the hypervisor.
7 */
8#define TM_CAUSE_PERSISTENT 0x01
9#define TM_CAUSE_RESCHED 0xde
10#define TM_CAUSE_TLBI 0xdc
11#define TM_CAUSE_FAC_UNAV 0xda
12#define TM_CAUSE_SYSCALL 0xd8 /* future use */
13#define TM_CAUSE_MISC 0xd6 /* future use */
14#define TM_CAUSE_SIGNAL 0xd4
15#define TM_CAUSE_ALIGNMENT 0xd2
16#define TM_CAUSE_EMULATE 0xd0
17
18#endif
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index b51a97cfedf8..6f16ffafa6f0 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -127,6 +127,12 @@ int main(void)
127 DEFINE(THREAD_BESCR, offsetof(struct thread_struct, bescr)); 127 DEFINE(THREAD_BESCR, offsetof(struct thread_struct, bescr));
128 DEFINE(THREAD_EBBHR, offsetof(struct thread_struct, ebbhr)); 128 DEFINE(THREAD_EBBHR, offsetof(struct thread_struct, ebbhr));
129 DEFINE(THREAD_EBBRR, offsetof(struct thread_struct, ebbrr)); 129 DEFINE(THREAD_EBBRR, offsetof(struct thread_struct, ebbrr));
130 DEFINE(THREAD_SIAR, offsetof(struct thread_struct, siar));
131 DEFINE(THREAD_SDAR, offsetof(struct thread_struct, sdar));
132 DEFINE(THREAD_SIER, offsetof(struct thread_struct, sier));
133 DEFINE(THREAD_MMCR0, offsetof(struct thread_struct, mmcr0));
134 DEFINE(THREAD_MMCR2, offsetof(struct thread_struct, mmcr2));
135 DEFINE(THREAD_MMCRA, offsetof(struct thread_struct, mmcra));
130#endif 136#endif
131#ifdef CONFIG_PPC_TRANSACTIONAL_MEM 137#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
132 DEFINE(PACATMSCRATCH, offsetof(struct paca_struct, tm_scratch)); 138 DEFINE(PACATMSCRATCH, offsetof(struct paca_struct, tm_scratch));
diff --git a/arch/powerpc/kernel/cpu_setup_power.S b/arch/powerpc/kernel/cpu_setup_power.S
index a283b6442b26..18b5b9cf8e37 100644
--- a/arch/powerpc/kernel/cpu_setup_power.S
+++ b/arch/powerpc/kernel/cpu_setup_power.S
@@ -135,8 +135,12 @@ __init_HFSCR:
135 blr 135 blr
136 136
137__init_TLB: 137__init_TLB:
138 /* Clear the TLB */ 138 /*
139 li r6,128 139 * Clear the TLB using the "IS 3" form of tlbiel instruction
140 * (invalidate by congruence class). P7 has 128 CCs, P8 has 512
141 * so we just always do 512
142 */
143 li r6,512
140 mtctr r6 144 mtctr r6
141 li r7,0xc00 /* IS field = 0b11 */ 145 li r7,0xc00 /* IS field = 0b11 */
142 ptesync 146 ptesync
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index c60bbec25c1f..2a45d0f04385 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -452,7 +452,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
452 .mmu_features = MMU_FTRS_POWER8, 452 .mmu_features = MMU_FTRS_POWER8,
453 .icache_bsize = 128, 453 .icache_bsize = 128,
454 .dcache_bsize = 128, 454 .dcache_bsize = 128,
455 .oprofile_type = PPC_OPROFILE_POWER4, 455 .oprofile_type = PPC_OPROFILE_INVALID,
456 .oprofile_cpu_type = "ppc64/ibm-compat-v1", 456 .oprofile_cpu_type = "ppc64/ibm-compat-v1",
457 .cpu_setup = __setup_cpu_power8, 457 .cpu_setup = __setup_cpu_power8,
458 .cpu_restore = __restore_cpu_power8, 458 .cpu_restore = __restore_cpu_power8,
@@ -482,7 +482,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
482 .cpu_name = "POWER7+ (raw)", 482 .cpu_name = "POWER7+ (raw)",
483 .cpu_features = CPU_FTRS_POWER7, 483 .cpu_features = CPU_FTRS_POWER7,
484 .cpu_user_features = COMMON_USER_POWER7, 484 .cpu_user_features = COMMON_USER_POWER7,
485 .cpu_user_features = COMMON_USER2_POWER7, 485 .cpu_user_features2 = COMMON_USER2_POWER7,
486 .mmu_features = MMU_FTRS_POWER7, 486 .mmu_features = MMU_FTRS_POWER7,
487 .icache_bsize = 128, 487 .icache_bsize = 128,
488 .dcache_bsize = 128, 488 .dcache_bsize = 128,
@@ -507,7 +507,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
507 .num_pmcs = 6, 507 .num_pmcs = 6,
508 .pmc_type = PPC_PMC_IBM, 508 .pmc_type = PPC_PMC_IBM,
509 .oprofile_cpu_type = "ppc64/power8", 509 .oprofile_cpu_type = "ppc64/power8",
510 .oprofile_type = PPC_OPROFILE_POWER4, 510 .oprofile_type = PPC_OPROFILE_INVALID,
511 .cpu_setup = __setup_cpu_power8, 511 .cpu_setup = __setup_cpu_power8,
512 .cpu_restore = __restore_cpu_power8, 512 .cpu_restore = __restore_cpu_power8,
513 .platform = "power8", 513 .platform = "power8",
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index d22e73e4618b..22b45a4955cd 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -849,7 +849,7 @@ resume_kernel:
849 /* check current_thread_info, _TIF_EMULATE_STACK_STORE */ 849 /* check current_thread_info, _TIF_EMULATE_STACK_STORE */
850 CURRENT_THREAD_INFO(r9, r1) 850 CURRENT_THREAD_INFO(r9, r1)
851 lwz r8,TI_FLAGS(r9) 851 lwz r8,TI_FLAGS(r9)
852 andis. r8,r8,_TIF_EMULATE_STACK_STORE@h 852 andis. r0,r8,_TIF_EMULATE_STACK_STORE@h
853 beq+ 1f 853 beq+ 1f
854 854
855 addi r8,r1,INT_FRAME_SIZE /* Get the kprobed function entry */ 855 addi r8,r1,INT_FRAME_SIZE /* Get the kprobed function entry */
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index 51cfb8fc301f..8741c854e03d 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -487,6 +487,13 @@ BEGIN_FTR_SECTION
487 ldarx r6,0,r1 487 ldarx r6,0,r1
488END_FTR_SECTION_IFSET(CPU_FTR_STCX_CHECKS_ADDRESS) 488END_FTR_SECTION_IFSET(CPU_FTR_STCX_CHECKS_ADDRESS)
489 489
490#ifdef CONFIG_PPC_BOOK3S
491/* Cancel all explict user streams as they will have no use after context
492 * switch and will stop the HW from creating streams itself
493 */
494 DCBT_STOP_ALL_STREAM_IDS(r6)
495#endif
496
490 addi r6,r4,-THREAD /* Convert THREAD to 'current' */ 497 addi r6,r4,-THREAD /* Convert THREAD to 'current' */
491 std r6,PACACURRENT(r13) /* Set new 'current' */ 498 std r6,PACACURRENT(r13) /* Set new 'current' */
492 499
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index e6eba1bf61ad..40e4a17c8ba0 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -454,38 +454,14 @@ BEGIN_FTR_SECTION
454 xori r10,r10,(MSR_FE0|MSR_FE1) 454 xori r10,r10,(MSR_FE0|MSR_FE1)
455 mtmsrd r10 455 mtmsrd r10
456 sync 456 sync
457 fmr 0,0 457
458 fmr 1,1 458#define FMR2(n) fmr (n), (n) ; fmr n+1, n+1
459 fmr 2,2 459#define FMR4(n) FMR2(n) ; FMR2(n+2)
460 fmr 3,3 460#define FMR8(n) FMR4(n) ; FMR4(n+4)
461 fmr 4,4 461#define FMR16(n) FMR8(n) ; FMR8(n+8)
462 fmr 5,5 462#define FMR32(n) FMR16(n) ; FMR16(n+16)
463 fmr 6,6 463 FMR32(0)
464 fmr 7,7 464
465 fmr 8,8
466 fmr 9,9
467 fmr 10,10
468 fmr 11,11
469 fmr 12,12
470 fmr 13,13
471 fmr 14,14
472 fmr 15,15
473 fmr 16,16
474 fmr 17,17
475 fmr 18,18
476 fmr 19,19
477 fmr 20,20
478 fmr 21,21
479 fmr 22,22
480 fmr 23,23
481 fmr 24,24
482 fmr 25,25
483 fmr 26,26
484 fmr 27,27
485 fmr 28,28
486 fmr 29,29
487 fmr 30,30
488 fmr 31,31
489FTR_SECTION_ELSE 465FTR_SECTION_ELSE
490/* 466/*
491 * To denormalise we need to move a copy of the register to itself. 467 * To denormalise we need to move a copy of the register to itself.
@@ -495,39 +471,25 @@ FTR_SECTION_ELSE
495 oris r10,r10,MSR_VSX@h 471 oris r10,r10,MSR_VSX@h
496 mtmsrd r10 472 mtmsrd r10
497 sync 473 sync
498 XVCPSGNDP(0,0,0) 474
499 XVCPSGNDP(1,1,1) 475#define XVCPSGNDP2(n) XVCPSGNDP(n,n,n) ; XVCPSGNDP(n+1,n+1,n+1)
500 XVCPSGNDP(2,2,2) 476#define XVCPSGNDP4(n) XVCPSGNDP2(n) ; XVCPSGNDP2(n+2)
501 XVCPSGNDP(3,3,3) 477#define XVCPSGNDP8(n) XVCPSGNDP4(n) ; XVCPSGNDP4(n+4)
502 XVCPSGNDP(4,4,4) 478#define XVCPSGNDP16(n) XVCPSGNDP8(n) ; XVCPSGNDP8(n+8)
503 XVCPSGNDP(5,5,5) 479#define XVCPSGNDP32(n) XVCPSGNDP16(n) ; XVCPSGNDP16(n+16)
504 XVCPSGNDP(6,6,6) 480 XVCPSGNDP32(0)
505 XVCPSGNDP(7,7,7) 481
506 XVCPSGNDP(8,8,8)
507 XVCPSGNDP(9,9,9)
508 XVCPSGNDP(10,10,10)
509 XVCPSGNDP(11,11,11)
510 XVCPSGNDP(12,12,12)
511 XVCPSGNDP(13,13,13)
512 XVCPSGNDP(14,14,14)
513 XVCPSGNDP(15,15,15)
514 XVCPSGNDP(16,16,16)
515 XVCPSGNDP(17,17,17)
516 XVCPSGNDP(18,18,18)
517 XVCPSGNDP(19,19,19)
518 XVCPSGNDP(20,20,20)
519 XVCPSGNDP(21,21,21)
520 XVCPSGNDP(22,22,22)
521 XVCPSGNDP(23,23,23)
522 XVCPSGNDP(24,24,24)
523 XVCPSGNDP(25,25,25)
524 XVCPSGNDP(26,26,26)
525 XVCPSGNDP(27,27,27)
526 XVCPSGNDP(28,28,28)
527 XVCPSGNDP(29,29,29)
528 XVCPSGNDP(30,30,30)
529 XVCPSGNDP(31,31,31)
530ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206) 482ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
483
484BEGIN_FTR_SECTION
485 b denorm_done
486END_FTR_SECTION_IFCLR(CPU_FTR_ARCH_207S)
487/*
488 * To denormalise we need to move a copy of the register to itself.
489 * For POWER8 we need to do that for all 64 VSX registers
490 */
491 XVCPSGNDP32(32)
492denorm_done:
531 mtspr SPRN_HSRR0,r11 493 mtspr SPRN_HSRR0,r11
532 mtcrf 0x80,r9 494 mtcrf 0x80,r9
533 ld r9,PACA_EXGEN+EX_R9(r13) 495 ld r9,PACA_EXGEN+EX_R9(r13)
@@ -721,7 +683,7 @@ machine_check_common:
721 STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception) 683 STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception)
722 STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception) 684 STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception)
723 STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception) 685 STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception)
724 STD_EXCEPTION_COMMON(0xe40, emulation_assist, .program_check_exception) 686 STD_EXCEPTION_COMMON(0xe40, emulation_assist, .emulation_assist_interrupt)
725 STD_EXCEPTION_COMMON(0xe60, hmi_exception, .unknown_exception) 687 STD_EXCEPTION_COMMON(0xe60, hmi_exception, .unknown_exception)
726#ifdef CONFIG_PPC_DOORBELL 688#ifdef CONFIG_PPC_DOORBELL
727 STD_EXCEPTION_COMMON_ASYNC(0xe80, h_doorbell, .doorbell_exception) 689 STD_EXCEPTION_COMMON_ASYNC(0xe80, h_doorbell, .doorbell_exception)
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 5cbcf4d5a808..ea185e0b3cae 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -162,7 +162,7 @@ notrace unsigned int __check_irq_replay(void)
162 * in case we also had a rollover while hard disabled 162 * in case we also had a rollover while hard disabled
163 */ 163 */
164 local_paca->irq_happened &= ~PACA_IRQ_DEC; 164 local_paca->irq_happened &= ~PACA_IRQ_DEC;
165 if (decrementer_check_overflow()) 165 if ((happened & PACA_IRQ_DEC) || decrementer_check_overflow())
166 return 0x900; 166 return 0x900;
167 167
168 /* Finally check if an external interrupt happened */ 168 /* Finally check if an external interrupt happened */
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 6053f037ef0a..eabeec991016 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -657,15 +657,6 @@ void pci_resource_to_user(const struct pci_dev *dev, int bar,
657 * ranges. However, some machines (thanks Apple !) tend to split their 657 * ranges. However, some machines (thanks Apple !) tend to split their
658 * space into lots of small contiguous ranges. So we have to coalesce. 658 * space into lots of small contiguous ranges. So we have to coalesce.
659 * 659 *
660 * - We can only cope with all memory ranges having the same offset
661 * between CPU addresses and PCI addresses. Unfortunately, some bridges
662 * are setup for a large 1:1 mapping along with a small "window" which
663 * maps PCI address 0 to some arbitrary high address of the CPU space in
664 * order to give access to the ISA memory hole.
665 * The way out of here that I've chosen for now is to always set the
666 * offset based on the first resource found, then override it if we
667 * have a different offset and the previous was set by an ISA hole.
668 *
669 * - Some busses have IO space not starting at 0, which causes trouble with 660 * - Some busses have IO space not starting at 0, which causes trouble with
670 * the way we do our IO resource renumbering. The code somewhat deals with 661 * the way we do our IO resource renumbering. The code somewhat deals with
671 * it for 64 bits but I would expect problems on 32 bits. 662 * it for 64 bits but I would expect problems on 32 bits.
@@ -680,10 +671,9 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,
680 int rlen; 671 int rlen;
681 int pna = of_n_addr_cells(dev); 672 int pna = of_n_addr_cells(dev);
682 int np = pna + 5; 673 int np = pna + 5;
683 int memno = 0, isa_hole = -1; 674 int memno = 0;
684 u32 pci_space; 675 u32 pci_space;
685 unsigned long long pci_addr, cpu_addr, pci_next, cpu_next, size; 676 unsigned long long pci_addr, cpu_addr, pci_next, cpu_next, size;
686 unsigned long long isa_mb = 0;
687 struct resource *res; 677 struct resource *res;
688 678
689 printk(KERN_INFO "PCI host bridge %s %s ranges:\n", 679 printk(KERN_INFO "PCI host bridge %s %s ranges:\n",
@@ -777,8 +767,6 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,
777 } 767 }
778 /* Handles ISA memory hole space here */ 768 /* Handles ISA memory hole space here */
779 if (pci_addr == 0) { 769 if (pci_addr == 0) {
780 isa_mb = cpu_addr;
781 isa_hole = memno;
782 if (primary || isa_mem_base == 0) 770 if (primary || isa_mem_base == 0)
783 isa_mem_base = cpu_addr; 771 isa_mem_base = cpu_addr;
784 hose->isa_mem_phys = cpu_addr; 772 hose->isa_mem_phys = cpu_addr;
@@ -839,6 +827,7 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
839 } 827 }
840 for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { 828 for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
841 struct resource *res = dev->resource + i; 829 struct resource *res = dev->resource + i;
830 struct pci_bus_region reg;
842 if (!res->flags) 831 if (!res->flags)
843 continue; 832 continue;
844 833
@@ -847,8 +836,9 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
847 * at 0 as unset as well, except if PCI_PROBE_ONLY is also set 836 * at 0 as unset as well, except if PCI_PROBE_ONLY is also set
848 * since in that case, we don't want to re-assign anything 837 * since in that case, we don't want to re-assign anything
849 */ 838 */
839 pcibios_resource_to_bus(dev, &reg, res);
850 if (pci_has_flag(PCI_REASSIGN_ALL_RSRC) || 840 if (pci_has_flag(PCI_REASSIGN_ALL_RSRC) ||
851 (res->start == 0 && !pci_has_flag(PCI_PROBE_ONLY))) { 841 (reg.start == 0 && !pci_has_flag(PCI_PROBE_ONLY))) {
852 /* Only print message if not re-assigning */ 842 /* Only print message if not re-assigning */
853 if (!pci_has_flag(PCI_REASSIGN_ALL_RSRC)) 843 if (!pci_has_flag(PCI_REASSIGN_ALL_RSRC))
854 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] " 844 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] "
@@ -1520,9 +1510,10 @@ static void pcibios_setup_phb_resources(struct pci_controller *hose,
1520 for (i = 0; i < 3; ++i) { 1510 for (i = 0; i < 3; ++i) {
1521 res = &hose->mem_resources[i]; 1511 res = &hose->mem_resources[i];
1522 if (!res->flags) { 1512 if (!res->flags) {
1523 printk(KERN_ERR "PCI: Memory resource 0 not set for " 1513 if (i == 0)
1524 "host bridge %s (domain %d)\n", 1514 printk(KERN_ERR "PCI: Memory resource 0 not set for "
1525 hose->dn->full_name, hose->global_number); 1515 "host bridge %s (domain %d)\n",
1516 hose->dn->full_name, hose->global_number);
1526 continue; 1517 continue;
1527 } 1518 }
1528 offset = hose->mem_offset[i]; 1519 offset = hose->mem_offset[i];
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 873050d26840..2e8629654ca8 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -266,3 +266,13 @@ int pcibus_to_node(struct pci_bus *bus)
266} 266}
267EXPORT_SYMBOL(pcibus_to_node); 267EXPORT_SYMBOL(pcibus_to_node);
268#endif 268#endif
269
270static void quirk_radeon_32bit_msi(struct pci_dev *dev)
271{
272 struct pci_dn *pdn = pci_get_pdn(dev);
273
274 if (pdn)
275 pdn->force_32bit_msi = 1;
276}
277DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x68f2, quirk_radeon_32bit_msi);
278DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0xaa68, quirk_radeon_32bit_msi);
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index e7af165f8b9d..df038442548a 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -32,6 +32,14 @@
32#include <asm/ppc-pci.h> 32#include <asm/ppc-pci.h>
33#include <asm/firmware.h> 33#include <asm/firmware.h>
34 34
35struct pci_dn *pci_get_pdn(struct pci_dev *pdev)
36{
37 struct device_node *dn = pci_device_to_OF_node(pdev);
38 if (!dn)
39 return NULL;
40 return PCI_DN(dn);
41}
42
35/* 43/*
36 * Traverse_func that inits the PCI fields of the device node. 44 * Traverse_func that inits the PCI fields of the device node.
37 * NOTE: this *must* be done before read/write config to the device. 45 * NOTE: this *must* be done before read/write config to the device.
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index a902723fdc69..076d1242507a 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -399,7 +399,8 @@ static inline int __set_dabr(unsigned long dabr, unsigned long dabrx)
399static inline int __set_dabr(unsigned long dabr, unsigned long dabrx) 399static inline int __set_dabr(unsigned long dabr, unsigned long dabrx)
400{ 400{
401 mtspr(SPRN_DABR, dabr); 401 mtspr(SPRN_DABR, dabr);
402 mtspr(SPRN_DABRX, dabrx); 402 if (cpu_has_feature(CPU_FTR_DABRX))
403 mtspr(SPRN_DABRX, dabrx);
403 return 0; 404 return 0;
404} 405}
405#else 406#else
@@ -1368,7 +1369,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
1368 1369
1369#ifdef CONFIG_PPC64 1370#ifdef CONFIG_PPC64
1370/* Called with hard IRQs off */ 1371/* Called with hard IRQs off */
1371void __ppc64_runlatch_on(void) 1372void notrace __ppc64_runlatch_on(void)
1372{ 1373{
1373 struct thread_info *ti = current_thread_info(); 1374 struct thread_info *ti = current_thread_info();
1374 unsigned long ctrl; 1375 unsigned long ctrl;
@@ -1381,7 +1382,7 @@ void __ppc64_runlatch_on(void)
1381} 1382}
1382 1383
1383/* Called with hard IRQs off */ 1384/* Called with hard IRQs off */
1384void __ppc64_runlatch_off(void) 1385void notrace __ppc64_runlatch_off(void)
1385{ 1386{
1386 struct thread_info *ti = current_thread_info(); 1387 struct thread_info *ti = current_thread_info();
1387 unsigned long ctrl; 1388 unsigned long ctrl;
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index 577a8aa69c6e..457e97aa2945 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -18,6 +18,7 @@
18#include <asm/uaccess.h> 18#include <asm/uaccess.h>
19#include <asm/unistd.h> 19#include <asm/unistd.h>
20#include <asm/debug.h> 20#include <asm/debug.h>
21#include <asm/tm.h>
21 22
22#include "signal.h" 23#include "signal.h"
23 24
@@ -30,13 +31,13 @@ int show_unhandled_signals = 1;
30/* 31/*
31 * Allocate space for the signal frame 32 * Allocate space for the signal frame
32 */ 33 */
33void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, 34void __user * get_sigframe(struct k_sigaction *ka, unsigned long sp,
34 size_t frame_size, int is_32) 35 size_t frame_size, int is_32)
35{ 36{
36 unsigned long oldsp, newsp; 37 unsigned long oldsp, newsp;
37 38
38 /* Default to using normal stack */ 39 /* Default to using normal stack */
39 oldsp = get_clean_sp(regs, is_32); 40 oldsp = get_clean_sp(sp, is_32);
40 41
41 /* Check for alt stack */ 42 /* Check for alt stack */
42 if ((ka->sa.sa_flags & SA_ONSTACK) && 43 if ((ka->sa.sa_flags & SA_ONSTACK) &&
@@ -175,3 +176,38 @@ void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
175 176
176 user_enter(); 177 user_enter();
177} 178}
179
180unsigned long get_tm_stackpointer(struct pt_regs *regs)
181{
182 /* When in an active transaction that takes a signal, we need to be
183 * careful with the stack. It's possible that the stack has moved back
184 * up after the tbegin. The obvious case here is when the tbegin is
185 * called inside a function that returns before a tend. In this case,
186 * the stack is part of the checkpointed transactional memory state.
187 * If we write over this non transactionally or in suspend, we are in
188 * trouble because if we get a tm abort, the program counter and stack
189 * pointer will be back at the tbegin but our in memory stack won't be
190 * valid anymore.
191 *
192 * To avoid this, when taking a signal in an active transaction, we
193 * need to use the stack pointer from the checkpointed state, rather
194 * than the speculated state. This ensures that the signal context
195 * (written tm suspended) will be written below the stack required for
196 * the rollback. The transaction is aborted becuase of the treclaim,
197 * so any memory written between the tbegin and the signal will be
198 * rolled back anyway.
199 *
200 * For signals taken in non-TM or suspended mode, we use the
201 * normal/non-checkpointed stack pointer.
202 */
203
204#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
205 if (MSR_TM_ACTIVE(regs->msr)) {
206 tm_enable();
207 tm_reclaim(&current->thread, regs->msr, TM_CAUSE_SIGNAL);
208 if (MSR_TM_TRANSACTIONAL(regs->msr))
209 return current->thread.ckpt_regs.gpr[1];
210 }
211#endif
212 return regs->gpr[1];
213}
diff --git a/arch/powerpc/kernel/signal.h b/arch/powerpc/kernel/signal.h
index ec84c901ceab..c69b9aeb9f23 100644
--- a/arch/powerpc/kernel/signal.h
+++ b/arch/powerpc/kernel/signal.h
@@ -12,7 +12,7 @@
12 12
13extern void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags); 13extern void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags);
14 14
15extern void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, 15extern void __user * get_sigframe(struct k_sigaction *ka, unsigned long sp,
16 size_t frame_size, int is_32); 16 size_t frame_size, int is_32);
17 17
18extern int handle_signal32(unsigned long sig, struct k_sigaction *ka, 18extern int handle_signal32(unsigned long sig, struct k_sigaction *ka,
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 95068bf569ad..201385c3a1ae 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -503,12 +503,6 @@ static int save_tm_user_regs(struct pt_regs *regs,
503{ 503{
504 unsigned long msr = regs->msr; 504 unsigned long msr = regs->msr;
505 505
506 /* tm_reclaim rolls back all reg states, updating thread.ckpt_regs,
507 * thread.transact_fpr[], thread.transact_vr[], etc.
508 */
509 tm_enable();
510 tm_reclaim(&current->thread, msr, TM_CAUSE_SIGNAL);
511
512 /* Make sure floating point registers are stored in regs */ 506 /* Make sure floating point registers are stored in regs */
513 flush_fp_to_thread(current); 507 flush_fp_to_thread(current);
514 508
@@ -965,7 +959,7 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
965 959
966 /* Set up Signal Frame */ 960 /* Set up Signal Frame */
967 /* Put a Real Time Context onto stack */ 961 /* Put a Real Time Context onto stack */
968 rt_sf = get_sigframe(ka, regs, sizeof(*rt_sf), 1); 962 rt_sf = get_sigframe(ka, get_tm_stackpointer(regs), sizeof(*rt_sf), 1);
969 addr = rt_sf; 963 addr = rt_sf;
970 if (unlikely(rt_sf == NULL)) 964 if (unlikely(rt_sf == NULL))
971 goto badframe; 965 goto badframe;
@@ -1403,7 +1397,7 @@ int handle_signal32(unsigned long sig, struct k_sigaction *ka,
1403 unsigned long tramp; 1397 unsigned long tramp;
1404 1398
1405 /* Set up Signal Frame */ 1399 /* Set up Signal Frame */
1406 frame = get_sigframe(ka, regs, sizeof(*frame), 1); 1400 frame = get_sigframe(ka, get_tm_stackpointer(regs), sizeof(*frame), 1);
1407 if (unlikely(frame == NULL)) 1401 if (unlikely(frame == NULL))
1408 goto badframe; 1402 goto badframe;
1409 sc = (struct sigcontext __user *) &frame->sctx; 1403 sc = (struct sigcontext __user *) &frame->sctx;
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
index c1794286098c..345947367ec0 100644
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -154,11 +154,12 @@ static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,
154 * As above, but Transactional Memory is in use, so deliver sigcontexts 154 * As above, but Transactional Memory is in use, so deliver sigcontexts
155 * containing checkpointed and transactional register states. 155 * containing checkpointed and transactional register states.
156 * 156 *
157 * To do this, we treclaim to gather both sets of registers and set up the 157 * To do this, we treclaim (done before entering here) to gather both sets of
158 * 'normal' sigcontext registers with rolled-back register values such that a 158 * registers and set up the 'normal' sigcontext registers with rolled-back
159 * simple signal handler sees a correct checkpointed register state. 159 * register values such that a simple signal handler sees a correct
160 * If interested, a TM-aware sighandler can examine the transactional registers 160 * checkpointed register state. If interested, a TM-aware sighandler can
161 * in the 2nd sigcontext to determine the real origin of the signal. 161 * examine the transactional registers in the 2nd sigcontext to determine the
162 * real origin of the signal.
162 */ 163 */
163static long setup_tm_sigcontexts(struct sigcontext __user *sc, 164static long setup_tm_sigcontexts(struct sigcontext __user *sc,
164 struct sigcontext __user *tm_sc, 165 struct sigcontext __user *tm_sc,
@@ -184,16 +185,6 @@ static long setup_tm_sigcontexts(struct sigcontext __user *sc,
184 185
185 BUG_ON(!MSR_TM_ACTIVE(regs->msr)); 186 BUG_ON(!MSR_TM_ACTIVE(regs->msr));
186 187
187 /* tm_reclaim rolls back all reg states, saving checkpointed (older)
188 * GPRs to thread.ckpt_regs and (if used) FPRs to (newer)
189 * thread.transact_fp and/or VRs to (newer) thread.transact_vr.
190 * THEN we save out FP/VRs, if necessary, to the checkpointed (older)
191 * thread.fr[]/vr[]s. The transactional (newer) GPRs are on the
192 * stack, in *regs.
193 */
194 tm_enable();
195 tm_reclaim(&current->thread, msr, TM_CAUSE_SIGNAL);
196
197 flush_fp_to_thread(current); 188 flush_fp_to_thread(current);
198 189
199#ifdef CONFIG_ALTIVEC 190#ifdef CONFIG_ALTIVEC
@@ -711,7 +702,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info,
711 unsigned long newsp = 0; 702 unsigned long newsp = 0;
712 long err = 0; 703 long err = 0;
713 704
714 frame = get_sigframe(ka, regs, sizeof(*frame), 0); 705 frame = get_sigframe(ka, get_tm_stackpointer(regs), sizeof(*frame), 0);
715 if (unlikely(frame == NULL)) 706 if (unlikely(frame == NULL))
716 goto badframe; 707 goto badframe;
717 708
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index a7a648f6b750..c0e5caf8ccc7 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -53,6 +53,7 @@
53#ifdef CONFIG_PPC64 53#ifdef CONFIG_PPC64
54#include <asm/firmware.h> 54#include <asm/firmware.h>
55#include <asm/processor.h> 55#include <asm/processor.h>
56#include <asm/tm.h>
56#endif 57#endif
57#include <asm/kexec.h> 58#include <asm/kexec.h>
58#include <asm/ppc-opcode.h> 59#include <asm/ppc-opcode.h>
@@ -932,6 +933,28 @@ static int emulate_isel(struct pt_regs *regs, u32 instword)
932 return 0; 933 return 0;
933} 934}
934 935
936#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
937static inline bool tm_abort_check(struct pt_regs *regs, int cause)
938{
939 /* If we're emulating a load/store in an active transaction, we cannot
940 * emulate it as the kernel operates in transaction suspended context.
941 * We need to abort the transaction. This creates a persistent TM
942 * abort so tell the user what caused it with a new code.
943 */
944 if (MSR_TM_TRANSACTIONAL(regs->msr)) {
945 tm_enable();
946 tm_abort(cause);
947 return true;
948 }
949 return false;
950}
951#else
952static inline bool tm_abort_check(struct pt_regs *regs, int reason)
953{
954 return false;
955}
956#endif
957
935static int emulate_instruction(struct pt_regs *regs) 958static int emulate_instruction(struct pt_regs *regs)
936{ 959{
937 u32 instword; 960 u32 instword;
@@ -971,6 +994,9 @@ static int emulate_instruction(struct pt_regs *regs)
971 994
972 /* Emulate load/store string insn. */ 995 /* Emulate load/store string insn. */
973 if ((instword & PPC_INST_STRING_GEN_MASK) == PPC_INST_STRING) { 996 if ((instword & PPC_INST_STRING_GEN_MASK) == PPC_INST_STRING) {
997 if (tm_abort_check(regs,
998 TM_CAUSE_EMULATE | TM_CAUSE_PERSISTENT))
999 return -EINVAL;
974 PPC_WARN_EMULATED(string, regs); 1000 PPC_WARN_EMULATED(string, regs);
975 return emulate_string_inst(regs, instword); 1001 return emulate_string_inst(regs, instword);
976 } 1002 }
@@ -1139,6 +1165,16 @@ bail:
1139 exception_exit(prev_state); 1165 exception_exit(prev_state);
1140} 1166}
1141 1167
1168/*
1169 * This occurs when running in hypervisor mode on POWER6 or later
1170 * and an illegal instruction is encountered.
1171 */
1172void __kprobes emulation_assist_interrupt(struct pt_regs *regs)
1173{
1174 regs->msr |= REASON_ILLEGAL;
1175 program_check_exception(regs);
1176}
1177
1142void alignment_exception(struct pt_regs *regs) 1178void alignment_exception(struct pt_regs *regs)
1143{ 1179{
1144 enum ctx_state prev_state = exception_enter(); 1180 enum ctx_state prev_state = exception_enter();
@@ -1148,6 +1184,9 @@ void alignment_exception(struct pt_regs *regs)
1148 if (!arch_irq_disabled_regs(regs)) 1184 if (!arch_irq_disabled_regs(regs))
1149 local_irq_enable(); 1185 local_irq_enable();
1150 1186
1187 if (tm_abort_check(regs, TM_CAUSE_ALIGNMENT | TM_CAUSE_PERSISTENT))
1188 goto bail;
1189
1151 /* we don't implement logging of alignment exceptions */ 1190 /* we don't implement logging of alignment exceptions */
1152 if (!(current->thread.align_ctl & PR_UNALIGN_SIGBUS)) 1191 if (!(current->thread.align_ctl & PR_UNALIGN_SIGBUS))
1153 fixed = fix_alignment(regs); 1192 fixed = fix_alignment(regs);
diff --git a/arch/powerpc/kvm/44x_tlb.c b/arch/powerpc/kvm/44x_tlb.c
index 5dd3ab469976..ed0385448148 100644
--- a/arch/powerpc/kvm/44x_tlb.c
+++ b/arch/powerpc/kvm/44x_tlb.c
@@ -441,6 +441,7 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws)
441 struct kvmppc_vcpu_44x *vcpu_44x = to_44x(vcpu); 441 struct kvmppc_vcpu_44x *vcpu_44x = to_44x(vcpu);
442 struct kvmppc_44x_tlbe *tlbe; 442 struct kvmppc_44x_tlbe *tlbe;
443 unsigned int gtlb_index; 443 unsigned int gtlb_index;
444 int idx;
444 445
445 gtlb_index = kvmppc_get_gpr(vcpu, ra); 446 gtlb_index = kvmppc_get_gpr(vcpu, ra);
446 if (gtlb_index >= KVM44x_GUEST_TLB_SIZE) { 447 if (gtlb_index >= KVM44x_GUEST_TLB_SIZE) {
@@ -473,6 +474,8 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws)
473 return EMULATE_FAIL; 474 return EMULATE_FAIL;
474 } 475 }
475 476
477 idx = srcu_read_lock(&vcpu->kvm->srcu);
478
476 if (tlbe_is_host_safe(vcpu, tlbe)) { 479 if (tlbe_is_host_safe(vcpu, tlbe)) {
477 gva_t eaddr; 480 gva_t eaddr;
478 gpa_t gpaddr; 481 gpa_t gpaddr;
@@ -489,6 +492,8 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws)
489 kvmppc_mmu_map(vcpu, eaddr, gpaddr, gtlb_index); 492 kvmppc_mmu_map(vcpu, eaddr, gpaddr, gtlb_index);
490 } 493 }
491 494
495 srcu_read_unlock(&vcpu->kvm->srcu, idx);
496
492 trace_kvm_gtlb_write(gtlb_index, tlbe->tid, tlbe->word0, tlbe->word1, 497 trace_kvm_gtlb_write(gtlb_index, tlbe->tid, tlbe->word0, tlbe->word1,
493 tlbe->word2); 498 tlbe->word2);
494 499
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 9de24f8e03c7..550f5928b394 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -562,6 +562,8 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu)
562 case H_CPPR: 562 case H_CPPR:
563 case H_EOI: 563 case H_EOI:
564 case H_IPI: 564 case H_IPI:
565 case H_IPOLL:
566 case H_XIRR_X:
565 if (kvmppc_xics_enabled(vcpu)) { 567 if (kvmppc_xics_enabled(vcpu)) {
566 ret = kvmppc_xics_hcall(vcpu, req); 568 ret = kvmppc_xics_hcall(vcpu, req);
567 break; 569 break;
diff --git a/arch/powerpc/kvm/book3s_pr_papr.c b/arch/powerpc/kvm/book3s_pr_papr.c
index b24309c6c2d5..da0e0bc268bd 100644
--- a/arch/powerpc/kvm/book3s_pr_papr.c
+++ b/arch/powerpc/kvm/book3s_pr_papr.c
@@ -257,6 +257,8 @@ int kvmppc_h_pr(struct kvm_vcpu *vcpu, unsigned long cmd)
257 case H_CPPR: 257 case H_CPPR:
258 case H_EOI: 258 case H_EOI:
259 case H_IPI: 259 case H_IPI:
260 case H_IPOLL:
261 case H_XIRR_X:
260 if (kvmppc_xics_enabled(vcpu)) 262 if (kvmppc_xics_enabled(vcpu))
261 return kvmppc_h_pr_xics_hcall(vcpu, cmd); 263 return kvmppc_h_pr_xics_hcall(vcpu, cmd);
262 break; 264 break;
diff --git a/arch/powerpc/kvm/book3s_xics.c b/arch/powerpc/kvm/book3s_xics.c
index f7a103756618..94c1dd46b83d 100644
--- a/arch/powerpc/kvm/book3s_xics.c
+++ b/arch/powerpc/kvm/book3s_xics.c
@@ -650,6 +650,23 @@ static noinline int kvmppc_h_ipi(struct kvm_vcpu *vcpu, unsigned long server,
650 return H_SUCCESS; 650 return H_SUCCESS;
651} 651}
652 652
653static int kvmppc_h_ipoll(struct kvm_vcpu *vcpu, unsigned long server)
654{
655 union kvmppc_icp_state state;
656 struct kvmppc_icp *icp;
657
658 icp = vcpu->arch.icp;
659 if (icp->server_num != server) {
660 icp = kvmppc_xics_find_server(vcpu->kvm, server);
661 if (!icp)
662 return H_PARAMETER;
663 }
664 state = ACCESS_ONCE(icp->state);
665 kvmppc_set_gpr(vcpu, 4, ((u32)state.cppr << 24) | state.xisr);
666 kvmppc_set_gpr(vcpu, 5, state.mfrr);
667 return H_SUCCESS;
668}
669
653static noinline void kvmppc_h_cppr(struct kvm_vcpu *vcpu, unsigned long cppr) 670static noinline void kvmppc_h_cppr(struct kvm_vcpu *vcpu, unsigned long cppr)
654{ 671{
655 union kvmppc_icp_state old_state, new_state; 672 union kvmppc_icp_state old_state, new_state;
@@ -787,6 +804,18 @@ int kvmppc_xics_hcall(struct kvm_vcpu *vcpu, u32 req)
787 if (!xics || !vcpu->arch.icp) 804 if (!xics || !vcpu->arch.icp)
788 return H_HARDWARE; 805 return H_HARDWARE;
789 806
807 /* These requests don't have real-mode implementations at present */
808 switch (req) {
809 case H_XIRR_X:
810 res = kvmppc_h_xirr(vcpu);
811 kvmppc_set_gpr(vcpu, 4, res);
812 kvmppc_set_gpr(vcpu, 5, get_tb());
813 return rc;
814 case H_IPOLL:
815 rc = kvmppc_h_ipoll(vcpu, kvmppc_get_gpr(vcpu, 4));
816 return rc;
817 }
818
790 /* Check for real mode returning too hard */ 819 /* Check for real mode returning too hard */
791 if (xics->real_mode) 820 if (xics->real_mode)
792 return kvmppc_xics_rm_complete(vcpu, req); 821 return kvmppc_xics_rm_complete(vcpu, req);
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 1020119226db..1a1b51189773 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -673,7 +673,6 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
673 ret = s; 673 ret = s;
674 goto out; 674 goto out;
675 } 675 }
676 kvmppc_lazy_ee_enable();
677 676
678 kvm_guest_enter(); 677 kvm_guest_enter();
679 678
@@ -699,6 +698,8 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
699 kvmppc_load_guest_fp(vcpu); 698 kvmppc_load_guest_fp(vcpu);
700#endif 699#endif
701 700
701 kvmppc_lazy_ee_enable();
702
702 ret = __kvmppc_vcpu_run(kvm_run, vcpu); 703 ret = __kvmppc_vcpu_run(kvm_run, vcpu);
703 704
704 /* No need for kvm_guest_exit. It's done in handle_exit. 705 /* No need for kvm_guest_exit. It's done in handle_exit.
@@ -832,6 +833,18 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
832{ 833{
833 int r = RESUME_HOST; 834 int r = RESUME_HOST;
834 int s; 835 int s;
836 int idx;
837
838#ifdef CONFIG_PPC64
839 WARN_ON(local_paca->irq_happened != 0);
840#endif
841
842 /*
843 * We enter with interrupts disabled in hardware, but
844 * we need to call hard_irq_disable anyway to ensure that
845 * the software state is kept in sync.
846 */
847 hard_irq_disable();
835 848
836 /* update before a new last_exit_type is rewritten */ 849 /* update before a new last_exit_type is rewritten */
837 kvmppc_update_timing_stats(vcpu); 850 kvmppc_update_timing_stats(vcpu);
@@ -1053,6 +1066,8 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
1053 break; 1066 break;
1054 } 1067 }
1055 1068
1069 idx = srcu_read_lock(&vcpu->kvm->srcu);
1070
1056 gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr); 1071 gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr);
1057 gfn = gpaddr >> PAGE_SHIFT; 1072 gfn = gpaddr >> PAGE_SHIFT;
1058 1073
@@ -1075,6 +1090,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
1075 kvmppc_account_exit(vcpu, MMIO_EXITS); 1090 kvmppc_account_exit(vcpu, MMIO_EXITS);
1076 } 1091 }
1077 1092
1093 srcu_read_unlock(&vcpu->kvm->srcu, idx);
1078 break; 1094 break;
1079 } 1095 }
1080 1096
@@ -1098,6 +1114,8 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
1098 1114
1099 kvmppc_account_exit(vcpu, ITLB_VIRT_MISS_EXITS); 1115 kvmppc_account_exit(vcpu, ITLB_VIRT_MISS_EXITS);
1100 1116
1117 idx = srcu_read_lock(&vcpu->kvm->srcu);
1118
1101 gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr); 1119 gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr);
1102 gfn = gpaddr >> PAGE_SHIFT; 1120 gfn = gpaddr >> PAGE_SHIFT;
1103 1121
@@ -1114,6 +1132,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
1114 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_MACHINE_CHECK); 1132 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_MACHINE_CHECK);
1115 } 1133 }
1116 1134
1135 srcu_read_unlock(&vcpu->kvm->srcu, idx);
1117 break; 1136 break;
1118 } 1137 }
1119 1138
diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c
index c41a5a96b558..6d6f153b6c1d 100644
--- a/arch/powerpc/kvm/e500_mmu.c
+++ b/arch/powerpc/kvm/e500_mmu.c
@@ -396,6 +396,7 @@ int kvmppc_e500_emul_tlbwe(struct kvm_vcpu *vcpu)
396 struct kvm_book3e_206_tlb_entry *gtlbe; 396 struct kvm_book3e_206_tlb_entry *gtlbe;
397 int tlbsel, esel; 397 int tlbsel, esel;
398 int recal = 0; 398 int recal = 0;
399 int idx;
399 400
400 tlbsel = get_tlb_tlbsel(vcpu); 401 tlbsel = get_tlb_tlbsel(vcpu);
401 esel = get_tlb_esel(vcpu, tlbsel); 402 esel = get_tlb_esel(vcpu, tlbsel);
@@ -430,6 +431,8 @@ int kvmppc_e500_emul_tlbwe(struct kvm_vcpu *vcpu)
430 kvmppc_set_tlb1map_range(vcpu, gtlbe); 431 kvmppc_set_tlb1map_range(vcpu, gtlbe);
431 } 432 }
432 433
434 idx = srcu_read_lock(&vcpu->kvm->srcu);
435
433 /* Invalidate shadow mappings for the about-to-be-clobbered TLBE. */ 436 /* Invalidate shadow mappings for the about-to-be-clobbered TLBE. */
434 if (tlbe_is_host_safe(vcpu, gtlbe)) { 437 if (tlbe_is_host_safe(vcpu, gtlbe)) {
435 u64 eaddr = get_tlb_eaddr(gtlbe); 438 u64 eaddr = get_tlb_eaddr(gtlbe);
@@ -444,6 +447,8 @@ int kvmppc_e500_emul_tlbwe(struct kvm_vcpu *vcpu)
444 kvmppc_mmu_map(vcpu, eaddr, raddr, index_of(tlbsel, esel)); 447 kvmppc_mmu_map(vcpu, eaddr, raddr, index_of(tlbsel, esel));
445 } 448 }
446 449
450 srcu_read_unlock(&vcpu->kvm->srcu, idx);
451
447 kvmppc_set_exit_type(vcpu, EMULATED_TLBWE_EXITS); 452 kvmppc_set_exit_type(vcpu, EMULATED_TLBWE_EXITS);
448 return EMULATE_DONE; 453 return EMULATE_DONE;
449} 454}
diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c
index 753cc99eff2b..19c8379575f7 100644
--- a/arch/powerpc/kvm/e500mc.c
+++ b/arch/powerpc/kvm/e500mc.c
@@ -177,8 +177,6 @@ int kvmppc_core_check_processor_compat(void)
177 r = 0; 177 r = 0;
178 else if (strcmp(cur_cpu_spec->cpu_name, "e5500") == 0) 178 else if (strcmp(cur_cpu_spec->cpu_name, "e5500") == 0)
179 r = 0; 179 r = 0;
180 else if (strcmp(cur_cpu_spec->cpu_name, "e6500") == 0)
181 r = 0;
182 else 180 else
183 r = -ENOTSUPP; 181 r = -ENOTSUPP;
184 182
diff --git a/arch/powerpc/lib/copypage_power7.S b/arch/powerpc/lib/copypage_power7.S
index 0ef75bf0695c..395c594722a2 100644
--- a/arch/powerpc/lib/copypage_power7.S
+++ b/arch/powerpc/lib/copypage_power7.S
@@ -28,13 +28,14 @@ _GLOBAL(copypage_power7)
28 * aligned we don't need to clear the bottom 7 bits of either 28 * aligned we don't need to clear the bottom 7 bits of either
29 * address. 29 * address.
30 */ 30 */
31 ori r9,r3,1 /* stream=1 */ 31 ori r9,r3,1 /* stream=1 => to */
32 32
33#ifdef CONFIG_PPC_64K_PAGES 33#ifdef CONFIG_PPC_64K_PAGES
34 lis r7,0x0E01 /* depth=7, units=512 */ 34 lis r7,0x0E01 /* depth=7
35 * units/cachelines=512 */
35#else 36#else
36 lis r7,0x0E00 /* depth=7 */ 37 lis r7,0x0E00 /* depth=7 */
37 ori r7,r7,0x1000 /* units=32 */ 38 ori r7,r7,0x1000 /* units/cachelines=32 */
38#endif 39#endif
39 ori r10,r7,1 /* stream=1 */ 40 ori r10,r7,1 /* stream=1 */
40 41
@@ -43,12 +44,14 @@ _GLOBAL(copypage_power7)
43 44
44.machine push 45.machine push
45.machine "power4" 46.machine "power4"
46 dcbt r0,r4,0b01000 47 /* setup read stream 0 */
47 dcbt r0,r7,0b01010 48 dcbt r0,r4,0b01000 /* addr from */
48 dcbtst r0,r9,0b01000 49 dcbt r0,r7,0b01010 /* length and depth from */
49 dcbtst r0,r10,0b01010 50 /* setup write stream 1 */
51 dcbtst r0,r9,0b01000 /* addr to */
52 dcbtst r0,r10,0b01010 /* length and depth to */
50 eieio 53 eieio
51 dcbt r0,r8,0b01010 /* GO */ 54 dcbt r0,r8,0b01010 /* all streams GO */
52.machine pop 55.machine pop
53 56
54#ifdef CONFIG_ALTIVEC 57#ifdef CONFIG_ALTIVEC
diff --git a/arch/powerpc/lib/copyuser_power7.S b/arch/powerpc/lib/copyuser_power7.S
index 0d24ff15f5f6..d1f11795a7ad 100644
--- a/arch/powerpc/lib/copyuser_power7.S
+++ b/arch/powerpc/lib/copyuser_power7.S
@@ -318,12 +318,14 @@ err1; stb r0,0(r3)
318 318
319.machine push 319.machine push
320.machine "power4" 320.machine "power4"
321 dcbt r0,r6,0b01000 321 /* setup read stream 0 */
322 dcbt r0,r7,0b01010 322 dcbt r0,r6,0b01000 /* addr from */
323 dcbtst r0,r9,0b01000 323 dcbt r0,r7,0b01010 /* length and depth from */
324 dcbtst r0,r10,0b01010 324 /* setup write stream 1 */
325 dcbtst r0,r9,0b01000 /* addr to */
326 dcbtst r0,r10,0b01010 /* length and depth to */
325 eieio 327 eieio
326 dcbt r0,r8,0b01010 /* GO */ 328 dcbt r0,r8,0b01010 /* all streams GO */
327.machine pop 329.machine pop
328 330
329 beq cr1,.Lunwind_stack_nonvmx_copy 331 beq cr1,.Lunwind_stack_nonvmx_copy
diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c
index 6a2aead5b0e5..4c122c3f1623 100644
--- a/arch/powerpc/mm/hash_native_64.c
+++ b/arch/powerpc/mm/hash_native_64.c
@@ -336,11 +336,18 @@ static long native_hpte_updatepp(unsigned long slot, unsigned long newpp,
336 336
337 hpte_v = hptep->v; 337 hpte_v = hptep->v;
338 actual_psize = hpte_actual_psize(hptep, psize); 338 actual_psize = hpte_actual_psize(hptep, psize);
339 /*
340 * We need to invalidate the TLB always because hpte_remove doesn't do
341 * a tlb invalidate. If a hash bucket gets full, we "evict" a more/less
342 * random entry from it. When we do that we don't invalidate the TLB
343 * (hpte_remove) because we assume the old translation is still
344 * technically "valid".
345 */
339 if (actual_psize < 0) { 346 if (actual_psize < 0) {
340 native_unlock_hpte(hptep); 347 actual_psize = psize;
341 return -1; 348 ret = -1;
349 goto err_out;
342 } 350 }
343 /* Even if we miss, we need to invalidate the TLB */
344 if (!HPTE_V_COMPARE(hpte_v, want_v)) { 351 if (!HPTE_V_COMPARE(hpte_v, want_v)) {
345 DBG_LOW(" -> miss\n"); 352 DBG_LOW(" -> miss\n");
346 ret = -1; 353 ret = -1;
@@ -350,6 +357,7 @@ static long native_hpte_updatepp(unsigned long slot, unsigned long newpp,
350 hptep->r = (hptep->r & ~(HPTE_R_PP | HPTE_R_N)) | 357 hptep->r = (hptep->r & ~(HPTE_R_PP | HPTE_R_N)) |
351 (newpp & (HPTE_R_PP | HPTE_R_N | HPTE_R_C)); 358 (newpp & (HPTE_R_PP | HPTE_R_N | HPTE_R_C));
352 } 359 }
360err_out:
353 native_unlock_hpte(hptep); 361 native_unlock_hpte(hptep);
354 362
355 /* Ensure it is out of the tlb too. */ 363 /* Ensure it is out of the tlb too. */
@@ -409,7 +417,7 @@ static void native_hpte_updateboltedpp(unsigned long newpp, unsigned long ea,
409 hptep = htab_address + slot; 417 hptep = htab_address + slot;
410 actual_psize = hpte_actual_psize(hptep, psize); 418 actual_psize = hpte_actual_psize(hptep, psize);
411 if (actual_psize < 0) 419 if (actual_psize < 0)
412 return; 420 actual_psize = psize;
413 421
414 /* Update the HPTE */ 422 /* Update the HPTE */
415 hptep->r = (hptep->r & ~(HPTE_R_PP | HPTE_R_N)) | 423 hptep->r = (hptep->r & ~(HPTE_R_PP | HPTE_R_N)) |
@@ -437,21 +445,27 @@ static void native_hpte_invalidate(unsigned long slot, unsigned long vpn,
437 hpte_v = hptep->v; 445 hpte_v = hptep->v;
438 446
439 actual_psize = hpte_actual_psize(hptep, psize); 447 actual_psize = hpte_actual_psize(hptep, psize);
448 /*
449 * We need to invalidate the TLB always because hpte_remove doesn't do
450 * a tlb invalidate. If a hash bucket gets full, we "evict" a more/less
451 * random entry from it. When we do that we don't invalidate the TLB
452 * (hpte_remove) because we assume the old translation is still
453 * technically "valid".
454 */
440 if (actual_psize < 0) { 455 if (actual_psize < 0) {
456 actual_psize = psize;
441 native_unlock_hpte(hptep); 457 native_unlock_hpte(hptep);
442 local_irq_restore(flags); 458 goto err_out;
443 return;
444 } 459 }
445 /* Even if we miss, we need to invalidate the TLB */
446 if (!HPTE_V_COMPARE(hpte_v, want_v)) 460 if (!HPTE_V_COMPARE(hpte_v, want_v))
447 native_unlock_hpte(hptep); 461 native_unlock_hpte(hptep);
448 else 462 else
449 /* Invalidate the hpte. NOTE: this also unlocks it */ 463 /* Invalidate the hpte. NOTE: this also unlocks it */
450 hptep->v = 0; 464 hptep->v = 0;
451 465
466err_out:
452 /* Invalidate the TLB */ 467 /* Invalidate the TLB */
453 tlbie(vpn, psize, actual_psize, ssize, local); 468 tlbie(vpn, psize, actual_psize, ssize, local);
454
455 local_irq_restore(flags); 469 local_irq_restore(flags);
456} 470}
457 471
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index 237c8e5f2640..77fdd2cef33b 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -592,8 +592,14 @@ static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
592 do { 592 do {
593 pmd = pmd_offset(pud, addr); 593 pmd = pmd_offset(pud, addr);
594 next = pmd_addr_end(addr, end); 594 next = pmd_addr_end(addr, end);
595 if (pmd_none_or_clear_bad(pmd)) 595 if (!is_hugepd(pmd)) {
596 /*
597 * if it is not hugepd pointer, we should already find
598 * it cleared.
599 */
600 WARN_ON(!pmd_none_or_clear_bad(pmd));
596 continue; 601 continue;
602 }
597#ifdef CONFIG_PPC_FSL_BOOK3E 603#ifdef CONFIG_PPC_FSL_BOOK3E
598 /* 604 /*
599 * Increment next by the size of the huge mapping since 605 * Increment next by the size of the huge mapping since
diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index 426180b84978..29c6482890c8 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -110,7 +110,7 @@ static inline void power_pmu_bhrb_read(struct cpu_hw_events *cpuhw) {}
110 110
111static bool regs_use_siar(struct pt_regs *regs) 111static bool regs_use_siar(struct pt_regs *regs)
112{ 112{
113 return !!(regs->result & 1); 113 return !!regs->result;
114} 114}
115 115
116/* 116/*
@@ -136,22 +136,30 @@ static inline unsigned long perf_ip_adjust(struct pt_regs *regs)
136 * If we're not doing instruction sampling, give them the SDAR 136 * If we're not doing instruction sampling, give them the SDAR
137 * (sampled data address). If we are doing instruction sampling, then 137 * (sampled data address). If we are doing instruction sampling, then
138 * only give them the SDAR if it corresponds to the instruction 138 * only give them the SDAR if it corresponds to the instruction
139 * pointed to by SIAR; this is indicated by the [POWER6_]MMCRA_SDSYNC or 139 * pointed to by SIAR; this is indicated by the [POWER6_]MMCRA_SDSYNC, the
140 * the [POWER7P_]MMCRA_SDAR_VALID bit in MMCRA. 140 * [POWER7P_]MMCRA_SDAR_VALID bit in MMCRA, or the SDAR_VALID bit in SIER.
141 */ 141 */
142static inline void perf_get_data_addr(struct pt_regs *regs, u64 *addrp) 142static inline void perf_get_data_addr(struct pt_regs *regs, u64 *addrp)
143{ 143{
144 unsigned long mmcra = regs->dsisr; 144 unsigned long mmcra = regs->dsisr;
145 unsigned long sdsync; 145 bool sdar_valid;
146 146
147 if (ppmu->flags & PPMU_SIAR_VALID) 147 if (ppmu->flags & PPMU_HAS_SIER)
148 sdsync = POWER7P_MMCRA_SDAR_VALID; 148 sdar_valid = regs->dar & SIER_SDAR_VALID;
149 else if (ppmu->flags & PPMU_ALT_SIPR) 149 else {
150 sdsync = POWER6_MMCRA_SDSYNC; 150 unsigned long sdsync;
151 else 151
152 sdsync = MMCRA_SDSYNC; 152 if (ppmu->flags & PPMU_SIAR_VALID)
153 sdsync = POWER7P_MMCRA_SDAR_VALID;
154 else if (ppmu->flags & PPMU_ALT_SIPR)
155 sdsync = POWER6_MMCRA_SDSYNC;
156 else
157 sdsync = MMCRA_SDSYNC;
158
159 sdar_valid = mmcra & sdsync;
160 }
153 161
154 if (!(mmcra & MMCRA_SAMPLE_ENABLE) || (mmcra & sdsync)) 162 if (!(mmcra & MMCRA_SAMPLE_ENABLE) || sdar_valid)
155 *addrp = mfspr(SPRN_SDAR); 163 *addrp = mfspr(SPRN_SDAR);
156} 164}
157 165
@@ -181,11 +189,6 @@ static bool regs_sipr(struct pt_regs *regs)
181 return !!(regs->dsisr & sipr); 189 return !!(regs->dsisr & sipr);
182} 190}
183 191
184static bool regs_no_sipr(struct pt_regs *regs)
185{
186 return !!(regs->result & 2);
187}
188
189static inline u32 perf_flags_from_msr(struct pt_regs *regs) 192static inline u32 perf_flags_from_msr(struct pt_regs *regs)
190{ 193{
191 if (regs->msr & MSR_PR) 194 if (regs->msr & MSR_PR)
@@ -208,7 +211,7 @@ static inline u32 perf_get_misc_flags(struct pt_regs *regs)
208 * SIAR which should give slightly more reliable 211 * SIAR which should give slightly more reliable
209 * results 212 * results
210 */ 213 */
211 if (regs_no_sipr(regs)) { 214 if (ppmu->flags & PPMU_NO_SIPR) {
212 unsigned long siar = mfspr(SPRN_SIAR); 215 unsigned long siar = mfspr(SPRN_SIAR);
213 if (siar >= PAGE_OFFSET) 216 if (siar >= PAGE_OFFSET)
214 return PERF_RECORD_MISC_KERNEL; 217 return PERF_RECORD_MISC_KERNEL;
@@ -239,22 +242,9 @@ static inline void perf_read_regs(struct pt_regs *regs)
239 int use_siar; 242 int use_siar;
240 243
241 regs->dsisr = mmcra; 244 regs->dsisr = mmcra;
242 regs->result = 0;
243
244 if (ppmu->flags & PPMU_NO_SIPR)
245 regs->result |= 2;
246
247 /*
248 * On power8 if we're in random sampling mode, the SIER is updated.
249 * If we're in continuous sampling mode, we don't have SIPR.
250 */
251 if (ppmu->flags & PPMU_HAS_SIER) {
252 if (marked)
253 regs->dar = mfspr(SPRN_SIER);
254 else
255 regs->result |= 2;
256 }
257 245
246 if (ppmu->flags & PPMU_HAS_SIER)
247 regs->dar = mfspr(SPRN_SIER);
258 248
259 /* 249 /*
260 * If this isn't a PMU exception (eg a software event) the SIAR is 250 * If this isn't a PMU exception (eg a software event) the SIAR is
@@ -279,12 +269,12 @@ static inline void perf_read_regs(struct pt_regs *regs)
279 use_siar = 1; 269 use_siar = 1;
280 else if ((ppmu->flags & PPMU_NO_CONT_SAMPLING)) 270 else if ((ppmu->flags & PPMU_NO_CONT_SAMPLING))
281 use_siar = 0; 271 use_siar = 0;
282 else if (!regs_no_sipr(regs) && regs_sipr(regs)) 272 else if (!(ppmu->flags & PPMU_NO_SIPR) && regs_sipr(regs))
283 use_siar = 0; 273 use_siar = 0;
284 else 274 else
285 use_siar = 1; 275 use_siar = 1;
286 276
287 regs->result |= use_siar; 277 regs->result = use_siar;
288} 278}
289 279
290/* 280/*
@@ -308,8 +298,13 @@ static inline int siar_valid(struct pt_regs *regs)
308 unsigned long mmcra = regs->dsisr; 298 unsigned long mmcra = regs->dsisr;
309 int marked = mmcra & MMCRA_SAMPLE_ENABLE; 299 int marked = mmcra & MMCRA_SAMPLE_ENABLE;
310 300
311 if ((ppmu->flags & PPMU_SIAR_VALID) && marked) 301 if (marked) {
312 return mmcra & POWER7P_MMCRA_SIAR_VALID; 302 if (ppmu->flags & PPMU_HAS_SIER)
303 return regs->dar & SIER_SIAR_VALID;
304
305 if (ppmu->flags & PPMU_SIAR_VALID)
306 return mmcra & POWER7P_MMCRA_SIAR_VALID;
307 }
313 308
314 return 1; 309 return 1;
315} 310}
@@ -1763,7 +1758,7 @@ static void perf_event_interrupt(struct pt_regs *regs)
1763 } 1758 }
1764 } 1759 }
1765 } 1760 }
1766 if ((!found) && printk_ratelimit()) 1761 if (!found && !nmi && printk_ratelimit())
1767 printk(KERN_WARNING "Can't find PMC that caused IRQ\n"); 1762 printk(KERN_WARNING "Can't find PMC that caused IRQ\n");
1768 1763
1769 /* 1764 /*
diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig
index d3e840d643af..c24684c818ab 100644
--- a/arch/powerpc/platforms/powernv/Kconfig
+++ b/arch/powerpc/platforms/powernv/Kconfig
@@ -6,6 +6,7 @@ config PPC_POWERNV
6 select PPC_ICP_NATIVE 6 select PPC_ICP_NATIVE
7 select PPC_P7_NAP 7 select PPC_P7_NAP
8 select PPC_PCI_CHOICE if EMBEDDED 8 select PPC_PCI_CHOICE if EMBEDDED
9 select EPAPR_BOOT
9 default y 10 default y
10 11
11config POWERNV_MSI 12config POWERNV_MSI
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index 3937aaae5bc4..9c9d15e4cdf2 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -68,16 +68,6 @@ define_pe_printk_level(pe_err, KERN_ERR);
68define_pe_printk_level(pe_warn, KERN_WARNING); 68define_pe_printk_level(pe_warn, KERN_WARNING);
69define_pe_printk_level(pe_info, KERN_INFO); 69define_pe_printk_level(pe_info, KERN_INFO);
70 70
71static struct pci_dn *pnv_ioda_get_pdn(struct pci_dev *dev)
72{
73 struct device_node *np;
74
75 np = pci_device_to_OF_node(dev);
76 if (!np)
77 return NULL;
78 return PCI_DN(np);
79}
80
81static int pnv_ioda_alloc_pe(struct pnv_phb *phb) 71static int pnv_ioda_alloc_pe(struct pnv_phb *phb)
82{ 72{
83 unsigned long pe; 73 unsigned long pe;
@@ -110,7 +100,7 @@ static struct pnv_ioda_pe *pnv_ioda_get_pe(struct pci_dev *dev)
110{ 100{
111 struct pci_controller *hose = pci_bus_to_host(dev->bus); 101 struct pci_controller *hose = pci_bus_to_host(dev->bus);
112 struct pnv_phb *phb = hose->private_data; 102 struct pnv_phb *phb = hose->private_data;
113 struct pci_dn *pdn = pnv_ioda_get_pdn(dev); 103 struct pci_dn *pdn = pci_get_pdn(dev);
114 104
115 if (!pdn) 105 if (!pdn)
116 return NULL; 106 return NULL;
@@ -173,7 +163,7 @@ static int pnv_ioda_configure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe)
173 163
174 /* Add to all parents PELT-V */ 164 /* Add to all parents PELT-V */
175 while (parent) { 165 while (parent) {
176 struct pci_dn *pdn = pnv_ioda_get_pdn(parent); 166 struct pci_dn *pdn = pci_get_pdn(parent);
177 if (pdn && pdn->pe_number != IODA_INVALID_PE) { 167 if (pdn && pdn->pe_number != IODA_INVALID_PE) {
178 rc = opal_pci_set_peltv(phb->opal_id, pdn->pe_number, 168 rc = opal_pci_set_peltv(phb->opal_id, pdn->pe_number,
179 pe->pe_number, OPAL_ADD_PE_TO_DOMAIN); 169 pe->pe_number, OPAL_ADD_PE_TO_DOMAIN);
@@ -252,7 +242,7 @@ static struct pnv_ioda_pe *pnv_ioda_setup_dev_PE(struct pci_dev *dev)
252{ 242{
253 struct pci_controller *hose = pci_bus_to_host(dev->bus); 243 struct pci_controller *hose = pci_bus_to_host(dev->bus);
254 struct pnv_phb *phb = hose->private_data; 244 struct pnv_phb *phb = hose->private_data;
255 struct pci_dn *pdn = pnv_ioda_get_pdn(dev); 245 struct pci_dn *pdn = pci_get_pdn(dev);
256 struct pnv_ioda_pe *pe; 246 struct pnv_ioda_pe *pe;
257 int pe_num; 247 int pe_num;
258 248
@@ -323,7 +313,7 @@ static void pnv_ioda_setup_same_PE(struct pci_bus *bus, struct pnv_ioda_pe *pe)
323 struct pci_dev *dev; 313 struct pci_dev *dev;
324 314
325 list_for_each_entry(dev, &bus->devices, bus_list) { 315 list_for_each_entry(dev, &bus->devices, bus_list) {
326 struct pci_dn *pdn = pnv_ioda_get_pdn(dev); 316 struct pci_dn *pdn = pci_get_pdn(dev);
327 317
328 if (pdn == NULL) { 318 if (pdn == NULL) {
329 pr_warn("%s: No device node associated with device !\n", 319 pr_warn("%s: No device node associated with device !\n",
@@ -436,7 +426,7 @@ static void pnv_pci_ioda_setup_PEs(void)
436 426
437static void pnv_pci_ioda_dma_dev_setup(struct pnv_phb *phb, struct pci_dev *pdev) 427static void pnv_pci_ioda_dma_dev_setup(struct pnv_phb *phb, struct pci_dev *pdev)
438{ 428{
439 struct pci_dn *pdn = pnv_ioda_get_pdn(pdev); 429 struct pci_dn *pdn = pci_get_pdn(pdev);
440 struct pnv_ioda_pe *pe; 430 struct pnv_ioda_pe *pe;
441 431
442 /* 432 /*
@@ -768,6 +758,7 @@ static int pnv_pci_ioda_msi_setup(struct pnv_phb *phb, struct pci_dev *dev,
768 unsigned int is_64, struct msi_msg *msg) 758 unsigned int is_64, struct msi_msg *msg)
769{ 759{
770 struct pnv_ioda_pe *pe = pnv_ioda_get_pe(dev); 760 struct pnv_ioda_pe *pe = pnv_ioda_get_pe(dev);
761 struct pci_dn *pdn = pci_get_pdn(dev);
771 struct irq_data *idata; 762 struct irq_data *idata;
772 struct irq_chip *ichip; 763 struct irq_chip *ichip;
773 unsigned int xive_num = hwirq - phb->msi_base; 764 unsigned int xive_num = hwirq - phb->msi_base;
@@ -783,6 +774,10 @@ static int pnv_pci_ioda_msi_setup(struct pnv_phb *phb, struct pci_dev *dev,
783 if (pe->mve_number < 0) 774 if (pe->mve_number < 0)
784 return -ENXIO; 775 return -ENXIO;
785 776
777 /* Force 32-bit MSI on some broken devices */
778 if (pdn && pdn->force_32bit_msi)
779 is_64 = 0;
780
786 /* Assign XIVE to PE */ 781 /* Assign XIVE to PE */
787 rc = opal_pci_set_xive_pe(phb->opal_id, pe->pe_number, xive_num); 782 rc = opal_pci_set_xive_pe(phb->opal_id, pe->pe_number, xive_num);
788 if (rc) { 783 if (rc) {
@@ -1035,7 +1030,7 @@ static int pnv_pci_enable_device_hook(struct pci_dev *dev)
1035 if (!phb->initialized) 1030 if (!phb->initialized)
1036 return 0; 1031 return 0;
1037 1032
1038 pdn = pnv_ioda_get_pdn(dev); 1033 pdn = pci_get_pdn(dev);
1039 if (!pdn || pdn->pe_number == IODA_INVALID_PE) 1034 if (!pdn || pdn->pe_number == IODA_INVALID_PE)
1040 return -EINVAL; 1035 return -EINVAL;
1041 1036
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c
index 163bd7422f1c..277343cc6a3d 100644
--- a/arch/powerpc/platforms/powernv/pci.c
+++ b/arch/powerpc/platforms/powernv/pci.c
@@ -47,6 +47,10 @@ static int pnv_msi_check_device(struct pci_dev* pdev, int nvec, int type)
47{ 47{
48 struct pci_controller *hose = pci_bus_to_host(pdev->bus); 48 struct pci_controller *hose = pci_bus_to_host(pdev->bus);
49 struct pnv_phb *phb = hose->private_data; 49 struct pnv_phb *phb = hose->private_data;
50 struct pci_dn *pdn = pci_get_pdn(pdev);
51
52 if (pdn && pdn->force_32bit_msi && !phb->msi32_support)
53 return -ENODEV;
50 54
51 return (phb && phb->msi_bmp.bitmap) ? 0 : -ENODEV; 55 return (phb && phb->msi_bmp.bitmap) ? 0 : -ENODEV;
52} 56}
@@ -367,7 +371,7 @@ static void pnv_tce_free(struct iommu_table *tbl, long index, long npages)
367 while (npages--) 371 while (npages--)
368 *(tcep++) = 0; 372 *(tcep++) = 0;
369 373
370 if (tbl->it_type & TCE_PCI_SWINV_CREATE) 374 if (tbl->it_type & TCE_PCI_SWINV_FREE)
371 pnv_pci_ioda_tce_invalidate(tbl, tces, tcep - 1); 375 pnv_pci_ioda_tce_invalidate(tbl, tces, tcep - 1);
372} 376}
373 377
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig
index 023b288f895b..4459eff7a75a 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -19,6 +19,8 @@ config PPC_PSERIES
19 select ZLIB_DEFLATE 19 select ZLIB_DEFLATE
20 select PPC_DOORBELL 20 select PPC_DOORBELL
21 select HAVE_CONTEXT_TRACKING 21 select HAVE_CONTEXT_TRACKING
22 select HOTPLUG if SMP
23 select HOTPLUG_CPU if SMP
22 default y 24 default y
23 25
24config PPC_SPLPAR 26config PPC_SPLPAR
diff --git a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c
index 19506f935737..b456b157d33d 100644
--- a/arch/powerpc/platforms/pseries/eeh_pseries.c
+++ b/arch/powerpc/platforms/pseries/eeh_pseries.c
@@ -83,7 +83,11 @@ static int pseries_eeh_init(void)
83 ibm_configure_pe = rtas_token("ibm,configure-pe"); 83 ibm_configure_pe = rtas_token("ibm,configure-pe");
84 ibm_configure_bridge = rtas_token("ibm,configure-bridge"); 84 ibm_configure_bridge = rtas_token("ibm,configure-bridge");
85 85
86 /* necessary sanity check */ 86 /*
87 * Necessary sanity check. We needn't check "get-config-addr-info"
88 * and its variant since the old firmware probably support address
89 * of domain/bus/slot/function for EEH RTAS operations.
90 */
87 if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE) { 91 if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE) {
88 pr_warning("%s: RTAS service <ibm,set-eeh-option> invalid\n", 92 pr_warning("%s: RTAS service <ibm,set-eeh-option> invalid\n",
89 __func__); 93 __func__);
@@ -102,12 +106,6 @@ static int pseries_eeh_init(void)
102 pr_warning("%s: RTAS service <ibm,slot-error-detail> invalid\n", 106 pr_warning("%s: RTAS service <ibm,slot-error-detail> invalid\n",
103 __func__); 107 __func__);
104 return -EINVAL; 108 return -EINVAL;
105 } else if (ibm_get_config_addr_info2 == RTAS_UNKNOWN_SERVICE &&
106 ibm_get_config_addr_info == RTAS_UNKNOWN_SERVICE) {
107 pr_warning("%s: RTAS service <ibm,get-config-addr-info2> and "
108 "<ibm,get-config-addr-info> invalid\n",
109 __func__);
110 return -EINVAL;
111 } else if (ibm_configure_pe == RTAS_UNKNOWN_SERVICE && 109 } else if (ibm_configure_pe == RTAS_UNKNOWN_SERVICE &&
112 ibm_configure_bridge == RTAS_UNKNOWN_SERVICE) { 110 ibm_configure_bridge == RTAS_UNKNOWN_SERVICE) {
113 pr_warning("%s: RTAS service <ibm,configure-pe> and " 111 pr_warning("%s: RTAS service <ibm,configure-pe> and "
diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c
index 420524e6f8c9..6d2f0abce6fa 100644
--- a/arch/powerpc/platforms/pseries/msi.c
+++ b/arch/powerpc/platforms/pseries/msi.c
@@ -26,26 +26,6 @@ static int query_token, change_token;
26#define RTAS_CHANGE_MSIX_FN 4 26#define RTAS_CHANGE_MSIX_FN 4
27#define RTAS_CHANGE_32MSI_FN 5 27#define RTAS_CHANGE_32MSI_FN 5
28 28
29static struct pci_dn *get_pdn(struct pci_dev *pdev)
30{
31 struct device_node *dn;
32 struct pci_dn *pdn;
33
34 dn = pci_device_to_OF_node(pdev);
35 if (!dn) {
36 dev_dbg(&pdev->dev, "rtas_msi: No OF device node\n");
37 return NULL;
38 }
39
40 pdn = PCI_DN(dn);
41 if (!pdn) {
42 dev_dbg(&pdev->dev, "rtas_msi: No PCI DN\n");
43 return NULL;
44 }
45
46 return pdn;
47}
48
49/* RTAS Helpers */ 29/* RTAS Helpers */
50 30
51static int rtas_change_msi(struct pci_dn *pdn, u32 func, u32 num_irqs) 31static int rtas_change_msi(struct pci_dn *pdn, u32 func, u32 num_irqs)
@@ -91,7 +71,7 @@ static void rtas_disable_msi(struct pci_dev *pdev)
91{ 71{
92 struct pci_dn *pdn; 72 struct pci_dn *pdn;
93 73
94 pdn = get_pdn(pdev); 74 pdn = pci_get_pdn(pdev);
95 if (!pdn) 75 if (!pdn)
96 return; 76 return;
97 77
@@ -152,7 +132,7 @@ static int check_req(struct pci_dev *pdev, int nvec, char *prop_name)
152 struct pci_dn *pdn; 132 struct pci_dn *pdn;
153 const u32 *req_msi; 133 const u32 *req_msi;
154 134
155 pdn = get_pdn(pdev); 135 pdn = pci_get_pdn(pdev);
156 if (!pdn) 136 if (!pdn)
157 return -ENODEV; 137 return -ENODEV;
158 138
@@ -394,6 +374,23 @@ static int check_msix_entries(struct pci_dev *pdev)
394 return 0; 374 return 0;
395} 375}
396 376
377static void rtas_hack_32bit_msi_gen2(struct pci_dev *pdev)
378{
379 u32 addr_hi, addr_lo;
380
381 /*
382 * We should only get in here for IODA1 configs. This is based on the
383 * fact that we using RTAS for MSIs, we don't have the 32 bit MSI RTAS
384 * support, and we are in a PCIe Gen2 slot.
385 */
386 dev_info(&pdev->dev,
387 "rtas_msi: No 32 bit MSI firmware support, forcing 32 bit MSI\n");
388 pci_read_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_HI, &addr_hi);
389 addr_lo = 0xffff0000 | ((addr_hi >> (48 - 32)) << 4);
390 pci_write_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_LO, addr_lo);
391 pci_write_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_HI, 0);
392}
393
397static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec_in, int type) 394static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec_in, int type)
398{ 395{
399 struct pci_dn *pdn; 396 struct pci_dn *pdn;
@@ -401,8 +398,9 @@ static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec_in, int type)
401 struct msi_desc *entry; 398 struct msi_desc *entry;
402 struct msi_msg msg; 399 struct msi_msg msg;
403 int nvec = nvec_in; 400 int nvec = nvec_in;
401 int use_32bit_msi_hack = 0;
404 402
405 pdn = get_pdn(pdev); 403 pdn = pci_get_pdn(pdev);
406 if (!pdn) 404 if (!pdn)
407 return -ENODEV; 405 return -ENODEV;
408 406
@@ -428,15 +426,31 @@ static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec_in, int type)
428 */ 426 */
429again: 427again:
430 if (type == PCI_CAP_ID_MSI) { 428 if (type == PCI_CAP_ID_MSI) {
431 if (pdn->force_32bit_msi) 429 if (pdn->force_32bit_msi) {
432 rc = rtas_change_msi(pdn, RTAS_CHANGE_32MSI_FN, nvec); 430 rc = rtas_change_msi(pdn, RTAS_CHANGE_32MSI_FN, nvec);
433 else 431 if (rc < 0) {
432 /*
433 * We only want to run the 32 bit MSI hack below if
434 * the max bus speed is Gen2 speed
435 */
436 if (pdev->bus->max_bus_speed != PCIE_SPEED_5_0GT)
437 return rc;
438
439 use_32bit_msi_hack = 1;
440 }
441 } else
442 rc = -1;
443
444 if (rc < 0)
434 rc = rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, nvec); 445 rc = rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, nvec);
435 446
436 if (rc < 0 && !pdn->force_32bit_msi) { 447 if (rc < 0) {
437 pr_debug("rtas_msi: trying the old firmware call.\n"); 448 pr_debug("rtas_msi: trying the old firmware call.\n");
438 rc = rtas_change_msi(pdn, RTAS_CHANGE_FN, nvec); 449 rc = rtas_change_msi(pdn, RTAS_CHANGE_FN, nvec);
439 } 450 }
451
452 if (use_32bit_msi_hack && rc > 0)
453 rtas_hack_32bit_msi_gen2(pdev);
440 } else 454 } else
441 rc = rtas_change_msi(pdn, RTAS_CHANGE_MSIX_FN, nvec); 455 rc = rtas_change_msi(pdn, RTAS_CHANGE_MSIX_FN, nvec);
442 456
@@ -518,12 +532,3 @@ static int rtas_msi_init(void)
518} 532}
519arch_initcall(rtas_msi_init); 533arch_initcall(rtas_msi_init);
520 534
521static void quirk_radeon(struct pci_dev *dev)
522{
523 struct pci_dn *pdn = get_pdn(dev);
524
525 if (pdn)
526 pdn->force_32bit_msi = 1;
527}
528DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x68f2, quirk_radeon);
529DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0xaa68, quirk_radeon);
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 0a13ecb270c7..3cc2f9159ab1 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -54,7 +54,7 @@ static DEFINE_RAW_SPINLOCK(mpic_lock);
54 54
55#ifdef CONFIG_PPC32 /* XXX for now */ 55#ifdef CONFIG_PPC32 /* XXX for now */
56#ifdef CONFIG_IRQ_ALL_CPUS 56#ifdef CONFIG_IRQ_ALL_CPUS
57#define distribute_irqs (!(mpic->flags & MPIC_SINGLE_DEST_CPU)) 57#define distribute_irqs (1)
58#else 58#else
59#define distribute_irqs (0) 59#define distribute_irqs (0)
60#endif 60#endif
@@ -1703,7 +1703,7 @@ void mpic_setup_this_cpu(void)
1703 * it differently, then we should make sure we also change the default 1703 * it differently, then we should make sure we also change the default
1704 * values of irq_desc[].affinity in irq.c. 1704 * values of irq_desc[].affinity in irq.c.
1705 */ 1705 */
1706 if (distribute_irqs) { 1706 if (distribute_irqs && !(mpic->flags & MPIC_SINGLE_DEST_CPU)) {
1707 for (i = 0; i < mpic->num_sources ; i++) 1707 for (i = 0; i < mpic->num_sources ; i++)
1708 mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION), 1708 mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION),
1709 mpic_irq_read(i, MPIC_INFO(IRQ_DESTINATION)) | msk); 1709 mpic_irq_read(i, MPIC_INFO(IRQ_DESTINATION)) | msk);
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index bae0f402bf2a..87a22092b68f 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -212,7 +212,9 @@ appldata_timer_handler(ctl_table *ctl, int write,
212 return 0; 212 return 0;
213 } 213 }
214 if (!write) { 214 if (!write) {
215 len = sprintf(buf, appldata_timer_active ? "1\n" : "0\n"); 215 strncpy(buf, appldata_timer_active ? "1\n" : "0\n",
216 ARRAY_SIZE(buf));
217 len = strnlen(buf, ARRAY_SIZE(buf));
216 if (len > *lenp) 218 if (len > *lenp)
217 len = *lenp; 219 len = *lenp;
218 if (copy_to_user(buffer, buf, len)) 220 if (copy_to_user(buffer, buf, len))
@@ -317,7 +319,8 @@ appldata_generic_handler(ctl_table *ctl, int write,
317 return 0; 319 return 0;
318 } 320 }
319 if (!write) { 321 if (!write) {
320 len = sprintf(buf, ops->active ? "1\n" : "0\n"); 322 strncpy(buf, ops->active ? "1\n" : "0\n", ARRAY_SIZE(buf));
323 len = strnlen(buf, ARRAY_SIZE(buf));
321 if (len > *lenp) 324 if (len > *lenp)
322 len = *lenp; 325 len = *lenp;
323 if (copy_to_user(buffer, buf, len)) { 326 if (copy_to_user(buffer, buf, len)) {
diff --git a/arch/s390/include/asm/dma-mapping.h b/arch/s390/include/asm/dma-mapping.h
index 9411db653bac..886ac7d4937a 100644
--- a/arch/s390/include/asm/dma-mapping.h
+++ b/arch/s390/include/asm/dma-mapping.h
@@ -71,8 +71,8 @@ static inline void dma_free_coherent(struct device *dev, size_t size,
71{ 71{
72 struct dma_map_ops *dma_ops = get_dma_ops(dev); 72 struct dma_map_ops *dma_ops = get_dma_ops(dev);
73 73
74 dma_ops->free(dev, size, cpu_addr, dma_handle, NULL);
75 debug_dma_free_coherent(dev, size, cpu_addr, dma_handle); 74 debug_dma_free_coherent(dev, size, cpu_addr, dma_handle);
75 dma_ops->free(dev, size, cpu_addr, dma_handle, NULL);
76} 76}
77 77
78#endif /* _ASM_S390_DMA_MAPPING_H */ 78#endif /* _ASM_S390_DMA_MAPPING_H */
diff --git a/arch/s390/include/asm/io.h b/arch/s390/include/asm/io.h
index 379d96e2105e..fd9be010f9b2 100644
--- a/arch/s390/include/asm/io.h
+++ b/arch/s390/include/asm/io.h
@@ -36,6 +36,7 @@ static inline void * phys_to_virt(unsigned long address)
36} 36}
37 37
38void *xlate_dev_mem_ptr(unsigned long phys); 38void *xlate_dev_mem_ptr(unsigned long phys);
39#define xlate_dev_mem_ptr xlate_dev_mem_ptr
39void unxlate_dev_mem_ptr(unsigned long phys, void *addr); 40void unxlate_dev_mem_ptr(unsigned long phys, void *addr);
40 41
41/* 42/*
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index 0f0de30e3e3f..e8b6e5b8932c 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -623,7 +623,7 @@ static inline pgste_t pgste_get_lock(pte_t *ptep)
623 " csg %0,%1,%2\n" 623 " csg %0,%1,%2\n"
624 " jl 0b\n" 624 " jl 0b\n"
625 : "=&d" (old), "=&d" (new), "=Q" (ptep[PTRS_PER_PTE]) 625 : "=&d" (old), "=&d" (new), "=Q" (ptep[PTRS_PER_PTE])
626 : "Q" (ptep[PTRS_PER_PTE]) : "cc"); 626 : "Q" (ptep[PTRS_PER_PTE]) : "cc", "memory");
627#endif 627#endif
628 return __pgste(new); 628 return __pgste(new);
629} 629}
@@ -635,18 +635,26 @@ static inline void pgste_set_unlock(pte_t *ptep, pgste_t pgste)
635 " nihh %1,0xff7f\n" /* clear RCP_PCL_BIT */ 635 " nihh %1,0xff7f\n" /* clear RCP_PCL_BIT */
636 " stg %1,%0\n" 636 " stg %1,%0\n"
637 : "=Q" (ptep[PTRS_PER_PTE]) 637 : "=Q" (ptep[PTRS_PER_PTE])
638 : "d" (pgste_val(pgste)), "Q" (ptep[PTRS_PER_PTE]) : "cc"); 638 : "d" (pgste_val(pgste)), "Q" (ptep[PTRS_PER_PTE])
639 : "cc", "memory");
639 preempt_enable(); 640 preempt_enable();
640#endif 641#endif
641} 642}
642 643
644static inline void pgste_set(pte_t *ptep, pgste_t pgste)
645{
646#ifdef CONFIG_PGSTE
647 *(pgste_t *)(ptep + PTRS_PER_PTE) = pgste;
648#endif
649}
650
643static inline pgste_t pgste_update_all(pte_t *ptep, pgste_t pgste) 651static inline pgste_t pgste_update_all(pte_t *ptep, pgste_t pgste)
644{ 652{
645#ifdef CONFIG_PGSTE 653#ifdef CONFIG_PGSTE
646 unsigned long address, bits; 654 unsigned long address, bits;
647 unsigned char skey; 655 unsigned char skey;
648 656
649 if (!pte_present(*ptep)) 657 if (pte_val(*ptep) & _PAGE_INVALID)
650 return pgste; 658 return pgste;
651 address = pte_val(*ptep) & PAGE_MASK; 659 address = pte_val(*ptep) & PAGE_MASK;
652 skey = page_get_storage_key(address); 660 skey = page_get_storage_key(address);
@@ -680,7 +688,7 @@ static inline pgste_t pgste_update_young(pte_t *ptep, pgste_t pgste)
680#ifdef CONFIG_PGSTE 688#ifdef CONFIG_PGSTE
681 int young; 689 int young;
682 690
683 if (!pte_present(*ptep)) 691 if (pte_val(*ptep) & _PAGE_INVALID)
684 return pgste; 692 return pgste;
685 /* Get referenced bit from storage key */ 693 /* Get referenced bit from storage key */
686 young = page_reset_referenced(pte_val(*ptep) & PAGE_MASK); 694 young = page_reset_referenced(pte_val(*ptep) & PAGE_MASK);
@@ -704,17 +712,19 @@ static inline void pgste_set_key(pte_t *ptep, pgste_t pgste, pte_t entry)
704{ 712{
705#ifdef CONFIG_PGSTE 713#ifdef CONFIG_PGSTE
706 unsigned long address; 714 unsigned long address;
707 unsigned long okey, nkey; 715 unsigned long nkey;
708 716
709 if (!pte_present(entry)) 717 if (pte_val(entry) & _PAGE_INVALID)
710 return; 718 return;
719 VM_BUG_ON(!(pte_val(*ptep) & _PAGE_INVALID));
711 address = pte_val(entry) & PAGE_MASK; 720 address = pte_val(entry) & PAGE_MASK;
712 okey = nkey = page_get_storage_key(address); 721 /*
713 nkey &= ~(_PAGE_ACC_BITS | _PAGE_FP_BIT); 722 * Set page access key and fetch protection bit from pgste.
714 /* Set page access key and fetch protection bit from pgste */ 723 * The guest C/R information is still in the PGSTE, set real
715 nkey |= (pgste_val(pgste) & (RCP_ACC_BITS | RCP_FP_BIT)) >> 56; 724 * key C/R to 0.
716 if (okey != nkey) 725 */
717 page_set_storage_key(address, nkey, 0); 726 nkey = (pgste_val(pgste) & (RCP_ACC_BITS | RCP_FP_BIT)) >> 56;
727 page_set_storage_key(address, nkey, 0);
718#endif 728#endif
719} 729}
720 730
@@ -1098,6 +1108,11 @@ static inline pte_t ptep_modify_prot_start(struct mm_struct *mm,
1098 pte = *ptep; 1108 pte = *ptep;
1099 if (!mm_exclusive(mm)) 1109 if (!mm_exclusive(mm))
1100 __ptep_ipte(address, ptep); 1110 __ptep_ipte(address, ptep);
1111
1112 if (mm_has_pgste(mm)) {
1113 pgste = pgste_update_all(&pte, pgste);
1114 pgste_set(ptep, pgste);
1115 }
1101 return pte; 1116 return pte;
1102} 1117}
1103 1118
@@ -1105,9 +1120,13 @@ static inline void ptep_modify_prot_commit(struct mm_struct *mm,
1105 unsigned long address, 1120 unsigned long address,
1106 pte_t *ptep, pte_t pte) 1121 pte_t *ptep, pte_t pte)
1107{ 1122{
1123 pgste_t pgste;
1124
1108 if (mm_has_pgste(mm)) { 1125 if (mm_has_pgste(mm)) {
1126 pgste = *(pgste_t *)(ptep + PTRS_PER_PTE);
1127 pgste_set_key(ptep, pgste, pte);
1109 pgste_set_pte(ptep, pte); 1128 pgste_set_pte(ptep, pte);
1110 pgste_set_unlock(ptep, *(pgste_t *)(ptep + PTRS_PER_PTE)); 1129 pgste_set_unlock(ptep, pgste);
1111 } else 1130 } else
1112 *ptep = pte; 1131 *ptep = pte;
1113} 1132}
diff --git a/arch/s390/kernel/dumpstack.c b/arch/s390/kernel/dumpstack.c
index 298297477257..87acc38f73c6 100644
--- a/arch/s390/kernel/dumpstack.c
+++ b/arch/s390/kernel/dumpstack.c
@@ -74,6 +74,8 @@ __show_trace(unsigned long sp, unsigned long low, unsigned long high)
74 74
75static void show_trace(struct task_struct *task, unsigned long *stack) 75static void show_trace(struct task_struct *task, unsigned long *stack)
76{ 76{
77 const unsigned long frame_size =
78 STACK_FRAME_OVERHEAD + sizeof(struct pt_regs);
77 register unsigned long __r15 asm ("15"); 79 register unsigned long __r15 asm ("15");
78 unsigned long sp; 80 unsigned long sp;
79 81
@@ -82,11 +84,13 @@ static void show_trace(struct task_struct *task, unsigned long *stack)
82 sp = task ? task->thread.ksp : __r15; 84 sp = task ? task->thread.ksp : __r15;
83 printk("Call Trace:\n"); 85 printk("Call Trace:\n");
84#ifdef CONFIG_CHECK_STACK 86#ifdef CONFIG_CHECK_STACK
85 sp = __show_trace(sp, S390_lowcore.panic_stack - 4096, 87 sp = __show_trace(sp,
86 S390_lowcore.panic_stack); 88 S390_lowcore.panic_stack + frame_size - 4096,
89 S390_lowcore.panic_stack + frame_size);
87#endif 90#endif
88 sp = __show_trace(sp, S390_lowcore.async_stack - ASYNC_SIZE, 91 sp = __show_trace(sp,
89 S390_lowcore.async_stack); 92 S390_lowcore.async_stack + frame_size - ASYNC_SIZE,
93 S390_lowcore.async_stack + frame_size);
90 if (task) 94 if (task)
91 __show_trace(sp, (unsigned long) task_stack_page(task), 95 __show_trace(sp, (unsigned long) task_stack_page(task),
92 (unsigned long) task_stack_page(task) + THREAD_SIZE); 96 (unsigned long) task_stack_page(task) + THREAD_SIZE);
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index f7fb58903f6a..408e866ae548 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -311,3 +311,67 @@ void measurement_alert_subclass_unregister(void)
311 spin_unlock(&ma_subclass_lock); 311 spin_unlock(&ma_subclass_lock);
312} 312}
313EXPORT_SYMBOL(measurement_alert_subclass_unregister); 313EXPORT_SYMBOL(measurement_alert_subclass_unregister);
314
315void synchronize_irq(unsigned int irq)
316{
317 /*
318 * Not needed, the handler is protected by a lock and IRQs that occur
319 * after the handler is deleted are just NOPs.
320 */
321}
322EXPORT_SYMBOL_GPL(synchronize_irq);
323
324#ifndef CONFIG_PCI
325
326/* Only PCI devices have dynamically-defined IRQ handlers */
327
328int request_irq(unsigned int irq, irq_handler_t handler,
329 unsigned long irqflags, const char *devname, void *dev_id)
330{
331 return -EINVAL;
332}
333EXPORT_SYMBOL_GPL(request_irq);
334
335void free_irq(unsigned int irq, void *dev_id)
336{
337 WARN_ON(1);
338}
339EXPORT_SYMBOL_GPL(free_irq);
340
341void enable_irq(unsigned int irq)
342{
343 WARN_ON(1);
344}
345EXPORT_SYMBOL_GPL(enable_irq);
346
347void disable_irq(unsigned int irq)
348{
349 WARN_ON(1);
350}
351EXPORT_SYMBOL_GPL(disable_irq);
352
353#endif /* !CONFIG_PCI */
354
355void disable_irq_nosync(unsigned int irq)
356{
357 disable_irq(irq);
358}
359EXPORT_SYMBOL_GPL(disable_irq_nosync);
360
361unsigned long probe_irq_on(void)
362{
363 return 0;
364}
365EXPORT_SYMBOL_GPL(probe_irq_on);
366
367int probe_irq_off(unsigned long val)
368{
369 return 0;
370}
371EXPORT_SYMBOL_GPL(probe_irq_off);
372
373unsigned int probe_irq_mask(unsigned long val)
374{
375 return val;
376}
377EXPORT_SYMBOL_GPL(probe_irq_mask);
diff --git a/arch/s390/kernel/sclp.S b/arch/s390/kernel/sclp.S
index b6506ee32a36..29bd7bec4176 100644
--- a/arch/s390/kernel/sclp.S
+++ b/arch/s390/kernel/sclp.S
@@ -225,7 +225,7 @@ _sclp_print:
225 ahi %r2,1 225 ahi %r2,1
226 ltr %r0,%r0 # end of string? 226 ltr %r0,%r0 # end of string?
227 jz .LfinalizemtoS4 227 jz .LfinalizemtoS4
228 chi %r0,0x15 # end of line (NL)? 228 chi %r0,0x0a # end of line (NL)?
229 jz .LfinalizemtoS4 229 jz .LfinalizemtoS4
230 stc %r0,0(%r6,%r7) # copy to mto 230 stc %r0,0(%r6,%r7) # copy to mto
231 la %r11,0(%r6,%r7) 231 la %r11,0(%r6,%r7)
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 05674b669001..4f977d0d25c2 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -428,34 +428,27 @@ void smp_stop_cpu(void)
428 * This is the main routine where commands issued by other 428 * This is the main routine where commands issued by other
429 * cpus are handled. 429 * cpus are handled.
430 */ 430 */
431static void do_ext_call_interrupt(struct ext_code ext_code, 431static void smp_handle_ext_call(void)
432 unsigned int param32, unsigned long param64)
433{ 432{
434 unsigned long bits; 433 unsigned long bits;
435 int cpu;
436
437 cpu = smp_processor_id();
438 if (ext_code.code == 0x1202)
439 inc_irq_stat(IRQEXT_EXC);
440 else
441 inc_irq_stat(IRQEXT_EMS);
442 /*
443 * handle bit signal external calls
444 */
445 bits = xchg(&pcpu_devices[cpu].ec_mask, 0);
446 434
435 /* handle bit signal external calls */
436 bits = xchg(&pcpu_devices[smp_processor_id()].ec_mask, 0);
447 if (test_bit(ec_stop_cpu, &bits)) 437 if (test_bit(ec_stop_cpu, &bits))
448 smp_stop_cpu(); 438 smp_stop_cpu();
449
450 if (test_bit(ec_schedule, &bits)) 439 if (test_bit(ec_schedule, &bits))
451 scheduler_ipi(); 440 scheduler_ipi();
452
453 if (test_bit(ec_call_function, &bits)) 441 if (test_bit(ec_call_function, &bits))
454 generic_smp_call_function_interrupt(); 442 generic_smp_call_function_interrupt();
455
456 if (test_bit(ec_call_function_single, &bits)) 443 if (test_bit(ec_call_function_single, &bits))
457 generic_smp_call_function_single_interrupt(); 444 generic_smp_call_function_single_interrupt();
445}
458 446
447static void do_ext_call_interrupt(struct ext_code ext_code,
448 unsigned int param32, unsigned long param64)
449{
450 inc_irq_stat(ext_code.code == 0x1202 ? IRQEXT_EXC : IRQEXT_EMS);
451 smp_handle_ext_call();
459} 452}
460 453
461void arch_send_call_function_ipi_mask(const struct cpumask *mask) 454void arch_send_call_function_ipi_mask(const struct cpumask *mask)
@@ -760,6 +753,8 @@ int __cpu_disable(void)
760{ 753{
761 unsigned long cregs[16]; 754 unsigned long cregs[16];
762 755
756 /* Handle possible pending IPIs */
757 smp_handle_ext_call();
763 set_cpu_online(smp_processor_id(), false); 758 set_cpu_online(smp_processor_id(), false);
764 /* Disable pseudo page faults on this cpu. */ 759 /* Disable pseudo page faults on this cpu. */
765 pfault_fini(); 760 pfault_fini();
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
index 18dc417aaf79..a938b548f07e 100644
--- a/arch/s390/mm/pgtable.c
+++ b/arch/s390/mm/pgtable.c
@@ -492,7 +492,7 @@ static int gmap_connect_pgtable(unsigned long address, unsigned long segment,
492 mp = (struct gmap_pgtable *) page->index; 492 mp = (struct gmap_pgtable *) page->index;
493 rmap->gmap = gmap; 493 rmap->gmap = gmap;
494 rmap->entry = segment_ptr; 494 rmap->entry = segment_ptr;
495 rmap->vmaddr = address; 495 rmap->vmaddr = address & PMD_MASK;
496 spin_lock(&mm->page_table_lock); 496 spin_lock(&mm->page_table_lock);
497 if (*segment_ptr == segment) { 497 if (*segment_ptr == segment) {
498 list_add(&rmap->list, &mp->mapper); 498 list_add(&rmap->list, &mp->mapper);
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index e6f15b5d8b7d..f1e5be85d592 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -302,15 +302,6 @@ static int zpci_cfg_store(struct zpci_dev *zdev, int offset, u32 val, u8 len)
302 return rc; 302 return rc;
303} 303}
304 304
305void synchronize_irq(unsigned int irq)
306{
307 /*
308 * Not needed, the handler is protected by a lock and IRQs that occur
309 * after the handler is deleted are just NOPs.
310 */
311}
312EXPORT_SYMBOL_GPL(synchronize_irq);
313
314void enable_irq(unsigned int irq) 305void enable_irq(unsigned int irq)
315{ 306{
316 struct msi_desc *msi = irq_get_msi_desc(irq); 307 struct msi_desc *msi = irq_get_msi_desc(irq);
@@ -327,30 +318,6 @@ void disable_irq(unsigned int irq)
327} 318}
328EXPORT_SYMBOL_GPL(disable_irq); 319EXPORT_SYMBOL_GPL(disable_irq);
329 320
330void disable_irq_nosync(unsigned int irq)
331{
332 disable_irq(irq);
333}
334EXPORT_SYMBOL_GPL(disable_irq_nosync);
335
336unsigned long probe_irq_on(void)
337{
338 return 0;
339}
340EXPORT_SYMBOL_GPL(probe_irq_on);
341
342int probe_irq_off(unsigned long val)
343{
344 return 0;
345}
346EXPORT_SYMBOL_GPL(probe_irq_off);
347
348unsigned int probe_irq_mask(unsigned long val)
349{
350 return val;
351}
352EXPORT_SYMBOL_GPL(probe_irq_mask);
353
354void pcibios_fixup_bus(struct pci_bus *bus) 321void pcibios_fixup_bus(struct pci_bus *bus)
355{ 322{
356} 323}
diff --git a/arch/score/mm/init.c b/arch/score/mm/init.c
index d8f988a37d16..0940682ab38b 100644
--- a/arch/score/mm/init.c
+++ b/arch/score/mm/init.c
@@ -41,8 +41,6 @@
41unsigned long empty_zero_page; 41unsigned long empty_zero_page;
42EXPORT_SYMBOL_GPL(empty_zero_page); 42EXPORT_SYMBOL_GPL(empty_zero_page);
43 43
44static struct kcore_list kcore_mem, kcore_vmalloc;
45
46static void setup_zero_page(void) 44static void setup_zero_page(void)
47{ 45{
48 struct page *page; 46 struct page *page;
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index ff18e3cfb6b1..7e4a97fbded4 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -6,6 +6,7 @@ generic-y += cputime.h
6generic-y += div64.h 6generic-y += div64.h
7generic-y += emergency-restart.h 7generic-y += emergency-restart.h
8generic-y += exec.h 8generic-y += exec.h
9generic-y += linkage.h
9generic-y += local64.h 10generic-y += local64.h
10generic-y += mutex.h 11generic-y += mutex.h
11generic-y += irq_regs.h 12generic-y += irq_regs.h
diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h
index 15a716934e4d..b836e9297f2a 100644
--- a/arch/sparc/include/asm/leon.h
+++ b/arch/sparc/include/asm/leon.h
@@ -135,7 +135,7 @@ static inline int sparc_leon3_cpuid(void)
135 135
136#ifdef CONFIG_SMP 136#ifdef CONFIG_SMP
137# define LEON3_IRQ_IPI_DEFAULT 13 137# define LEON3_IRQ_IPI_DEFAULT 13
138# define LEON3_IRQ_TICKER (leon3_ticker_irq) 138# define LEON3_IRQ_TICKER (leon3_gptimer_irq)
139# define LEON3_IRQ_CROSS_CALL 15 139# define LEON3_IRQ_CROSS_CALL 15
140#endif 140#endif
141 141
diff --git a/arch/sparc/include/asm/leon_amba.h b/arch/sparc/include/asm/leon_amba.h
index f3034eddf468..24ec48c3ff90 100644
--- a/arch/sparc/include/asm/leon_amba.h
+++ b/arch/sparc/include/asm/leon_amba.h
@@ -47,6 +47,7 @@ struct amba_prom_registers {
47#define LEON3_GPTIMER_LD 4 47#define LEON3_GPTIMER_LD 4
48#define LEON3_GPTIMER_IRQEN 8 48#define LEON3_GPTIMER_IRQEN 8
49#define LEON3_GPTIMER_SEPIRQ 8 49#define LEON3_GPTIMER_SEPIRQ 8
50#define LEON3_GPTIMER_TIMERS 0x7
50 51
51#define LEON23_REG_TIMER_CONTROL_EN 0x00000001 /* 1 = enable counting */ 52#define LEON23_REG_TIMER_CONTROL_EN 0x00000001 /* 1 = enable counting */
52/* 0 = hold scalar and counter */ 53/* 0 = hold scalar and counter */
diff --git a/arch/sparc/include/asm/linkage.h b/arch/sparc/include/asm/linkage.h
deleted file mode 100644
index 291c2d01c44f..000000000000
--- a/arch/sparc/include/asm/linkage.h
+++ /dev/null
@@ -1,6 +0,0 @@
1#ifndef __ASM_LINKAGE_H
2#define __ASM_LINKAGE_H
3
4/* Nothing to see here... */
5
6#endif
diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
index 75bb608c423e..5ef48dab5636 100644
--- a/arch/sparc/kernel/ds.c
+++ b/arch/sparc/kernel/ds.c
@@ -843,7 +843,8 @@ void ldom_reboot(const char *boot_command)
843 unsigned long len; 843 unsigned long len;
844 844
845 strcpy(full_boot_str, "boot "); 845 strcpy(full_boot_str, "boot ");
846 strcpy(full_boot_str + strlen("boot "), boot_command); 846 strlcpy(full_boot_str + strlen("boot "), boot_command,
847 sizeof(full_boot_str + strlen("boot ")));
847 len = strlen(full_boot_str); 848 len = strlen(full_boot_str);
848 849
849 if (reboot_data_supported) { 850 if (reboot_data_supported) {
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c
index 7c0231dabe44..b7c68976cbc7 100644
--- a/arch/sparc/kernel/leon_kernel.c
+++ b/arch/sparc/kernel/leon_kernel.c
@@ -38,7 +38,6 @@ static DEFINE_SPINLOCK(leon_irq_lock);
38 38
39unsigned long leon3_gptimer_irq; /* interrupt controller irq number */ 39unsigned long leon3_gptimer_irq; /* interrupt controller irq number */
40unsigned long leon3_gptimer_idx; /* Timer Index (0..6) within Timer Core */ 40unsigned long leon3_gptimer_idx; /* Timer Index (0..6) within Timer Core */
41int leon3_ticker_irq; /* Timer ticker IRQ */
42unsigned int sparc_leon_eirq; 41unsigned int sparc_leon_eirq;
43#define LEON_IMASK(cpu) (&leon3_irqctrl_regs->mask[cpu]) 42#define LEON_IMASK(cpu) (&leon3_irqctrl_regs->mask[cpu])
44#define LEON_IACK (&leon3_irqctrl_regs->iclear) 43#define LEON_IACK (&leon3_irqctrl_regs->iclear)
@@ -278,6 +277,9 @@ irqreturn_t leon_percpu_timer_ce_interrupt(int irq, void *unused)
278 277
279 leon_clear_profile_irq(cpu); 278 leon_clear_profile_irq(cpu);
280 279
280 if (cpu == boot_cpu_id)
281 timer_interrupt(irq, NULL);
282
281 ce = &per_cpu(sparc32_clockevent, cpu); 283 ce = &per_cpu(sparc32_clockevent, cpu);
282 284
283 irq_enter(); 285 irq_enter();
@@ -299,6 +301,7 @@ void __init leon_init_timers(void)
299 int icsel; 301 int icsel;
300 int ampopts; 302 int ampopts;
301 int err; 303 int err;
304 u32 config;
302 305
303 sparc_config.get_cycles_offset = leon_cycles_offset; 306 sparc_config.get_cycles_offset = leon_cycles_offset;
304 sparc_config.cs_period = 1000000 / HZ; 307 sparc_config.cs_period = 1000000 / HZ;
@@ -377,23 +380,6 @@ void __init leon_init_timers(void)
377 LEON3_BYPASS_STORE_PA( 380 LEON3_BYPASS_STORE_PA(
378 &leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, 0); 381 &leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, 0);
379 382
380#ifdef CONFIG_SMP
381 leon3_ticker_irq = leon3_gptimer_irq + 1 + leon3_gptimer_idx;
382
383 if (!(LEON3_BYPASS_LOAD_PA(&leon3_gptimer_regs->config) &
384 (1<<LEON3_GPTIMER_SEPIRQ))) {
385 printk(KERN_ERR "timer not configured with separate irqs\n");
386 BUG();
387 }
388
389 LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].val,
390 0);
391 LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].rld,
392 (((1000000/HZ) - 1)));
393 LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].ctrl,
394 0);
395#endif
396
397 /* 383 /*
398 * The IRQ controller may (if implemented) consist of multiple 384 * The IRQ controller may (if implemented) consist of multiple
399 * IRQ controllers, each mapped on a 4Kb boundary. 385 * IRQ controllers, each mapped on a 4Kb boundary.
@@ -416,13 +402,6 @@ void __init leon_init_timers(void)
416 if (eirq != 0) 402 if (eirq != 0)
417 leon_eirq_setup(eirq); 403 leon_eirq_setup(eirq);
418 404
419 irq = _leon_build_device_irq(NULL, leon3_gptimer_irq+leon3_gptimer_idx);
420 err = request_irq(irq, timer_interrupt, IRQF_TIMER, "timer", NULL);
421 if (err) {
422 printk(KERN_ERR "unable to attach timer IRQ%d\n", irq);
423 prom_halt();
424 }
425
426#ifdef CONFIG_SMP 405#ifdef CONFIG_SMP
427 { 406 {
428 unsigned long flags; 407 unsigned long flags;
@@ -439,30 +418,31 @@ void __init leon_init_timers(void)
439 } 418 }
440#endif 419#endif
441 420
442 LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, 421 config = LEON3_BYPASS_LOAD_PA(&leon3_gptimer_regs->config);
443 LEON3_GPTIMER_EN | 422 if (config & (1 << LEON3_GPTIMER_SEPIRQ))
444 LEON3_GPTIMER_RL | 423 leon3_gptimer_irq += leon3_gptimer_idx;
445 LEON3_GPTIMER_LD | 424 else if ((config & LEON3_GPTIMER_TIMERS) > 1)
446 LEON3_GPTIMER_IRQEN); 425 pr_warn("GPTIMER uses shared irqs, using other timers of the same core will fail.\n");
447 426
448#ifdef CONFIG_SMP 427#ifdef CONFIG_SMP
449 /* Install per-cpu IRQ handler for broadcasted ticker */ 428 /* Install per-cpu IRQ handler for broadcasted ticker */
450 irq = leon_build_device_irq(leon3_ticker_irq, handle_percpu_irq, 429 irq = leon_build_device_irq(leon3_gptimer_irq, handle_percpu_irq,
451 "per-cpu", 0); 430 "per-cpu", 0);
452 err = request_irq(irq, leon_percpu_timer_ce_interrupt, 431 err = request_irq(irq, leon_percpu_timer_ce_interrupt,
453 IRQF_PERCPU | IRQF_TIMER, "ticker", 432 IRQF_PERCPU | IRQF_TIMER, "timer", NULL);
454 NULL); 433#else
434 irq = _leon_build_device_irq(NULL, leon3_gptimer_irq);
435 err = request_irq(irq, timer_interrupt, IRQF_TIMER, "timer", NULL);
436#endif
455 if (err) { 437 if (err) {
456 printk(KERN_ERR "unable to attach ticker IRQ%d\n", irq); 438 pr_err("Unable to attach timer IRQ%d\n", irq);
457 prom_halt(); 439 prom_halt();
458 } 440 }
459 441 LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl,
460 LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].ctrl,
461 LEON3_GPTIMER_EN | 442 LEON3_GPTIMER_EN |
462 LEON3_GPTIMER_RL | 443 LEON3_GPTIMER_RL |
463 LEON3_GPTIMER_LD | 444 LEON3_GPTIMER_LD |
464 LEON3_GPTIMER_IRQEN); 445 LEON3_GPTIMER_IRQEN);
465#endif
466 return; 446 return;
467bad: 447bad:
468 printk(KERN_ERR "No Timer/irqctrl found\n"); 448 printk(KERN_ERR "No Timer/irqctrl found\n");
diff --git a/arch/sparc/kernel/leon_pci_grpci1.c b/arch/sparc/kernel/leon_pci_grpci1.c
index 7739a54315e2..6df26e37f879 100644
--- a/arch/sparc/kernel/leon_pci_grpci1.c
+++ b/arch/sparc/kernel/leon_pci_grpci1.c
@@ -536,11 +536,9 @@ static int grpci1_of_probe(struct platform_device *ofdev)
536 536
537 /* find device register base address */ 537 /* find device register base address */
538 res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); 538 res = platform_get_resource(ofdev, IORESOURCE_MEM, 0);
539 regs = devm_request_and_ioremap(&ofdev->dev, res); 539 regs = devm_ioremap_resource(&ofdev->dev, res);
540 if (!regs) { 540 if (IS_ERR(regs))
541 dev_err(&ofdev->dev, "io-regs mapping failed\n"); 541 return PTR_ERR(regs);
542 return -EADDRNOTAVAIL;
543 }
544 542
545 /* 543 /*
546 * check that we're in Host Slot and that we can act as a Host Bridge 544 * check that we're in Host Slot and that we can act as a Host Bridge
diff --git a/arch/sparc/kernel/leon_pmc.c b/arch/sparc/kernel/leon_pmc.c
index bdf53d9a8d46..b0b3967a2dd2 100644
--- a/arch/sparc/kernel/leon_pmc.c
+++ b/arch/sparc/kernel/leon_pmc.c
@@ -47,6 +47,10 @@ void pmc_leon_idle_fixup(void)
47 * MMU does not get a TLB miss here by using the MMU BYPASS ASI. 47 * MMU does not get a TLB miss here by using the MMU BYPASS ASI.
48 */ 48 */
49 register unsigned int address = (unsigned int)leon3_irqctrl_regs; 49 register unsigned int address = (unsigned int)leon3_irqctrl_regs;
50
51 /* Interrupts need to be enabled to not hang the CPU */
52 local_irq_enable();
53
50 __asm__ __volatile__ ( 54 __asm__ __volatile__ (
51 "wr %%g0, %%asr19\n" 55 "wr %%g0, %%asr19\n"
52 "lda [%0] %1, %%g0\n" 56 "lda [%0] %1, %%g0\n"
@@ -60,6 +64,9 @@ void pmc_leon_idle_fixup(void)
60 */ 64 */
61void pmc_leon_idle(void) 65void pmc_leon_idle(void)
62{ 66{
67 /* Interrupts need to be enabled to not hang the CPU */
68 local_irq_enable();
69
63 /* For systems without power-down, this will be no-op */ 70 /* For systems without power-down, this will be no-op */
64 __asm__ __volatile__ ("wr %g0, %asr19\n\t"); 71 __asm__ __volatile__ ("wr %g0, %asr19\n\t");
65} 72}
diff --git a/arch/sparc/kernel/prom_common.c b/arch/sparc/kernel/prom_common.c
index 9f20566b0773..79cc0d1a477d 100644
--- a/arch/sparc/kernel/prom_common.c
+++ b/arch/sparc/kernel/prom_common.c
@@ -54,6 +54,7 @@ EXPORT_SYMBOL(of_set_property_mutex);
54int of_set_property(struct device_node *dp, const char *name, void *val, int len) 54int of_set_property(struct device_node *dp, const char *name, void *val, int len)
55{ 55{
56 struct property **prevp; 56 struct property **prevp;
57 unsigned long flags;
57 void *new_val; 58 void *new_val;
58 int err; 59 int err;
59 60
@@ -64,7 +65,7 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len
64 err = -ENODEV; 65 err = -ENODEV;
65 66
66 mutex_lock(&of_set_property_mutex); 67 mutex_lock(&of_set_property_mutex);
67 raw_spin_lock(&devtree_lock); 68 raw_spin_lock_irqsave(&devtree_lock, flags);
68 prevp = &dp->properties; 69 prevp = &dp->properties;
69 while (*prevp) { 70 while (*prevp) {
70 struct property *prop = *prevp; 71 struct property *prop = *prevp;
@@ -91,7 +92,7 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len
91 } 92 }
92 prevp = &(*prevp)->next; 93 prevp = &(*prevp)->next;
93 } 94 }
94 raw_spin_unlock(&devtree_lock); 95 raw_spin_unlock_irqrestore(&devtree_lock, flags);
95 mutex_unlock(&of_set_property_mutex); 96 mutex_unlock(&of_set_property_mutex);
96 97
97 /* XXX Upate procfs if necessary... */ 98 /* XXX Upate procfs if necessary... */
diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c
index 38bf80a22f02..1434526970a6 100644
--- a/arch/sparc/kernel/setup_32.c
+++ b/arch/sparc/kernel/setup_32.c
@@ -304,7 +304,7 @@ void __init setup_arch(char **cmdline_p)
304 304
305 /* Initialize PROM console and command line. */ 305 /* Initialize PROM console and command line. */
306 *cmdline_p = prom_getbootargs(); 306 *cmdline_p = prom_getbootargs();
307 strcpy(boot_command_line, *cmdline_p); 307 strlcpy(boot_command_line, *cmdline_p, COMMAND_LINE_SIZE);
308 parse_early_param(); 308 parse_early_param();
309 309
310 boot_flags_init(*cmdline_p); 310 boot_flags_init(*cmdline_p);
diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c
index 88a127b9c69e..13785547e435 100644
--- a/arch/sparc/kernel/setup_64.c
+++ b/arch/sparc/kernel/setup_64.c
@@ -555,7 +555,7 @@ void __init setup_arch(char **cmdline_p)
555{ 555{
556 /* Initialize PROM console and command line. */ 556 /* Initialize PROM console and command line. */
557 *cmdline_p = prom_getbootargs(); 557 *cmdline_p = prom_getbootargs();
558 strcpy(boot_command_line, *cmdline_p); 558 strlcpy(boot_command_line, *cmdline_p, COMMAND_LINE_SIZE);
559 parse_early_param(); 559 parse_early_param();
560 560
561 boot_flags_init(*cmdline_p); 561 boot_flags_init(*cmdline_p);
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
index a7171997adfd..04fd55a6e461 100644
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -1098,7 +1098,14 @@ static int __init grab_mblocks(struct mdesc_handle *md)
1098 m->size = *val; 1098 m->size = *val;
1099 val = mdesc_get_property(md, node, 1099 val = mdesc_get_property(md, node,
1100 "address-congruence-offset", NULL); 1100 "address-congruence-offset", NULL);
1101 m->offset = *val; 1101
1102 /* The address-congruence-offset property is optional.
1103 * Explicity zero it be identifty this.
1104 */
1105 if (val)
1106 m->offset = *val;
1107 else
1108 m->offset = 0UL;
1102 1109
1103 numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", 1110 numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n",
1104 count - 1, m->base, m->size, m->offset); 1111 count - 1, m->base, m->size, m->offset);
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index 83d89bcb44af..37e7bc4c95b3 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -85,8 +85,8 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
85 } 85 }
86 86
87 if (!tb->active) { 87 if (!tb->active) {
88 global_flush_tlb_page(mm, vaddr);
89 flush_tsb_user_page(mm, vaddr); 88 flush_tsb_user_page(mm, vaddr);
89 global_flush_tlb_page(mm, vaddr);
90 goto out; 90 goto out;
91 } 91 }
92 92
diff --git a/arch/sparc/prom/bootstr_32.c b/arch/sparc/prom/bootstr_32.c
index f5ec32e0d419..d2b49d2365e7 100644
--- a/arch/sparc/prom/bootstr_32.c
+++ b/arch/sparc/prom/bootstr_32.c
@@ -23,23 +23,25 @@ prom_getbootargs(void)
23 return barg_buf; 23 return barg_buf;
24 } 24 }
25 25
26 switch(prom_vers) { 26 switch (prom_vers) {
27 case PROM_V0: 27 case PROM_V0:
28 cp = barg_buf; 28 cp = barg_buf;
29 /* Start from 1 and go over fd(0,0,0)kernel */ 29 /* Start from 1 and go over fd(0,0,0)kernel */
30 for(iter = 1; iter < 8; iter++) { 30 for (iter = 1; iter < 8; iter++) {
31 arg = (*(romvec->pv_v0bootargs))->argv[iter]; 31 arg = (*(romvec->pv_v0bootargs))->argv[iter];
32 if (arg == NULL) 32 if (arg == NULL)
33 break; 33 break;
34 while(*arg != 0) { 34 while (*arg != 0) {
35 /* Leave place for space and null. */ 35 /* Leave place for space and null. */
36 if(cp >= barg_buf + BARG_LEN-2){ 36 if (cp >= barg_buf + BARG_LEN - 2)
37 /* We might issue a warning here. */ 37 /* We might issue a warning here. */
38 break; 38 break;
39 }
40 *cp++ = *arg++; 39 *cp++ = *arg++;
41 } 40 }
42 *cp++ = ' '; 41 *cp++ = ' ';
42 if (cp >= barg_buf + BARG_LEN - 1)
43 /* We might issue a warning here. */
44 break;
43 } 45 }
44 *cp = 0; 46 *cp = 0;
45 break; 47 break;
diff --git a/arch/sparc/prom/tree_64.c b/arch/sparc/prom/tree_64.c
index 92204c3800b5..bd1b2a3ac34e 100644
--- a/arch/sparc/prom/tree_64.c
+++ b/arch/sparc/prom/tree_64.c
@@ -39,7 +39,7 @@ inline phandle __prom_getchild(phandle node)
39 return prom_node_to_node("child", node); 39 return prom_node_to_node("child", node);
40} 40}
41 41
42inline phandle prom_getchild(phandle node) 42phandle prom_getchild(phandle node)
43{ 43{
44 phandle cnode; 44 phandle cnode;
45 45
@@ -72,7 +72,7 @@ inline phandle __prom_getsibling(phandle node)
72 return prom_node_to_node(prom_peer_name, node); 72 return prom_node_to_node(prom_peer_name, node);
73} 73}
74 74
75inline phandle prom_getsibling(phandle node) 75phandle prom_getsibling(phandle node)
76{ 76{
77 phandle sibnode; 77 phandle sibnode;
78 78
@@ -89,7 +89,7 @@ EXPORT_SYMBOL(prom_getsibling);
89/* Return the length in bytes of property 'prop' at node 'node'. 89/* Return the length in bytes of property 'prop' at node 'node'.
90 * Return -1 on error. 90 * Return -1 on error.
91 */ 91 */
92inline int prom_getproplen(phandle node, const char *prop) 92int prom_getproplen(phandle node, const char *prop)
93{ 93{
94 unsigned long args[6]; 94 unsigned long args[6];
95 95
@@ -113,8 +113,8 @@ EXPORT_SYMBOL(prom_getproplen);
113 * 'buffer' which has a size of 'bufsize'. If the acquisition 113 * 'buffer' which has a size of 'bufsize'. If the acquisition
114 * was successful the length will be returned, else -1 is returned. 114 * was successful the length will be returned, else -1 is returned.
115 */ 115 */
116inline int prom_getproperty(phandle node, const char *prop, 116int prom_getproperty(phandle node, const char *prop,
117 char *buffer, int bufsize) 117 char *buffer, int bufsize)
118{ 118{
119 unsigned long args[8]; 119 unsigned long args[8];
120 int plen; 120 int plen;
@@ -141,7 +141,7 @@ EXPORT_SYMBOL(prom_getproperty);
141/* Acquire an integer property and return its value. Returns -1 141/* Acquire an integer property and return its value. Returns -1
142 * on failure. 142 * on failure.
143 */ 143 */
144inline int prom_getint(phandle node, const char *prop) 144int prom_getint(phandle node, const char *prop)
145{ 145{
146 int intprop; 146 int intprop;
147 147
@@ -235,7 +235,7 @@ static const char *prom_nextprop_name = "nextprop";
235/* Return the first property type for node 'node'. 235/* Return the first property type for node 'node'.
236 * buffer should be at least 32B in length 236 * buffer should be at least 32B in length
237 */ 237 */
238inline char *prom_firstprop(phandle node, char *buffer) 238char *prom_firstprop(phandle node, char *buffer)
239{ 239{
240 unsigned long args[7]; 240 unsigned long args[7];
241 241
@@ -261,7 +261,7 @@ EXPORT_SYMBOL(prom_firstprop);
261 * at node 'node' . Returns NULL string if no more 261 * at node 'node' . Returns NULL string if no more
262 * property types for this node. 262 * property types for this node.
263 */ 263 */
264inline char *prom_nextprop(phandle node, const char *oprop, char *buffer) 264char *prom_nextprop(phandle node, const char *oprop, char *buffer)
265{ 265{
266 unsigned long args[7]; 266 unsigned long args[7];
267 char buf[32]; 267 char buf[32];
diff --git a/arch/tile/lib/exports.c b/arch/tile/lib/exports.c
index 4385cb6fa00a..a93b02a25222 100644
--- a/arch/tile/lib/exports.c
+++ b/arch/tile/lib/exports.c
@@ -84,4 +84,6 @@ uint64_t __ashrdi3(uint64_t, unsigned int);
84EXPORT_SYMBOL(__ashrdi3); 84EXPORT_SYMBOL(__ashrdi3);
85uint64_t __ashldi3(uint64_t, unsigned int); 85uint64_t __ashldi3(uint64_t, unsigned int);
86EXPORT_SYMBOL(__ashldi3); 86EXPORT_SYMBOL(__ashldi3);
87int __ffsdi2(uint64_t);
88EXPORT_SYMBOL(__ffsdi2);
87#endif 89#endif
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index d7d21851e60c..3df3bd544492 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -147,7 +147,7 @@ void mconsole_proc(struct mc_request *req)
147 } 147 }
148 148
149 do { 149 do {
150 loff_t pos; 150 loff_t pos = file->f_pos;
151 mm_segment_t old_fs = get_fs(); 151 mm_segment_t old_fs = get_fs();
152 set_fs(KERNEL_DS); 152 set_fs(KERNEL_DS);
153 len = vfs_read(file, buf, PAGE_SIZE - 1, &pos); 153 len = vfs_read(file, buf, PAGE_SIZE - 1, &pos);
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 685692c94f05..fe120da25625 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2265,6 +2265,7 @@ source "fs/Kconfig.binfmt"
2265config IA32_EMULATION 2265config IA32_EMULATION
2266 bool "IA32 Emulation" 2266 bool "IA32 Emulation"
2267 depends on X86_64 2267 depends on X86_64
2268 select BINFMT_ELF
2268 select COMPAT_BINFMT_ELF 2269 select COMPAT_BINFMT_ELF
2269 select HAVE_UID16 2270 select HAVE_UID16
2270 ---help--- 2271 ---help---
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index 35ee62fccf98..c205035a6b96 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -251,51 +251,6 @@ static void find_bits(unsigned long mask, u8 *pos, u8 *size)
251 *size = len; 251 *size = len;
252} 252}
253 253
254static efi_status_t setup_efi_vars(struct boot_params *params)
255{
256 struct setup_data *data;
257 struct efi_var_bootdata *efidata;
258 u64 store_size, remaining_size, var_size;
259 efi_status_t status;
260
261 if (sys_table->runtime->hdr.revision < EFI_2_00_SYSTEM_TABLE_REVISION)
262 return EFI_UNSUPPORTED;
263
264 data = (struct setup_data *)(unsigned long)params->hdr.setup_data;
265
266 while (data && data->next)
267 data = (struct setup_data *)(unsigned long)data->next;
268
269 status = efi_call_phys4((void *)sys_table->runtime->query_variable_info,
270 EFI_VARIABLE_NON_VOLATILE |
271 EFI_VARIABLE_BOOTSERVICE_ACCESS |
272 EFI_VARIABLE_RUNTIME_ACCESS, &store_size,
273 &remaining_size, &var_size);
274
275 if (status != EFI_SUCCESS)
276 return status;
277
278 status = efi_call_phys3(sys_table->boottime->allocate_pool,
279 EFI_LOADER_DATA, sizeof(*efidata), &efidata);
280
281 if (status != EFI_SUCCESS)
282 return status;
283
284 efidata->data.type = SETUP_EFI_VARS;
285 efidata->data.len = sizeof(struct efi_var_bootdata) -
286 sizeof(struct setup_data);
287 efidata->data.next = 0;
288 efidata->store_size = store_size;
289 efidata->remaining_size = remaining_size;
290 efidata->max_var_size = var_size;
291
292 if (data)
293 data->next = (unsigned long)efidata;
294 else
295 params->hdr.setup_data = (unsigned long)efidata;
296
297}
298
299static efi_status_t setup_efi_pci(struct boot_params *params) 254static efi_status_t setup_efi_pci(struct boot_params *params)
300{ 255{
301 efi_pci_io_protocol *pci; 256 efi_pci_io_protocol *pci;
@@ -1202,8 +1157,6 @@ struct boot_params *efi_main(void *handle, efi_system_table_t *_table,
1202 1157
1203 setup_graphics(boot_params); 1158 setup_graphics(boot_params);
1204 1159
1205 setup_efi_vars(boot_params);
1206
1207 setup_efi_pci(boot_params); 1160 setup_efi_pci(boot_params);
1208 1161
1209 status = efi_call_phys3(sys_table->boottime->allocate_pool, 1162 status = efi_call_phys3(sys_table->boottime->allocate_pool,
diff --git a/arch/x86/crypto/aesni-intel_asm.S b/arch/x86/crypto/aesni-intel_asm.S
index 62fe22cd4cba..477e9d75149b 100644
--- a/arch/x86/crypto/aesni-intel_asm.S
+++ b/arch/x86/crypto/aesni-intel_asm.S
@@ -2681,56 +2681,68 @@ ENTRY(aesni_xts_crypt8)
2681 addq %rcx, KEYP 2681 addq %rcx, KEYP
2682 2682
2683 movdqa IV, STATE1 2683 movdqa IV, STATE1
2684 pxor 0x00(INP), STATE1 2684 movdqu 0x00(INP), INC
2685 pxor INC, STATE1
2685 movdqu IV, 0x00(OUTP) 2686 movdqu IV, 0x00(OUTP)
2686 2687
2687 _aesni_gf128mul_x_ble() 2688 _aesni_gf128mul_x_ble()
2688 movdqa IV, STATE2 2689 movdqa IV, STATE2
2689 pxor 0x10(INP), STATE2 2690 movdqu 0x10(INP), INC
2691 pxor INC, STATE2
2690 movdqu IV, 0x10(OUTP) 2692 movdqu IV, 0x10(OUTP)
2691 2693
2692 _aesni_gf128mul_x_ble() 2694 _aesni_gf128mul_x_ble()
2693 movdqa IV, STATE3 2695 movdqa IV, STATE3
2694 pxor 0x20(INP), STATE3 2696 movdqu 0x20(INP), INC
2697 pxor INC, STATE3
2695 movdqu IV, 0x20(OUTP) 2698 movdqu IV, 0x20(OUTP)
2696 2699
2697 _aesni_gf128mul_x_ble() 2700 _aesni_gf128mul_x_ble()
2698 movdqa IV, STATE4 2701 movdqa IV, STATE4
2699 pxor 0x30(INP), STATE4 2702 movdqu 0x30(INP), INC
2703 pxor INC, STATE4
2700 movdqu IV, 0x30(OUTP) 2704 movdqu IV, 0x30(OUTP)
2701 2705
2702 call *%r11 2706 call *%r11
2703 2707
2704 pxor 0x00(OUTP), STATE1 2708 movdqu 0x00(OUTP), INC
2709 pxor INC, STATE1
2705 movdqu STATE1, 0x00(OUTP) 2710 movdqu STATE1, 0x00(OUTP)
2706 2711
2707 _aesni_gf128mul_x_ble() 2712 _aesni_gf128mul_x_ble()
2708 movdqa IV, STATE1 2713 movdqa IV, STATE1
2709 pxor 0x40(INP), STATE1 2714 movdqu 0x40(INP), INC
2715 pxor INC, STATE1
2710 movdqu IV, 0x40(OUTP) 2716 movdqu IV, 0x40(OUTP)
2711 2717
2712 pxor 0x10(OUTP), STATE2 2718 movdqu 0x10(OUTP), INC
2719 pxor INC, STATE2
2713 movdqu STATE2, 0x10(OUTP) 2720 movdqu STATE2, 0x10(OUTP)
2714 2721
2715 _aesni_gf128mul_x_ble() 2722 _aesni_gf128mul_x_ble()
2716 movdqa IV, STATE2 2723 movdqa IV, STATE2
2717 pxor 0x50(INP), STATE2 2724 movdqu 0x50(INP), INC
2725 pxor INC, STATE2
2718 movdqu IV, 0x50(OUTP) 2726 movdqu IV, 0x50(OUTP)
2719 2727
2720 pxor 0x20(OUTP), STATE3 2728 movdqu 0x20(OUTP), INC
2729 pxor INC, STATE3
2721 movdqu STATE3, 0x20(OUTP) 2730 movdqu STATE3, 0x20(OUTP)
2722 2731
2723 _aesni_gf128mul_x_ble() 2732 _aesni_gf128mul_x_ble()
2724 movdqa IV, STATE3 2733 movdqa IV, STATE3
2725 pxor 0x60(INP), STATE3 2734 movdqu 0x60(INP), INC
2735 pxor INC, STATE3
2726 movdqu IV, 0x60(OUTP) 2736 movdqu IV, 0x60(OUTP)
2727 2737
2728 pxor 0x30(OUTP), STATE4 2738 movdqu 0x30(OUTP), INC
2739 pxor INC, STATE4
2729 movdqu STATE4, 0x30(OUTP) 2740 movdqu STATE4, 0x30(OUTP)
2730 2741
2731 _aesni_gf128mul_x_ble() 2742 _aesni_gf128mul_x_ble()
2732 movdqa IV, STATE4 2743 movdqa IV, STATE4
2733 pxor 0x70(INP), STATE4 2744 movdqu 0x70(INP), INC
2745 pxor INC, STATE4
2734 movdqu IV, 0x70(OUTP) 2746 movdqu IV, 0x70(OUTP)
2735 2747
2736 _aesni_gf128mul_x_ble() 2748 _aesni_gf128mul_x_ble()
@@ -2738,16 +2750,20 @@ ENTRY(aesni_xts_crypt8)
2738 2750
2739 call *%r11 2751 call *%r11
2740 2752
2741 pxor 0x40(OUTP), STATE1 2753 movdqu 0x40(OUTP), INC
2754 pxor INC, STATE1
2742 movdqu STATE1, 0x40(OUTP) 2755 movdqu STATE1, 0x40(OUTP)
2743 2756
2744 pxor 0x50(OUTP), STATE2 2757 movdqu 0x50(OUTP), INC
2758 pxor INC, STATE2
2745 movdqu STATE2, 0x50(OUTP) 2759 movdqu STATE2, 0x50(OUTP)
2746 2760
2747 pxor 0x60(OUTP), STATE3 2761 movdqu 0x60(OUTP), INC
2762 pxor INC, STATE3
2748 movdqu STATE3, 0x60(OUTP) 2763 movdqu STATE3, 0x60(OUTP)
2749 2764
2750 pxor 0x70(OUTP), STATE4 2765 movdqu 0x70(OUTP), INC
2766 pxor INC, STATE4
2751 movdqu STATE4, 0x70(OUTP) 2767 movdqu STATE4, 0x70(OUTP)
2752 2768
2753 ret 2769 ret
diff --git a/arch/x86/crypto/crc32-pclmul_asm.S b/arch/x86/crypto/crc32-pclmul_asm.S
index 94c27df8a549..f247304299a2 100644
--- a/arch/x86/crypto/crc32-pclmul_asm.S
+++ b/arch/x86/crypto/crc32-pclmul_asm.S
@@ -240,7 +240,7 @@ fold_64:
240 pand %xmm3, %xmm1 240 pand %xmm3, %xmm1
241 PCLMULQDQ 0x00, CONSTANT, %xmm1 241 PCLMULQDQ 0x00, CONSTANT, %xmm1
242 pxor %xmm2, %xmm1 242 pxor %xmm2, %xmm1
243 pextrd $0x01, %xmm1, %eax 243 PEXTRD 0x01, %xmm1, %eax
244 244
245 ret 245 ret
246ENDPROC(crc32_pclmul_le_16) 246ENDPROC(crc32_pclmul_le_16)
diff --git a/arch/x86/crypto/sha256-avx-asm.S b/arch/x86/crypto/sha256-avx-asm.S
index 56610c4bf31b..642f15687a0a 100644
--- a/arch/x86/crypto/sha256-avx-asm.S
+++ b/arch/x86/crypto/sha256-avx-asm.S
@@ -118,7 +118,7 @@ y2 = %r15d
118 118
119_INP_END_SIZE = 8 119_INP_END_SIZE = 8
120_INP_SIZE = 8 120_INP_SIZE = 8
121_XFER_SIZE = 8 121_XFER_SIZE = 16
122_XMM_SAVE_SIZE = 0 122_XMM_SAVE_SIZE = 0
123 123
124_INP_END = 0 124_INP_END = 0
diff --git a/arch/x86/crypto/sha256-ssse3-asm.S b/arch/x86/crypto/sha256-ssse3-asm.S
index 98d3c391da81..f833b74d902b 100644
--- a/arch/x86/crypto/sha256-ssse3-asm.S
+++ b/arch/x86/crypto/sha256-ssse3-asm.S
@@ -111,7 +111,7 @@ y2 = %r15d
111 111
112_INP_END_SIZE = 8 112_INP_END_SIZE = 8
113_INP_SIZE = 8 113_INP_SIZE = 8
114_XFER_SIZE = 8 114_XFER_SIZE = 16
115_XMM_SAVE_SIZE = 0 115_XMM_SAVE_SIZE = 0
116 116
117_INP_END = 0 117_INP_END = 0
diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c
index 805078e08013..52ff81cce008 100644
--- a/arch/x86/ia32/ia32_aout.c
+++ b/arch/x86/ia32/ia32_aout.c
@@ -192,7 +192,7 @@ static int aout_core_dump(long signr, struct pt_regs *regs, struct file *file,
192 /* struct user */ 192 /* struct user */
193 DUMP_WRITE(&dump, sizeof(dump)); 193 DUMP_WRITE(&dump, sizeof(dump));
194 /* Now dump all of the user data. Include malloced stuff as well */ 194 /* Now dump all of the user data. Include malloced stuff as well */
195 DUMP_SEEK(PAGE_SIZE); 195 DUMP_SEEK(PAGE_SIZE - sizeof(dump));
196 /* now we start writing out the user space info */ 196 /* now we start writing out the user space info */
197 set_fs(USER_DS); 197 set_fs(USER_DS);
198 /* Dump the data area */ 198 /* Dump the data area */
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index 2fb5d5884e23..60c89f30c727 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -102,13 +102,6 @@ extern void efi_call_phys_epilog(void);
102extern void efi_unmap_memmap(void); 102extern void efi_unmap_memmap(void);
103extern void efi_memory_uc(u64 addr, unsigned long size); 103extern void efi_memory_uc(u64 addr, unsigned long size);
104 104
105struct efi_var_bootdata {
106 struct setup_data data;
107 u64 store_size;
108 u64 remaining_size;
109 u64 max_var_size;
110};
111
112#ifdef CONFIG_EFI 105#ifdef CONFIG_EFI
113 106
114static inline bool efi_is_native(void) 107static inline bool efi_is_native(void)
diff --git a/arch/x86/include/asm/inst.h b/arch/x86/include/asm/inst.h
index 280bf7fb6aba..3e115273ed88 100644
--- a/arch/x86/include/asm/inst.h
+++ b/arch/x86/include/asm/inst.h
@@ -9,12 +9,68 @@
9 9
10#define REG_NUM_INVALID 100 10#define REG_NUM_INVALID 100
11 11
12#define REG_TYPE_R64 0 12#define REG_TYPE_R32 0
13#define REG_TYPE_XMM 1 13#define REG_TYPE_R64 1
14#define REG_TYPE_XMM 2
14#define REG_TYPE_INVALID 100 15#define REG_TYPE_INVALID 100
15 16
17 .macro R32_NUM opd r32
18 \opd = REG_NUM_INVALID
19 .ifc \r32,%eax
20 \opd = 0
21 .endif
22 .ifc \r32,%ecx
23 \opd = 1
24 .endif
25 .ifc \r32,%edx
26 \opd = 2
27 .endif
28 .ifc \r32,%ebx
29 \opd = 3
30 .endif
31 .ifc \r32,%esp
32 \opd = 4
33 .endif
34 .ifc \r32,%ebp
35 \opd = 5
36 .endif
37 .ifc \r32,%esi
38 \opd = 6
39 .endif
40 .ifc \r32,%edi
41 \opd = 7
42 .endif
43#ifdef CONFIG_X86_64
44 .ifc \r32,%r8d
45 \opd = 8
46 .endif
47 .ifc \r32,%r9d
48 \opd = 9
49 .endif
50 .ifc \r32,%r10d
51 \opd = 10
52 .endif
53 .ifc \r32,%r11d
54 \opd = 11
55 .endif
56 .ifc \r32,%r12d
57 \opd = 12
58 .endif
59 .ifc \r32,%r13d
60 \opd = 13
61 .endif
62 .ifc \r32,%r14d
63 \opd = 14
64 .endif
65 .ifc \r32,%r15d
66 \opd = 15
67 .endif
68#endif
69 .endm
70
16 .macro R64_NUM opd r64 71 .macro R64_NUM opd r64
17 \opd = REG_NUM_INVALID 72 \opd = REG_NUM_INVALID
73#ifdef CONFIG_X86_64
18 .ifc \r64,%rax 74 .ifc \r64,%rax
19 \opd = 0 75 \opd = 0
20 .endif 76 .endif
@@ -63,6 +119,7 @@
63 .ifc \r64,%r15 119 .ifc \r64,%r15
64 \opd = 15 120 \opd = 15
65 .endif 121 .endif
122#endif
66 .endm 123 .endm
67 124
68 .macro XMM_NUM opd xmm 125 .macro XMM_NUM opd xmm
@@ -118,10 +175,13 @@
118 .endm 175 .endm
119 176
120 .macro REG_TYPE type reg 177 .macro REG_TYPE type reg
178 R32_NUM reg_type_r32 \reg
121 R64_NUM reg_type_r64 \reg 179 R64_NUM reg_type_r64 \reg
122 XMM_NUM reg_type_xmm \reg 180 XMM_NUM reg_type_xmm \reg
123 .if reg_type_r64 <> REG_NUM_INVALID 181 .if reg_type_r64 <> REG_NUM_INVALID
124 \type = REG_TYPE_R64 182 \type = REG_TYPE_R64
183 .elseif reg_type_r32 <> REG_NUM_INVALID
184 \type = REG_TYPE_R32
125 .elseif reg_type_xmm <> REG_NUM_INVALID 185 .elseif reg_type_xmm <> REG_NUM_INVALID
126 \type = REG_TYPE_XMM 186 \type = REG_TYPE_XMM
127 .else 187 .else
@@ -162,6 +222,16 @@
162 .byte \imm8 222 .byte \imm8
163 .endm 223 .endm
164 224
225 .macro PEXTRD imm8 xmm gpr
226 R32_NUM extrd_opd1 \gpr
227 XMM_NUM extrd_opd2 \xmm
228 PFX_OPD_SIZE
229 PFX_REX extrd_opd1 extrd_opd2
230 .byte 0x0f, 0x3a, 0x16
231 MODRM 0xc0 extrd_opd1 extrd_opd2
232 .byte \imm8
233 .endm
234
165 .macro AESKEYGENASSIST rcon xmm1 xmm2 235 .macro AESKEYGENASSIST rcon xmm1 xmm2
166 XMM_NUM aeskeygen_opd1 \xmm1 236 XMM_NUM aeskeygen_opd1 \xmm1
167 XMM_NUM aeskeygen_opd2 \xmm2 237 XMM_NUM aeskeygen_opd2 \xmm2
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
index ba870bb6dd8e..57873beb3292 100644
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -41,4 +41,9 @@ extern int vector_used_by_percpu_irq(unsigned int vector);
41 41
42extern void init_ISA_irqs(void); 42extern void init_ISA_irqs(void);
43 43
44#ifdef CONFIG_X86_LOCAL_APIC
45void arch_trigger_all_cpu_backtrace(void);
46#define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace
47#endif
48
44#endif /* _ASM_X86_IRQ_H */ 49#endif /* _ASM_X86_IRQ_H */
diff --git a/arch/x86/include/asm/microcode.h b/arch/x86/include/asm/microcode.h
index 6825e2efd1b4..6bc3985ee473 100644
--- a/arch/x86/include/asm/microcode.h
+++ b/arch/x86/include/asm/microcode.h
@@ -60,11 +60,11 @@ static inline void __exit exit_amd_microcode(void) {}
60#ifdef CONFIG_MICROCODE_EARLY 60#ifdef CONFIG_MICROCODE_EARLY
61#define MAX_UCODE_COUNT 128 61#define MAX_UCODE_COUNT 128
62extern void __init load_ucode_bsp(void); 62extern void __init load_ucode_bsp(void);
63extern __init void load_ucode_ap(void); 63extern void __cpuinit load_ucode_ap(void);
64extern int __init save_microcode_in_initrd(void); 64extern int __init save_microcode_in_initrd(void);
65#else 65#else
66static inline void __init load_ucode_bsp(void) {} 66static inline void __init load_ucode_bsp(void) {}
67static inline __init void load_ucode_ap(void) {} 67static inline void __cpuinit load_ucode_ap(void) {}
68static inline int __init save_microcode_in_initrd(void) 68static inline int __init save_microcode_in_initrd(void)
69{ 69{
70 return 0; 70 return 0;
diff --git a/arch/x86/include/asm/nmi.h b/arch/x86/include/asm/nmi.h
index c0fa356e90de..86f9301903c8 100644
--- a/arch/x86/include/asm/nmi.h
+++ b/arch/x86/include/asm/nmi.h
@@ -18,9 +18,7 @@ extern int proc_nmi_enabled(struct ctl_table *, int ,
18 void __user *, size_t *, loff_t *); 18 void __user *, size_t *, loff_t *);
19extern int unknown_nmi_panic; 19extern int unknown_nmi_panic;
20 20
21void arch_trigger_all_cpu_backtrace(void); 21#endif /* CONFIG_X86_LOCAL_APIC */
22#define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace
23#endif
24 22
25#define NMI_FLAG_FIRST 1 23#define NMI_FLAG_FIRST 1
26 24
diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
index 08744242b8d2..c15ddaf90710 100644
--- a/arch/x86/include/uapi/asm/bootparam.h
+++ b/arch/x86/include/uapi/asm/bootparam.h
@@ -6,7 +6,6 @@
6#define SETUP_E820_EXT 1 6#define SETUP_E820_EXT 1
7#define SETUP_DTB 2 7#define SETUP_DTB 2
8#define SETUP_PCI 3 8#define SETUP_PCI 3
9#define SETUP_EFI_VARS 4
10 9
11/* ram_size flags */ 10/* ram_size flags */
12#define RAMDISK_IMAGE_START_MASK 0x07FF 11#define RAMDISK_IMAGE_START_MASK 0x07FF
diff --git a/arch/x86/kernel/apic/hw_nmi.c b/arch/x86/kernel/apic/hw_nmi.c
index 31cb9ae992b7..a698d7165c96 100644
--- a/arch/x86/kernel/apic/hw_nmi.c
+++ b/arch/x86/kernel/apic/hw_nmi.c
@@ -9,6 +9,7 @@
9 * 9 *
10 */ 10 */
11#include <asm/apic.h> 11#include <asm/apic.h>
12#include <asm/nmi.h>
12 13
13#include <linux/cpumask.h> 14#include <linux/cpumask.h>
14#include <linux/kdebug.h> 15#include <linux/kdebug.h>
diff --git a/arch/x86/kernel/cpu/mtrr/cleanup.c b/arch/x86/kernel/cpu/mtrr/cleanup.c
index 35ffda5d0727..5f90b85ff22e 100644
--- a/arch/x86/kernel/cpu/mtrr/cleanup.c
+++ b/arch/x86/kernel/cpu/mtrr/cleanup.c
@@ -714,15 +714,15 @@ int __init mtrr_cleanup(unsigned address_bits)
714 if (mtrr_tom2) 714 if (mtrr_tom2)
715 x_remove_size = (mtrr_tom2 >> PAGE_SHIFT) - x_remove_base; 715 x_remove_size = (mtrr_tom2 >> PAGE_SHIFT) - x_remove_base;
716 716
717 nr_range = x86_get_mtrr_mem_range(range, 0, x_remove_base, x_remove_size);
718 /* 717 /*
719 * [0, 1M) should always be covered by var mtrr with WB 718 * [0, 1M) should always be covered by var mtrr with WB
720 * and fixed mtrrs should take effect before var mtrr for it: 719 * and fixed mtrrs should take effect before var mtrr for it:
721 */ 720 */
722 nr_range = add_range_with_merge(range, RANGE_NUM, nr_range, 0, 721 nr_range = add_range_with_merge(range, RANGE_NUM, 0, 0,
723 1ULL<<(20 - PAGE_SHIFT)); 722 1ULL<<(20 - PAGE_SHIFT));
724 /* Sort the ranges: */ 723 /* add from var mtrr at last */
725 sort_range(range, nr_range); 724 nr_range = x86_get_mtrr_mem_range(range, nr_range,
725 x_remove_base, x_remove_size);
726 726
727 range_sums = sum_ranges(range, nr_range); 727 range_sums = sum_ranges(range, nr_range);
728 printk(KERN_INFO "total RAM covered: %ldM\n", 728 printk(KERN_INFO "total RAM covered: %ldM\n",
diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c
index f60d41ff9a97..a9e22073bd56 100644
--- a/arch/x86/kernel/cpu/perf_event_intel.c
+++ b/arch/x86/kernel/cpu/perf_event_intel.c
@@ -165,13 +165,13 @@ static struct extra_reg intel_snb_extra_regs[] __read_mostly = {
165 INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3f807f8fffull, RSP_0), 165 INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3f807f8fffull, RSP_0),
166 INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3f807f8fffull, RSP_1), 166 INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3f807f8fffull, RSP_1),
167 INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG(0x01cd), 167 INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG(0x01cd),
168 INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG(0x01cd),
169 EVENT_EXTRA_END 168 EVENT_EXTRA_END
170}; 169};
171 170
172static struct extra_reg intel_snbep_extra_regs[] __read_mostly = { 171static struct extra_reg intel_snbep_extra_regs[] __read_mostly = {
173 INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3fffff8fffull, RSP_0), 172 INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3fffff8fffull, RSP_0),
174 INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3fffff8fffull, RSP_1), 173 INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3fffff8fffull, RSP_1),
174 INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG(0x01cd),
175 EVENT_EXTRA_END 175 EVENT_EXTRA_END
176}; 176};
177 177
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index 08f7e8039099..321d65ebaffe 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -115,8 +115,10 @@ startup_64:
115 movq %rdi, %rax 115 movq %rdi, %rax
116 shrq $PUD_SHIFT, %rax 116 shrq $PUD_SHIFT, %rax
117 andl $(PTRS_PER_PUD-1), %eax 117 andl $(PTRS_PER_PUD-1), %eax
118 movq %rdx, (4096+0)(%rbx,%rax,8) 118 movq %rdx, 4096(%rbx,%rax,8)
119 movq %rdx, (4096+8)(%rbx,%rax,8) 119 incl %eax
120 andl $(PTRS_PER_PUD-1), %eax
121 movq %rdx, 4096(%rbx,%rax,8)
120 122
121 addq $8192, %rbx 123 addq $8192, %rbx
122 movq %rdi, %rax 124 movq %rdi, %rax
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
index 245a71db401a..cb339097b9ea 100644
--- a/arch/x86/kernel/i387.c
+++ b/arch/x86/kernel/i387.c
@@ -22,23 +22,19 @@
22/* 22/*
23 * Were we in an interrupt that interrupted kernel mode? 23 * Were we in an interrupt that interrupted kernel mode?
24 * 24 *
25 * For now, with eagerfpu we will return interrupted kernel FPU
26 * state as not-idle. TBD: Ideally we can change the return value
27 * to something like __thread_has_fpu(current). But we need to
28 * be careful of doing __thread_clear_has_fpu() before saving
29 * the FPU etc for supporting nested uses etc. For now, take
30 * the simple route!
31 *
32 * On others, we can do a kernel_fpu_begin/end() pair *ONLY* if that 25 * On others, we can do a kernel_fpu_begin/end() pair *ONLY* if that
33 * pair does nothing at all: the thread must not have fpu (so 26 * pair does nothing at all: the thread must not have fpu (so
34 * that we don't try to save the FPU state), and TS must 27 * that we don't try to save the FPU state), and TS must
35 * be set (so that the clts/stts pair does nothing that is 28 * be set (so that the clts/stts pair does nothing that is
36 * visible in the interrupted kernel thread). 29 * visible in the interrupted kernel thread).
30 *
31 * Except for the eagerfpu case when we return 1 unless we've already
32 * been eager and saved the state in kernel_fpu_begin().
37 */ 33 */
38static inline bool interrupted_kernel_fpu_idle(void) 34static inline bool interrupted_kernel_fpu_idle(void)
39{ 35{
40 if (use_eager_fpu()) 36 if (use_eager_fpu())
41 return 0; 37 return __thread_has_fpu(current);
42 38
43 return !__thread_has_fpu(current) && 39 return !__thread_has_fpu(current) &&
44 (read_cr0() & X86_CR0_TS); 40 (read_cr0() & X86_CR0_TS);
@@ -78,8 +74,8 @@ void __kernel_fpu_begin(void)
78 struct task_struct *me = current; 74 struct task_struct *me = current;
79 75
80 if (__thread_has_fpu(me)) { 76 if (__thread_has_fpu(me)) {
81 __save_init_fpu(me);
82 __thread_clear_has_fpu(me); 77 __thread_clear_has_fpu(me);
78 __save_init_fpu(me);
83 /* We do 'stts()' in __kernel_fpu_end() */ 79 /* We do 'stts()' in __kernel_fpu_end() */
84 } else if (!use_eager_fpu()) { 80 } else if (!use_eager_fpu()) {
85 this_cpu_write(fpu_owner_task, NULL); 81 this_cpu_write(fpu_owner_task, NULL);
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
index d2c381280e3c..3dd37ebd591b 100644
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -242,6 +242,7 @@ void __init kvmclock_init(void)
242 if (!mem) 242 if (!mem)
243 return; 243 return;
244 hv_clock = __va(mem); 244 hv_clock = __va(mem);
245 memset(hv_clock, 0, size);
245 246
246 if (kvm_register_clock("boot clock")) { 247 if (kvm_register_clock("boot clock")) {
247 hv_clock = NULL; 248 hv_clock = NULL;
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index 4e7a37ff03ab..81a5f5e8f142 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -277,18 +277,6 @@ void exit_idle(void)
277} 277}
278#endif 278#endif
279 279
280void arch_cpu_idle_prepare(void)
281{
282 /*
283 * If we're the non-boot CPU, nothing set the stack canary up
284 * for us. CPU0 already has it initialized but no harm in
285 * doing it again. This is a good place for updating it, as
286 * we wont ever return from this function (so the invalid
287 * canaries already on the stack wont ever trigger).
288 */
289 boot_init_stack_canary();
290}
291
292void arch_cpu_idle_enter(void) 280void arch_cpu_idle_enter(void)
293{ 281{
294 local_touch_nmi(); 282 local_touch_nmi();
diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S
index 7a6f3b3be3cf..f2bb9c96720a 100644
--- a/arch/x86/kernel/relocate_kernel_64.S
+++ b/arch/x86/kernel/relocate_kernel_64.S
@@ -160,7 +160,7 @@ identity_mapped:
160 xorq %rbp, %rbp 160 xorq %rbp, %rbp
161 xorq %r8, %r8 161 xorq %r8, %r8
162 xorq %r9, %r9 162 xorq %r9, %r9
163 xorq %r10, %r9 163 xorq %r10, %r10
164 xorq %r11, %r11 164 xorq %r11, %r11
165 xorq %r12, %r12 165 xorq %r12, %r12
166 xorq %r13, %r13 166 xorq %r13, %r13
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 9c73b51817e4..bfd348e99369 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -372,15 +372,15 @@ static bool __cpuinit match_mc(struct cpuinfo_x86 *c, struct cpuinfo_x86 *o)
372 372
373void __cpuinit set_cpu_sibling_map(int cpu) 373void __cpuinit set_cpu_sibling_map(int cpu)
374{ 374{
375 bool has_mc = boot_cpu_data.x86_max_cores > 1;
376 bool has_smt = smp_num_siblings > 1; 375 bool has_smt = smp_num_siblings > 1;
376 bool has_mp = has_smt || boot_cpu_data.x86_max_cores > 1;
377 struct cpuinfo_x86 *c = &cpu_data(cpu); 377 struct cpuinfo_x86 *c = &cpu_data(cpu);
378 struct cpuinfo_x86 *o; 378 struct cpuinfo_x86 *o;
379 int i; 379 int i;
380 380
381 cpumask_set_cpu(cpu, cpu_sibling_setup_mask); 381 cpumask_set_cpu(cpu, cpu_sibling_setup_mask);
382 382
383 if (!has_smt && !has_mc) { 383 if (!has_mp) {
384 cpumask_set_cpu(cpu, cpu_sibling_mask(cpu)); 384 cpumask_set_cpu(cpu, cpu_sibling_mask(cpu));
385 cpumask_set_cpu(cpu, cpu_llc_shared_mask(cpu)); 385 cpumask_set_cpu(cpu, cpu_llc_shared_mask(cpu));
386 cpumask_set_cpu(cpu, cpu_core_mask(cpu)); 386 cpumask_set_cpu(cpu, cpu_core_mask(cpu));
@@ -394,7 +394,7 @@ void __cpuinit set_cpu_sibling_map(int cpu)
394 if ((i == cpu) || (has_smt && match_smt(c, o))) 394 if ((i == cpu) || (has_smt && match_smt(c, o)))
395 link_mask(sibling, cpu, i); 395 link_mask(sibling, cpu, i);
396 396
397 if ((i == cpu) || (has_mc && match_llc(c, o))) 397 if ((i == cpu) || (has_mp && match_llc(c, o)))
398 link_mask(llc_shared, cpu, i); 398 link_mask(llc_shared, cpu, i);
399 399
400 } 400 }
@@ -406,7 +406,7 @@ void __cpuinit set_cpu_sibling_map(int cpu)
406 for_each_cpu(i, cpu_sibling_setup_mask) { 406 for_each_cpu(i, cpu_sibling_setup_mask) {
407 o = &cpu_data(i); 407 o = &cpu_data(i);
408 408
409 if ((i == cpu) || (has_mc && match_mc(c, o))) { 409 if ((i == cpu) || (has_mp && match_mc(c, o))) {
410 link_mask(core, cpu, i); 410 link_mask(core, cpu, i);
411 411
412 /* 412 /*
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 8db0010ed150..5953dcea752d 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -1240,9 +1240,12 @@ static int decode_modrm(struct x86_emulate_ctxt *ctxt,
1240 ctxt->modrm_seg = VCPU_SREG_DS; 1240 ctxt->modrm_seg = VCPU_SREG_DS;
1241 1241
1242 if (ctxt->modrm_mod == 3) { 1242 if (ctxt->modrm_mod == 3) {
1243 int highbyte_regs = ctxt->rex_prefix == 0;
1244
1243 op->type = OP_REG; 1245 op->type = OP_REG;
1244 op->bytes = (ctxt->d & ByteOp) ? 1 : ctxt->op_bytes; 1246 op->bytes = (ctxt->d & ByteOp) ? 1 : ctxt->op_bytes;
1245 op->addr.reg = decode_register(ctxt, ctxt->modrm_rm, ctxt->d & ByteOp); 1247 op->addr.reg = decode_register(ctxt, ctxt->modrm_rm,
1248 highbyte_regs && (ctxt->d & ByteOp));
1246 if (ctxt->d & Sse) { 1249 if (ctxt->d & Sse) {
1247 op->type = OP_XMM; 1250 op->type = OP_XMM;
1248 op->bytes = 16; 1251 op->bytes = 16;
@@ -3997,7 +4000,8 @@ static const struct opcode twobyte_table[256] = {
3997 DI(ImplicitOps | Priv, invd), DI(ImplicitOps | Priv, wbinvd), N, N, 4000 DI(ImplicitOps | Priv, invd), DI(ImplicitOps | Priv, wbinvd), N, N,
3998 N, D(ImplicitOps | ModRM), N, N, 4001 N, D(ImplicitOps | ModRM), N, N,
3999 /* 0x10 - 0x1F */ 4002 /* 0x10 - 0x1F */
4000 N, N, N, N, N, N, N, N, D(ImplicitOps | ModRM), N, N, N, N, N, N, N, 4003 N, N, N, N, N, N, N, N,
4004 D(ImplicitOps | ModRM), N, N, N, N, N, N, D(ImplicitOps | ModRM),
4001 /* 0x20 - 0x2F */ 4005 /* 0x20 - 0x2F */
4002 DIP(ModRM | DstMem | Priv | Op3264, cr_read, check_cr_read), 4006 DIP(ModRM | DstMem | Priv | Op3264, cr_read, check_cr_read),
4003 DIP(ModRM | DstMem | Priv | Op3264, dr_read, check_dr_read), 4007 DIP(ModRM | DstMem | Priv | Op3264, dr_read, check_dr_read),
@@ -4836,6 +4840,7 @@ twobyte_insn:
4836 case 0x08: /* invd */ 4840 case 0x08: /* invd */
4837 case 0x0d: /* GrpP (prefetch) */ 4841 case 0x0d: /* GrpP (prefetch) */
4838 case 0x18: /* Grp16 (prefetch/nop) */ 4842 case 0x18: /* Grp16 (prefetch/nop) */
4843 case 0x1f: /* nop */
4839 break; 4844 break;
4840 case 0x20: /* mov cr, reg */ 4845 case 0x20: /* mov cr, reg */
4841 ctxt->dst.val = ops->get_cr(ctxt, ctxt->modrm_reg); 4846 ctxt->dst.val = ops->get_cr(ctxt, ctxt->modrm_reg);
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index e1adbb4aca75..0eee2c8b64d1 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -1861,11 +1861,14 @@ void kvm_apic_accept_events(struct kvm_vcpu *vcpu)
1861{ 1861{
1862 struct kvm_lapic *apic = vcpu->arch.apic; 1862 struct kvm_lapic *apic = vcpu->arch.apic;
1863 unsigned int sipi_vector; 1863 unsigned int sipi_vector;
1864 unsigned long pe;
1864 1865
1865 if (!kvm_vcpu_has_lapic(vcpu)) 1866 if (!kvm_vcpu_has_lapic(vcpu) || !apic->pending_events)
1866 return; 1867 return;
1867 1868
1868 if (test_and_clear_bit(KVM_APIC_INIT, &apic->pending_events)) { 1869 pe = xchg(&apic->pending_events, 0);
1870
1871 if (test_bit(KVM_APIC_INIT, &pe)) {
1869 kvm_lapic_reset(vcpu); 1872 kvm_lapic_reset(vcpu);
1870 kvm_vcpu_reset(vcpu); 1873 kvm_vcpu_reset(vcpu);
1871 if (kvm_vcpu_is_bsp(apic->vcpu)) 1874 if (kvm_vcpu_is_bsp(apic->vcpu))
@@ -1873,7 +1876,7 @@ void kvm_apic_accept_events(struct kvm_vcpu *vcpu)
1873 else 1876 else
1874 vcpu->arch.mp_state = KVM_MP_STATE_INIT_RECEIVED; 1877 vcpu->arch.mp_state = KVM_MP_STATE_INIT_RECEIVED;
1875 } 1878 }
1876 if (test_and_clear_bit(KVM_APIC_SIPI, &apic->pending_events) && 1879 if (test_bit(KVM_APIC_SIPI, &pe) &&
1877 vcpu->arch.mp_state == KVM_MP_STATE_INIT_RECEIVED) { 1880 vcpu->arch.mp_state == KVM_MP_STATE_INIT_RECEIVED) {
1878 /* evaluate pending_events before reading the vector */ 1881 /* evaluate pending_events before reading the vector */
1879 smp_rmb(); 1882 smp_rmb();
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 094b5d96ab14..e8ba99c34180 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -582,8 +582,6 @@ int __kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr)
582 if (index != XCR_XFEATURE_ENABLED_MASK) 582 if (index != XCR_XFEATURE_ENABLED_MASK)
583 return 1; 583 return 1;
584 xcr0 = xcr; 584 xcr0 = xcr;
585 if (kvm_x86_ops->get_cpl(vcpu) != 0)
586 return 1;
587 if (!(xcr0 & XSTATE_FP)) 585 if (!(xcr0 & XSTATE_FP))
588 return 1; 586 return 1;
589 if ((xcr0 & XSTATE_YMM) && !(xcr0 & XSTATE_SSE)) 587 if ((xcr0 & XSTATE_YMM) && !(xcr0 & XSTATE_SSE))
@@ -597,7 +595,8 @@ int __kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr)
597 595
598int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr) 596int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr)
599{ 597{
600 if (__kvm_set_xcr(vcpu, index, xcr)) { 598 if (kvm_x86_ops->get_cpl(vcpu) != 0 ||
599 __kvm_set_xcr(vcpu, index, xcr)) {
601 kvm_inject_gp(vcpu, 0); 600 kvm_inject_gp(vcpu, 0);
602 return 1; 601 return 1;
603 } 602 }
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index eaac1743def7..1f34e9219775 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -277,6 +277,9 @@ static int __meminit split_mem_range(struct map_range *mr, int nr_range,
277 end_pfn = limit_pfn; 277 end_pfn = limit_pfn;
278 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0); 278 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0);
279 279
280 if (!after_bootmem)
281 adjust_range_page_size_mask(mr, nr_range);
282
280 /* try to merge same page size and continuous */ 283 /* try to merge same page size and continuous */
281 for (i = 0; nr_range > 1 && i < nr_range - 1; i++) { 284 for (i = 0; nr_range > 1 && i < nr_range - 1; i++) {
282 unsigned long old_start; 285 unsigned long old_start;
@@ -291,9 +294,6 @@ static int __meminit split_mem_range(struct map_range *mr, int nr_range,
291 nr_range--; 294 nr_range--;
292 } 295 }
293 296
294 if (!after_bootmem)
295 adjust_range_page_size_mask(mr, nr_range);
296
297 for (i = 0; i < nr_range; i++) 297 for (i = 0; i < nr_range; i++)
298 printk(KERN_DEBUG " [mem %#010lx-%#010lx] page %s\n", 298 printk(KERN_DEBUG " [mem %#010lx-%#010lx] page %s\n",
299 mr[i].start, mr[i].end - 1, 299 mr[i].start, mr[i].end - 1,
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index 305c68b8d538..981c2dbd72cc 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -628,7 +628,9 @@ int pcibios_add_device(struct pci_dev *dev)
628 628
629 pa_data = boot_params.hdr.setup_data; 629 pa_data = boot_params.hdr.setup_data;
630 while (pa_data) { 630 while (pa_data) {
631 data = phys_to_virt(pa_data); 631 data = ioremap(pa_data, sizeof(*rom));
632 if (!data)
633 return -ENOMEM;
632 634
633 if (data->type == SETUP_PCI) { 635 if (data->type == SETUP_PCI) {
634 rom = (struct pci_setup_rom *)data; 636 rom = (struct pci_setup_rom *)data;
@@ -645,6 +647,7 @@ int pcibios_add_device(struct pci_dev *dev)
645 } 647 }
646 } 648 }
647 pa_data = data->next; 649 pa_data = data->next;
650 iounmap(data);
648 } 651 }
649 return 0; 652 return 0;
650} 653}
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 55856b2310d3..d2fbcedcf6ea 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -42,7 +42,6 @@
42#include <linux/io.h> 42#include <linux/io.h>
43#include <linux/reboot.h> 43#include <linux/reboot.h>
44#include <linux/bcd.h> 44#include <linux/bcd.h>
45#include <linux/ucs2_string.h>
46 45
47#include <asm/setup.h> 46#include <asm/setup.h>
48#include <asm/efi.h> 47#include <asm/efi.h>
@@ -54,12 +53,12 @@
54 53
55#define EFI_DEBUG 1 54#define EFI_DEBUG 1
56 55
57/* 56#define EFI_MIN_RESERVE 5120
58 * There's some additional metadata associated with each 57
59 * variable. Intel's reference implementation is 60 bytes - bump that 58#define EFI_DUMMY_GUID \
60 * to account for potential alignment constraints 59 EFI_GUID(0x4424ac57, 0xbe4b, 0x47dd, 0x9e, 0x97, 0xed, 0x50, 0xf0, 0x9f, 0x92, 0xa9)
61 */ 60
62#define VAR_METADATA_SIZE 64 61static efi_char16_t efi_dummy_name[6] = { 'D', 'U', 'M', 'M', 'Y', 0 };
63 62
64struct efi __read_mostly efi = { 63struct efi __read_mostly efi = {
65 .mps = EFI_INVALID_TABLE_ADDR, 64 .mps = EFI_INVALID_TABLE_ADDR,
@@ -79,13 +78,6 @@ struct efi_memory_map memmap;
79static struct efi efi_phys __initdata; 78static struct efi efi_phys __initdata;
80static efi_system_table_t efi_systab __initdata; 79static efi_system_table_t efi_systab __initdata;
81 80
82static u64 efi_var_store_size;
83static u64 efi_var_remaining_size;
84static u64 efi_var_max_var_size;
85static u64 boot_used_size;
86static u64 boot_var_size;
87static u64 active_size;
88
89unsigned long x86_efi_facility; 81unsigned long x86_efi_facility;
90 82
91/* 83/*
@@ -188,53 +180,8 @@ static efi_status_t virt_efi_get_next_variable(unsigned long *name_size,
188 efi_char16_t *name, 180 efi_char16_t *name,
189 efi_guid_t *vendor) 181 efi_guid_t *vendor)
190{ 182{
191 efi_status_t status; 183 return efi_call_virt3(get_next_variable,
192 static bool finished = false; 184 name_size, name, vendor);
193 static u64 var_size;
194
195 status = efi_call_virt3(get_next_variable,
196 name_size, name, vendor);
197
198 if (status == EFI_NOT_FOUND) {
199 finished = true;
200 if (var_size < boot_used_size) {
201 boot_var_size = boot_used_size - var_size;
202 active_size += boot_var_size;
203 } else {
204 printk(KERN_WARNING FW_BUG "efi: Inconsistent initial sizes\n");
205 }
206 }
207
208 if (boot_used_size && !finished) {
209 unsigned long size;
210 u32 attr;
211 efi_status_t s;
212 void *tmp;
213
214 s = virt_efi_get_variable(name, vendor, &attr, &size, NULL);
215
216 if (s != EFI_BUFFER_TOO_SMALL || !size)
217 return status;
218
219 tmp = kmalloc(size, GFP_ATOMIC);
220
221 if (!tmp)
222 return status;
223
224 s = virt_efi_get_variable(name, vendor, &attr, &size, tmp);
225
226 if (s == EFI_SUCCESS && (attr & EFI_VARIABLE_NON_VOLATILE)) {
227 var_size += size;
228 var_size += ucs2_strsize(name, 1024);
229 active_size += size;
230 active_size += VAR_METADATA_SIZE;
231 active_size += ucs2_strsize(name, 1024);
232 }
233
234 kfree(tmp);
235 }
236
237 return status;
238} 185}
239 186
240static efi_status_t virt_efi_set_variable(efi_char16_t *name, 187static efi_status_t virt_efi_set_variable(efi_char16_t *name,
@@ -243,34 +190,9 @@ static efi_status_t virt_efi_set_variable(efi_char16_t *name,
243 unsigned long data_size, 190 unsigned long data_size,
244 void *data) 191 void *data)
245{ 192{
246 efi_status_t status; 193 return efi_call_virt5(set_variable,
247 u32 orig_attr = 0; 194 name, vendor, attr,
248 unsigned long orig_size = 0; 195 data_size, data);
249
250 status = virt_efi_get_variable(name, vendor, &orig_attr, &orig_size,
251 NULL);
252
253 if (status != EFI_BUFFER_TOO_SMALL)
254 orig_size = 0;
255
256 status = efi_call_virt5(set_variable,
257 name, vendor, attr,
258 data_size, data);
259
260 if (status == EFI_SUCCESS) {
261 if (orig_size) {
262 active_size -= orig_size;
263 active_size -= ucs2_strsize(name, 1024);
264 active_size -= VAR_METADATA_SIZE;
265 }
266 if (data_size) {
267 active_size += data_size;
268 active_size += ucs2_strsize(name, 1024);
269 active_size += VAR_METADATA_SIZE;
270 }
271 }
272
273 return status;
274} 196}
275 197
276static efi_status_t virt_efi_query_variable_info(u32 attr, 198static efi_status_t virt_efi_query_variable_info(u32 attr,
@@ -786,9 +708,6 @@ void __init efi_init(void)
786 char vendor[100] = "unknown"; 708 char vendor[100] = "unknown";
787 int i = 0; 709 int i = 0;
788 void *tmp; 710 void *tmp;
789 struct setup_data *data;
790 struct efi_var_bootdata *efi_var_data;
791 u64 pa_data;
792 711
793#ifdef CONFIG_X86_32 712#ifdef CONFIG_X86_32
794 if (boot_params.efi_info.efi_systab_hi || 713 if (boot_params.efi_info.efi_systab_hi ||
@@ -806,22 +725,6 @@ void __init efi_init(void)
806 if (efi_systab_init(efi_phys.systab)) 725 if (efi_systab_init(efi_phys.systab))
807 return; 726 return;
808 727
809 pa_data = boot_params.hdr.setup_data;
810 while (pa_data) {
811 data = early_ioremap(pa_data, sizeof(*efi_var_data));
812 if (data->type == SETUP_EFI_VARS) {
813 efi_var_data = (struct efi_var_bootdata *)data;
814
815 efi_var_store_size = efi_var_data->store_size;
816 efi_var_remaining_size = efi_var_data->remaining_size;
817 efi_var_max_var_size = efi_var_data->max_var_size;
818 }
819 pa_data = data->next;
820 early_iounmap(data, sizeof(*efi_var_data));
821 }
822
823 boot_used_size = efi_var_store_size - efi_var_remaining_size;
824
825 set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility); 728 set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility);
826 729
827 /* 730 /*
@@ -1085,6 +988,13 @@ void __init efi_enter_virtual_mode(void)
1085 runtime_code_page_mkexec(); 988 runtime_code_page_mkexec();
1086 989
1087 kfree(new_memmap); 990 kfree(new_memmap);
991
992 /* clean DUMMY object */
993 efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID,
994 EFI_VARIABLE_NON_VOLATILE |
995 EFI_VARIABLE_BOOTSERVICE_ACCESS |
996 EFI_VARIABLE_RUNTIME_ACCESS,
997 0, NULL);
1088} 998}
1089 999
1090/* 1000/*
@@ -1136,33 +1046,70 @@ efi_status_t efi_query_variable_store(u32 attributes, unsigned long size)
1136 efi_status_t status; 1046 efi_status_t status;
1137 u64 storage_size, remaining_size, max_size; 1047 u64 storage_size, remaining_size, max_size;
1138 1048
1049 if (!(attributes & EFI_VARIABLE_NON_VOLATILE))
1050 return 0;
1051
1139 status = efi.query_variable_info(attributes, &storage_size, 1052 status = efi.query_variable_info(attributes, &storage_size,
1140 &remaining_size, &max_size); 1053 &remaining_size, &max_size);
1141 if (status != EFI_SUCCESS) 1054 if (status != EFI_SUCCESS)
1142 return status; 1055 return status;
1143 1056
1144 if (!max_size && remaining_size > size)
1145 printk_once(KERN_ERR FW_BUG "Broken EFI implementation"
1146 " is returning MaxVariableSize=0\n");
1147 /* 1057 /*
1148 * Some firmware implementations refuse to boot if there's insufficient 1058 * Some firmware implementations refuse to boot if there's insufficient
1149 * space in the variable store. We account for that by refusing the 1059 * space in the variable store. We account for that by refusing the
1150 * write if permitting it would reduce the available space to under 1060 * write if permitting it would reduce the available space to under
1151 * 50%. However, some firmware won't reclaim variable space until 1061 * 5KB. This figure was provided by Samsung, so should be safe.
1152 * after the used (not merely the actively used) space drops below
1153 * a threshold. We can approximate that case with the value calculated
1154 * above. If both the firmware and our calculations indicate that the
1155 * available space would drop below 50%, refuse the write.
1156 */ 1062 */
1063 if ((remaining_size - size < EFI_MIN_RESERVE) &&
1064 !efi_no_storage_paranoia) {
1065
1066 /*
1067 * Triggering garbage collection may require that the firmware
1068 * generate a real EFI_OUT_OF_RESOURCES error. We can force
1069 * that by attempting to use more space than is available.
1070 */
1071 unsigned long dummy_size = remaining_size + 1024;
1072 void *dummy = kzalloc(dummy_size, GFP_ATOMIC);
1073
1074 if (!dummy)
1075 return EFI_OUT_OF_RESOURCES;
1076
1077 status = efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID,
1078 EFI_VARIABLE_NON_VOLATILE |
1079 EFI_VARIABLE_BOOTSERVICE_ACCESS |
1080 EFI_VARIABLE_RUNTIME_ACCESS,
1081 dummy_size, dummy);
1082
1083 if (status == EFI_SUCCESS) {
1084 /*
1085 * This should have failed, so if it didn't make sure
1086 * that we delete it...
1087 */
1088 efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID,
1089 EFI_VARIABLE_NON_VOLATILE |
1090 EFI_VARIABLE_BOOTSERVICE_ACCESS |
1091 EFI_VARIABLE_RUNTIME_ACCESS,
1092 0, dummy);
1093 }
1094
1095 kfree(dummy);
1157 1096
1158 if (!storage_size || size > remaining_size || 1097 /*
1159 (max_size && size > max_size)) 1098 * The runtime code may now have triggered a garbage collection
1160 return EFI_OUT_OF_RESOURCES; 1099 * run, so check the variable info again
1100 */
1101 status = efi.query_variable_info(attributes, &storage_size,
1102 &remaining_size, &max_size);
1161 1103
1162 if (!efi_no_storage_paranoia && 1104 if (status != EFI_SUCCESS)
1163 ((active_size + size + VAR_METADATA_SIZE > storage_size / 2) && 1105 return status;
1164 (remaining_size - size < storage_size / 2))) 1106
1165 return EFI_OUT_OF_RESOURCES; 1107 /*
1108 * There still isn't enough room, so return an error
1109 */
1110 if (remaining_size - size < EFI_MIN_RESERVE)
1111 return EFI_OUT_OF_RESOURCES;
1112 }
1166 1113
1167 return EFI_SUCCESS; 1114 return EFI_SUCCESS;
1168} 1115}
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 590be1090892..f7bab68a4b83 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -42,9 +42,6 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = {
42 "^(xen_irq_disable_direct_reloc$|" 42 "^(xen_irq_disable_direct_reloc$|"
43 "xen_save_fl_direct_reloc$|" 43 "xen_save_fl_direct_reloc$|"
44 "VDSO|" 44 "VDSO|"
45#if ELF_BITS == 64
46 "__vvar_page|"
47#endif
48 "__crc_)", 45 "__crc_)",
49 46
50/* 47/*
@@ -72,6 +69,7 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = {
72 "__per_cpu_load|" 69 "__per_cpu_load|"
73 "init_per_cpu__.*|" 70 "init_per_cpu__.*|"
74 "__end_rodata_hpage_align|" 71 "__end_rodata_hpage_align|"
72 "__vvar_page|"
75#endif 73#endif
76 "_end)$" 74 "_end)$"
77}; 75};
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 8ff37995d54e..d99cae8147d1 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -17,6 +17,7 @@
17#include <linux/slab.h> 17#include <linux/slab.h>
18#include <linux/smp.h> 18#include <linux/smp.h>
19#include <linux/irq_work.h> 19#include <linux/irq_work.h>
20#include <linux/tick.h>
20 21
21#include <asm/paravirt.h> 22#include <asm/paravirt.h>
22#include <asm/desc.h> 23#include <asm/desc.h>
@@ -447,6 +448,13 @@ static void __cpuinit xen_play_dead(void) /* used only with HOTPLUG_CPU */
447 play_dead_common(); 448 play_dead_common();
448 HYPERVISOR_vcpu_op(VCPUOP_down, smp_processor_id(), NULL); 449 HYPERVISOR_vcpu_op(VCPUOP_down, smp_processor_id(), NULL);
449 cpu_bringup(); 450 cpu_bringup();
451 /*
452 * commit 4b0c0f294 (tick: Cleanup NOHZ per cpu data on cpu down)
453 * clears certain data that the cpu_idle loop (which called us
454 * and that we return from) expects. The only way to get that
455 * data back is to call:
456 */
457 tick_nohz_idle_enter();
450} 458}
451 459
452#else /* !CONFIG_HOTPLUG_CPU */ 460#else /* !CONFIG_HOTPLUG_CPU */
@@ -576,24 +584,22 @@ void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
576{ 584{
577 unsigned cpu; 585 unsigned cpu;
578 unsigned int this_cpu = smp_processor_id(); 586 unsigned int this_cpu = smp_processor_id();
587 int xen_vector = xen_map_vector(vector);
579 588
580 if (!(num_online_cpus() > 1)) 589 if (!(num_online_cpus() > 1) || (xen_vector < 0))
581 return; 590 return;
582 591
583 for_each_cpu_and(cpu, mask, cpu_online_mask) { 592 for_each_cpu_and(cpu, mask, cpu_online_mask) {
584 if (this_cpu == cpu) 593 if (this_cpu == cpu)
585 continue; 594 continue;
586 595
587 xen_smp_send_call_function_single_ipi(cpu); 596 xen_send_IPI_one(cpu, xen_vector);
588 } 597 }
589} 598}
590 599
591void xen_send_IPI_allbutself(int vector) 600void xen_send_IPI_allbutself(int vector)
592{ 601{
593 int xen_vector = xen_map_vector(vector); 602 xen_send_IPI_mask_allbutself(cpu_online_mask, vector);
594
595 if (xen_vector >= 0)
596 xen_send_IPI_mask_allbutself(cpu_online_mask, xen_vector);
597} 603}
598 604
599static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id) 605static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id)
diff --git a/arch/x86/xen/smp.h b/arch/x86/xen/smp.h
index 8981a76d081a..c7c2d89efd76 100644
--- a/arch/x86/xen/smp.h
+++ b/arch/x86/xen/smp.h
@@ -5,7 +5,6 @@ extern void xen_send_IPI_mask(const struct cpumask *mask,
5extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask, 5extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
6 int vector); 6 int vector);
7extern void xen_send_IPI_allbutself(int vector); 7extern void xen_send_IPI_allbutself(int vector);
8extern void physflat_send_IPI_allbutself(int vector);
9extern void xen_send_IPI_all(int vector); 8extern void xen_send_IPI_all(int vector);
10extern void xen_send_IPI_self(int vector); 9extern void xen_send_IPI_self(int vector);
11 10