QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
	Sergio Lopez <slp@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH 00/13] microvm: add acpi support
Date: Wed, 25 Mar 2020 16:03:39 +0100
Message-ID: <20200325150339.7kqibe5cfkzxhtzr@sirius.home.kraxel.org> (raw)
In-Reply-To: <20200325133212.6fd0fefb@redhat.com>

On Wed, Mar 25, 2020 at 01:32:12PM +0100, Igor Mammedov wrote:
> On Thu, 19 Mar 2020 09:01:04 +0100
> Gerd Hoffmann <kraxel@redhat.com> wrote:
> 
> > I know that not supporting ACPI in microvm is intentional.  If you still
> > don't want ACPI this is perfectly fine, you can use the usual -no-acpi
> > switch to toggle ACPI support.
> > 
> > These are the advantages you are going to loose then:
> > 
> >   (1) virtio-mmio device discovery without command line hacks (tweaking
> >       the command line is a problem when not using direct kernel boot).
> >   (2) Better IO-APIC support, we can use IRQ lines 16-23.
> >   (3) ACPI power button (aka powerdown request) works.
> >   (4) machine poweroff (aka S5 state) works.
> > 
> > Together with seabios patches for virtio-mmio support this allows to
> > boot standard fedora images (cloud, coreos, workstation live) with the
> > microvm machine type.
> 
> what CLI do you use to test it?

Test script below.  "qemu-default" is a wrapper script which starts
qemu-system-x86_64 from my build directory.  "qemu-firmware" is the
same plus isa-debugcon configured for a firmware log on stdout.

Latest bits (with some of the review comments addressed) just pushed
to git://git,kraxel.org/qemu sirius/microvm

HTH,
  Gerd

============================ cut here ============================
#!/bin/sh

mode="${1}"
shift

back=()
devs=()
args=()
qemu="qemu-firmware -monitor none -boot menu=on"
disk=""
liso=""
krnl=""
karg="console=ttyS0,115200"

case "$mode" in
kernel)
	qemu="qemu-default -nographic"
	disk="/vmdisk/imagefish/rhel-8.1.0-ks-x86_64-testboot-sys-disk.qcow2"
	krnl="$HOME/build/linux-sirius-x86_64-qemu/arch/x86/boot/bzImage"
	karg="$karg root=/dev/sda4"
	karg="$karg quiet"
	;;
seabios)
	disk="/vmdisk/imagefish/rhel-8.1.0-ks-x86_64-testboot-sys-disk.qcow2"
	krnl="$HOME/build/linux-sirius-x86_64-qemu/arch/x86/boot/bzImage"
	karg="$karg root=/dev/sda4"
	args+=("-bios" "/home/kraxel/projects/seabios/out-bios-microvm/bios.bin")
	;;
cloud)
	disk="/vmdisk/iso/Fedora-Cloud-Base-31-1.9.x86_64.raw"
	;;
coreos)
	disk="/vmdisk/iso/fedora-coreos-31.20200210.3.0-metal.x86_64.raw"
	;;
live)
	liso="/vmdisk/iso/Fedora-Workstation-Live-x86_64-30-1.2.iso"
	devs+=("-device" "virtio-gpu-device")
	devs+=("-device" "virtio-keyboard-device")
	devs+=("-device" "virtio-tablet-device")
	;;
*)
	echo "unknown mode: $mode"
	echo "known modes: kernel seabios cloud coreos live"
	exit 1
	;;
esac

if test "$disk" != ""; then
	format="${disk##*.}"
	back+=("-drive" "if=none,id=disk,format=${format},file=${disk}")
	devs+=("-device" "scsi-hd,drive=disk,bootindex=1")
fi
if test "$liso" != ""; then
	back+=("-drive" "if=none,id=cdrom,media=cdrom,readonly,format=raw,file=${liso}")
	devs+=("-device" "scsi-cd,drive=cdrom,bootindex=2")
fi
if test "$krnl" != ""; then
	args+=("-kernel" "$krnl")
	args+=("-append" "$karg")
fi

set -ex
$qemu \
	-enable-kvm \
	-cpu host \
	-M microvm,graphics=off,pit=off,pic=on,rtc=on \
	\
	-m 4G \
	\
	-netdev user,id=net \
	"${back[@]}" \
	\
	-global virtio-mmio.force-legacy=false \
	-device virtio-net-device,netdev=net \
	-device virtio-scsi-device \
	"${devs[@]}" \
	\
	"${args[@]}" \
	"$@"



  reply index

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-19  8:01 Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 01/13] acpi: make build_madt() more generic Gerd Hoffmann
2020-03-19  9:34   ` Philippe Mathieu-Daudé
2020-03-19  8:01 ` [PATCH 02/13] acpi: factor out acpi_dsdt_add_fw_cfg() Gerd Hoffmann
2020-03-19  9:36   ` Philippe Mathieu-Daudé
2020-03-19 12:16   ` Igor Mammedov
2020-03-19  8:01 ` [PATCH 03/13] microvm: add isa-acpi device Gerd Hoffmann
2020-03-19 13:42   ` Igor Mammedov
2020-03-20  8:22     ` Gerd Hoffmann
2020-03-20 14:54       ` Igor Mammedov
2020-03-19  8:01 ` [PATCH 04/13] microvm: add minimal acpi support Gerd Hoffmann
2020-03-19 14:00   ` Igor Mammedov
2020-03-25  9:04     ` Gerd Hoffmann
2020-03-25 18:59       ` Igor Mammedov
2020-03-19  8:01 ` [PATCH 05/13] microvm: add acpi_dsdt_add_virtio() for x86 Gerd Hoffmann
2020-03-19 14:30   ` Igor Mammedov
2020-03-20  8:19     ` Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 06/13] microvm: disable virtio-mmio cmdline hack Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 07/13] [testing] seabios: update submodule to experimental microvm branch Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 08/13] [testing] seabios: update config & build rules Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 09/13] [testing] seabios: update binaries to experimental microvm branch Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 10/13] microvm/acpi: add rtc Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 11/13] microvm/acpi: add serial Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 12/13] microvm: make virtio irq base runtime configurable Gerd Hoffmann
2020-03-19  8:01 ` [PATCH 13/13] microvm/acpi: use GSI 16-23 for virtio Gerd Hoffmann
2020-03-20 15:30   ` Konrad Rzeszutek Wilk
2020-03-23 10:23     ` Gerd Hoffmann
2020-03-19  8:19 ` [PATCH 00/13] microvm: add acpi support no-reply
2020-03-19  8:23 ` no-reply
2020-03-19  8:24 ` no-reply
2020-03-19  8:49 ` Paolo Bonzini
2020-03-19  9:33   ` Gerd Hoffmann
2020-03-19  9:59     ` Paolo Bonzini
2020-03-19 11:28       ` Gerd Hoffmann
2020-03-19 13:40   ` Gerd Hoffmann
2020-03-19 17:34     ` Paolo Bonzini
2020-03-20  8:32       ` Gerd Hoffmann
2020-03-20 10:41         ` Paolo Bonzini
2020-03-23 10:51 ` Michael S. Tsirkin
2020-03-23 12:09   ` Gerd Hoffmann
2020-03-23 12:16     ` Igor Mammedov
2020-03-25  9:16       ` Gerd Hoffmann
2020-03-25  9:53         ` Igor Mammedov
2020-03-25 18:56         ` Igor Mammedov
2020-03-25 12:32 ` Igor Mammedov
2020-03-25 15:03   ` Gerd Hoffmann [this message]
2020-03-25 18:44     ` Igor Mammedov
2020-03-26  7:33       ` Michael S. Tsirkin
2020-03-26 10:59         ` Igor Mammedov
2020-03-27 12:06       ` Gerd Hoffmann
2020-03-27 14:05         ` Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200325150339.7kqibe5cfkzxhtzr@sirius.home.kraxel.org \
    --to=kraxel@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=slp@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
		qemu-devel@nongnu.org
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git