From 6225f249799112e7d0e9f56a8f07ab8d7aa27ddf Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Tue, 15 Oct 2024 16:18:14 +0300 Subject: [PATCH] updpatch: linux 6.11.3.arch1-1 - Set CONFIG_SUNXI_WATCHDOG=y to avoid sunxi watchdog resetting the board because the individual module loads at ~44s but the watchdog timeout is only 16s. - Make CONFIG_REGULATOR_SUN20I a module like other regulators. - Add a patch to disable FORTIFY_SOURCE for T-Head errata code to fix booting on devices like D1 and TH1520. --- linux/riscv64.config-patch | 169 +++++++++++++------------- linux/riscv64.patch | 28 ++--- linux/thead-errata-fortify.patch | 114 +++++++++++++++++ linux/timer-sun4i-d1-regression.patch | 64 ---------- riscv.defconfig | 4 +- 5 files changed, 215 insertions(+), 164 deletions(-) create mode 100644 linux/thead-errata-fortify.patch delete mode 100644 linux/timer-sun4i-d1-regression.patch diff --git a/linux/riscv64.config-patch b/linux/riscv64.config-patch index 7461cb29d..0c43b54e7 100644 --- a/linux/riscv64.config-patch +++ b/linux/riscv64.config-patch @@ -1,5 +1,5 @@ ---- .config 2024-10-06 10:27:07.816388409 +0200 -+++ .config 2024-10-06 10:30:22.774836527 +0200 +--- .config.orig 2024-10-15 06:49:07.692458166 -0400 ++++ .config 2024-10-15 06:54:04.299736278 -0400 @@ -38,12 +38,12 @@ CONFIG_HAVE_KERNEL_LZ4=y CONFIG_HAVE_KERNEL_ZSTD=y @@ -15,7 +15,7 @@ # CONFIG_KERNEL_UNCOMPRESSED is not set CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="archlinux" -@@ -339,29 +339,37 @@ +@@ -341,29 +341,37 @@ CONFIG_PGTABLE_LEVELS=5 CONFIG_LOCKDEP_SUPPORT=y CONFIG_RISCV_DMA_NONCOHERENT=y @@ -63,7 +63,7 @@ # end of CPU errata selection # -@@ -380,6 +388,7 @@ +@@ -382,6 +390,7 @@ CONFIG_NUMA=y CONFIG_NODES_SHIFT=5 CONFIG_RISCV_ALTERNATIVE=y @@ -71,7 +71,7 @@ CONFIG_RISCV_ISA_C=y CONFIG_RISCV_ISA_SVNAPOT=y CONFIG_RISCV_ISA_SVPBMT=y -@@ -500,14 +509,17 @@ +@@ -502,14 +511,17 @@ # CPU Idle # CONFIG_CPU_IDLE=y @@ -90,7 +90,7 @@ # end of RISC-V CPU Idle Drivers # end of CPU Idle -@@ -534,9 +546,10 @@ +@@ -536,9 +548,10 @@ # # CPU frequency scaling drivers # @@ -104,7 +104,7 @@ # end of CPU Frequency scaling # end of CPU Power Management -@@ -569,6 +582,7 @@ +@@ -571,6 +584,7 @@ CONFIG_ACPI_TAD=m CONFIG_ACPI_DOCK=y CONFIG_ACPI_PROCESSOR_IDLE=y @@ -112,7 +112,7 @@ CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_IPMI=m CONFIG_ACPI_THERMAL=y -@@ -1924,6 +1938,7 @@ +@@ -1926,6 +1940,7 @@ # # Device Drivers # @@ -120,7 +120,7 @@ CONFIG_HAVE_PCI=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_PCI=y -@@ -1952,6 +1967,7 @@ +@@ -1954,6 +1969,7 @@ CONFIG_PCI_PF_STUB=m CONFIG_PCI_ATS=y CONFIG_PCI_DOE=y @@ -128,7 +128,7 @@ CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y -@@ -1970,8 +1986,9 @@ +@@ -1972,8 +1988,9 @@ # PCI controller drivers # # CONFIG_PCI_FTPCI100 is not set @@ -140,7 +140,7 @@ # # Cadence-based PCIe controllers -@@ -1987,6 +2004,7 @@ +@@ -1989,6 +2006,7 @@ CONFIG_PCI_MESON=m CONFIG_PCIE_DW_PLAT=y CONFIG_PCIE_DW_PLAT_HOST=y @@ -148,7 +148,7 @@ # end of DesignWare-based PCIe controllers # -@@ -1997,7 +2015,9 @@ +@@ -1999,7 +2017,9 @@ # # PLDA-based PCIe controllers # @@ -159,7 +159,7 @@ # end of PLDA-based PCIe controllers # end of PCI controller drivers -@@ -2101,6 +2121,8 @@ +@@ -2103,6 +2123,8 @@ # Bus devices # # CONFIG_MOXTET is not set @@ -168,7 +168,7 @@ CONFIG_MHI_BUS=m # CONFIG_MHI_BUS_DEBUG is not set CONFIG_MHI_BUS_PCI_GENERIC=m -@@ -2111,6 +2133,8 @@ +@@ -2113,6 +2135,8 @@ # Cache Drivers # # CONFIG_AX45MP_L2_CACHE is not set @@ -177,7 +177,7 @@ # end of Cache Drivers CONFIG_CONNECTOR=y -@@ -2163,6 +2187,8 @@ +@@ -2165,6 +2189,8 @@ CONFIG_EFI_COCO_SECRET=y # end of EFI (Extensible Firmware Interface) Support @@ -186,7 +186,7 @@ # # Qualcomm firmware drivers # -@@ -2269,6 +2295,7 @@ +@@ -2271,6 +2297,7 @@ # CONFIG_MTD_NAND_DENALI_PCI is not set # CONFIG_MTD_NAND_DENALI_DT is not set # CONFIG_MTD_NAND_CAFE is not set @@ -194,7 +194,7 @@ # CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_PLATFORM is not set -@@ -2641,6 +2668,7 @@ +@@ -2643,6 +2670,7 @@ CONFIG_SATA_AHCI_PLATFORM=m CONFIG_AHCI_DWC=m # CONFIG_AHCI_CEVA is not set @@ -202,7 +202,7 @@ CONFIG_SATA_INIC162X=m CONFIG_SATA_ACARD_AHCI=m CONFIG_SATA_SIL24=m -@@ -2960,6 +2988,8 @@ +@@ -2962,6 +2990,8 @@ CONFIG_ET131X=m CONFIG_NET_VENDOR_ALACRITECH=y CONFIG_SLICOSS=m @@ -211,7 +211,7 @@ CONFIG_NET_VENDOR_ALTEON=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set -@@ -3263,6 +3293,9 @@ +@@ -3265,6 +3295,9 @@ CONFIG_STMMAC_PLATFORM=m # CONFIG_DWMAC_DWC_QOS_ETH is not set CONFIG_DWMAC_GENERIC=m @@ -221,7 +221,7 @@ # CONFIG_DWMAC_INTEL_PLAT is not set CONFIG_STMMAC_PCI=m CONFIG_NET_VENDOR_SUN=y -@@ -3393,6 +3426,7 @@ +@@ -3395,6 +3428,7 @@ CONFIG_CAN_JANZ_ICAN3=m CONFIG_CAN_KVASER_PCIEFD=m CONFIG_CAN_SLCAN=m @@ -229,7 +229,7 @@ CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PCI=m -@@ -3460,6 +3494,7 @@ +@@ -3462,6 +3496,7 @@ CONFIG_OF_MDIO=m CONFIG_ACPI_MDIO=m CONFIG_MDIO_DEVRES=m @@ -237,7 +237,7 @@ CONFIG_MDIO_BITBANG=m CONFIG_MDIO_BCM_UNIMAC=m CONFIG_MDIO_CAVIUM=m -@@ -3477,6 +3512,7 @@ +@@ -3479,6 +3514,7 @@ # # MDIO Multiplexers # @@ -245,7 +245,7 @@ # CONFIG_MDIO_BUS_MUX_GPIO is not set # CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set # CONFIG_MDIO_BUS_MUX_MMIOREG is not set -@@ -3997,8 +4033,10 @@ +@@ -3999,8 +4035,10 @@ CONFIG_KEYBOARD_OPENCORES=m CONFIG_KEYBOARD_PINEPHONE=m CONFIG_KEYBOARD_SAMSUNG=m @@ -256,7 +256,7 @@ CONFIG_KEYBOARD_IQS62X=m # CONFIG_KEYBOARD_OMAP4 is not set CONFIG_KEYBOARD_TM2_TOUCHKEY=m -@@ -4184,6 +4222,7 @@ +@@ -4186,6 +4224,7 @@ CONFIG_TOUCHSCREEN_SIS_I2C=m CONFIG_TOUCHSCREEN_ST1232=m CONFIG_TOUCHSCREEN_STMFTS=m @@ -264,7 +264,7 @@ CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SURFACE3_SPI=m CONFIG_TOUCHSCREEN_SX8654=m -@@ -4278,6 +4317,7 @@ +@@ -4280,6 +4319,7 @@ CONFIG_SERIO=m CONFIG_SERIO_SERPORT=m CONFIG_SERIO_PARKBD=m @@ -272,7 +272,7 @@ CONFIG_SERIO_PCIPS2=m CONFIG_SERIO_LIBPS2=m CONFIG_SERIO_RAW=m -@@ -4285,6 +4325,7 @@ +@@ -4287,6 +4327,7 @@ CONFIG_SERIO_PS2MULT=m CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_APBPS2 is not set @@ -280,7 +280,7 @@ CONFIG_SERIO_GPIO_PS2=m CONFIG_USERIO=m CONFIG_GAMEPORT=m -@@ -4333,16 +4374,18 @@ +@@ -4335,16 +4376,18 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DWLIB=y CONFIG_SERIAL_8250_DFL=m @@ -302,7 +302,7 @@ CONFIG_SERIAL_MAX3100=m CONFIG_SERIAL_MAX310X=m CONFIG_SERIAL_UARTLITE=m -@@ -4350,7 +4393,8 @@ +@@ -4352,7 +4395,8 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m @@ -312,7 +312,7 @@ CONFIG_SERIAL_SCCNXP=m CONFIG_SERIAL_SC16IS7XX=m CONFIG_SERIAL_SC16IS7XX_I2C=m -@@ -4376,6 +4420,7 @@ +@@ -4378,6 +4422,7 @@ CONFIG_MOXA_INTELLIO=m CONFIG_MOXA_SMARTIO=m CONFIG_N_HDLC=m @@ -320,7 +320,7 @@ CONFIG_IPWIRELESS=m # CONFIG_N_GSM is not set CONFIG_NOZOMI=m -@@ -4404,8 +4449,10 @@ +@@ -4406,8 +4451,10 @@ CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_BA431=m CONFIG_HW_RANDOM_VIRTIO=m @@ -331,7 +331,7 @@ CONFIG_APPLICOM=m CONFIG_DEVMEM=y CONFIG_DEVPORT=y -@@ -4510,6 +4557,9 @@ +@@ -4512,6 +4559,9 @@ CONFIG_I2C_GPIO=m # CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_KEMPLD=m @@ -341,7 +341,7 @@ CONFIG_I2C_OCORES=m CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_RK3X is not set -@@ -4578,9 +4628,12 @@ +@@ -4580,9 +4630,12 @@ CONFIG_SPI_MICROCHIP_CORE_QSPI=m CONFIG_SPI_OC_TINY=m CONFIG_SPI_PCI1XXXX=m @@ -354,7 +354,7 @@ CONFIG_SPI_MXIC=m CONFIG_SPI_XCOMM=m CONFIG_SPI_XILINX=m -@@ -4635,7 +4688,9 @@ +@@ -4637,7 +4690,9 @@ # end of PTP clock support CONFIG_PINCTRL=y @@ -364,7 +364,7 @@ CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set -@@ -4667,6 +4722,35 @@ +@@ -4669,6 +4724,35 @@ # # end of Renesas pinctrl drivers @@ -400,7 +400,7 @@ CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y -@@ -4675,7 +4759,7 @@ +@@ -4677,7 +4761,7 @@ # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y @@ -409,7 +409,7 @@ CONFIG_GPIO_REGMAP=m CONFIG_GPIO_SWNODE_UNDEFINED=y CONFIG_GPIO_MAX730X=m -@@ -4697,7 +4781,8 @@ +@@ -4699,7 +4783,8 @@ # CONFIG_GPIO_LOGICVC is not set CONFIG_GPIO_MB86S7X=m CONFIG_GPIO_MENZ127=m @@ -419,7 +419,7 @@ CONFIG_GPIO_SIOX=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_WCD934X is not set -@@ -4832,15 +4917,15 @@ +@@ -4834,15 +4919,15 @@ CONFIG_POWER_RESET=y CONFIG_POWER_RESET_ATC260X=m @@ -439,7 +439,7 @@ # CONFIG_SYSCON_REBOOT_MODE is not set # CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_POWER_SEQUENCING=m -@@ -5143,6 +5228,7 @@ +@@ -5145,6 +5230,7 @@ CONFIG_SENSORS_SCH5627=m CONFIG_SENSORS_SCH5636=m CONFIG_SENSORS_STTS751=m @@ -447,7 +447,7 @@ CONFIG_SENSORS_ADC128D818=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m -@@ -5202,10 +5288,13 @@ +@@ -5204,10 +5290,13 @@ CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y @@ -462,15 +462,15 @@ # CONFIG_DA9062_THERMAL is not set CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y -@@ -5246,6 +5335,7 @@ +@@ -5248,6 +5337,7 @@ CONFIG_RAVE_SP_WATCHDOG=m CONFIG_CADENCE_WATCHDOG=m CONFIG_DW_WATCHDOG=m -+CONFIG_SUNXI_WATCHDOG=m ++CONFIG_SUNXI_WATCHDOG=y CONFIG_TWL4030_WATCHDOG=m CONFIG_MAX63XX_WATCHDOG=m CONFIG_RETU_WATCHDOG=m -@@ -5253,6 +5343,7 @@ +@@ -5255,6 +5345,7 @@ CONFIG_I6300ESB_WDT=m CONFIG_KEMPLD_WDT=m CONFIG_MEN_A21_WDT=m @@ -478,7 +478,7 @@ # # PCI-based Watchdog Cards -@@ -5294,6 +5385,7 @@ +@@ -5296,6 +5387,7 @@ # CONFIG_MFD_CORE=y # CONFIG_MFD_ACT8945A is not set @@ -486,7 +486,7 @@ CONFIG_MFD_AS3711=y CONFIG_MFD_SMPRO=m # CONFIG_MFD_AS3722 is not set -@@ -5382,6 +5474,7 @@ +@@ -5384,6 +5476,7 @@ CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m # CONFIG_MFD_STMPE is not set @@ -494,7 +494,7 @@ CONFIG_MFD_SYSCON=y CONFIG_MFD_LP3943=m CONFIG_MFD_LP8788=y -@@ -5474,7 +5567,7 @@ +@@ -5476,7 +5569,7 @@ CONFIG_REGULATOR_DA9052=m CONFIG_REGULATOR_DA9055=m CONFIG_REGULATOR_DA9062=m @@ -503,15 +503,15 @@ # CONFIG_REGULATOR_DA9121 is not set CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m -@@ -5558,6 +5651,7 @@ +@@ -5560,6 +5653,7 @@ CONFIG_REGULATOR_RTQ2208=m CONFIG_REGULATOR_SKY81452=m CONFIG_REGULATOR_SLG51000=m -+CONFIG_REGULATOR_SUN20I=y ++CONFIG_REGULATOR_SUN20I=m CONFIG_REGULATOR_SY7636A=m # CONFIG_REGULATOR_SY8106A is not set # CONFIG_REGULATOR_SY8824X is not set -@@ -5618,6 +5712,7 @@ +@@ -5620,6 +5714,7 @@ CONFIG_IR_SERIAL_TRANSMITTER=y # CONFIG_IR_SPI is not set CONFIG_IR_STREAMZAP=m @@ -519,7 +519,7 @@ CONFIG_IR_TOY=m CONFIG_IR_TTUSBIR=m CONFIG_RC_ATI_REMOTE=m -@@ -6040,6 +6135,12 @@ +@@ -6039,6 +6134,12 @@ # # Sunxi media platform drivers # @@ -532,7 +532,7 @@ # # Texas Instruments drivers -@@ -6048,6 +6149,7 @@ +@@ -6047,6 +6148,7 @@ # # Verisilicon media platform drivers # @@ -540,7 +540,7 @@ # # VIA media platform drivers -@@ -6577,6 +6679,11 @@ +@@ -6576,6 +6678,11 @@ CONFIG_DRM_UDL=m CONFIG_DRM_AST=m CONFIG_DRM_MGAG200=m @@ -552,7 +552,7 @@ CONFIG_DRM_QXL=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_VIRTIO_GPU_KMS=y -@@ -6730,6 +6837,11 @@ +@@ -6729,6 +6836,11 @@ # CONFIG_DRM_I2C_ADV7511 is not set # CONFIG_DRM_CDNS_DSI is not set # CONFIG_DRM_CDNS_MHDP8546 is not set @@ -564,7 +564,7 @@ # end of Display Interface Bridges # CONFIG_DRM_ETNAVIV is not set -@@ -6791,6 +6903,7 @@ +@@ -6790,6 +6902,7 @@ # CONFIG_FB_SMSCUFX is not set # CONFIG_FB_UDL is not set # CONFIG_FB_IBM_GXT4500 is not set @@ -572,7 +572,7 @@ # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set -@@ -7147,12 +7260,24 @@ +@@ -7146,12 +7259,24 @@ CONFIG_SND_SOC_SOF_PCI=m CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_OF is not set @@ -597,7 +597,7 @@ CONFIG_SND_SOC_XILINX_I2S=m CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m CONFIG_SND_SOC_XILINX_SPDIF=m -@@ -7603,8 +7728,8 @@ +@@ -7602,8 +7727,8 @@ CONFIG_I2C_HID=m CONFIG_I2C_HID_ACPI=m CONFIG_I2C_HID_OF=m @@ -608,7 +608,7 @@ CONFIG_I2C_HID_CORE=m CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y -@@ -7716,6 +7841,7 @@ +@@ -7715,6 +7840,7 @@ CONFIG_USB_CDNS3_GADGET=y CONFIG_USB_CDNS3_HOST=y CONFIG_USB_CDNS3_PCI_WRAP=m @@ -616,7 +616,7 @@ CONFIG_USB_CDNSP_PCI=m CONFIG_USB_CDNSP_GADGET=y CONFIG_USB_CDNSP_HOST=y -@@ -7727,11 +7853,14 @@ +@@ -7726,11 +7852,14 @@ # # Platform Glue Layer # @@ -631,7 +631,7 @@ CONFIG_USB_DWC3=m CONFIG_USB_DWC3_ULPI=y # CONFIG_USB_DWC3_HOST is not set -@@ -8047,6 +8176,7 @@ +@@ -8046,6 +8175,7 @@ # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_DEBUG is not set @@ -639,7 +639,7 @@ CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_IO_ACCESSORS=y CONFIG_MMC_SDHCI_PCI=m -@@ -8055,8 +8185,8 @@ +@@ -8054,8 +8184,8 @@ CONFIG_MMC_SDHCI_PLTFM=m # CONFIG_MMC_SDHCI_OF_ARASAN is not set # CONFIG_MMC_SDHCI_OF_AT91 is not set @@ -650,7 +650,7 @@ CONFIG_MMC_SDHCI_F_SDH30=m # CONFIG_MMC_SDHCI_MILBEAUT is not set CONFIG_MMC_ALCOR=m -@@ -8065,12 +8195,21 @@ +@@ -8064,12 +8194,21 @@ CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_CB710=m CONFIG_MMC_VIA_SDMMC=m @@ -673,7 +673,7 @@ CONFIG_MMC_CQHCI=m CONFIG_MMC_HSQ=m CONFIG_MMC_TOSHIBA_PCI=m -@@ -8126,6 +8265,7 @@ +@@ -8125,6 +8264,7 @@ CONFIG_LEDS_LM3642=m # CONFIG_LEDS_LM3692X is not set CONFIG_LEDS_MT6323=m @@ -681,7 +681,7 @@ CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m -@@ -8282,6 +8422,7 @@ +@@ -8281,6 +8421,7 @@ CONFIG_EDAC=y CONFIG_EDAC_LEGACY_SYSFS=y # CONFIG_EDAC_DEBUG is not set @@ -689,7 +689,7 @@ CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y -@@ -8414,6 +8555,9 @@ +@@ -8413,6 +8554,9 @@ # # on-CPU RTC drivers # @@ -699,7 +699,7 @@ # CONFIG_RTC_DRV_CADENCE is not set CONFIG_RTC_DRV_FTRTC010=m CONFIG_RTC_DRV_PCAP=m -@@ -8425,7 +8569,8 @@ +@@ -8424,7 +8568,8 @@ # HID Sensor RTC drivers # CONFIG_RTC_DRV_HID_SENSOR_TIME=m @@ -709,7 +709,7 @@ CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set -@@ -8433,13 +8578,16 @@ +@@ -8432,13 +8577,16 @@ # DMA Devices # CONFIG_DMA_ENGINE=y @@ -728,7 +728,7 @@ CONFIG_PLX_DMA=m CONFIG_XILINX_DMA=m CONFIG_XILINX_XDMA=m -@@ -8616,6 +8764,10 @@ +@@ -8615,6 +8763,10 @@ # # StarFive media platform drivers # @@ -739,7 +739,7 @@ # CONFIG_STAGING_MEDIA_DEPRECATED is not set CONFIG_LTE_GDM724X=m # CONFIG_FB_TFT is not set -@@ -8629,7 +8781,8 @@ +@@ -8628,7 +8780,8 @@ CONFIG_FIELDBUS_DEV=m # CONFIG_HMS_ANYBUSS_BUS is not set # CONFIG_VME_BUS is not set @@ -749,7 +749,7 @@ CONFIG_CZNIC_PLATFORMS=y # CONFIG_SERIAL_MULTI_INSTANTIATE is not set CONFIG_HAVE_CLK=y -@@ -8657,24 +8810,55 @@ +@@ -8656,23 +8809,54 @@ # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_VC7 is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set @@ -794,7 +794,6 @@ CONFIG_MAILBOX=y +# CONFIG_ARM_MHU is not set +# CONFIG_ARM_MHU_V2 is not set - # CONFIG_ARM_MHU_V3 is not set # CONFIG_PLATFORM_MHU is not set +# CONFIG_PL320_MBOX is not set CONFIG_PCC=y @@ -805,7 +804,7 @@ CONFIG_IOMMU_IOVA=m CONFIG_IOMMU_API=y CONFIG_IOMMUFD_DRIVER=y -@@ -8691,6 +8875,7 @@ +@@ -8689,6 +8873,7 @@ # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_OF_IOMMU=y CONFIG_IOMMUFD=m @@ -813,7 +812,7 @@ # # Remoteproc drivers -@@ -8757,6 +8942,7 @@ +@@ -8755,6 +8940,7 @@ # CONFIG_LITEX_SOC_CONTROLLER is not set # end of Enable LiteX SoC Builder specific drivers @@ -821,7 +820,7 @@ CONFIG_WPCM450_SOC=m # -@@ -8767,6 +8953,7 @@ +@@ -8765,6 +8951,7 @@ CONFIG_QCOM_QMI_HELPERS=m # end of Qualcomm SoC drivers @@ -829,7 +828,7 @@ CONFIG_SOC_TI=y # -@@ -8798,6 +8985,9 @@ +@@ -8796,6 +8983,9 @@ # Qualcomm PM Domains # # end of Qualcomm PM Domains @@ -839,7 +838,7 @@ # end of PM Domains CONFIG_PM_DEVFREQ=y -@@ -8814,6 +9004,7 @@ +@@ -8812,6 +9002,7 @@ # # DEVFREQ Drivers # @@ -847,7 +846,7 @@ CONFIG_PM_DEVFREQ_EVENT=y CONFIG_EXTCON=y -@@ -8835,6 +9026,7 @@ +@@ -8833,6 +9024,7 @@ CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON_USBC_TUSB320=m CONFIG_MEMORY=y @@ -855,7 +854,7 @@ CONFIG_FPGA_DFL_EMIF=m CONFIG_IIO=m CONFIG_IIO_BUFFER=y -@@ -8988,6 +9180,7 @@ +@@ -8986,6 +9178,7 @@ CONFIG_PALMAS_GPADC=m CONFIG_RICHTEK_RTQ6056=m CONFIG_SD_ADC_MODULATOR=m @@ -863,7 +862,7 @@ CONFIG_TI_ADC081C=m CONFIG_TI_ADC0832=m CONFIG_TI_ADC084S021=m -@@ -9531,8 +9724,10 @@ +@@ -9529,8 +9722,10 @@ CONFIG_PWM_GPIO=m CONFIG_PWM_IQS620A=m CONFIG_PWM_LP3943=m @@ -875,7 +874,7 @@ CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m # CONFIG_PWM_XILINX is not set -@@ -9551,6 +9746,7 @@ +@@ -9549,6 +9744,7 @@ CONFIG_RISCV_IMSIC=y CONFIG_RISCV_IMSIC_PCI=y CONFIG_SIFIVE_PLIC=y @@ -883,7 +882,7 @@ # end of IRQ chip support CONFIG_IPACK_BUS=m -@@ -9558,8 +9754,14 @@ +@@ -9556,8 +9752,14 @@ CONFIG_SERIAL_IPOCTAL=m CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=m @@ -898,7 +897,7 @@ # # PHY Subsystem -@@ -9567,6 +9769,10 @@ +@@ -9565,6 +9767,10 @@ CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y CONFIG_PHY_CAN_TRANSCEIVER=m @@ -909,7 +908,7 @@ # # PHY drivers for Broadcom platforms -@@ -9588,6 +9794,10 @@ +@@ -9586,6 +9792,10 @@ CONFIG_PHY_QCOM_USB_HS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_SAMSUNG_USB2=m @@ -920,7 +919,7 @@ CONFIG_PHY_TUSB1210=m # end of PHY Subsystem -@@ -9604,6 +9814,7 @@ +@@ -9602,6 +9812,7 @@ CONFIG_RISCV_PMU=y CONFIG_RISCV_PMU_LEGACY=y CONFIG_RISCV_PMU_SBI=y @@ -928,7 +927,7 @@ CONFIG_DWC_PCIE_PMU=m CONFIG_CXL_PMU=m # end of Performance monitor support -@@ -9650,6 +9861,7 @@ +@@ -9648,6 +9859,7 @@ CONFIG_NVMEM_RAVE_SP_EEPROM=m CONFIG_NVMEM_RMEM=m @@ -936,7 +935,7 @@ # CONFIG_NVMEM_U_BOOT_ENV is not set # -@@ -10448,6 +10660,14 @@ +@@ -10449,6 +10661,14 @@ # end of Accelerated Cryptographic Algorithms for CPU (riscv) CONFIG_CRYPTO_HW=y @@ -951,7 +950,7 @@ CONFIG_CRYPTO_DEV_ATMEL_I2C=m CONFIG_CRYPTO_DEV_ATMEL_ECC=m CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m -@@ -10469,6 +10689,7 @@ +@@ -10470,6 +10690,7 @@ # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y diff --git a/linux/riscv64.patch b/linux/riscv64.patch index 7738e65e9..6ca89b643 100644 --- a/linux/riscv64.patch +++ b/linux/riscv64.patch @@ -1,5 +1,5 @@ diff --git PKGBUILD PKGBUILD -index 0c098de..bfc32ed 100644 +index 71b747f..fd17150 100644 --- PKGBUILD +++ PKGBUILD @@ -35,6 +35,8 @@ source=( @@ -7,26 +7,26 @@ index 0c098de..bfc32ed 100644 $url/releases/download/$_srctag/linux-$_srctag.patch.zst{,.sig} config # the main kernel config file + riscv64.config-patch -+ timer-sun4i-d1-regression.patch ++ thead-errata-fortify.patch ) validpgpkeys=( ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds -@@ -46,12 +48,16 @@ sha256sums=('ec9ef7a0b9cebb55940e1ef87a1f9e1004b10456a119dc386bb3e565b0d39c42' +@@ -46,12 +48,16 @@ sha256sums=('057263d0afc17d5253794afd3d239ba4da4aa734b22fa36c1665f41b95449b73' 'SKIP' - '86e2959cac748ff503f33e40d5994acc3eb5008b9ff9ca2a7e2d264c107a4b24' + '30683bfd1ee6cfcb9a1491fc52306f94282c252964f88da14e8b21b32af82920' 'SKIP' -- '6be68246a4abf8c4a71b94f315076b482bf6e99447d4c67a24f8e8b4aadda0eb') -+ '6be68246a4abf8c4a71b94f315076b482bf6e99447d4c67a24f8e8b4aadda0eb' -+ 'a4c78d6605f57dd5a3a5c94f5eda2ba737e98de9639c69bd4bd9d79ee80b43f1' -+ '87637edacf2e3bdf68f389d06a242ab162404aef90d1e78306b6a04e09f62c0f') - b2sums=('5720e8dd0bed0247dcfe0bdbce17e36e67bff56811611ae1b04f048b77b6e60c2a48303db73c5a0d4a56c7125cdd695116c4dfd965bd7cb28aa932f427bb3e7d' +- '6c4d63503c77465232fe4ed42671261b476bb0bfd1223b1a3da4afcc1cd615fb') ++ '6c4d63503c77465232fe4ed42671261b476bb0bfd1223b1a3da4afcc1cd615fb' ++ '8ccf3ea2787a7a9f1bedf6da371ca9f9cf7149922dbd8f3282cc80c1975866f0' ++ '0675518a76f9515c93b551ffe8970eb16e9b0eb8a589920dadab3c3e1d6b75b6') + b2sums=('69582e4745850f3ec004d87859ac88994e3715ed38cd66aff2633fbcb6c20ca2e3be83417cd2c42c2757ab4e084e622c688799b5ad28e15c391adb2afab79a68' 'SKIP' - 'a34d50594e17ea6e9e89dc9fecfcc1417db823e5bbaa7038864b6d1edfdfb38424cdb4a97b70ec57b625b72c7f239b9c1cb2acfab00af8aca5bea566de662bc4' + '9d5db395f525fff7a9d87bf6301d907fefa7f864bc7be712a72d17ceefefb6cd09afe19153df43ab5cd4d2c7abce9a1bfe974b909c5f27e4b818fffa29932a73' 'SKIP' -- '632406cbbd14ac1db306bd2dacc21ecf0320cbf04f028c6d09290404af63e642a873295a6bc7db14c6e395c910d5c8f731efd39e52f3ac8de51596d434236c2b') -+ '632406cbbd14ac1db306bd2dacc21ecf0320cbf04f028c6d09290404af63e642a873295a6bc7db14c6e395c910d5c8f731efd39e52f3ac8de51596d434236c2b' -+ '71c50608f143d2c2d2afa878a7a06b9c441974dd7496cb24380bc128489eaf3f08cbdd60feed7c0526583e0327fb0bfb70d75347fa3e250a72aac73ce51987f8' -+ '6049506a3b300e6cf4eaf68ec326a862eea1cac7bc3c2f8223edd2087afe91400dbba6c4b59184bfb8701a514f14875b8f8cec079cdf10a7fa22b6da923c848d') +- '9ab6e9162c8a443dab748b8a6be946d5b112c617c4192a6219c515c23883e30978838411491c86c08679e559f952e5a6d727f5bacde00e18bbb60004ef0c213f') ++ '9ab6e9162c8a443dab748b8a6be946d5b112c617c4192a6219c515c23883e30978838411491c86c08679e559f952e5a6d727f5bacde00e18bbb60004ef0c213f' ++ '1f865f286ba877906989aec3e6a8c88869963f74d196e836047b8945d7f71213a9af95555ddafa70facd1f8f22a2e9cf4e4a51547bbe8fc0365e50283e9f5df9' ++ '0ddab841eef8a6b76ab0b523e93f2b80188dc79a68729efdddf509c8a2f7b2debed964c04762a5088f492a2adbc3347425a4ecb49690bb771f1eabb68d343426') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase diff --git a/linux/thead-errata-fortify.patch b/linux/thead-errata-fortify.patch new file mode 100644 index 000000000..e17b89af5 --- /dev/null +++ b/linux/thead-errata-fortify.patch @@ -0,0 +1,114 @@ +From: Alexandre Ghiti +To: Paul Walmsley , + Palmer Dabbelt , + Albert Ou , + Heiko Stuebner , + Alexandre Ghiti , + =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , + linux-riscv@lists.infradead.org, + linux-kernel@vger.kernel.org +Cc: Jason Montleon , + stable@vger.kernel.org +Subject: [PATCH -fixes] riscv: Do not use fortify in early code +Date: Wed, 9 Oct 2024 09:27:49 +0200 +Message-Id: <20241009072749.45006-1-alexghiti@rivosinc.com> +X-Mailer: git-send-email 2.39.2 +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20241009_002756_623574_9A10A7EE +X-CRM114-Status: GOOD ( 10.05 ) +X-BeenThere: linux-riscv@lists.infradead.org +X-Mailman-Version: 2.1.34 +Precedence: list +List-Id: +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit +Sender: "linux-riscv" +Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org + +Early code designates the code executed when the MMU is not yet enabled, +and this comes with some limitations (see +Documentation/arch/riscv/boot.rst, section "Pre-MMU execution"). + +FORTIFY_SOURCE must be disabled then since it can trigger kernel panics +as reported in [1]. + +Reported-by: Jason Montleon +Closes: https://lore.kernel.org/linux-riscv/CAJD_bPJes4QhmXY5f63GHV9B9HFkSCoaZjk-qCT2NGS7Q9HODg@mail.gmail.com/ [1] +Fixes: a35707c3d850 ("riscv: add memory-type errata for T-Head") +Fixes: 26e7aacb83df ("riscv: Allow to downgrade paging mode from the command line") +Cc: stable@vger.kernel.org +Signed-off-by: Alexandre Ghiti +--- + arch/riscv/errata/Makefile | 6 ++++++ + arch/riscv/kernel/Makefile | 5 +++++ + arch/riscv/kernel/pi/Makefile | 6 +++++- + 3 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/arch/riscv/errata/Makefile b/arch/riscv/errata/Makefile +index 8a2739485123..f0da9d7b39c3 100644 +--- a/arch/riscv/errata/Makefile ++++ b/arch/riscv/errata/Makefile +@@ -2,6 +2,12 @@ ifdef CONFIG_RELOCATABLE + KBUILD_CFLAGS += -fno-pie + endif + ++ifdef CONFIG_RISCV_ALTERNATIVE_EARLY ++ifdef CONFIG_FORTIFY_SOURCE ++KBUILD_CFLAGS += -D__NO_FORTIFY ++endif ++endif ++ + obj-$(CONFIG_ERRATA_ANDES) += andes/ + obj-$(CONFIG_ERRATA_SIFIVE) += sifive/ + obj-$(CONFIG_ERRATA_THEAD) += thead/ +diff --git a/arch/riscv/kernel/Makefile b/arch/riscv/kernel/Makefile +index 7f88cc4931f5..69dc8aaab3fb 100644 +--- a/arch/riscv/kernel/Makefile ++++ b/arch/riscv/kernel/Makefile +@@ -36,6 +36,11 @@ KASAN_SANITIZE_alternative.o := n + KASAN_SANITIZE_cpufeature.o := n + KASAN_SANITIZE_sbi_ecall.o := n + endif ++ifdef CONFIG_FORTIFY_SOURCE ++CFLAGS_alternative.o += -D__NO_FORTIFY ++CFLAGS_cpufeature.o += -D__NO_FORTIFY ++CFLAGS_sbi_ecall.o += -D__NO_FORTIFY ++endif + endif + + extra-y += vmlinux.lds +diff --git a/arch/riscv/kernel/pi/Makefile b/arch/riscv/kernel/pi/Makefile +index d5bf1bc7de62..81d69d45c06c 100644 +--- a/arch/riscv/kernel/pi/Makefile ++++ b/arch/riscv/kernel/pi/Makefile +@@ -16,8 +16,12 @@ KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO), $(KBUILD_CFLAGS)) + KBUILD_CFLAGS += -mcmodel=medany + + CFLAGS_cmdline_early.o += -D__NO_FORTIFY +-CFLAGS_lib-fdt_ro.o += -D__NO_FORTIFY + CFLAGS_fdt_early.o += -D__NO_FORTIFY ++# lib/string.c already defines __NO_FORTIFY ++CFLAGS_ctype.o += -D__NO_FORTIFY ++CFLAGS_lib-fdt.o += -D__NO_FORTIFY ++CFLAGS_lib-fdt_ro.o += -D__NO_FORTIFY ++CFLAGS_archrandom_early.o += -D__NO_FORTIFY + + $(obj)/%.pi.o: OBJCOPYFLAGS := --prefix-symbols=__pi_ \ + --remove-section=.note.gnu.property \ +-- +2.39.2 + + +_______________________________________________ +linux-riscv mailing list +linux-riscv@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-riscv + diff --git a/linux/timer-sun4i-d1-regression.patch b/linux/timer-sun4i-d1-regression.patch deleted file mode 100644 index 502ca6388..000000000 --- a/linux/timer-sun4i-d1-regression.patch +++ /dev/null @@ -1,64 +0,0 @@ -Commit 8ec99b033147 ("irqchip/sifive-plic: Convert PLIC driver into a -platform driver") broke the MMIO timer on the Allwinner D1 SoC because -the IRQ domain is no longer available when timer_probe() is called: - - [ 0.000000] irq: no irq domain found for interrupt-controller@10000000 ! - [ 0.000000] Failed to map interrupt for /soc/timer@2050000 - [ 0.000000] Failed to initialize '/soc/timer@2050000': -22 - -Fix this by wrapping the timer initialization in a platform driver. -builtin_platform_driver_probe() must be used because the driver uses -timer_of_init(), which is marked as __init. Only convert the sun8i -variants of the hardware, because some older SoCs still need the timer -probed early for sched_clock(). - -Fixes: 8ec99b033147 ("irqchip/sifive-plic: Convert PLIC driver into a platform driver") -Signed-off-by: Samuel Holland ---- - - drivers/clocksource/timer-sun4i.c | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/drivers/clocksource/timer-sun4i.c b/drivers/clocksource/timer-sun4i.c -index 7bdcc60ad43c..728dac2baa84 100644 ---- a/drivers/clocksource/timer-sun4i.c -+++ b/drivers/clocksource/timer-sun4i.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - #include "timer-of.h" - -@@ -218,9 +219,24 @@ static int __init sun4i_timer_init(struct device_node *node) - } - TIMER_OF_DECLARE(sun4i, "allwinner,sun4i-a10-timer", - sun4i_timer_init); --TIMER_OF_DECLARE(sun8i_a23, "allwinner,sun8i-a23-timer", -- sun4i_timer_init); --TIMER_OF_DECLARE(sun8i_v3s, "allwinner,sun8i-v3s-timer", -- sun4i_timer_init); - TIMER_OF_DECLARE(suniv, "allwinner,suniv-f1c100s-timer", - sun4i_timer_init); -+ -+static int __init sun4i_timer_probe(struct platform_device *pdev) -+{ -+ return sun4i_timer_init(dev_of_node(&pdev->dev)); -+} -+ -+static const struct of_device_id sun4i_timer_of_match[] = { -+ { .compatible = "allwinner,sun8i-a23-timer" }, -+ { .compatible = "allwinner,sun8i-v3s-timer" }, -+ { /* sentinel */ } -+}; -+ -+static struct platform_driver sun4i_timer_driver = { -+ .driver = { -+ .name = "sun4i-timer", -+ .of_match_table = sun4i_timer_of_match, -+ }, -+}; -+builtin_platform_driver_probe(sun4i_timer_driver, sun4i_timer_probe); --- -2.43.1 diff --git a/riscv.defconfig b/riscv.defconfig index f81049284..c59cb9b77 100644 --- a/riscv.defconfig +++ b/riscv.defconfig @@ -75,7 +75,8 @@ CONFIG_SUN8I_DE2_CCU=m CONFIG_KEYBOARD_SUN4I_LRADC=m CONFIG_I2C_MV64XXX=m CONFIG_SPI_SUN6I=m -CONFIG_SUNXI_WATCHDOG=m +# watchdog needs to be initialized early to avoid rebooting (default timeout is 16s set by uboot) +CONFIG_SUNXI_WATCHDOG=y CONFIG_DRM_SUN4I=m CONFIG_USB_MUSB_SUNXI=m CONFIG_MMC_SUNXI=m @@ -100,6 +101,7 @@ CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y CONFIG_SUN20I_PPU=y CONFIG_SND_SUN50I_DMIC=m CONFIG_SUN20I_GPADC=m +CONFIG_REGULATOR_SUN20I=m # Others CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO_RESTART=y