On Wed, Mar 25, 2020 at 01:32:12PM +0100, Igor Mammedov wrote: > On Thu, 19 Mar 2020 09:01:04 +0100 > Gerd Hoffmann <kra...@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[@]}" \ "$@"