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. [root@r17lp42 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) [root@r17lp42 qemu-iotests]#
For s390-virtio, test result is as expected
1. qemu-img create -f qcow2 scratch/t.qcow2 64M
2. [root@r17lp42 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
3.[root@r17lp42 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. [gavin@oc6333346435 qemu-iotests]$ qemu-img create -f qcow2 scratch/t.qcow2 64M
2. [gavin@oc6333346435 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"
/rom@etc/acpi/tables size=0x200000 name="etc/acpi/tables"
/rom@etc/table-loader size=0x001000 name="etc/table-loader"
/rom@etc/acpi/rsdp size=0x000024 name="etc/acpi/rsdp"
(qemu) savevm 0
(qemu)
3. [gavin@oc6333346435 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:
Dear Alexander, Mimu:
Failure of test case 068 for s390x is caused by the commit of "1f68f1d36c3af09ed31a529ad69c3d09880d10fd"
Author: Alexander Graf <agraf@suse.de>
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
[root@r17lp42 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.
[root@r17lp42 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,
[root@r17lp42 qemu]# s390x-softmmu/qemu-system-s390x -nodefaults -nographic -monitor stdio -serial none
QEMU 2.3.94 monitor - type 'help' for more information
(qemu) [root@r17lp42 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