qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/13] microvm: add acpi support


From: Gerd Hoffmann
Subject: Re: [PATCH 00/13] microvm: add acpi support
Date: Wed, 25 Mar 2020 16:03:39 +0100

On Wed, Mar 25, 2020 at 01:32:12PM +0100, Igor Mammedov wrote:
> On Thu, 19 Mar 2020 09:01:04 +0100
> Gerd Hoffmann <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]