mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 08:46:46 +00:00
wireguard: selftests: use newer toolchains to fill out architectures
Rather than relying on the system to have cross toolchains available, simply download musl.cc's ones and use that libc.so, and then we use it to fill in a few missing platforms, such as riscv64, riscv64, powerpc64, and s390x. Since riscv doesn't have a second serial port in its device description, we have to use virtio's vport. This is actually the same situation on ARM, but we were previously hacking QEMU up to work around this, which required a custom QEMU. Instead just do the vport trick on ARM too. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
39f02bf1e5
commit
d5d9b29bc9
9 changed files with 170 additions and 64 deletions
|
@ -4,26 +4,24 @@
|
||||||
|
|
||||||
PWD := $(shell pwd)
|
PWD := $(shell pwd)
|
||||||
|
|
||||||
CHOST := $(shell gcc -dumpmachine)
|
|
||||||
HOST_ARCH := $(firstword $(subst -, ,$(CHOST)))
|
|
||||||
ifneq (,$(ARCH))
|
|
||||||
CBUILD := $(subst -gcc,,$(lastword $(subst /, ,$(firstword $(wildcard $(foreach bindir,$(subst :, ,$(PATH)),$(bindir)/$(ARCH)-*-gcc))))))
|
|
||||||
ifeq (,$(CBUILD))
|
|
||||||
$(error The toolchain for $(ARCH) is not installed)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
CBUILD := $(CHOST)
|
|
||||||
ARCH := $(firstword $(subst -, ,$(CBUILD)))
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Set these from the environment to override
|
# Set these from the environment to override
|
||||||
KERNEL_PATH ?= $(PWD)/../../../../..
|
KERNEL_PATH ?= $(PWD)/../../../../..
|
||||||
BUILD_PATH ?= $(PWD)/build/$(ARCH)
|
BUILD_PATH ?= $(PWD)/build/$(ARCH)
|
||||||
DISTFILES_PATH ?= $(PWD)/distfiles
|
DISTFILES_PATH ?= $(PWD)/distfiles
|
||||||
NR_CPUS ?= 4
|
NR_CPUS ?= 4
|
||||||
|
ARCH ?=
|
||||||
|
CBUILD := $(shell gcc -dumpmachine)
|
||||||
|
HOST_ARCH := $(firstword $(subst -, ,$(CBUILD)))
|
||||||
|
ifeq ($(ARCH),)
|
||||||
|
ARCH := $(HOST_ARCH)
|
||||||
|
endif
|
||||||
|
|
||||||
MIRROR := https://download.wireguard.com/qemu-test/distfiles/
|
MIRROR := https://download.wireguard.com/qemu-test/distfiles/
|
||||||
|
|
||||||
|
KERNEL_BUILD_PATH := $(BUILD_PATH)/kernel$(if $(findstring yes,$(DEBUG_KERNEL)),-debug)
|
||||||
|
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
|
||||||
|
WIREGUARD_SOURCES := $(call rwildcard,$(KERNEL_PATH)/drivers/net/wireguard/,*)
|
||||||
|
|
||||||
default: qemu
|
default: qemu
|
||||||
|
|
||||||
# variable name, tarball project name, version, tarball extension, default URI base
|
# variable name, tarball project name, version, tarball extension, default URI base
|
||||||
|
@ -36,12 +34,11 @@ $(call file_download,$$($(1)_NAME)$(4),$(5),$(6))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define file_download =
|
define file_download =
|
||||||
$(DISTFILES_PATH)/$(1):
|
$(DISTFILES_PATH)/$(1): | $(4)
|
||||||
mkdir -p $(DISTFILES_PATH)
|
mkdir -p $(DISTFILES_PATH)
|
||||||
flock -x $$@.lock -c '[ -f $$@ ] && exit 0; wget -O $$@.tmp $(MIRROR)$(1) || wget -O $$@.tmp $(2)$(1) || rm -f $$@.tmp; [ -f $$@.tmp ] || exit 1; if echo "$(3) $$@.tmp" | sha256sum -c -; then mv $$@.tmp $$@; else rm -f $$@.tmp; exit 71; fi'
|
flock -x $$@.lock -c '[ -f $$@ ] && exit 0; wget -O $$@.tmp $(MIRROR)$(1) || wget -O $$@.tmp $(2)$(1) || rm -f $$@.tmp; [ -f $$@.tmp ] || exit 1; if ([ -n "$(4)" ] && sed -n "s#^\([a-f0-9]\{64\}\) \($(1)\)\$$$$#\1 $(DISTFILES_PATH)/\2.tmp#p" "$(4)" || echo "$(3) $$@.tmp") | sha256sum -c -; then mv $$@.tmp $$@; else rm -f $$@.tmp; exit 71; fi'
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call tar_download,MUSL,musl,1.2.0,.tar.gz,https://musl.libc.org/releases/,c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8))
|
|
||||||
$(eval $(call tar_download,IPERF,iperf,3.7,.tar.gz,https://downloads.es.net/pub/iperf/,d846040224317caf2f75c843d309a950a7db23f9b44b94688ccbe557d6d1710c))
|
$(eval $(call tar_download,IPERF,iperf,3.7,.tar.gz,https://downloads.es.net/pub/iperf/,d846040224317caf2f75c843d309a950a7db23f9b44b94688ccbe557d6d1710c))
|
||||||
$(eval $(call tar_download,BASH,bash,5.0,.tar.gz,https://ftp.gnu.org/gnu/bash/,b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d))
|
$(eval $(call tar_download,BASH,bash,5.0,.tar.gz,https://ftp.gnu.org/gnu/bash/,b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d))
|
||||||
$(eval $(call tar_download,IPROUTE2,iproute2,5.6.0,.tar.xz,https://www.kernel.org/pub/linux/utils/net/iproute2/,1b5b0e25ce6e23da7526ea1da044e814ad85ba761b10dd29c2b027c056b04692))
|
$(eval $(call tar_download,IPROUTE2,iproute2,5.6.0,.tar.xz,https://www.kernel.org/pub/linux/utils/net/iproute2/,1b5b0e25ce6e23da7526ea1da044e814ad85ba761b10dd29c2b027c056b04692))
|
||||||
|
@ -50,28 +47,20 @@ $(eval $(call tar_download,NMAP,nmap,7.80,.tar.bz2,https://nmap.org/dist/,fcfa5a
|
||||||
$(eval $(call tar_download,IPUTILS,iputils,s20190709,.tar.gz,https://github.com/iputils/iputils/archive/s20190709.tar.gz/#,a15720dd741d7538dd2645f9f516d193636ae4300ff7dbc8bfca757bf166490a))
|
$(eval $(call tar_download,IPUTILS,iputils,s20190709,.tar.gz,https://github.com/iputils/iputils/archive/s20190709.tar.gz/#,a15720dd741d7538dd2645f9f516d193636ae4300ff7dbc8bfca757bf166490a))
|
||||||
$(eval $(call tar_download,WIREGUARD_TOOLS,wireguard-tools,1.0.20200206,.tar.xz,https://git.zx2c4.com/wireguard-tools/snapshot/,f5207248c6a3c3e3bfc9ab30b91c1897b00802ed861e1f9faaed873366078c64))
|
$(eval $(call tar_download,WIREGUARD_TOOLS,wireguard-tools,1.0.20200206,.tar.xz,https://git.zx2c4.com/wireguard-tools/snapshot/,f5207248c6a3c3e3bfc9ab30b91c1897b00802ed861e1f9faaed873366078c64))
|
||||||
|
|
||||||
KERNEL_BUILD_PATH := $(BUILD_PATH)/kernel$(if $(findstring yes,$(DEBUG_KERNEL)),-debug)
|
export CFLAGS := -O3 -pipe
|
||||||
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
|
|
||||||
WIREGUARD_SOURCES := $(call rwildcard,$(KERNEL_PATH)/drivers/net/wireguard/,*)
|
|
||||||
|
|
||||||
export CFLAGS ?= -O3 -pipe
|
|
||||||
export LDFLAGS ?=
|
|
||||||
export CPPFLAGS := -I$(BUILD_PATH)/include
|
|
||||||
|
|
||||||
ifeq ($(HOST_ARCH),$(ARCH))
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
CROSS_COMPILE_FLAG := --host=$(CHOST)
|
|
||||||
CFLAGS += -march=native
|
CFLAGS += -march=native
|
||||||
STRIP := strip
|
|
||||||
else
|
|
||||||
$(info Cross compilation: building for $(CBUILD) using $(CHOST))
|
|
||||||
CROSS_COMPILE_FLAG := --build=$(CBUILD) --host=$(CHOST)
|
|
||||||
export CROSS_COMPILE=$(CBUILD)-
|
|
||||||
STRIP := $(CBUILD)-strip
|
|
||||||
endif
|
endif
|
||||||
|
export LDFLAGS :=
|
||||||
|
export CPPFLAGS :=
|
||||||
|
|
||||||
|
QEMU_VPORT_RESULT :=
|
||||||
ifeq ($(ARCH),aarch64)
|
ifeq ($(ARCH),aarch64)
|
||||||
|
CHOST := aarch64-linux-musl
|
||||||
QEMU_ARCH := aarch64
|
QEMU_ARCH := aarch64
|
||||||
KERNEL_ARCH := arm64
|
KERNEL_ARCH := arm64
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm64/boot/Image
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm64/boot/Image
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-device
|
||||||
ifeq ($(HOST_ARCH),$(ARCH))
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
||||||
else
|
else
|
||||||
|
@ -79,9 +68,11 @@ QEMU_MACHINE := -cpu cortex-a53 -machine virt
|
||||||
CFLAGS += -march=armv8-a -mtune=cortex-a53
|
CFLAGS += -march=armv8-a -mtune=cortex-a53
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),aarch64_be)
|
else ifeq ($(ARCH),aarch64_be)
|
||||||
|
CHOST := aarch64_be-linux-musl
|
||||||
QEMU_ARCH := aarch64
|
QEMU_ARCH := aarch64
|
||||||
KERNEL_ARCH := arm64
|
KERNEL_ARCH := arm64
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm64/boot/Image
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm64/boot/Image
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-device
|
||||||
ifeq ($(HOST_ARCH),$(ARCH))
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
||||||
else
|
else
|
||||||
|
@ -89,9 +80,11 @@ QEMU_MACHINE := -cpu cortex-a53 -machine virt
|
||||||
CFLAGS += -march=armv8-a -mtune=cortex-a53
|
CFLAGS += -march=armv8-a -mtune=cortex-a53
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),arm)
|
else ifeq ($(ARCH),arm)
|
||||||
|
CHOST := arm-linux-musleabi
|
||||||
QEMU_ARCH := arm
|
QEMU_ARCH := arm
|
||||||
KERNEL_ARCH := arm
|
KERNEL_ARCH := arm
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm/boot/zImage
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm/boot/zImage
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-device
|
||||||
ifeq ($(HOST_ARCH),$(ARCH))
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
||||||
else
|
else
|
||||||
|
@ -99,9 +92,11 @@ QEMU_MACHINE := -cpu cortex-a15 -machine virt
|
||||||
CFLAGS += -march=armv7-a -mtune=cortex-a15 -mabi=aapcs-linux
|
CFLAGS += -march=armv7-a -mtune=cortex-a15 -mabi=aapcs-linux
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),armeb)
|
else ifeq ($(ARCH),armeb)
|
||||||
|
CHOST := armeb-linux-musleabi
|
||||||
QEMU_ARCH := arm
|
QEMU_ARCH := arm
|
||||||
KERNEL_ARCH := arm
|
KERNEL_ARCH := arm
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm/boot/zImage
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm/boot/zImage
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-device
|
||||||
ifeq ($(HOST_ARCH),$(ARCH))
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
|
||||||
else
|
else
|
||||||
|
@ -110,6 +105,7 @@ CFLAGS += -march=armv7-a -mabi=aapcs-linux # We don't pass -mtune=cortex-a15 due
|
||||||
LDFLAGS += -Wl,--be8
|
LDFLAGS += -Wl,--be8
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),x86_64)
|
else ifeq ($(ARCH),x86_64)
|
||||||
|
CHOST := x86_64-linux-musl
|
||||||
QEMU_ARCH := x86_64
|
QEMU_ARCH := x86_64
|
||||||
KERNEL_ARCH := x86_64
|
KERNEL_ARCH := x86_64
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/x86/boot/bzImage
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/x86/boot/bzImage
|
||||||
|
@ -120,6 +116,7 @@ QEMU_MACHINE := -cpu Skylake-Server -machine q35
|
||||||
CFLAGS += -march=skylake-avx512
|
CFLAGS += -march=skylake-avx512
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),i686)
|
else ifeq ($(ARCH),i686)
|
||||||
|
CHOST := i686-linux-musl
|
||||||
QEMU_ARCH := i386
|
QEMU_ARCH := i386
|
||||||
KERNEL_ARCH := x86
|
KERNEL_ARCH := x86
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/x86/boot/bzImage
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/x86/boot/bzImage
|
||||||
|
@ -130,6 +127,7 @@ QEMU_MACHINE := -cpu coreduo -machine q35
|
||||||
CFLAGS += -march=prescott
|
CFLAGS += -march=prescott
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),mips64)
|
else ifeq ($(ARCH),mips64)
|
||||||
|
CHOST := mips64-linux-musl
|
||||||
QEMU_ARCH := mips64
|
QEMU_ARCH := mips64
|
||||||
KERNEL_ARCH := mips
|
KERNEL_ARCH := mips
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
|
@ -141,6 +139,7 @@ QEMU_MACHINE := -cpu MIPS64R2-generic -machine malta -smp 1
|
||||||
CFLAGS += -march=mips64r2 -EB
|
CFLAGS += -march=mips64r2 -EB
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),mips64el)
|
else ifeq ($(ARCH),mips64el)
|
||||||
|
CHOST := mips64el-linux-musl
|
||||||
QEMU_ARCH := mips64el
|
QEMU_ARCH := mips64el
|
||||||
KERNEL_ARCH := mips
|
KERNEL_ARCH := mips
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
|
@ -152,6 +151,7 @@ QEMU_MACHINE := -cpu MIPS64R2-generic -machine malta -smp 1
|
||||||
CFLAGS += -march=mips64r2 -EL
|
CFLAGS += -march=mips64r2 -EL
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),mips)
|
else ifeq ($(ARCH),mips)
|
||||||
|
CHOST := mips-linux-musl
|
||||||
QEMU_ARCH := mips
|
QEMU_ARCH := mips
|
||||||
KERNEL_ARCH := mips
|
KERNEL_ARCH := mips
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
|
@ -163,6 +163,7 @@ QEMU_MACHINE := -cpu 24Kf -machine malta -smp 1
|
||||||
CFLAGS += -march=mips32r2 -EB
|
CFLAGS += -march=mips32r2 -EB
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),mipsel)
|
else ifeq ($(ARCH),mipsel)
|
||||||
|
CHOST := mipsel-linux-musl
|
||||||
QEMU_ARCH := mipsel
|
QEMU_ARCH := mipsel
|
||||||
KERNEL_ARCH := mips
|
KERNEL_ARCH := mips
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
|
@ -173,7 +174,18 @@ else
|
||||||
QEMU_MACHINE := -cpu 24Kf -machine malta -smp 1
|
QEMU_MACHINE := -cpu 24Kf -machine malta -smp 1
|
||||||
CFLAGS += -march=mips32r2 -EL
|
CFLAGS += -march=mips32r2 -EL
|
||||||
endif
|
endif
|
||||||
else ifeq ($(ARCH),powerpc64le)
|
else ifeq ($(ARCH),powerpc64)
|
||||||
|
CHOST := powerpc64-linux-musl
|
||||||
|
QEMU_ARCH := ppc64
|
||||||
|
KERNEL_ARCH := powerpc
|
||||||
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
|
QEMU_MACHINE := -cpu host,accel=kvm -machine pseries
|
||||||
|
else
|
||||||
|
QEMU_MACHINE := -machine pseries
|
||||||
|
endif
|
||||||
|
else ifeq ($(ARCH),powerpc64le)
|
||||||
|
CHOST := powerpc64le-linux-musl
|
||||||
QEMU_ARCH := ppc64
|
QEMU_ARCH := ppc64
|
||||||
KERNEL_ARCH := powerpc
|
KERNEL_ARCH := powerpc
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
|
@ -182,8 +194,8 @@ QEMU_MACHINE := -cpu host,accel=kvm -machine pseries
|
||||||
else
|
else
|
||||||
QEMU_MACHINE := -machine pseries
|
QEMU_MACHINE := -machine pseries
|
||||||
endif
|
endif
|
||||||
CFLAGS += -mcpu=powerpc64le -mlong-double-64
|
|
||||||
else ifeq ($(ARCH),powerpc)
|
else ifeq ($(ARCH),powerpc)
|
||||||
|
CHOST := powerpc-linux-musl
|
||||||
QEMU_ARCH := ppc
|
QEMU_ARCH := ppc
|
||||||
KERNEL_ARCH := powerpc
|
KERNEL_ARCH := powerpc
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/powerpc/boot/uImage
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/powerpc/boot/uImage
|
||||||
|
@ -192,26 +204,72 @@ QEMU_MACHINE := -cpu host,accel=kvm -machine ppce500
|
||||||
else
|
else
|
||||||
QEMU_MACHINE := -machine ppce500
|
QEMU_MACHINE := -machine ppce500
|
||||||
endif
|
endif
|
||||||
CFLAGS += -mcpu=powerpc -mlong-double-64 -msecure-plt
|
|
||||||
else ifeq ($(ARCH),m68k)
|
else ifeq ($(ARCH),m68k)
|
||||||
|
CHOST := m68k-linux-musl
|
||||||
QEMU_ARCH := m68k
|
QEMU_ARCH := m68k
|
||||||
KERNEL_ARCH := m68k
|
KERNEL_ARCH := m68k
|
||||||
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
|
||||||
KERNEL_CMDLINE := $(shell sed -n 's/CONFIG_CMDLINE=\(.*\)/\1/p' arch/m68k.config)
|
KERNEL_CMDLINE := $(shell sed -n 's/CONFIG_CMDLINE=\(.*\)/\1/p' arch/m68k.config)
|
||||||
ifeq ($(HOST_ARCH),$(ARCH))
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
QEMU_MACHINE := -cpu host,accel=kvm -machine q800 -smp 1 -append $(KERNEL_CMDLINE)
|
QEMU_MACHINE := -cpu host,accel=kvm -machine q800 -append $(KERNEL_CMDLINE)
|
||||||
else
|
else
|
||||||
QEMU_MACHINE := -machine q800 -smp 1 -append $(KERNEL_CMDLINE)
|
QEMU_MACHINE := -machine q800 -smp 1 -append $(KERNEL_CMDLINE)
|
||||||
endif
|
endif
|
||||||
|
else ifeq ($(ARCH),riscv64)
|
||||||
|
CHOST := riscv64-linux-musl
|
||||||
|
QEMU_ARCH := riscv64
|
||||||
|
KERNEL_ARCH := riscv
|
||||||
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/riscv/boot/Image
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-device
|
||||||
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
|
QEMU_MACHINE := -cpu host,accel=kvm -machine virt
|
||||||
else
|
else
|
||||||
$(error I only build: x86_64, i686, arm, armeb, aarch64, aarch64_be, mips, mipsel, mips64, mips64el, powerpc64le, powerpc, m68k)
|
QEMU_MACHINE := -cpu rv64 -machine virt
|
||||||
|
endif
|
||||||
|
else ifeq ($(ARCH),riscv32)
|
||||||
|
CHOST := riscv32-linux-musl
|
||||||
|
QEMU_ARCH := riscv32
|
||||||
|
KERNEL_ARCH := riscv
|
||||||
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/riscv/boot/Image
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-device
|
||||||
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
|
QEMU_MACHINE := -cpu host,accel=kvm -machine virt
|
||||||
|
else
|
||||||
|
QEMU_MACHINE := -cpu rv32 -machine virt
|
||||||
|
endif
|
||||||
|
else ifeq ($(ARCH),s390x)
|
||||||
|
CHOST := s390x-linux-musl
|
||||||
|
QEMU_ARCH := s390x
|
||||||
|
KERNEL_ARCH := s390
|
||||||
|
KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/s390/boot/bzImage
|
||||||
|
KERNEL_CMDLINE := $(shell sed -n 's/CONFIG_CMDLINE=\(.*\)/\1/p' arch/s390x.config)
|
||||||
|
QEMU_VPORT_RESULT := virtio-serial-ccw
|
||||||
|
ifeq ($(HOST_ARCH),$(ARCH))
|
||||||
|
QEMU_MACHINE := -cpu host,accel=kvm -machine s390-ccw-virtio -append $(KERNEL_CMDLINE)
|
||||||
|
else
|
||||||
|
QEMU_MACHINE := -machine s390-ccw-virtio -append $(KERNEL_CMDLINE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
$(error I only build: x86_64, i686, arm, armeb, aarch64, aarch64_be, mips, mipsel, mips64, mips64el, powerpc64, powerpc64le, powerpc, m68k, riscv64, riscv32, s390x)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
REAL_CC := $(CBUILD)-gcc
|
TOOLCHAIN_FILENAME := $(CHOST)-cross.tgz
|
||||||
MUSL_CC := $(BUILD_PATH)/musl-gcc
|
TOOLCHAIN_TAR := $(DISTFILES_PATH)/$(TOOLCHAIN_FILENAME)
|
||||||
export CC := $(MUSL_CC)
|
TOOLCHAIN_PATH := $(BUILD_PATH)/$(CHOST)-cross
|
||||||
USERSPACE_DEPS := $(MUSL_CC) $(BUILD_PATH)/include/.installed $(BUILD_PATH)/include/linux/.installed
|
TOOLCHAIN_DIR := https://download.wireguard.com/qemu-test/toolchains/20211123/
|
||||||
|
$(eval $(call file_download,toolchain-sha256sums-20211123,$(TOOLCHAIN_DIR)SHA256SUMS#,83da033fd8c798df476c21d9612da2dfb896ec62fbed4ceec5eefc0e56b3f0c8))
|
||||||
|
$(eval $(call file_download,$(TOOLCHAIN_FILENAME),$(TOOLCHAIN_DIR),,$(DISTFILES_PATH)/toolchain-sha256sums-20211123))
|
||||||
|
|
||||||
|
STRIP := $(CHOST)-strip
|
||||||
|
CROSS_COMPILE_FLAG := --build=$(CBUILD) --host=$(CHOST)
|
||||||
|
$(info Building for $(CHOST) using $(CBUILD))
|
||||||
|
export CROSS_COMPILE := $(CHOST)-
|
||||||
|
export PATH := $(TOOLCHAIN_PATH)/bin:$(PATH)
|
||||||
|
export CC := $(CHOST)-gcc
|
||||||
|
|
||||||
|
USERSPACE_DEPS := $(TOOLCHAIN_PATH)/.installed $(TOOLCHAIN_PATH)/$(CHOST)/include/linux/.installed
|
||||||
|
|
||||||
|
comma := ,
|
||||||
build: $(KERNEL_BZIMAGE)
|
build: $(KERNEL_BZIMAGE)
|
||||||
qemu: $(KERNEL_BZIMAGE)
|
qemu: $(KERNEL_BZIMAGE)
|
||||||
rm -f $(BUILD_PATH)/result
|
rm -f $(BUILD_PATH)/result
|
||||||
|
@ -222,13 +280,14 @@ qemu: $(KERNEL_BZIMAGE)
|
||||||
$(QEMU_MACHINE) \
|
$(QEMU_MACHINE) \
|
||||||
-m $$(grep -q CONFIG_DEBUG_KMEMLEAK=y $(KERNEL_BUILD_PATH)/.config && echo 1G || echo 256M) \
|
-m $$(grep -q CONFIG_DEBUG_KMEMLEAK=y $(KERNEL_BUILD_PATH)/.config && echo 1G || echo 256M) \
|
||||||
-serial stdio \
|
-serial stdio \
|
||||||
-serial file:$(BUILD_PATH)/result \
|
-chardev file,path=$(BUILD_PATH)/result,id=result \
|
||||||
|
$(if $(QEMU_VPORT_RESULT),-device $(QEMU_VPORT_RESULT) -device virtserialport$(comma)chardev=result,-serial chardev:result) \
|
||||||
-no-reboot \
|
-no-reboot \
|
||||||
-monitor none \
|
-monitor none \
|
||||||
-kernel $<
|
-kernel $<
|
||||||
grep -Fq success $(BUILD_PATH)/result
|
grep -Fq success $(BUILD_PATH)/result
|
||||||
|
|
||||||
$(BUILD_PATH)/init-cpio-spec.txt:
|
$(BUILD_PATH)/init-cpio-spec.txt: $(TOOLCHAIN_PATH)/.installed $(BUILD_PATH)/init
|
||||||
mkdir -p $(BUILD_PATH)
|
mkdir -p $(BUILD_PATH)
|
||||||
echo "file /init $(BUILD_PATH)/init 755 0 0" > $@
|
echo "file /init $(BUILD_PATH)/init 755 0 0" > $@
|
||||||
echo "file /init.sh $(PWD)/../netns.sh 755 0 0" >> $@
|
echo "file /init.sh $(PWD)/../netns.sh 755 0 0" >> $@
|
||||||
|
@ -246,10 +305,10 @@ $(BUILD_PATH)/init-cpio-spec.txt:
|
||||||
echo "slink /bin/iptables xtables-legacy-multi 777 0 0" >> $@
|
echo "slink /bin/iptables xtables-legacy-multi 777 0 0" >> $@
|
||||||
echo "slink /bin/ping6 ping 777 0 0" >> $@
|
echo "slink /bin/ping6 ping 777 0 0" >> $@
|
||||||
echo "dir /lib 755 0 0" >> $@
|
echo "dir /lib 755 0 0" >> $@
|
||||||
echo "file /lib/libc.so $(MUSL_PATH)/lib/libc.so 755 0 0" >> $@
|
echo "file /lib/libc.so $(TOOLCHAIN_PATH)/$(CHOST)/lib/libc.so 755 0 0" >> $@
|
||||||
echo "slink /lib/ld-linux.so.1 libc.so 777 0 0" >> $@
|
echo "slink $$($(CHOST)-readelf -p .interp '$(BUILD_PATH)/init'| grep -o '/lib/.*') libc.so 777 0 0" >> $@
|
||||||
|
|
||||||
$(KERNEL_BUILD_PATH)/.config: kernel.config arch/$(ARCH).config
|
$(KERNEL_BUILD_PATH)/.config: $(TOOLCHAIN_PATH)/.installed kernel.config arch/$(ARCH).config
|
||||||
mkdir -p $(KERNEL_BUILD_PATH)
|
mkdir -p $(KERNEL_BUILD_PATH)
|
||||||
cp kernel.config $(KERNEL_BUILD_PATH)/minimal.config
|
cp kernel.config $(KERNEL_BUILD_PATH)/minimal.config
|
||||||
printf 'CONFIG_NR_CPUS=$(NR_CPUS)\nCONFIG_INITRAMFS_SOURCE="$(BUILD_PATH)/init-cpio-spec.txt"\n' >> $(KERNEL_BUILD_PATH)/minimal.config
|
printf 'CONFIG_NR_CPUS=$(NR_CPUS)\nCONFIG_INITRAMFS_SOURCE="$(BUILD_PATH)/init-cpio-spec.txt"\n' >> $(KERNEL_BUILD_PATH)/minimal.config
|
||||||
|
@ -258,29 +317,20 @@ $(KERNEL_BUILD_PATH)/.config: kernel.config arch/$(ARCH).config
|
||||||
cd $(KERNEL_BUILD_PATH) && ARCH=$(KERNEL_ARCH) $(KERNEL_PATH)/scripts/kconfig/merge_config.sh -n $(KERNEL_BUILD_PATH)/.config $(KERNEL_BUILD_PATH)/minimal.config
|
cd $(KERNEL_BUILD_PATH) && ARCH=$(KERNEL_ARCH) $(KERNEL_PATH)/scripts/kconfig/merge_config.sh -n $(KERNEL_BUILD_PATH)/.config $(KERNEL_BUILD_PATH)/minimal.config
|
||||||
$(if $(findstring yes,$(DEBUG_KERNEL)),cp debug.config $(KERNEL_BUILD_PATH) && cd $(KERNEL_BUILD_PATH) && ARCH=$(KERNEL_ARCH) $(KERNEL_PATH)/scripts/kconfig/merge_config.sh -n $(KERNEL_BUILD_PATH)/.config debug.config,)
|
$(if $(findstring yes,$(DEBUG_KERNEL)),cp debug.config $(KERNEL_BUILD_PATH) && cd $(KERNEL_BUILD_PATH) && ARCH=$(KERNEL_ARCH) $(KERNEL_PATH)/scripts/kconfig/merge_config.sh -n $(KERNEL_BUILD_PATH)/.config debug.config,)
|
||||||
|
|
||||||
$(KERNEL_BZIMAGE): $(KERNEL_BUILD_PATH)/.config $(BUILD_PATH)/init-cpio-spec.txt $(MUSL_PATH)/lib/libc.so $(IPERF_PATH)/src/iperf3 $(IPUTILS_PATH)/ping $(BASH_PATH)/bash $(IPROUTE2_PATH)/misc/ss $(IPROUTE2_PATH)/ip/ip $(IPTABLES_PATH)/iptables/xtables-legacy-multi $(NMAP_PATH)/ncat/ncat $(WIREGUARD_TOOLS_PATH)/src/wg $(BUILD_PATH)/init ../netns.sh $(WIREGUARD_SOURCES)
|
$(KERNEL_BZIMAGE): $(TOOLCHAIN_PATH)/.installed $(KERNEL_BUILD_PATH)/.config $(BUILD_PATH)/init-cpio-spec.txt $(IPERF_PATH)/src/iperf3 $(IPUTILS_PATH)/ping $(BASH_PATH)/bash $(IPROUTE2_PATH)/misc/ss $(IPROUTE2_PATH)/ip/ip $(IPTABLES_PATH)/iptables/xtables-legacy-multi $(NMAP_PATH)/ncat/ncat $(WIREGUARD_TOOLS_PATH)/src/wg $(BUILD_PATH)/init ../netns.sh $(WIREGUARD_SOURCES)
|
||||||
$(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE)
|
$(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE)
|
||||||
|
|
||||||
$(BUILD_PATH)/include/linux/.installed: | $(KERNEL_BUILD_PATH)/.config
|
$(TOOLCHAIN_PATH)/$(CHOST)/include/linux/.installed: | $(KERNEL_BUILD_PATH)/.config $(TOOLCHAIN_PATH)/.installed
|
||||||
$(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) INSTALL_HDR_PATH=$(BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) headers_install
|
rm -rf $(TOOLCHAIN_PATH)/$(CHOST)/include/linux
|
||||||
|
$(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) INSTALL_HDR_PATH=$(TOOLCHAIN_PATH)/$(CHOST) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) headers_install
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
$(MUSL_PATH)/lib/libc.so: $(MUSL_TAR)
|
$(TOOLCHAIN_PATH)/.installed: $(TOOLCHAIN_TAR)
|
||||||
mkdir -p $(BUILD_PATH)
|
mkdir -p $(BUILD_PATH)
|
||||||
flock -s $<.lock tar -C $(BUILD_PATH) -xf $<
|
flock -s $<.lock tar -C $(BUILD_PATH) -xf $<
|
||||||
cd $(MUSL_PATH) && CC=$(REAL_CC) ./configure --prefix=/ --disable-static --build=$(CBUILD)
|
$(STRIP) -s $(TOOLCHAIN_PATH)/$(CHOST)/lib/libc.so
|
||||||
$(MAKE) -C $(MUSL_PATH)
|
|
||||||
$(STRIP) -s $@
|
|
||||||
|
|
||||||
$(BUILD_PATH)/include/.installed: $(MUSL_PATH)/lib/libc.so
|
|
||||||
$(MAKE) -C $(MUSL_PATH) DESTDIR=$(BUILD_PATH) install-headers
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
$(MUSL_CC): $(MUSL_PATH)/lib/libc.so
|
|
||||||
sh $(MUSL_PATH)/tools/musl-gcc.specs.sh $(BUILD_PATH)/include $(MUSL_PATH)/lib /lib/ld-linux.so.1 > $(BUILD_PATH)/musl-gcc.specs
|
|
||||||
printf '#!/bin/sh\nexec "$(REAL_CC)" --specs="$(BUILD_PATH)/musl-gcc.specs" "$$@"\n' > $(BUILD_PATH)/musl-gcc
|
|
||||||
chmod +x $(BUILD_PATH)/musl-gcc
|
|
||||||
|
|
||||||
$(IPERF_PATH)/.installed: $(IPERF_TAR)
|
$(IPERF_PATH)/.installed: $(IPERF_TAR)
|
||||||
mkdir -p $(BUILD_PATH)
|
mkdir -p $(BUILD_PATH)
|
||||||
flock -s $<.lock tar -C $(BUILD_PATH) -xf $<
|
flock -s $<.lock tar -C $(BUILD_PATH) -xf $<
|
||||||
|
@ -289,6 +339,7 @@ $(IPERF_PATH)/.installed: $(IPERF_TAR)
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
$(IPERF_PATH)/src/iperf3: | $(IPERF_PATH)/.installed $(USERSPACE_DEPS)
|
$(IPERF_PATH)/src/iperf3: | $(IPERF_PATH)/.installed $(USERSPACE_DEPS)
|
||||||
|
cd $(IPERF_PATH) && autoreconf -fi
|
||||||
cd $(IPERF_PATH) && CFLAGS="$(CFLAGS) -D_GNU_SOURCE" ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared --with-openssl=no
|
cd $(IPERF_PATH) && CFLAGS="$(CFLAGS) -D_GNU_SOURCE" ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared --with-openssl=no
|
||||||
$(MAKE) -C $(IPERF_PATH)
|
$(MAKE) -C $(IPERF_PATH)
|
||||||
$(STRIP) -s $@
|
$(STRIP) -s $@
|
||||||
|
@ -304,7 +355,7 @@ $(WIREGUARD_TOOLS_PATH)/src/wg: | $(WIREGUARD_TOOLS_PATH)/.installed $(USERSPACE
|
||||||
|
|
||||||
$(BUILD_PATH)/init: init.c | $(USERSPACE_DEPS)
|
$(BUILD_PATH)/init: init.c | $(USERSPACE_DEPS)
|
||||||
mkdir -p $(BUILD_PATH)
|
mkdir -p $(BUILD_PATH)
|
||||||
$(MUSL_CC) -o $@ $(CFLAGS) $(LDFLAGS) -std=gnu11 $<
|
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) -std=gnu11 $<
|
||||||
$(STRIP) -s $@
|
$(STRIP) -s $@
|
||||||
|
|
||||||
$(IPUTILS_PATH)/.installed: $(IPUTILS_TAR)
|
$(IPUTILS_PATH)/.installed: $(IPUTILS_TAR)
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
CONFIG_SERIAL_AMBA_PL011=y
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_MMIO=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=ttyAMA1"
|
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||||
CONFIG_FRAME_WARN=1280
|
CONFIG_FRAME_WARN=1280
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
CONFIG_CPU_BIG_ENDIAN=y
|
CONFIG_CPU_BIG_ENDIAN=y
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
CONFIG_SERIAL_AMBA_PL011=y
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_MMIO=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=ttyAMA1"
|
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||||
CONFIG_FRAME_WARN=1280
|
CONFIG_FRAME_WARN=1280
|
||||||
|
|
|
@ -4,6 +4,9 @@ CONFIG_ARCH_VIRT=y
|
||||||
CONFIG_THUMB2_KERNEL=n
|
CONFIG_THUMB2_KERNEL=n
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
CONFIG_SERIAL_AMBA_PL011=y
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_MMIO=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=ttyAMA1"
|
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||||
CONFIG_FRAME_WARN=1024
|
CONFIG_FRAME_WARN=1024
|
||||||
|
|
|
@ -4,7 +4,10 @@ CONFIG_ARCH_VIRT=y
|
||||||
CONFIG_THUMB2_KERNEL=n
|
CONFIG_THUMB2_KERNEL=n
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
CONFIG_SERIAL_AMBA_PL011=y
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_MMIO=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=ttyAMA1"
|
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||||
CONFIG_CPU_BIG_ENDIAN=y
|
CONFIG_CPU_BIG_ENDIAN=y
|
||||||
CONFIG_FRAME_WARN=1024
|
CONFIG_FRAME_WARN=1024
|
||||||
|
|
13
tools/testing/selftests/wireguard/qemu/arch/powerpc64.config
Normal file
13
tools/testing/selftests/wireguard/qemu/arch/powerpc64.config
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
CONFIG_PPC64=y
|
||||||
|
CONFIG_PPC_PSERIES=y
|
||||||
|
CONFIG_ALTIVEC=y
|
||||||
|
CONFIG_VSX=y
|
||||||
|
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
|
||||||
|
CONFIG_PPC_RADIX_MMU=y
|
||||||
|
CONFIG_HVC_CONSOLE=y
|
||||||
|
CONFIG_CPU_BIG_ENDIAN=y
|
||||||
|
CONFIG_CMDLINE_BOOL=y
|
||||||
|
CONFIG_CMDLINE="console=hvc0 wg.success=hvc1"
|
||||||
|
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||||
|
CONFIG_FRAME_WARN=1280
|
||||||
|
CONFIG_THREAD_SHIFT=14
|
12
tools/testing/selftests/wireguard/qemu/arch/riscv32.config
Normal file
12
tools/testing/selftests/wireguard/qemu/arch/riscv32.config
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
CONFIG_ARCH_RV32I=y
|
||||||
|
CONFIG_MMU=y
|
||||||
|
CONFIG_FPU=y
|
||||||
|
CONFIG_SOC_VIRT=y
|
||||||
|
CONFIG_SERIAL_8250=y
|
||||||
|
CONFIG_SERIAL_8250_CONSOLE=y
|
||||||
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_MMIO=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
|
CONFIG_CMDLINE="console=ttyS0 wg.success=vport0p1"
|
||||||
|
CONFIG_CMDLINE_FORCE=y
|
12
tools/testing/selftests/wireguard/qemu/arch/riscv64.config
Normal file
12
tools/testing/selftests/wireguard/qemu/arch/riscv64.config
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
CONFIG_ARCH_RV64I=y
|
||||||
|
CONFIG_MMU=y
|
||||||
|
CONFIG_FPU=y
|
||||||
|
CONFIG_SOC_VIRT=y
|
||||||
|
CONFIG_SERIAL_8250=y
|
||||||
|
CONFIG_SERIAL_8250_CONSOLE=y
|
||||||
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_MMIO=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
|
CONFIG_CMDLINE="console=ttyS0 wg.success=vport0p1"
|
||||||
|
CONFIG_CMDLINE_FORCE=y
|
6
tools/testing/selftests/wireguard/qemu/arch/s390x.config
Normal file
6
tools/testing/selftests/wireguard/qemu/arch/s390x.config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
CONFIG_SCLP_VT220_TTY=y
|
||||||
|
CONFIG_SCLP_VT220_CONSOLE=y
|
||||||
|
CONFIG_VIRTIO_MENU=y
|
||||||
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
|
CONFIG_S390_GUEST=y
|
||||||
|
CONFIG_CMDLINE="console=ttysclp0 wg.success=vport0p1"
|
Loading…
Reference in a new issue