summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'qcom-arm64-defconfig-for-6.2' of ↵Arnd Bergmann2022-11-231-2/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig Qualcomm ARM64 defconfig updates for 6.2 This enables more Qualcomm TLMM pinctrl drivers, and the Qualcomm crypto drivers. It makes the SC7180 and SM8450 interconnect drivers builtin, in order to ensure that a console will be registered before init needs it. * tag 'qcom-arm64-defconfig-for-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: arm64: defconfig: build-in Qualcomm SC7180 and SM8450 interconnects arm64: defconfig: Enable Qualcomm QCE crypto arm64: defconfig: enable rest of Qualcomm ARMv8 SoCs pinctrl drivers
| * arm64: defconfig: build-in Qualcomm SC7180 and SM8450 interconnectsKrzysztof Kozlowski2022-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Qualcomm SC7180 and SM8450 SocS, the typical debug console serial port is part of GENI Serial Engine QUP Wrapper Controller which uses interconnects. This means that without interconnect drivers, the serial might not probe. Without serial console, the root might not be mounted by initramfs: + REASON=No init found. Try passing init= bootarg. PS1=(initramfs ... (initramfs) run-init -c /dev/console -n /root /sbin/init run-init: opening console: No such file or directory This means that interconnect drivers on these Qualcomm SoCs cannot be modules and must be built-in to mount rootfs. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20221021032702.1340963-1-krzysztof.kozlowski@linaro.org
| * arm64: defconfig: Enable Qualcomm QCE cryptoBhupesh Sharma2022-11-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Now that the QCE crypto block is supported on several Qualcomm SoCs upstream, enable the same as a module in the arm64 defconfig. Cc: Bjorn Andersson <andersson@kernel.org> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20220921045602.1462007-5-bhupesh.sharma@linaro.org
| * arm64: defconfig: enable rest of Qualcomm ARMv8 SoCs pinctrl driversKrzysztof Kozlowski2022-10-181-0/+3
| | | | | | | | | | | | | | | | | | | | Enable rest of Qualcomm ARMv8 SoCs pin controller drivers (MSM8953, MSM8976, QCM2290). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20220925112123.148897-2-krzysztof.kozlowski@linaro.org
* | Merge tag 'ti-k3-config-for-v6.2' of ↵Arnd Bergmann2022-11-231-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/defconfig arm64: TI K3 defconfig updates for v6.2 * Enable TI_TFP410 DVI bridge as module for J721e-sk platform * tag 'ti-k3-config-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: arm64: defconfig: Enable TI_TFP410 DVI bridge Link: https://lore.kernel.org/r/20221122190233.63o3tjtkimlimgtq@armrest Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | arm64: defconfig: Enable TI_TFP410 DVI bridgeRahul T R2022-11-041-0/+1
| |/ | | | | | | | | | | | | | | | | Enable TI_TFP410 DPI to DVI bridge. This is required to enable HDMI output on j721e-sk platform. Signed-off-by: Rahul T R <r-ravikumar@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20221103180845.17076-1-r-ravikumar@ti.com
* | Merge tag 'v6.1-next-defconfig' of ↵Arnd Bergmann2022-11-231-0/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/defconfig - enable missing drivers for to boot from MT8183 based chromebooks * tag 'v6.1-next-defconfig' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: arm64: defconfig: Enable missing configs for mt8183-jacuzzi-juniper Link: https://lore.kernel.org/r/610edfca-0a3a-fd41-5208-71978866be4f@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | arm64: defconfig: Enable missing configs for mt8183-jacuzzi-juniperNícolas F. R. A. Prado2022-11-111-0/+18
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable missing configs in the arm64 defconfig to get all devices probing on the mt8183-kukui-jacuzzi-juniper machine. The devices enabled are: ATH10K SDIO wireless adapter, Elan touchscreen, cr50 TPM, MediaTek SPI controller, JPEG video decoder, ANX7625 DSI/DPI to DP bridge (used for the internal display), MT8183 sound cards, SCP co-processor, MediaTek Global Command Engine (controlled by CMDQ driver), MediaTek Smart Voltage Scaling (SVS) engine, CCI frequency and voltage scaling, AUXADC thermal sensors. All symbols are enabled as modules with the exception of SPI, which is enabled as builtin since on some platforms like mt8195-cherry, the ChromeOS Embedded Controller is connected through SPI and it is responsible for the regulators powering the MMC controller used for the SD card, and thus SPI support is required for booting. By enabling the support for all of this machine's devices on the defconfig we make it effortless to test the relevant hardware both by developers as well as CI systems like KernelCI. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20221109195012.1231059-1-nfraprado@collabora.com Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
* | Merge tag 'imx-defconfig-6.2' of ↵Arnd Bergmann2022-11-212-0/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/defconfig i.MX defconfig change for 6.2: - Enable Renesas 9-series PCIe clock generator, SNVS LPGRP and i.MX8MP interconnect driver support in arm64 defconfig. - Enable Silergy SY7636A EPD PMIC, CYTTSP5 touchscreen and USB GPIO extcon support in imx_v6_v7_defconfig. * tag 'imx-defconfig-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: defconfig: Add Renesas 9-series PCIe clock generator ARM: imx_v6_v7_defconfig: Enable the cyttsp5 touchscreen ARM: imx_v6_v7_defconfig: Enable silergy,sy7636a ARM: imx_v6_v7_defconfig: Enable USB GPIO extcon support arm64: defconfig: enable i.mx 8m plus specific interconnect support arm64: defconfig: enable snvs lpgpr support Link: https://lore.kernel.org/r/20221119125733.32719-6-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | arm64: defconfig: Add Renesas 9-series PCIe clock generatorAlexander Stein2022-11-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | MBa8MPxL (with TQMa8MPQL attached) needs this driver for PCIe reference clock generation. Add it do default config. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
| * | ARM: imx_v6_v7_defconfig: Enable the cyttsp5 touchscreenAlistair Francis2022-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The imx6/7 based devices Remarkable 2, Kobo Clara HD, Kobo Libra H2O, Tolino Shine 3, Tolino Vision 5 all contain a Cypress TT2100 touchscreen so enable the corresponding driver. Signed-off-by: Alistair Francis <alistair@alistair23.me> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
| * | ARM: imx_v6_v7_defconfig: Enable silergy,sy7636aAlistair Francis2022-10-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Enable the silergy,sy7636a and silergy,sy7636a-regulator for the reMarkable2. Signed-off-by: Alistair Francis <alistair@alistair23.me> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
| * | ARM: imx_v6_v7_defconfig: Enable USB GPIO extcon supportMarcel Ziswiler2022-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Enable USB GPIO extcon support aka CONFIG_EXTCON_USB_GPIO as e.g. used on Colibri iMX6 and Colibri iMX7 for USB device/host role switching. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
| * | arm64: defconfig: enable i.mx 8m plus specific interconnect supportMarcel Ziswiler2022-10-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build CONFIG_INTERCONNECT_IMX8MP as a kernel module without which one may get the following after boot: [ 15.728019] platform 32f10100.usb: deferred probe pending [ 15.733471] platform 32f10108.usb: deferred probe pending [ 15.738895] platform 381f0040.usb-phy: deferred probe pending [ 15.744668] platform 382f0040.usb-phy: deferred probe pending [ 15.750437] platform 33800000.pcie: deferred probe pending [ 15.755944] platform 32ec0000.blk-ctrl: deferred probe pending [ 15.761807] platform 38330000.blk-ctrl: deferred probe pending [ 15.767673] platform 32f10000.blk-ctrl: deferred probe pending And things like PCIe and/or USB stop working. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
| * | arm64: defconfig: enable snvs lpgpr supportMarcel Ziswiler2022-10-231-0/+1
| |/ | | | | | | | | | | | | | | Enable SNVS LPGPR support. This may e.g. be used on the i.MX 8M Mini and Plus to store a form of boot counter. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* | Merge tag 'tegra-for-6.2-arm64-defconfig' of ↵Arnd Bergmann2022-11-211-0/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/defconfig arm64: tegra: Default configuration updates for v6.2-rc1 This enables several audio-related options, as well as the Tegra186 timer and hardware timestamping engine drivers. * tag 'tegra-for-6.2-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: defconfig: Enable HTE config arm64: defconfig: Enable Tegra186 timer support arm64: defconfig: Enable SND_ALOOP arm64: defconfig: Enable couple of audio codecs Link: https://lore.kernel.org/r/20221119012025.3968358-8-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | arm64: defconfig: Enable HTE configDipen Patel2022-11-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Enable HTE core and tegra HTE provider by default as built in module. Signed-off-by: Dipen Patel <dipenp@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
| * | arm64: defconfig: Enable Tegra186 timer supportJon Hunter2022-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Enable Tegra186 timer support which is needed for Tegra186, Tegra194 and Tegra234 devices. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
| * | arm64: defconfig: Enable SND_ALOOPSameer Pujar2022-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable generic PCM loopback driver. On NVIDIA Jetson platforms, customers use this to loop data between container based applications and host OS. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
| * | arm64: defconfig: Enable couple of audio codecsSameer Pujar2022-10-241-0/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | Enable RT5640 and TAS2552 audio codec drivers. NVIDIA Jetson platforms have 40-pin GPIO expanders where custom audio cards can be connected. Support for above codecs is typically required. Also NVIDIA Jetson AGX Orin platform has RT5640 as onboard codec. To support these enable driver build for these codecs. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* | Merge tag 'renesas-riscv-defconfig-for-v6.2-tag1' of ↵Arnd Bergmann2022-11-211-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/defconfig Renesas RISC-V defconfig updates for v6.2 - Enable support for the Renesas RZ/Five SoC and the RZ/Five SMARC EVK board in the risc-v defconfig. * tag 'renesas-riscv-defconfig-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: riscv: configs: defconfig: Enable Renesas RZ/Five SoC Link: https://lore.kernel.org/r/cover.1668788928.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | riscv: configs: defconfig: Enable Renesas RZ/Five SoCLad Prabhakar2022-11-101-0/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable Renesas RZ/Five SoC config in defconfig. It allows the default upstream kernel to boot on RZ/Five SMARC EVK board. Alongside enable SERIAL_SH_SCI config so that the serial driver used by RZ/Five SoC is built-in. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Guo Ren <guoren@kernel.org> Acked-by: Palmer Dabbelt <palmer@rivosinc.com> Link: https://lore.kernel.org/r/20221028165921.94487-8-prabhakar.mahadev-lad.rj@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
* | Merge tag 'renesas-arm-defconfig-for-v6.2-tag1' of ↵Arnd Bergmann2022-11-211-1/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/defconfig Renesas ARM defconfig updates for v6.2 - Enable support for Renesas R-Car S4-8 Spider Ethernet devices in the arm64 defconfig. * tag 'renesas-arm-defconfig-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: arm64: defconfig: Enable Renesas R-Car S4-8 Spider Ethernet devices Link: https://lore.kernel.org/r/cover.1668788920.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | arm64: defconfig: Enable Renesas R-Car S4-8 Spider Ethernet devicesYoshihiro Shimoda2022-11-181-1/+3
| |/ | | | | | | | | | | | | | | | | Enable Renesas "Ethernet Switch", Ethernet SERDES and Marvell 10G PHY drivers to be used by NFS root on the Renesas Spider board. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Link: https://lore.kernel.org/r/20221118120953.1186392-4-yoshihiro.shimoda.uh@renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
* | ARM: multi_v7_defconfig: enable Type-C UCSI and STM32G0 as modulesFabrice Gasnier2022-11-211-0/+2
| | | | | | | | | | | | | | | | | | | | Enable the USB Type-C UCSI, and the STM32G0 UCSI drivers as modules, since used on STM32MP13 board. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> Link: https://lore.kernel.org/r/20221117103931.26174-1-alexandre.torgue@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* | arm: configs: spear6xx: Enable PL110 display controllerKory Maincent2022-11-141-0/+2
| | | | | | | | | | | | | | | | | | Enable the PL110 DRM driver, used by the spear600. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* | arm: configs: spear6xx: Refresh defconfigKory Maincent2022-11-141-5/+0
| | | | | | | | | | | | | | | | | | | | | | Refresh the defconfig to follow the changes made over the year. I ensure important options have not gone away. I drop the gpio sysfs config as it is useless to keep it alone without CONFIG_EXPERT. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* | Merge tag 'at91-defconfig-6.2' of ↵Arnd Bergmann2022-11-141-2/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/defconfig AT91 defconfig for 6.2 It contains: - sama7 defconfig refresh (done with make savedefconfig) - update sama7 defconfig with OTPC support - update sama7 defconfig with thermal management support * tag 'at91-defconfig-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: ARM: configs: at91: sama7: add config for thermal management ARM: configs: at91: sama7: add config for microchip otpc ARM: configs: at91: sama7: use make savedefconfig Link: https://lore.kernel.org/r/20221110115422.180893-1-claudiu.beznea@microchip.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: configs: at91: sama7: add config for thermal managementClaudiu Beznea2022-11-011-0/+4
| | | | | | | | | | | | | | | | | | | | | Add config flags for thermal management. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> Link: https://lore.kernel.org/r/20221026124114.985876-10-claudiu.beznea@microchip.com
| * | ARM: configs: at91: sama7: add config for microchip otpcClaudiu Beznea2022-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | | Add config flag for Microchip OTPC. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> Link: https://lore.kernel.org/r/20221026124114.985876-9-claudiu.beznea@microchip.com
| * | ARM: configs: at91: sama7: use make savedefconfigClaudiu Beznea2022-11-011-2/+2
| |/ | | | | | | | | | | | | Use make savedefconfig on sama7_defconfig. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> Link: https://lore.kernel.org/r/20221026124114.985876-8-claudiu.beznea@microchip.com
* | Linux 6.1-rc2v6.1-rc2Linus Torvalds2022-10-241-1/+1
| |
* | Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds2022-10-2418-99/+180
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull kvm fixes from Paolo Bonzini: "RISC-V: - Fix compilation without RISCV_ISA_ZICBOM - Fix kvm_riscv_vcpu_timer_pending() for Sstc ARM: - Fix a bug preventing restoring an ITS containing mappings for very large and very sparse device topology - Work around a relocation handling error when compiling the nVHE object with profile optimisation - Fix for stage-2 invalidation holding the VM MMU lock for too long by limiting the walk to the largest block mapping size - Enable stack protection and branch profiling for VHE - Two selftest fixes x86: - add compat implementation for KVM_X86_SET_MSR_FILTER ioctl selftests: - synchronize includes between include/uapi and tools/include/uapi" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: tools: include: sync include/api/linux/kvm.h KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER KVM: x86: Copy filter arg outside kvm_vm_ioctl_set_msr_filter() kvm: Add support for arch compat vm ioctls RISC-V: KVM: Fix kvm_riscv_vcpu_timer_pending() for Sstc RISC-V: Fix compilation without RISCV_ISA_ZICBOM KVM: arm64: vgic: Fix exit condition in scan_its_table() KVM: arm64: nvhe: Fix build with profile optimization KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test KVM: arm64: selftests: Fix multiple versions of GIC creation KVM: arm64: Enable stack protection and branch profiling for VHE KVM: arm64: Limit stage2_apply_range() batch size to largest block KVM: arm64: Work out supported block level at compile time
| * | tools: include: sync include/api/linux/kvm.hPaolo Bonzini2022-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Provide a definition of KVM_CAP_DIRTY_LOG_RING_ACQ_REL. Fixes: 17601bfed909 ("KVM: Add KVM_CAP_DIRTY_LOG_RING_ACQ_REL capability and config option") Cc: Marc Zyngier <maz@kernel.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTERAlexander Graf2022-10-221-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The KVM_X86_SET_MSR_FILTER ioctls contains a pointer in the passed in struct which means it has a different struct size depending on whether it gets called from 32bit or 64bit code. This patch introduces compat code that converts from the 32bit struct to its 64bit counterpart which then gets used going forward internally. With this applied, 32bit QEMU can successfully set MSR bitmaps when running on 64bit kernels. Reported-by: Andrew Randrianasulu <randrianasulu@gmail.com> Fixes: 1a155254ff937 ("KVM: x86: Introduce MSR filtering") Signed-off-by: Alexander Graf <graf@amazon.com> Message-Id: <20221017184541.2658-4-graf@amazon.com> Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | KVM: x86: Copy filter arg outside kvm_vm_ioctl_set_msr_filter()Alexander Graf2022-10-221-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the next patch we want to introduce a second caller to set_msr_filter() which constructs its own filter list on the stack. Refactor the original function so it takes it as argument instead of reading it through copy_from_user(). Signed-off-by: Alexander Graf <graf@amazon.com> Message-Id: <20221017184541.2658-3-graf@amazon.com> Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | kvm: Add support for arch compat vm ioctlsAlexander Graf2022-10-222-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will introduce the first architecture specific compat vm ioctl in the next patch. Add all necessary boilerplate to allow architectures to override compat vm ioctls when necessary. Signed-off-by: Alexander Graf <graf@amazon.com> Message-Id: <20221017184541.2658-2-graf@amazon.com> Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | Merge tag 'kvm-riscv-fixes-6.1-1' of https://github.com/kvm-riscv/linux into ↵Paolo Bonzini2022-10-226-51/+57
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HEAD KVM/riscv fixes for 6.1, take #1 - Fix compilation without RISCV_ISA_ZICBOM - Fix kvm_riscv_vcpu_timer_pending() for Sstc
| | * | RISC-V: KVM: Fix kvm_riscv_vcpu_timer_pending() for SstcAnup Patel2022-10-213-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kvm_riscv_vcpu_timer_pending() checks per-VCPU next_cycles and per-VCPU software injected VS timer interrupt. This function returns incorrect value when Sstc is available because the per-VCPU next_cycles are only updated by kvm_riscv_vcpu_timer_save() called from kvm_arch_vcpu_put(). As a result, when Sstc is available the VCPU does not block properly upon WFI traps. To fix the above issue, we introduce kvm_riscv_vcpu_timer_sync() which will update per-VCPU next_cycles upon every VM exit instead of kvm_riscv_vcpu_timer_save(). Fixes: 8f5cb44b1bae ("RISC-V: KVM: Support sstc extension") Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Atish Patra <atishp@rivosinc.com> Signed-off-by: Anup Patel <anup@brainfault.org>
| | * | RISC-V: Fix compilation without RISCV_ISA_ZICBOMAndrew Jones2022-10-213-49/+38
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | riscv_cbom_block_size and riscv_init_cbom_blocksize() should always be available and riscv_init_cbom_blocksize() should always be invoked, even when compiling without RISCV_ISA_ZICBOM enabled. This is because disabling RISCV_ISA_ZICBOM means "don't use zicbom instructions in the kernel" not "pretend there isn't zicbom, even when there is". When zicbom is available, whether the kernel enables its use with RISCV_ISA_ZICBOM or not, KVM will offer it to guests. Ensure we can build KVM and that the block size is initialized even when compiling without RISCV_ISA_ZICBOM. Fixes: 8f7e001e0325 ("RISC-V: Clean up the Zicbom block size probing") Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Andrew Jones <ajones@ventanamicro.com> Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Anup Patel <anup@brainfault.org>
| * | Merge tag 'kvmarm-fixes-6.1-2' of ↵Paolo Bonzini2022-10-222-1/+8
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD KVM/arm64 fixes for 6.1, take #2 - Fix a bug preventing restoring an ITS containing mappings for very large and very sparse device topology - Work around a relocation handling error when compiling the nVHE object with profile optimisation
| | * | KVM: arm64: vgic: Fix exit condition in scan_its_table()Eric Ren2022-10-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With some PCIe topologies, restoring a guest fails while parsing the ITS device tables. Reproducer hints: 1. Create ARM virt VM with pxb-pcie bus which adds extra host bridges, with qemu command like: ``` -device pxb-pcie,bus_nr=8,id=pci.x,numa_node=0,bus=pcie.0 \ -device pcie-root-port,..,bus=pci.x \ ... -device pxb-pcie,bus_nr=37,id=pci.y,numa_node=1,bus=pcie.0 \ -device pcie-root-port,..,bus=pci.y \ ... ``` 2. Ensure the guest uses 2-level device table 3. Perform VM migration which calls save/restore device tables In that setup, we get a big "offset" between 2 device_ids, which makes unsigned "len" round up a big positive number, causing the scan loop to continue with a bad GPA. For example: 1. L1 table has 2 entries; 2. and we are now scanning at L2 table entry index 2075 (pointed to by L1 first entry) 3. if next device id is 9472, we will get a big offset: 7397; 4. with unsigned 'len', 'len -= offset * esz', len will underflow to a positive number, mistakenly into next iteration with a bad GPA; (It should break out of the current L2 table scanning, and jump into the next L1 table entry) 5. that bad GPA fails the guest read. Fix it by stopping the L2 table scan when the next device id is outside of the current table, allowing the scan to continue from the next L1 table entry. Thanks to Eric Auger for the fix suggestion. Fixes: 920a7a8fa92a ("KVM: arm64: vgic-its: Add infrastructure for tableookup") Suggested-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Eric Ren <renzhengeek@gmail.com> [maz: commit message tidy-up] Signed-off-by: Marc Zyngier <maz@kernel.org> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/d9c3a564af9e2c5bf63f48a7dcbf08cd593c5c0b.1665802985.git.renzhengeek@gmail.com
| | * | KVM: arm64: nvhe: Fix build with profile optimizationDenis Nikitin2022-10-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel build with clang and KCFLAGS=-fprofile-sample-use=<profile> fails with: error: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.tmp.o: Unexpected SHT_REL section ".rel.llvm.call-graph-profile" Starting from 13.0.0 llvm can generate SHT_REL section, see https://reviews.llvm.org/rGca3bdb57fa1ac98b711a735de048c12b5fdd8086. gen-hyprel does not support SHT_REL relocation section. Filter out profile use flags to fix the build with profile optimization. Signed-off-by: Denis Nikitin <denik@chromium.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221014184532.3153551-1-denik@chromium.org
| * | | Merge tag 'kvmarm-fixes-6.1-1' of ↵Paolo Bonzini2022-10-227-33/+28
| |\| | | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD KVM/arm64 fixes for 6.1, take #1 - Fix for stage-2 invalidation holding the VM MMU lock for too long by limiting the walk to the largest block mapping size - Enable stack protection and branch profiling for VHE - Two selftest fixes
| | * KVM: selftests: Fix number of pages for memory slot in ↵Gavin Shan2022-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | memslot_modification_stress_test It's required by vm_userspace_mem_region_add() that memory size should be aligned to host page size. However, one guest page is provided by memslot_modification_stress_test. It triggers failure in the scenario of 64KB-page-size-host and 4KB-page-size-guest, as the following messages indicate. # ./memslot_modification_stress_test Testing guest mode: PA-bits:40, VA-bits:48, 4K pages guest physical test memory: [0xffbfff0000, 0xffffff0000) Finished creating vCPUs Started all vCPUs ==== Test Assertion Failure ==== lib/kvm_util.c:824: vm_adjust_num_guest_pages(vm->mode, npages) == npages pid=5712 tid=5712 errno=0 - Success 1 0x0000000000404eeb: vm_userspace_mem_region_add at kvm_util.c:822 2 0x0000000000401a5b: add_remove_memslot at memslot_modification_stress_test.c:82 3 (inlined by) run_test at memslot_modification_stress_test.c:110 4 0x0000000000402417: for_each_guest_mode at guest_modes.c:100 5 0x00000000004016a7: main at memslot_modification_stress_test.c:187 6 0x0000ffffb8cd4383: ?? ??:0 7 0x0000000000401827: _start at :? Number of guest pages is not compatible with the host. Try npages=16 Fix the issue by providing 16 guest pages to the memory slot for this particular combination of 64KB-page-size-host and 4KB-page-size-guest on aarch64. Fixes: ef4c9f4f65462 ("KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn()") Signed-off-by: Gavin Shan <gshan@redhat.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221013063020.201856-1-gshan@redhat.com
| | * KVM: arm64: selftests: Fix multiple versions of GIC creationZenghui Yu2022-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 98f94ce42ac6 ("KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to separate helper") wrongly converted a "real" GIC device creation to __kvm_test_create_device() and caused the test failure on my D05 (which supports v2 emulation). Fix it. Fixes: 98f94ce42ac6 ("KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to separate helper") Signed-off-by: Zenghui Yu <yuzenghui@huawei.com> Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221009033131.365-1-yuzenghui@huawei.com
| | * KVM: arm64: Enable stack protection and branch profiling for VHEVincent Donnefort2022-10-092-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For historical reasons, the VHE code inherited the build configuration from nVHE. Now those two parts have their own folder and makefile, we can enable stack protection and branch profiling for VHE. Signed-off-by: Vincent Donnefort <vdonnefort@google.com> Reviewed-by: Quentin Perret <qperret@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221004154216.2833636-1-vdonnefort@google.com
| | * KVM: arm64: Limit stage2_apply_range() batch size to largest blockOliver Upton2022-10-092-21/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently stage2_apply_range() works on a batch of memory addressed by a stage 2 root table entry for the VM. Depending on the IPA limit of the VM and PAGE_SIZE of the host, this could address a massive range of memory. Some examples: 4 level, 4K paging -> 512 GB batch size 3 level, 64K paging -> 4TB batch size Unsurprisingly, working on such a large range of memory can lead to soft lockups. When running dirty_log_perf_test: ./dirty_log_perf_test -m -2 -s anonymous_thp -b 4G -v 48 watchdog: BUG: soft lockup - CPU#0 stuck for 45s! [dirty_log_perf_:16703] Modules linked in: vfat fat cdc_ether usbnet mii xhci_pci xhci_hcd sha3_generic gq(O) CPU: 0 PID: 16703 Comm: dirty_log_perf_ Tainted: G O 6.0.0-smp-DEV #1 pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : dcache_clean_inval_poc+0x24/0x38 lr : clean_dcache_guest_page+0x28/0x4c sp : ffff800021763990 pmr_save: 000000e0 x29: ffff800021763990 x28: 0000000000000005 x27: 0000000000000de0 x26: 0000000000000001 x25: 00400830b13bc77f x24: ffffad4f91ead9c0 x23: 0000000000000000 x22: ffff8000082ad9c8 x21: 0000fffafa7bc000 x20: ffffad4f9066ce50 x19: 0000000000000003 x18: ffffad4f92402000 x17: 000000000000011b x16: 000000000000011b x15: 0000000000000124 x14: ffff07ff8301d280 x13: 0000000000000000 x12: 00000000ffffffff x11: 0000000000010001 x10: fffffc0000000000 x9 : ffffad4f9069e580 x8 : 000000000000000c x7 : 0000000000000000 x6 : 000000000000003f x5 : ffff07ffa2076980 x4 : 0000000000000001 x3 : 000000000000003f x2 : 0000000000000040 x1 : ffff0830313bd000 x0 : ffff0830313bcc40 Call trace: dcache_clean_inval_poc+0x24/0x38 stage2_unmap_walker+0x138/0x1ec __kvm_pgtable_walk+0x130/0x1d4 __kvm_pgtable_walk+0x170/0x1d4 __kvm_pgtable_walk+0x170/0x1d4 __kvm_pgtable_walk+0x170/0x1d4 kvm_pgtable_stage2_unmap+0xc4/0xf8 kvm_arch_flush_shadow_memslot+0xa4/0x10c kvm_set_memslot+0xb8/0x454 __kvm_set_memory_region+0x194/0x244 kvm_vm_ioctl_set_memory_region+0x58/0x7c kvm_vm_ioctl+0x49c/0x560 __arm64_sys_ioctl+0x9c/0xd4 invoke_syscall+0x4c/0x124 el0_svc_common+0xc8/0x194 do_el0_svc+0x38/0xc0 el0_svc+0x2c/0xa4 el0t_64_sync_handler+0x84/0xf0 el0t_64_sync+0x1a0/0x1a4 Use the largest supported block mapping for the configured page size as the batch granularity. In so doing the walker is guaranteed to visit a leaf only once. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221007234151.461779-3-oliver.upton@linux.dev
| | * KVM: arm64: Work out supported block level at compile timeOliver Upton2022-10-091-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work out the minimum page table level where KVM supports block mappings at compile time. While at it, rewrite the comment around supported block mappings to directly describe what KVM supports instead of phrasing in terms of what it does not. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221007234151.461779-2-oliver.upton@linux.dev
* | | Revert "mfd: syscon: Remove repetition of the regmap_get_val_endian()"Jason A. Donenfeld2022-10-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 72a95859728a7866522e6633818bebc1c2519b17. It broke reboots on big-endian MIPS and MIPS64 malta QEMU instances, which use the syscon driver. Little-endian is not effected, which means likely it's important to handle regmap_get_val_endian() in this function after all. Fixes: 72a95859728a ("mfd: syscon: Remove repetition of the regmap_get_val_endian()") Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Lee Jones <lee@kernel.org> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>