Message ID | 20180123164848.33426-1-Evgeniy.Didin@synopsys.com |
---|---|
State | Changes Requested |
Delegated to: | John Crispin |
Headers | show |
Series | [LEDE-DEV] archs38: bump kernel to 4.14. | expand |
Hi, On 01/23/2018 05:48 PM, Evgeniy Didin wrote: > Update Linux kernel version from 4.9 to 4.14 for archs38. > config-4.14 was simply regenerated with "make kernel_menuconfig". > > Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: John Crispin <john@phrozen.org> > --- > target/linux/archs38/Makefile | 2 +- > target/linux/archs38/{config-4.9 => config-4.14} | 52 +++++++++++----------- > ...stmmac-Disable-frame-filtering-completely.patch | 0 > 3 files changed, 28 insertions(+), 26 deletions(-) > rename target/linux/archs38/{config-4.9 => config-4.14} (85%) > rename target/linux/archs38/{patches-4.9 => patches-4.14}/700-stmmac-Disable-frame-filtering-completely.patch (100%) When compiling I am getting this error: ..... Building modules, stage 2. MODPOST 14 modules ERROR: "abort" [lib/mpi/mpi.ko] undefined! scripts/Makefile.modpost:92: recipe for target '__modpost' failed make[6]: *** [__modpost] Error 1 Makefile:1215: recipe for target 'modules' failed make[5]: *** [modules] Error 2 ....... This module has the abort symbol: hauke@hauke-desktop:~/openwrt/lede$ nm build_dir/target-arc_archs_uClibc/linux-archs38_generic/linux-4.14.14/lib/mpi/mpi.ko |fgrep abort U abort hauke@hauke-desktop:~/openwrt/lede$ This is my configuration: hauke@hauke-desktop:~/openwrt/lede$ ./scripts/diffconfig.sh CONFIG_TARGET_archs38=y CONFIG_TARGET_archs38_generic=y CONFIG_TARGET_archs38_generic_Default=y CONFIG_PACKAGE_kmod-crypto-aead=y CONFIG_PACKAGE_kmod-crypto-authenc=y CONFIG_PACKAGE_kmod-crypto-hash=y CONFIG_PACKAGE_kmod-crypto-hw-ccp=y CONFIG_PACKAGE_kmod-crypto-manager=y CONFIG_PACKAGE_kmod-crypto-null=y CONFIG_PACKAGE_kmod-crypto-pcompress=y CONFIG_PACKAGE_kmod-crypto-rsa=y CONFIG_PACKAGE_kmod-crypto-sha1=y CONFIG_PACKAGE_kmod-crypto-sha256=y CONFIG_PACKAGE_kmod-random-core=y I am also using your new toolchain based on gcc 7.1. Does the arc CPU also need some special handling like some MIPS CPUs: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bbc25bee37d2b32cf3a1fab9195b6da3a185614a > diff --git a/target/linux/archs38/patches-4.9/700-stmmac-Disable-frame-filtering-completely.patch b/target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch > similarity index 100% > rename from target/linux/archs38/patches-4.9/700-stmmac-Disable-frame-filtering-completely.patch > rename to target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch Is this patch still needed? Did you check if this problem still exists with kernel 4.14? Hauke
Hi Claudiu, Could you please comment on the question from Hauke below? On Sat, 2018-01-27 at 16:36 +0100, Hauke Mehrtens wrote: > Does the arc CPU also need some special handling like some MIPS CPUs: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bbc25bee37d2b32cf3a1fab9195b6da3a185614a -Alexey
Hi, The compiler generates calls to special functions (like the one in question _multi3) if it doesn’t have a way how to solve it (via compiler backend rules). This function is implemented by the libgcc which will have a default method to address the functionality in question. Now, from the link which you gave me, I understand users are not very happy with the _multi3 implementation (128 bit multiplication) in MIPS cores, therefore, they come up with an patched implementation. In ARC backend we try to address these issues, but if there is a problem, I will be happy to fix it. Anyhow, if you see any issue with code gen (improvements/bugs), I would recommend you to send it over and I will spend some time in fixing them directly in the compiler. Cheers, Claudiu > -----Original Message----- > From: Alexey Brodkin > Sent: Monday, January 29, 2018 2:38 PM > To: Claudiu Zissulescu <claziss@synopsys.com> > Cc: john@phrozen.org; lede-dev@lists.infradead.org; hauke@hauke-m.de; > Evgeniy.Didin@synopsys.com; linux-snps-arc@lists.infradead.org > Subject: Re: [LEDE-DEV] [PATCH] archs38: bump kernel to 4.14. > > Hi Claudiu, > > Could you please comment on the question from Hauke below? > > On Sat, 2018-01-27 at 16:36 +0100, Hauke Mehrtens wrote: > > Does the arc CPU also need some special handling like some MIPS CPUs: > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i > d=bbc25bee37d2b32cf3a1fab9195b6da3a185614a > > -Alexey
Hello Hauke, There are two patches, which solves problem with undefined "Abort": https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/comm it/?id=7c2c11b208be09c156573fc0076b7b3646e05219 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/comm it/?id=dc8635b78cd8669c37e230058d18c33af7451ab1 These patches are applied in Linux 4.15 ver. I have placed these patches in target/linux/generic/backport-4.14 and build finished without errors. I expect these patches will be backported in upstream 4.14 branch anytime soon. Until these patches are accepted should I add them with separate patch or should I add them in patch-series with kernel version update for archs38? Best regards, Evgeniy Didin
On 01/29/2018 04:35 PM, Evgeniy Didin wrote: > Hello Hauke, > > There are two patches, which solves problem with undefined "Abort": > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/comm > it/?id=7c2c11b208be09c156573fc0076b7b3646e05219 > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/comm > it/?id=dc8635b78cd8669c37e230058d18c33af7451ab1 > > These patches are applied in Linux 4.15 ver. > > I have placed these patches in target/linux/generic/backport-4.14 and > build finished without errors. > > I expect these patches will be backported in upstream 4.14 branch > anytime soon. Until these patches are accepted should I add them with > separate patch or should I add them in patch-series with kernel version > update for archs38? Please create a separate patch which adds these to patches to target/linux/generic/backport-4.14 I haven't seen them in the 4.14 stable queue: https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-4.14 You could write to the stable mailing list to get this backported to stable kernel 4.14, see this for details: https://github.com/torvalds/linux/blob/master/Documentation/process/stable-kernel-rules.rst Hauke
diff --git a/target/linux/archs38/Makefile b/target/linux/archs38/Makefile index ef1785217f..be6be0472b 100644 --- a/target/linux/archs38/Makefile +++ b/target/linux/archs38/Makefile @@ -13,7 +13,7 @@ BOARDNAME:=Synopsys DesignWare ARC HS38 MAINTAINER:=Alexey Brodkin <abrodkin@synopsys.com> SUBTARGETS:=generic -KERNEL_PATCHVER:=4.9 +KERNEL_PATCHVER:=4.14 DEVICE_TYPE:=developerboard diff --git a/target/linux/archs38/config-4.9 b/target/linux/archs38/config-4.14 similarity index 85% rename from target/linux/archs38/config-4.9 rename to target/linux/archs38/config-4.14 index 997a3c2338..39db6a57d1 100644 --- a/target/linux/archs38/config-4.9 +++ b/target/linux/archs38/config-4.14 @@ -2,8 +2,13 @@ CONFIG_ARC=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set -# CONFIG_ARCH_HAS_SG_CHAIN is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set +# CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set +# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set +# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +# CONFIG_ARCH_WANTS_THP_SWAP is not set CONFIG_ARC_BUILTIN_DTB_NAME="" CONFIG_ARC_CACHE=y CONFIG_ARC_CACHE_LINE_SHIFT=6 @@ -14,11 +19,10 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_PARANOIA is not set CONFIG_ARC_DW2_UNWIND=y -CONFIG_ARC_HAS_COH_CACHES=y +# CONFIG_ARC_HAS_ACCL_REGS is not set CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set CONFIG_ARC_HAS_DIV_REM=y -CONFIG_ARC_HAS_GFRC=y CONFIG_ARC_HAS_ICACHE=y # CONFIG_ARC_HAS_ICCM is not set CONFIG_ARC_HAS_LL64=y @@ -29,20 +33,19 @@ CONFIG_ARC_KVADDR_SIZE=256 CONFIG_ARC_MCIP=y # CONFIG_ARC_METAWARE_HLINK is not set CONFIG_ARC_MMU_V4=y -CONFIG_ARC_NUMBER_OF_INTERRUPTS=32 # CONFIG_ARC_PAGE_SIZE_16K is not set # CONFIG_ARC_PAGE_SIZE_4K is not set CONFIG_ARC_PAGE_SIZE_8K=y CONFIG_ARC_PLAT_AXS10X=y # CONFIG_ARC_PLAT_EZNPS is not set -CONFIG_ARC_PLAT_SIM=y # CONFIG_ARC_PLAT_TB10X is not set # CONFIG_ARC_SMP_HALT_ON_RESET is not set +# CONFIG_ARC_SOC_HSDK is not set +CONFIG_ARC_TIMERS=y +CONFIG_ARC_TIMERS_64BIT=y CONFIG_ARC_UBOOT_SUPPORT=y CONFIG_AXS103=y CONFIG_CLKDEV_LOOKUP=y -CONFIG_CLKSRC_OF=y -CONFIG_CLKSRC_PROBE=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y # CONFIG_CPU_BIG_ENDIAN is not set @@ -58,13 +61,20 @@ CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_DMA_NOOP_OPS is not set +# CONFIG_DMA_VIRT_OPS is not set +# CONFIG_DRM_LIB_RANDOM is not set CONFIG_DTC=y +CONFIG_DWMAC_ANARION=y +# CONFIG_DWMAC_DWC_QOS_ETH is not set CONFIG_DWMAC_GENERIC=y CONFIG_DW_APB_ICTL=y +CONFIG_EXPORTFS=y CONFIG_EXT4_FS=y # CONFIG_EZNPS_GIC is not set CONFIG_FIXED_PHY=y CONFIG_FS_MBCACHE=y +CONFIG_FUTEX_PI=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_FIND_FIRST_BIT=y @@ -77,6 +87,7 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GPIOLIB=y CONFIG_GPIO_DWAPB=y CONFIG_GPIO_GENERIC=y +# CONFIG_GRO_CELLS is not set CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y @@ -107,14 +118,12 @@ CONFIG_ISA_ARCV2=y CONFIG_JBD2=y CONFIG_KALLSYMS=y CONFIG_KERNEL_GZIP=y -# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LIBFDT=y CONFIG_LINUX_LINK_BASE=0x80000000 +CONFIG_LINUX_RAM_BASE=0x80000000 CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_MDIO_BOARDINFO=y -# CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVICE=y CONFIG_MFD_SYSCON=y CONFIG_MIGHT_HAVE_PCI=y CONFIG_MMC=y @@ -126,7 +135,6 @@ CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_RELA=y -# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NATIONAL_PHY=y # CONFIG_NET_CADENCE is not set @@ -157,7 +165,6 @@ CONFIG_OF_MDIO=y CONFIG_OF_NET=y CONFIG_OF_RESERVED_MEM=y CONFIG_PADATA=y -# CONFIG_PCI is not set # CONFIG_PCI_SYSCALL is not set CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 @@ -168,23 +175,13 @@ CONFIG_PREEMPT_COUNT=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_RCU=y CONFIG_PTP_1588_CLOCK=y -CONFIG_PWRSEQ_EMMC=y -CONFIG_PWRSEQ_SIMPLE=y CONFIG_RATIONAL=y # CONFIG_RCU_BOOST is not set +CONFIG_RCU_NEED_SEGCBLIST=y CONFIG_RCU_STALL_COMMON=y CONFIG_REGMAP=y CONFIG_REGMAP_MMIO=y -# CONFIG_RESET_ATH79 is not set -# CONFIG_RESET_BERLIN is not set CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_LPC18XX is not set -# CONFIG_RESET_MESON is not set -# CONFIG_RESET_PISTACHIO is not set -# CONFIG_RESET_SOCFPGA is not set -# CONFIG_RESET_STM32 is not set -# CONFIG_RESET_SUNXI is not set -# CONFIG_RESET_ZYNQ is not set CONFIG_RFS_ACCEL=y CONFIG_RPS=y # CONFIG_SCHED_INFO is not set @@ -204,7 +201,12 @@ CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y CONFIG_SWPHY=y +CONFIG_TASKS_RCU=y +CONFIG_THIN_ARCHIVES=y CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TREE_SRCU=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_USB_SUPPORT=y CONFIG_XPS=y diff --git a/target/linux/archs38/patches-4.9/700-stmmac-Disable-frame-filtering-completely.patch b/target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch similarity index 100% rename from target/linux/archs38/patches-4.9/700-stmmac-Disable-frame-filtering-completely.patch rename to target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
Update Linux kernel version from 4.9 to 4.14 for archs38. config-4.14 was simply regenerated with "make kernel_menuconfig". Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: John Crispin <john@phrozen.org> --- target/linux/archs38/Makefile | 2 +- target/linux/archs38/{config-4.9 => config-4.14} | 52 +++++++++++----------- ...stmmac-Disable-frame-filtering-completely.patch | 0 3 files changed, 28 insertions(+), 26 deletions(-) rename target/linux/archs38/{config-4.9 => config-4.14} (85%) rename target/linux/archs38/{patches-4.9 => patches-4.14}/700-stmmac-Disable-frame-filtering-completely.patch (100%)