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

[qemu-xen staging-4.18] target/s390x: Check reserved bits of VFMIN/VFMAX's M5



commit 96fd3b85081a119353b9ef3f783c2bc8c63758a2
Author:     Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
AuthorDate: Sat Aug 5 01:46:10 2023 +0200
Commit:     Michael Tokarev <mjt@xxxxxxxxxx>
CommitDate: Sun Sep 10 19:39:41 2023 +0300

    target/s390x: Check reserved bits of VFMIN/VFMAX's M5
    
    VFMIN and VFMAX should raise a specification exceptions when bits 1-3
    of M5 are set.
    
    Cc: qemu-stable@xxxxxxxxxx
    Fixes: da4807527f3b ("s390x/tcg: Implement VECTOR FP (MAXIMUM|MINIMUM)")
    Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
    Message-Id: <20230804234621.252522-1-iii@xxxxxxxxxxxxx>
    Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>
    Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
    (cherry picked from commit 6a2ea6151835aa4f5fee29382a421c13b0e6619f)
    Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
---
 target/s390x/tcg/translate_vx.c.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/s390x/tcg/translate_vx.c.inc 
b/target/s390x/tcg/translate_vx.c.inc
index a6d840d406..ec94d39df0 100644
--- a/target/s390x/tcg/translate_vx.c.inc
+++ b/target/s390x/tcg/translate_vx.c.inc
@@ -3047,7 +3047,7 @@ static DisasJumpType op_vfmax(DisasContext *s, DisasOps 
*o)
     const uint8_t m5 = get_field(s, m5);
     gen_helper_gvec_3_ptr *fn;
 
-    if (m6 == 5 || m6 == 6 || m6 == 7 || m6 >= 13) {
+    if (m6 == 5 || m6 == 6 || m6 == 7 || m6 >= 13 || (m5 & 7)) {
         gen_program_exception(s, PGM_SPECIFICATION);
         return DISAS_NORETURN;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#staging-4.18



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.