Fix storing cpu status (both kvm and tcg), locking around diag 308
(tcg only) and a non-zero variable in the s390-ccw bios. -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJaEvItAAoJEN7Pa5PG8C+vamQP+gI91+KVhF4TFe+OiV8bjS/T J9HPKZpw5KkZxHfiKmYzklX+aZygDOfIO0/yoV9v4YwRLlaps15+pGwq4+0iBOfk tMXBB1E7X7G9rzxhMoc6FGDu7cAsAzfQTreSC3fGmcuTOciy36zj3JEEdn7W+x63 /yXH67Ov+6Gaq5s2Bo9jp/2B7i4J61BWkwPPO8JfGXYzr7N/0t7VG2pTNXkldnek 5cDpuKUe4Cf1Yy9E8k44buaZbxUMbssIS1Xwuu4yVM4AoKzumme9n/PIGOJBnGZW de+4L+ii1uNvK1K7Iicj95RMlCl31QX3lKIBHkEoCTQeugrT6eEIEQ2vt3NLB5Xd wqTVTGzBtaDByfjX53iJTUK0csZSokTP5VIeIKBu/YU7hklX7eOqP9pS/oUk4pTg /yGTfkN/07YzO+Y6wUQOJTkICoJC/QIFLrCBHGWOMLzIyXNI98UW4jiTybtZtzRP LZKavf95Yck6N4rX0w+onzXlDJbeSM1m1xl0PHQ60enwM35ZJXNUgB6VHCzrH2cr fSIukHb91K2n31D89GHjnvHLpfwQYnMfNcs8Y2J+UuS3bAaZWW/hmWbACJv8308E MHs/HBA/gpgLnAE1mYiVwpXZuHOmtHXgDAP/T17NepH4A3MRIYzvEDRR5LpG9rYF sF8EEanvXNf/TZ6nb/AA =YtIx -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20171120-v1' into staging Fix storing cpu status (both kvm and tcg), locking around diag 308 (tcg only) and a non-zero variable in the s390-ccw bios. # gpg: Signature made Mon 20 Nov 2017 15:18:05 GMT # gpg: using RSA key 0xDECF6B93C6F02FAF # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" # gpg: aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" # gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>" # gpg: aka "Cornelia Huck <cohuck@kernel.org>" # gpg: aka "Cornelia Huck <cohuck@redhat.com>" # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF * remotes/cohuck/tags/s390x-20171120-v1: pc-bios/s390-ccw.img: update image pc-bios/s390-ccw: Fix problem with invalid virtio-scsi LUN when rebooting s390x/tcg: fix DIAG 308 with > 1 VCPU (MTTCG) s390x: fix storing CPU status (again) Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
3da87f7713
Binary file not shown.
@ -223,7 +223,8 @@ static void virtio_scsi_locate_device(VDev *vdev)
|
||||
|
||||
for (target = 0; target <= vdev->config.scsi.max_target; target++) {
|
||||
sdev->channel = channel;
|
||||
sdev->target = target; /* sdev->lun will be 0 here */
|
||||
sdev->target = target;
|
||||
sdev->lun = 0; /* LUN has to be 0 for REPORT LUNS */
|
||||
if (!scsi_report_luns(vdev, data, sizeof(data))) {
|
||||
if (resp.response == VIRTIO_SCSI_S_BAD_TARGET) {
|
||||
continue;
|
||||
|
@ -279,7 +279,7 @@ int s390_store_status(S390CPU *cpu, hwaddr addr, bool store_arch)
|
||||
sa->ars[i] = cpu_to_be32(cpu->env.aregs[i]);
|
||||
}
|
||||
for (i = 0; i < 16; ++i) {
|
||||
sa->ars[i] = cpu_to_be64(cpu->env.cregs[i]);
|
||||
sa->crs[i] = cpu_to_be64(cpu->env.cregs[i]);
|
||||
}
|
||||
|
||||
cpu_physical_memory_unmap(sa, len, 1, len);
|
||||
|
@ -103,7 +103,9 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num)
|
||||
break;
|
||||
case 0x308:
|
||||
/* ipl */
|
||||
qemu_mutex_lock_iothread();
|
||||
handle_diag_308(env, r1, r3);
|
||||
qemu_mutex_unlock_iothread();
|
||||
r = 0;
|
||||
break;
|
||||
case 0x288:
|
||||
|
Loading…
Reference in New Issue
Block a user