qemu: use vports on arm
Rather than having to hack up QEMU, just use the virtio serial device. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
894152a5b8
commit
33c87a1110
|
@ -86,8 +86,10 @@ CROSS_COMPILE_FLAG := --build=$(CBUILD) --host=$(CHOST)
|
|||
export CROSS_COMPILE=$(CBUILD)-
|
||||
STRIP := $(CBUILD)-strip
|
||||
endif
|
||||
QEMU_VPORT_RESULT :=
|
||||
ifeq ($(ARCH),aarch64)
|
||||
QEMU_ARCH := aarch64
|
||||
QEMU_VPORT_RESULT := virtio-serial-device
|
||||
KERNEL_ARCH := arm64
|
||||
KERNEL_BZIMAGE := $(KERNEL_PATH)/arch/arm64/boot/Image
|
||||
ifeq ($(HOST_ARCH),$(ARCH))
|
||||
|
@ -98,6 +100,7 @@ CFLAGS += -march=armv8-a -mtune=cortex-a53
|
|||
endif
|
||||
else ifeq ($(ARCH),aarch64_be)
|
||||
QEMU_ARCH := aarch64
|
||||
QEMU_VPORT_RESULT := virtio-serial-device
|
||||
KERNEL_ARCH := arm64
|
||||
KERNEL_BZIMAGE := $(KERNEL_PATH)/arch/arm64/boot/Image
|
||||
ifeq ($(HOST_ARCH),$(ARCH))
|
||||
|
@ -108,6 +111,7 @@ CFLAGS += -march=armv8-a -mtune=cortex-a53
|
|||
endif
|
||||
else ifeq ($(ARCH),arm)
|
||||
QEMU_ARCH := arm
|
||||
QEMU_VPORT_RESULT := virtio-serial-device
|
||||
KERNEL_ARCH := arm
|
||||
KERNEL_BZIMAGE := $(KERNEL_PATH)/arch/arm/boot/zImage
|
||||
ifeq ($(HOST_ARCH),$(ARCH))
|
||||
|
@ -118,6 +122,7 @@ CFLAGS += -march=armv7-a -mtune=cortex-a15 -mabi=aapcs-linux
|
|||
endif
|
||||
else ifeq ($(ARCH),armeb)
|
||||
QEMU_ARCH := arm
|
||||
QEMU_VPORT_RESULT := virtio-serial-device
|
||||
KERNEL_ARCH := arm
|
||||
KERNEL_BZIMAGE := $(KERNEL_PATH)/arch/arm/boot/zImage
|
||||
ifeq ($(HOST_ARCH),$(ARCH))
|
||||
|
@ -217,7 +222,7 @@ KERNEL_ARCH := m68k
|
|||
KERNEL_BZIMAGE := $(KERNEL_PATH)/vmlinux
|
||||
KERNEL_CMDLINE := $(shell sed -n 's/CONFIG_CMDLINE=\(.*\)/\1/p' arch/m68k.config)
|
||||
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
|
||||
QEMU_MACHINE := -machine q800 -smp 1 -append $(KERNEL_CMDLINE)
|
||||
endif
|
||||
|
@ -230,6 +235,7 @@ MUSL_CC := $(BUILD_PATH)/musl-gcc
|
|||
export CC := $(MUSL_CC)
|
||||
USERSPACE_DEPS := $(MUSL_CC) $(BUILD_PATH)/include/.installed $(BUILD_PATH)/include/linux/.installed
|
||||
|
||||
comma := ,
|
||||
build: $(KERNEL_BZIMAGE)
|
||||
qemu: $(KERNEL_BZIMAGE)
|
||||
rm -f $(BUILD_PATH)/result
|
||||
|
@ -240,7 +246,8 @@ qemu: $(KERNEL_BZIMAGE)
|
|||
$(QEMU_MACHINE) \
|
||||
-m $$(grep -q CONFIG_DEBUG_KMEMLEAK=y $(KERNEL_PATH)/.config && echo 1G || echo 256M) \
|
||||
-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 \
|
||||
-monitor none \
|
||||
-kernel $<
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
CONFIG_SERIAL_AMBA_PL011=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="console=ttyAMA0 wg.success=ttyAMA1"
|
||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||
CONFIG_FRAME_WARN=1280
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_SERIAL_AMBA_PL011=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="console=ttyAMA0 wg.success=ttyAMA1"
|
||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||
CONFIG_FRAME_WARN=1280
|
||||
|
|
|
@ -4,6 +4,9 @@ CONFIG_ARCH_VIRT=y
|
|||
CONFIG_THUMB2_KERNEL=n
|
||||
CONFIG_SERIAL_AMBA_PL011=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="console=ttyAMA0 wg.success=ttyAMA1"
|
||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||
CONFIG_FRAME_WARN=1024
|
||||
|
|
|
@ -4,7 +4,10 @@ CONFIG_ARCH_VIRT=y
|
|||
CONFIG_THUMB2_KERNEL=n
|
||||
CONFIG_SERIAL_AMBA_PL011=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="console=ttyAMA0 wg.success=ttyAMA1"
|
||||
CONFIG_CMDLINE="console=ttyAMA0 wg.success=vport0p1"
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
|
|
Loading…
Reference in New Issue