SHA256
1
0
forked from pool/qemu

Accepting request 670231 from home:lyan:branches:Virtualization

Return specification exception for unimplemented diag 308 subcodes

OBS-URL: https://build.opensuse.org/request/show/670231
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=451
This commit is contained in:
Bruce Rogers 2019-01-31 15:32:31 +00:00 committed by Git OBS Bridge
parent 88bff2e18f
commit d1ae93bb19
7 changed files with 71 additions and 0 deletions

View File

@ -0,0 +1,40 @@
From: Janosch Frank <frankja@linux.ibm.com>
Date: Fri, 11 Jan 2019 12:36:57 +0100
Subject: s390x: Return specification exception for unimplemented diag 308
subcodes
The architecture specifies specification exceptions for all
unavailable subcodes.
The presence of subcodes is indicated by checking some query subcode.
For example 6 will indicate that 3-6 are available. So future systems
might call new subcodes to check for new features. This should not
trigger a hw error, instead we return the architectured specification
exception.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Cc: qemu-stable@nongnu.org
Message-Id: <20190111113657.66195-3-frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit 37dbd1f4d4805edcd18d94eb202bb3461b3cd52d)
[LY: BSC#1123179]
Signed-off-by: Liang Yan <lyan@suse.com>
---
target/s390x/diag.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/s390x/diag.c b/target/s390x/diag.c
index acb0f3d4af..aafa740f61 100644
--- a/target/s390x/diag.c
+++ b/target/s390x/diag.c
@@ -130,7 +130,7 @@ out:
}
return;
default:
- hw_error("Unhandled diag308 subcode %" PRIx64, subcode);
+ s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, ra);
break;
}
}

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Jan 30 15:54:31 UTC 2019 - Liang Yan <lyan@suse.com>
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
* Patches added:
0057-s390x-Return-specification-exceptio.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jan 25 19:21:00 UTC 2019 - Bruce Rogers <brogers@suse.com> Fri Jan 25 19:21:00 UTC 2019 - Bruce Rogers <brogers@suse.com>

View File

@ -88,6 +88,7 @@ Patch0053: 0053-block-Fix-hangs-in-synchronous-APIs.patch
Patch0054: 0054-linux-user-make-pwrite64-pread64-fd.patch Patch0054: 0054-linux-user-make-pwrite64-pread64-fd.patch
Patch0055: 0055-xen-Add-xen-v4.12-based-xc_domain_c.patch Patch0055: 0055-xen-Add-xen-v4.12-based-xc_domain_c.patch
Patch0056: 0056-slirp-check-data-length-while-emula.patch Patch0056: 0056-slirp-check-data-length-while-emula.patch
Patch0057: 0057-s390x-Return-specification-exceptio.patch
# Please do not add QEMU patches manually here. # Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue. # Run update_git.sh to regenerate this queue.
ExcludeArch: s390 ExcludeArch: s390
@ -175,6 +176,7 @@ syscall layer occurs on the native hardware and operating system.
%patch0054 -p1 %patch0054 -p1
%patch0055 -p1 %patch0055 -p1
%patch0056 -p1 %patch0056 -p1
%patch0057 -p1
%build %build
./configure \ ./configure \

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Jan 30 15:54:30 UTC 2019 - Liang Yan <lyan@suse.com>
- Return specification exception for unimplemented diag 308 subcodes
rather than a hardware error (bsc#1123179)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
* Patches added:
0057-s390x-Return-specification-exceptio.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jan 25 19:20:59 UTC 2019 - Bruce Rogers <brogers@suse.com> Fri Jan 25 19:20:59 UTC 2019 - Bruce Rogers <brogers@suse.com>

View File

@ -193,6 +193,7 @@ Patch0053: 0053-block-Fix-hangs-in-synchronous-APIs.patch
Patch0054: 0054-linux-user-make-pwrite64-pread64-fd.patch Patch0054: 0054-linux-user-make-pwrite64-pread64-fd.patch
Patch0055: 0055-xen-Add-xen-v4.12-based-xc_domain_c.patch Patch0055: 0055-xen-Add-xen-v4.12-based-xc_domain_c.patch
Patch0056: 0056-slirp-check-data-length-while-emula.patch Patch0056: 0056-slirp-check-data-length-while-emula.patch
Patch0057: 0057-s390x-Return-specification-exceptio.patch
# Please do not add QEMU patches manually here. # Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue. # Run update_git.sh to regenerate this queue.
@ -979,6 +980,7 @@ This package provides a service file for starting and stopping KSM.
%patch0054 -p1 %patch0054 -p1
%patch0055 -p1 %patch0055 -p1
%patch0056 -p1 %patch0056 -p1
%patch0057 -p1
pushd roms/seabios pushd roms/seabios
%patch1100 -p1 %patch1100 -p1

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Jan 30 15:54:30 UTC 2019 - Liang Yan <lyan@suse.com>
- Return specification exception for unimplemented diag 308 subcodes
rather than a hardware error (bsc#1123179)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
* Patches added:
0057-s390x-Return-specification-exceptio.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jan 25 19:20:59 UTC 2019 - Bruce Rogers <brogers@suse.com> Fri Jan 25 19:20:59 UTC 2019 - Bruce Rogers <brogers@suse.com>

View File

@ -193,6 +193,7 @@ Patch0053: 0053-block-Fix-hangs-in-synchronous-APIs.patch
Patch0054: 0054-linux-user-make-pwrite64-pread64-fd.patch Patch0054: 0054-linux-user-make-pwrite64-pread64-fd.patch
Patch0055: 0055-xen-Add-xen-v4.12-based-xc_domain_c.patch Patch0055: 0055-xen-Add-xen-v4.12-based-xc_domain_c.patch
Patch0056: 0056-slirp-check-data-length-while-emula.patch Patch0056: 0056-slirp-check-data-length-while-emula.patch
Patch0057: 0057-s390x-Return-specification-exceptio.patch
# Please do not add QEMU patches manually here. # Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue. # Run update_git.sh to regenerate this queue.
@ -979,6 +980,7 @@ This package provides a service file for starting and stopping KSM.
%patch0054 -p1 %patch0054 -p1
%patch0055 -p1 %patch0055 -p1
%patch0056 -p1 %patch0056 -p1
%patch0057 -p1
pushd roms/seabios pushd roms/seabios
%patch1100 -p1 %patch1100 -p1