qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [kvm-s390] qemu-system-s390x: cannot use stdio by multi


From: tu bo
Subject: Re: [Qemu-devel] [kvm-s390] qemu-system-s390x: cannot use stdio by multiple character devices
Date: Thu, 20 Aug 2015 16:20:10 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0

Hi Alex:

Ping you again just in case you did not get my mail  :-)

On 08/13/2015 03:52 PM, tu bo wrote:
Hi Alex:

I added one disk device for test case 068(qemu/tests/qemu-iotests/068, which is for for loading a saved VM state from a qcow2 image ),
and got the same problem for s390-virtio-ccw.  Below is my steps:
1. qemu-img create -f qcow2 scratch/t.qcow2 64M
2. address@hidden qemu-iotests]# ../../s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none  -hda scratch/t.qcow2
QEMU 2.3.94 monitor - type 'help' for more information
(qemu) address@hidden qemu-iotests]#

For s390-virtio,  test result is as expected
1. qemu-img create -f qcow2 scratch/t.qcow2 64M
2. address@hidden qemu-iotests]# qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none  -hda scratch/t.qcow2
QEMU 2.3.50 monitor - type 'help' for more information
(qemu) info roms
addr=0000000000009000 size=0x000ce8 mem=ram name="/usr/share/qemu/s390-zipl.rom"
(qemu) savevm 0
(qemu)
(qemu) quit
address@hidden qemu-iotests]# qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none  -hda scratch/t.qcow2 -loadvm 0
QEMU 2.3.50 monitor - type 'help' for more information
(qemu)

For x86-64, test result is as expected,
1. address@hidden qemu-iotests]$ qemu-img create -f qcow2 scratch/t.qcow2 64M
2. address@hidden qemu-iotests]$ ../../x86_64-softmmu/qemu-system-x86_64 -nodefaults -nographic -monitor stdio -serial none  -hda scratch/t.qcow2
QEMU 2.3.94 monitor - type 'help' for more information
(qemu) info roms
fw=genroms/kvmvapic.bin size=0x002400 name="kvmvapic.bin"
addr=00000000fffc0000 size=0x040000 mem=rom name="bios-256k.bin"
/address@hidden/acpi/tables size=0x200000 name="etc/acpi/tables"
/address@hidden/table-loader size=0x001000 name="etc/table-loader"
/address@hidden/acpi/rsdp size=0x000024 name="etc/acpi/rsdp"
(qemu) savevm 0
(qemu)
3. address@hidden qemu-iotests]$ ../../x86_64-softmmu/qemu-system-x86_64 -nodefaults -nographic -monitor stdio -serial none  -hda scratch/t.qcow2 -loadvm 0
QEMU 2.3.94 monitor - type 'help' for more information
(qemu)

Could you share me why s390-virtio-ccw has different behavior with s390-virtio & x86_64 for this scenario?  thanks


On 08/10/2015 03:51 PM, Alexander Graf wrote:


Am 10.08.2015 um 09:15 schrieb tu bo <address@hidden>:

Dear  Alexander,  Mimu:

Failure of test case 068 for s390x is caused by the commit of "1f68f1d36c3af09ed31a529ad69c3d09880d10fd"
Author: Alexander Graf <address@hidden>
Date:   Tue Jun 16 23:06:33 2015 +0200

    s390x: Switch to s390-ccw machine as default

@@ -216,6 +216,7 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data)
     mc->no_sdcard = 1;
     mc->use_sclp = 1;
     mc->max_cpus = 255;
+    mc->is_default = 1;
     nc->nmi_monitor_handler = s390_nmi;
 }

@@ -345,7 +345,6 @@ static void s390_machine_class_init(ObjectClass *oc, void *data)
     mc->no_floppy = 1;
     mc->no_cdrom = 1;
     mc->no_sdcard = 1;
-    mc->is_default = 1;
     nc->nmi_monitor_handler = s390_nmi;
 }

Without this commit,   s390-virtio is default machine and default ipl device is  s390-zipl.rom
address@hidden qemu]#  s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none
QEMU 2.3.94 monitor - type 'help' for more information
(qemu) info cpus
* CPU #0: thread_id=39761
(qemu) info roms
addr=0000000000009000 size=0x000ce8 mem=ram name="pc-bios/s390-zipl.rom"

With this commit,  s390-virtio-ccw is default machine and default ipl device is  s390-ccw.img, When running
"s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none -machine accel=kvm" ,  the cpu status is
halted which causes the failure of test case 068.
address@hidden qemu]# s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none -machine accel=kvm
QEMU 2.3.94 monitor - type 'help' for more information
(qemu) info cpus
* CPU #0: (halted) thread_id=39746
(qemu) info roms
addr=0000000007e00000 size=0x002dd0 mem=ram name="phdr #2: /disks/bo.home/vs1403/qemu/pc-bios/s390-ccw.img"
addr=0000000007e03f00 size=0x01d100 mem=ram name="phdr #3: /disks/bo.home/vs1403/qemu/pc-bios/s390-ccw.img"

With this commit,  when running "s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none", then qemu will exit as below,
address@hidden qemu]#  s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none
QEMU 2.3.94 monitor - type 'help' for more information
(qemu) address@hidden qemu]#

Is this the expected behavior of s390-virtio-ccw and s390-ccw.img?  thanks

Yes, the ccw machine finds no device to load from and errors out, exiting thr vm. The s390-virtio boot loader wasn't smart enough for that and just hung iirc.


Alex




reply via email to

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