Subject: [alpine-devel] Porting Alpine scripts

From: "Tuan M. Hoang" <[email-masked]>
Date: Sat, 02 Jul 2016 06:57:40 +0700

Hi,

I am trying to create a Docker image of Alpine targeting s390x architecture.

Natanael suggested me Timo's previous work at : http://dev.alpinelinux.org/~tteras/bootstrap/ to bootstrap Alpine on new arch.

I have 2 questions related to this, hope you could shed some light.

Q1:
Running createcross-toolchain.sh, at step 5, building gcc pass 2 : (experimenting with targeting x86)

    $ ABUILD_CONF=$ABUILD_CREATECROSS_CONF BOOTSTRAP=nolibc CTARGET_LIBC=musl abuild -r || return 1
(this makes sure --disable-shared is passed to configure script)

Then at step 6, it introduces a conflict between host's gcc and newly installed/built gcc-pass2-$CTARGET

ERROR: unsatisfiable constraints:
    gcc-5.3.0-r0:
        conflicts: gcc-pass2-i486-alpine-linux-musl-5.2.0-r0[so:libcc1.so.0=0.0.0]
        satisfies: g++-5.3.0-r0[gcc=5.3.0-r0] build-base-0.4-r1[gcc]
    gcc-pass2-i486-alpine-linux-musl-5.2.0-r0:
        conflicts: gcc-5.3.0-r0[so:libcc1.so.0=0.0.0]
        satisfies: world[gcc-pass2-i486-alpine-linux-musl]

How could I solve this? Should I build gcc-pass-2 with different prefix than /usr/ to avoid conflict dynamic libs? If I do so, will it be any different than a manually/traditionally built cross-toolchain ? (mentioned below)

Q2:
I have built a cross toolchains targeting s390x (gcc, musl, binutils, busybox, apk-tools), based on Gregor Richards's musl-cross with some patches.
If I specifies this cross toolchains in the crossbuild-alpine-bootstrap.sh , rather than doing
    ${SUDO_APK} --repository $REPODEST_HOST/main add gcc-$CTARGET g++-$CTARGET gcc-gnat-$CTARGET || return 1

then will there be any differences ? I have not try this (havent have cross-built gnat yet) and just want to know what you think about it.

Thank you,
Tuan

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Timo Teras <[email-masked]>
Date: Sun, 3 Jul 2016 22:53:18 +0300

On Sat, 02 Jul 2016 06:57:40 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

> Natanael suggested me Timo's previous work at :
> http://dev.alpinelinux.org/~tteras/bootstrap/ to bootstrap Alpine on
> new arch.
> 
>     $ ABUILD_CONF=$ABUILD_CREATECROSS_CONF BOOTSTRAP=nolibc
> CTARGET_LIBC=musl abuild -r || return 1 (this makes sure
> --disable-shared is passed to configure script)
> 
>         conflicts:
> gcc-pass2-i486-alpine-linux-musl-5.2.0-r0[so:libcc1.so.0=0.0.0]
> gcc-pass2-i486-alpine-linux-musl-5.2.0-r0: conflicts:
> gcc-5.3.0-r0[so:libcc1.so.0=0.0.0] satisfies:
> world[gcc-pass2-i486-alpine-linux-musl]
> 
> How could I solve this? Should I build gcc-pass-2 with different
> prefix than /usr/ to avoid conflict dynamic libs? If I do so, will it
> be any different than a manually/traditionally built
> cross-toolchain ? (mentioned below)

Sounds like your aports is from edge, but you are running 3.3 or 3.2
stable alpine. Then the gcc versions do not match, and you get this.

> Q2:
> I have built a cross toolchains targeting s390x (gcc, musl, binutils,
> busybox, apk-tools), based on Gregor Richards's musl-cross with some
> patches. If I specifies this cross toolchains in the
> crossbuild-alpine-bootstrap.sh , rather than doing ${SUDO_APK}
> --repository $REPODEST_HOST/main add gcc-$CTARGET g++-$CTARGET
> gcc-gnat-$CTARGET || return 1
> 
> then will there be any differences ? I have not try this (havent have
> cross-built gnat yet) and just want to know what you think about it.

It's probably ok for gcc/g++ part, but you are right, Ada might be
problem for full bootstrap.

As heads up: I'm currently looking at gcc 6.1; and also bootstrapping
armv7. I have already some changes coming up for gcc/musl and some
other packages for fixing bootstrapping. But seems there's been some
bitrot since last bootstrap (for armhf some years ago) and the scripts
need fixing.

Cheers,
Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 04 Jul 2016 03:57:45 +0700

---- On Mon, 04 Jul 2016 02:53:18 +0700 Timo Teras <[email-masked]> wrote ---- 

 > stable alpine. Then the gcc versions do not match, and you get this. 

I am on v3.4 with gcc5.3-r0. Tried gcc5.3-r0 APKBUILD file but the same problem.
 
>From what I understand your gcc-pass-2 and gcc-final are actually gcc-pass-1 and gcc-pass-2 in traditional way : 
    1. build gcc-pass-1 and binutils using host (x86_64) 's gcc+libc targeting new target (x86). 
    2. use that gcc-pass-1 to build new target's libc. 
    3. build gcc-pass-2 using new libc
(please correct me if I am wrong)
So, after building gcc-pass-2 (step 1 above) in the script, we install it in the host system then use it to build musl targeting new target (step 2 above). But if you install gcc-pass-2 in the host system at /usr/, it will produce my conflicts problem. In the traditional way, we just pass something like CROSS_COMPILE=i486-linux-musl- when running musl's configure script. This is why I suggested install gcc-pass-2 into different prefix so it won't conflict with the host's gcc. Just wonder how did you do last time.

I did try to delete host's gcc to install only gcc-pass-2 but building musl requires build-base package and in turn requires host's gcc).

 > bitrot since last bootstrap (for armhf some years ago) and the scripts 

I also suspect that Alpine has involved a lot since 2013 and your scripts might be outdated to current aports system. Would you mind sharing your current/working bootstrap on present aports system?

Thanks,
Tuan

---

---

From: Timo Teras <[email-masked]>
Date: Tue, 5 Jul 2016 17:26:56 +0300

On Mon, 04 Jul 2016 03:57:45 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

>  > Sounds like your aports is from edge, but you are running 3.3 or
>  > 3.2 stable alpine. Then the gcc versions do not match, and you get
>  > this. 
> 
> From what I understand your gcc-pass-2 and gcc-final are actually
> gcc-pass-1 and gcc-pass-2 in traditional way :
> 3. build gcc-pass-2 using new libc (please correct me if I am wrong)

Well, upon in the beginning it was 3 pass. You need pass 1 to build gcc
without libc. Then you could build glibc headers. Then you build gcc
pass 2 with glibc headers so it targets right c-library, and you can
build full glibc. Finally you can build the final gcc as pass 3. Maybe
this was simplified too.

> So, after building gcc-pass-2 (step 1 above) in the script, we
> install it in the host system then use it to build musl targeting new
> target (step 2 above). But if you install gcc-pass-2 in the host
> system at /usr/, it will produce my conflicts problem. In the
> traditional way, we just pass something like
> CROSS_COMPILE=i486-linux-musl- when running musl's configure script.
> This is why I suggested install gcc-pass-2 into different prefix so
> it won't conflict with the host's gcc. Just wonder how did you do
> last time.
> I did try to delete host's gcc to install only gcc-pass-2 but
> building musl requires build-base package and in turn requires host's
> gcc).

Seems there was bitrot in the cross building support. abuild was
improved, and upstream packaged changed.

I made same fixes to various places now. And will push all aports
changes today/tomorrow. After gcc 6.1 is done.

I'm playing with armv7 target, and got:
 - full cross complier done (createcross-toolchain.sh runs)
 - cross building boot image works up to building openssl; seems
   something changed upstream and needs fixing

I hope to get the scripts / aports' minimal cross-building support to
the point that bootstrapping works again.

/Timo

---

---

From: Timo Teras <[email-masked]>
Date: Wed, 6 Jul 2016 17:28:35 +0300

On Tue, 5 Jul 2016 17:26:56 +0300

> the point that bootstrapping works again.

I pushed all of my aports changed now, and copied slightly modified
bootstrap scripts out.

On edge host, with edge aports, and abuild from git (needed one minor
fix); I managed to bootstrap armv7 from x86_64 host now.

mkinitfs is not cross-compilable at the moment yet. But basically the
script should mostly work now.

/Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Thu, 14 Jul 2016 05:03:43 +0700

---- On Wed, 06 Jul 2016 21:28:35 +0700 Timo Teras <[email-masked]> wrote ---- 
 > script should mostly work now. 

Would you mind sharing your building log ? I just need to make sure my steps are correct.
Thank you.

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Sat, 16 Jul 2016 22:08:53 +0700

Hi,

I have successfully built armv7 cross-toolchain using createcross-toolchain.sh.

About crossbuild-alpine-bootstrap.sh, I have 2 questions:

1. At cross-building busybox (in the for loop), there was an error of missing linux/kd.h header, even though /usr/include/linux/kd.h is present in my Alpine build machine. So I have to install the newly cross-built linux-headers package from previous loop, like this:

diff --git a/crossbuild-alpine-bootstrap.sh b/crossbuild-alpine-bootstrap.sh
--- a/crossbuild-alpine-bootstrap.sh
+++ b/crossbuild-alpine-bootstrap.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-TARGET_ARCH=aarch64
+export TARGET_ARCH=armv7
 
 export ABUILD_CREATECROSS_CONF=$PWD/abuild-createcross-$TARGET_ARCH.conf
 export ABUILD_CONF=$PWD/abuild-crossbuild-$TARGET_ARCH.conf
@@ -47,6 +47,10 @@ for PKG in linux-headers musl libc-dev \
 	cd $APORTS/main/$PKG
 	BOOTSTRAP=bootimage abuild -r || exit 1
 
+	if [ "$PKG" = "linux-headers" ]; then
+		${SUDO_APK} -u --root "$CBUILDROOT" --repository "$REPODEST_TARGET/main" --arch "$TARGET_ARCH" add linux-headers | exit 1
+	fi
+
 	if [ "$PKG" = "libc-dev" ]; then
 		# install libc-dev, as implicit but mandatory dependency
 		${SUDO_APK} -u --root "$CBUILDROOT" add libc-dev || exit 1

How about your procedures?

2. At cross-building binutils step, I have the error : 

./a.out: cannot execute binary file: Exec format error

I checked the configure log (http://pastebin.com/t9QS9DZZ) and it looks like the build, host, target machines are all 'armv7-alpine-linux-muslgnueabihf', which is incorrect I guess. I think the build machine should be 'x86_64-alpine-linux-musl' because we are using a cross-compiler running on x86_64 targeting armv7. So from its point of view, the build machine is x86_64, it builds program to run on host machine (armv7), and I am not really sure what to pass as target machine, maybe armv7 too.

If I try to pass to binutils configure script with '--build=x86_64-alpine-linux-musl --host=armv7-alpine-linux-muslgnueabihf --target=armv7-alpine-linux-muslgnueabihf ' then it configure and build just fine.

Doing the same strategy with make, it failed.

What do you think ?

3. I am curious about CBUILD variable. Where is it defined? Can't find in your script nor (any) APKBUILD nor APKBUILD reference documentation/webpage. In cross-building binutils case, it is set to 'armv7-alpine-linux-muslgnueabihf', same as CHOST.

By the way, your work is beautiful.
Thank you.

 ---- On Thu, 14 Jul 2016 05:03:43 +0700 Tuan M. Hoang <[email-masked]> wrote ---- 

---

---

From: Timo Teras <[email-masked]>
Date: Mon, 18 Jul 2016 08:40:38 +0300

On Sat, 16 Jul 2016 22:08:53 +0700

> createcross-toolchain.sh.

Nice.

> 1. At cross-building busybox (in the for loop), there was an error of
> missing linux/kd.h header, even though /usr/include/linux/kd.h is
> present in my Alpine build machine. So I have to install the newly
> cross-built linux-headers package from previous loop, like this:
> 
> diff --git a/crossbuild-alpine-bootstrap.sh
> b/crossbuild-alpine-bootstrap.sh --- a/crossbuild-alpine-bootstrap.sh
>  export
> ABUILD_CREATECROSS_CONF=$PWD/abuild-createcross-$TARGET_ARCH.conf
> export ABUILD_CONF=$PWD/abuild-crossbuild-$TARGET_ARCH.conf @@ -47,6
> +47,10 @@ for PKG in linux-headers musl libc-dev \ cd
> $APORTS/main/$PKG BOOTSTRAP=bootimage abuild -r || exit 1
>  
> +		${SUDO_APK} -u --root "$CBUILDROOT" --repository
> "$REPODEST_TARGET/main" --arch "$TARGET_ARCH" add linux-headers |
> exit 1
> +	fi
> +
>  		# install libc-dev, as implicit but mandatory
> dependency ${SUDO_APK} -u --root "$CBUILDROOT" add libc-dev || exit 1
> 

busybox apkbuild has:
makedepends_host="linux-headers"

So when cross building abuild should have automatically installed this
for you. It does it for me.

> I checked the configure log (http://pastebin.com/t9QS9DZZ) and it
> looks like the build, host, target machines are all
> 'armv7-alpine-linux-muslgnueabihf', which is incorrect I guess. I
> think the build machine should be 'x86_64-alpine-linux-musl' because
> we are using a cross-compiler running on x86_64 targeting armv7. So
> from its point of view, the build machine is x86_64, it builds
> program to run on host machine (armv7), and I am not really sure what
> to pass as target machine, maybe armv7 too.
> 
> If I try to pass to binutils configure script with
> '--build=x86_64-alpine-linux-musl
> --host=armv7-alpine-linux-muslgnueabihf
> --target=armv7-alpine-linux-muslgnueabihf ' then it configure and
> build just fine.
> 

Sounds like you figured out the root of the problem. CBUILD needs to be
the build host's triplet, or things will not work.

Usually it is configured in /etc/abuild.conf, and that's what my
scripts expect. E.g. my abuild-crossbuild-armv7.conf has:
  # inherit CBUILD, and other basic defines
  source /etc/abuild.conf

It expects CBUILD=<system triplet> to be in /etc/abuild.conf.

This is also used by abuild to deduce if cross building or not, and
probably caused the problem #1 too.

> 3. I am curious about CBUILD variable. Where is it defined? Can't
> find in your script nor (any) APKBUILD nor APKBUILD reference
> documentation/webpage. In cross-building binutils case, it is set to
> 'armv7-alpine-linux-muslgnueabihf', same as CHOST.

See above.

Thank you.

We managed to bootstrap aarch64 recently. We have it running on qemu
and on real hw too. I believe when it comes up, it could be used for
aarch64 and possibly armv7 builds.

/Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Fri, 22 Jul 2016 06:14:42 +0700

---- On Mon, 18 Jul 2016 12:40:38 +0700 Timo Teras <[email-masked]> wrote ---- 

 > probably caused the problem #1 too. 

Problem 1 : (to keeptrack easier)
This is the content of my /etc/abuild.conf : http://pastebin.com/Pq6vYpvD
So strange that there is no trace of CBUILD variable, even CARCH, CTARGET_ARCH. I keep getting CARCH=unknown error. Then I made some modification as in : https://github.com/tmh1999/alpine-bootstrap-s390x/commit/2aadde7982a9ba679bd01734705321d9dde76d97

AFAIK, CARCH is the build machine architecture (x86_64) and you get it by running $ abuild -A. But in my modification, it is armv7.

 > aarch64 and possibly armv7 builds. 

Sounds great !

Question 1 :
Until now, I also have successfully built a cross-compiler targeting s390x architecture, with above modification to the script and few more modification in aports/main/gcc/APKBUILD and aports/main/musl/APKBUILD files ( I use the experimental s390x port of musl ). I know this is not your problem but I would like to ask you since you are more experienced in this problem than me :)

This is the modification I made to aports/main/gcc/APKBUILD file :

--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -392,7 +427,9 @@ libatomic() {
         mkdir -p "$subpkgdir"/usr/lib
         mv "$pkgdir"/usr/lib/libatomic.so.* "$subpkgdir"/usr/lib/ || \
                 cp -a "$pkgdir"/usr/$CTARGET/lib/libatomic.so.* "$subpkgdir"/usr/lib/ || \
+                cp -a "$pkgdir"/usr/$CTARGET/lib64/libatomic.so.* "$subpkgdir"/usr/lib/ || \
                 return 1
 }
 
 libcxx() {
@@ -403,7 +440,9 @@ libcxx() {
 	mkdir -p "$subpkgdir"/usr/lib
 	mv "$pkgdir"/usr/lib/libstdc++.so.* "$subpkgdir"/usr/lib/ || \
 		cp -a "$pkgdir"/usr/$CTARGET/lib/libstdc++.so.* "$subpkgdir"/usr/lib/ || \
+		cp -a "$pkgdir"/usr/$CTARGET/lib64/libstdc++.so.* "$subpkgdir"/usr/lib/ || \
 		return 1
 }
 
 gpp() {
@@ -452,7 +491,9 @@ libgcc() {
 	mkdir -p "$subpkgdir"/usr/lib
 	mv "$pkgdir"/usr/lib/libgcc_s.so.* "$subpkgdir"/usr/lib/ || \
 		cp -a "$pkgdir"/usr/$CTARGET/lib/libgcc_s.so.* "$subpkgdir"/usr/lib/ || \
+		cp -a "$pkgdir"/usr/$CTARGET/lib64/libgcc_s.so.* "$subpkgdir"/usr/lib/ || \
 		return 1
 }

>From what I understand, when we --disable-multilib when configuring gcc, lib/ and lib64/ wouldn't be existed at the same time. But in my case they are all there and the *.so files are in lib64/ directory. This workaround helps the creatcross-toolchain.sh but when running crossbuild-toolchain.sh I faced a lot of failures from this lib/, lib64/ thing and the 'unknown' described above. What do you think ?

Question 2:

So when you started porting armv7 and aarch, which files in the aports tree you had to make changes ? Theoretically I can check in the git log but that would be a lot, I think :(

Thank you.

---

---

From: Timo Teras <[email-masked]>
Date: Fri, 22 Jul 2016 08:45:14 +0300

On Fri, 22 Jul 2016 06:14:42 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

>  > This is also used by abuild to deduce if cross building or not,
>  > and probably caused the problem #1 too. 
>  >    
> 
> This is the content of my /etc/abuild.conf :
> http://pastebin.com/Pq6vYpvD So strange that there is no trace of
> CBUILD variable, even CARCH, CTARGET_ARCH.

My scripts expect that you add CBUILD there. Though it's trivial to get
it from $(gcc -dumpmachine), I think that should be added to abuild.
I'll probably do that soon. I think most of the environment variables
set the cross .conf files should in fact be set in abuild already. I'll
look in to doing that as well.

Though, we are currently looking into improving the build system a bit
more to support cross-building better, including supporting it directly
from abuild command line and building things automatically in chroot.
This needs a bit of design, but is on the way.

> I keep getting CARCH=unknown error. Then I made some modification as
> in :
> https://github.com/tmh1999/alpine-bootstrap-s390x/commit/2aadde7982a9ba679bd01734705321d9dde76d97
>
> AFAIK, CARCH is the build machine architecture (x86_64) and you get
> it by running $ abuild -A. But in my modification, it is armv7.

abuild will deduce CARCH from CHOST. You need to add s390x support to
abuild. See commit:
http://git.alpinelinux.org/cgit/abuild/commit/?id=580dd46c588ef71bc852d2b9a5bb4426a2c47665
 
> Question 1 :
> Until now, I also have successfully built a cross-compiler targeting
> s390x architecture, with above modification to the script and few
> more modification in aports/main/gcc/APKBUILD and
> aports/main/musl/APKBUILD files ( I use the experimental s390x port
> of musl ). I know this is not your problem but I would like to ask
> you since you are more experienced in this problem than me :)
> 
>          mv "$pkgdir"/usr/lib/libatomic.so.* "$subpkgdir"/usr/lib/ ||
> \ cp -a "$pkgdir"/usr/$CTARGET/lib/libatomic.so.*
> "$subpkgdir"/usr/lib/ || \
> +                cp -a "$pkgdir"/usr/$CTARGET/lib64/libatomic.so.*
> "$subpkgdir"/usr/lib/ || \ return 1
>  }
>  
>  libcxx() {
>  	mv "$pkgdir"/usr/lib/libstdc++.so.* "$subpkgdir"/usr/lib/ ||
> \ cp -a "$pkgdir"/usr/$CTARGET/lib/libstdc++.so.*
> "$subpkgdir"/usr/lib/ || \
> +		cp -a "$pkgdir"/usr/$CTARGET/lib64/libstdc++.so.*
> "$subpkgdir"/usr/lib/ || \ return 1
>  }
>  
>  gpp() {
> +		cp -a "$pkgdir"/usr/$CTARGET/lib64/libgcc_s.so.*
> "$subpkgdir"/usr/lib/ || \ return 1
>  }
> 
> From what I understand, when we --disable-multilib when configuring
> gcc, lib/ and lib64/ wouldn't be existed at the same time. But in my
> case they are all there and the *.so files are in lib64/ directory.
> This workaround helps the creatcross-toolchain.sh but when running
> crossbuild-toolchain.sh I faced a lot of failures from this lib/,
> lib64/ thing and the 'unknown' described above. What do you think ?

The lib64 is gcc default, and on x86_64 and aarch64 it's similar. We
patch the lib location for these architectures, see:
http://git.alpinelinux.org/cgit/aports/tree/main/gcc/gcc-pure64.patch

You probably need to add similar change for gcc/config/s390/t-linux64.

> Question 2:
> 
> So when you started porting armv7 and aarch, which files in the
> aports tree you had to make changes ? Theoretically I can check in
> the git log but that would be a lot, I think :(

Not too many. You probably need (aarch64 commit referred):

- abuild to recognize the triplet (the commit refferred earlier)
  http://git.alpinelinux.org/cgit/abuild/commit/?id=580dd46c588ef71bc852d2b9a5bb4426a2c47665
  
- apk-tools to use the same arch name
  http://git.alpinelinux.org/cgit/apk-tools/commit/?id=06ae5fdfdccd0c8e6d5501d93666bd915d2604d1

- gcc to be configured correct for the arch
  http://git.alpinelinux.org/cgit/aports/commit/main/gcc?id=db1d2c069e66b3bf9962d76b0b48bfdcfc8d0384
  (the ada change is generic, you'll need the _arch_configure +
   gcc-pure64.patch update)

And update APKBUILDs for the packages that are arch aware; for
minimal bootstrap it includes:

- linux-headers
  http://git.alpinelinux.org/cgit/aports/commit/?id=f483f49692b97950b680d987fe31f8ddb9277842

- openssl
  http://git.alpinelinux.org/cgit/aports/commit/?id=896f06e3b0b07200957d0389e2156d0ee4e099cb

- linux-vanilla (or the kernel you need, including creating kernel configuration)
  http://git.alpinelinux.org/cgit/aports/commit/?id=baa04a75170112f9713dd5ad72a5732f9bfaeaac

Some packages might also need other kind of patching, e.g. if configure
does not recognize the new triplet.

Cheers,
Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Sat, 23 Jul 2016 05:43:49 +0700

---- On Fri, 22 Jul 2016 12:45:14 +0700 Timo Teras <[email-masked]> wrote ---- 
 > look in to doing that as well. 

For some commands, running without CBUILD being set is okay, some are not. I cannot remember which is which but If I see them again, I will tell you.

 > This needs a bit of design, but is on the way. 

That's really good to know. I would like to help in that process, or try it out and give feedback.

 > http://git.alpinelinux.org/cgit/abuild/commit/?id=580dd46c588ef71bc852d2b9a5bb4426a2c47665 

This one is very helpful. I had to set CARCH to some commands around for a while even though I do *guess* it should be deduced from CHOST, by reading /usr/bin/abuild.
   
 > You probably need to add similar change for gcc/config/s390/t-linux64. 

Looks like gold to me. Progressing on it.

 > does not recognize the new triplet. 

It's much easier to have some existed work to follow. I have patched some APKBUILD myself along the way (gcc, musl, apk-tools, libfetch, openssl ...) and it is kind of painful, when you are new to Alpine. I will use your work and suggestion and come back after few days.

Thank you so much, Timo.

Hoang

---

---

From: Timo Teras <[email-masked]>
Date: Sat, 23 Jul 2016 09:29:44 +0300

On Sat, 23 Jul 2016 05:43:49 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

>  > My scripts expect that you add CBUILD there. Though it's trivial
>  > to get it from $(gcc -dumpmachine), I think that should be added
>  > to abuild. I'll probably do that soon. I think most of the
>  > environment variables set the cross .conf files should in fact be
>  > set in abuild already. I'll look in to doing that as well. 
>  >    
> 
> For some commands, running without CBUILD being set is okay, some are
> not. I cannot remember which is which but If I see them again, I will
> tell you.

I just pushed few commits to abuild, that set CBUILD by default
properly. It also fixes dependency installation for host/target to not
run scripts, that would become error later on the build process too.

Please try latest abuild git version if it helps.

>  > Though, we are currently looking into improving the build system a
>  > bit more to support cross-building better, including supporting it
>  > directly from abuild command line and building things
>  > automatically in chroot. This needs a bit of design, but is on the
>  > way. 
> 

I actually want first fix cross building to be supported properly. So
just doing "CHOST=aarch64 abuild -r" would to cross-compile aarch64
version of package on any build system.

I have first patch ready for this that makes all the cross-compile
script config entries built-in to abuild.

The second patch is make abuild properly aware of subpkg's arch. This
is tricky since when make cross toolchain we are generating packages
for the host and the target. But I got this almost done.

The above two will greatly simplify the bootstrap scripts, which I'll
probably dump to aports along with instructions. We've been getting lot
of questions for bootstrapping recently...

>  > abuild will deduce CARCH from CHOST. You need to add s390x support
>  > to abuild. See commit: 
> This one is very helpful. I had to set CARCH to some commands around
> for a while even though I do *guess* it should be deduced from CHOST,
> by reading /usr/bin/abuild. 

Could you share what target triplet you are using? And what CARCH? I'll
be happy to push these to abuild early, even if everything is not
working.

>  > The lib64 is gcc default, and on x86_64 and aarch64 it's similar.
>  > We patch the lib location for these architectures, see: 
>  > > aports tree you had to make changes ? Theoretically I can check
>  > > in the git log but that would be a lot, I think :(   
>  >  
>  > Some packages might also need other kind of patching, e.g. if
>  > configure does not recognize the new triplet. 
>  >    
> 
> It's much easier to have some existed work to follow. I have patched
> some APKBUILD myself along the way (gcc, musl, apk-tools, libfetch,
> openssl ...) and it is kind of painful, when you are new to Alpine. I
> will use your work and suggestion and come back after few days.

Understand. Porting things to new systems is usually not easy. It's
often done by few people only and the documentation is scarce.

This thread has been useful also for us to understand what questions
come across. I'll probably collect things from here and dump them to
the readme along with the enhanced bootstrap scripts.

Thanks,
Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Tue, 26 Jul 2016 01:11:08 +0700

---- On Sat, 23 Jul 2016 13:29:44 +0700 Timo Teras <[email-masked]> wrote ---- 

 > be happy to push these to abuild early, even if everything is not 

Target triplet : s390x-alpine-linux-musl
CARCH : s390x (but for linux-headers, it is s390)

Fortunately, I have successfully run crossbuild-bootstrap targeting s390x, but I need to remove paxmark lines in gcc's APKBUILD as it returns an unknown error (creat-cross runs just fine). AFAIK, it is about security concerns, not system's functionality, so for now I guess it is okay. What do you think?

When I try either to (1) install newly cross-built packages into the sysroot-s390x-alpine-linux-musl/ in the build machine or (2) install Alpine in a chroot in the target device using packages from packages-s390x-alpine-linux-musl/main/s390x/ , they both generate following error: http://pastebin.com/WDJyCaxT. Any chance this thing comes from removing paxmark ? I try to pass --verbose to apk-build but cannot see any change. How did you manage to bootstrap on the real target device?

 > Please try latest abuild git version if it helps. 
 
I am using it now.

 > of questions for bootstrapping recently... 

Hum.. That looks quite complicated. Will definitely come back to this afterwards.

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Tue, 26 Jul 2016 14:12:49 +0700

(updated, please ignore previous email)

1) Fortunately, I have successfully run crossbuild script targeting s390x with following :

a) After running creat-cross script, my sysroot's lib directory looks like this:

edge2:~/s390x/$ ls -al sysroot-s390x-alpine-linux-musl/lib
total 12
drwxr-sr-x    3 root     edge          4096 Jul 26 12:54 .
drwxr-sr-x    8 edge     edge          4096 Jul 26 12:54 ..
drwxr-sr-x    3 root     edge          4096 Jul 26 12:54 apk
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 ld-musl-s390x.so.1 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            18 Jul 26 12:54 libc.musl-s390x.so.1 -> ld-musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libc.so.6 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libcrypt.so.1 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libm.so.6 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libpthread.so.0 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 librt.so.1 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libutil.so.1 -> /lib/libc.musl-s390x.so.1

Both ld-musl-s390x.so.1 and /lib/libc.musl-s390x.so.1 do not exist, so all of above are broken links. Then I have to do some thing like this:

edge2:~/s390x$ abuild-apk --root /home/edge/s390x/sysroot-s390x-alpine-linux-musl add /home/edge/s390x/packages-s390x-alpine-linux-musl/main/s390x/musl-1.1.15-r0.apk
(1/1) Replacing musl (1.1.15-r0 -> 1.1.15-r0)
OK: 23 MiB in 6 packages

And then new layout looks like:

edge2:~/s390x/sysroot-s390x-alpine-linux-musl/lib$ ls -al
total 3892
drwxr-sr-x    3 root     edge          4096 Jul 26 13:42 .
drwxr-sr-x    8 edge     edge          4096 Jul 26 12:54 ..
drwxr-sr-x    3 root     edge          4096 Jul 26 12:54 apk
-rwxr-xr-x    1 root     root       3972272 Jul 26 13:17 ld-musl-s390x.so.1
lrwxrwxrwx    1 root     root            18 Jul 26 13:42 libc.musl-s390x.so.1 -> ld-musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libc.so.6 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libcrypt.so.1 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libm.so.6 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libpthread.so.0 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 librt.so.1 -> /lib/libc.musl-s390x.so.1
lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libutil.so.1 -> /lib/libc.musl-s390x.so.1

If I don't do so, later crossbuild process will fail. Please check https://github.com/tmh1999/alpine-bootstrap-s390x for my latest scripts/config.

b) Then I run crossbuild script, and I need remove paxmark lines in gcc's APKBUILD as it returns an unknown error (while creat-cross script runs just fine). AFAIK, it is about security concerns, not system's functionality, so for now I guess it is okay.

2) After 1b) is good, I try either to (*) install newly cross-built packages into the sysroot-s390x-alpine-linux-musl/ in the build machine or (**) install Alpine in a chroot in the target device using packages from packages-s390x-alpine-linux-musl/main/s390x/ , they both generate following error: http://pastebin.com/WDJyCaxT. Any chance this thing comes from removing paxmark in 1b) and create-cross build error in 1a) ? I try to pass --verbose to apk-build but cannot see any change. How did you manage to bootstrap on the real target device? 

I am using it now. 

---

---

From: Timo Teras <[email-masked]>
Date: Tue, 26 Jul 2016 19:46:54 +0300

I'm working on fixing the abuild to be cross-build aware, and bundling
the bootstrap script as part of aports.git. I expect to publish all of
this work later today or tomorrow.

The abuild specific parts are pushed out to:
http://git.alpinelinux.org/cgit/abuild/log/?h=cross-build

On Tue, 26 Jul 2016 14:12:49 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

>  > Could you share what target triplet you are using? And what CARCH?
>  > I'll be happy to push these to abuild early, even if everything is
>  > not working.    
> 

Thanks. Added this to the cross-build branch of abuild.

> lrwxrwxrwx    1 root     root            25 Jul 26 12:54
> ld-musl-s390x.so.1 -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1
> root     root            18 Jul 26 12:54 libc.musl-s390x.so.1 ->
> ld-musl-s390x.so.1 lrwxrwxrwx    1 root     root            25 Jul 26
> 12:54 libc.so.6 -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1 root
> root            25 Jul 26 12:54 libcrypt.so.1
> -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1 root     root
> 25 Jul 26 12:54 libm.so.6 -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx
> 1 root     root            25 Jul 26 12:54 libpthread.so.0
> -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1 root     root
> 25 Jul 26 12:54 librt.so.1 -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx
> 1 root     root            25 Jul 26 12:54 libutil.so.1
> -> /lib/libc.musl-s390x.so.1
> 
> Both ld-musl-s390x.so.1 and /lib/libc.musl-s390x.so.1 do not exist,
> so all of above are broken links. Then I have to do some thing like
> this:
> 
> edge2:~/s390x$ abuild-apk
> --root /home/edge/s390x/sysroot-s390x-alpine-linux-musl
> add /home/edge/s390x/packages-s390x-alpine-linux-musl/main/s390x/musl-1.1.15-r0.apk
> (1/1) Replacing musl (1.1.15-r0 -> 1.1.15-r0) OK: 23 MiB in 6 packages
> 
> -rwxr-xr-x    1 root     root       3972272 Jul 26 13:17
> ld-musl-s390x.so.1 lrwxrwxrwx    1 root     root            18 Jul 26
> 13:42 libc.musl-s390x.so.1 -> ld-musl-s390x.so.1 lrwxrwxrwx    1
> root     root            25 Jul 26 12:54 libc.so.6
> -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1 root     root
> 25 Jul 26 12:54 libcrypt.so.1 -> /lib/libc.musl-s390x.so.1
> lrwxrwxrwx    1 root     root            25 Jul 26 12:54 libm.so.6
> -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1 root     root
> 25 Jul 26 12:54 libpthread.so.0 -> /lib/libc.musl-s390x.so.1
> lrwxrwxrwx    1 root     root            25 Jul 26 12:54 librt.so.1
> -> /lib/libc.musl-s390x.so.1 lrwxrwxrwx    1 root     root
> 25 Jul 26 12:54 libutil.so.1 -> /lib/libc.musl-s390x.so.1
> 
> If I don't do so, later crossbuild process will fail. Please check
> https://github.com/tmh1999/alpine-bootstrap-s390x for my latest
> scripts/config.

Thanks, I believe this should be fixed in the new bootstrap.sh.

You seem to have some patches there. Would you like to send them as git
formatted commits, so you get your name as author of the commit?

> b) Then I run crossbuild script, and I need remove paxmark lines in
> gcc's APKBUILD as it returns an unknown error (while creat-cross
> script runs just fine). AFAIK, it is about security concerns, not
> system's functionality, so for now I guess it is okay.

Your kernel is probably built without XATTR support. paxmark requires
XATTR enabled kernel.

> 2) After 1b) is good, I try either to (*) install newly cross-built
> packages into the sysroot-s390x-alpine-linux-musl/ in the build
> machine or (**) install Alpine in a chroot in the target device using
> packages from packages-s390x-alpine-linux-musl/main/s390x/ , they
> both generate following error: http://pastebin.com/WDJyCaxT. Any
> chance this thing comes from removing paxmark in 1b) and create-cross
> build error in 1a) ? I try to pass --verbose to apk-build but cannot
> see any change. How did you manage to bootstrap on the real target
> device? 

Add --no-scripts so it won't try to execute foreign binaries. Though,
if you want to build a boot image from that, additional fixups are
likely needed. I hope to rewamp the boot image creation scripts
(alpine-iso.git) as set of scripts bundled in aports.git/scripts after
cross build fixes.

>  > >  > Though, we are currently looking into improving the build
>  > >  > system a bit more to support cross-building better, including
>  > >  > supporting it directly from abuild command line and building
>  > >  > things automatically in chroot. This needs a bit of design,
>  > >  > but is on the way.     
>  > >   
>  > > That's really good to know. I would like to help in that
>  > > process, or try it out and give feedback.    
>  >   
>  > I actually want first fix cross building to be supported properly.
>  > So just doing "CHOST=aarch64 abuild -r" would to cross-compile
>  > aarch64 version of package on any build system.  
>  >   
>  > I have first patch ready for this that makes all the
>  > cross-compile script config entries built-in to abuild.  
>  >   
>  > The second patch is make abuild properly aware of subpkg's arch.
>  > This is tricky since when make cross toolchain we are generating
>  > packages for the host and the target. But I got this almost done.  
>  >   
>  > The above two will greatly simplify the bootstrap scripts, which
>  > I'll probably dump to aports along with instructions. We've been
>  > getting lot of questions for bootstrapping recently...    
> 

The abuild changes are complicated. The new bootstrap.sh is clean and
simplified. You'll love it :)

/Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Fri, 29 Jul 2016 12:32:18 +0700

---- On Tue, 26 Jul 2016 23:46:54 +0700 Timo Teras <[email-masked]> wrote ---- 
 > http://git.alpinelinux.org/cgit/abuild/log/?h=cross-build 

The scripts/bootstrap.sh + new abuild (cross-build branch) commits look much cleaner.

 > Thanks, I believe this should be fixed in the new bootstrap.sh. 

I still have this problem with newbootstrap.sh and do the above workaround. Trying to find the cause of this.

 > formatted commits, so you get your name as author of the commit? 

I would love to. But for now musl commits might not be clean since I need to fetch musl.tar.gz from my github repo (which I packaged from : https://github.com/koorogi/musl/tree/s390x ). In order to have it as clean as current musl APKBUILD, we need to wait until s390x is officially merged, which takes quite a time. Other commits are cool and I will submit in 1 day or 2. Need to read the Alpine contribution guide first.

 > Your kernel is probably built without XATTR support. paxmark requires 

Hum... I cannot find any resources/guideline on the Internet. Would you might shed some light on this ?

 > (alpine-iso.git) as set of scripts bundled in aports.git/scripts after 

Confirmed.

 > simplified. You'll love it :) 

I am trying to read abuild source code and understand its mechanism. Love to get along.
Cheers,

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Wed, 16 Nov 2016 02:36:39 +0700

Hi,

I am sorry for a (very) long time break on this topic. Guess this time I
would finally help make Alpine support s390x.

> > b) Then I run crossbuild script, and I need remove paxmark lines
> > in gcc's APKBUILD as it returns an unknown error (while
> > creat-cross script runs just fine). AFAIK, it is about security
> > concerns, not system's functionality, so for now I guess it is
> > okay.   
>  
> Your kernel is probably built without XATTR support. paxmark
> requires XATTR enabled kernel.   

I guess my x86_64 machine running grsec kernel (linux-grsec package) is
XATTR-enabled. I looked a little bit closer on the build log and see
this : http://sprunge.us/EIVE. When I try to run those $ paxctl
manually (code from /usr/sbin/paxmark), they just pass alright
with no output on stdout nor stderr. I also tried adding
--enable-xattr-support to configure script in gcc APKBUILD, but it won't
help. What do you think ?

Another problem I am having is when cross-compiling linux-vanilla
package using aports/scripts/bootstrap.sh : http://sprunge.us/AAcA. I
am reading abuild source code to find the cause but still nothing new.
It'd be nice if you help me to have a look.

Thanks,
Tuan

---

---

From: Timo Teras <[email-masked]>
Date: Thu, 17 Nov 2016 08:24:40 +0200

On Wed, 16 Nov 2016 02:36:39 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

> I am sorry for a (very) long time break on this topic. Guess this
> time I would finally help make Alpine support s390x.
> 
> I guess my x86_64 machine running grsec kernel (linux-grsec package)
> is XATTR-enabled. I looked a little bit closer on the build log and
> see this : http://sprunge.us/EIVE. When I try to run those $ paxctl
> --enable-xattr-support to configure script in gcc APKBUILD, but it
> won't help. What do you think ?

The kernel should be xattr enabled. What filesystem are you using?
Perhaps there's some filesystem level knob (kernel config) or
limitation.

> It'd be nice if you help me to have a look.

Bootstrap script was not yet updated for libressl change. I'll take a
look at this. I think the only change needed is to build libressl
instead of openssl. I'll push fix for this soon.

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Sat, 19 Nov 2016 04:15:48 +0700

On Thu, 17 Nov 2016 08:24:40 +0200
  
> Perhaps there's some filesystem level knob (kernel config) or

$ df -T | grep sda
/dev/sda3            ext4        20473424   6217272  13196368  32% /
/dev/sda1            ext4           95054     16460     71426  19% /boot
$ cat /proc/fs/ext4/sda1/options | grep xattr
user_xattr
$ cat /proc/fs/ext4/sda3/options | grep xattr
user_xattr

> > package using aports/scripts/bootstrap.sh : http://sprunge.us/AAcA.
> > I am reading abuild source code to find the cause but still nothing
> > new. It'd be nice if you help me to have a look.
> 

Actually this occurred to me before libress was adopted. After libressl
was introduced, I also changed Bootstrap script, libressl APKBUILD,
kernel config to adop libressl too, but still the bug. So I guess it's
more likely coming from abuild. Here are some of my patches, in case
you might want to have a look.
https://github.com/tmh1999/alpine-bootstrap-s390x/tree/master/patches/aports/scripts
https://github.com/tmh1999/alpine-bootstrap-s390x/tree/master/patches/aports/main

---

---

From: Timo Teras <[email-masked]>
Date: Sat, 19 Nov 2016 09:21:09 +0200

On Sat, 19 Nov 2016 04:15:48 +0700
"Tuan M. Hoang" <[email-masked]> wrote:

> > > > > b) Then I run crossbuild script, and I need remove paxmark
> > > > > lines in gcc's APKBUILD as it returns an unknown error (while
> > > > > creat-cross script runs just fine). AFAIK, it is about
> > > > > security concerns, not system's functionality, so for now I
> > > > > guess it is okay.       
> > > >  
> > > I guess my x86_64 machine running grsec kernel (linux-grsec
> > > package) is XATTR-enabled. I looked a little bit closer on the
> > > build log and see this : http://sprunge.us/EIVE. When I try to
> > > run those $ paxctl manually (code from /usr/sbin/paxmark), they
> > > just pass alright with no output on stdout nor stderr. I also
> > > tried adding --enable-xattr-support to configure script in gcc
> > > APKBUILD, but it won't help. What do you think ?  
> > 
> /dev/sda1            ext4           95054     16460     71426
> 19% /boot $ cat /proc/fs/ext4/sda1/options | grep xattr
> user_xattr

IIRC, if it's grsec kernel, you don't even need the user_xattr mount
option as grsec kernel treats those xattrs specially.

Of course grsec does not support s390x so the markings are not really
needed for vanilla kernel. However would be good to figure out so we
get the build right from beginning.

You could try strace the attr command and see where it fails.

> > > package using aports/scripts/bootstrap.sh :
> > > http://sprunge.us/AAcA. I am reading abuild source code to find
> > > the cause but still nothing new. It'd be nice if you help me to
> > > have a look.  
> > 
> > Bootstrap script was not yet updated for libressl change. I'll take
> > a look at this. I think the only change needed is to build libressl
> Actually this occurred to me before libress was adopted. After
> libressl was introduced, I also changed Bootstrap script, libressl
> APKBUILD, kernel config to adop libressl too, but still the bug. So I
> guess it's more likely coming from abuild. Here are some of my
> patches, in case you might want to have a look.
 
I would be happy to pick up some of these patches already now. Would
you be able to give them exported with "git format-patch" so you get
annotated as author and the commit log is preserved.

I could try bootstrap s390 too then and see if the same problem happens
and analyze it a bit more.

In any case I recently fixed the bootstrap script and few aports. I was
able to bootstrap again git master for armv7.

Cheers,
Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 07:39:27 +0700

On Sat, 19 Nov 2016 09:21:09 +0200
Timo Teras <[email-masked]> wrote:

> > > > > > lines in gcc's APKBUILD as it returns an unknown error
> > > > > > (while creat-cross script runs just fine). AFAIK, it is
> > > > > > about security concerns, not system's functionality, so for
> > > > > > now I guess it is okay.         
> > > > >  

I see that you didn't provide linux-grsec/config-grsec.aarch64. grsec
does not support aarch64 neither? I have read some grsec patch and it
looks like they do provide some s390/s390x patch like this one :
http://dev.alpinelinux.org/~ncopa/grsec/grsecurity-3.1-4.4.32-201604252206-alpine.patch
I am not sure is this called "supported".

Actually according to the log above, $ paxctl are those failed (ret=1).
I will try to strace them this week.

> > > > Another problem I am having is when cross-compiling
> > > > linux-vanilla package using aports/scripts/bootstrap.sh :
> > > Bootstrap script was not yet updated for libressl change. I'll
> > > take a look at this. I think the only change needed is to build
> > > libressl instead of openssl. I'll push fix for this soon.    
> > 
> > APKBUILD, kernel config to adop libressl too, but still the bug. So
> > I guess it's more likely coming from abuild. Here are some of my
> I could try bootstrap s390 too then and see if the same problem
> happens and analyze it a bit more.
> 
> In any case I recently fixed the bootstrap script and few aports. I
> was able to bootstrap again git master for armv7.
> 
> Cheers,
> Timo

Please find my patches in the attachments. There were some small
changes that I did not include in those patches because I think it only
(temporarily) affects my build. So I list here fyi:
- scripts/bootstrap.sh : linux-headers & zlib-dev need to be explicitly
  installed (besides fortify-headers, libc-dev, build-base) even though
  linux-headers is zlib's makedends, zlib-dev is binutils's makedepends.

If there was any problem, please kindly let me know.

Cheers,
Tuan
>From 73d6644d6e2621324b154e49ae2f49f839431cf7 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 05:23:28 +0700
Subject: [PATCH] main/apk-tools: add s390x support

---
 main/apk-tools/0001-add-s390x-headers.patch | 25 +++++++++++++++++++++++++
 main/apk-tools/APKBUILD                     | 10 +++++++---
 2 files changed, 32 insertions(+), 3 deletions(-)
 create mode 100644 main/apk-tools/0001-add-s390x-headers.patch

diff --git a/main/apk-tools/0001-add-s390x-headers.patch b/main/apk-tools/0001-add-s390x-headers.patch
new file mode 100644
index 0000000..b05da49
--- /dev/null
+++ b/main/apk-tools/0001-add-s390x-headers.patch
@@ -0,0 +1,25 @@
+From 24636f5277d6279f7740a46ed446d1bc763c7e91 Mon Sep 17 00:00:00 2001
+From: "Tuan M. Hoang" <[email-masked]>
+Date: Sun, 20 Nov 2016 22:39:44 +0700
+Subject: [PATCH] add s390x headers
+
+---
+ src/apk_defines.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/apk_defines.h b/src/apk_defines.h
+index 9b2e904..7215360 100644
+--- a/src/apk_defines.h
++++ b/src/apk_defines.h
+@@ -95,6 +95,8 @@ extern char **apk_argv;
+ #define APK_DEFAULT_ARCH	"armel"
+ #elif defined(__aarch64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ #define APK_DEFAULT_ARCH	"aarch64"
++#elif defined(__s390x__)
++#define APK_DEFAULT_ARCH	"s390x"
+ #else
+ #error APK_DEFAULT_ARCH not detected for this architecture
+ #endif
+-- 
+2.10.2
+
diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD
index ae2cac6..ca1b183 100644
--- a/main/apk-tools/APKBUILD
+++ b/main/apk-tools/APKBUILD
@@ -13,6 +13,7 @@ if [ "$CBUILD" = "$CHOST" ]; then
 	makedepends="$makedepends lua5.2-dev"
 fi
 source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.xz
+	0001-add-s390x-headers.patch
 	"
 
 url="http://git.alpinelinux.org/cgit/apk-tools/"
@@ -82,6 +83,9 @@ luaapk() {
 	mv "$pkgdir"/usr/lib "$subpkgdir"/usr/lib/
 }
 
-md5sums="cc3efedf3047c256f13549ba58df3291  apk-tools-2.6.8.tar.xz"
-sha256sums="83f5cf9f0e75c19004a67150819eae2d4c859236b6c9c04d34d5b6968925f0d3  apk-tools-2.6.8.tar.xz"
-sha512sums="03fb42616335de9edaf3e44fd64a8d1c5dd8b0f25b7f3b176940b751a6547b8be153549f0cee9a5d65491025f6747799b6f5ba22b15d850593d499c07b5cc4c6  apk-tools-2.6.8.tar.xz"
+md5sums="cc3efedf3047c256f13549ba58df3291  apk-tools-2.6.8.tar.xz
+f77a0ce3b4a67cbefed14c3a3ebf253f  0001-add-s390x-headers.patch"
+sha256sums="83f5cf9f0e75c19004a67150819eae2d4c859236b6c9c04d34d5b6968925f0d3  apk-tools-2.6.8.tar.xz
+db8519fd21f7b302e1b339d037b5b02cbcefcf197891b45af5362d17d8d66bd5  0001-add-s390x-headers.patch"
+sha512sums="03fb42616335de9edaf3e44fd64a8d1c5dd8b0f25b7f3b176940b751a6547b8be153549f0cee9a5d65491025f6747799b6f5ba22b15d850593d499c07b5cc4c6  apk-tools-2.6.8.tar.xz
+7ab0a174c86613631d85cf6e51925b4a5a7ce42b6b02db2166bc5629517edf42d6abc1f9404621161e647b1d61f01641bc4ef91060e98e20b7a4bd4a9758fab5  0001-add-s390x-headers.patch"
-- 
2.10.2

>From ce24c454471089c6e050950e48f8ac2044814450 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 05:28:27 +0700
Subject: [PATCH] main/gcc: add s390x support

libgcc_s.so.* and libatomic.so.* only move libgcc_s.so.1, 
libatomic.so.1.2.0 but not libgcc_s.so, libatomic.so. So when 
cross-compiling, the linkder ld complains about missing -lgcc_s
---
 ...00-main-gcc-add-musl-s390x-dynamic-linker.patch | 32 ++++++++++++++++++++++
 main/gcc/APKBUILD                                  | 19 ++++++++-----
 main/gcc/gcc-pure64.patch                          |  9 ++++++
 3 files changed, 53 insertions(+), 7 deletions(-)
 create mode 100644 main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch

diff --git a/main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch b/main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch
new file mode 100644
index 0000000..2419578
--- /dev/null
+++ b/main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch
@@ -0,0 +1,32 @@
+From be841c16dd544553c67faac79bd4cc3cd10a1dc0 Mon Sep 17 00:00:00 2001
+From: "Tuan M. Hoang" <[email-masked]>
+Date: Mon, 21 Nov 2016 01:42:16 +0700
+Subject: [PATCH] main/gcc: add musl s390x dynamic linker
+
+---
+ gcc/config/s390/linux.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
+index 1e3ed35..a244214 100644
+--- a/gcc/config/s390/linux.h
++++ b/gcc/config/s390/linux.h
+@@ -63,6 +63,15 @@ along with GCC; see the file COPYING3.  If not see
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+ 
++#undef MUSL_DYNAMIC_LINKER
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-s390x.so.1"
++#undef MUSL_DYNAMIC_LINKER32
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-s390x.so.1"
++#undef MUSL_DYNAMIC_LINKER64
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-s390x.so.1"
++#undef MUSL_DYNAMIC_LINKERX32
++#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-s390x.so.1"
++
+ #undef  LINK_SPEC
+ #define LINK_SPEC \
+   "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
+-- 
+2.10.2
+
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index f8cbbe7..dfa71cd 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -190,6 +190,8 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgba
 	ada-fixes.patch
 	ada-shared.patch
 	ada-musl.patch
+
+	300-main-gcc-add-musl-s390x-dynamic-linker.patch
 	"
 
 # we build out-of-tree
@@ -242,6 +244,7 @@ build() {
 	mipsel-*-*-*)		_arch_configure="--with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=32 --with-mips-plt --with-float=hard --with-abi=32";;
 	i486-*-*-*)		_arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
 	i586-*-*-*)		_arch_configure="--with-arch=i586 --with-tune=generic --enable-cld";;
+	s390x-*-*-*)	_arch_configure="--with-long-double-128 --with-zarch --with-arch=z196 --with-tune=zEC12 --enable-decimal-float";;
 	esac
 
 	case "$CTARGET_LIBC" in
@@ -316,7 +319,6 @@ build() {
 		--with-system-zlib \
 		--with-linker-hash-style=gnu \
 		|| return 1
-
 	make || return 1
 }
 
@@ -388,7 +390,7 @@ libatomic() {
 	replaces="gcc"
 
 	mkdir -p "$subpkgdir"/usr/lib
-	mv "$pkgdir"/usr/${_cross:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/ || \
+	mv "$pkgdir"/usr/${_cross:+$CTARGET/}lib/libatomic.so* "$subpkgdir"/usr/lib/ || \
 		return 1
 }
 
@@ -442,9 +444,8 @@ objc() {
 libgcc() {
 	pkgdesc="GNU C compiler runtime libraries"
 	depends=
-
 	mkdir -p "$subpkgdir"/usr/lib
-	mv "$pkgdir"/usr/${_cross:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/ || \
+	mv "$pkgdir"/usr/${_cross:+$CTARGET/}lib/libgcc_s.so* "$subpkgdir"/usr/lib/ || \
 		return 1
 }
 
@@ -623,7 +624,7 @@ db9c8f0aa9193466a62fcfaaf71f6129  207-static-pie.patch
 9e658e590bc51be611f39945183f6aa2  gcc-4.9-musl-fortify.patch
 32c40cd9c22a01621c2b7d60ac4255a0  gcc-6.1-musl-libssp.patch
 0ea0f556d4ef9c260d1353b7fd33970c  boehm-gc-musl.patch
-3cb420ef6240a8b96f52fb1b479ddaab  gcc-pure64.patch
+7a058cfe7d77cdf14218b114e60e23ef  gcc-pure64.patch
 1e143d6a88cdcbc4e3266b19208df0fd  fix-gcj-stdgnu14-link.patch
 14fc0a0b925ef911ce78cd030fe58902  fix-gcj-musl.patch
 e17bbb0fe802974e20645b4182b4c410  fix-gcj-iconv-musl.patch
@@ -631,6 +632,7 @@ e17bbb0fe802974e20645b4182b4c410  fix-gcj-iconv-musl.patch
 4aea37d334ab00bb6bba37cd8c481367  fix-cxxflags-passing.patch
 d00d7e4b0c00cb7448576af9cd7fcea8  ada-fixes.patch
 20e2731c02ce50739ebdead2795f9c41  ada-shared.patch
+29d7ce72d73cb920c6d1f276a2286f40  300-main-gcc-add-musl-s390x-dynamic-linker.patch
 bd2f71f7559e0aa38745ee62e5799601  ada-musl.patch"
 sha256sums="9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5  gcc-6.2.0.tar.bz2
 9506e75b862f782213df61af67338eb7a23c35ff425d328affc65585477d34cd  ecj-4.9.jar
@@ -657,7 +659,7 @@ aa3e570f9ccd9dcaadf00369ed2c4ae26ba640c49256f32aee7e631e2b836771  libada-cross-s
 dc93f97dff28b872f9c7e241fb87a3eca0271f706534d196b3517781b05667fa  gcc-4.9-musl-fortify.patch
 4ece19529edb8e681e1778e977e2ba1d47984ccfcb82505e8b898bb29d659625  gcc-6.1-musl-libssp.patch
 6ccca88695ef84c0d038cd315cad5ae5b799672ecb009fdaab34e68ba60b733c  boehm-gc-musl.patch
-0625ab76ec3f7b47364becdb9ddc66bec9215ebfbeab1d58df8e1855a1cd76bb  gcc-pure64.patch
+3adae9dd208f52112e86ab1a9aa3a1f002cfe12e39179634499bc81f480cf2a9  gcc-pure64.patch
 c03165e7ce812c93a33fdb0893847b4f9eb892e353d32d85b23249610fb24396  fix-gcj-stdgnu14-link.patch
 22c78cc4a2658ff574e7ded1e5bc765a4f81f730d12e72d5883fe0bf73e71220  fix-gcj-musl.patch
 51782c972ab828eb4ccb3ca3570341d025b2ae9a8e8fd8188cefb29c5f87401b  fix-gcj-iconv-musl.patch
@@ -665,6 +667,7 @@ bd7a6f514fcc457f29e5fda157203f3bcd013aeba5d53b3459196eef3ce752ab  gcc-4.8-build-
 a395ba4cf047c48cac56985726fddf0948f4425c9f1a0c9ddba1812b2b3d8300  fix-cxxflags-passing.patch
 d2a67a7ae0304cd10532883df19923b98dbc9b7a24957b619d4a6e04f19c5507  ada-fixes.patch
 d6c7fc1820a4fa285297c299c255fe2f19ce1695486f20edd098252a97545e6a  ada-shared.patch
+66b1d3c5880e0651c46f32f3a44171cc80d216d6514e75b8d7bd8fdbc565424c  300-main-gcc-add-musl-s390x-dynamic-linker.patch
 f7f5aa37d27644292a90ab31afdf4be93b116507bfc39f4d9f6af047311b7d87  ada-musl.patch"
 sha512sums="1e8b826a3d44b9d5899309894e20c03abeb352bf3d273b8ad63af814c0ee2911f1a83ce1cd4cdd2d1cb0b3e3c34e9b7ae1b2ab83dfc649ee817ab05247c76198  gcc-6.2.0.tar.bz2
 28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226  ecj-4.9.jar
@@ -691,7 +694,7 @@ d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2
 600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d  gcc-4.9-musl-fortify.patch
 dbe0ee917fc7668571722364ab7c806731e3a31e8bfa30b4941b28b16b877d2a32b4a3897ef533399a28f82d43cac9b28e92de0493f0e779046db56584e07fa4  gcc-6.1-musl-libssp.patch
 bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7  boehm-gc-musl.patch
-cd94f7be10de7511b17355dbb6b86dc70919b4a41c8aec1d7c5961820248aa00cf1594ed66fdd412c12b02a94605600530f674b32ab4cbd0ca6456968475ecbb  gcc-pure64.patch
+9232f58872eecd5f994815674813211d38e1427814d8e06b139a802034ea2c42134281f4f7930b14d586e9a2009e8a22bcac6e9717441824d2cb87d99febf141  gcc-pure64.patch
 2253941f3d19b6d08801d3782f5f5ed56c3b73fbc9d3561a8f01c702963ac4fab91599c686076e7081eb6a80c37ccd33591ae978996d6eee1dc0ce0f1c50259a  fix-gcj-stdgnu14-link.patch
 f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d452e9579924a523bc75da6e0648c1c976d42e40af48b10343b  fix-gcj-musl.patch
 54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6  fix-gcj-iconv-musl.patch
@@ -699,4 +702,6 @@ abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1
 35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282  fix-cxxflags-passing.patch
 9016b257abd8fa981de44a49512e35db814d1cbb47c1a87cd31c12d4ae20b13e9e149fe41691a7ec3c95bbcfde8a79194a8d2eaf547ceade3a246fad67c47dd8  ada-fixes.patch
 3f5bc334d9f73d06f5f7c876738d02356acdd08958bea0e4d2095ebf15c2c2ec4e411abdae0297505ae9a1699ca01b17338e853184e84663203b192b0d35fc19  ada-shared.patch
+4b4a0ff306a8ef34ff6e3284fbfca869012164a47ba7cb099085c1dd03e6ca0cdd462f82710e08c9a02895adc7484e4c5eef17b5aa264cf5d978fe8ad78eea93  300-main-gcc-add-musl-s390x-dynamic-linker.patch
 631d4bdef6d8bde34df7978bb53ec28c3c909cf1f87139e5f148138d0f09adc58b41ecf0148bbf50fb4bc916c411e9bf8a2b6c046c75c0e77d754d8c35bcd4d7  ada-musl.patch"
+
diff --git a/main/gcc/gcc-pure64.patch b/main/gcc/gcc-pure64.patch
index 53f882e..aa5b022 100644
--- a/main/gcc/gcc-pure64.patch
+++ b/main/gcc/gcc-pure64.patch
@@ -20,3 +20,12 @@
  MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
  
  MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
+--- ./gcc/config/s390/t-linux64.orig
++++ ./gcc/config/s390/t-linux64
+@@ -7,5 +7,5 @@
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
++MULTILIB_OSDIRNAMES = m64=../lib
++MULTILIB_OSDIRNAMES+= m32=../lib32
-- 
2.10.2

>From bf92d030c21c1656c399520792a6ccf88c9b8ffa Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 05:32:17 +0700
Subject: [PATCH] main/linux-headers: add s390x support

---
 main/linux-headers/APKBUILD | 1 +
 1 file changed, 1 insertion(+)

diff --git a/main/linux-headers/APKBUILD b/main/linux-headers/APKBUILD
index e4658d4..890a648 100644
--- a/main/linux-headers/APKBUILD
+++ b/main/linux-headers/APKBUILD
@@ -38,6 +38,7 @@ package() {
 	case "$_carch" in
 	aarch64*) _carch="arm64" ;;
 	arm*) _carch="arm" ;;
+	s390*) _carch="s390" ;;
 	esac
 
 	cd "$srcdir"/linux-$_kernver
-- 
2.10.2

>From 50a9bf59decd76fab6835ea560ecc9f3f19601a5 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 05:34:20 +0700
Subject: [PATCH] main/linux-vanilla: add s390x support

---
 main/linux-vanilla/APKBUILD             |    7 +-
 main/linux-vanilla/config-vanilla.s390x | 2772 +++++++++++++++++++++++++++++++
 2 files changed, 2778 insertions(+), 1 deletion(-)
 create mode 100644 main/linux-vanilla/config-vanilla.s390x

diff --git a/main/linux-vanilla/APKBUILD b/main/linux-vanilla/APKBUILD
index 35b5309..1c5dd5f 100644
--- a/main/linux-vanilla/APKBUILD
+++ b/main/linux-vanilla/APKBUILD
@@ -1,5 +1,4 @@
 # Maintainer: Natanael Copa <[email-masked]>
-
 _flavor=vanilla
 pkgname=linux-${_flavor}
 pkgver=4.4.32
@@ -21,6 +20,7 @@ source="http://ftp.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.
 	config-vanilla.armhf
 	config-vanilla.x86
 	config-vanilla.x86_64
+	config-vanilla.s390x
 
 	0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
 	"
@@ -37,6 +37,7 @@ _carch=${CARCH}
 case "$_carch" in
 aarch64*) _carch="arm64" ;;
 arm*) _carch="arm" ;;
+s390*) _carch="s390" ;;
 esac
 
 HOSTCC="${CC:-gcc}"
@@ -152,6 +153,7 @@ dev() {
 	cp -a drivers/media/dvb/dvb-core/*.h "$dir"/drivers/media/dvb/dvb-core
 	cp -a drivers/media/video/*.h "$dir"/drivers/media/video
 	cp -a drivers/media/dvb/frontends/*.h "$dir"/drivers/media/dvb/frontends
+
 	cp -a scripts include "$dir"
 	find $(find arch -name include -type d -print) -type f \
 		| cpio -pdm "$dir"
@@ -169,6 +171,7 @@ md5sums="9a78fa2eb6c68ca5a40ed5af08142599  linux-4.4.tar.xz
 6f923d5029129429bceae658a832ff4c  config-vanilla.armhf
 9ea7793a78b05d13206f255197a25838  config-vanilla.x86
 981e7b8638f2d35bc8f01d3d51b4ec46  config-vanilla.x86_64
+249d824e878d7825d5f58c22469ad659  config-vanilla.s390x
 e10e580b7aadf42ba595e35d3ff3fc69  0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
 394f1ad7f950428eaed011f2e6d36060  patch-4.4.32.xz"
 sha256sums="401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2  linux-4.4.tar.xz
@@ -176,6 +179,7 @@ sha256sums="401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2  li
 6a923534767f24e0adc515e4c29ee7b95498be4fc0c9ba61142669bacd8d7cb0  config-vanilla.armhf
 647f9d58c01745ad82c4f6775d9e6279804385037d485a1806ccf1027b8af629  config-vanilla.x86
 0ad8ce5491100a2d4cda4ce36a6ce3e69aaf4ad3bee8c65a7ff891a55e04a6d4  config-vanilla.x86_64
+3e2ac83cf49e451cc4e1485e5efd61da7f630e43511cb94a0c8dcd01f7facb73  config-vanilla.s390x
 b9bcbe11c017764075179fb61fb13f6d0eca2c5495402d8f4ace2331cfe0c0b4  0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
 329b6b24e9e02b2e01ab13a9f62f853b37272c4f1c210cdcdda93937e0d0cb18  patch-4.4.32.xz"
 sha512sums="13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e  linux-4.4.tar.xz
@@ -183,5 +187,6 @@ f60eaafca6c30c065293606e584a822cff6634d19b2be5a28a18745c3e2c8463b410cae1bf259c05
 b31f3708f177f4841e89e7eb01a4e93bd977c79f3255522c01c1664d36fd680dfaf31fb407d6e00b0a4dcee31f8e7daba5119b51377a3a6056f37aefb9067da2  config-vanilla.armhf
 3404d621991b61e89f00f530679cc950031239601f274e9d31cd31f5c345cefd4e9240ddde9acd6ba07f62874f5b63433a36a06f0d2b7dad1bc90f20eaecea8c  config-vanilla.x86
 b17ff21ec42cb09518376e53c1dc635ae2a2f85851fb95a66dfb9d02e1a63480a8b32f1ac1fe003e926375163bcd156d6d70c720cf07d9d61749c91757486983  config-vanilla.x86_64
+c41b5cedb864670478515f6b199b3337c7d8a7b3b8fef4ac78ac32a70c5b711ee5ae0574885538e8ffe9053a8f4827dd051c5d916cd5b196dfeed504ee5aa640  config-vanilla.s390x
 ebc1b89ff0985246889f68c32fb0bd326eb0f015a97b913bf8e2b92855c75809d114c57aff8f3f74d120694f1c5891d7a11ebe4aadaadd1954a947e762bf121d  0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
 118923fc9bfc123d9b140f345823c20f402fa4f338d6cce2395bec792e018f937b10809ad4f33149da6a0cbde782f26a224b40c5b2dcd22e995f36c2d76d59df  patch-4.4.32.xz"
diff --git a/main/linux-vanilla/config-vanilla.s390x b/main/linux-vanilla/config-vanilla.s390x
new file mode 100644
index 0000000..b3f456e
--- /dev/null
+++ b/main/linux-vanilla/config-vanilla.s390x
@@ -0,0 +1,2772 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/s390 4.4.0-31-generic Kernel Configuration
+#
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_PGSTE=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_KEXEC=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_NO_IOPORT_MAP=y
+# CONFIG_PCI_QUIRKS is not set
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_S390=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+CONFIG_KERNEL_XZ=y
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_FHANDLE=y
+CONFIG_USELIB=y
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+# CONFIG_TASKS_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_EXPEDITE_BOOT is not set
+CONFIG_BUILD_BIN2C=y
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING=y
+# CONFIG_NUMA_BALANCING_DEFAULT_ENABLED is not set
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_PAGE_COUNTER=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_MEMCG_KMEM=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_BPF=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+CONFIG_SGETMASK_SYSCALL=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_HAVE_FUTEX_CMPXCHG=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_USERFAULTFD=y
+CONFIG_MEMBARRIER=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+CONFIG_SYSTEM_BLACKLIST_KEYRING=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_KEXEC_CORE=y
+CONFIG_OPROFILE=m
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_UPROBES=y
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_CLONE_BACKWARDS2=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_SIG_FORCE is not set
+# CONFIG_MODULE_SIG_ALL is not set
+# CONFIG_MODULE_SIG_SHA1 is not set
+# CONFIG_MODULE_SIG_SHA224 is not set
+# CONFIG_MODULE_SIG_SHA256 is not set
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
+# CONFIG_MODULE_SIG_HASH is not set
+# CONFIG_MODULE_COMPRESS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_DEV_THROTTLING=y
+CONFIG_BLK_CMDLINE_PARSER=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_IBM_PARTITION=y
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y
+CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y
+CONFIG_ARCH_INLINE_SPIN_LOCK=y
+CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y
+CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y
+CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y
+CONFIG_ARCH_INLINE_READ_TRYLOCK=y
+CONFIG_ARCH_INLINE_READ_LOCK=y
+CONFIG_ARCH_INLINE_READ_LOCK_BH=y
+CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y
+CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y
+CONFIG_ARCH_INLINE_READ_UNLOCK=y
+CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y
+CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y
+CONFIG_ARCH_INLINE_WRITE_TRYLOCK=y
+CONFIG_ARCH_INLINE_WRITE_LOCK=y
+CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y
+CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y
+CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y
+CONFIG_INLINE_SPIN_TRYLOCK=y
+CONFIG_INLINE_SPIN_TRYLOCK_BH=y
+CONFIG_INLINE_SPIN_LOCK=y
+CONFIG_INLINE_SPIN_LOCK_BH=y
+CONFIG_INLINE_SPIN_LOCK_IRQ=y
+CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y
+CONFIG_INLINE_SPIN_UNLOCK_BH=y
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y
+CONFIG_INLINE_READ_TRYLOCK=y
+CONFIG_INLINE_READ_LOCK=y
+CONFIG_INLINE_READ_LOCK_BH=y
+CONFIG_INLINE_READ_LOCK_IRQ=y
+CONFIG_INLINE_READ_LOCK_IRQSAVE=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_BH=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y
+CONFIG_INLINE_WRITE_TRYLOCK=y
+CONFIG_INLINE_WRITE_LOCK=y
+CONFIG_INLINE_WRITE_LOCK_BH=y
+CONFIG_INLINE_WRITE_LOCK_IRQ=y
+CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_BH=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+CONFIG_HAVE_LIVEPATCH=y
+# CONFIG_LIVEPATCH is not set
+
+#
+# Processor type and features
+#
+CONFIG_HAVE_MARCH_Z900_FEATURES=y
+CONFIG_HAVE_MARCH_Z990_FEATURES=y
+CONFIG_HAVE_MARCH_Z9_109_FEATURES=y
+CONFIG_HAVE_MARCH_Z10_FEATURES=y
+CONFIG_HAVE_MARCH_Z196_FEATURES=y
+CONFIG_HAVE_MARCH_ZEC12_FEATURES=y
+# CONFIG_HAVE_MARCH_Z13_FEATURES is not set
+# CONFIG_MARCH_Z900 is not set
+# CONFIG_MARCH_Z990 is not set
+# CONFIG_MARCH_Z9_109 is not set
+# CONFIG_MARCH_Z10 is not set
+# CONFIG_MARCH_Z196 is not set
+CONFIG_MARCH_ZEC12=y
+# CONFIG_MARCH_Z13 is not set
+# CONFIG_MARCH_Z900_TUNE is not set
+# CONFIG_MARCH_Z990_TUNE is not set
+# CONFIG_MARCH_Z9_109_TUNE is not set
+# CONFIG_MARCH_Z10_TUNE is not set
+# CONFIG_MARCH_Z196_TUNE is not set
+CONFIG_MARCH_ZEC12_TUNE=y
+# CONFIG_MARCH_Z13_TUNE is not set
+# CONFIG_TUNE_DEFAULT is not set
+# CONFIG_TUNE_Z900 is not set
+# CONFIG_TUNE_Z990 is not set
+# CONFIG_TUNE_Z9_109 is not set
+# CONFIG_TUNE_Z10 is not set
+# CONFIG_TUNE_Z196 is not set
+CONFIG_TUNE_ZEC12=y
+# CONFIG_TUNE_Z13 is not set
+CONFIG_64BIT=y
+CONFIG_COMPAT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_SMP=y
+CONFIG_NR_CPUS=256
+CONFIG_HOTPLUG_CPU=y
+CONFIG_SCHED_SMT=y
+CONFIG_NODES_SPAN_OTHER_NODES=y
+CONFIG_NUMA=y
+CONFIG_NODES_SHIFT=4
+
+#
+# Select NUMA modes
+#
+CONFIG_NUMA_EMU=y
+CONFIG_EMU_SIZE=0x10000000
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_BOOK=y
+CONFIG_SCHED_TOPOLOGY=y
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_SCHED_HRTICK=y
+
+#
+# Memory setup
+#
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_FORCE_MAX_ZONEORDER=9
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MEMBLOCK_PHYS_MAP=y
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+# CONFIG_BOUNCE is not set
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CLEANCACHE=y
+CONFIG_FRONTSWAP=y
+# CONFIG_CMA is not set
+CONFIG_MEM_SOFT_DIRTY=y
+CONFIG_ZSWAP=y
+CONFIG_ZPOOL=y
+CONFIG_ZBUD=y
+CONFIG_ZSMALLOC=y
+# CONFIG_PGTABLE_MAPPING is not set
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_IDLE_PAGE_TRACKING=y
+CONFIG_PACK_STACK=y
+CONFIG_CHECK_STACK=y
+CONFIG_STACK_GUARD=256
+# CONFIG_WARN_DYNAMIC_STACK is not set
+
+#
+# I/O subsystem
+#
+CONFIG_QDIO=m
+CONFIG_PCI=y
+CONFIG_PCI_NR_FUNCTIONS=64
+CONFIG_PCI_NR_MSI=256
+CONFIG_PCI_BUS_ADDR_T_64BIT=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
+CONFIG_PCI_STUB=m
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+
+#
+# PCI host controller drivers
+#
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEBUG=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_CPCI=y
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+CONFIG_HOTPLUG_PCI_S390=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_HAS_IOMEM=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_CHSC_SCH=m
+CONFIG_SCM_BUS=y
+CONFIG_EADM_SCH=m
+
+#
+# Dump support
+#
+CONFIG_CRASH_DUMP=y
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_SECCOMP=y
+
+#
+# Power Management
+#
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_ARCH_SAVE_PAGE_KEYS=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_IUCV=y
+CONFIG_AFIUCV=m
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_FIB_TRIE_STATS=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_COMMON=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=m
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=m
+CONFIG_NF_TABLES_NETDEV=m
+CONFIG_NFT_EXTHDR=m
+CONFIG_NFT_META=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_RBTREE=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_COUNTER=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_COMPAT=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_IPV6=y
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_TABLES_IPV4=m
+CONFIG_NFT_CHAIN_ROUTE_IPV4=m
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_NFT_CHAIN_NAT_IPV4=m
+CONFIG_NF_NAT_MASQUERADE_IPV4=m
+CONFIG_NFT_MASQ_IPV4=m
+CONFIG_NFT_REDIR_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_NF_TABLES_IPV6=m
+CONFIG_NFT_CHAIN_ROUTE_IPV6=m
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_NFT_CHAIN_NAT_IPV6=m
+CONFIG_NF_NAT_MASQUERADE_IPV6=m
+CONFIG_NFT_MASQ_IPV6=m
+CONFIG_NFT_REDIR_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+CONFIG_NF_TABLES_BRIDGE=m
+CONFIG_NFT_BRIDGE_META=m
+CONFIG_NFT_BRIDGE_REJECT=m
+CONFIG_NF_LOG_BRIDGE=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_SCTP=m
+CONFIG_NET_SCTPPROBE=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_TIPC_MEDIA_UDP=y
+# CONFIG_ATM is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_NET_CLS_BPF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+CONFIG_DCB=y
+CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_OPENVSWITCH_VXLAN=m
+CONFIG_OPENVSWITCH_GENEVE=m
+CONFIG_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_TCPPROBE=m
+# CONFIG_NET_DROP_MONITOR is not set
+# CONFIG_CAN is not set
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+# CONFIG_NFC is not set
+CONFIG_LWTUNNEL=y
+CONFIG_HAVE_BPF_JIT=y
+# CONFIG_PCMCIA is not set
+CONFIG_CCW=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
+CONFIG_ALLOW_DEV_COREDUMP=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+# CONFIG_DMA_SHARED_BUFFER is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+# CONFIG_MTD is not set
+# CONFIG_OF is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_NULL_BLK=m
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+CONFIG_ZRAM=m
+CONFIG_ZRAM_LZ4_COMPRESS=y
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SKD is not set
+CONFIG_BLK_DEV_OSD=m
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_BLK_DEV_RAM_DAX=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# S/390 block device drivers
+#
+# CONFIG_BLK_DEV_XPRAM is not set
+CONFIG_DCSSBLK=m
+CONFIG_DASD=m
+CONFIG_DASD_PROFILE=y
+CONFIG_DASD_ECKD=m
+CONFIG_DASD_FBA=m
+CONFIG_DASD_DIAG=m
+CONFIG_DASD_EER=y
+CONFIG_SCM_BLOCK=m
+CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
+CONFIG_VIRTIO_BLK=y
+CONFIG_BLK_DEV_RBD=m
+# CONFIG_BLK_DEV_RSXX is not set
+# CONFIG_BLK_DEV_NVME is not set
+
+#
+# Misc devices
+#
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+
+#
+# Altera FPGA firmware download module
+#
+
+#
+# Intel MIC Bus Driver
+#
+
+#
+# SCIF Bus Driver
+#
+
+#
+# Intel MIC Host Driver
+#
+
+#
+# Intel MIC Card Driver
+#
+
+#
+# SCIF Driver
+#
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
+# CONFIG_ECHO is not set
+# CONFIG_CXL_BASE is not set
+# CONFIG_CXL_KERNEL_API is not set
+# CONFIG_CXL_EEH is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_MQ_DEFAULT=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_SCSI_BNX2X_FCOE is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+CONFIG_SCSI_MPT2SAS=m
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_SCSI_HPTIOP is not set
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+CONFIG_SCSI_DEBUG=m
+CONFIG_ZFCP=m
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_BFA_FC is not set
+CONFIG_SCSI_VIRTIO=m
+# CONFIG_SCSI_CHELSIO_FCOE is not set
+CONFIG_SCSI_DH=y
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_MD_CLUSTER=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_MQ_DEFAULT=y
+CONFIG_DM_DEBUG=y
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_SMQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_ERA=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_RAID=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_DM_SWITCH=m
+CONFIG_DM_LOG_WRITES=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_IPVLAN=m
+CONFIG_VXLAN=m
+CONFIG_GENEVE=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=y
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=y
+CONFIG_NLMON=m
+CONFIG_NET_VRF=m
+# CONFIG_ARCNET is not set
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+CONFIG_VHOST=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_ETHERNET=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_ALTERA_TSE is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=m
+# CONFIG_NET_CADENCE is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+# CONFIG_NET_VENDOR_EXAR is not set
+# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_JME is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_EN_DCB=y
+CONFIG_MLX4_EN_VXLAN=y
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_MLXSW_CORE=m
+CONFIG_MLXSW_PCI=m
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_ETHOC is not set
+# CONFIG_NET_PACKET_ENGINE is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_SFC is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AQUANTIA_PHY=m
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_TERANETICS_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BCM_NET_PHYLIB=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM7XXX_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_DP83848_PHY=m
+CONFIG_DP83867_PHY=m
+CONFIG_MICROCHIP_PHY=m
+CONFIG_FIXED_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_CAVIUM=m
+CONFIG_MDIO_OCTEON=m
+CONFIG_MDIO_THUNDER=m
+CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+
+#
+# S/390 network device drivers
+#
+CONFIG_LCS=m
+CONFIG_CTCM=m
+CONFIG_NETIUCV=m
+CONFIG_SMSGIUCV=y
+CONFIG_SMSGIUCV_EVENT=m
+CONFIG_QETH=m
+CONFIG_QETH_L2=m
+CONFIG_QETH_L3=m
+CONFIG_QETH_IPV6=y
+CONFIG_CCWGROUP=m
+
+#
+# Host-side USB support is needed for USB Network Adapter support
+#
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_VMXNET3 is not set
+CONFIG_NVM=y
+# CONFIG_NVM_DEBUG is not set
+CONFIG_NVM_GENNVM=m
+CONFIG_NVM_RRPC=m
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=0
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_N_GSM is not set
+# CONFIG_TRACE_SINK is not set
+CONFIG_DEVMEM=y
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=m
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_TTY_PRINTK is not set
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IUCV=y
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_TPM=m
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=y
+CONFIG_DEVPORT=y
+
+#
+# S/390 character device drivers
+#
+CONFIG_TN3270=y
+CONFIG_TN3270_TTY=y
+CONFIG_TN3270_FS=m
+CONFIG_TN3270_CONSOLE=y
+CONFIG_TN3215=y
+CONFIG_TN3215_CONSOLE=y
+CONFIG_CCW_CONSOLE=y
+CONFIG_SCLP_TTY=y
+CONFIG_SCLP_CONSOLE=y
+CONFIG_SCLP_VT220_TTY=y
+CONFIG_SCLP_VT220_CONSOLE=y
+CONFIG_SCLP_CPI=m
+CONFIG_SCLP_ASYNC=m
+CONFIG_SCLP_ASYNC_ID="000000000"
+CONFIG_HMC_DRV=m
+CONFIG_S390_TAPE=m
+
+#
+# S/390 tape hardware support
+#
+CONFIG_S390_TAPE_34XX=m
+CONFIG_S390_TAPE_3590=m
+CONFIG_VMLOGRDR=m
+CONFIG_VMCP=y
+CONFIG_MONREADER=m
+CONFIG_MONWRITER=m
+CONFIG_S390_VMUR=m
+# CONFIG_XILLYBUS is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+# CONFIG_SPI is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_POWER_AVS is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+CONFIG_BCM7038_WDT=m
+CONFIG_DIAG288_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_SYSCON is not set
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+
+#
+# Frame buffer Devices
+#
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_SOUND is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
+# CONFIG_INFINIBAND_QIB is not set
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_MLX5_INFINIBAND=m
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
+CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO_VIRQFD=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+CONFIG_IRQ_BYPASS_MANAGER=m
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=y
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_PCI_LEGACY=y
+CONFIG_VIRTIO_BALLOON=y
+# CONFIG_VIRTIO_MMIO is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# CONFIG_STAGING is not set
+
+#
+# Hardware Spinlock drivers
+#
+
+#
+# Clock Source drivers
+#
+# CONFIG_ATMEL_PIT is not set
+# CONFIG_SH_TIMER_CMT is not set
+# CONFIG_SH_TIMER_MTU2 is not set
+# CONFIG_SH_TIMER_TMU is not set
+# CONFIG_EM_TIMER_STI is not set
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_S390_IOMMU=y
+
+#
+# Remoteproc drivers
+#
+# CONFIG_STE_MODEM_RPROC is not set
+
+#
+# Rpmsg drivers
+#
+
+#
+# SOC (System On Chip) specific Drivers
+#
+# CONFIG_SUNXI_SRAM is not set
+# CONFIG_SOC_TI is not set
+# CONFIG_PM_DEVFREQ is not set
+# CONFIG_EXTCON is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_FMC is not set
+
+#
+# PHY Subsystem
+#
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+CONFIG_RAS=y
+# CONFIG_THUNDERBOLT is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_NVMEM is not set
+CONFIG_STM=m
+CONFIG_STM_DUMMY=m
+CONFIG_STM_SOURCE_CONSOLE=m
+CONFIG_INTEL_TH=m
+CONFIG_INTEL_TH_PCI=m
+CONFIG_INTEL_TH_GTH=m
+CONFIG_INTEL_TH_STH=m
+CONFIG_INTEL_TH_MSU=m
+CONFIG_INTEL_TH_PTI=m
+# CONFIG_INTEL_TH_DEBUG is not set
+
+#
+# FPGA Configuration Support
+#
+CONFIG_FPGA=m
+CONFIG_FPGA_MGR_ZYNQ_FPGA=m
+
+#
+# File systems
+#
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_ENCRYPTION=m
+CONFIG_EXT4_FS_ENCRYPTION=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+CONFIG_NILFS2_FS=m
+# CONFIG_F2FS_FS is not set
+CONFIG_FS_DAX=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_CUSE=m
+CONFIG_OVERLAY_FS=m
+CONFIG_OVERLAY_FS_V1=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_VMCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=y
+CONFIG_ECRYPT_FS_MESSAGING=y
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_LOGFS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+CONFIG_SQUASHFS_FILE_DIRECT=y
+# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EXOFS_FS is not set
+CONFIG_AUFS_FS=m
+CONFIG_AUFS_BRANCH_MAX_127=y
+# CONFIG_AUFS_BRANCH_MAX_511 is not set
+# CONFIG_AUFS_BRANCH_MAX_1023 is not set
+# CONFIG_AUFS_BRANCH_MAX_32767 is not set
+CONFIG_AUFS_SBILIST=y
+# CONFIG_AUFS_HNOTIFY is not set
+CONFIG_AUFS_EXPORT=y
+CONFIG_AUFS_XATTR=y
+# CONFIG_AUFS_FHSM is not set
+# CONFIG_AUFS_RDU is not set
+# CONFIG_AUFS_SHWH is not set
+# CONFIG_AUFS_BR_RAMFS is not set
+# CONFIG_AUFS_BR_FUSE is not set
+CONFIG_AUFS_BDEV_LOOP=y
+# CONFIG_AUFS_DEBUG is not set
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+CONFIG_NFS_V4_1_MIGRATION=y
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DEBUG=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
+CONFIG_NFSD_V4_SECURITY_LABEL=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC_DEBUG=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_CEPH_FS=m
+CONFIG_CEPH_FSCACHE=y
+CONFIG_CEPH_FS_POSIX_ACL=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_ACL=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_SMB311=y
+CONFIG_CIFS_FSCACHE=y
+# CONFIG_NCP_FS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+CONFIG_DYNAMIC_DEBUG=y
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_INFO_SPLIT is not set
+CONFIG_DEBUG_INFO_DWARF4=y
+CONFIG_GDB_SCRIPTS=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_PAGE_OWNER is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHED_INFO=y
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_STACK_END_CHECK=y
+# CONFIG_DEBUG_TIMEKEEPING is not set
+CONFIG_TIMER_STATS=y
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_LOCK_TORTURE_TEST=m
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PI_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_PROVE_RCU is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+CONFIG_TORTURE_TEST=m
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_TRACER_SNAPSHOT=y
+# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_STACK_TRACER=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_KPROBE_EVENT=y
+CONFIG_UPROBE_EVENT=y
+CONFIG_BPF_EVENTS=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_TRACEPOINT_BENCHMARK is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_TRACE_ENUM_MAP_FILE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_LKDTM is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+CONFIG_PERCPU_TEST=m
+# CONFIG_ATOMIC64_SELFTEST is not set
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_TEST_HEXDUMP=m
+CONFIG_TEST_STRING_HELPERS=m
+CONFIG_TEST_KSTRTOX=m
+CONFIG_TEST_PRINTF=m
+# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_TEST_LKM=m
+CONFIG_TEST_USER_COPY=m
+CONFIG_TEST_BPF=m
+CONFIG_TEST_FIRMWARE=m
+CONFIG_TEST_UDELAY=m
+CONFIG_MEMTEST=y
+CONFIG_TEST_STATIC_KEYS=m
+# CONFIG_SAMPLES is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_S390_PTDUMP=y
+CONFIG_DEBUG_SET_MODULE_RONX=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_PERSISTENT_KEYRINGS=y
+CONFIG_BIG_KEYS=y
+CONFIG_TRUSTED_KEYS=y
+CONFIG_ENCRYPTED_KEYS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+CONFIG_SECURITY_PATH=y
+CONFIG_LSM_MMAP_MIN_ADDR=0
+CONFIG_SECURITY_SELINUX=y
+# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
+# CONFIG_SECURITY_SELINUX_DISABLE is not set
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
+# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
+CONFIG_SECURITY_SMACK=y
+# CONFIG_SECURITY_SMACK_BRINGUP is not set
+CONFIG_SECURITY_SMACK_NETFILTER=y
+CONFIG_SECURITY_TOMOYO=y
+CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
+CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
+# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
+CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
+# CONFIG_SECURITY_APPARMOR_STATS is not set
+CONFIG_SECURITY_APPARMOR_UNCONFINED_INIT=y
+CONFIG_SECURITY_APPARMOR_HASH=y
+CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
+CONFIG_SECURITY_YAMA=y
+CONFIG_INTEGRITY=y
+CONFIG_INTEGRITY_SIGNATURE=y
+CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
+CONFIG_INTEGRITY_AUDIT=y
+CONFIG_IMA=y
+CONFIG_IMA_MEASURE_PCR_IDX=10
+CONFIG_IMA_LSM_RULES=y
+# CONFIG_IMA_TEMPLATE is not set
+CONFIG_IMA_NG_TEMPLATE=y
+# CONFIG_IMA_SIG_TEMPLATE is not set
+CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
+CONFIG_IMA_DEFAULT_HASH_SHA1=y
+# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set
+# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
+# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
+CONFIG_IMA_DEFAULT_HASH="sha1"
+CONFIG_IMA_APPRAISE=y
+CONFIG_IMA_TRUSTED_KEYRING=y
+CONFIG_IMA_MOK_KEYRING=y
+# CONFIG_IMA_LOAD_X509 is not set
+CONFIG_EVM=y
+CONFIG_EVM_ATTR_FSUUID=y
+CONFIG_EVM_EXTRA_SMACK_XATTRS=y
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_APPARMOR=y
+# CONFIG_DEFAULT_SECURITY_DAC is not set
+CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_MCRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_KEYWRAP=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_LZ4HC=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_HMAC=y
+CONFIG_CRYPTO_DRBG_HASH=y
+CONFIG_CRYPTO_DRBG_CTR=y
+CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_JITTERENTROPY=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_USER_API_AEAD=m
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_HW=y
+CONFIG_ZCRYPT=m
+CONFIG_CRYPTO_SHA1_S390=m
+CONFIG_CRYPTO_SHA256_S390=m
+CONFIG_CRYPTO_SHA512_S390=m
+CONFIG_CRYPTO_DES_S390=m
+CONFIG_CRYPTO_AES_S390=m
+CONFIG_S390_PRNG=m
+CONFIG_CRYPTO_GHASH_S390=m
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_PUBLIC_KEY_ALGO_RSA=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS7_MESSAGE_PARSER=y
+CONFIG_PKCS7_TEST_KEY=m
+CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+
+#
+# Certificates for signature checking
+#
+CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+CONFIG_SYSTEM_EXTRA_CERTIFICATE=y
+CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_IO=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CRC8=m
+# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_842_COMPRESS=m
+CONFIG_842_DECOMPRESS=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=m
+CONFIG_LZ4HC_COMPRESS=m
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_ARM is not set
+# CONFIG_XZ_DEC_ARMTHUMB is not set
+# CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_INTERVAL_TREE=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+CONFIG_DDR=y
+CONFIG_MPILIB=y
+CONFIG_SIGNATURE=y
+CONFIG_OID_REGISTRY=y
+# CONFIG_SG_SPLIT is not set
+CONFIG_ARCH_HAS_SG_CHAIN=y
+
+#
+# Virtualization
+#
+CONFIG_PFAULT=y
+CONFIG_CMM=y
+CONFIG_CMM_IUCV=y
+CONFIG_APPLDATA_BASE=y
+CONFIG_APPLDATA_MEM=m
+CONFIG_APPLDATA_OS=m
+CONFIG_APPLDATA_NET_SUM=m
+CONFIG_S390_HYPFS_FS=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQFD=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_KVM_ASYNC_PF_SYNC=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+# CONFIG_KVM_S390_UCONTROL is not set
+CONFIG_S390_GUEST=y
-- 
2.10.2

>From f1d630d2fca106b947a61b6bc2c06aacb0dec7ac Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 05:41:08 +0700
Subject: [PATCH] main/musl: add s390x support

---
 main/musl/1002-add-musl-s390x-port.patch | 1757 ++++++++++++++++++++++++++++++
 main/musl/APKBUILD                       |    8 +
 2 files changed, 1765 insertions(+)
 create mode 100644 main/musl/1002-add-musl-s390x-port.patch

diff --git a/main/musl/1002-add-musl-s390x-port.patch b/main/musl/1002-add-musl-s390x-port.patch
new file mode 100644
index 0000000..d53be45
--- /dev/null
+++ b/main/musl/1002-add-musl-s390x-port.patch
@@ -0,0 +1,1757 @@
+From 76316cd77990b1ffcbac8fc71a6b52ceb16c2663 Mon Sep 17 00:00:00 2001
+From: "Tuan M. Hoang" <[email-masked]>
+Date: Sun, 20 Nov 2016 22:10:22 +0700
+Subject: [PATCH] add musl s390x port
+
+This patch was originally submitted by Bobby Bingham and got merged in 
+musl upstream. There was 2 minor errors in it which was again submitted 
+but not merged yet. I included them all in this patch too. For more 
+information, see 
+http://git.musl-libc.org/cgit/musl/commit/?id=15094943050eb9a564f4093230
+70e50b40f78816, http://www.openwall.com/lists/musl/2016/11/15/2 and 
+http://www.openwall.com/lists/musl/2016/11/15/3.
+
+From 15094943050eb9a564f409323070e50b40f78816 Mon Sep 17 00:00:00 2001
+From: Bobby Bingham <[email-masked]>
+Date: Fri, 11 Nov 2016 21:52:05 -0600
+Subject: add s390x port
+
+---
+ arch/s390x/atomic_arch.h             |  30 ++++
+ arch/s390x/bits/alltypes.h.in        |  26 +++
+ arch/s390x/bits/endian.h             |   1 +
+ arch/s390x/bits/fcntl.h              |  40 +++++
+ arch/s390x/bits/fenv.h               |  17 ++
+ arch/s390x/bits/float.h              |  16 ++
+ arch/s390x/bits/ioctl.h              | 195 +++++++++++++++++++++
+ arch/s390x/bits/ipc.h                |  14 ++
+ arch/s390x/bits/limits.h             |   8 +
+ arch/s390x/bits/link.h               |   1 +
+ arch/s390x/bits/msg.h                |  12 ++
+ arch/s390x/bits/posix.h              |   2 +
+ arch/s390x/bits/reg.h                |   2 +
+ arch/s390x/bits/sem.h                |   7 +
+ arch/s390x/bits/setjmp.h             |   1 +
+ arch/s390x/bits/shm.h                |  25 +++
+ arch/s390x/bits/signal.h             | 106 ++++++++++++
+ arch/s390x/bits/socket.h             |  44 +++++
+ arch/s390x/bits/stat.h               |  16 ++
+ arch/s390x/bits/statfs.h             |   7 +
+ arch/s390x/bits/stdint.h             |  20 +++
+ arch/s390x/bits/syscall.h.in         | 323 +++++++++++++++++++++++++++++++++++
+ arch/s390x/bits/user.h               |  62 +++++++
+ arch/s390x/crt_arch.h                |  17 ++
+ arch/s390x/pthread_arch.h            |  14 ++
+ arch/s390x/reloc.h                   |  15 ++
+ arch/s390x/syscall_arch.h            |  76 +++++++++
+ configure                            |   1 +
+ crt/s390x/crti.s                     |  17 ++
+ crt/s390x/crtn.s                     |   9 +
+ src/fenv/s390x/fenv.c                |  55 ++++++
+ src/internal/s390x/syscall.s         |  15 ++
+ src/process/s390x/vfork.s            |   8 +
+ src/setjmp/s390x/longjmp.s           |  23 +++
+ src/setjmp/s390x/setjmp.s            |  25 +++
+ src/signal/s390x/restore.s           |   9 +
+ src/signal/s390x/sigsetjmp.s         |  23 +++
+ src/thread/s390x/__set_thread_area.s |   9 +
+ src/thread/s390x/__tls_get_offset.s  |  17 ++
+ src/thread/s390x/__unmapself.s       |   6 +
+ src/thread/s390x/clone.s             |  47 +++++
+ src/thread/s390x/syscall_cp.s        |  32 ++++
+ 42 files changed, 1393 insertions(+)
+ create mode 100644 arch/s390x/atomic_arch.h
+ create mode 100644 arch/s390x/bits/alltypes.h.in
+ create mode 100644 arch/s390x/bits/endian.h
+ create mode 100644 arch/s390x/bits/fcntl.h
+ create mode 100644 arch/s390x/bits/fenv.h
+ create mode 100644 arch/s390x/bits/float.h
+ create mode 100644 arch/s390x/bits/ioctl.h
+ create mode 100644 arch/s390x/bits/ipc.h
+ create mode 100644 arch/s390x/bits/limits.h
+ create mode 100644 arch/s390x/bits/link.h
+ create mode 100644 arch/s390x/bits/msg.h
+ create mode 100644 arch/s390x/bits/posix.h
+ create mode 100644 arch/s390x/bits/reg.h
+ create mode 100644 arch/s390x/bits/sem.h
+ create mode 100644 arch/s390x/bits/setjmp.h
+ create mode 100644 arch/s390x/bits/shm.h
+ create mode 100644 arch/s390x/bits/signal.h
+ create mode 100644 arch/s390x/bits/socket.h
+ create mode 100644 arch/s390x/bits/stat.h
+ create mode 100644 arch/s390x/bits/statfs.h
+ create mode 100644 arch/s390x/bits/stdint.h
+ create mode 100644 arch/s390x/bits/syscall.h.in
+ create mode 100644 arch/s390x/bits/user.h
+ create mode 100644 arch/s390x/crt_arch.h
+ create mode 100644 arch/s390x/pthread_arch.h
+ create mode 100644 arch/s390x/reloc.h
+ create mode 100644 arch/s390x/syscall_arch.h
+ create mode 100644 crt/s390x/crti.s
+ create mode 100644 crt/s390x/crtn.s
+ create mode 100644 src/fenv/s390x/fenv.c
+ create mode 100644 src/internal/s390x/syscall.s
+ create mode 100644 src/process/s390x/vfork.s
+ create mode 100644 src/setjmp/s390x/longjmp.s
+ create mode 100644 src/setjmp/s390x/setjmp.s
+ create mode 100644 src/signal/s390x/restore.s
+ create mode 100644 src/signal/s390x/sigsetjmp.s
+ create mode 100644 src/thread/s390x/__set_thread_area.s
+ create mode 100644 src/thread/s390x/__tls_get_offset.s
+ create mode 100644 src/thread/s390x/__unmapself.s
+ create mode 100644 src/thread/s390x/clone.s
+ create mode 100644 src/thread/s390x/syscall_cp.s
+
+diff --git a/arch/s390x/atomic_arch.h b/arch/s390x/atomic_arch.h
+new file mode 100644
+index 0000000..9b0e1df
+--- /dev/null
++++ b/arch/s390x/atomic_arch.h
+@@ -0,0 +1,30 @@
++#define a_cas a_cas
++static inline int a_cas(volatile int *p, int t, int s)
++{
++	__asm__ __volatile__ (
++		"cs %0, %2, %1"
++		: "+d"(t), "+Q"(*p) : "d"(s) : "memory", "cc");
++	return t;
++}
++
++#define a_cas_p a_cas_p
++static inline void *a_cas_p(volatile void *p, void *t, void *s)
++{
++	__asm__ __volatile__ (
++		"csg %0, %2, %1"
++		: "+d"(t), "+Q"(*(void *volatile *)p) : "d"(s)
++		: "memory", "cc");
++	return t;
++}
++
++#define a_barrier a_barrier
++static inline void a_barrier()
++{
++	__asm__ __volatile__ ("bcr 15,0" : : : "memory");
++}
++
++#define a_crash a_crash
++static inline void a_crash()
++{
++	__asm__ __volatile__ (".insn e,0");
++}
+diff --git a/arch/s390x/bits/alltypes.h.in b/arch/s390x/bits/alltypes.h.in
+new file mode 100644
+index 0000000..1a83846
+--- /dev/null
++++ b/arch/s390x/bits/alltypes.h.in
+@@ -0,0 +1,26 @@
++#define _Addr long
++#define _Int64 long
++#define _Reg long
++
++TYPEDEF __builtin_va_list va_list;
++TYPEDEF __builtin_va_list __isoc_va_list;
++
++#ifndef __cplusplus
++TYPEDEF int wchar_t;
++#endif
++
++TYPEDEF double float_t;
++TYPEDEF double double_t;
++
++TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
++
++TYPEDEF long time_t;
++TYPEDEF long suseconds_t;
++
++TYPEDEF struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
++TYPEDEF struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
++TYPEDEF struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
++TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
++TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
++TYPEDEF struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
++TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
+diff --git a/arch/s390x/bits/endian.h b/arch/s390x/bits/endian.h
+new file mode 100644
+index 0000000..ef074b7
+--- /dev/null
++++ b/arch/s390x/bits/endian.h
+@@ -0,0 +1 @@
++#define __BYTE_ORDER __BIG_ENDIAN
+diff --git a/arch/s390x/bits/fcntl.h b/arch/s390x/bits/fcntl.h
+new file mode 100644
+index 0000000..1eca6ba
+--- /dev/null
++++ b/arch/s390x/bits/fcntl.h
+@@ -0,0 +1,40 @@
++#define O_CREAT        0100
++#define O_EXCL         0200
++#define O_NOCTTY       0400
++#define O_TRUNC       01000
++#define O_APPEND      02000
++#define O_NONBLOCK    04000
++#define O_DSYNC      010000
++#define O_SYNC     04010000
++#define O_RSYNC    04010000
++#define O_DIRECTORY 0200000
++#define O_NOFOLLOW  0400000
++#define O_CLOEXEC  02000000
++
++#define O_ASYNC      020000
++#define O_DIRECT     040000
++#define O_LARGEFILE 0100000
++#define O_NOATIME  01000000
++#define O_PATH    010000000
++#define O_TMPFILE 020200000
++#define O_NDELAY O_NONBLOCK
++
++#define F_DUPFD  0
++#define F_GETFD  1
++#define F_SETFD  2
++#define F_GETFL  3
++#define F_SETFL  4
++
++#define F_GETLK  5
++#define F_SETLK  6
++#define F_SETLKW 7
++
++#define F_SETOWN 8
++#define F_GETOWN 9
++#define F_SETSIG 10
++#define F_GETSIG 11
++
++#define F_SETOWN_EX 15
++#define F_GETOWN_EX 16
++
++#define F_GETOWNER_UIDS 17
+diff --git a/arch/s390x/bits/fenv.h b/arch/s390x/bits/fenv.h
+new file mode 100644
+index 0000000..773dad9
+--- /dev/null
++++ b/arch/s390x/bits/fenv.h
+@@ -0,0 +1,17 @@
++#define FE_TONEAREST	0
++#define FE_TOWARDZERO	1
++#define FE_UPWARD	2
++#define FE_DOWNWARD	3
++
++#define FE_INEXACT	0x00080000
++#define FE_UNDERFLOW	0x00100000
++#define FE_OVERFLOW	0x00200000
++#define FE_DIVBYZERO	0x00400000
++#define FE_INVALID	0x00800000
++
++#define FE_ALL_EXCEPT	0x00f80000
++
++typedef unsigned fexcept_t;
++typedef unsigned fenv_t;
++
++#define FE_DFL_ENV ((const fenv_t *)-1)
+diff --git a/arch/s390x/bits/float.h b/arch/s390x/bits/float.h
+new file mode 100644
+index 0000000..90b73be
+--- /dev/null
++++ b/arch/s390x/bits/float.h
+@@ -0,0 +1,16 @@
++#define FLT_EVAL_METHOD 1
++
++#define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L
++#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L
++#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L
++#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L
++
++#define LDBL_MANT_DIG 113
++#define LDBL_MIN_EXP (-16381)
++#define LDBL_MAX_EXP 16384
++
++#define LDBL_DIG 33
++#define LDBL_MIN_10_EXP (-4931)
++#define LDBL_MAX_10_EXP 4932
++
++#define DECIMAL_DIG 36
+diff --git a/arch/s390x/bits/ioctl.h b/arch/s390x/bits/ioctl.h
+new file mode 100644
+index 0000000..11196e1
+--- /dev/null
++++ b/arch/s390x/bits/ioctl.h
+@@ -0,0 +1,195 @@
++#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
++#define _IOC_NONE  0U
++#define _IOC_WRITE 1U
++#define _IOC_READ  2U
++
++#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
++#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
++#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
++#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
++
++#define TCGETS		0x5401
++#define TCSETS		0x5402
++#define TCSETSW		0x5403
++#define TCSETSF		0x5404
++#define TCGETA		0x5405
++#define TCSETA		0x5406
++#define TCSETAW		0x5407
++#define TCSETAF		0x5408
++#define TCSBRK		0x5409
++#define TCXONC		0x540A
++#define TCFLSH		0x540B
++#define TIOCEXCL	0x540C
++#define TIOCNXCL	0x540D
++#define TIOCSCTTY	0x540E
++#define TIOCGPGRP	0x540F
++#define TIOCSPGRP	0x5410
++#define TIOCOUTQ	0x5411
++#define TIOCSTI		0x5412
++#define TIOCGWINSZ	0x5413
++#define TIOCSWINSZ	0x5414
++#define TIOCMGET	0x5415
++#define TIOCMBIS	0x5416
++#define TIOCMBIC	0x5417
++#define TIOCMSET	0x5418
++#define TIOCGSOFTCAR	0x5419
++#define TIOCSSOFTCAR	0x541A
++#define FIONREAD	0x541B
++#define TIOCINQ		FIONREAD
++#define TIOCLINUX	0x541C
++#define TIOCCONS	0x541D
++#define TIOCGSERIAL	0x541E
++#define TIOCSSERIAL	0x541F
++#define TIOCPKT		0x5420
++#define FIONBIO		0x5421
++#define TIOCNOTTY	0x5422
++#define TIOCSETD	0x5423
++#define TIOCGETD	0x5424
++#define TCSBRKP		0x5425
++#define TIOCTTYGSTRUCT	0x5426
++#define TIOCSBRK	0x5427
++#define TIOCCBRK	0x5428
++#define TIOCGSID	0x5429
++#define TIOCGPTN	0x80045430
++#define TIOCSPTLCK	0x40045431
++#define TCGETX		0x5432
++#define TCSETX		0x5433
++#define TCSETXF		0x5434
++#define TCSETXW		0x5435
++
++#define FIONCLEX	0x5450
++#define FIOCLEX		0x5451
++#define FIOASYNC	0x5452
++#define TIOCSERCONFIG	0x5453
++#define TIOCSERGWILD	0x5454
++#define TIOCSERSWILD	0x5455
++#define TIOCGLCKTRMIOS	0x5456
++#define TIOCSLCKTRMIOS	0x5457
++#define TIOCSERGSTRUCT	0x5458
++#define TIOCSERGETLSR   0x5459
++#define TIOCSERGETMULTI 0x545A
++#define TIOCSERSETMULTI 0x545B
++
++#define TIOCMIWAIT	0x545C
++#define TIOCGICOUNT	0x545D
++#define FIOQSIZE	0x545E
++
++#define TIOCPKT_DATA		 0
++#define TIOCPKT_FLUSHREAD	 1
++#define TIOCPKT_FLUSHWRITE	 2
++#define TIOCPKT_STOP		 4
++#define TIOCPKT_START		 8
++#define TIOCPKT_NOSTOP		16
++#define TIOCPKT_DOSTOP		32
++#define TIOCPKT_IOCTL		64
++
++#define TIOCSER_TEMT    0x01
++
++struct winsize {
++	unsigned short ws_row;
++	unsigned short ws_col;
++	unsigned short ws_xpixel;
++	unsigned short ws_ypixel;
++};
++
++#define TIOCM_LE        0x001
++#define TIOCM_DTR       0x002
++#define TIOCM_RTS       0x004
++#define TIOCM_ST        0x008
++#define TIOCM_SR        0x010
++#define TIOCM_CTS       0x020
++#define TIOCM_CAR       0x040
++#define TIOCM_RNG       0x080
++#define TIOCM_DSR       0x100
++#define TIOCM_CD        TIOCM_CAR
++#define TIOCM_RI        TIOCM_RNG
++#define TIOCM_OUT1      0x2000
++#define TIOCM_OUT2      0x4000
++#define TIOCM_LOOP      0x8000
++#define TIOCM_MODEM_BITS TIOCM_OUT2
++
++#define N_TTY           0
++#define N_SLIP          1
++#define N_MOUSE         2
++#define N_PPP           3
++#define N_STRIP         4
++#define N_AX25          5
++#define N_X25           6
++#define N_6PACK         7
++#define N_MASC          8
++#define N_R3964         9
++#define N_PROFIBUS_FDL  10
++#define N_IRDA          11
++#define N_SMSBLOCK      12
++#define N_HDLC          13
++#define N_SYNC_PPP      14
++#define N_HCI           15
++
++#define FIOSETOWN       0x8901
++#define SIOCSPGRP       0x8902
++#define FIOGETOWN       0x8903
++#define SIOCGPGRP       0x8904
++#define SIOCATMARK      0x8905
++#define SIOCGSTAMP      0x8906
++
++#define SIOCADDRT       0x890B
++#define SIOCDELRT       0x890C
++#define SIOCRTMSG       0x890D
++
++#define SIOCGIFNAME     0x8910
++#define SIOCSIFLINK     0x8911
++#define SIOCGIFCONF     0x8912
++#define SIOCGIFFLAGS    0x8913
++#define SIOCSIFFLAGS    0x8914
++#define SIOCGIFADDR     0x8915
++#define SIOCSIFADDR     0x8916
++#define SIOCGIFDSTADDR  0x8917
++#define SIOCSIFDSTADDR  0x8918
++#define SIOCGIFBRDADDR  0x8919
++#define SIOCSIFBRDADDR  0x891a
++#define SIOCGIFNETMASK  0x891b
++#define SIOCSIFNETMASK  0x891c
++#define SIOCGIFMETRIC   0x891d
++#define SIOCSIFMETRIC   0x891e
++#define SIOCGIFMEM      0x891f
++#define SIOCSIFMEM      0x8920
++#define SIOCGIFMTU      0x8921
++#define SIOCSIFMTU      0x8922
++#define SIOCSIFHWADDR   0x8924
++#define SIOCGIFENCAP    0x8925
++#define SIOCSIFENCAP    0x8926
++#define SIOCGIFHWADDR   0x8927
++#define SIOCGIFSLAVE    0x8929
++#define SIOCSIFSLAVE    0x8930
++#define SIOCADDMULTI    0x8931
++#define SIOCDELMULTI    0x8932
++#define SIOCGIFINDEX    0x8933
++#define SIOGIFINDEX     SIOCGIFINDEX
++#define SIOCSIFPFLAGS   0x8934
++#define SIOCGIFPFLAGS   0x8935
++#define SIOCDIFADDR     0x8936
++#define SIOCSIFHWBROADCAST 0x8937
++#define SIOCGIFCOUNT    0x8938
++
++#define SIOCGIFBR       0x8940
++#define SIOCSIFBR       0x8941
++
++#define SIOCGIFTXQLEN   0x8942
++#define SIOCSIFTXQLEN   0x8943
++
++#define SIOCDARP        0x8953
++#define SIOCGARP        0x8954
++#define SIOCSARP        0x8955
++
++#define SIOCDRARP       0x8960
++#define SIOCGRARP       0x8961
++#define SIOCSRARP       0x8962
++
++#define SIOCGIFMAP      0x8970
++#define SIOCSIFMAP      0x8971
++
++#define SIOCADDDLCI     0x8980
++#define SIOCDELDLCI     0x8981
++
++#define SIOCDEVPRIVATE		0x89F0
++#define SIOCPROTOPRIVATE	0x89E0
+diff --git a/arch/s390x/bits/ipc.h b/arch/s390x/bits/ipc.h
+new file mode 100644
+index 0000000..4710c12
+--- /dev/null
++++ b/arch/s390x/bits/ipc.h
+@@ -0,0 +1,14 @@
++struct ipc_perm {
++	key_t __ipc_perm_key;
++	uid_t uid;
++	gid_t gid;
++	uid_t cuid;
++	gid_t cgid;
++	mode_t mode;
++	unsigned short __pad1;
++	unsigned short __ipc_perm_seq;
++	unsigned long __pad2;
++	unsigned long __pad3;
++};
++
++#define IPC_64 0x100
+diff --git a/arch/s390x/bits/limits.h b/arch/s390x/bits/limits.h
+new file mode 100644
+index 0000000..792a30b
+--- /dev/null
++++ b/arch/s390x/bits/limits.h
+@@ -0,0 +1,8 @@
++#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
++ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
++#define PAGE_SIZE 4096
++#define LONG_BIT 64
++#endif
++
++#define LONG_MAX  0x7fffffffffffffffL
++#define LLONG_MAX  0x7fffffffffffffffLL
+diff --git a/arch/s390x/bits/link.h b/arch/s390x/bits/link.h
+new file mode 100644
+index 0000000..923aac5
+--- /dev/null
++++ b/arch/s390x/bits/link.h
+@@ -0,0 +1 @@
++typedef uint64_t Elf_Symndx;
+diff --git a/arch/s390x/bits/msg.h b/arch/s390x/bits/msg.h
+new file mode 100644
+index 0000000..2e23ca2
+--- /dev/null
++++ b/arch/s390x/bits/msg.h
+@@ -0,0 +1,12 @@
++struct msqid_ds {
++	struct ipc_perm msg_perm;
++	time_t msg_stime;
++	time_t msg_rtime;
++	time_t msg_ctime;
++	unsigned long msg_cbytes;
++	msgqnum_t msg_qnum;
++	msglen_t msg_qbytes;
++	pid_t msg_lspid;
++	pid_t msg_lrpid;
++	unsigned long __unused[2];
++};
+diff --git a/arch/s390x/bits/posix.h b/arch/s390x/bits/posix.h
+new file mode 100644
+index 0000000..c37b94c
+--- /dev/null
++++ b/arch/s390x/bits/posix.h
+@@ -0,0 +1,2 @@
++#define _POSIX_V6_LP64_OFF64  1
++#define _POSIX_V7_LP64_OFF64  1
+diff --git a/arch/s390x/bits/reg.h b/arch/s390x/bits/reg.h
+new file mode 100644
+index 0000000..2633f39
+--- /dev/null
++++ b/arch/s390x/bits/reg.h
+@@ -0,0 +1,2 @@
++#undef __WORDSIZE
++#define __WORDSIZE 64
+diff --git a/arch/s390x/bits/sem.h b/arch/s390x/bits/sem.h
+new file mode 100644
+index 0000000..644f68a
+--- /dev/null
++++ b/arch/s390x/bits/sem.h
+@@ -0,0 +1,7 @@
++struct semid_ds {
++	struct ipc_perm sem_perm;
++	time_t sem_otime;
++	time_t sem_ctime;
++	unsigned short __pad[3], sem_nsems;
++	unsigned long __unused[2];
++};
+diff --git a/arch/s390x/bits/setjmp.h b/arch/s390x/bits/setjmp.h
+new file mode 100644
+index 0000000..b2bd974
+--- /dev/null
++++ b/arch/s390x/bits/setjmp.h
+@@ -0,0 +1 @@
++typedef unsigned long __jmp_buf[18];
+diff --git a/arch/s390x/bits/shm.h b/arch/s390x/bits/shm.h
+new file mode 100644
+index 0000000..6652d65
+--- /dev/null
++++ b/arch/s390x/bits/shm.h
+@@ -0,0 +1,25 @@
++#define SHMLBA 4096
++
++struct shmid_ds {
++	struct ipc_perm shm_perm;
++	size_t shm_segsz;
++	time_t shm_atime;
++	time_t shm_dtime;
++	time_t shm_ctime;
++	pid_t shm_cpid;
++	pid_t shm_lpid;
++	unsigned long shm_nattch;
++	unsigned long __pad1;
++	unsigned long __pad2;
++};
++
++struct shminfo {
++	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
++};
++
++struct shm_info {
++	int __used_ids;
++	unsigned long shm_tot, shm_rss, shm_swp;
++	unsigned long __swap_attempts, __swap_successes;
++};
++
+diff --git a/arch/s390x/bits/signal.h b/arch/s390x/bits/signal.h
+new file mode 100644
+index 0000000..c866583
+--- /dev/null
++++ b/arch/s390x/bits/signal.h
+@@ -0,0 +1,106 @@
++#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
++ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
++
++#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
++#define MINSIGSTKSZ 4096
++#define SIGSTKSZ    10240
++#endif
++
++#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
++
++typedef unsigned long greg_t, gregset_t[27];
++
++typedef struct {
++	unsigned long mask;
++	unsigned long addr;
++} __psw_t;
++
++typedef union {
++	double d;
++	float f;
++} fpreg_t;
++
++typedef struct {
++	unsigned fpc;
++	fpreg_t fprs[16];
++} fpregset_t;
++
++typedef struct
++{
++	__psw_t psw;
++	unsigned long gregs[16];
++	unsigned aregs[16];
++	fpregset_t fpregs;
++} mcontext_t;
++
++#else
++
++typedef struct {
++	unsigned long __regs1[18];
++	unsigned __regs2[18];
++	double __regs3[16];
++} mcontext_t;
++
++#endif
++
++struct sigaltstack {
++	void *ss_sp;
++	int ss_flags;
++	size_t ss_size;
++};
++
++typedef struct __ucontext {
++	unsigned long uc_flags;
++	struct __ucontext *uc_link;
++	stack_t uc_stack;
++	mcontext_t uc_mcontext;
++	sigset_t uc_sigmask;
++} ucontext_t;
++
++#define SA_NOCLDSTOP  1U
++#define SA_NOCLDWAIT  2U
++#define SA_SIGINFO    4U
++#define SA_ONSTACK    0x08000000U
++#define SA_RESTART    0x10000000U
++#define SA_NODEFER    0x40000000U
++#define SA_RESETHAND  0x80000000U
++#define SA_RESTORER   0x04000000U
++
++#endif
++
++#define SIGHUP    1
++#define SIGINT    2
++#define SIGQUIT   3
++#define SIGILL    4
++#define SIGTRAP   5
++#define SIGABRT   6
++#define SIGIOT    SIGABRT
++#define SIGBUS    7
++#define SIGFPE    8
++#define SIGKILL   9
++#define SIGUSR1   10
++#define SIGSEGV   11
++#define SIGUSR2   12
++#define SIGPIPE   13
++#define SIGALRM   14
++#define SIGTERM   15
++#define SIGSTKFLT 16
++#define SIGCHLD   17
++#define SIGCONT   18
++#define SIGSTOP   19
++#define SIGTSTP   20
++#define SIGTTIN   21
++#define SIGTTOU   22
++#define SIGURG    23
++#define SIGXCPU   24
++#define SIGXFSZ   25
++#define SIGVTALRM 26
++#define SIGPROF   27
++#define SIGWINCH  28
++#define SIGIO     29
++#define SIGPOLL   SIGIO
++#define SIGPWR    30
++#define SIGSYS    31
++#define SIGUNUSED SIGSYS
++
++#define _NSIG 65
+diff --git a/arch/s390x/bits/socket.h b/arch/s390x/bits/socket.h
+new file mode 100644
+index 0000000..2b81bfe
+--- /dev/null
++++ b/arch/s390x/bits/socket.h
+@@ -0,0 +1,44 @@
++struct msghdr {
++	void *msg_name;
++	socklen_t msg_namelen;
++	struct iovec *msg_iov;
++	int __pad1, msg_iovlen;
++	void *msg_control;
++	int __pad2;
++	socklen_t msg_controllen;
++	int msg_flags;
++};
++
++struct cmsghdr {
++	int __pad1;
++	socklen_t cmsg_len;
++	int cmsg_level;
++	int cmsg_type;
++};
++
++#define SO_DEBUG        1
++#define SO_REUSEADDR    2
++#define SO_TYPE         3
++#define SO_ERROR        4
++#define SO_DONTROUTE    5
++#define SO_BROADCAST    6
++#define SO_SNDBUF       7
++#define SO_RCVBUF       8
++#define SO_KEEPALIVE    9
++#define SO_OOBINLINE    10
++#define SO_NO_CHECK     11
++#define SO_PRIORITY     12
++#define SO_LINGER       13
++#define SO_BSDCOMPAT    14
++#define SO_REUSEPORT    15
++#define SO_PASSCRED     16
++#define SO_PEERCRED     17
++#define SO_RCVLOWAT     18
++#define SO_SNDLOWAT     19
++#define SO_RCVTIMEO     20
++#define SO_SNDTIMEO     21
++#define SO_ACCEPTCONN   30
++#define SO_SNDBUFFORCE  32
++#define SO_RCVBUFFORCE  33
++#define SO_PROTOCOL     38
++#define SO_DOMAIN       39
+diff --git a/arch/s390x/bits/stat.h b/arch/s390x/bits/stat.h
+new file mode 100644
+index 0000000..2db4ad0
+--- /dev/null
++++ b/arch/s390x/bits/stat.h
+@@ -0,0 +1,16 @@
++struct stat {
++	dev_t st_dev;
++	ino_t st_ino;
++	nlink_t st_nlink;
++	mode_t st_mode;
++	uid_t st_uid;
++	gid_t st_gid;
++	dev_t st_rdev;
++	off_t st_size;
++	struct timespec st_atim;
++	struct timespec st_mtim;
++	struct timespec st_ctim;
++	blksize_t st_blksize;
++	blkcnt_t st_blocks;
++	unsigned long __unused[3];
++};
+diff --git a/arch/s390x/bits/statfs.h b/arch/s390x/bits/statfs.h
+new file mode 100644
+index 0000000..6617358
+--- /dev/null
++++ b/arch/s390x/bits/statfs.h
+@@ -0,0 +1,7 @@
++struct statfs {
++	unsigned f_type, f_bsize;
++	fsblkcnt_t f_blocks, f_bfree, f_bavail;
++	fsfilcnt_t f_files, f_ffree;
++	fsid_t f_fsid;
++	unsigned f_namelen, f_frsize, f_flags, f_spare[4];
++};
+diff --git a/arch/s390x/bits/stdint.h b/arch/s390x/bits/stdint.h
+new file mode 100644
+index 0000000..1bb147f
+--- /dev/null
++++ b/arch/s390x/bits/stdint.h
+@@ -0,0 +1,20 @@
++typedef int32_t int_fast16_t;
++typedef int32_t int_fast32_t;
++typedef uint32_t uint_fast16_t;
++typedef uint32_t uint_fast32_t;
++
++#define INT_FAST16_MIN  INT32_MIN
++#define INT_FAST32_MIN  INT32_MIN
++
++#define INT_FAST16_MAX  INT32_MAX
++#define INT_FAST32_MAX  INT32_MAX
++
++#define UINT_FAST16_MAX UINT32_MAX
++#define UINT_FAST32_MAX UINT32_MAX
++
++#define INTPTR_MIN      INT64_MIN
++#define INTPTR_MAX      INT64_MAX
++#define UINTPTR_MAX     UINT64_MAX
++#define PTRDIFF_MIN     INT64_MIN
++#define PTRDIFF_MAX     INT64_MAX
++#define SIZE_MAX        UINT64_MAX
+diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
+new file mode 100644
+index 0000000..1b8fdf0
+--- /dev/null
++++ b/arch/s390x/bits/syscall.h.in
+@@ -0,0 +1,323 @@
++#define __NR_exit                         1
++#define __NR_fork                         2
++#define __NR_read                         3
++#define __NR_write                        4
++#define __NR_open                         5
++#define __NR_close                        6
++#define __NR_restart_syscall              7
++#define __NR_creat                        8
++#define __NR_link                         9
++#define __NR_unlink                      10
++#define __NR_execve                      11
++#define __NR_chdir                       12
++#define __NR_mknod                       14
++#define __NR_chmod                       15
++#define __NR_lseek                       19
++#define __NR_getpid                      20
++#define __NR_mount                       21
++#define __NR_umount                      22
++#define __NR_ptrace                      26
++#define __NR_alarm                       27
++#define __NR_pause                       29
++#define __NR_utime                       30
++#define __NR_access                      33
++#define __NR_nice                        34
++#define __NR_sync                        36
++#define __NR_kill                        37
++#define __NR_rename                      38
++#define __NR_mkdir                       39
++#define __NR_rmdir                       40
++#define __NR_dup                         41
++#define __NR_pipe                        42
++#define __NR_times                       43
++#define __NR_brk                         45
++#define __NR_signal                      48
++#define __NR_acct                        51
++#define __NR_umount2                     52
++#define __NR_ioctl                       54
++#define __NR_fcntl                       55
++#define __NR_setpgid                     57
++#define __NR_umask                       60
++#define __NR_chroot                      61
++#define __NR_ustat                       62
++#define __NR_dup2                        63
++#define __NR_getppid                     64
++#define __NR_getpgrp                     65
++#define __NR_setsid                      66
++#define __NR_sigaction                   67
++#define __NR_sigsuspend                  72
++#define __NR_sigpending                  73
++#define __NR_sethostname                 74
++#define __NR_setrlimit                   75
++#define __NR_getrusage                   77
++#define __NR_gettimeofday                78
++#define __NR_settimeofday                79
++#define __NR_symlink                     83
++#define __NR_readlink                    85
++#define __NR_uselib                      86
++#define __NR_swapon                      87
++#define __NR_reboot                      88
++#define __NR_readdir                     89
++#define __NR_mmap                        90
++#define __NR_munmap                      91
++#define __NR_truncate                    92
++#define __NR_ftruncate                   93
++#define __NR_fchmod                      94
++#define __NR_getpriority                 96
++#define __NR_setpriority                 97
++#define __NR_statfs                      99
++#define __NR_fstatfs                    100
++#define __NR_socketcall                 102
++#define __NR_syslog                     103
++#define __NR_setitimer                  104
++#define __NR_getitimer                  105
++#define __NR_stat                       106
++#define __NR_lstat                      107
++#define __NR_fstat                      108
++#define __NR_lookup_dcookie             110
++#define __NR_vhangup                    111
++#define __NR_idle                       112
++#define __NR_wait4                      114
++#define __NR_swapoff                    115
++#define __NR_sysinfo                    116
++#define __NR_ipc                        117
++#define __NR_fsync                      118
++#define __NR_sigreturn                  119
++#define __NR_clone                      120
++#define __NR_setdomainname              121
++#define __NR_uname                      122
++#define __NR_adjtimex                   124
++#define __NR_mprotect                   125
++#define __NR_sigprocmask                126
++#define __NR_create_module              127
++#define __NR_init_module                128
++#define __NR_delete_module              129
++#define __NR_get_kernel_syms            130
++#define __NR_quotactl                   131
++#define __NR_getpgid                    132
++#define __NR_fchdir                     133
++#define __NR_bdflush                    134
++#define __NR_sysfs                      135
++#define __NR_personality                136
++#define __NR_afs_syscall                137
++#define __NR_getdents                   141
++#define __NR_select                     142
++#define __NR_flock                      143
++#define __NR_msync                      144
++#define __NR_readv                      145
++#define __NR_writev                     146
++#define __NR_getsid                     147
++#define __NR_fdatasync                  148
++#define __NR__sysctl                    149
++#define __NR_mlock                      150
++#define __NR_munlock                    151
++#define __NR_mlockall                   152
++#define __NR_munlockall                 153
++#define __NR_sched_setparam             154
++#define __NR_sched_getparam             155
++#define __NR_sched_setscheduler         156
++#define __NR_sched_getscheduler         157
++#define __NR_sched_yield                158
++#define __NR_sched_get_priority_max     159
++#define __NR_sched_get_priority_min     160
++#define __NR_sched_rr_get_interval      161
++#define __NR_nanosleep                  162
++#define __NR_mremap                     163
++#define __NR_query_module               167
++#define __NR_poll                       168
++#define __NR_nfsservctl                 169
++#define __NR_prctl                      172
++#define __NR_rt_sigreturn               173
++#define __NR_rt_sigaction               174
++#define __NR_rt_sigprocmask             175
++#define __NR_rt_sigpending              176
++#define __NR_rt_sigtimedwait            177
++#define __NR_rt_sigqueueinfo            178
++#define __NR_rt_sigsuspend              179
++#define __NR_pread64                    180
++#define __NR_pwrite64                   181
++#define __NR_getcwd                     183
++#define __NR_capget                     184
++#define __NR_capset                     185
++#define __NR_sigaltstack                186
++#define __NR_sendfile                   187
++#define __NR_getpmsg                    188
++#define __NR_putpmsg                    189
++#define __NR_vfork                      190
++#define __NR_getrlimit                  191
++#define __NR_lchown                     198
++#define __NR_getuid                     199
++#define __NR_getgid                     200
++#define __NR_geteuid                    201
++#define __NR_getegid                    202
++#define __NR_setreuid                   203
++#define __NR_setregid                   204
++#define __NR_getgroups                  205
++#define __NR_setgroups                  206
++#define __NR_fchown                     207
++#define __NR_setresuid                  208
++#define __NR_getresuid                  209
++#define __NR_setresgid                  210
++#define __NR_getresgid                  211
++#define __NR_chown                      212
++#define __NR_setuid                     213
++#define __NR_setgid                     214
++#define __NR_setfsuid                   215
++#define __NR_setfsgid                   216
++#define __NR_pivot_root                 217
++#define __NR_mincore                    218
++#define __NR_madvise                    219
++#define __NR_getdents64                 220
++#define __NR_readahead                  222
++#define __NR_setxattr                   224
++#define __NR_lsetxattr                  225
++#define __NR_fsetxattr                  226
++#define __NR_getxattr                   227
++#define __NR_lgetxattr                  228
++#define __NR_fgetxattr                  229
++#define __NR_listxattr                  230
++#define __NR_llistxattr                 231
++#define __NR_flistxattr                 232
++#define __NR_removexattr                233
++#define __NR_lremovexattr               234
++#define __NR_fremovexattr               235
++#define __NR_gettid                     236
++#define __NR_tkill                      237
++#define __NR_futex                      238
++#define __NR_sched_setaffinity          239
++#define __NR_sched_getaffinity          240
++#define __NR_tgkill                     241
++#define __NR_io_setup                   243
++#define __NR_io_destroy                 244
++#define __NR_io_getevents               245
++#define __NR_io_submit                  246
++#define __NR_io_cancel                  247
++#define __NR_exit_group                 248
++#define __NR_epoll_create               249
++#define __NR_epoll_ctl                  250
++#define __NR_epoll_wait                 251
++#define __NR_set_tid_address            252
++#define __NR_fadvise64                  253
++#define __NR_timer_create               254
++#define __NR_timer_settime              255
++#define __NR_timer_gettime              256
++#define __NR_timer_getoverrun           257
++#define __NR_timer_delete               258
++#define __NR_clock_settime              259
++#define __NR_clock_gettime              260
++#define __NR_clock_getres               261
++#define __NR_clock_nanosleep            262
++#define __NR_statfs64                   265
++#define __NR_fstatfs64                  266
++#define __NR_remap_file_pages           267
++#define __NR_mbind                      268
++#define __NR_get_mempolicy              269
++#define __NR_set_mempolicy              270
++#define __NR_mq_open                    271
++#define __NR_mq_unlink                  272
++#define __NR_mq_timedsend               273
++#define __NR_mq_timedreceive            274
++#define __NR_mq_notify                  275
++#define __NR_mq_getsetattr              276
++#define __NR_kexec_load                 277
++#define __NR_add_key                    278
++#define __NR_request_key                279
++#define __NR_keyctl                     280
++#define __NR_waitid                     281
++#define __NR_ioprio_set                 282
++#define __NR_ioprio_get                 283
++#define __NR_inotify_init               284
++#define __NR_inotify_add_watch          285
++#define __NR_inotify_rm_watch           286
++#define __NR_migrate_pages              287
++#define __NR_openat                     288
++#define __NR_mkdirat                    289
++#define __NR_mknodat                    290
++#define __NR_fchownat                   291
++#define __NR_futimesat                  292
++#define __NR_newfstatat                 293
++#define __NR_unlinkat                   294
++#define __NR_renameat                   295
++#define __NR_linkat                     296
++#define __NR_symlinkat                  297
++#define __NR_readlinkat                 298
++#define __NR_fchmodat                   299
++#define __NR_faccessat                  300
++#define __NR_pselect6                   301
++#define __NR_ppoll                      302
++#define __NR_unshare                    303
++#define __NR_set_robust_list            304
++#define __NR_get_robust_list            305
++#define __NR_splice                     306
++#define __NR_sync_file_range            307
++#define __NR_tee                        308
++#define __NR_vmsplice                   309
++#define __NR_move_pages                 310
++#define __NR_getcpu                     311
++#define __NR_epoll_pwait                312
++#define __NR_utimes                     313
++#define __NR_fallocate                  314
++#define __NR_utimensat                  315
++#define __NR_signalfd                   316
++#define __NR_timerfd                    317
++#define __NR_eventfd                    318
++#define __NR_timerfd_create             319
++#define __NR_timerfd_settime            320
++#define __NR_timerfd_gettime            321
++#define __NR_signalfd4                  322
++#define __NR_eventfd2                   323
++#define __NR_inotify_init1              324
++#define __NR_pipe2                      325
++#define __NR_dup3                       326
++#define __NR_epoll_create1              327
++#define __NR_preadv                     328
++#define __NR_pwritev                    329
++#define __NR_rt_tgsigqueueinfo          330
++#define __NR_perf_event_open            331
++#define __NR_fanotify_init              332
++#define __NR_fanotify_mark              333
++#define __NR_prlimit64                  334
++#define __NR_name_to_handle_at          335
++#define __NR_open_by_handle_at          336
++#define __NR_clock_adjtime              337
++#define __NR_syncfs                     338
++#define __NR_setns                      339
++#define __NR_process_vm_readv           340
++#define __NR_process_vm_writev          341
++#define __NR_s390_runtime_instr         342
++#define __NR_kcmp                       343
++#define __NR_finit_module               344
++#define __NR_sched_setattr              345
++#define __NR_sched_getattr              346
++#define __NR_renameat2                  347
++#define __NR_seccomp                    348
++#define __NR_getrandom                  349
++#define __NR_memfd_create               350
++#define __NR_bpf                        351
++#define __NR_s390_pci_mmio_write        352
++#define __NR_s390_pci_mmio_read         353
++#define __NR_execveat                   354
++#define __NR_userfaultfd                355
++#define __NR_membarrier                 356
++#define __NR_recvmmsg                   357
++#define __NR_sendmmsg                   358
++#define __NR_socket                     359
++#define __NR_socketpair                 360
++#define __NR_bind                       361
++#define __NR_connect                    362
++#define __NR_listen                     363
++#define __NR_accept4                    364
++#define __NR_getsockopt                 365
++#define __NR_setsockopt                 366
++#define __NR_getsockname                367
++#define __NR_getpeername                368
++#define __NR_sendto                     369
++#define __NR_sendmsg                    370
++#define __NR_recvfrom                   371
++#define __NR_recvmsg                    372
++#define __NR_shutdown                   373
++#define __NR_mlock2                     374
++#define __NR_copy_file_range            375
++#define __NR_preadv2                    376
++#define __NR_pwritev2                   377
++
+diff --git a/arch/s390x/bits/user.h b/arch/s390x/bits/user.h
+new file mode 100644
+index 0000000..90f07b7
+--- /dev/null
++++ b/arch/s390x/bits/user.h
+@@ -0,0 +1,62 @@
++#undef __WORDSIZE
++#define __WORDSIZE 64
++
++typedef union {
++	double d;
++	float f;
++} elf_fpreg_t;
++
++typedef struct {
++	unsigned fpc;
++	fpreg_t fprs[16];
++} elf_fpregset_t;
++
++#define ELF_NGREG 27
++typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
++
++struct _user_psw_struct {
++	unsigned long mask, addr;
++};
++
++struct _user_fpregs_struct {
++	unsigned fpc;
++	double fprs[16];
++};
++
++struct _user_per_struct {
++	unsigned long control_regs[3];
++	unsigned single_step       : 1;
++	unsigned instruction_fetch : 1;
++	unsigned                   : 30;
++	unsigned long starting_addr, ending_addr;
++	unsigned short perc_atmid;
++	unsigned long address;
++	unsigned char access_id;
++} per_struct;
++
++struct _user_regs_struct {
++	struct _user_psw_struct psw;
++	unsigned long gprs[16];
++	unsigned acrs[16];
++	unsigned long orig_gpr2;
++	struct _user_fpregs_struct fp_regs;
++	struct _user_per_struct per_info;
++	unsigned long ieee_instruction_pointer;
++};
++
++struct user {
++	struct _user_regs_struct regs;
++	unsigned long u_tsize, u_dsize, u_ssize;
++	unsigned long start_code, start_stack;
++	long signal;
++	struct _user_regs_struct *u_ar0;
++	unsigned long magic;
++	char u_comm[32];
++};
++
++#define PAGE_MASK            (~(PAGE_SIZE-1))
++#define NBPG                 PAGE_SIZE
++#define UPAGES               1
++#define HOST_TEXT_START_ADDR (u.start_code)
++#define HOST_STACK_END_ADDR  (u.start_stack + u.u_ssize * NBPG)
++
+diff --git a/arch/s390x/crt_arch.h b/arch/s390x/crt_arch.h
+new file mode 100644
+index 0000000..92091a1
+--- /dev/null
++++ b/arch/s390x/crt_arch.h
+@@ -0,0 +1,17 @@
++__asm__(
++".text\n"
++".global " START "\n"
++".type   " START ", %function\n"
++START ":\n"
++"	lgr  %r2, %r15\n"
++"	larl %r3, 1f\n"
++"	agf  %r3, 0(%r3)\n"
++"	aghi %r15, -160\n"
++"	lghi %r0, 0\n"
++"	stg  %r0, 0(%r15)\n"
++"	jg " START "_c\n"
++"	.align 8\n"
++".weak   _DYNAMIC\n"
++".hidden _DYNAMIC\n"
++"1:	.long _DYNAMIC-.\n"
++);
+diff --git a/arch/s390x/pthread_arch.h b/arch/s390x/pthread_arch.h
+new file mode 100644
+index 0000000..bd90016
+--- /dev/null
++++ b/arch/s390x/pthread_arch.h
+@@ -0,0 +1,14 @@
++static inline struct pthread *__pthread_self()
++{
++	struct pthread *self;
++	__asm__ __volatile__ (
++		"ear  %0, %%a0\n"
++		"sllg %0, %0, 32\n"
++		"ear  %0, %%a1\n"
++		: "=r"(self));
++	return self;
++}
++
++#define TP_ADJ(p) (p)
++
++#define MC_PC psw.addr
+diff --git a/arch/s390x/reloc.h b/arch/s390x/reloc.h
+new file mode 100644
+index 0000000..a238dc6
+--- /dev/null
++++ b/arch/s390x/reloc.h
+@@ -0,0 +1,15 @@
++#include <endian.h>
++
++#define LDSO_ARCH "s390x"
++
++#define REL_SYMBOLIC    R_390_64
++#define REL_GOT         R_390_GLOB_DAT
++#define REL_PLT         R_390_JMP_SLOT
++#define REL_RELATIVE    R_390_RELATIVE
++#define REL_COPY        R_390_COPY
++#define REL_DTPMOD      R_390_TLS_DTPMOD
++#define REL_DTPOFF      R_390_TLS_DTPOFF
++#define REL_TPOFF       R_390_TLS_TPOFF
++
++#define CRTJMP(pc,sp) __asm__ __volatile__( \
++	"lgr %%r15,%1; br %0" : : "r"(pc), "r"(sp) : "memory" )
+diff --git a/arch/s390x/syscall_arch.h b/arch/s390x/syscall_arch.h
+new file mode 100644
+index 0000000..afb9985
+--- /dev/null
++++ b/arch/s390x/syscall_arch.h
+@@ -0,0 +1,76 @@
++#define __SYSCALL_LL_E(x) (x)
++#define __SYSCALL_LL_O(x) (x)
++
++#define __asm_syscall(ret, ...) do { \
++	__asm__ __volatile__ ("svc 0\n" \
++	: ret : __VA_ARGS__ : "memory"); \
++	return r2; \
++	} while (0)
++
++static inline long __syscall0(long n)
++{
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2");
++	__asm_syscall("=r"(r2), "r"(r1));
++}
++
++static inline long __syscall1(long n, long a)
++{
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2") = a;
++	__asm_syscall("+r"(r2), "r"(r1));
++}
++
++static inline long __syscall2(long n, long a, long b)
++{
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2") = a;
++	register long r3 __asm__("r3") = b;
++	__asm_syscall("+r"(r2), "r"(r1), "r"(r3));
++}
++
++static inline long __syscall3(long n, long a, long b, long c)
++{
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2") = a;
++	register long r3 __asm__("r3") = b;
++	register long r4 __asm__("r4") = c;
++	__asm_syscall("+r"(r2), "r"(r1), "r"(r3), "r"(r4));
++}
++
++static inline long __syscall4(long n, long a, long b, long c, long d)
++{
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2") = a;
++	register long r3 __asm__("r3") = b;
++	register long r4 __asm__("r4") = c;
++	register long r5 __asm__("r5") = d;
++	__asm_syscall("+r"(r2), "r"(r1), "r"(r3), "r"(r4), "r"(r5));
++}
++
++static inline long __syscall5(long n, long a, long b, long c, long d, long e)
++{
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2") = a;
++	register long r3 __asm__("r3") = b;
++	register long r4 __asm__("r4") = c;
++	register long r5 __asm__("r5") = d;
++	register long r6 __asm__("r6") = e;
++	__asm_syscall("+r"(r2), "r"(r1), "r"(r3), "r"(r4), "r"(r5), "r"(r6));
++}
++
++static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
++{
++	if (n == SYS_mmap) return __syscall1(n, (long)(long[]){a,b,c,d,e,f});
++
++	register long r1 __asm__("r1") = n;
++	register long r2 __asm__("r2") = a;
++	register long r3 __asm__("r3") = b;
++	register long r4 __asm__("r4") = c;
++	register long r5 __asm__("r5") = d;
++	register long r6 __asm__("r6") = e;
++	register long r7 __asm__("r7") = f;
++	__asm_syscall("+r"(r2), "r"(r1), "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7));
++}
++
++#define SYSCALL_USE_SOCKETCALL
+diff --git a/configure b/configure
+index af8b45f..56ddafb 100755
+--- a/configure
++++ b/configure
+@@ -325,6 +325,7 @@ or1k*) ARCH=or1k ;;
+ powerpc64*) ARCH=powerpc64 ;;
+ powerpc*) ARCH=powerpc ;;
+ sh[1-9bel-]*|sh|superh*) ARCH=sh ;;
++s390x*) ARCH=s390x ;;
+ unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;;
+ *) fail "$0: unknown or unsupported target \"$target\"" ;;
+ esac
+diff --git a/crt/s390x/crti.s b/crt/s390x/crti.s
+new file mode 100644
+index 0000000..f453205
+--- /dev/null
++++ b/crt/s390x/crti.s
+@@ -0,0 +1,17 @@
++.section .init
++.align 2
++.global _init
++_init:
++	stmg %r14, %r15, 112(%r15)
++	lgr  %r0,  %r15
++	aghi %r15, -160
++	stg  %r0,  0(%r15)
++
++.section .fini
++.align 2
++.global _fini
++_fini:
++	stmg %r14, %r15, 112(%r15)
++	lgr  %r0,  %r15
++	aghi %r15, -160
++	stg  %r0,  0(%r15)
+diff --git a/crt/s390x/crtn.s b/crt/s390x/crtn.s
+new file mode 100644
+index 0000000..06066dc
+--- /dev/null
++++ b/crt/s390x/crtn.s
+@@ -0,0 +1,9 @@
++.section .init
++.align 2
++	lmg  %r14, %r15, 272(%r15)
++	br   %r14
++
++.section .fini
++.align 2
++	lmg  %r14, %r15, 272(%r15)
++	br   %r14
+diff --git a/src/fenv/s390x/fenv.c b/src/fenv/s390x/fenv.c
+new file mode 100644
+index 0000000..9a3488d
+--- /dev/null
++++ b/src/fenv/s390x/fenv.c
+@@ -0,0 +1,55 @@
++#include <fenv.h>
++
++static inline unsigned get_fpc(void)
++{
++	unsigned fpc;
++	__asm__ __volatile__("efpc %0" : "=r"(fpc));
++	return fpc;
++}
++
++static inline void set_fpc(unsigned fpc)
++{
++	__asm__ __volatile__("sfpc %0" :: "r"(fpc));
++}
++
++int feclearexcept(int mask)
++{
++	mask &= FE_ALL_EXCEPT;
++	set_fpc(get_fpc() & ~mask);
++	return 0;
++}
++
++int feraiseexcept(int mask)
++{
++	mask &= FE_ALL_EXCEPT;
++	set_fpc(get_fpc() | mask);
++	return 0;
++}
++
++int fetestexcept(int mask)
++{
++	return get_fpc() & mask & FE_ALL_EXCEPT;
++}
++
++int fegetround(void)
++{
++	return get_fpc() & 3;
++}
++
++int __fesetround(int r)
++{
++	set_fpc(get_fpc() & ~3L | r);
++	return 0;
++}
++
++int fegetenv(fenv_t *envp)
++{
++	*envp = get_fpc();
++	return 0;
++}
++
++int fesetenv(const fenv_t *envp)
++{
++	set_fpc(envp != FE_DFL_ENV ? *envp : 0);
++	return 0;
++}
+diff --git a/src/internal/s390x/syscall.s b/src/internal/s390x/syscall.s
+new file mode 100644
+index 0000000..2322bc3
+--- /dev/null
++++ b/src/internal/s390x/syscall.s
+@@ -0,0 +1,15 @@
++.global __syscall
++.hidden __syscall
++.type   __syscall, %function
++__syscall:
++	stg %r7, 56(%r15)
++	lgr %r1, %r2
++	lgr %r2, %r3
++	lgr %r3, %r4
++	lgr %r4, %r5
++	lgr %r5, %r6
++	lg  %r6, 160(%r15)
++	lg  %r7, 168(%r15)
++	svc 0
++	lg  %r7, 56(%r15)
++	br  %r14
+diff --git a/src/process/s390x/vfork.s b/src/process/s390x/vfork.s
+new file mode 100644
+index 0000000..05956e8
+--- /dev/null
++++ b/src/process/s390x/vfork.s
+@@ -0,0 +1,8 @@
++	.global __vfork
++	.weak vfork
++	.type __vfork,%function
++	.type vfork,%function
++__vfork:
++vfork:
++	svc 190
++	jg  __syscall_ret
+diff --git a/src/setjmp/s390x/longjmp.s b/src/setjmp/s390x/longjmp.s
+new file mode 100644
+index 0000000..b2310f8
+--- /dev/null
++++ b/src/setjmp/s390x/longjmp.s
+@@ -0,0 +1,23 @@
++	.global _longjmp
++	.global longjmp
++	.type   _longjmp,@function
++	.type   longjmp,@function
++_longjmp:
++longjmp:
++
++1:
++	lmg %r6, %r15, 0(%r2)
++
++	ld  %f8, 10*8(%r2)
++	ld  %f9, 11*8(%r2)
++	ld %f10, 12*8(%r2)
++	ld %f11, 13*8(%r2)
++	ld %f12, 14*8(%r2)
++	ld %f13, 15*8(%r2)
++	ld %f14, 16*8(%r2)
++	ld %f15, 17*8(%r2)
++
++	ltgr %r2, %r3
++	bnzr %r14
++	lhi  %r2, 1
++	br   %r14
+diff --git a/src/setjmp/s390x/setjmp.s b/src/setjmp/s390x/setjmp.s
+new file mode 100644
+index 0000000..afae1b6
+--- /dev/null
++++ b/src/setjmp/s390x/setjmp.s
+@@ -0,0 +1,25 @@
++	.global ___setjmp
++	.hidden ___setjmp
++	.global __setjmp
++	.global _setjmp
++	.global setjmp
++	.type   __setjmp,@function
++	.type   _setjmp,@function
++	.type   setjmp,@function
++___setjmp:
++__setjmp:
++_setjmp:
++setjmp:
++	stmg %r6, %r15, 0(%r2)
++
++	std  %f8,  10*8(%r2)
++	std  %f9,  11*8(%r2)
++	std  %f10, 12*8(%r2)
++	std  %f11, 13*8(%r2)
++	std  %f12, 14*8(%r2)
++	std  %f13, 15*8(%r2)
++	std  %f14, 16*8(%r2)
++	std  %f15, 17*8(%r2)
++
++	lghi %r2, 0
++	br   %r14
+diff --git a/src/signal/s390x/restore.s b/src/signal/s390x/restore.s
+new file mode 100644
+index 0000000..79beb68
+--- /dev/null
++++ b/src/signal/s390x/restore.s
+@@ -0,0 +1,9 @@
++	.global __restore
++	.type __restore,%function
++__restore:
++	svc 119 #__NR_sigreturn
++
++	.global __restore_rt
++	.type __restore_rt,%function
++__restore_rt:
++	svc 173 # __NR_rt_sigreturn
+diff --git a/src/signal/s390x/sigsetjmp.s b/src/signal/s390x/sigsetjmp.s
+new file mode 100644
+index 0000000..72dfc25
+--- /dev/null
++++ b/src/signal/s390x/sigsetjmp.s
+@@ -0,0 +1,23 @@
++	.global sigsetjmp
++	.global __sigsetjmp
++	.type sigsetjmp,%function
++	.type __sigsetjmp,%function
++	.hidden ___setjmp
++sigsetjmp:
++__sigsetjmp:
++	ltgr  %r3, %r3
++	bz    ___setjmp
++
++	stg   %r14, 18*8(%r2)
++	stg   %r6,  20*8(%r2)
++	lgr   %r6,  %r2
++
++	brasl %r14, ___setjmp
++
++	lgr   %r3,  %r2
++	lgr   %r2,  %r6
++	lg    %r14, 18*8(%r2)
++	lg    %r6,  20*8(%r2)
++
++.hidden __sigsetjmp_tail
++	jg __sigsetjmp_tail
+diff --git a/src/thread/s390x/__set_thread_area.s b/src/thread/s390x/__set_thread_area.s
+new file mode 100644
+index 0000000..fd41291
+--- /dev/null
++++ b/src/thread/s390x/__set_thread_area.s
+@@ -0,0 +1,9 @@
++.text
++.global __set_thread_area
++.type   __set_thread_area, %function
++__set_thread_area:
++	sar  %a1, %r2
++	srlg %r2, %r2, 32
++	sar  %a0, %r2
++	lghi %r2, 0
++	br   %r14
+diff --git a/src/thread/s390x/__tls_get_offset.s b/src/thread/s390x/__tls_get_offset.s
+new file mode 100644
+index 0000000..8ee92de
+--- /dev/null
++++ b/src/thread/s390x/__tls_get_offset.s
+@@ -0,0 +1,17 @@
++	.global __tls_get_offset
++	.type __tls_get_offset,%function
++__tls_get_offset:
++	stmg  %r14, %r15, 112(%r15)
++	aghi  %r15, -160
++
++	la    %r2, 0(%r2, %r12)
++	brasl %r14, __tls_get_addr
++
++	ear   %r1, %a0
++	sllg  %r1, %r1, 32
++	ear   %r1, %a1
++
++	sgr   %r2, %r1
++
++	lmg   %r14, %r15, 272(%r15)
++	br    %r14
+diff --git a/src/thread/s390x/__unmapself.s b/src/thread/s390x/__unmapself.s
+new file mode 100644
+index 0000000..48b312c
+--- /dev/null
++++ b/src/thread/s390x/__unmapself.s
+@@ -0,0 +1,6 @@
++.text
++.global __unmapself
++.type   __unmapself, @function
++__unmapself:
++	svc 91 # SYS_munmap
++	svc 1  # SYS_exit
+diff --git a/src/thread/s390x/clone.s b/src/thread/s390x/clone.s
+new file mode 100644
+index 0000000..3e08c21
+--- /dev/null
++++ b/src/thread/s390x/clone.s
+@@ -0,0 +1,47 @@
++.text
++.global __clone
++.type __clone, %function
++__clone:
++	# int clone(
++	#    fn,      a = r2
++	#    stack,   b = r3
++	#    flags,   c = r4
++	#    arg,     d = r5
++	#    ptid,    e = r6
++	#    tls,     f = *(r15+160)
++	#    ctid)    g = *(r15+168)
++	#
++	# pseudo C code:
++	# tid = syscall(SYS_clone,b,c,e,g,f);
++	# if (!tid) syscall(SYS_exit, a(d));
++	# return tid;
++
++	# create initial stack frame for new thread
++	nill %r3, 0xfff8
++	aghi %r3, -160
++	lghi %r0, 0
++	stg  %r0, 0(%r3)
++
++	# save fn and arg to child stack
++	stg  %r2,  8(%r3)
++	stg  %r5, 16(%r3)
++
++	# shuffle args into correct registers and call SYS_clone
++	lgr  %r2, %r3
++	lgr  %r3, %r4
++	lgr  %r4, %r6
++	lg   %r5, 168(%r15)
++	lg   %r6, 160(%r15)
++	svc  120
++
++	# if error or if we're the parent, return
++	ltgr %r2, %r2
++	bnzr %r14
++
++	# we're the child. call fn(arg)
++	lg   %r1,  8(%r15)
++	lg   %r2, 16(%r15)
++	basr %r14, %r1
++
++	# call SYS_exit. exit code is already in r2 from fn return value
++	svc  1
+diff --git a/src/thread/s390x/syscall_cp.s b/src/thread/s390x/syscall_cp.s
+new file mode 100644
+index 0000000..c1da40d
+--- /dev/null
++++ b/src/thread/s390x/syscall_cp.s
+@@ -0,0 +1,32 @@
++	.global __cp_begin
++	.hidden __cp_begin
++	.global __cp_end
++	.hidden __cp_end
++	.global __cp_cancel
++	.hidden __cp_cancel
++	.hidden __cancel
++	.global __syscall_cp_asm
++	.hidden __syscall_cp_asm
++	.text
++	.type   __syscall_cp_asm,%function
++__syscall_cp_asm:
++__cp_begin:
++	icm %r2, 15, 0(%r2)
++	jne __cp_cancel
++
++	stg %r7, 56(%r15)
++	lgr %r1, %r3
++	lgr %r2, %r4
++	lgr %r3, %r5
++	lgr %r4, %r6
++	lg  %r5, 160(%r15)
++	lg  %r6, 168(%r15)
++	lg  %r7, 176(%r15)
++	svc 0
++
++__cp_end:
++	lg  %r7, 56(%r15)
++	br  %r14
++
++__cp_cancel:
++	jg  __cancel
+-- 
+2.10.2
+
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index 2e4632c..a62a3aa 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -41,7 +41,9 @@ source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
 	0024-fix-strtod-int-optimization-in-non-nearest-rounding-.patch
 	0025-fix-minor-problem-in-previous-strtod-non-nearest-rou.patch
 	1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch
+	1002-add-musl-s390x-port.patch
 
+	
 	ldconfig
 	__stack_chk_fail_local.c
 	getconf.c
@@ -64,8 +66,10 @@ install_sysroot_headers() {
 	x86) ARCH="i386" ;;
 	x86_64) ARCH="x86_64" ;;
 	mips*) ARCH="mips" ;;
+	s390*) ARCH="s390x" ;;
 	esac
 	make ARCH="$ARCH" prefix=/usr DESTDIR="${CBUILDROOT}" install-headers || return 1
+
 }
 
 build() {
@@ -142,6 +146,7 @@ compat() {
 	x86) _ld="ld-linux.so.2" ;;
 	x86_64) _ld="ld-linux-x86-64.so.2" ;;
 	mips*) _ld="ld.so.1" ;;
+	s390*) _ld="ld-musl-s390x.so.1" ;;
 	esac
 
 	mkdir -p "$subpkgdir"/lib
@@ -181,6 +186,7 @@ df48f35ff1e8084b5b01223917a11c32  0020-fix-float-formatting-of-some-exact-halfwa
 e9ef5ab7879cc113895d37783b217a70  0024-fix-strtod-int-optimization-in-non-nearest-rounding-.patch
 2019fe5ed6214ff647d499fcd00fdb66  0025-fix-minor-problem-in-previous-strtod-non-nearest-rou.patch
 62806d6be9fa3aedc99831d948abca65  1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch
+5d9ead423ad8e33c5a112b0a95069b7d  1002-add-musl-s390x-port.patch
 830d01f7821b978df770b06db3790921  ldconfig
 0df687757221bbb0fc1aa67f1bd646f9  __stack_chk_fail_local.c
 57ef2c63b9ec6a2041694ace97d4ffa2  getconf.c
@@ -215,6 +221,7 @@ a85b33f81034e3d801f2bdee5bc5ed85226dce49a652df59e436a45ed35a4701  0019-add-pthre
 8e074fa0f9434a8818951a48df08510b8c10c44ea9732a919f893476618a576d  0024-fix-strtod-int-optimization-in-non-nearest-rounding-.patch
 301c1a16a84ec4c071e8a61360e3d3a21eb71cfcda581448938c7f3c40e11c85  0025-fix-minor-problem-in-previous-strtod-non-nearest-rou.patch
 0403509c71580be517867be56b984359c3e7c413aba3f5b7f5b29d52561be328  1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch
+67aafb0dcfbe0d7d9b49fd8e2e4bc06a855e3537db30529dd5eaa5eb6e2cf513  1002-add-musl-s390x-port.patch
 b4a2c06db38742e8c42c3c9838b285a7d8cdac6c091ff3df5ff9a15f1e41b9c7  ldconfig
 299a7d75a09de3e2e11e7fb4acc3182e4a14e868093d2f30938fce9bfcff13da  __stack_chk_fail_local.c
 d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c  getconf.c
@@ -249,6 +256,7 @@ fe86988734ce3817182c25023ed2739c67f3d4c226570c1162713ea5849112cb98b6f9b778ecedaf
 3df8546a37467b716509bc0bbccef47aaf431e861442267aba0c08e19980d411f515d6a9c09c86b055dc709e83bcfab5f8bbfcb34d5c4b62e201a555839ff1fb  0024-fix-strtod-int-optimization-in-non-nearest-rounding-.patch
 cc15bb90009ae546f3de75457fef6ea8bdccee2bacae9a1c3860a18120cbd610f2f1d4a358a41da25b7d16f3ae03fe9b40b235c9028af5319dc1bcc28d3a956f  0025-fix-minor-problem-in-previous-strtod-non-nearest-rou.patch
 dc15dcb71e576f42268721c1caa036d91f3f67ab628a8527cd80d5689acea326b27e73013c02383b432027bed4c68c2cba75020088b760fae64d1680febf7a7d  1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch
+6d898ee52cdde6a80989b20b86435c54691803472b1ececc716758228e664f7aa49b901cff98b80bef4110400b3e3665493ffce9d73e5f8a33c06a3f9c4ab767  1002-add-musl-s390x-port.patch
 8d3a2d5315fc56fee7da9abb8b89bb38c6046c33d154c10d168fb35bfde6b0cf9f13042a3bceee34daf091bc409d699223735dcf19f382eeee1f6be34154f26f  ldconfig
 062bb49fa54839010acd4af113e20f7263dde1c8a2ca359b5fb2661ef9ed9d84a0f7c3bc10c25dcfa10bb3c5a4874588dff636ac43d5dbb3d748d75400756d0b  __stack_chk_fail_local.c
 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d  getconf.c
-- 
2.10.2

>From f5b9417c196ffcf172bf906b7b36312de6783b88 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 07:04:14 +0700
Subject: [PATCH] main/libressl: disable asm building s390x

---
 main/libressl/APKBUILD | 1 +
 1 file changed, 1 insertion(+)

diff --git a/main/libressl/APKBUILD b/main/libressl/APKBUILD
index 5c66956..9b51901 100644
--- a/main/libressl/APKBUILD
+++ b/main/libressl/APKBUILD
@@ -30,6 +30,7 @@ build() {
 		--sysconfdir=/etc \
 		--mandir=/usr/share/man \
 		--localstatedir=/var \
+		--disable-asm \
 		|| return 1
 	make || return 1
 }
-- 
2.10.2

>From ba894aefe675f7ac46a2b3bf47d515a68fb79f48 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Mon, 21 Nov 2016 06:55:35 +0700
Subject: [PATCH] scripts/bootstrap.sh: add s390x support

---
 scripts/bootstrap.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh
index 5a797fa..78c43c2 100755
--- a/scripts/bootstrap.sh
+++ b/scripts/bootstrap.sh
@@ -9,7 +9,7 @@ KERNEL_PKG="linux-firmware linux-vanilla"
 # get abuild configurables
 [ -e /usr/share/abuild/functions.sh ] || (echo "abuild not found" ; exit 1)
 CBUILDROOT="$(CTARGET=$TARGET_ARCH . /usr/share/abuild/functions.sh ; echo $CBUILDROOT)"
-. /usr/share/abuild/functions.sh
+CTARGET=$TARGET_ARCH . /usr/share/abuild/functions.sh
 [ -z "$CBUILD_ARCH" ] && die "abuild is too old (use git snapshot from cross-build branch)"
 
 # deduce aports directory
@@ -74,6 +74,10 @@ create_cross_compiler() {
 		apk info --quiet --installed --root "$CBUILDROOT" musl-dev || \
 			${SUDO_APK} --root "$CBUILDROOT" add --repository "$REPODEST/main" musl-dev \
 			|| return 1
+		# libc6-compat (musl-dev's dependency) package overrides musl package's files which leads to problem 1a)
+		# in http://lists.alpinelinux.org/alpine-devel/5425.html
+		# this line reinstall musl package's files
+		${SUDO_APK} --root "$CBUILDROOT" fix --repository "$REPODEST/main" musl
 		CTARGET=$TARGET_ARCH APKBUILD=$(apkbuildname gcc) abuild -r || return 1
 		${SUDO_APK} add --repository "$REPODEST/main" gcc-gnat gcc-$TARGET_ARCH g++-$TARGET_ARCH gcc-gnat-$TARGET_ARCH \
 			|| return 1
@@ -116,6 +120,8 @@ cross_compile_base() {
 			# target libraries rebuilt, force upgrade
 			[ "$(apk upgrade --root "$CBUILDROOT" --repository "$REPODEST/main" --available --simulate | wc -l)" -gt 1 ] &&
 				${SUDO_APK} upgrade --root "$CBUILDROOT" --repository "$REPODEST/main" --available
+			# again, need to fix/reinstall musl
+			${SUDO_APK} --root "$CBUILDROOT" fix --repository "$REPODEST/main" musl
 			;;
 		esac
 	done
-- 
2.10.2

---

From: Timo Teras <[email-masked]>
Date: Mon, 21 Nov 2016 10:59:25 +0200

On Mon, 21 Nov 2016 07:39:27 +0700

> I am not sure is this called "supported".

Yes, aarch64 is not supported to my knowledge.

But indeed there seems to be s390 support in grsec. Feel free to look
at it, and enable a grsec config for it.

> Actually according to the log above, $ paxctl are those failed
> (ret=1). I will try to strace them this week.

Ok.

> changes that I did not include in those patches because I think it
> only (temporarily) affects my build. So I list here fyi:
> - scripts/bootstrap.sh : linux-headers & zlib-dev need to be
> explicitly installed (besides fortify-headers, libc-dev, build-base)
> even though linux-headers is zlib's makedends, zlib-dev is binutils's
> makedepends.
> 

I applied apk-tools patch to both aports, and apk-tools git. I also
took parts of aports/gcc patch (the s390 specific config).
linux-headers patch was applied as is.

I'm still looking at the rest of the patches. Here's my review thoughts
of them:

- aports/gcc, moving the libgcc_s.so symlink is probably not the right
  solution. We prefer to keep that in the main 'gcc' package. During
  cross-build it should work so that the 'gcc-s390x' cross-build
  package has this in usr/s390x-alpine-linux-musl/lib/libgcc_s.so. Now
  it breaks because on other arch's this is in reality a linker script
  and not a symlink. The linker script enables gcc to search for the
  right file from all of the libpath again. But s390 is having it as
  symlink, and breaks because the actual file is relocated to the
  sysroot. I am not fully sure what to do here. I might lean on just
  overwriting the cross compiler's libgcc_s.so to be a while with
  contents:
  GROUP ( libgcc_s.so.1 -lgcc )

  I'll think about it a bit more, and can push a fix later today for it.

- aports/linux-vanilla looks good. Though you probably just got the
  kernel config from some other linux distro? It would probably be good
  to cross-check that with other Alpine's linux-vanilla configs to see
  that it is more or less in harmony.

- aports/musl looks mostly ok. We hope musl would soon make release,
  and much of the patch is not needed then as it's mostly upstreamed
  now. There's one issue that's causing some of your trouble. The
  following hunk is wrong:

  The compat package is supposed to create symlinks that mimic glibc
  provided ld and libraries. The _ld var needs to be setup to be the
  glibc ld name, not the musl one. Looking at gcc, the proper thing
  here to do is:
-       mips*) _ld="ld.so.1" ;;
+       mips* | s390*) _ld="ld.so.1" ;;

- In main/libressl you add --disable-asm? Why is this needed?
  It seemed to compile just fine without this flag. If really needed,
  this should be made conditional so that it's only applied for s390.

- The bootstrap script changes should not be needed after the above
  fixes.

Thanks for working on this! It's starting to look pretty good, and with
the few tweaks above and after musl release, I think we are good to
commit all of the required changes.

Cheers,
Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Sun, 22 Jan 2017 18:46:52 -0500

On Mon, 21 Nov 2016 10:59:25 +0200
Timo Teras <[email-masked]> wrote:

> I'm still looking at the rest of the patches. Here's my review
> thoughts of them:
> 
> 
>   kernel config from some other linux distro? It would probably be
> good to cross-check that with other Alpine's linux-vanilla configs to
> see that it is more or less in harmony.

I have done some work on it. You can find for reference here :
http://flatglobe.org/config-vanilla.s390x

> +       mips* | s390*) _ld="ld.so.1" ;;
Thanks. This helped a lot.

>   this should be made conditional so that it's only applied for s390.

Yep this is old flag. Now it is obsolete.

Btw, fyi, 31 support of s390 architecture has been dropped, now it's
all s390x (64 bit version of s390) for all packages, except in linux
kernel, the name still remains s390.
https://github.com/dbussink/linux/commit/5a79859ae0f35d25c67a03e82bf0c80592f16a39

I am currently having two issues, hope you can take some time to see it.

1. I was running Alpine s390x in Docker with some essential
cross-compiled packages targeting s390x, in order to compile natively
the toolchains. It all boils down to missing perl package as
compile-time dependency. Perl cannot be cross-compiled, yet is needed
for native compile. When I try to compile perl natively (inside either
Docker or a chroot), I had segmentation fault on running fakeroot.

Just wonder if this is the correct way you did and segmentation fault
is only my thing.

2. I was having an error when building linux-vanilla-dev ( with above
kernel config ). When running $ make in dev() in APKBUILD, HOSTCC
compiles some scripts in "$srcdir"/linux-$_kernver/scripts directory
into host arch (x86_64) object/exec files. These files were later get
copied into "$subpkgdir"/usr/src/linux-headers-${_abi_release}
(aports/main/linux-vanilla/pkg/linux-vanilla-dev/usr/src/linux-headers-4.4.34).
Then libc.musl-x86_64.so.1 comes up in as a needed .so file in later
steps (scan_shared_objects() function). This happens for
linux-vanilla-dev package, while bootstraping both aarch64, and s390x
using aports master.

$ scanelf --nobanner --recursive --needed
aports/main/linux-vanilla/pkg/linux-vanilla-dev
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/sortextable
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/asn1_compiler
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/dtc/dtc
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/recordmcount
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/genksyms/genksyms
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/kconfig/conf
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/mod/modpost
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/mod/mk_elfconfig
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/basic/bin2c
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/basic/fixdep
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/conmakehash
ET_DYN
libc.musl-x86_64.so.1 ./usr/src/linux-headers-4.4.38/scripts/kallsyms

Thanks,
Tuan

---

---

From: Timo Teras <[email-masked]>
Date: Fri, 27 Jan 2017 09:00:54 +0200

On Sun, 22 Jan 2017 18:46:52 -0500

> Docker or a chroot), I had segmentation fault on running fakeroot.

Yes, we also native build perl. It's a pain to cross-compile.
 
> Just wonder if this is the correct way you did and segmentation fault

If fakeroot segfaults you'll end up in trouble sooner or later. It'd be
good to fix that. Do you have strace or gdb backtrace of the crash? 

> linux-vanilla-dev package, while bootstraping both aarch64, and s390x

This is tricky. Should the -dev package be built for the target or for
the build host. When cross-compiling it should probably be built for
the build host. Because it will probably be used to build the modules
too. Maybe the following change in linux-vanilla will fix it:
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev::$CBUILD_ARCH"

Cheers,
Timo

---

---

From: Breno Leitao <[email-masked]>
Date: Fri, 27 Jan 2017 09:54:12 -0200

> Yes, we also native build perl. It's a pain to cross-compile.

That is what we are doing with ppc64le also. We just cross-compiled the
minimum set of packages to be able to run abuild inside the chroot, and then,
(re)build everything natively.

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Sat, 28 Jan 2017 20:00:29 -0500

On Fri, 27 Jan 2017 09:00:54 +0200
Timo Teras <[email-masked]> wrote:
> 
> If fakeroot segfaults you'll end up in trouble sooner or later. It'd
> be good to fix that. Do you have strace or gdb backtrace of the
> crash? 

Cross-compiling strace and gdb requires 'linux-headers'
installed in $CBUILDROOT. strace is cool but gdb still fails
for me with following errors :

In file included from gregset.h:26:0,
                 from s390-linux-nat.c:28:
nm.h:23:24: error: 'elf_gregset_t' does not name a type
 #define GDB_GREGSET_T  elf_gregset_t
                        ^
gregset.h:36:9: note: in expansion of macro 'GDB_GREGSET_T'
 typedef GDB_GREGSET_T gdb_gregset_t;
         ^~~~~~~~~~~~~
nm.h:24:24: error: 'elf_fpregset_t' does not name a type
 #define GDB_FPREGSET_T elf_fpregset_t
                        ^
gregset.h:37:9: note: in expansion of macro 'GDB_FPREGSET_T'
 typedef GDB_FPREGSET_T gdb_fpregset_t;
         ^~~~~~~~~~~~~~
In file included from s390-linux-nat.c:28:0:
gregset.h:52:14: error: 'gdb_gregset_t' does not name a type
        const gdb_gregset_t *gregs);
              ^~~~~~~~~~~~~
gregset.h:54:15: error: 'gdb_fpregset_t' does not name a type
         const gdb_fpregset_t *fpregs);
               ^~~~~~~~~~~~~~
gregset.h:61:6: error: 'gdb_gregset_t' has not been declared
      gdb_gregset_t *gregs, int regno);
      ^~~~~~~~~~~~~
gregset.h:63:7: error: 'gdb_fpregset_t' has not been declared
       gdb_fpregset_t *fpregs, int regno);
       ^~~~~~~~~~~~~~

elf_gregset_t and elf_fpregset_t were supposed to be defined in
https://github.com/torvalds/linux/blob/master/arch/s390/include/asm/elf.h
and I think it should be built in 'linux-headers', but no trace of them.

Here is the log of strace fakeroot : http://pastebin.com/Pn7YUWRz

> > 2. I was having an error when building linux-vanilla-dev ( with
> > above kernel config ). When running $ make in dev() in APKBUILD,
> > HOSTCC compiles some scripts in "$srcdir"/linux-$_kernver/scripts
> > directory into host arch (x86_64) object/exec files. These files
> > were later get copied into
> > "$subpkgdir"/usr/src/linux-headers-${_abi_release}
> > Then libc.musl-x86_64.so.1 comes up in as a needed .so file in
> > later steps (scan_shared_objects() function). This happens for
> > linux-vanilla-dev package, while bootstraping both aarch64, and
> > s390x using aports master.
> 
This indeed fixes it and makes linux-vanilla-dev a HOST's package.

Thank you,
Tuan

---

---

From: Timo Teras <[email-masked]>
Date: Mon, 30 Jan 2017 13:21:56 +0200

On Sat, 28 Jan 2017 20:00:29 -0500

> installed in $CBUILDROOT. strace is cool but gdb still fails

Should fix strace APKBUILD to support cross-compilation using the
makedepends_host as used in other cross-compile enabled packages.

>  typedef GDB_GREGSET_T gdb_gregset_t;

Strange. Sounds like a bug somewhere.

> Here is the log of strace fakeroot : http://pastebin.com/Pn7YUWRz

Could you retry with "strace -f -s 1024" ?

> > This is tricky. Should the -dev package be built for the target or
> > for the build host. When cross-compiling it should probably be
> > built for the build host. Because it will probably be used to build
> > the modules too. Maybe the following change in linux-vanilla will
> > fix it: -subpackages="$pkgname-dev"

Ok, I'll probably commit that to the relevant kernel packages then.

Thanks.

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Wed, 1 Feb 2017 01:42:24 -0500

On Mon, 30 Jan 2017 13:21:56 +0200

> makedepends_host as used in other cross-compile enabled packages.

Thanks, it's very neat.

> Strange. Sounds like a bug somewhere.

Indeed. It was a musl bug, and with some patches, gdb is good now. Looks
like /usr/lib/libfakeroot.so is the one causes the segfault. Is there
any option in abuild to build package with out being stripped? I would
like to do so then debug fakeroot better. Adding -DDEBUG or -g in
CFLAGS and CXXFLAGS in APKBUILD doesn't help.

> Could you retry with "strace -f -s 1024" ?

I am not sure the strace would be informative for you : 
http://pastebin.com/4P0f5sDF

Thanks,
Tuan

---

---

From: Timo Teras <[email-masked]>
Date: Wed, 1 Feb 2017 09:03:59 +0200

On Wed, 1 Feb 2017 01:42:24 -0500
"Tuan M. Hoang" <[email-masked]> wrote:

> Indeed. It was a musl bug, and with some patches, gdb is good now.

Ok. Good, perhaps you can submit them upstream to musl?

> Looks like /usr/lib/libfakeroot.so is the one causes the segfault. Is
> there any option in abuild to build package with out being stripped?
> I would like to do so then debug fakeroot better. Adding -DDEBUG or
> -g in CFLAGS and CXXFLAGS in APKBUILD doesn't help.

DEBUG=yes abuild

or 

add "$pkgname-dbg" to subpackages, and a separate -dbg package is
created with the debug information.

> http://pastebin.com/4P0f5sDF

Unfortunately, this does not immediately reveal anything additional.
Getting gdb backtrace should help.

Thanks,
Timo

---

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Fri, 17 Feb 2017 12:27:36 -0500

Hi,

Please help me to review these patches.

Thanks,
Tuan

On 02/01/2017 02:03 AM, Timo Teras wrote:
>From 6b5f51d3fee5bbf2d036ab560332ebdfb094a9ec Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Fri, 17 Feb 2017 09:50:46 -0500
Subject: [PATCH] main/linux-vanilla: add s390x support

---
 main/linux-vanilla/APKBUILD             |   21 +-
 main/linux-vanilla/config-vanilla.s390x | 3548 +++++++++++++++++++++++++++++++
 2 files changed, 3551 insertions(+), 18 deletions(-)
 create mode 100644 main/linux-vanilla/config-vanilla.s390x

diff --git a/main/linux-vanilla/APKBUILD b/main/linux-vanilla/APKBUILD
index f47f4bd..72f3e81 100644
--- a/main/linux-vanilla/APKBUILD
+++ b/main/linux-vanilla/APKBUILD
@@ -22,6 +22,7 @@ source="https://kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar
 	config-vanilla.x86_64
 	config-vanilla.ppc
 	config-vanilla.ppc64le
+	config-vanilla.s390x
 
 	0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
 	"
@@ -39,6 +40,7 @@ case "$_carch" in
 aarch64*) _carch="arm64" ;;
 arm*) _carch="arm" ;;
 ppc*) _carch="powerpc" ;;
+s390*) _carch="s390" ;;
 esac
 
 HOSTCC="${CC:-gcc}"
@@ -164,24 +166,6 @@ dev() {
 		"$subpkgdir"/lib/modules/${_abi_release}/build
 }
 
-md5sums="9a78fa2eb6c68ca5a40ed5af08142599  linux-4.4.tar.xz
-60722f3f87ee4b7e74ee6999ae810f51  config-vanilla.aarch64
-bc89928ff4a687c11d3bcc3f79d44132  config-vanilla.armhf
-32be41a1abad4eefdf491907b257737f  config-vanilla.x86
-080b647a731c6013d150a370b745f158  config-vanilla.x86_64
-71cb405e6342cd1e07d5819d4b300f7d  config-vanilla.ppc
-3eaa6ab780e1194cabf811d3e894ef30  config-vanilla.ppc64le
-e10e580b7aadf42ba595e35d3ff3fc69  0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
-4140c092d355a837ccab1707c8ad0d33  patch-4.4.47.xz"
-sha256sums="401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2  linux-4.4.tar.xz
-2bde88a9393d93b3bff368706aeb467b8fa8e1459877c3ba9db7f90cba96e824  config-vanilla.aarch64
-83cfbe20ba8c5d8b9a540c6bd55a26c31fe6928abf08881131901a47152dd2aa  config-vanilla.armhf
-16c33fa4b2f41f76c42610c46271ab9ab09618cc70720b5bc33ed9e1611122c8  config-vanilla.x86
-530a9bfbfae90e103de41bf77e5897eda50687dcef286b2465d3f90b74151208  config-vanilla.x86_64
-9a3a0019de416dad7c487ba7c022609baf4fd65599c73a0ea370ff12f8f5df8d  config-vanilla.ppc
-be575bd67f224df227319a511814a1cbd2db9c7cc8f80532ec844d786527652d  config-vanilla.ppc64le
-b9bcbe11c017764075179fb61fb13f6d0eca2c5495402d8f4ace2331cfe0c0b4  0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
-21fd72caa322800b4668b4464d6ac4d8d66faa0056e08a5925d5911dab438c18  patch-4.4.47.xz"
 sha512sums="13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e  linux-4.4.tar.xz
 5fb62b82d23566fe0d0ce6cfff258a4a044ce0d968d81ccd10da6073dc7c30ad21e18b3be14fe36635a7e46793c5ce4c6184847917706fec733c584a2c14ac54  config-vanilla.aarch64
 0ed4e87ef8ff5f38ed36bfe19faa7c4b0c45c6abb55e943fa1dd18798028bd545527c7b6e04e3c3ae89160e9567975cec9f9c5fb50c5f73b39cf347005cf4650  config-vanilla.armhf
@@ -189,5 +173,6 @@ sha512sums="13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719
 b3146ef4a16aa3caf79cc3bef57144a718afc644718eaecd02e72c028a8831efc5cbd87afe1bd3056a4f8788abd8ddffc15265b848146b198719015fb93e649d  config-vanilla.x86_64
 ee565e219530bcfaf5cade2622432cfb83743bdbbfc388781901461f19ca553b7fdee3c81ce6b34225ef78a209eb60088630284fcbb0430947aad77a5d8a0865  config-vanilla.ppc
 47699009e208e8dec52a3fd77471f85a24d0c30a663a56e17c3063113e3c3dd32e46e17fd99b4f4b6e1e6202ce48747c60700c0c9ae097a46167bdacfa3e330b  config-vanilla.ppc64le
+9196716e00a66bd3c9ab8ca8b9bf467258add83c03ebb7f630893847fced5e4b7621aa867b9a82df96e21e252ed244a1439c1228d1e5ce70d6b6af48e41737fa  config-vanilla.s390x
 ebc1b89ff0985246889f68c32fb0bd326eb0f015a97b913bf8e2b92855c75809d114c57aff8f3f74d120694f1c5891d7a11ebe4aadaadd1954a947e762bf121d  0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
 f52936ab1dc91314a3cede35f9116332ce999b6442bdb575eda68dd2e57cd96517abc18b3bb05a2492e6cd13f849a09cece13463dfaa2d81ad390f8127b62813  patch-4.4.47.xz"
diff --git a/main/linux-vanilla/config-vanilla.s390x b/main/linux-vanilla/config-vanilla.s390x
new file mode 100644
index 0000000..2ee1fec
--- /dev/null
+++ b/main/linux-vanilla/config-vanilla.s390x
@@ -0,0 +1,3548 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/s390 4.4.47 Kernel Configuration
+#
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_PGSTE=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_KEXEC=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_NO_IOPORT_MAP=y
+# CONFIG_PCI_QUIRKS is not set
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_S390=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_FHANDLE=y
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+
+#
+# IRQ subsystem
+#
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+# CONFIG_TASKS_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_EXPEDITE_BOOT is not set
+CONFIG_BUILD_BIN2C=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_PAGE_COUNTER=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+# CONFIG_MEMCG_KMEM is not set
+# CONFIG_CGROUP_HUGETLB is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_BPF=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+# CONFIG_SYSFS_SYSCALL is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_HAVE_FUTEX_CMPXCHG=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_ADVISE_SYSCALLS=y
+# CONFIG_USERFAULTFD is not set
+CONFIG_MEMBARRIER=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_SYSTEM_DATA_VERIFICATION is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_KEXEC_CORE=y
+CONFIG_OPROFILE=m
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_UPROBES is not set
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR_NONE is not set
+# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_CLONE_BACKWARDS2=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_COMPRESS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+CONFIG_BLK_DEV_INTEGRITY=y
+# CONFIG_BLK_DEV_THROTTLING is not set
+# CONFIG_BLK_CMDLINE_PARSER is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+# CONFIG_AMIGA_PARTITION is not set
+CONFIG_ATARI_PARTITION=y
+CONFIG_IBM_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_SYSV68_PARTITION=y
+# CONFIG_CMDLINE_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y
+CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y
+CONFIG_ARCH_INLINE_SPIN_LOCK=y
+CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y
+CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y
+CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y
+CONFIG_ARCH_INLINE_READ_TRYLOCK=y
+CONFIG_ARCH_INLINE_READ_LOCK=y
+CONFIG_ARCH_INLINE_READ_LOCK_BH=y
+CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y
+CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y
+CONFIG_ARCH_INLINE_READ_UNLOCK=y
+CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y
+CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y
+CONFIG_ARCH_INLINE_WRITE_TRYLOCK=y
+CONFIG_ARCH_INLINE_WRITE_LOCK=y
+CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y
+CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y
+CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y
+CONFIG_INLINE_SPIN_TRYLOCK=y
+CONFIG_INLINE_SPIN_TRYLOCK_BH=y
+CONFIG_INLINE_SPIN_LOCK=y
+CONFIG_INLINE_SPIN_LOCK_BH=y
+CONFIG_INLINE_SPIN_LOCK_IRQ=y
+CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y
+CONFIG_INLINE_SPIN_UNLOCK_BH=y
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y
+CONFIG_INLINE_READ_TRYLOCK=y
+CONFIG_INLINE_READ_LOCK=y
+CONFIG_INLINE_READ_LOCK_BH=y
+CONFIG_INLINE_READ_LOCK_IRQ=y
+CONFIG_INLINE_READ_LOCK_IRQSAVE=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_BH=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y
+CONFIG_INLINE_WRITE_TRYLOCK=y
+CONFIG_INLINE_WRITE_LOCK=y
+CONFIG_INLINE_WRITE_LOCK_BH=y
+CONFIG_INLINE_WRITE_LOCK_IRQ=y
+CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_BH=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+CONFIG_HAVE_LIVEPATCH=y
+CONFIG_LIVEPATCH=y
+
+#
+# Processor type and features
+#
+CONFIG_HAVE_MARCH_Z900_FEATURES=y
+CONFIG_HAVE_MARCH_Z990_FEATURES=y
+CONFIG_HAVE_MARCH_Z9_109_FEATURES=y
+CONFIG_HAVE_MARCH_Z10_FEATURES=y
+CONFIG_HAVE_MARCH_Z196_FEATURES=y
+# CONFIG_HAVE_MARCH_ZEC12_FEATURES is not set
+# CONFIG_HAVE_MARCH_Z13_FEATURES is not set
+# CONFIG_MARCH_Z900 is not set
+# CONFIG_MARCH_Z990 is not set
+# CONFIG_MARCH_Z9_109 is not set
+# CONFIG_MARCH_Z10 is not set
+CONFIG_MARCH_Z196=y
+# CONFIG_MARCH_ZEC12 is not set
+# CONFIG_MARCH_Z13 is not set
+# CONFIG_MARCH_Z900_TUNE is not set
+# CONFIG_MARCH_Z990_TUNE is not set
+# CONFIG_MARCH_Z9_109_TUNE is not set
+# CONFIG_MARCH_Z10_TUNE is not set
+# CONFIG_MARCH_Z196_TUNE is not set
+# CONFIG_MARCH_ZEC12_TUNE is not set
+# CONFIG_MARCH_Z13_TUNE is not set
+# CONFIG_TUNE_DEFAULT is not set
+# CONFIG_TUNE_Z900 is not set
+# CONFIG_TUNE_Z990 is not set
+# CONFIG_TUNE_Z9_109 is not set
+# CONFIG_TUNE_Z10 is not set
+# CONFIG_TUNE_Z196 is not set
+CONFIG_TUNE_ZEC12=y
+# CONFIG_TUNE_Z13 is not set
+CONFIG_64BIT=y
+CONFIG_COMPAT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_SMP=y
+CONFIG_NR_CPUS=256
+CONFIG_HOTPLUG_CPU=y
+CONFIG_SCHED_SMT=y
+# CONFIG_NODES_SPAN_OTHER_NODES is not set
+# CONFIG_NUMA is not set
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_BOOK=y
+CONFIG_SCHED_TOPOLOGY=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_SCHED_HRTICK=y
+
+#
+# Memory setup
+#
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_FORCE_MAX_ZONEORDER=9
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MEMBLOCK_PHYS_MAP=y
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+# CONFIG_CMA is not set
+CONFIG_MEM_SOFT_DIRTY=y
+CONFIG_ZPOOL=m
+# CONFIG_ZBUD is not set
+# CONFIG_ZSMALLOC is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_PACK_STACK=y
+# CONFIG_CHECK_STACK is not set
+# CONFIG_WARN_DYNAMIC_STACK is not set
+
+#
+# I/O subsystem
+#
+CONFIG_QDIO=y
+CONFIG_PCI=y
+CONFIG_PCI_NR_FUNCTIONS=64
+CONFIG_PCI_NR_MSI=256
+CONFIG_PCI_BUS_ADDR_T_64BIT=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+
+#
+# PCI host controller drivers
+#
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+# CONFIG_PCIEAER is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_CPCI=y
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+CONFIG_HOTPLUG_PCI_S390=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_HAS_IOMEM=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_CHSC_SCH=m
+CONFIG_SCM_BUS=y
+CONFIG_EADM_SCH=m
+
+#
+# Dump support
+#
+# CONFIG_CRASH_DUMP is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_SECCOMP=y
+
+#
+# Power Management
+#
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_ARCH_SAVE_PAGE_KEYS=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+CONFIG_PM_SLEEP_DEBUG=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_IUCV=y
+CONFIG_AFIUCV=m
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NET_PTP_CLASSIFY=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_COMMON=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=m
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=m
+CONFIG_NF_TABLES_NETDEV=m
+CONFIG_NFT_EXTHDR=m
+CONFIG_NFT_META=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_RBTREE=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_COUNTER=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_COMPAT=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_IPV6=y
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_NF_TABLES_IPV4=m
+CONFIG_NFT_CHAIN_ROUTE_IPV4=m
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_NFT_CHAIN_NAT_IPV4=m
+CONFIG_NF_NAT_MASQUERADE_IPV4=m
+CONFIG_NFT_MASQ_IPV4=m
+CONFIG_NFT_REDIR_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_NF_TABLES_IPV6=m
+CONFIG_NFT_CHAIN_ROUTE_IPV6=m
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_NFT_CHAIN_NAT_IPV6=m
+CONFIG_NF_NAT_MASQUERADE_IPV6=m
+CONFIG_NFT_MASQ_IPV6=m
+CONFIG_NFT_REDIR_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+CONFIG_NF_TABLES_BRIDGE=m
+CONFIG_NFT_BRIDGE_META=m
+CONFIG_NFT_BRIDGE_REJECT=m
+CONFIG_NF_LOG_BRIDGE=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_SCTP=m
+CONFIG_NET_SCTPPROBE=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_TIPC_MEDIA_UDP=y
+# CONFIG_ATM is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+CONFIG_PHONET=m
+CONFIG_6LOWPAN=m
+CONFIG_6LOWPAN_NHC=m
+CONFIG_6LOWPAN_NHC_DEST=m
+CONFIG_6LOWPAN_NHC_FRAGMENT=m
+CONFIG_6LOWPAN_NHC_HOP=m
+CONFIG_6LOWPAN_NHC_IPV6=m
+CONFIG_6LOWPAN_NHC_MOBILITY=m
+CONFIG_6LOWPAN_NHC_ROUTING=m
+CONFIG_6LOWPAN_NHC_UDP=m
+CONFIG_IEEE802154=m
+# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
+CONFIG_IEEE802154_SOCKET=m
+CONFIG_IEEE802154_6LOWPAN=m
+# CONFIG_MAC802154 is not set
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_NET_CLS_BPF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+CONFIG_DCB=y
+CONFIG_DNS_RESOLVER=m
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+CONFIG_BATMAN_ADV_MCAST=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_OPENVSWITCH_VXLAN=m
+CONFIG_OPENVSWITCH_GENEVE=m
+# CONFIG_VSOCKETS is not set
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=y
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_TCPPROBE=m
+# CONFIG_NET_DROP_MONITOR is not set
+# CONFIG_CAN is not set
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=m
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+# CONFIG_NFC is not set
+CONFIG_LWTUNNEL=y
+CONFIG_HAVE_BPF_JIT=y
+# CONFIG_PCMCIA is not set
+CONFIG_CCW=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+# CONFIG_UEVENT_HELPER is not set
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
+CONFIG_ALLOW_DEV_COREDUMP=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+# CONFIG_DMA_SHARED_BUFFER is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=m
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+# CONFIG_SM_FTL is not set
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+# CONFIG_MTD_PARTITIONED_MASTER is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# CONFIG_MTD_NAND is not set
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_GENERIC is not set
+# CONFIG_MTD_ONENAND_OTP is not set
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_SPI_NOR=m
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_BLOCK=y
+# CONFIG_OF is not set
+CONFIG_PARPORT=m
+# CONFIG_PARPORT_GSC is not set
+# CONFIG_PARPORT_AX88796 is not set
+CONFIG_PARPORT_1284=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_NULL_BLK=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_ZRAM=m
+CONFIG_ZRAM_LZ4_COMPRESS=y
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_SKD=m
+CONFIG_BLK_DEV_OSD=m
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+# CONFIG_BLK_DEV_RAM_DAX is not set
+# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_ATA_OVER_ETH=m
+
+#
+# S/390 block device drivers
+#
+CONFIG_BLK_DEV_XPRAM=m
+CONFIG_DCSSBLK=m
+CONFIG_DASD=m
+CONFIG_DASD_PROFILE=y
+CONFIG_DASD_ECKD=m
+CONFIG_DASD_FBA=m
+CONFIG_DASD_DIAG=m
+CONFIG_DASD_EER=y
+CONFIG_SCM_BLOCK=m
+CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
+CONFIG_VIRTIO_BLK=m
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+CONFIG_BLK_DEV_NVME=m
+
+#
+# Misc devices
+#
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_BMP085_I2C is not set
+# CONFIG_USB_SWITCH_FSA9480 is not set
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_SENSORS_LIS3_I2C is not set
+
+#
+# Altera FPGA firmware download module
+#
+# CONFIG_ALTERA_STAPL is not set
+
+#
+# Intel MIC Bus Driver
+#
+
+#
+# SCIF Bus Driver
+#
+
+#
+# Intel MIC Host Driver
+#
+
+#
+# Intel MIC Card Driver
+#
+
+#
+# SCIF Driver
+#
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_CXL_BASE is not set
+# CONFIG_CXL_KERNEL_API is not set
+# CONFIG_CXL_EEH is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_MQ_DEFAULT is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+# CONFIG_SCSI_DPT_I2O is not set
+CONFIG_SCSI_ADVANSYS=m
+# CONFIG_SCSI_ARCMSR is not set
+CONFIG_SCSI_ESAS2R=m
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+# CONFIG_SCSI_UFSHCD_PLATFORM is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_SCSI_SNIC=m
+# CONFIG_SCSI_SNIC_DEBUG_FS is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+CONFIG_SCSI_STEX=m
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+CONFIG_SCSI_WD719X=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_ZFCP=m
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_DH=y
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+# CONFIG_MD_CLUSTER is not set
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_MQ_DEFAULT is not set
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_SMQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_ERA=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_RAID=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_DM_SWITCH=m
+CONFIG_DM_LOG_WRITES=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_TCM_USER2=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_IPVLAN=m
+CONFIG_VXLAN=m
+CONFIG_GENEVE=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+CONFIG_NET_VRF=m
+# CONFIG_ARCNET is not set
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+CONFIG_VHOST=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+# CONFIG_TYPHOON is not set
+CONFIG_NET_VENDOR_ADAPTEC=y
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_NET_VENDOR_AGERE=y
+CONFIG_ET131X=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+# CONFIG_ALTERA_TSE is not set
+CONFIG_NET_VENDOR_AMD=y
+# CONFIG_AMD8111_ETH is not set
+CONFIG_PCNET32=m
+# CONFIG_NET_VENDOR_ARC is not set
+CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_ATL2 is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_ALX is not set
+# CONFIG_NET_VENDOR_AURORA is not set
+CONFIG_NET_CADENCE=y
+# CONFIG_MACB is not set
+CONFIG_NET_VENDOR_BROADCOM=y
+# CONFIG_B44 is not set
+# CONFIG_BCMGENET is not set
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_BNX2X_SRIOV=y
+CONFIG_BNX2X_VXLAN=y
+CONFIG_BNXT=m
+CONFIG_BNXT_SRIOV=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_VENDOR_CAVIUM=y
+# CONFIG_THUNDER_NIC_PF is not set
+# CONFIG_THUNDER_NIC_VF is not set
+# CONFIG_THUNDER_NIC_BGX is not set
+CONFIG_LIQUIDIO=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4_DCB=y
+# CONFIG_CHELSIO_T4_FCOE is not set
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+# CONFIG_DNET is not set
+CONFIG_NET_VENDOR_DEC=y
+# CONFIG_NET_TULIP is not set
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+# CONFIG_SUNDANCE is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_BE2NET_HWMON=y
+CONFIG_BE2NET_VXLAN=y
+CONFIG_NET_VENDOR_EZCHIP=y
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_HP=y
+# CONFIG_HP100 is not set
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_VXLAN=y
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCB=y
+CONFIG_IXGBEVF=m
+CONFIG_I40E=m
+CONFIG_I40E_VXLAN=y
+CONFIG_I40E_DCB=y
+CONFIG_I40E_FCOE=y
+CONFIG_I40EVF=m
+# CONFIG_FM10K is not set
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+# CONFIG_MVMDIO is not set
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_EN_DCB=y
+CONFIG_MLX4_EN_VXLAN=y
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+# CONFIG_MLXSW_CORE is not set
+CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_KS8851_MLL is not set
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+# CONFIG_FEALNX is not set
+CONFIG_NET_VENDOR_NATSEMI=y
+# CONFIG_NATSEMI is not set
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+# CONFIG_NE2K_PCI is not set
+CONFIG_NET_VENDOR_NVIDIA=y
+# CONFIG_FORCEDETH is not set
+CONFIG_NET_VENDOR_OKI=y
+# CONFIG_ETHOC is not set
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLCNIC_SRIOV=y
+CONFIG_QLCNIC_DCB=y
+CONFIG_QLCNIC_VXLAN=y
+CONFIG_QLCNIC_HWMON=y
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_QED=m
+CONFIG_QEDE=m
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RENESAS=y
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_NET_VENDOR_SAMSUNG=y
+# CONFIG_SXGBE_ETH is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+# CONFIG_SIS900 is not set
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
+CONFIG_SFC_MCDI_LOGGING=y
+CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_EPIC100 is not set
+# CONFIG_SMSC911X is not set
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+# CONFIG_STMMAC_ETH is not set
+CONFIG_NET_VENDOR_SUN=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_ALE is not set
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+# CONFIG_VIA_RHINE is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_WIZNET_W5100 is not set
+# CONFIG_WIZNET_W5300 is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AQUANTIA_PHY=m
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_TERANETICS_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BCM_NET_PHYLIB=m
+CONFIG_BROADCOM_PHY=m
+# CONFIG_BCM7XXX_PHY is not set
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_DP83848_PHY=m
+CONFIG_DP83867_PHY=m
+CONFIG_MICROCHIP_PHY=m
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_PLIP is not set
+CONFIG_PPP=m
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+# CONFIG_SLIP is not set
+
+#
+# S/390 network device drivers
+#
+CONFIG_LCS=m
+CONFIG_CTCM=m
+CONFIG_NETIUCV=m
+CONFIG_SMSGIUCV=m
+CONFIG_SMSGIUCV_EVENT=m
+CONFIG_QETH=m
+CONFIG_QETH_L2=m
+CONFIG_QETH_L3=m
+CONFIG_QETH_IPV6=y
+CONFIG_CCWGROUP=m
+
+#
+# Host-side USB support is needed for USB Network Adapter support
+#
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+# CONFIG_VMXNET3 is not set
+# CONFIG_NVM is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_NOZOMI=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVMEM=y
+CONFIG_DEVKMEM=y
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=m
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_ARC is not set
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+# CONFIG_SERIAL_FSL_LPUART is not set
+CONFIG_TTY_PRINTK=m
+# CONFIG_PRINTER is not set
+# CONFIG_PPDEV is not set
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IUCV=y
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_TPM=m
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
+# CONFIG_TCG_TIS_I2C_INFINEON is not set
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_DEVPORT=y
+
+#
+# S/390 character device drivers
+#
+CONFIG_TN3270=y
+CONFIG_TN3270_TTY=y
+CONFIG_TN3270_FS=y
+CONFIG_TN3270_CONSOLE=y
+CONFIG_TN3215=y
+CONFIG_TN3215_CONSOLE=y
+CONFIG_CCW_CONSOLE=y
+CONFIG_SCLP_TTY=y
+CONFIG_SCLP_CONSOLE=y
+CONFIG_SCLP_VT220_TTY=y
+CONFIG_SCLP_VT220_CONSOLE=y
+CONFIG_SCLP_CPI=m
+CONFIG_SCLP_ASYNC=m
+CONFIG_SCLP_ASYNC_ID="000000000"
+CONFIG_HMC_DRV=m
+CONFIG_S390_TAPE=m
+
+#
+# S/390 tape hardware support
+#
+CONFIG_S390_TAPE_34XX=m
+CONFIG_S390_TAPE_3590=m
+CONFIG_VMLOGRDR=m
+CONFIG_VMCP=y
+CONFIG_MONREADER=m
+CONFIG_MONWRITER=m
+CONFIG_S390_VMUR=m
+# CONFIG_XILLYBUS is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+# CONFIG_I2C_CHARDEV is not set
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_PXA_PCI is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_SLAVE is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+CONFIG_SPMI=m
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI controllers
+#
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+# CONFIG_DP83640_PHY is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_POWER_AVS is not set
+CONFIG_HWMON=m
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_IIO_HWMON is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_HTU21 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH56XX_COMMON is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_SMM665 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS1015 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_BCM7038_WDT is not set
+CONFIG_DIAG288_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_SYSCON is not set
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+
+#
+# Frame buffer Devices
+#
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_SOUND is not set
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HID_BATTERY_STRENGTH is not set
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_QIB=m
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_MLX5_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+# CONFIG_UIO_PDRV_GENIRQ is not set
+# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+# CONFIG_UIO_PRUSS is not set
+CONFIG_UIO_MF624=m
+# CONFIG_VFIO is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=y
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI_LEGACY=y
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
+# CONFIG_VIRTIO_MMIO is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_STAGING=y
+# CONFIG_COMEDI is not set
+# CONFIG_PANEL is not set
+# CONFIG_RTS5208 is not set
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+
+#
+# Analog digital bi-direction converters
+#
+
+#
+# Capacitance to digital converters
+#
+# CONFIG_AD7150 is not set
+# CONFIG_AD7152 is not set
+# CONFIG_AD7746 is not set
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+# CONFIG_AD5933 is not set
+
+#
+# Light sensors
+#
+# CONFIG_SENSORS_ISL29018 is not set
+# CONFIG_SENSORS_ISL29028 is not set
+# CONFIG_TSL2583 is not set
+# CONFIG_TSL2x7x is not set
+
+#
+# Magnetometer sensors
+#
+# CONFIG_SENSORS_HMC5843_I2C is not set
+
+#
+# Active energy metering IC
+#
+# CONFIG_ADE7854 is not set
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
+# CONFIG_STAGING_MEDIA is not set
+# CONFIG_STAGING_RDMA is not set
+
+#
+# Android
+#
+# CONFIG_LUSTRE_FS is not set
+# CONFIG_DGNC is not set
+# CONFIG_DGAP is not set
+# CONFIG_GS_FPGABOOT is not set
+# CONFIG_MOST is not set
+
+#
+# Hardware Spinlock drivers
+#
+
+#
+# Clock Source drivers
+#
+# CONFIG_ATMEL_PIT is not set
+# CONFIG_SH_TIMER_CMT is not set
+# CONFIG_SH_TIMER_MTU2 is not set
+# CONFIG_SH_TIMER_TMU is not set
+# CONFIG_EM_TIMER_STI is not set
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_S390_IOMMU=y
+
+#
+# Remoteproc drivers
+#
+# CONFIG_STE_MODEM_RPROC is not set
+
+#
+# Rpmsg drivers
+#
+
+#
+# SOC (System On Chip) specific Drivers
+#
+# CONFIG_SUNXI_SRAM is not set
+# CONFIG_SOC_TI is not set
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
+CONFIG_DEVFREQ_GOV_PERFORMANCE=m
+CONFIG_DEVFREQ_GOV_POWERSAVE=m
+CONFIG_DEVFREQ_GOV_USERSPACE=m
+
+#
+# DEVFREQ Drivers
+#
+# CONFIG_PM_DEVFREQ_EVENT is not set
+# CONFIG_EXTCON is not set
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+# CONFIG_BMA180 is not set
+# CONFIG_BMC150_ACCEL is not set
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_KXCJK1013 is not set
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD7291 is not set
+# CONFIG_AD799X is not set
+# CONFIG_MAX1363 is not set
+# CONFIG_MCP3422 is not set
+# CONFIG_NAU7802 is not set
+# CONFIG_QCOM_SPMI_IADC is not set
+# CONFIG_QCOM_SPMI_VADC is not set
+# CONFIG_TI_ADC081C is not set
+
+#
+# Amplifiers
+#
+
+#
+# Chemical Sensors
+#
+# CONFIG_VZ89X is not set
+
+#
+# Hid Sensor IIO Common
+#
+
+#
+# SSP Sensor Common
+#
+
+#
+# Digital to analog converters
+#
+# CONFIG_AD5064 is not set
+# CONFIG_AD5380 is not set
+# CONFIG_AD5446 is not set
+# CONFIG_M62332 is not set
+# CONFIG_MAX517 is not set
+# CONFIG_MCP4725 is not set
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_BMG160 is not set
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
+# CONFIG_ITG3200 is not set
+
+#
+# Humidity sensors
+#
+# CONFIG_HDC100X is not set
+# CONFIG_HTU21 is not set
+# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
+
+#
+# Inertial measurement units
+#
+# CONFIG_KMX61 is not set
+# CONFIG_INV_MPU6050_IIO is not set
+
+#
+# Light sensors
+#
+# CONFIG_ADJD_S311 is not set
+# CONFIG_AL3320A is not set
+# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+# CONFIG_BH1750 is not set
+# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
+# CONFIG_CM36651 is not set
+# CONFIG_GP2AP020A00F is not set
+# CONFIG_ISL29125 is not set
+# CONFIG_JSA1212 is not set
+# CONFIG_RPR0521 is not set
+# CONFIG_LTR501 is not set
+# CONFIG_OPT3001 is not set
+# CONFIG_PA12203001 is not set
+# CONFIG_STK3310 is not set
+# CONFIG_TCS3414 is not set
+# CONFIG_TCS3472 is not set
+# CONFIG_SENSORS_TSL2563 is not set
+# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
+# CONFIG_VCNL4000 is not set
+
+#
+# Magnetometer sensors
+#
+# CONFIG_BMC150_MAGN is not set
+# CONFIG_MAG3110 is not set
+# CONFIG_MMC35240 is not set
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
+
+#
+# Inclinometer sensors
+#
+
+#
+# Triggers - standalone
+#
+# CONFIG_IIO_INTERRUPT_TRIGGER is not set
+# CONFIG_IIO_SYSFS_TRIGGER is not set
+
+#
+# Digital potentiometers
+#
+# CONFIG_MCP4531 is not set
+
+#
+# Pressure sensors
+#
+# CONFIG_BMP280 is not set
+# CONFIG_MPL115 is not set
+# CONFIG_MPL3115 is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
+# CONFIG_IIO_ST_PRESS is not set
+# CONFIG_T5403 is not set
+
+#
+# Lightning sensors
+#
+
+#
+# Proximity sensors
+#
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_SX9500 is not set
+
+#
+# Temperature sensors
+#
+# CONFIG_MLX90614 is not set
+# CONFIG_TMP006 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_FMC is not set
+
+#
+# PHY Subsystem
+#
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+CONFIG_RAS=y
+# CONFIG_THUNDERBOLT is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_NVMEM is not set
+# CONFIG_STM is not set
+# CONFIG_STM_DUMMY is not set
+# CONFIG_STM_SOURCE_CONSOLE is not set
+# CONFIG_INTEL_TH is not set
+
+#
+# FPGA Configuration Support
+#
+# CONFIG_FPGA is not set
+
+#
+# File systems
+#
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_ENCRYPTION=m
+CONFIG_EXT4_FS_ENCRYPTION=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+CONFIG_NILFS2_FS=m
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+# CONFIG_F2FS_CHECK_FS is not set
+CONFIG_F2FS_FS_ENCRYPTION=y
+# CONFIG_F2FS_IO_TRACE is not set
+CONFIG_FS_DAX=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_OVERLAY_FS=m
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+CONFIG_FSCACHE_OBJECT_LIST=y
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+# CONFIG_HFS_FS is not set
+CONFIG_HFSPLUS_FS=m
+CONFIG_HFSPLUS_FS_POSIX_ACL=y
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_UBIFS_FS is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+# CONFIG_SQUASHFS_LZ4 is not set
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+# CONFIG_NFS_V4_2 is not set
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+# CONFIG_NFS_V4_1_MIGRATION is not set
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DEBUG=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
+CONFIG_NFSD_V4_SECURITY_LABEL=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC_DEBUG=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_CEPH_FS=m
+CONFIG_CEPH_FSCACHE=y
+CONFIG_CEPH_FS_POSIX_ACL=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+CONFIG_CIFS_STATS2=y
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_ACL=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SMB2=y
+# CONFIG_CIFS_SMB311 is not set
+CONFIG_CIFS_FSCACHE=y
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+# CONFIG_9P_FS_SECURITY is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_DYNAMIC_DEBUG is not set
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_PAGE_OWNER is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_DEBUG_KMEMLEAK=y
+CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
+# CONFIG_DEBUG_KMEMLEAK_TEST is not set
+CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_VM=y
+CONFIG_DEBUG_VM_RB=y
+CONFIG_DEBUG_VM_VMACACHE=y
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_DEBUG_SHIRQ=y
+
+#
+# Debug Lockups and Hangs
+#
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHED_INFO=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_SCHED_STACK_END_CHECK is not set
+# CONFIG_DEBUG_TIMEKEEPING is not set
+CONFIG_TIMER_STATS=y
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_LIST=y
+# CONFIG_DEBUG_PI_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_PROVE_RCU is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_TORTURE_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_LATENCYTOP=y
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_KPROBE_EVENT is not set
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_TRACEPOINT_BENCHMARK is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_TRACE_ENUM_MAP_FILE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_LKDTM is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PERCPU_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_ASYNC_RAID6_TEST is not set
+# CONFIG_TEST_HEXDUMP is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+CONFIG_TEST_KSTRTOX=m
+# CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_USER_COPY is not set
+# CONFIG_TEST_BPF is not set
+# CONFIG_TEST_FIRMWARE is not set
+# CONFIG_TEST_UDELAY is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_TEST_STATIC_KEYS is not set
+# CONFIG_SAMPLES is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_S390_PTDUMP=y
+CONFIG_DEBUG_SET_MODULE_RONX=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_BIG_KEYS is not set
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+CONFIG_SECURITY_PATH=y
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+CONFIG_INTEGRITY=y
+# CONFIG_INTEGRITY_SIGNATURE is not set
+CONFIG_INTEGRITY_AUDIT=y
+# CONFIG_IMA is not set
+# CONFIG_EVM is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=m
+# CONFIG_CRYPTO_RSA is not set
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_MCRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_KEYWRAP=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=y
+CONFIG_CRYPTO_LZO=m
+# CONFIG_CRYPTO_842 is not set
+CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_LZ4HC=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_JITTERENTROPY=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_USER_API_AEAD=m
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_HW=y
+CONFIG_ZCRYPT=m
+CONFIG_CRYPTO_SHA1_S390=m
+CONFIG_CRYPTO_SHA256_S390=m
+CONFIG_CRYPTO_SHA512_S390=m
+CONFIG_CRYPTO_DES_S390=m
+CONFIG_CRYPTO_AES_S390=m
+CONFIG_S390_PRNG=m
+CONFIG_CRYPTO_GHASH_S390=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=m
+# CONFIG_PKCS7_TEST_KEY is not set
+
+#
+# Certificates for signature checking
+#
+# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_IO=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CRC8=m
+# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=m
+CONFIG_LZ4HC_COMPRESS=m
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_ARM is not set
+# CONFIG_XZ_DEC_ARMTHUMB is not set
+# CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+CONFIG_DDR=y
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=m
+# CONFIG_SG_SPLIT is not set
+CONFIG_ARCH_HAS_SG_CHAIN=y
+
+#
+# Virtualization
+#
+CONFIG_PFAULT=y
+CONFIG_CMM=m
+CONFIG_CMM_IUCV=y
+CONFIG_APPLDATA_BASE=y
+CONFIG_APPLDATA_MEM=m
+CONFIG_APPLDATA_OS=m
+CONFIG_APPLDATA_NET_SUM=m
+CONFIG_S390_HYPFS_FS=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQFD=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_KVM_ASYNC_PF_SYNC=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_S390_UCONTROL=y
+CONFIG_S390_GUEST=y
-- 
2.11.1

>From 087a42fc4c45a0d9211f9e5cc86d29c08eaaa9f0 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Fri, 17 Feb 2017 09:54:03 -0500
Subject: [PATCH] main/musl: add s390x support

---
 main/musl/0007-add-s390x-dlsym.patch | 26 ++++++++++++++++++++++++++
 main/musl/APKBUILD                   | 29 ++++-------------------------
 2 files changed, 30 insertions(+), 25 deletions(-)
 create mode 100644 main/musl/0007-add-s390x-dlsym.patch

diff --git a/main/musl/0007-add-s390x-dlsym.patch b/main/musl/0007-add-s390x-dlsym.patch
new file mode 100644
index 0000000..ed88df7
--- /dev/null
+++ b/main/musl/0007-add-s390x-dlsym.patch
@@ -0,0 +1,26 @@
+From 9201c3afce0ff53a9b1c5da5285ff84c11dee9d4 Mon Sep 17 00:00:00 2001
+From: Bobby Bingham <[email-masked]>
+Date: Sun, 5 Feb 2017 21:29:52 -0600
+Subject: s390x: implement dlsym
+
+This was missed when writing the port initially.
+---
+ src/ldso/s390x/dlsym.s | 6 ++++++
+ 1 file changed, 6 insertions(+)
+ create mode 100644 src/ldso/s390x/dlsym.s
+
+diff --git a/src/ldso/s390x/dlsym.s b/src/ldso/s390x/dlsym.s
+new file mode 100644
+index 0000000..2e9fa8f
+--- /dev/null
++++ b/src/ldso/s390x/dlsym.s
+@@ -0,0 +1,6 @@
++	.global dlsym
++	.hidden __dlsym
++	.type   dlsym,@function
++dlsym:
++	lgr %r4, %r14
++	jg __dlsym
+-- 
+cgit v0.11.2
+
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index 81d951b..255c4fb 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -24,6 +24,7 @@ source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
 	0004-fix-getopt-_long-clobbering-of-optopt-on-success.patch
 	0005-treat-base-1-as-an-error-in-strtol-family-functions.patch
 	0006-fix-crash-from-corrupted-tls-module-list-after-faile.patch
+	0007-add-s390x-dlsym.patch
 
 	ldconfig
 	__stack_chk_fail_local.c
@@ -80,6 +81,7 @@ package() {
 		x86_64)		ARCH="x86_64" ;;
 		ppc)		ARCH="powerpc" ;;
 		ppc64*)		ARCH="powerpc64" ;;
+		s390*)		ARCH="s390x" ;;
 		mips*)		ARCH="mips" ;;
 		esac
 
@@ -133,7 +135,7 @@ compat() {
 		# so we add a symlink
 		ln -s lib "$subpkgdir"/lib64
 		;;
-	mips*) _ld="ld.so.1" ;;
+	mips* | s390*) _ld="ld.so.1" ;;
 	esac
 	ln -sf "/lib/libc.musl-${CARCH}.so.1" "$subpkgdir/lib/$_ld"
 
@@ -142,30 +144,6 @@ compat() {
 	done
 }
 
-md5sums="ac52ccaec6b06ab0f289d37e8436859b  musl-1.1.16.tar.gz
-d9da36992a9ccd200242b38b67823b95  0001-fix-strftime-y-for-negative-years.patch
-93a7dfa98dff324f2242d10f7c2d68f8  0002-make-globfree-safe-after-failed-glob-from-over-lengt.patch
-3002db70e8282b7fb7c53052c5661275  0003-reduce-impact-of-REG_-namespace-pollution-in-x86-_64.patch
-d83f0cf762aa4cb276138ee8a1a1f2f4  0004-fix-getopt-_long-clobbering-of-optopt-on-success.patch
-1f525f2c2cf7da24c5c5ca327f791d3b  0005-treat-base-1-as-an-error-in-strtol-family-functions.patch
-83f8f9baf934c4cb7d69c3799b0ca1dd  0006-fix-crash-from-corrupted-tls-module-list-after-faile.patch
-830d01f7821b978df770b06db3790921  ldconfig
-0df687757221bbb0fc1aa67f1bd646f9  __stack_chk_fail_local.c
-57ef2c63b9ec6a2041694ace97d4ffa2  getconf.c
-eadc8794eadb79dbc383b2b91a32084d  getent.c
-45f92f8d59cf84d765de698a9578dbf4  iconv.c"
-sha256sums="937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011  musl-1.1.16.tar.gz
-ec5209fe48aa54a859cc034557b7cca8307adaf345b3f7c061e0b284eee00ccc  0001-fix-strftime-y-for-negative-years.patch
-b8c92e4c6c60b67fde4eab3465041c12a942a319501710babaf3b6ead381bd95  0002-make-globfree-safe-after-failed-glob-from-over-lengt.patch
-521f02391536e2879359469a78afe10165b2ebd2467d841c65222d53f7e2a8e0  0003-reduce-impact-of-REG_-namespace-pollution-in-x86-_64.patch
-2594a34dd18eab6130b8486e58bf3a5fd16e67692134edde3690ba35f2801db3  0004-fix-getopt-_long-clobbering-of-optopt-on-success.patch
-0b9b5a37902dee6d53110e61f8fbada8673094dbcc5c43b5dc050652f10e558a  0005-treat-base-1-as-an-error-in-strtol-family-functions.patch
-93b3a03017cf01439b88c7555d468898e2ea372bd2a9e1e3fd91f8f7f061f3d2  0006-fix-crash-from-corrupted-tls-module-list-after-faile.patch
-b4a2c06db38742e8c42c3c9838b285a7d8cdac6c091ff3df5ff9a15f1e41b9c7  ldconfig
-299a7d75a09de3e2e11e7fb4acc3182e4a14e868093d2f30938fce9bfcff13da  __stack_chk_fail_local.c
-d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c  getconf.c
-b323f20c9bf560a13c877eb05428bc4a203383697bac763e7b12865db5c5922c  getent.c
-f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7  iconv.c"
 sha512sums="47c00e50b7605102fb4aebe1f9ba9db94d26fac64805f6d744c9c557a05b8a58dff7f9558ff7c8d66b5d7c43740cdc2dd79448bacac47f1414e6ada99c210140  musl-1.1.16.tar.gz
 74e95ab3a74513e7a0513e004c376d4055eca0e21162e717dfcab249302a9060d3ac3eb88b562dea14b71b475b4dd2f703e355e2f5050b58891a848c5093c5f6  0001-fix-strftime-y-for-negative-years.patch
 04805970e7dc11f84a86df49688f3b7670933860192e99637e189494c261e49b3cce1d80019d69341452062df03d5a349450015076c947296ac4a0d40e5789f4  0002-make-globfree-safe-after-failed-glob-from-over-lengt.patch
@@ -173,6 +151,7 @@ sha512sums="47c00e50b7605102fb4aebe1f9ba9db94d26fac64805f6d744c9c557a05b8a58dff7
 ea103de2721926111510116dedb10e2320715fd20563a342c1dd30f3d1e68049990924b2cf4d03fd9d481ae9488f0e49da5373a79bcec4a8d8c357c64a24751b  0004-fix-getopt-_long-clobbering-of-optopt-on-success.patch
 df96c4bd5ff9c197c8aa599948b69716587837de0f298d3adec56077b073e71a49a3c3345e0508cf8a4ed636e3171495bbbdc35435bd8e343c546436f6348359  0005-treat-base-1-as-an-error-in-strtol-family-functions.patch
 4dc5cdcab11dee6b62fcb81401a816341e1d802a99e46b072c51575a2c25933354540fe22ae06dcdc85eb9a3cbf7256e7c43aab0e75843846551f9e18bfc39c2  0006-fix-crash-from-corrupted-tls-module-list-after-faile.patch
+39eaf56fe30c7098c75c09567a0d990b90c1017c1c2c160017b2d5f41e6503a23d21c7b20bad0186cf3e6fec9fa28ab4f7d655a8382140186c96302f262379fe  0007-add-s390x-dlsym.patch
 8d3a2d5315fc56fee7da9abb8b89bb38c6046c33d154c10d168fb35bfde6b0cf9f13042a3bceee34daf091bc409d699223735dcf19f382eeee1f6be34154f26f  ldconfig
 062bb49fa54839010acd4af113e20f7263dde1c8a2ca359b5fb2661ef9ed9d84a0f7c3bc10c25dcfa10bb3c5a4874588dff636ac43d5dbb3d748d75400756d0b  __stack_chk_fail_local.c
 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d  getconf.c
-- 
2.11.1

>From 85d2442d84c8910b72f76bebc12aa8c01519ad77 Mon Sep 17 00:00:00 2001
From: "Tuan M. Hoang" <[email-masked]>
Date: Fri, 17 Feb 2017 09:48:25 -0500
Subject: [PATCH] main/pcre: s390x does not support jit yet

---
 main/pcre/APKBUILD | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/main/pcre/APKBUILD b/main/pcre/APKBUILD
index f68e9e9..39f59d3 100644
--- a/main/pcre/APKBUILD
+++ b/main/pcre/APKBUILD
@@ -15,11 +15,15 @@ builddir="$srcdir/$pkgname-$pkgver"
 
 build() {
 	cd "$builddir"
+	case "$CARCH" in
+		s390*)		_enable_jit="" ;;
+		*)		_enable_jit="--enable-jit" ;;
+	esac
 	./configure \
 		--build=$CBUILD \
 		--host=$CHOST \
 		--prefix=/usr \
-		--enable-jit \
+		$_enable_jit \
 		--enable-utf8 \
 		--enable-unicode-properties \
 		--enable-pcre8 \
@@ -62,6 +66,4 @@ tools() {
 	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
 }
 
-md5sums="41a842bf7dcecd6634219336e2167d1d  pcre-8.40.tar.bz2"
-sha256sums="00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4  pcre-8.40.tar.bz2"
 sha512sums="b4c27eafbdf33bd7a1384655b1936f4be3bc6745c072347eb26e988896c52664bd85ac42444da1be78b6e20f45b6c7e5921f5f20f5b0741b5bd3d9844e5bd4e2  pcre-8.40.tar.bz2"
-- 
2.11.1

---

From: Justin Cormack <[email-masked]>
Date: Sat, 2 Jul 2016 22:41:20 -0700

I was not aware of a Musl s390x port, is there one?

Justin
On 1 Jul 2016 4:57 p.m., "Tuan M. Hoang" <[email-masked]> wrote:

> http://dev.alpinelinux.org/~tteras/bootstrap/ to bootstrap Alpine on new
> arch.
>
> CTARGET_LIBC=musl abuild -r || return 1
> How could I solve this? Should I build gcc-pass-2 with different prefix
> than /usr/ to avoid conflict dynamic libs? If I do so, will it be any
> different than a manually/traditionally built cross-toolchain ? (mentioned
> below)
>
>
> Q2:
> patches.
>     ${SUDO_APK} --repository $REPODEST_HOST/main add gcc-$CTARGET
> g++-$CTARGET gcc-gnat-$CTARGET || return 1
>

---

From: "Tuan M. Hoang" <[email-masked]>
Date: Sun, 03 Jul 2016 15:31:42 +0700

Hi,

The experimental Musl s390x port is at : https://github.com/koorogi/musl/tree/s390x

Tuan

 ---- On Sun, 03 Jul 2016 12:41:20 +0700 Justin Cormack <[email-masked]> wrote ---- 

---