diff mbox series

[LEDE-DEV] archs38: bump kernel to 4.14.

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

Commit Message

Evgeniy Didin Jan. 23, 2018, 4:48 p.m. UTC
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%)

Comments

Hauke Mehrtens Jan. 27, 2018, 3:36 p.m. UTC | #1
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
Alexey Brodkin Jan. 29, 2018, 1:37 p.m. UTC | #2
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
Claudiu Zissulescu Jan. 29, 2018, 2:03 p.m. UTC | #3
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
Evgeniy Didin Jan. 29, 2018, 3:35 p.m. UTC | #4
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
Hauke Mehrtens Jan. 29, 2018, 11:12 p.m. UTC | #5
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 mbox series

Patch

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