From 3bbfb3c573526125f9a73d4faee628f440c96336 Mon Sep 17 00:00:00 2001 From: "Danilo C. L. de Paula" Date: Thu, 22 Jun 2023 16:10:36 -0400 Subject: [PATCH] Fixing syncronization with centos stream --- ...ort-for-List-Directed-IPL-from-ECKD-.patch | 376 ++++++++++++++++++ ...adjust-diag318-resets-to-retain-data.patch | 11 +- ...-revert-SCSW-ctrl-flag-bits-on-error.patch | 11 +- ...v-tree-to-detect-SCSI-device-on-a-CC.patch | 11 +- ...390x-sigp-Reorder-the-SIGP-STOP-code.patch | 11 +- ...x-BRASL-with-a-large-negative-offset.patch | 11 +- ...ix-BRCL-with-a-large-negative-offset.patch | 11 +- kvm-s390x-tcg-Fix-opcode-for-lzrf.patch | 11 +- ...x-Fix-CLFIT-and-CLGIT-immediate-size.patch | 11 +- ...target-s390x-Fix-SLDA-sign-bit-index.patch | 11 +- ...target-s390x-Fix-SRDA-CC-calculation.patch | 11 +- ...Fix-cc_calc_sla_64-missing-overflows.patch | 11 +- ...x-Fix-determination-of-overflow-cond.patch | 101 +++++ ...-determination-of-overflow-condition.patch | 11 +- ...x-emulation-of-the-VISTR-instruction.patch | 11 +- ...-shifting-32-bit-values-for-more-tha.patch | 11 +- ...ix-the-accumulation-of-ccm-in-op_icm.patch | 11 +- ...x-Fix-writeback-to-v1-in-helper_vstl.patch | 11 +- ...ix-handling-of-zeroes-in-vfmin-vfmax.patch | 11 +- ...-Fix-and-improve-the-SACF-instructio.patch | 11 +- ...-mem_helper-Test-the-right-bits-in-p.patch | 11 +- ...asic-support-for-FUSE_SYNCFS-request.patch | 5 +- qemu-kvm.spec | 70 +++- 23 files changed, 642 insertions(+), 119 deletions(-) create mode 100644 kvm-pc-bios-Add-support-for-List-Directed-IPL-from-ECKD-.patch create mode 100644 kvm-target-s390x-Fix-determination-of-overflow-cond.patch diff --git a/kvm-pc-bios-Add-support-for-List-Directed-IPL-from-ECKD-.patch b/kvm-pc-bios-Add-support-for-List-Directed-IPL-from-ECKD-.patch new file mode 100644 index 0000000..947e19a --- /dev/null +++ b/kvm-pc-bios-Add-support-for-List-Directed-IPL-from-ECKD-.patch @@ -0,0 +1,376 @@ +From e11cffc152d9af9194139a37f86e357cb36298e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= +Date: Thu, 25 May 2023 12:50:19 +0200 +Subject: [PATCH 22/22] pc-bios: Add support for List-Directed IPL from ECKD + DASD +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +RH-Author: Cédric Le Goater +RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +RH-Bugzilla: 2169308 2209605 +RH-Acked-by: Thomas Huth +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [21/21] cab945af05566d892459a7c8ea3f114310d6bb67 + +Bugzilla: https://bugzilla.redhat.com/2209605 + +commit 8af5d141713f5d20c4bc1719eb746ef8b1746bd6 +Author: Jared Rossi +Date: Tue Feb 21 12:45:48 2023 -0500 + + pc-bios: Add support for List-Directed IPL from ECKD DASD + + Check for a List Directed IPL Boot Record, which would supersede the CCW type + entries. If the record is valid, proceed to use the new style pointers + and perform LD-IPL. Each block pointer is interpreted as either an LD-IPL + pointer or a legacy CCW pointer depending on the type of IPL initiated. + + In either case CCW- or LD-IPL is transparent to the user and will boot the same + image regardless of which set of pointers is used. Because the interactive boot + menu is only written with the old style pointers, the menu will be disabled for + List Directed IPL from ECKD DASD. + + If the LD-IPL fails, retry the IPL using the CCW type pointers. + + If no LD-IPL boot record is found, simply perform CCW type IPL as usual. + + Signed-off-by: Jared Rossi + Message-Id: <20230221174548.1866861-2-jrossi@linux.ibm.com> + [thuth: Drop some superfluous parantheses] + Signed-off-by: Thomas Huth + +Signed-off-by: Cédric Le Goater +--- + pc-bios/s390-ccw/bootmap.c | 157 ++++++++++++++++++++++++++++--------- + pc-bios/s390-ccw/bootmap.h | 30 ++++++- + 2 files changed, 148 insertions(+), 39 deletions(-) + +diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c +index 994e59c0b0..a2137449dc 100644 +--- a/pc-bios/s390-ccw/bootmap.c ++++ b/pc-bios/s390-ccw/bootmap.c +@@ -72,42 +72,74 @@ static inline void verify_boot_info(BootInfo *bip) + "Bad block size in zIPL section of the 1st record."); + } + +-static block_number_t eckd_block_num(EckdCHS *chs) ++static void eckd_format_chs(ExtEckdBlockPtr *ptr, bool ldipl, ++ uint64_t *c, ++ uint64_t *h, ++ uint64_t *s) ++{ ++ if (ldipl) { ++ *c = ptr->ldptr.chs.cylinder; ++ *h = ptr->ldptr.chs.head; ++ *s = ptr->ldptr.chs.sector; ++ } else { ++ *c = ptr->bptr.chs.cylinder; ++ *h = ptr->bptr.chs.head; ++ *s = ptr->bptr.chs.sector; ++ } ++} ++ ++static block_number_t eckd_chs_to_block(uint64_t c, uint64_t h, uint64_t s) + { + const uint64_t sectors = virtio_get_sectors(); + const uint64_t heads = virtio_get_heads(); +- const uint64_t cylinder = chs->cylinder +- + ((chs->head & 0xfff0) << 12); +- const uint64_t head = chs->head & 0x000f; ++ const uint64_t cylinder = c + ((h & 0xfff0) << 12); ++ const uint64_t head = h & 0x000f; + const block_number_t block = sectors * heads * cylinder + + sectors * head +- + chs->sector +- - 1; /* block nr starts with zero */ ++ + s - 1; /* block nr starts with zero */ + return block; + } + +-static bool eckd_valid_address(BootMapPointer *p) ++static block_number_t eckd_block_num(EckdCHS *chs) + { +- const uint64_t head = p->eckd.chs.head & 0x000f; ++ return eckd_chs_to_block(chs->cylinder, chs->head, chs->sector); ++} ++ ++static block_number_t gen_eckd_block_num(ExtEckdBlockPtr *ptr, bool ldipl) ++{ ++ uint64_t cyl, head, sec; ++ eckd_format_chs(ptr, ldipl, &cyl, &head, &sec); ++ return eckd_chs_to_block(cyl, head, sec); ++} + ++static bool eckd_valid_chs(uint64_t cyl, uint64_t head, uint64_t sector) ++{ + if (head >= virtio_get_heads() +- || p->eckd.chs.sector > virtio_get_sectors() +- || p->eckd.chs.sector <= 0) { ++ || sector > virtio_get_sectors() ++ || sector <= 0) { + return false; + } + + if (!virtio_guessed_disk_nature() && +- eckd_block_num(&p->eckd.chs) >= virtio_get_blocks()) { ++ eckd_chs_to_block(cyl, head, sector) >= virtio_get_blocks()) { + return false; + } + + return true; + } + +-static block_number_t load_eckd_segments(block_number_t blk, uint64_t *address) ++static bool eckd_valid_address(ExtEckdBlockPtr *ptr, bool ldipl) ++{ ++ uint64_t cyl, head, sec; ++ eckd_format_chs(ptr, ldipl, &cyl, &head, &sec); ++ return eckd_valid_chs(cyl, head, sec); ++} ++ ++static block_number_t load_eckd_segments(block_number_t blk, bool ldipl, ++ uint64_t *address) + { + block_number_t block_nr; +- int j, rc; ++ int j, rc, count; + BootMapPointer *bprs = (void *)_bprs; + bool more_data; + +@@ -117,7 +149,7 @@ static block_number_t load_eckd_segments(block_number_t blk, uint64_t *address) + do { + more_data = false; + for (j = 0;; j++) { +- block_nr = eckd_block_num(&bprs[j].xeckd.bptr.chs); ++ block_nr = gen_eckd_block_num(&bprs[j].xeckd, ldipl); + if (is_null_block_number(block_nr)) { /* end of chunk */ + break; + } +@@ -129,11 +161,26 @@ static block_number_t load_eckd_segments(block_number_t blk, uint64_t *address) + break; + } + +- IPL_assert(block_size_ok(bprs[j].xeckd.bptr.size), ++ /* List directed pointer does not store block size */ ++ IPL_assert(ldipl || block_size_ok(bprs[j].xeckd.bptr.size), + "bad chunk block size"); +- IPL_assert(eckd_valid_address(&bprs[j]), "bad chunk ECKD addr"); + +- if ((bprs[j].xeckd.bptr.count == 0) && unused_space(&(bprs[j+1]), ++ if (!eckd_valid_address(&bprs[j].xeckd, ldipl)) { ++ /* ++ * If an invalid address is found during LD-IPL then break and ++ * retry as CCW ++ */ ++ IPL_assert(ldipl, "bad chunk ECKD addr"); ++ break; ++ } ++ ++ if (ldipl) { ++ count = bprs[j].xeckd.ldptr.count; ++ } else { ++ count = bprs[j].xeckd.bptr.count; ++ } ++ ++ if (count == 0 && unused_space(&bprs[j + 1], + sizeof(EckdBlockPtr))) { + /* This is a "continue" pointer. + * This ptr should be the last one in the current +@@ -149,11 +196,10 @@ static block_number_t load_eckd_segments(block_number_t blk, uint64_t *address) + /* Load (count+1) blocks of code at (block_nr) + * to memory (address). + */ +- rc = virtio_read_many(block_nr, (void *)(*address), +- bprs[j].xeckd.bptr.count+1); ++ rc = virtio_read_many(block_nr, (void *)(*address), count + 1); + IPL_assert(rc == 0, "code chunk read failed"); + +- *address += (bprs[j].xeckd.bptr.count+1) * virtio_get_block_size(); ++ *address += (count + 1) * virtio_get_block_size(); + } + } while (more_data); + return block_nr; +@@ -237,8 +283,10 @@ static void run_eckd_boot_script(block_number_t bmt_block_nr, + uint64_t address; + BootMapTable *bmt = (void *)sec; + BootMapScript *bms = (void *)sec; ++ /* The S1B block number is NULL_BLOCK_NR if and only if it's an LD-IPL */ ++ bool ldipl = (s1b_block_nr == NULL_BLOCK_NR); + +- if (menu_is_enabled_zipl()) { ++ if (menu_is_enabled_zipl() && !ldipl) { + loadparm = eckd_get_boot_menu_index(s1b_block_nr); + } + +@@ -249,7 +297,7 @@ static void run_eckd_boot_script(block_number_t bmt_block_nr, + memset(sec, FREE_SPACE_FILLER, sizeof(sec)); + read_block(bmt_block_nr, sec, "Cannot read Boot Map Table"); + +- block_nr = eckd_block_num(&bmt->entry[loadparm].xeckd.bptr.chs); ++ block_nr = gen_eckd_block_num(&bmt->entry[loadparm].xeckd, ldipl); + IPL_assert(block_nr != -1, "Cannot find Boot Map Table Entry"); + + memset(sec, FREE_SPACE_FILLER, sizeof(sec)); +@@ -264,13 +312,18 @@ static void run_eckd_boot_script(block_number_t bmt_block_nr, + } + + address = bms->entry[i].address.load_address; +- block_nr = eckd_block_num(&bms->entry[i].blkptr.xeckd.bptr.chs); ++ block_nr = gen_eckd_block_num(&bms->entry[i].blkptr.xeckd, ldipl); + + do { +- block_nr = load_eckd_segments(block_nr, &address); ++ block_nr = load_eckd_segments(block_nr, ldipl, &address); + } while (block_nr != -1); + } + ++ if (ldipl && bms->entry[i].type != BOOT_SCRIPT_EXEC) { ++ /* Abort LD-IPL and retry as CCW-IPL */ ++ return; ++ } ++ + IPL_assert(bms->entry[i].type == BOOT_SCRIPT_EXEC, + "Unknown script entry type"); + write_reset_psw(bms->entry[i].address.load_address); /* no return */ +@@ -380,6 +433,23 @@ static void ipl_eckd_ldl(ECKD_IPL_mode_t mode) + /* no return */ + } + ++static block_number_t eckd_find_bmt(ExtEckdBlockPtr *ptr) ++{ ++ block_number_t blockno; ++ uint8_t tmp_sec[MAX_SECTOR_SIZE]; ++ BootRecord *br; ++ ++ blockno = gen_eckd_block_num(ptr, 0); ++ read_block(blockno, tmp_sec, "Cannot read boot record"); ++ br = (BootRecord *)tmp_sec; ++ if (!magic_match(br->magic, ZIPL_MAGIC)) { ++ /* If the boot record is invalid, return and try CCW-IPL instead */ ++ return NULL_BLOCK_NR; ++ } ++ ++ return gen_eckd_block_num(&br->pgt.xeckd, 1); ++} ++ + static void print_eckd_msg(void) + { + char msg[] = "Using ECKD scheme (block size *****), "; +@@ -401,28 +471,43 @@ static void print_eckd_msg(void) + + static void ipl_eckd(void) + { +- XEckdMbr *mbr = (void *)sec; +- LDL_VTOC *vlbl = (void *)sec; ++ IplVolumeLabel *vlbl = (void *)sec; ++ LDL_VTOC *vtoc = (void *)sec; ++ block_number_t ldipl_bmt; /* Boot Map Table for List-Directed IPL */ + + print_eckd_msg(); + +- /* Grab the MBR again */ ++ /* Block 2 can contain either the CDL VOL1 label or the LDL VTOC */ + memset(sec, FREE_SPACE_FILLER, sizeof(sec)); +- read_block(0, mbr, "Cannot read block 0 on DASD"); ++ read_block(2, vlbl, "Cannot read block 2"); + +- if (magic_match(mbr->magic, IPL1_MAGIC)) { +- ipl_eckd_cdl(); /* only returns in case of error */ +- return; ++ /* ++ * First check for a list-directed-format pointer which would ++ * supersede the CCW pointer. ++ */ ++ if (eckd_valid_address((ExtEckdBlockPtr *)&vlbl->f.br, 0)) { ++ ldipl_bmt = eckd_find_bmt((ExtEckdBlockPtr *)&vlbl->f.br); ++ if (ldipl_bmt) { ++ sclp_print("List-Directed\n"); ++ /* LD-IPL does not use the S1B bock, just make it NULL */ ++ run_eckd_boot_script(ldipl_bmt, NULL_BLOCK_NR); ++ /* Only return in error, retry as CCW-IPL */ ++ sclp_print("Retrying IPL "); ++ print_eckd_msg(); ++ } ++ memset(sec, FREE_SPACE_FILLER, sizeof(sec)); ++ read_block(2, vtoc, "Cannot read block 2"); + } + +- /* LDL/CMS? */ +- memset(sec, FREE_SPACE_FILLER, sizeof(sec)); +- read_block(2, vlbl, "Cannot read block 2"); ++ /* Not list-directed */ ++ if (magic_match(vtoc->magic, VOL1_MAGIC)) { ++ ipl_eckd_cdl(); /* may return in error */ ++ } + +- if (magic_match(vlbl->magic, CMS1_MAGIC)) { ++ if (magic_match(vtoc->magic, CMS1_MAGIC)) { + ipl_eckd_ldl(ECKD_CMS); /* no return */ + } +- if (magic_match(vlbl->magic, LNX1_MAGIC)) { ++ if (magic_match(vtoc->magic, LNX1_MAGIC)) { + ipl_eckd_ldl(ECKD_LDL); /* no return */ + } + +diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h +index 3946aa3f8d..d4690a88c2 100644 +--- a/pc-bios/s390-ccw/bootmap.h ++++ b/pc-bios/s390-ccw/bootmap.h +@@ -45,9 +45,23 @@ typedef struct EckdBlockPtr { + * it's 0 for TablePtr, ScriptPtr, and SectionPtr */ + } __attribute__ ((packed)) EckdBlockPtr; + +-typedef struct ExtEckdBlockPtr { ++typedef struct LdEckdCHS { ++ uint32_t cylinder; ++ uint8_t head; ++ uint8_t sector; ++} __attribute__ ((packed)) LdEckdCHS; ++ ++typedef struct LdEckdBlockPtr { ++ LdEckdCHS chs; /* cylinder/head/sector is an address of the block */ ++ uint8_t reserved[4]; ++ uint16_t count; ++ uint32_t pad; ++} __attribute__ ((packed)) LdEckdBlockPtr; ++ ++/* bptr is used for CCW type IPL, while ldptr is for list-directed IPL */ ++typedef union ExtEckdBlockPtr { + EckdBlockPtr bptr; +- uint8_t reserved[8]; ++ LdEckdBlockPtr ldptr; + } __attribute__ ((packed)) ExtEckdBlockPtr; + + typedef union BootMapPointer { +@@ -57,6 +71,15 @@ typedef union BootMapPointer { + ExtEckdBlockPtr xeckd; + } __attribute__ ((packed)) BootMapPointer; + ++typedef struct BootRecord { ++ uint8_t magic[4]; ++ uint32_t version; ++ uint64_t res1; ++ BootMapPointer pgt; ++ uint8_t reserved[510 - 32]; ++ uint16_t os_id; ++} __attribute__ ((packed)) BootRecord; ++ + /* aka Program Table */ + typedef struct BootMapTable { + uint8_t magic[4]; +@@ -292,7 +315,8 @@ typedef struct IplVolumeLabel { + struct { + unsigned char key[4]; /* == "VOL1" */ + unsigned char volser[6]; +- unsigned char reserved[6]; ++ unsigned char reserved[64]; ++ EckdCHS br; /* Location of Boot Record for list-directed IPL */ + } f; + }; + } __attribute__((packed)) IplVolumeLabel; +-- +2.37.3 + diff --git a/kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch b/kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch index 57eb413..424b131 100644 --- a/kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch +++ b/kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch @@ -1,17 +1,18 @@ -From 584bdef0c5aa6bf78596a780654a848f59883cef Mon Sep 17 00:00:00 2001 +From 3c7bc4319d4e475c820a63176d18afb7b4b2ed78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 02/21] s390: kvm: adjust diag318 resets to retain data +Subject: [PATCH 02/22] s390: kvm: adjust diag318 resets to retain data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [1/20] 16f2ff166efdd26a3be98d7c97d3b184598d1ca4 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [1/21] 16f2ff166efdd26a3be98d7c97d3b184598d1ca4 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch b/kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch index 6f7a1a9..bee6a40 100644 --- a/kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch +++ b/kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch @@ -1,17 +1,18 @@ -From e91e89a7c6df49d999178c454d8b65cca1ad3618 Mon Sep 17 00:00:00 2001 +From 4d940934c304a71813dfa4598b20fafe9d2f5625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 19/21] s390x/css: revert SCSW ctrl/flag bits on error +Subject: [PATCH 19/22] s390x/css: revert SCSW ctrl/flag bits on error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [18/20] e4d5797ab93ba4afd9978a1d3e1f9d05da301506 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [18/21] e4d5797ab93ba4afd9978a1d3e1f9d05da301506 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch b/kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch index 9a3bb44..0dd4ea5 100644 --- a/kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch +++ b/kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch @@ -1,7 +1,7 @@ -From f6afa9a83b65e4ce3745473ba25cef37500e08f8 Mon Sep 17 00:00:00 2001 +From 6c815e78cea7c26e9a3526cbb686f728eac31021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 12/21] s390x: follow qdev tree to detect SCSI device on a CCW +Subject: [PATCH 12/22] s390x: follow qdev tree to detect SCSI device on a CCW bus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -9,10 +9,11 @@ Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [11/20] 97303bc9c356e8828d185868736b395bc0b70214 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [11/21] 97303bc9c356e8828d185868736b395bc0b70214 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch b/kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch index 1fe6773..d02a959 100644 --- a/kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch +++ b/kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch @@ -1,17 +1,18 @@ -From 15e0c081d07f15641acc5610553a9c1a2bfd8745 Mon Sep 17 00:00:00 2001 +From 63ffa29eeb0062dd9145fa97e92d87a5374ae807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 07/21] s390x: sigp: Reorder the SIGP STOP code +Subject: [PATCH 07/22] s390x: sigp: Reorder the SIGP STOP code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [6/20] 0c957b3f4a2d6abb278375a7080055502fa8e34d +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [6/21] 0c957b3f4a2d6abb278375a7080055502fa8e34d Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch b/kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch index ce292c6..ce783ea 100644 --- a/kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch +++ b/kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch @@ -1,17 +1,18 @@ -From f8e6ee7bc393ab47d608bd384011ba534d66776e Mon Sep 17 00:00:00 2001 +From 85c0b90fe4ce1e191e215a1fb2fccfe7269527e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 08/21] s390x/tcg: Fix BRASL with a large negative offset +Subject: [PATCH 08/22] s390x/tcg: Fix BRASL with a large negative offset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [7/20] f2eb97bf300afcb440cd5dc6d398ce7ad34f1db9 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [7/21] f2eb97bf300afcb440cd5dc6d398ce7ad34f1db9 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch b/kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch index 7b9b35d..f65edae 100644 --- a/kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch +++ b/kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch @@ -1,17 +1,18 @@ -From df0bb58a0bef833451744b9912b3392904e0190e Mon Sep 17 00:00:00 2001 +From b7440db8874a62631427d0b822922747bad9771b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 09/21] s390x/tcg: Fix BRCL with a large negative offset +Subject: [PATCH 09/22] s390x/tcg: Fix BRCL with a large negative offset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [8/20] 60abe03ceba239268b72ff79e2945b73822fb72f +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [8/21] 60abe03ceba239268b72ff79e2945b73822fb72f Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-s390x-tcg-Fix-opcode-for-lzrf.patch b/kvm-s390x-tcg-Fix-opcode-for-lzrf.patch index 75d8f7a..8f1cece 100644 --- a/kvm-s390x-tcg-Fix-opcode-for-lzrf.patch +++ b/kvm-s390x-tcg-Fix-opcode-for-lzrf.patch @@ -1,17 +1,18 @@ -From 9e30b40f1a738765c1e6c7d28db4c95cf7f5cbb5 Mon Sep 17 00:00:00 2001 +From 5eae4fd33e2101630ccb7aadeb3ba965800f6f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 17/21] s390x/tcg: Fix opcode for lzrf +Subject: [PATCH 17/22] s390x/tcg: Fix opcode for lzrf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [16/20] 43af79d2c9cd818bfa7ac1819bd9964c86915d97 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [16/21] 43af79d2c9cd818bfa7ac1819bd9964c86915d97 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch b/kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch index cf20c54..4f10540 100644 --- a/kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch +++ b/kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch @@ -1,17 +1,18 @@ -From e683c93efba105ae97a1eb62d1fa9d3f91d40efd Mon Sep 17 00:00:00 2001 +From 4744afb2458701351c9a1435770566fbee055079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 16/21] target/s390x: Fix CLFIT and CLGIT immediate size +Subject: [PATCH 16/22] target/s390x: Fix CLFIT and CLGIT immediate size MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [15/20] 68c0b87490dfe5349797acd7494fd293c3f733ca +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [15/21] 68c0b87490dfe5349797acd7494fd293c3f733ca Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-SLDA-sign-bit-index.patch b/kvm-target-s390x-Fix-SLDA-sign-bit-index.patch index fed4113..aba4ebb 100644 --- a/kvm-target-s390x-Fix-SLDA-sign-bit-index.patch +++ b/kvm-target-s390x-Fix-SLDA-sign-bit-index.patch @@ -1,17 +1,18 @@ -From a66aab861a925da517c2ec9f798b5a5b84a539da Mon Sep 17 00:00:00 2001 +From 303eabb99283996ed941a341af127cb8502a9da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 03/21] target/s390x: Fix SLDA sign bit index +Subject: [PATCH 03/22] target/s390x: Fix SLDA sign bit index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [2/20] 8600ece5b20bbe9dfa91e322cf29c5f79000d39c +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [2/21] 8600ece5b20bbe9dfa91e322cf29c5f79000d39c Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-SRDA-CC-calculation.patch b/kvm-target-s390x-Fix-SRDA-CC-calculation.patch index 2ad4dcd..664ee68 100644 --- a/kvm-target-s390x-Fix-SRDA-CC-calculation.patch +++ b/kvm-target-s390x-Fix-SRDA-CC-calculation.patch @@ -1,17 +1,18 @@ -From e3bf3f208a50c76d9fb624ffe0c36fdf63c4446f Mon Sep 17 00:00:00 2001 +From 716e77e02fe25d40f09b8f2af1ff68238f7d7058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 04/21] target/s390x: Fix SRDA CC calculation +Subject: [PATCH 04/22] target/s390x: Fix SRDA CC calculation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [3/20] 95b2ba26003baa51f85f07e8860f875349c72b86 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [3/21] 95b2ba26003baa51f85f07e8860f875349c72b86 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch b/kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch index edb49ef..40de80d 100644 --- a/kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch +++ b/kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch @@ -1,17 +1,18 @@ -From df3c38e1ff4fb4cfb09fefb859216e9d51d97483 Mon Sep 17 00:00:00 2001 +From 300a84c83fc6f112bed7e488f0e64eb6c07d47bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 05/21] target/s390x: Fix cc_calc_sla_64() missing overflows +Subject: [PATCH 05/22] target/s390x: Fix cc_calc_sla_64() missing overflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [4/20] 2f91de2ac980d6ffa4da0ec41bb30562624a2396 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [4/21] 2f91de2ac980d6ffa4da0ec41bb30562624a2396 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-determination-of-overflow-cond.patch b/kvm-target-s390x-Fix-determination-of-overflow-cond.patch new file mode 100644 index 0000000..07a5ebe --- /dev/null +++ b/kvm-target-s390x-Fix-determination-of-overflow-cond.patch @@ -0,0 +1,101 @@ +From a280a700fb016178776cb599d8cf918185df8697 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= +Date: Tue, 23 May 2023 12:34:33 +0200 +Subject: [PATCH 11/22] target/s390x: Fix determination of overflow condition + code after subtraction +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +RH-Author: Cédric Le Goater +RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +RH-Bugzilla: 2169308 2209605 +RH-Acked-by: Thomas Huth +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [10/21] 14792faddfca784503f89c292ebaba5be8d3fc96 + +Bugzilla: https://bugzilla.redhat.com/2169308 + +commit fc6e0d0f2db5126592bb4066d484fcdfc14ccf36 +Author: Bruno Haible +Date: Wed Mar 23 17:26:21 2022 +0100 + + target/s390x: Fix determination of overflow condition code after subtraction + + Reported by Paul Eggert in + https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00050.html + + This program currently prints different results when run with TCG instead + of running on real s390x hardware: + + #include + + int overflow_32 (int x, int y) + { + int sum; + return __builtin_sub_overflow (x, y, &sum); + } + + int overflow_64 (long long x, long long y) + { + long sum; + return __builtin_sub_overflow (x, y, &sum); + } + + int a1 = 0; + int b1 = -2147483648; + long long a2 = 0L; + long long b2 = -9223372036854775808L; + + int main () + { + { + int a = a1; + int b = b1; + printf ("a = 0x%x, b = 0x%x\n", a, b); + printf ("no_overflow = %d\n", ! overflow_32 (a, b)); + } + { + long long a = a2; + long long b = b2; + printf ("a = 0x%llx, b = 0x%llx\n", a, b); + printf ("no_overflow = %d\n", ! overflow_64 (a, b)); + } + } + + Signed-off-by: Bruno Haible + Resolves: https://gitlab.com/qemu-project/qemu/-/issues/618 + Message-Id: <20220323162621.139313-3-thuth@redhat.com> + Signed-off-by: Thomas Huth + +Signed-off-by: Cédric Le Goater +--- + target/s390x/tcg/cc_helper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/target/s390x/tcg/cc_helper.c b/target/s390x/tcg/cc_helper.c +index e11cdb745d..b2e8d3d9f5 100644 +--- a/target/s390x/tcg/cc_helper.c ++++ b/target/s390x/tcg/cc_helper.c +@@ -151,7 +151,7 @@ static uint32_t cc_calc_add_64(int64_t a1, int64_t a2, int64_t ar) + + static uint32_t cc_calc_sub_64(int64_t a1, int64_t a2, int64_t ar) + { +- if ((a1 > 0 && a2 < 0 && ar < 0) || (a1 < 0 && a2 > 0 && ar > 0)) { ++ if ((a1 >= 0 && a2 < 0 && ar < 0) || (a1 < 0 && a2 > 0 && ar > 0)) { + return 3; /* overflow */ + } else { + if (ar < 0) { +@@ -211,7 +211,7 @@ static uint32_t cc_calc_add_32(int32_t a1, int32_t a2, int32_t ar) + + static uint32_t cc_calc_sub_32(int32_t a1, int32_t a2, int32_t ar) + { +- if ((a1 > 0 && a2 < 0 && ar < 0) || (a1 < 0 && a2 > 0 && ar > 0)) { ++ if ((a1 >= 0 && a2 < 0 && ar < 0) || (a1 < 0 && a2 > 0 && ar > 0)) { + return 3; /* overflow */ + } else { + if (ar < 0) { +-- +2.37.3 + diff --git a/kvm-target-s390x-Fix-determination-of-overflow-condition.patch b/kvm-target-s390x-Fix-determination-of-overflow-condition.patch index f6e94da..55b783c 100644 --- a/kvm-target-s390x-Fix-determination-of-overflow-condition.patch +++ b/kvm-target-s390x-Fix-determination-of-overflow-condition.patch @@ -1,7 +1,7 @@ -From 713f7455ca5e45a6245259dd35564310fc2aa521 Mon Sep 17 00:00:00 2001 +From 2ddea7186ae50c1f29d790027e8aa98894e51694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 10/21] target/s390x: Fix determination of overflow condition +Subject: [PATCH 10/22] target/s390x: Fix determination of overflow condition code after addition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -9,10 +9,11 @@ Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [9/20] e8b946ff4e521e0367cb03fcd918a2f8af8bd4d5 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [9/21] e8b946ff4e521e0367cb03fcd918a2f8af8bd4d5 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch b/kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch index 9ace8b7..0565116 100644 --- a/kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch +++ b/kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch @@ -1,17 +1,18 @@ -From f1cff8f7a04bd6faec80585af39a9ea3c4e6a34e Mon Sep 17 00:00:00 2001 +From 7da1a3d21df30a3e20e0632e90e3ecff8b774b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 18/21] target/s390x: Fix emulation of the VISTR instruction +Subject: [PATCH 18/22] target/s390x: Fix emulation of the VISTR instruction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [17/20] ca521ee65c0bd2b191d6fdddbfe38daf39bd7b07 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [17/21] ca521ee65c0bd2b191d6fdddbfe38daf39bd7b07 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch b/kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch index 29a31b3..c4298eb 100644 --- a/kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch +++ b/kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch @@ -1,7 +1,7 @@ -From 9d8fc151dfeef942fff798a871be27c66bae5275 Mon Sep 17 00:00:00 2001 +From 9157bc045137b63b4304ffabc549b32e6f30d9b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 06/21] target/s390x: Fix shifting 32-bit values for more than +Subject: [PATCH 06/22] target/s390x: Fix shifting 32-bit values for more than 31 bits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -9,10 +9,11 @@ Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [5/20] fba372359f0771ec41f3ad7ee4f1376e545da088 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [5/21] fba372359f0771ec41f3ad7ee4f1376e545da088 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch b/kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch index 3b45a4b..22de492 100644 --- a/kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch +++ b/kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch @@ -1,17 +1,18 @@ -From 32f2dfe2fc3afa916f0cf9ed58e27f6c0c97a9e6 Mon Sep 17 00:00:00 2001 +From 2bfd1db9c3efcf7b73790565b4f8597bc04762c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 13/21] target/s390x: Fix the accumulation of ccm in op_icm +Subject: [PATCH 13/22] target/s390x: Fix the accumulation of ccm in op_icm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [12/20] ad52141b1d733a34d392b72d9962ea7ac521dc17 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [12/21] ad52141b1d733a34d392b72d9962ea7ac521dc17 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch b/kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch index b963c7b..5ed04fd 100644 --- a/kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch +++ b/kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch @@ -1,17 +1,18 @@ -From 8fb292bd2f8d50a6ee041b7ea675d96d629c27b2 Mon Sep 17 00:00:00 2001 +From 95d7d0e24fa51913b41cca7c35cb75460b850ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 14/21] target/s390x: Fix writeback to v1 in helper_vstl +Subject: [PATCH 14/22] target/s390x: Fix writeback to v1 in helper_vstl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [13/20] 9db50d12afc0a85921e6bfdb69f12ba29f3dce72 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [13/21] 9db50d12afc0a85921e6bfdb69f12ba29f3dce72 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch b/kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch index 096808b..ee090a1 100644 --- a/kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch +++ b/kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch @@ -1,17 +1,18 @@ -From 04fb9d950b89b0229577885e3254d115f98dc954 Mon Sep 17 00:00:00 2001 +From 1acfca06f0dbbc586f0d86833196a4463dc8b8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 15/21] target/s390x: fix handling of zeroes in vfmin/vfmax +Subject: [PATCH 15/22] target/s390x: fix handling of zeroes in vfmin/vfmax MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [14/20] 27f66691e08192a5c9f2ecbde3603c0adece4857 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [14/21] 27f66691e08192a5c9f2ecbde3603c0adece4857 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch b/kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch index 35d03ea..a6905f6 100644 --- a/kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch +++ b/kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch @@ -1,17 +1,18 @@ -From 849aea4561e80c4a2a3eaa3c49d24565fdd36764 Mon Sep 17 00:00:00 2001 +From b83e60b3a2488e988986f2c7e63cb7eb40d7cf27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 20/21] target/s390x/tcg: Fix and improve the SACF instruction +Subject: [PATCH 20/22] target/s390x/tcg: Fix and improve the SACF instruction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [19/20] 62030baceb0b0d1d651ba9026bb419ed4b2a8149 +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [19/21] 62030baceb0b0d1d651ba9026bb419ed4b2a8149 Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch b/kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch index f090f13..a7b7811 100644 --- a/kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch +++ b/kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch @@ -1,7 +1,7 @@ -From acfd4067b936f6672054f82ba71dea3a9fb4f820 Mon Sep 17 00:00:00 2001 +From 30ae4c8951df25085e479e0e2e5b43d2175f996a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Tue, 23 May 2023 12:34:33 +0200 -Subject: [PATCH 21/21] target/s390x/tcg/mem_helper: Test the right bits in +Subject: [PATCH 21/22] target/s390x/tcg/mem_helper: Test the right bits in psw_key_valid() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -9,10 +9,11 @@ Content-Transfer-Encoding: 8bit RH-Author: Cédric Le Goater RH-MergeRequest: 279: Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -RH-Bugzilla: 2169308 +RH-Bugzilla: 2169308 2209605 RH-Acked-by: Thomas Huth -RH-Acked-by: Jon Maloy -RH-Commit: [20/20] 00a243a96953023387bab6f1925b734755c53e6e +RH-Acked-by: David Hildenbrand +RH-Acked-by: Cornelia Huck +RH-Commit: [20/21] 00a243a96953023387bab6f1925b734755c53e6e Bugzilla: https://bugzilla.redhat.com/2169308 diff --git a/kvm-virtiofsd-Add-basic-support-for-FUSE_SYNCFS-request.patch b/kvm-virtiofsd-Add-basic-support-for-FUSE_SYNCFS-request.patch index d02322b..116ceba 100644 --- a/kvm-virtiofsd-Add-basic-support-for-FUSE_SYNCFS-request.patch +++ b/kvm-virtiofsd-Add-basic-support-for-FUSE_SYNCFS-request.patch @@ -1,11 +1,12 @@ -From c21782b55953b49d7a91d66acf94473ef35cfa5e Mon Sep 17 00:00:00 2001 +From 93dfffa3c354c87aae712f5d6c86be5b26d975d4 Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Tue, 15 Feb 2022 19:15:29 +0100 -Subject: [PATCH 01/21] virtiofsd: Add basic support for FUSE_SYNCFS request +Subject: [PATCH 01/22] virtiofsd: Add basic support for FUSE_SYNCFS request RH-Author: German Maglione RH-MergeRequest: 278: virtiofsd: Add basic support for FUSE_SYNCFS request RH-Bugzilla: 2196880 +RH-Acked-by: Stefan Hajnoczi RH-Acked-by: Stefano Garzarella RH-Acked-by: Hanna Czenczek RH-Acked-by: Jon Maloy diff --git a/qemu-kvm.spec b/qemu-kvm.spec index 7a251df..8f26231 100644 --- a/qemu-kvm.spec +++ b/qemu-kvm.spec @@ -667,45 +667,68 @@ Patch263: kvm-nbd-server-Request-TCP_NODELAY.patch # For bz#2196880 - [virtiofs] Backport FUSE_SYNCFS support Patch264: kvm-virtiofsd-Add-basic-support-for-FUSE_SYNCFS-request.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch265: kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch266: kvm-target-s390x-Fix-SLDA-sign-bit-index.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch267: kvm-target-s390x-Fix-SRDA-CC-calculation.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch268: kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch269: kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch270: kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch271: kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch272: kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch273: kvm-target-s390x-Fix-determination-of-overflow-condition.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 -Patch274: kvm-target-s390x-Fix-determination-of-overflow-conditioo.patch +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) +Patch274: kvm-target-s390x-Fix-determination-of-overflow-cond.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch275: kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch276: kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch277: kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch278: kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch279: kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch280: kvm-s390x-tcg-Fix-opcode-for-lzrf.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch281: kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch282: kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch283: kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch # For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) Patch284: kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch +# For bz#2169308 - Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9 +# For bz#2209605 - [IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu) +Patch285: kvm-pc-bios-Add-support-for-List-Directed-IPL-from-ECKD-.patch BuildRequires: wget BuildRequires: rpm-build @@ -1875,32 +1898,35 @@ sh %{_sysconfdir}/sysconfig/modules/kvm.modules &> /dev/null || : %changelog -* Wed May 24 2023 Jon Maloy - 6.2.0-35 +* Fri Jun 02 2023 Jon Maloy - 6.2.0-35 - kvm-virtiofsd-Add-basic-support-for-FUSE_SYNCFS-request.patch [bz#2196880] -- kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch [bz#2169308] -- kvm-target-s390x-Fix-SLDA-sign-bit-index.patch [bz#2169308] -- kvm-target-s390x-Fix-SRDA-CC-calculation.patch [bz#2169308] -- kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch [bz#2169308] -- kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch [bz#2169308] -- kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch [bz#2169308] -- kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch [bz#2169308] -- kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch [bz#2169308] -- kvm-target-s390x-Fix-determination-of-overflow-condition.patch [bz#2169308] -- kvm-target-s390x-Fix-determination-of-overflow-conditioo.patch [bz#2169308] -- kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch [bz#2169308] -- kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch [bz#2169308] -- kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch [bz#2169308] -- kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch [bz#2169308] -- kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch [bz#2169308] -- kvm-s390x-tcg-Fix-opcode-for-lzrf.patch [bz#2169308] -- kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch [bz#2169308] -- kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch [bz#2169308] -- kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch [bz#2169308] -- kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch [bz#2169308] +- kvm-s390-kvm-adjust-diag318-resets-to-retain-data.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-SLDA-sign-bit-index.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-SRDA-CC-calculation.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-cc_calc_sla_64-missing-overflows.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-shifting-32-bit-values-for-more-tha.patch [bz#2169308 bz#2209605] +- kvm-s390x-sigp-Reorder-the-SIGP-STOP-code.patch [bz#2169308 bz#2209605] +- kvm-s390x-tcg-Fix-BRASL-with-a-large-negative-offset.patch [bz#2169308 bz#2209605] +- kvm-s390x-tcg-Fix-BRCL-with-a-large-negative-offset.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-determination-of-overflow-condition.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-determination-of-overflow-cond.patch [bz#2169308 bz#2209605] +- kvm-s390x-follow-qdev-tree-to-detect-SCSI-device-on-a-CC.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-the-accumulation-of-ccm-in-op_icm.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-writeback-to-v1-in-helper_vstl.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-fix-handling-of-zeroes-in-vfmin-vfmax.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-CLFIT-and-CLGIT-immediate-size.patch [bz#2169308 bz#2209605] +- kvm-s390x-tcg-Fix-opcode-for-lzrf.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-Fix-emulation-of-the-VISTR-instruction.patch [bz#2169308 bz#2209605] +- kvm-s390x-css-revert-SCSW-ctrl-flag-bits-on-error.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-tcg-Fix-and-improve-the-SACF-instructio.patch [bz#2169308 bz#2209605] +- kvm-target-s390x-tcg-mem_helper-Test-the-right-bits-in-p.patch [bz#2169308 bz#2209605] +- kvm-pc-bios-Add-support-for-List-Directed-IPL-from-ECKD-.patch [bz#2169308 bz#2209605] - Resolves: bz#2196880 ([virtiofs] Backport FUSE_SYNCFS support) - Resolves: bz#2169308 (Backport latest s390x-related fixes from upstream QEMU for qemu-kvm in RHEL 8.9) +- Resolves: bz#2209605 + ([IBM 8.9 FEAT] KVM: ECKD List Directed IPL - virtio (qemu)) * Fri May 19 2023 Miroslav Rezanina - 6.2.0-34 - kvm-migration-Handle-block-device-inactivation-failures-.patch [bz#2177957]