Re: [OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK

2019-01-02 Thread Daniel F. Dickinson
On 2019-01-02 8:58 p.m., Daniel F. Dickinson wrote:
> On 2019-01-02 3:06 p.m., Daniel F. Dickinson wrote:
>> Hi,
>>
>> With the SDK I'm getting errors with LTO -- at least for json-c LD is
>> trying to load the *target's* LTO plugin instead of host.
>>
>> 7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so:
>> error loading plugin:
>> /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so:
>> invalid ELF header
> So it turns out that for the SDK that it turns libraries into
> library.bin and the original *.so* becomes a bash script.  Apparently
> GCC doesn't like that, at least for it's own plugins.

Ok, building the SDK on Debian 9 solves the issue.  The SDK built on
Ubuntu 18.10 has the issue even if used on Debian 9, so it's the
building of the SDK where the issue, whatever it is, occurs.  As I have
a handy Debian VM I'm not going to worry too much about it at the
moment, unless there is a patch someone needs me to test.

Regards,

Daniel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ath79: ag71xx: Fix tx queue timeouts during ifup

2019-01-02 Thread Petr Štetiar
On ath79 and UBNT Bullet M XW (ar9342) I was experiencing weird issues during
network setup[1] which I was able to reproduce easily with following commands:

 uci set network.lan.ipaddr='192.168.1.20'
 uci commit network
 ifup lan

Which resulted after some time in:

 ...
 WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x16c/0x280
 NETDEV WATCHDOG: eth0 (ag71xx): transmit queue 0 timed out
 ...

Sometimes I wasn't able to use networking anymore, sometimes it was enough to
just ifdown/ifup lan and network was backup. On ar71xx it was all working just
fine.

I've found out, that it was happening because ag71xx_poll() wasn't called, thus
the TX queue wasn't emptied. The ag71xx_poll() is being called from napi
hrtimer, which is enabled by napi_schedule() in ar71xx_interrupt(), but since
no interrupts were ever fired again after ag71xx_stop() was called, it was
always leading to tx queue timeouts:

 *** ag71xx_hard_start_xmit()
 eth0: packet injected into TX queue
 eth0: raw intr=0001 TXPS POLL
 eth0: enable polling mode
 eth0: processing TX ring, flush=no
 eth0: disable polling mode, rx=1, tx=1,limit=32

 ( `ifup lan done here` )

 *** ag71xx_stop()
 *** ag71xx_open()
 *** ag71xx_hw_enable()
 IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
 IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
 *** ag71xx_hard_start_xmit()
 eth0: packet injected into TX queue
 *** ag71xx_hard_start_xmit()
 eth0: packet injected into TX queue
 ...
 WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x164/0x274

So I've looked at ag71xx_stop() in ar71xx, added the missing bits to ath79 and
fixed this issue.

1. https://github.com/openwrt/openwrt/pull/1635#issuecomment-448638246

Signed-off-by: Petr Štetiar 
---
 .../ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c | 8 
 1 file changed, 8 insertions(+)

diff --git 
a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 
b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
index 70ca024..32e1e2a 100644
--- a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++ b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -805,12 +805,20 @@ err:
 
 static int ag71xx_stop(struct net_device *dev)
 {
+   unsigned long flags;
struct ag71xx *ag = netdev_priv(dev);
 
netif_carrier_off(dev);
phy_stop(ag->phy_dev);
ag71xx_hw_disable(ag);
 
+   spin_lock_irqsave(>lock, flags);
+   if (ag->link) {
+   ag->link = 0;
+   ag71xx_link_adjust(ag);
+   }
+   spin_unlock_irqrestore(>lock, flags);
+
return 0;
 }
 
-- 
1.9.1


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK

2019-01-02 Thread Daniel F. Dickinson
On 2019-01-02 3:06 p.m., Daniel F. Dickinson wrote:
> Hi,
>
> With the SDK I'm getting errors with LTO -- at least for json-c LD is
> trying to load the *target's* LTO plugin instead of host.
>
> 7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so:
> error loading plugin:
> /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so:
> invalid ELF header
So it turns out that for the SDK that it turns libraries into
library.bin and the original *.so* becomes a bash script.  Apparently
GCC doesn't like that, at least for it's own plugins.

Regards,

Daniel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Flexible first-boot message

2019-01-02 Thread W. Michael Petullo
OpenWrt presently prints the following the first time it boots:

=== WARNING! =
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--

This message is contained as a here document in /etc/profile.

I am interested in changing this message on the images I build. It
occured to me that an easy way to do this would be to move the message
from the here document to something like /etc/finish-install. I could
then overwrite /etc/finish-install with my message during the image-build
process.

Is there any appetite to do something like this?

-- 
Mike

:wq

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK

2019-01-02 Thread Daniel F. Dickinson
On 2019-01-02 3:06 p.m., Daniel F. Dickinson wrote:
> Hi,
>
> With the SDK I'm getting errors with LTO -- at least for json-c LD is
> trying to load the *target's* LTO plugin instead of host.
>
For reference the error in the previous maili is *in* the SDK.  Same
package being compiled for inclusion in the SDK has:

configure:3318: $? = 0
configure:3307: arm-openwrt-linux-muslgnueabi-gcc -v >&5
Reading specs from
/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/specs
COLLECT_GCC=arm-openwrt-linux-muslgnueabi-gcc
COLLECT_LTO_WRAPPER=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/lto-wrapper
Target: arm-openwrt-linux-muslgnueabi
Configured with:
/home/daniel/Build/openwrt-pi/build_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/gcc-7.4.0/configure
--with-bugurl=http://www.lede-project.org/bugs/
--with-pkgversion='OpenWrt GCC 7.4.0 r8970+3-5c4277ec37'
--prefix=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=arm-openwrt-linux-muslgnueabi --with-gnu-ld
--enable-target-optspace --disable-libgomp --disable-libmudflap
--disable-multilib --disable-libmpx --disable-nls --without-isl
--without-cloog --with-host-libstdcxx=-lstdc++
--with-gmp=/home/daniel/Build/openwrt-pi/staging_dir/host
--with-mpfr=/home/daniel/Build/openwrt-pi/staging_dir/host
--with-mpc=/home/daniel/Build/openwrt-pi/staging_dir/host
--disable-decimal-float --with-diagnostics-color=auto-if-env
--disable-libssp --enable-__cxa_atexit --with-float=hard
--with-headers=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/include
--disable-libsanitizer --enable-languages=c,c++ --enable-shared
--enable-threads
--with-slibdir=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/lib
--enable-lto --with-libelf=/home/daniel/Build/openwrt-pi/staging_dir/host

succeeds.  So there is some issue with the SDK it seems.  (At least on
Ubuntu 18.10).


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK

2019-01-02 Thread Daniel F. Dickinson
Hi,

With the SDK I'm getting errors with LTO -- at least for json-c LD is
trying to load the *target's* LTO plugin instead of host.

Not sure where to start looking for this.

Some relevant config:

'like buildbot'
when building SDK: all packages and kernel mods and target specific
packages.

Is LTO used by default normally or is some package (in base) enabling
it, but it's not expected to the be normal case?

Compile log below:


Thread model: posix
gcc version 7.4.0 (OpenWrt GCC 7.4.0 r8970+3-5c4277ec37)
configure:3318: $? = 0
configure:3307: arm-openwrt-linux-muslgnueabi-gcc -V >&5
arm-openwrt-linux-muslgnueabi-gcc: error: unrecognized command line
option '-V'
arm-openwrt-linux-muslgnueabi-gcc: fatal error: no input files
compilation terminated.
configure:3318: $? = 1
configure:3307: arm-openwrt-linux-muslgnueabi-gcc -qversion >&5
arm-openwrt-linux-muslgnueabi-gcc: error: unrecognized command line
option '-qversion'; did you mean '--version'?
arm-openwrt-linux-muslgnueabi-gcc: fatal error: no input files
compilation terminated.
configure:3318: $? = 1
configure:3338: checking whether the C compiler works
configure:3360: arm-openwrt-linux-muslgnueabi-gcc -Os -pipe
-mcpu=arm1176jzf-s -mfpu=vfp -fno-caller-saves -fno-plt -fhonour-copts
-Wno-error=unused-but-set-variable -Wno-error=unused-result
-mfloat-abi=hard
-iremap/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/build_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/json-c-0.12.1:json-c-0.12.1
-Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1
-Wl,-z,now -Wl,-z,relro -fpic -Wno-implicit-fallthrough 
-I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/usr/include
-I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/include
-I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/usr/include
-I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/include/fortify
-I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/include
 
-L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/usr/lib
-L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/lib
-L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/usr/lib
-L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/lib
-znow -zrelro  conftest.c  >&5
/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ld:
/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so:
error loading plugin:
/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so:
invalid ELF header
collect2: error: ld returned 1 exit status
configure:3364: $? = 1
configure:3402: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "json-c"
| #define PACKAGE_TARNAME "json-c"
| #define PACKAGE_VERSION "0.12.1"
| #define PACKAGE_STRING "json-c 0.12.1"
| #define PACKAGE_BUGREPORT "jso...@googlegroups.com"
| #define PACKAGE_URL ""
| #define PACKAGE "json-c"
| #define VERSION "0.12.1"
| /* end confdefs.h.  */

Regards,

Daniel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/3] bzip2: fix hardening build

2019-01-02 Thread Hauke Mehrtens
Set the LDFLAGS otherwise it will not get the target hardening flags or
any other generic flags provided in the LDFLAGS

Signed-off-by: Hauke Mehrtens 
---
 package/utils/bzip2/Makefile | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/utils/bzip2/Makefile b/package/utils/bzip2/Makefile
index 9b5b824e71..d26e215757 100644
--- a/package/utils/bzip2/Makefile
+++ b/package/utils/bzip2/Makefile
@@ -56,14 +56,14 @@ define Package/bzip2/description
 endef
 
 TARGET_CFLAGS += \
-   $(FPIC) \
-   $(TARGET_LDFLAGS)
+   $(FPIC)
 
 CONFIGURE_ARGS += --prefix=/usr
 
 MAKE_FLAGS += \
-f Makefile-libbz2_so \
CFLAGS="$(TARGET_CFLAGS)" \
+   LDFLAGS="$(TARGET_LDFLAGS)" \
all
 
 define Build/InstallDev
@@ -89,11 +89,11 @@ define Package/bzip2/install
 endef
 
 HOST_CFLAGS += \
-   $(FPIC) \
-   $(HOST_LDFLAGS)
+   $(FPIC)
 
 HOST_MAKE_FLAGS+= \
CFLAGS="$(HOST_CFLAGS)" \
+   LDFLAGS="$(HOST_LDFLAGS)" \
all
 
 HOST_CONFIGURE_ARGS+= \
-- 
2.19.2


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/3] musl: Activate hardening features

2019-01-02 Thread Hauke Mehrtens
This activates the hardening features controlled over the LDFLAGS

Signed-off-by: Hauke Mehrtens 
---
 toolchain/musl/common.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk
index 234709103c..d48212f625 100644
--- a/toolchain/musl/common.mk
+++ b/toolchain/musl/common.mk
@@ -33,6 +33,7 @@ TARGET_CFLAGS:= $(filter-out -O%,$(TARGET_CFLAGS))
 MUSL_CONFIGURE:= \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
+   LDFLAGS="$(TARGET_LDFLAGS)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
$(HOST_BUILD_DIR)/configure \
--prefix=/ \
-- 
2.19.2


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/3] gcc: Activate hardening features for libgcc

2019-01-02 Thread Hauke Mehrtens
This includes the hardening.mk before the code gets compiled and then
also sets the LDFLAGS for the libgcc and other applications.

Signed-off-by: Hauke Mehrtens 
---
 include/toolchain-build.mk | 1 +
 toolchain/gcc/common.mk| 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk
index 883d74d25c..35d8c9380e 100644
--- a/include/toolchain-build.mk
+++ b/include/toolchain-build.mk
@@ -12,6 +12,7 @@ HOST_BUILD_PREFIX:=$(TOOLCHAIN_DIR)
 BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
 
 include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/hardening.mk
 
 HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared
 
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index b75fce57ef..e3b3f90821 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -191,7 +191,8 @@ GCC_MAKE:= \
CFLAGS="$(HOST_CFLAGS)" \
CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \
CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \
-   GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)"
+   GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \
+   LDFLAGS_FOR_TARGET="$(TARGET_LDFLAGS)"
 
 define Host/SetToolchainInfo
$(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' 
$(TOOLCHAIN_DIR)/info.mk
-- 
2.19.2


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] gdb: The signal definitions of musl and gdb collide

2019-01-02 Thread Hauke Mehrtens
The kernel defines "struct sigcontext" in asm/sigcontext.h and musl libc
defines it in signal.h which collides.
Kernel 4.14 misses the definitions of struct user_sve_header so we still
have to use the aarch64-sve-linux-sigcontext.h header file which also
provides that and make sure aarch64-sve-linux-sigcontext.h does not
provide the same headers as the kernel or musl.

Fixes: FS#2040
Signed-off-by: Hauke Mehrtens 
---
 .../gdb/patches/010-aarch64-headers.patch | 44 +++
 1 file changed, 44 insertions(+)
 create mode 100644 package/devel/gdb/patches/010-aarch64-headers.patch

diff --git a/package/devel/gdb/patches/010-aarch64-headers.patch 
b/package/devel/gdb/patches/010-aarch64-headers.patch
new file mode 100644
index 00..a718a8c6a4
--- /dev/null
+++ b/package/devel/gdb/patches/010-aarch64-headers.patch
@@ -0,0 +1,44 @@
+The signal definitions of musl and gdb collide
+
+The kernel defines "struct sigcontext" in asm/sigcontext.h and musl libc 
+defines it in signal.h which collides. 
+Kernel 4.14 misses the definitions of struct user_sve_header so we still 
+have to use the aarch64-sve-linux-sigcontext.h header file which also 
+provides that and make sure aarch64-sve-linux-sigcontext.h does not 
+provide the same headers as the kernel or musl.
+
+--- a/gdb/nat/aarch64-sve-linux-ptrace.h
 b/gdb/nat/aarch64-sve-linux-ptrace.h
+@@ -20,12 +20,12 @@
+ #ifndef AARCH64_SVE_LINUX_PTRACE_H
+ #define AARCH64_SVE_LINUX_PTRACE_H
+ 
+-#include 
++#include 
+ #include 
+ #include 
+ #include 
+ 
+-#ifndef SVE_SIG_ZREGS_SIZE
++#ifndef SVE_PT_REGS_SVE
+ #include "aarch64-sve-linux-sigcontext.h"
+ #endif
+ 
+--- a/gdb/nat/aarch64-sve-linux-sigcontext.h
 b/gdb/nat/aarch64-sve-linux-sigcontext.h
+@@ -19,6 +19,7 @@
+ #ifndef AARCH64_SVE_LINUX_SIGCONTEXT_H
+ #define AARCH64_SVE_LINUX_SIGCONTEXT_H
+ 
++#ifndef SVE_MAGIC
+ #define SVE_MAGIC 0x53564501
+ 
+ struct sve_context {
+@@ -128,6 +129,7 @@ struct sve_context {
+   (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
+ 
+ #define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
++#endif
+ 
+ /* SVE/FP/SIMD state (NT_ARM_SVE) */
+ 
-- 
2.19.2


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 0/7] procd: console hotplugging support

2019-01-02 Thread Karl Palsson


Hi,

I'll save that for when I get back to it :)

Here's how I packaged the g_cdc (ethernet+cdc-acm together)

https://github.com/karlp/openwrt/commit/40c791f5bfbbf6825087db2fc87f88a73f7fa94c

I've got a few other patches for gadgetmode, but some of it needs
a bitmore testing yet, so I've not proposed it to openwrt yet.

Cheers,
Karl P


Michael Heimpold  wrote:
> Hi Karl,
> 
> if you want to test it, here are the missing pieces roughly
> explained:
> - I used kmod-usb-gadget-eth and kmod-usb-gadget-serial
>   I know that there is another (older?) kernel module which also provides
>   a network and console interface at the same time, but this must be
>   configured via kernel command line parameter if I understand correctly
>   so I've chosen to test this configfs approach
> - add a line to inittab like this:
>ttyGS0::askfirst:/usr/libexec/login.sh
> - patch /etc/hotplug.json on your device like this:
> 
> diff --git a/package/system/procd/files/hotplug.json
> b/package/system/procd/
> files/hotplug.json 
> index 1c949bbea3..25806637cc 100644   
>  
> --- a/package/system/procd/files/hotplug.json 
>  
> +++ b/package/system/procd/files/hotplug.json 
>  
> @@ -33,6 +33,10 @@
>  
> [ "load-firmware", "/lib/firmware" ], 
>  
> [ "return" ]  
>  
> ] 
>  
> + ],  
>  
> + [ "if", 
>  
> + [ "regex", "DEVNAME", "^tty[A-Za-z0-9]" ],  
>  
> + [ "start-console", "%DEVNAME%" ]
>  
> ] 
>  
> ],
>  
> "remove" : [
> 
> - I used a shell script found at 
> http://irq5.io/2016/12/22/raspberry-pi-zero-as-multiple-usb-gadgets/
>  to configure the gadget
> 
> I'll send a patch for hotplug.json after I got some feedback
> for this procd stuff or better - in case this is merged,
> because otherwise we have a dependency issue otherwise...
> Another point on my list is auto-mounting of configfs to the
> right place. I'm feeling that this should not be part of the
> shell script but be done at a central place - still unsure
> where to put it because configfs is an optional kernel module
> and thus available later during boot...
> 
> Best regards,
> Michael
> 
> Am Mittwoch, 2. Januar 2019, 12:38:30 CET schrieb Karl Palsson:
> > Michael Heimpold  wrote:
> > > This series extends procd to allow starting consoles for
> > > devices which are not present during boot or after kernel
> > > module loading. This is for example the case when a USB gadget
> > > serial device is created with configfs. Here the kernel module
> > > is loaded but the tty device only appears after gadget is
> > > configured. Having a console configured in inittab for e.g.
> > > ttyGS0 does not work at the moment due to late appearing of
> > > this device.
> > 
> > Thanks for doing this, I had been planning on using this (console
> > on gadget serial), and didn't even know it didn't work (yet)
> > until your mails! Much appreciated!
> > 
> > Cheers,
> > Karl P
> 
> 
> 
> 

signature.html
Description: OpenPGP Digital Signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/4] x86: Copy for kernel 4.19

2019-01-02 Thread Hauke Mehrtens
This copied to patches and the configuration for kernel 4.14 to kernel
4.19 without any manual modifications.

Signed-off-by: Hauke Mehrtens 
---
 target/linux/x86/64/config-4.19   | 433 +++
 target/linux/x86/config-4.19  | 522 ++
 target/linux/x86/generic/config-4.19  | 428 ++
 target/linux/x86/geode/config-4.19| 145 +
 target/linux/x86/legacy/config-4.19   | 214 +++
 .../patches-4.19/011-tune_lzma_options.patch  |  22 +
 .../100-fix_cs5535_clockevt.patch |  12 +
 .../200-pcengines-apu2-reboot.patch   |  19 +
 ...0-hwmon-w83627ehf-dont-claim-nct677x.patch |  30 +
 9 files changed, 1825 insertions(+)
 create mode 100644 target/linux/x86/64/config-4.19
 create mode 100644 target/linux/x86/config-4.19
 create mode 100644 target/linux/x86/generic/config-4.19
 create mode 100644 target/linux/x86/geode/config-4.19
 create mode 100644 target/linux/x86/legacy/config-4.19
 create mode 100644 target/linux/x86/patches-4.19/011-tune_lzma_options.patch
 create mode 100644 target/linux/x86/patches-4.19/100-fix_cs5535_clockevt.patch
 create mode 100644 
target/linux/x86/patches-4.19/200-pcengines-apu2-reboot.patch
 create mode 100644 
target/linux/x86/patches-4.19/800-hwmon-w83627ehf-dont-claim-nct677x.patch

diff --git a/target/linux/x86/64/config-4.19 b/target/linux/x86/64/config-4.19
new file mode 100644
index 00..eef5383750
--- /dev/null
+++ b/target/linux/x86/64/config-4.19
@@ -0,0 +1,433 @@
+CONFIG_64BIT=y
+CONFIG_ACPI=y
+CONFIG_ACPI_AC=y
+CONFIG_ACPI_BATTERY=y
+# CONFIG_ACPI_BGRT is not set
+CONFIG_ACPI_BUTTON=y
+# CONFIG_ACPI_CMPC is not set
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_CPPC_LIB=y
+CONFIG_ACPI_CPU_FREQ_PSS=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+# CONFIG_ACPI_DEBUG is not set
+# CONFIG_ACPI_DEBUGGER is not set
+# CONFIG_ACPI_DOCK is not set
+# CONFIG_ACPI_EC_DEBUGFS is not set
+CONFIG_ACPI_FAN=y
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
+# CONFIG_ACPI_I2C_OPREGION is not set
+CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
+# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_ACPI_PROCESSOR=y
+# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_PROCESSOR_CSTATE=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
+# CONFIG_ACPI_SBS is not set
+CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+CONFIG_ACPI_THERMAL=y
+# CONFIG_ACPI_WMI is not set
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
+CONFIG_ARCH_HAS_ADD_PAGES=y
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
+CONFIG_ARCH_HAS_ZONE_DEVICE=y
+CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
+CONFIG_ARCH_MMAP_RND_BITS=28
+CONFIG_ARCH_MMAP_RND_BITS_MAX=32
+CONFIG_ARCH_MMAP_RND_BITS_MIN=28
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_WANTS_THP_SWAP=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_MQ_VIRTIO=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+CONFIG_CONNECTOR=y
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
+CONFIG_CPU_RMAP=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_X86_64=y
+# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
+# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
+# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
+# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
+# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
+CONFIG_CRYPTO_CRCT10DIF=y
+# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
+CONFIG_CRYPTO_CRYPTD=y
+# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_NULL2=y
+# CONFIG_CRYPTO_POLY1305_X86_64 is not set
+# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
+# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
+# CONFIG_CRYPTO_SHA1_MB is not set
+# CONFIG_CRYPTO_SHA1_SSSE3 is not set
+# CONFIG_CRYPTO_SHA256_MB is not set
+# CONFIG_CRYPTO_SHA256_SSSE3 is not set
+# CONFIG_CRYPTO_SHA512_MB is not set
+# CONFIG_CRYPTO_SHA512_SSSE3 is not set
+CONFIG_CRYPTO_SIMD=y
+# CONFIG_CRYPTO_SKEIN is not set
+# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
+# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
+# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
+CONFIG_CRYPTO_XTS=y
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+# CONFIG_DPTF_POWER is not set
+# CONFIG_EARLY_PRINTK_EFI is not set
+CONFIG_EFI=y
+CONFIG_EFIVAR_FS=m
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# 

[OpenWrt-Devel] [PATCH 4/4] x86: Make patches 4.19 apply

2019-01-02 Thread Hauke Mehrtens
This refreshed the configuration and the patches on top of kernel 4.19.

The legacy and the genode target will not support PAE any more because
they use a CPU type which does not support PAE, the generic sub target
still supports PAE.

Signed-off-by: Hauke Mehrtens 
---
 target/linux/x86/64/config-4.19   | 38 +++---
 target/linux/x86/config-4.19  | 70 +++
 target/linux/x86/generic/config-4.19  | 48 ++---
 target/linux/x86/geode/config-4.19| 16 +
 target/linux/x86/legacy/config-4.19   | 24 ---
 .../patches-4.19/011-tune_lzma_options.patch  |  2 +-
 6 files changed, 110 insertions(+), 88 deletions(-)

diff --git a/target/linux/x86/64/config-4.19 b/target/linux/x86/64/config-4.19
index eef5383750..49b453e210 100644
--- a/target/linux/x86/64/config-4.19
+++ b/target/linux/x86/64/config-4.19
@@ -8,7 +8,6 @@ CONFIG_ACPI_BUTTON=y
 CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_CPPC_LIB=y
 CONFIG_ACPI_CPU_FREQ_PSS=y
-# CONFIG_ACPI_CUSTOM_DSDT is not set
 # CONFIG_ACPI_DEBUG is not set
 # CONFIG_ACPI_DEBUGGER is not set
 # CONFIG_ACPI_DOCK is not set
@@ -18,6 +17,7 @@ CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
 # CONFIG_ACPI_I2C_OPREGION is not set
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
+CONFIG_ACPI_LPIT=y
 # CONFIG_ACPI_PCI_SLOT is not set
 CONFIG_ACPI_PROCESSOR=y
 # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
@@ -26,15 +26,21 @@ CONFIG_ACPI_PROCESSOR_IDLE=y
 # CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
 # CONFIG_ACPI_SBS is not set
+CONFIG_ACPI_SPCR_TABLE=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+# CONFIG_ACPI_TAD is not set
 CONFIG_ACPI_THERMAL=y
 # CONFIG_ACPI_WMI is not set
 CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ARCH_HAS_ADD_PAGES=y
 CONFIG_ARCH_HAS_KCOV=y
 CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
 CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
+CONFIG_ARCH_HAS_UACCESS_MCSAFE=y
 CONFIG_ARCH_HAS_ZONE_DEVICE=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ARCH_MMAP_RND_BITS=28
@@ -53,6 +59,7 @@ CONFIG_BALLOON_COMPACTION=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_MQ_VIRTIO=y
 # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+CONFIG_BTT=y
 CONFIG_CALGARY_IOMMU=y
 CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
 CONFIG_CONNECTOR=y
@@ -92,18 +99,17 @@ CONFIG_CRYPTO_NULL2=y
 # CONFIG_CRYPTO_SHA512_MB is not set
 # CONFIG_CRYPTO_SHA512_SSSE3 is not set
 CONFIG_CRYPTO_SIMD=y
-# CONFIG_CRYPTO_SKEIN is not set
 # CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
 # CONFIG_CRYPTO_TWOFISH_X86_64 is not set
 # CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
 CONFIG_CRYPTO_XTS=y
 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
 # CONFIG_DPTF_POWER is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 # CONFIG_EARLY_PRINTK_EFI is not set
 CONFIG_EFI=y
 CONFIG_EFIVAR_FS=m
 # CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_DEV_PATH_PARSER is not set
 CONFIG_EFI_ESRT=y
 # CONFIG_EFI_FAKE_MEMMAP is not set
 # CONFIG_EFI_MIXED is not set
@@ -113,6 +119,7 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y
 CONFIG_EFI_STUB=y
 # CONFIG_EFI_TEST is not set
 # CONFIG_EFI_VARS is not set
+CONFIG_FAILOVER=y
 CONFIG_FB=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_FILLRECT=y
@@ -122,7 +129,6 @@ CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_EFI=y
 CONFIG_FB_HYPERV=y
 CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
 CONFIG_FB_SIMPLE=y
 CONFIG_FB_SYS_COPYAREA=y
 CONFIG_FB_SYS_FILLRECT=y
@@ -155,18 +161,18 @@ CONFIG_GPIO_SYSFS=y
 CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
-# CONFIG_HAVE_AOUT is not set
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
 CONFIG_HAVE_ARCH_KASAN=y
 CONFIG_HAVE_ARCH_SOFT_DIRTY=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
 CONFIG_HAVE_ARCH_VMAP_STACK=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
-CONFIG_HAVE_EBPF_JIT=y
 CONFIG_HAVE_FENTRY=y
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_HAVE_LIVEPATCH=y
 CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
 CONFIG_HAVE_RELIABLE_STACKTRACE=y
 CONFIG_HAVE_STACK_VALIDATION=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
@@ -205,6 +211,7 @@ CONFIG_HYPERV_UTILS=y
 # CONFIG_HYPERV_VSOCKETS is not set
 CONFIG_I2C=y
 CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_MULTI_INSTANTIATE is not set
 # CONFIG_IA32_EMULATION is not set
 CONFIG_ILLEGAL_POINTER_VALUE=0xdead
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
@@ -219,6 +226,7 @@ CONFIG_INTEL_SOC_DTS_IOSF_CORE=y
 CONFIG_INTEL_SOC_DTS_THERMAL=y
 # CONFIG_INTEL_TURBO_MAX_3 is not set
 # CONFIG_IOMMU_DEBUG is not set
+CONFIG_IOMMU_HELPER=y
 CONFIG_IOSF_MBI=y
 # CONFIG_IOSF_MBI_DEBUG is not set
 # CONFIG_ISCSI_IBFT_FIND is not set
@@ -228,8 +236,8 @@ CONFIG_KVM_GUEST=y
 # CONFIG_LCD_CLASS_DEVICE is not set
 CONFIG_LEDS_GPIO=y
 # CONFIG_LEGACY_VSYSCALL_EMULATE is not set
-# CONFIG_LEGACY_VSYSCALL_NATIVE is 

[OpenWrt-Devel] [PATCH 2/4] x86: Refresh kernel 4.14 configuration

2019-01-02 Thread Hauke Mehrtens
This refreshed the kernel configuration for kernel 4.14.
First this was run for the legacy target:
make kernel_oldconfig
Then for all targets including the legacy target this was run:
make kernel_oldconfig CONFIG_TARGET=subtarget
The option CONFIG_104_QUAD_8 was added to the generic configuration
because it would have been automatically removed.

Signed-off-by: Hauke Mehrtens 
---
 target/linux/generic/config-4.14 |  1 +
 target/linux/x86/64/config-4.14  | 13 +
 target/linux/x86/config-4.14 |  4 ++--
 target/linux/x86/generic/config-4.14 | 13 -
 target/linux/x86/geode/config-4.14   |  1 -
 target/linux/x86/legacy/config-4.14  |  6 --
 6 files changed, 12 insertions(+), 26 deletions(-)

diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14
index 617b5159bb..ffb375cb37 100644
--- a/target/linux/generic/config-4.14
+++ b/target/linux/generic/config-4.14
@@ -1,3 +1,4 @@
+# CONFIG_104_QUAD_8 is not set
 CONFIG_32BIT=y
 # CONFIG_6LOWPAN is not set
 # CONFIG_6LOWPAN_DEBUGFS is not set
diff --git a/target/linux/x86/64/config-4.14 b/target/linux/x86/64/config-4.14
index ee14a36573..eef5383750 100644
--- a/target/linux/x86/64/config-4.14
+++ b/target/linux/x86/64/config-4.14
@@ -82,7 +82,6 @@ CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_NULL2=y
 # CONFIG_CRYPTO_POLY1305_X86_64 is not set
-# CONFIG_CRYPTO_SALSA20_X86_64 is not set
 # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
 # CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
 # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
@@ -103,7 +102,6 @@ CONFIG_CRYPTO_XTS=y
 # CONFIG_EARLY_PRINTK_EFI is not set
 CONFIG_EFI=y
 CONFIG_EFIVAR_FS=m
-# CONFIG_EFI_BOOTLOADER_CONTROL is not set
 # CONFIG_EFI_CAPSULE_LOADER is not set
 # CONFIG_EFI_DEV_PATH_PARSER is not set
 CONFIG_EFI_ESRT=y
@@ -158,6 +156,7 @@ CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
 # CONFIG_HAVE_AOUT is not set
+CONFIG_HAVE_ARCH_KASAN=y
 CONFIG_HAVE_ARCH_SOFT_DIRTY=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
 CONFIG_HAVE_ARCH_VMAP_STACK=y
@@ -168,6 +167,7 @@ CONFIG_HAVE_FENTRY=y
 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_HAVE_LIVEPATCH=y
 CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_HAVE_RELIABLE_STACKTRACE=y
 CONFIG_HAVE_STACK_VALIDATION=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HIBERNATE_CALLBACKS=y
@@ -181,6 +181,7 @@ CONFIG_HOTPLUG_PCI_ACPI=y
 # CONFIG_HOTPLUG_PCI_CPCI is not set
 # CONFIG_HOTPLUG_PCI_PCIE is not set
 # CONFIG_HOTPLUG_PCI_SHPC is not set
+CONFIG_HOTPLUG_SMT=y
 CONFIG_HPET=y
 CONFIG_HPET_MMAP=y
 # CONFIG_HP_ACCEL is not set
@@ -204,7 +205,6 @@ CONFIG_HYPERV_UTILS=y
 # CONFIG_HYPERV_VSOCKETS is not set
 CONFIG_I2C=y
 CONFIG_I2C_BOARDINFO=y
-# CONFIG_I7300_IDLE is not set
 # CONFIG_IA32_EMULATION is not set
 CONFIG_ILLEGAL_POINTER_VALUE=0xdead
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
@@ -331,6 +331,7 @@ CONFIG_SPARSEMEM_EXTREME=y
 CONFIG_SPARSEMEM_MANUAL=y
 # CONFIG_SPARSEMEM_VMEMMAP is not set
 CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_STACK_VALIDATION=y
 # CONFIG_SURFACE_PRO3_BUTTON is not set
 CONFIG_SWIOTLB_XEN=y
 CONFIG_SYS_HYPERVISOR=y
@@ -340,14 +341,10 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y
 # CONFIG_TOSHIBA_BT_RFKILL is not set
 CONFIG_TREE_RCU=y
 CONFIG_TREE_SRCU=y
-# CONFIG_UNWINDER_ORC is not set
 CONFIG_UCS2_STRING=y
 # CONFIG_UNISYSSPAR is not set
-CONFIG_USB_OHCI_HCD_PCI=y
+# CONFIG_UNWINDER_ORC is not set
 CONFIG_USB_STORAGE=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_PCI=y
-# CONFIG_USB_XHCI_PLATFORM is not set
 CONFIG_VGACON_SOFT_SCROLLBACK=y
 # CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
 CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
diff --git a/target/linux/x86/config-4.14 b/target/linux/x86/config-4.14
index 4a81cbc6b8..c31783eb8f 100644
--- a/target/linux/x86/config-4.14
+++ b/target/linux/x86/config-4.14
@@ -40,7 +40,6 @@ CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_USES_PG_UNCACHED=y
@@ -182,7 +181,6 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y
 CONFIG_HAVE_ARCH_HUGE_VMAP=y
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
 CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_HAVE_ARCH_KMEMCHECK=y
 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
@@ -228,6 +226,7 @@ CONFIG_HAVE_PERF_EVENTS_NMI=y
 CONFIG_HAVE_PERF_REGS=y
 CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
@@ -312,6 +311,7 @@ CONFIG_MICROCODE=y
 CONFIG_MICROCODE_AMD=y
 CONFIG_MICROCODE_INTEL=y
 CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MIGRATION=y
 # CONFIG_MK6 is not set
 # CONFIG_MK7 is not set
 # CONFIG_MK8 is not set
diff --git 

[OpenWrt-Devel] [PATCH 1/4] x86: Use kernel specific subtarget configurations

2019-01-02 Thread Hauke Mehrtens
This makes it possible to use different sub target configurations for
kernel 4.19 for example.
To support kernel 4.9 and kernel 4.14 with the same configuration file
already needed some extra work.

Signed-off-by: Hauke Mehrtens 
---
 target/linux/x86/64/{config-default => config-4.14}  | 0
 target/linux/x86/generic/{config-default => config-4.14} | 0
 target/linux/x86/geode/{config-default => config-4.14}   | 0
 target/linux/x86/legacy/{config-default => config-4.14}  | 0
 4 files changed, 0 insertions(+), 0 deletions(-)
 rename target/linux/x86/64/{config-default => config-4.14} (100%)
 rename target/linux/x86/generic/{config-default => config-4.14} (100%)
 rename target/linux/x86/geode/{config-default => config-4.14} (100%)
 rename target/linux/x86/legacy/{config-default => config-4.14} (100%)

diff --git a/target/linux/x86/64/config-default 
b/target/linux/x86/64/config-4.14
similarity index 100%
rename from target/linux/x86/64/config-default
rename to target/linux/x86/64/config-4.14
diff --git a/target/linux/x86/generic/config-default 
b/target/linux/x86/generic/config-4.14
similarity index 100%
rename from target/linux/x86/generic/config-default
rename to target/linux/x86/generic/config-4.14
diff --git a/target/linux/x86/geode/config-default 
b/target/linux/x86/geode/config-4.14
similarity index 100%
rename from target/linux/x86/geode/config-default
rename to target/linux/x86/geode/config-4.14
diff --git a/target/linux/x86/legacy/config-default 
b/target/linux/x86/legacy/config-4.14
similarity index 100%
rename from target/linux/x86/legacy/config-default
rename to target/linux/x86/legacy/config-4.14
-- 
2.19.2


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 0/7] procd: console hotplugging support

2019-01-02 Thread Michael Heimpold
Hi Karl,

if you want to test it, here are the missing pieces roughly explained:
- I used kmod-usb-gadget-eth and kmod-usb-gadget-serial
  I know that there is another (older?) kernel module which also provides
  a network and console interface at the same time, but this must be
  configured via kernel command line parameter if I understand correctly
  so I've chosen to test this configfs approach
- add a line to inittab like this:
   ttyGS0::askfirst:/usr/libexec/login.sh
- patch /etc/hotplug.json on your device like this:

diff --git a/package/system/procd/files/hotplug.json b/package/system/procd/
files/hotplug.json 
index 1c949bbea3..25806637cc 100644 
   
--- a/package/system/procd/files/hotplug.json   
   
+++ b/package/system/procd/files/hotplug.json   
   
@@ -33,6 +33,10 @@  
   
[ "load-firmware", "/lib/firmware" ],   
   
[ "return" ]
   
]   
   
+ ],
   
+ [ "if",   
   
+ [ "regex", "DEVNAME", "^tty[A-Za-z0-9]" ],
   
+ [ "start-console", "%DEVNAME%" ]  
   
]   
   
],  
   
"remove" : [

- I used a shell script found at 
http://irq5.io/2016/12/22/raspberry-pi-zero-as-multiple-usb-gadgets/
 to configure the gadget

I'll send a patch for hotplug.json after I got some feedback
for this procd stuff or better - in case this is merged, because otherwise we 
have a dependency issue otherwise...
Another point on my list is auto-mounting of configfs to the right place. I'm 
feeling that this should not be part of the shell script but be done at a 
central place - still unsure where to put it because configfs is an optional
kernel module and thus available later during boot...

Best regards,
Michael

Am Mittwoch, 2. Januar 2019, 12:38:30 CET schrieb Karl Palsson:
> Michael Heimpold  wrote:
> > This series extends procd to allow starting consoles for
> > devices which are not present during boot or after kernel
> > module loading. This is for example the case when a USB gadget
> > serial device is created with configfs. Here the kernel module
> > is loaded but the tty device only appears after gadget is
> > configured. Having a console configured in inittab for e.g.
> > ttyGS0 does not work at the moment due to late appearing of
> > this device.
> 
> Thanks for doing this, I had been planning on using this (console
> on gadget serial), and didn't even know it didn't work (yet)
> until your mails! Much appreciated!
> 
> Cheers,
> Karl P





___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v2 firewall3] zones: add zone identifying local traffic in raw OUTPUT chain

2019-01-02 Thread Hans Dedecker
Add zone chains identifying local generated traffic; either by configuring
a loopback device or as subnet a loopback address; in the raw OUTPUT chain
as local generated traffic is passing this chain.
This allows helpers to be used for local generated traffic.

Signed-off-by: Alin Nastac 
Signed-off-by: Hans Dedecker 
---
v2: move check functions to util.c

 utils.c | 38 ++
 utils.h |  5 +
 zones.c | 14 +-
 3 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/utils.c b/utils.c
index 4f892a7..e5908f9 100644
--- a/utils.c
+++ b/utils.c
@@ -17,6 +17,10 @@
  */
 
 #define _GNU_SOURCE
+
+#include 
+#include 
+
 #include "utils.h"
 #include "options.h"
 
@@ -933,3 +937,37 @@ fw3_protoname(void *proto)
 
return pe->p_name;
 }
+
+bool
+fw3_check_loopback_dev(const char *name)
+{
+   struct ifreq ifr;
+   int s = socket(AF_LOCAL, SOCK_DGRAM, 0);
+   bool rv = false;
+
+   memset(, 0, sizeof(ifr));
+   strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name) - 1);
+
+   if (s < 0 || ioctl(s, SIOCGIFFLAGS, ) < 0)
+   goto out;
+
+   if (ifr.ifr_flags & IFF_LOOPBACK)
+   rv = true;
+out:
+   return rv;
+}
+
+bool
+fw3_check_loopback_addr(struct fw3_address *addr)
+{
+   if (addr->family == FW3_FAMILY_V4 &&
+   (ntohl(addr->address.v4.s_addr) >> IN_CLASSA_NSHIFT) == 
IN_LOOPBACKNET)
+   return true;
+
+   if (addr->family == FW3_FAMILY_V6 && !addr->range &&
+   fw3_netmask2bitlen(FW3_FAMILY_V6, >mask.v6) == 128 &&
+   IN6_IS_ADDR_LOOPBACK(>address.v6))
+   return true;
+
+   return false;
+}
diff --git a/utils.h b/utils.h
index c8ab0e5..1ada0dd 100644
--- a/utils.h
+++ b/utils.h
@@ -44,6 +44,8 @@
 
 extern bool fw3_pr_debug;
 
+struct fw3_address;
+
 void warn_elem(struct uci_element *e, const char *format, ...);
 void warn(const char *format, ...);
 void error(const char *format, ...);
@@ -120,4 +122,7 @@ bool fw3_attr_parse_name_type(struct blob_attr *entry, 
const char **name, const
 
 const char * fw3_protoname(void *proto);
 
+bool fw3_check_loopback_dev(const char *name);
+
+bool fw3_check_loopback_addr(struct fw3_address *addr);
 #endif
diff --git a/zones.c b/zones.c
index 505ab20..4f2b1e4 100644
--- a/zones.c
+++ b/zones.c
@@ -98,7 +98,6 @@ const struct fw3_option fw3_zone_opts[] = {
{ }
 };
 
-
 static void
 check_policy(struct uci_element *e, enum fw3_flag *pol, enum fw3_flag def,
  const char *name)
@@ -557,22 +556,27 @@ print_interface_rule(struct fw3_ipt_handle *handle, 
struct fw3_state *state,
}
else if (handle->table == FW3_TABLE_RAW)
{
+   bool loopback_dev = (dev != NULL && !dev->any &&
+!dev->invert && 
fw3_check_loopback_dev(dev->name));
+   char *chain = loopback_dev || (sub != NULL && !sub->invert && 
fw3_check_loopback_addr(sub)) ?
+ "OUTPUT" : "PREROUTING";
+
if (has(zone->flags, handle->family, FW3_FLAG_HELPER))
{
-   r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, 
NULL);
+   r = fw3_ipt_rule_create(handle, NULL, loopback_dev ? 
NULL : dev, NULL, sub, NULL);
fw3_ipt_rule_comment(r, "%s CT helper assignment", 
zone->name);
fw3_ipt_rule_target(r, "zone_%s_helper", zone->name);
fw3_ipt_rule_extra(r, zone->extra_src);
-   fw3_ipt_rule_replace(r, "PREROUTING");
+   fw3_ipt_rule_replace(r, chain);
}
 
if (has(zone->flags, handle->family, FW3_FLAG_NOTRACK))
{
-   r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, 
NULL);
+   r = fw3_ipt_rule_create(handle, NULL, loopback_dev ? 
NULL : dev, NULL, sub, NULL);
fw3_ipt_rule_comment(r, "%s CT bypass", zone->name);
fw3_ipt_rule_target(r, "zone_%s_notrack", zone->name);
fw3_ipt_rule_extra(r, zone->extra_src);
-   fw3_ipt_rule_replace(r, "PREROUTING");
+   fw3_ipt_rule_replace(r, chain);
}
}
 }
-- 
2.19.1


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel