summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2018-10-02x86/platform/uv: Provide is_early_uv_system()Mike Travis
Introduce is_early_uv_system() which uses efi.uv_systab to decide early in the boot process whether the kernel runs on a UV system. This is needed to skip other early setup/init code that might break the UV platform if done too early such as before necessary ACPI tables parsing takes place. Suggested-by: Hedi Berriche <hedi.berriche@hpe.com> Signed-off-by: Mike Travis <mike.travis@hpe.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Russ Anderson <rja@hpe.com> Reviewed-by: Dimitri Sivanich <sivanich@hpe.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Russ Anderson <russ.anderson@hpe.com> Cc: Dimitri Sivanich <dimitri.sivanich@hpe.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Kate Stewart <kstewart@linuxfoundation.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Philippe Ombredanne <pombredanne@nexb.com> Cc: Pavel Tatashin <pasha.tatashin@oracle.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Len Brown <len.brown@intel.com> Cc: Dou Liyang <douly.fnst@cn.fujitsu.com> Cc: Xiaoming Gao <gxm.linux.kernel@gmail.com> Cc: Rajvi Jingar <rajvi.jingar@intel.com> Link: https://lkml.kernel.org/r/20181002180144.801700401@stormcage.americas.sgi.com
2018-10-02x86/earlyprintk: Add a force option for pciserial deviceFeng Tang
The "pciserial" earlyprintk variant helps much on many modern x86 platforms, but unfortunately there are still some platforms with PCI UART devices which have the wrong PCI class code. In that case, the current class code check does not allow for them to be used for logging. Add a sub-option "force" which overrides the class code check and thus the use of such device can be enforced. [ bp: massage formulations. ] Suggested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "Stuart R . Anderson" <stuart.r.anderson@intel.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: David Rientjes <rientjes@google.com> Cc: Feng Tang <feng.tang@intel.com> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: H Peter Anvin <hpa@linux.intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Kai-Heng Feng <kai.heng.feng@canonical.com> Cc: Kate Stewart <kstewart@linuxfoundation.org> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Philippe Ombredanne <pombredanne@nexb.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Thymo van Beers <thymovanbeers@gmail.com> Cc: alan@linux.intel.com Cc: linux-doc@vger.kernel.org Link: http://lkml.kernel.org/r/20181002164921.25833-1-feng.tang@intel.com
2018-10-02clk: davinci: kill davinci_clk_reset_assert/deassert()Bartosz Golaszewski
This code is no longer used. Remove it. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: David Lechner <david@lechnology.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2018-10-02arm64: dts: marvell: add AP806 SEI subnodeMiquel Raynal
Add the System Error Interrupt node, representing an IRQ chip which is part of the GIC. The SEI node aggregates interrupts from the AP through wired interrupts, and from the CPs through MSIs. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-10-02arm64: dts: marvell: add CPU Idle power state support on Armada 7K/8Korenbh
This patch adds CPU deep Idle and Cluster deep Idle states BUT it defines the idle state for each cpu (defined under cpu-idle-states parameter) only for the quad version therefore it does NOT activate CPU Idle capability for the other version. [gregory: extract from a larger patch] Signed-off-by: orenbh <orenbh@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-10-02arm64: dts: marvell: Add node labels for the cpusGregory CLEMENT
Aligned with what we have done for the others nodes. It will also allow to easily modify the cpu configuration at board (or sub-SoC) level. Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-10-02microblaze: enable building all dtbsRob Herring
Enable the 'dtbs' target for microblaze. As microblaze only has one dts file, always enable it. Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02c6x: enable building all dtbsRob Herring
Enable the 'dtbs' target for c6x. This allows building all the dts files in arch/c6x/boot/dts/ for enabled platforms or when COMPILE_TEST and OF_ALL_DTBS are enabled. Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: linux-c6x-dev@linux-c6x.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02powerpc: enable building all dtbsRob Herring
Enable the 'dtbs' target for powerpc. This allows building all the dts files in arch/powerpc/boot/dts/ when COMPILE_TEST and OF_ALL_DTBS are enabled. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02kbuild: consolidate Devicetree dtb build rulesRob Herring
There is nothing arch specific about building dtb files other than their location under /arch/*/boot/dts/. Keeping each arch aligned is a pain. The dependencies and supported targets are all slightly different. Also, a cross-compiler for each arch is needed, but really the host compiler preprocessor is perfectly fine for building dtbs. Move the build rules to a common location and remove the arch specific ones. This is done in a single step to avoid warnings about overriding rules. The build dependencies had been a mixture of 'scripts' and/or 'prepare'. These pull in several dependencies some of which need a target compiler (specifically devicetable-offsets.h) and aren't needed to build dtbs. All that is really needed is dtc, so adjust the dependencies to only be dtc. This change enables support 'dtbs_install' on some arches which were missing the target. Acked-by: Will Deacon <will.deacon@arm.com> Acked-by: Paul Burton <paul.burton@mips.com> Acked-by: Ley Foon Tan <ley.foon.tan@intel.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Michal Marek <michal.lkml@markovi.net> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Michal Simek <monstr@monstr.eu> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: James Hogan <jhogan@kernel.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Chris Zankel <chris@zankel.net> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: linux-kbuild@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: linux-mips@linux-mips.org Cc: nios2-dev@lists.rocketboards.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-xtensa@linux-xtensa.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02c6x: use common built-in dtb supportRob Herring
Using the common build support for built-in dtb files just requires adding a .dtb.o target to obj-y. The dtb now needs to be copied when unflattened because an init section is used now. Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: linux-c6x-dev@linux-c6x.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02nios2: fix building all dtbsRob Herring
nios2 has a 'dtbs' target, but nothing is added to 'dtb-*' targets and no dtbs were getting built. This enables building all the dts files in arch/nios2/boot/dts/ when COMPILE_TEST and OF_ALL_DTBS are enabled. Cc: Ley Foon Tan <lftan@altera.com> Cc: nios2-dev@lists.rocketboards.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02nios2: use common rules to build built-in dtbRob Herring
Using the common build support for built-in dtb files just requires adding a .dtb.o target to obj-y. This has the side effect that CONFIG_NIOS2_DTB_SOURCE should now be just the dts filename in arch/nios2/boot/dts/ directory. Before any path was supported, but if you want to build in your dtb to the kernel, it should be in the kernel tree. Cc: Ley Foon Tan <lftan@altera.com> Cc: nios2-dev@lists.rocketboards.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02nios2: build .dtb files in dts directoryRob Herring
Align nios2 with other architectures which build the dtb files in the same directory as the dts files. This is also in line with most other build targets which are located in the same directory as the source. This move will help enable the 'dtbs' target which builds all the dtbs regardless of kernel config. This transition could break some scripts if they expect dtb files in the old location. Cc: Ley Foon Tan <lftan@altera.com> Cc: nios2-dev@lists.rocketboards.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02powerpc: build .dtb files in dts directoryRob Herring
Align powerpc with other architectures which build the dtb files in the same directory as the dts files. This is also in line with most other build targets which are located in the same directory as the source. This move will help enable the 'dtbs' target which builds all the dtbs regardless of kernel config. This transition could break some scripts if they expect dtb files in the old location. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-10-02powerpc/lib: fix book3s/32 boot failure due to code patchingChristophe Leroy
Commit 51c3c62b58b3 ("powerpc: Avoid code patching freed init sections") accesses 'init_mem_is_free' flag too early, before the kernel is relocated. This provokes early boot failure (before the console is active). As it is not necessary to do this verification that early, this patch moves the test into patch_instruction() instead of __patch_instruction(). This modification also has the advantage of avoiding unnecessary remappings. Fixes: 51c3c62b58b3 ("powerpc: Avoid code patching freed init sections") Cc: stable@vger.kernel.org # 4.13+ Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-10-02KVM: PPC: Inform the userspace about TCE update failuresAlexey Kardashevskiy
We return H_TOO_HARD from TCE update handlers when we think that the next handler (realmode -> virtual mode -> user mode) has a chance to handle the request; H_HARDWARE/H_CLOSED otherwise. This changes the handlers to return H_TOO_HARD on every error giving the userspace an opportunity to handle any request or at least log them all. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-10-02KVM: PPC: Validate all tces before updating tablesAlexey Kardashevskiy
The KVM TCE handlers are written in a way so they fail when either something went horribly wrong or the userspace did some obvious mistake such as passing a misaligned address. We are going to enhance the TCE checker to fail on attempts to map bigger IOMMU page than the underlying pinned memory so let's valitate TCE beforehand. This should cause no behavioral change. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-10-02Merge branch 'kvm-ppc-fixes' of paulus/powerpc into topic/ppc-kvmMichael Ellerman
Some commits we'd like to share between the powerpc and kvm-ppc tree for next have dependencies on commits that went into 4.19 via the kvm-ppc-fixes branch and weren't merged before 4.19-rc3, which is our base commit. So merge the kvm-ppc-fixes branch into topic/ppc-kvm.
2018-10-02arm64: marvell: Enable SEI driverMiquel Raynal
Enable the newly introduced Marvell SEI driver for the 64-bit Marvell EBU platforms. Suggested-by: Haim Boot <hayim@marvell.com> Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-10-02Merge tag 'mvebu-soc-4.20-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/soc mvebu soc for 4.20 (part 1) - use dt_fixup to provide fallback for enable-method for Armada XP - document the marvell,prestera compatible string - update Thomas Petazzoni email in MAINTAINERS file * tag 'mvebu-soc-4.20-1' of git://git.infradead.org/linux-mvebu: dt-bindings: marvell,prestera: Add common compatible string MAINTAINERS: replace free-electrons.com by bootlin.com for Thomas Petazzoni ARM: mvebu: use dt_fixup to provide fallback for enable-method Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'imx-soc-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc i.MX SoC update for 4.20: - Add ipg clock support in MMDC driver for registers access, so that we will be safe even if the clock is not turned on by firmware. - Register pm_power_off handler to provide power off support for iMX6 based boards with external PMIC. - Add platform code support for i.MX 6ULZ SoC which is a derivative of i.MX6ULL with some modules removed. * tag 'imx-soc-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: add i.mx6ulz msl support ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set ARM: imx: add mmdc ipg clock operation for mmdc Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'actions-arm64-soc-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions into next/soc Actions Semi arm64 SoC for v4.20 This updates and extends the MAINTAINERS entry, adding Mani. It also selects PINCTRL in Kconfig. * tag 'actions-arm64-soc-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions: arm64: actions: Enable PINCTRL in platforms Kconfig MAINTAINERS: Add entry for Actions Semi Owl SoCs DMA driver MAINTAINERS: Add entry for Actions Semiconductor Owl I2C driver MAINTAINERS: Update clock binding entry for Actions Semi Owl SoCs MAINTAINERS: Add Actions Semi S900 clk entries MAINTAINERS: Add reviewer for ACTIONS platforms Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'omap-for-v4.20/dt-signed-v2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Devicetree changes for omap variants This branch contains a series of improvments for omap3-gta04 phone, and a series of clean-up for am335x to remove the deprecated phy_id property. The rest is to configure am57xx-idk boards for leds, load trigger, and smps, am3517-evm audio configuration, beaglebone hdmi cec support, coresight binding update, and fixes for i2c and spi warnings. * tag 'omap-for-v4.20/dt-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (70 commits) ARM: dts: add omap3-gta04a5one to Makefile ARM: dts: omap3-gta04: add pulldown/up settings for twl4030 gpio ARM: dts: am335x-boneblack: add cec support ARM: dts: am3517-evm: Add support for UI board and Audio ARM: dts: gta04: add serial console wakeup irq ARM: dts: am57xx-idk-common: Hook smps12 regulator as cpu vdd-supply ARM: dts: omap: Update coresight bindings for hardware ports ARM: dts: ti: Fix SPI and I2C bus warnings ARM: dts: dra62x-j5eco-evm: get rid of phy_id property ARM: dts: dm8148-t410: get rid of phy_id property ARM: dts: dm8148-evm: get rid of phy_id property ARM: dts: am57xx-cl-som-am57x: get rid of phy_id property ARM: dts: am57xx-idk-common: get rid of phy_id property ARM: dts: dra7-evm: get rid of phy_id property ARM: dts: dra71-evm: get rid of phy_id property ARM: dts: dra72-evm-revc: get rid of phy_id property ARM: dts: dra72-evm: get rid of phy_id property ARM: dts: dra76-evm: get rid of phy_id property ARM: dts: am437x-cm-t43: get rid of phy_id property ARM: dts: am437x-gp-evm: get rid of phy_id property ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'mvebu-dt64-4.20-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/dt mvebu dt64 for 4.20 (part 1) - Add watchdog node on Armada 37xx - Update PPv2 interrupts name - Add support for the SolidRun Clearfog GT 8K (Aramda 8040 based) - Add thermal-zone nodes for Aramda 7K/8K * tag 'mvebu-dt64-4.20-1' of git://git.infradead.org/linux-mvebu: arm64: dts: marvell: armada-37xx: add nodes to support watchdog arm64: dts: marvell: armada-cp110: describe more PPv2 interrupts arm64: dts: marvell: armada-cp110: change the PPv2 IRQ names arm64: dts: add support for SolidRun Clearfog GT 8K arm64: dts: marvell: add thermal-zone node in cp110 DTSI file arm64: dts: marvell: add macro to make distinction between node names arm64: dts: marvell: add thermal-zone node in ap806 DTSI file arm64: dts: marvell: move AP806/CP110 thermal nodes into a new syscon Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'mvebu-dt-4.20-1' of git://git.infradead.org/linux-mvebu into next/dtArnd Bergmann
mvebu dt for 4.20 (part 1) - updates the armada-xp-98dx3236 SoC and related boards to use the new style dts bindings for nand - add db-88f6820-amc board: plugin card for some of Marvell's switch development kits - fix SPI and I2C bus warnings coming with the new checks in dtc - add new compatible string "marvell,prestera" to the armada-xp-98dx* - fix sdhci supply property name on the clearfog (the '-supply' suffix was missing) * tag 'mvebu-dt-4.20-1' of git://git.infradead.org/linux-mvebu: ARM: dts: clearfog: fix sdhci supply property name ARM: dts: mvebu: add "marvell,prestera" to PP nodes ARM: dts: marvell: Fix SPI and I2C bus warnings ARM: dts: mvebu: Add device tree for db-88f6820-amc board ARM: dts: mvebu: db-xc3-24g4: use new style nand binding ARM: dts: mvebu: db-dxbc2: use new style nand binding ARM: dts: mvebu: 98dx3236: Rename nand controller node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'imx-dt64-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt Freescale arm64 device tree update for 4.20: - Add the second Dual UART device for LS208xA SoCs. - Add necessary big-endian property for NOR device on LS104xA based boards, remove unneeded big-endian property from IFC controller. - DTC has new checks for I2C and SPI buses to land into 4.20. A patch from Rob to fix the bus node names and warnings in unit-addresses. * tag 'imx-dt64-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: fsl: Fix I2C and SPI bus warnings arm64: dts: ls208xa: add second duart arm64: dts: fsl: remove big-endian field from IFC controller arm64: dts: Add big-endian in nor node for ls104xa Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'imx-dt-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt i.MX device tree update for 4.20: - New board support: Engicam's i.Core MX6 CPU module v1.5; ConnectCore 6UL Single Board Computer (SBC) Pro; i.MX6 ULZ based EVK board. - Add Add SFF interface support for vf610-zii board. - Disable unneeded devices like VPU and internal watchdog for imx51-zii boards. - Add 'no-sdio' and 'no-sd' property for vf610-zii-cfu1 board. - Improve i.MX6 SLL GPIO support by adding gpio-ranges property and clocks information. - Update iomux header for i.MX7 Solo and i.MX6 ULL. - Enable GPIO buttons as wakeup source for imx7d-sdb and imx6sx-sdb. - Add GPIO keys and egalax touch screen support for imx6qdl-sabreauto. - Switch to use SPDX-License-Identifier for more boards - vf610-twr, imx7s-warp, Engicam boards. - Add device tree bindings of 'fsl,pmic-stby-poweroff' property and add the support for i.MX6 RIoTboard. - DTC has new checks for SPI buses which will be landed on 4.20. A patch from Rob to fix those 100+ warnings on i.MX boards. (Thanks!) - Switch i.MX7 device tree to use updated coresight binding for hardware ports. - Misc small or random update and cleanup. * tag 'imx-dt-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (50 commits) ARM: dts: imx: add i.mx6ulz and i.mx6ulz 14x14 evk support dt-bindings: arm: add compatible for i.MX6ULZ 14x14 EVK board ARM: dts: imx53-ppd: Remove 'num-chipselects' property ARM: dts: vf610-twr: Switch to SPDX identifier ARM: dts: vf: Switch to SPDX identifier ARM: dts: imx6qdl-zii-rdu2: Disable the internal RTC ARM: dts: imx51-zii-rdu1: Fix the rtc compatible string ARM: dts: imx6ul: use nvmem-cells for cpu speed grading ARM: dts: imx: Fix SPI bus warnings ARM: dts: imx7: Update coresight binding for hardware ports ARM: dts: vf610-zii-cfu1: Pass the 'no-sd' property ARM: dts: vf610-zii-cfu1: Pass the 'no-sdio' property ARM: dts: imx51-zii-scu2-mezz: Disable the internal watchdog ARM: dts: imx51-zii-scu2-mezz: Disable VPU ARM: dts: imx51-zii-scu3-esb: Disable VPU ARM: dts: imx51: Add label for VPU node ARM: dts: imx6ull: update vdd_soc voltage for 900MHz operating point ARM: dts: imx6ul: Add DTS for ConnectCore 6UL SBC Pro ARM: dts: imx6: RIoTboard provide standby on power off option dt-bindings: imx6q-clock: add new fsl,pmic-stby-poweroff property ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'qcom-dts-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm Device Tree Changes for v4.20 * Fix IRQ constants usage on MSM8974 * Add led, gpio-button, sdcc, and pcie nodes for IPQ8064 * Move/cleanup common nodes for IPQ8064 * Add i2c sensor nodes for MSM8974 Hammerhead * Fixes for SAW, kpss, opp, pci range, and space/tab on IPQ4019 * Update coresight bindings * tag 'qcom-dts-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: dts: qcom: Update coresight bindings for hardware ports ARM: dts: qcom-msm8974: change invalid flag IRQ NONE to valid value ARM: dts: qcom: ipq4019: fix space vs tab indenting inside qcom-ipq4019.dtsi ARM: dts: qcom: ipq4019: fix PCI range ARM: dts: qcom: ipq4019: fix cpu0's qcom,saw2 reg value ARM: dts: qcom: ipq4019: add cpu operating points for cpufreq support ARM: dts: qcom: ipq4019: use v2 of the kpss bringup mechanism ARM: dts: qcom: msm8974-hammerhead: add device tree bindings for ALS / proximity ARM: dts: qcom: msm8974-hammerhead: add device tree bindings for mpu6515 ARM: dts: qcom: Add led and gpio-button nodes to ipq8064 boards ARM: dts: qcom: Move common nodes to ipq8064-v.1.0.dtsi ARM: dts: qcom: Add sdcc nodes for ipq8064 ARM: dts: qcom: Add pcie nodes for ipq8064 ARM: dts: qcom-msm8974: change invalid flag IRQ NONE to valid value ARM: dts: qcom-msm8974: use named constant for interrupt flag NONE ARM: dts: qcom-msm8974: use named constant for interrupt flag LEVEL HIGH ARM: dts: qcom-msm8974: use named constant for interrupt flag EDGE RISING ARM: dts: qcom-msm8974: use named constant for interrupt type GIC_SPI ARM: dts: qcom-msm8974: use named constant for interrupt type GIC_PPI Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'qcom-arm64-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm ARM64 Updates for v4.20 * Update Coresight for MSM8916 * Switch to use mailbox for smp2p and smd on MSM8996 * Add dispcc, dsp, USB, regulator, and other nodes for SDM845 * Drop model/compatible from MSM8916 and MSM8996 * Add compat for db820c * Add MSM8998 SoC and board support along with associated nodes * Add RESIN/PON for Qualcomm PM8916 and PM8994 * tag 'qcom-arm64-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (31 commits) Revert "dt-bindings: thermal: qcom-spmi-temp-alarm: Fix documentation of 'reg'" Revert "dt-bindings: iio: vadc: Fix documentation of 'reg'" arm64: dts: msm8916: Update coresight bindings for hardware ports arm64: dts: msm8996: Transition smp2p and smd to mailbox arm64: dts: qcom: pm8998: Add pm8998 thermal zone arm64: dts: qcom: pm8998: Add spmi-temp-alarm node dt-bindings: thermal: qcom-spmi-temp-alarm: Fix documentation of 'reg' arm64: dts: sdm845: Add dispcc node arm64: dts: qcom: sdm845: Add adsp, cdsp and slpi smp2p arm64: dts: qcom: sdm845-mtp: Add nodes for USB arm64: dts: qcom: sdm845-mtp: Add RPMh VRM/XOB regulators arm64: dts: qcom: sdm845: Add USB-related nodes arm64: dts: qcom: Add AOSS reset driver node for SDM845 arm64: dts: msm8996: Drop model arm64: dts: msm8916: Drop model and compatible arm64: dts: db820c: Add qcom,apq8096 to compatible string arm64: dts: qcom: Populate pm8998 with additional nodes arm64: dts: qcom: msm8998: Add smp2p nodes arm64: dts: qcom: msm8998: Add the qfprom node arm64: dts: qcom: msm8998: Add firmware node ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'actions-arm64-dt-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions into next/dt Actions Semi arm64 based SoC DT for v4.20 This updates SPDX headers for remaining files. For S900 it adds clock, pinctrl, i2c and dma nodes. S900 SPS is added via topic branch (shared with driver). For S700 it adds clock nodes. * tag 'actions-arm64-dt-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions: arm64: dts: actions: s700: Set UART clock references from CMU arm64: dts: actions: s700: Add Clock Management Unit arm64: dts: actions: s900: Add DMA Controller arm64: dts: actions: s900-bubblegum-96: Enable I2C1 and I2C2 arm64: dts: actions: s900: Add I2C controller nodes arm64: dts: actions: s900-bubblegum-96: Add gpio line names arm64: dts: actions: s900: Add gpio properties to pinctrl node arm64: dts: actions: s900: Add pinctrl node arm64: dts: actions: s900: Add SPS node arm64: dts: actions: s900: Source CMU clock for UARTs arm64: dts: actions: s900: Add Clock Management Unit nodes dt-bindings: power: Add Actions Semi S900 SPS arm64: dts: actions: Convert to new-style SPDX license identifiers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'actions-arm-dt-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions into next/dt Actions Semi arm based SoC DT for v4.20 This updates SPDX headers for remaining files. * tag 'actions-arm-dt-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions: ARM: dts: owl: Convert to new-style SPDX license identifiers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'v4.19-next-dts64' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into next/dt mt2712 - add spi slave node mt7622: - add timer node - add CCI node - add PMU node - add bluetooth node - add SPI slave node - fix reference board (rfb1) memory and sort node alphabetically - add support for Bananapi-R64 * tag 'v4.19-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: arm64: dts: Add spi slave dts arm64: dts: mt7622: add bananapi BPI-R64 board arm64: dts: mt7622: fix ram size for rfb1 arm64: dts: mt7622: add a bluetooth 5 device node arm64: dts: mt7622: add timer, CCI-400 and PMU nodes Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'sunxi-dt64-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner arm64 DT changes for 4.20 Our usual set of DT changes for the arm64 Allwinner SoCs. The most notable things are: - HDMI support on the A64 - New boards: OrangePi One Plus * tag 'sunxi-dt64-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (28 commits) arm64: dts: allwinner: a64: a64-olinuxino: set the PHY TX delay arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI arm64: dts: allwinner: a64: Add display pipeline arm64: dts: allwinner: h6: add system controller device tree node arm64: dts: allwinner: h6: Add OrangePi One Plus initial support arm64: dts: allwinner: a64: Rename r_i2c_pins_a label to r_i2c_pl89_pins arm64: dts: allwinner: a64: Rename uart0_pins_a label to uart0_pb_pins arm64: dts: allwinner: a64: Split out data strobe pin from mmc2 pinmux arm64: dts: allwinner: a64: NanoPi-A64: Add blue status LED arm64: dts: allwinner: a64: NanoPi-A64: Add Wifi chip arm64: dts: allwinner: a64: NanoPi-A64: Add Ethernet arm64: dts: allwinner: a64: NanoPi-A64: Fix DCDC1 voltage arm64: dts: allwinner: a64: Olinuxino: enable USB arm64: dts: allwinner: a64: Olinuxino: add Ethernet nodes arm64: dts: allwinner: a64: Olinuxino: fix DRAM voltage arm64: dts: allwinner: a64: Orange Pi Win: Adjust CSI power rails arm64: dts: allwinner: a64: Orange Pi Win: Add SPI flash node arm64: dts: allwinner: a64: Orange Pi Win: Add SDIO node arm64: dts: allwinner: a64: Orange Pi Win: Add LED node arm64: dts: allwinner: a64: Orange Pi Win: Add UARTs ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'sunxi-dt-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner DT changes for 4.20 Our usual bunch of DT patches for the Allwinner arm32 SoCs. The most notable changes are: - Support for the video decoding / encoding engine on the A10s/A13/A20/A33 - IR support for the A83t - SATA support for the R40 * tag 'sunxi-dt-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sun9i: Fix I2C bus warnings ARM: dts: sunxi: Fix I2C bus warnings ARM: dts: sun8i-a33: Add Video Engine and reserved memory nodes ARM: dts: sun7i-a20: Add Video Engine and reserved memory nodes ARM: dts: sun5i: Add Video Engine and reserved memory nodes ARM: dts: sun8i: sun8i-r40-bananapi-m2-ultra: enable AHCI ARM: dts: sun8i: r40: add sata node ARM: dts: sunxi: Don't use cd-inverted in sun8i-r40-bananapi-m2-ultra ARM: dts: sun8i: a83t: bananapi-m3: Enable IR controller ARM: dts: sun8i: a83t: Add support for the cir interface ARM: dts: sun8i: a83t: Add the cir pin for the A83T Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'sunxi-h3-h5-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner H3 and H5 DT additions for 4.20 This is our usual H3/H5 pull request The most notable changes are: - the video decoding / encoding unit is finally enabled on the H3 - Mali support for the H5 - New boards: BananaPi M2+ v1.2, Orange Pi Zero Plus 2 H3 support * tag 'sunxi-h3-h5-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sunxi: h3-h5: Add Bananapi M2+ v1.2 device trees ARM: dts: sun8i-h3: Add Video Engine and reserved memory nodes arm64: dts: allwinner: h5: Add device tree for Bananapi M2 Plus H5 ARM: dts: sun8i: h3: Split out non-SoC-specific parts of Bananapi M2 Plus ARM: dts: sun8i: h3: bpi-m2-plus: Fix address for external RGMII Ethernet PHY ARM: dts: sun8i: h3-h5: ir register size should be the whole memory block arm64: dts: allwinner: h5: Add device node for Mali-450 GPU ARM: dts: sun8i: Add initial Orangepi Zero Plus 2 H3 support nvmem: sunxi-sid: add support for H5's SID controller Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02perf/x86/intel: Add quirk for Goldmont PlusKan Liang
A ucode patch is needed for Goldmont Plus while counter freezing feature is enabled. Otherwise, there will be some issues, e.g. PMI flood with some events. Add a quirk to check microcode version. If the system starts with the wrong ucode, leave the counter-freezing feature permanently disabled. Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/1533712328-2834-3-git-send-email-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02x86/cpu: Sanitize FAM6_ATOM namingPeter Zijlstra
Going primarily by: https://en.wikipedia.org/wiki/List_of_Intel_Atom_microprocessors with additional information gleaned from other related pages; notably: - Bonnell shrink was called Saltwell - Moorefield is the Merriefield refresh which makes it Airmont The general naming scheme is: FAM6_ATOM_UARCH_SOCTYPE for i in `git grep -l FAM6_ATOM` ; do sed -i -e 's/ATOM_PINEVIEW/ATOM_BONNELL/g' \ -e 's/ATOM_LINCROFT/ATOM_BONNELL_MID/' \ -e 's/ATOM_PENWELL/ATOM_SALTWELL_MID/g' \ -e 's/ATOM_CLOVERVIEW/ATOM_SALTWELL_TABLET/g' \ -e 's/ATOM_CEDARVIEW/ATOM_SALTWELL/g' \ -e 's/ATOM_SILVERMONT1/ATOM_SILVERMONT/g' \ -e 's/ATOM_SILVERMONT2/ATOM_SILVERMONT_X/g' \ -e 's/ATOM_MERRIFIELD/ATOM_SILVERMONT_MID/g' \ -e 's/ATOM_MOOREFIELD/ATOM_AIRMONT_MID/g' \ -e 's/ATOM_DENVERTON/ATOM_GOLDMONT_X/g' \ -e 's/ATOM_GEMINI_LAKE/ATOM_GOLDMONT_PLUS/g' ${i} done Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: dave.hansen@linux.intel.com Cc: len.brown@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02perf/x86/intel: Add a separate Arch Perfmon v4 PMI handlerAndi Kleen
Implements counter freezing for Arch Perfmon v4 (Skylake and newer). This allows to speed up the PMI handler by avoiding unnecessary MSR writes and make it more accurate. The Arch Perfmon v4 PMI handler is substantially different than the older PMI handler. Differences to the old handler: - It relies on counter freezing, which eliminates several MSR writes from the PMI handler and lowers the overhead significantly. It makes the PMI handler more accurate, as all counters get frozen atomically as soon as any counter overflows. So there is much less counting of the PMI handler itself. With the freezing we don't need to disable or enable counters or PEBS. Only BTS which does not support auto-freezing still needs to be explicitly managed. - The PMU acking is done at the end, not the beginning. This makes it possible to avoid manual enabling/disabling of the PMU, instead we just rely on the freezing/acking. - The APIC is acked before reenabling the PMU, which avoids problems with LBRs occasionally not getting unfreezed on Skylake. - Looping is only needed to workaround a corner case which several PMIs are very close to each other. For common cases, the counters are freezed during PMI handler. It doesn't need to do re-check. This patch: - Adds code to enable v4 counter freezing - Fork <=v3 and >=v4 PMI handlers into separate functions. - Add kernel parameter to disable counter freezing. It took some time to debug counter freezing, so in case there are new problems we added an option to turn it off. Would not expect this to be used until there are new bugs. - Only for big core. The patch for small core will be posted later separately. Performance: When profiling a kernel build on Kabylake with different perf options, measuring the length of all NMI handlers using the nmi handler trace point: V3 is without counter freezing. V4 is with counter freezing. The value is the average cost of the PMI handler. (lower is better) perf options ` V3(ns) V4(ns) delta -c 100000 1088 894 -18% -g -c 100000 1862 1646 -12% --call-graph lbr -c 100000 3649 3367 -8% --c.g. dwarf -c 100000 2248 1982 -12% Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/1533712328-2834-2-git-send-email-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02perf/x86/intel: Factor out common code of PMI handlerKan Liang
The Arch Perfmon v4 PMI handler is substantially different than the older PMI handler. Instead of adding more and more ifs cleanly fork the new handler into a new function, with the main common code factored out into a common function. Fix complaint from checkpatch.pl by removing "false" from "static bool warned". No functional change. Based-on-code-from: Andi Kleen <ak@linux.intel.com> Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/1533712328-2834-1-git-send-email-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02ARM: multi_v7_defconfig: Enable USB phys for UniPhier SoCsKunihiko Hayashi
Enable the USB3 and USB2 phys implemented in UniPhier SoCs. These phys are necessary for dwc3 and ehci controllers driving the USB ports on Pro4 and PXs2 SoCs. Since the USB host drivers are already built-in, so only the phy driver are missing to allow booting with USB devices. Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge tag 'sunxi-config64-for-4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/defconfig Allwinner arm64 config changes for 4.20 Here is a single config change to enable the DRM driver in the arm64 defconfig. * tag 'sunxi-config64-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: defconfig: Enable CONFIG_DRM_SUN4I Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-10-02Merge branch 'x86/cache' into perf/core, to resolve conflictsIngo Molnar
Avoid conflict with upcoming perf/core patches, merge in the RDT perf work. Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02Merge branch 'perf/urgent' into perf/core, to pick up fixesIngo Molnar
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02Merge branch 'sched/urgent' into sched/core, to pick up fixesIngo Molnar
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf eventsNatarajan, Janakarajan
In Family 17h, some L3 Cache Performance events require the ThreadMask and SliceMask to be set. For other events, these fields do not affect the count either way. Set ThreadMask and SliceMask to 0xFF and 0xF respectively. Signed-off-by: Janakarajan Natarajan <Janakarajan.Natarajan@amd.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: H . Peter Anvin <hpa@zytor.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Suravee <Suravee.Suthikulpanit@amd.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Link: http://lkml.kernel.org/r/Message-ID: Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKXKan Liang
The counters on M3UPI Link 0 and Link 3 don't count properly, and writing 0 to these counters may causes system crash on some machines. The PCI BDF addresses of the M3UPI in the current code are incorrect. The correct addresses should be: D18:F1 0x204D D18:F2 0x204E D18:F5 0x204D Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Fixes: cd34cd97b7b4 ("perf/x86/intel/uncore: Add Skylake server uncore support") Link: http://lkml.kernel.org/r/1537538826-55489-1-git-send-email-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02perf/x86/intel/uncore: Use boot_cpu_data.phys_proc_id instead of hardcorded ↵Masayoshi Mizuma
physical package ID 0 Physical package id 0 doesn't always exist, we should use boot_cpu_data.phys_proc_id here. Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Masayoshi Mizuma <msys.mizuma@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Link: http://lkml.kernel.org/r/20180910144750.6782-1-msys.mizuma@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-02x86/vdso: Fix asm constraints on vDSO syscall fallbacksAndy Lutomirski
The syscall fallbacks in the vDSO have incorrect asm constraints. They are not marked as writing to their outputs -- instead, they are marked as clobbering "memory", which is useless. In particular, gcc is smart enough to know that the timespec parameter hasn't escaped, so a memory clobber doesn't clobber it. And passing a pointer as an asm *input* does not tell gcc that the pointed-to value is changed. Add in the fact that the asm instructions weren't volatile, and gcc was free to omit them entirely unless their sole output (the return value) is used. Which it is (phew!), but that stops happening with some upcoming patches. As a trivial example, the following code: void test_fallback(struct timespec *ts) { vdso_fallback_gettime(CLOCK_MONOTONIC, ts); } compiles to: 00000000000000c0 <test_fallback>: c0: c3 retq To add insult to injury, the RCX and R11 clobbers on 64-bit builds were missing. The "memory" clobber is also unnecessary -- no ordering with respect to other memory operations is needed, but that's going to be fixed in a separate not-for-stable patch. Fixes: 2aae950b21e4 ("x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu") Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/2c0231690551989d2fafa60ed0e7b5cc8b403908.1538422295.git.luto@kernel.org
2018-10-02s390/vmlinux.lds: Move JUMP_TABLE_DATA into output sectionArd Biesheuvel
Commit e872267b8bcbb179 ("jump_table: move entries into ro_after_init region") moved the __jump_table input section into the __ro_after_init output section, but inadvertently put the macro in the wrong place in the s390 linker script. Let's fix that. Fixes: e872267b8bcbb179 ("jump_table: move entries into ro_after_init region") Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Tested-by: Guenter Roeck <linux@roeck-us.net> Cc: linux-s390@vger.kernel.org Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Jessica Yu <jeyu@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lkml.kernel.org/r/20180930164950.3841-1-ard.biesheuvel@linaro.org