From d212ddb803b4bfe9ef24c1d2025ba0719a258da5 Mon Sep 17 00:00:00 2001 From: rhialto Date: Wed, 12 Jul 2023 17:17:15 +0000 Subject: [PATCH] emulators/hercules4sdl: update to 4.6. from https://sdl-hercules-390.github.io/html/hercnew.html: Summary of Changes: ------------------- * SECURITY: New "\reply" SCP command to suppress command echoing of passwords (Fish) (#541) * Fix endianness bug in PFPO instruction (#523) * Fix some endianness issues in TRTE, TRTRE, TRTE, TRTRE, TRTE and TRTRE instructions (James Wekel) (#529) * Fix CODEPAGE message corruption in HERCIFC (Bill Lewis) (#525) * Fix some minor z/Arch Facility related bugs (Fish) * Fix BZIP2 API bug in hetlib.c (Fish) (#535) * Fix missing last dump line bug in dasdutil trace (Fish) * Fix crash if "ctc debug" command on unconnected CTCE device (Fish) (#536) * Fix segfault in 370 mode IPL (Bill Lewis) (#538) * Fix to show version and help if no arguments given (Fish) (#540, #548) * Fix incorrect NUMCPU/ARCHLVL/etc handling causing occasional hang (Fish) (#542) * Fix branding SNAFU: "SDL" does NOT mean this Hercules is a "SoftDevLabs" product! (Fish) * Fix bug causing MVT guest to fail (Fish) * Fix Program check detection if PER trace active (Fish) (#560) * New: 'QUITMOUT' command/statement, per user request (Fish) * NEW: "Trace to File" support (Fish) (#33) * New "t+CPU [cpuad]" selective instruction tracing by CPU (Fish) * NEW: Sockdev socket punch support (Fish) (#553) * New 'txt2card' utility (Fish) * Don't enable STHYI/ESSA by default (#531) * Improve PFPO instruction conformance (Fish) * Add single devnum support to CKD Search Key trace command (Fish) * Enhance "t?" command to also show active device tracing (Fish) * Improve CCW tracing (Fish) * Add "ADDFRR" MVS assist (Jay Maynard) (#537) * Better HMC message handling for s390x Linux guests (Fish) (#534) * Document MAKETAPE via README (Fish) * Add support for dasd X'F7' (DSO = Define Subsystem Operation) CCW (Fish) (#547) * DASDLOAD: Increase MAXDSCB and allow cmdline override (Fish) (#566) --- emulators/hercules4sdl/Makefile | 5 +- emulators/hercules4sdl/PLIST | 5 +- emulators/hercules4sdl/distinfo | 10 +- emulators/hercules4sdl/patches/patch-hscutl.c | 29 ----- .../hercules4sdl/patches/patch-issue-525 | 121 ------------------ 5 files changed, 10 insertions(+), 160 deletions(-) delete mode 100644 emulators/hercules4sdl/patches/patch-hscutl.c delete mode 100644 emulators/hercules4sdl/patches/patch-issue-525 diff --git a/emulators/hercules4sdl/Makefile b/emulators/hercules4sdl/Makefile index 614f184ceae6..129f7f9d323c 100644 --- a/emulators/hercules4sdl/Makefile +++ b/emulators/hercules4sdl/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.11 2023/03/02 17:05:12 rhialto Exp $ +# $NetBSD: Makefile,v 1.12 2023/07/12 17:17:15 rhialto Exp $ -PKGNAME= hercules4sdl-4.5 -PKGREVISION= 2 +PKGNAME= hercules4sdl-4.6 DISTNAME= hyperion-Release_${PKGVERSION_NOREV} CATEGORIES= emulators MASTER_SITES= ${MASTER_SITE_GITHUB:=SDL-Hercules-390/} diff --git a/emulators/hercules4sdl/PLIST b/emulators/hercules4sdl/PLIST index 0d9cb50c8d23..14ac61219dd4 100644 --- a/emulators/hercules4sdl/PLIST +++ b/emulators/hercules4sdl/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.3 2022/11/27 15:43:13 rhialto Exp $ +@comment $NetBSD: PLIST,v 1.4 2023/07/12 17:17:15 rhialto Exp $ bin/cckd2ckd bin/cckd642ckd bin/cckdcdsk @@ -44,6 +44,9 @@ bin/maketape bin/tapecopy bin/tapemap bin/tapesplt +bin/tfprint +bin/tfswap +bin/txt2card bin/vmfplc2 lib/hercules/dyncrypt.la lib/hercules/dyngui.la diff --git a/emulators/hercules4sdl/distinfo b/emulators/hercules4sdl/distinfo index 2b0068602c0a..83f5a8b8a5a5 100644 --- a/emulators/hercules4sdl/distinfo +++ b/emulators/hercules4sdl/distinfo @@ -1,9 +1,7 @@ -$NetBSD: distinfo,v 1.7 2023/03/02 17:05:12 rhialto Exp $ +$NetBSD: distinfo,v 1.8 2023/07/12 17:17:15 rhialto Exp $ -BLAKE2s (hyperion-Release_4.5.tar.gz) = 2e39391bdfcd789f46e247e74a108fafbab82da8cae6fad4ee6bf8ae13ea5aa1 -SHA512 (hyperion-Release_4.5.tar.gz) = 8129bd9129bd8aa1323cf9caa166eabbfe2f9fd2ac93bfc411060ee7d5bd81b1e4f489c816a2ce55a5d4e69f4658d87eae8c534fa5581ef2c951768be43e6be0 -Size (hyperion-Release_4.5.tar.gz) = 24271753 bytes +BLAKE2s (hyperion-Release_4.6.tar.gz) = 85888dc8124649f5753674f06553847505a9915625601fef719cec7c51d2d7b4 +SHA512 (hyperion-Release_4.6.tar.gz) = 82472cffb87fc9f29559f599b2600b43d55be4c522e7e48d948aa1e98000b221bbe612ab4e259617920df29c0122a02d2dbd5ad8e0a1e64ed02bac1ac31d19e9 +Size (hyperion-Release_4.6.tar.gz) = 24697723 bytes SHA1 (patch-Makefile.am) = 6ae600095ffb29aab2a5e1e467f79a40e814f26d SHA1 (patch-configure.ac) = 734f64da8f4ce0f790d4eac0f352649d1b6d08f2 -SHA1 (patch-hscutl.c) = e8ff75e163b2339908a17c9aac6eeadef287f9a9 -SHA1 (patch-issue-525) = 6ec2b5cb760da92ca667bc3f29317bdf770fcbe0 diff --git a/emulators/hercules4sdl/patches/patch-hscutl.c b/emulators/hercules4sdl/patches/patch-hscutl.c deleted file mode 100644 index 47ff4e8dddac..000000000000 --- a/emulators/hercules4sdl/patches/patch-hscutl.c +++ /dev/null @@ -1,29 +0,0 @@ -$NetBSD: patch-hscutl.c,v 1.1 2023/03/02 17:05:12 rhialto Exp $ - -Pulled up a patch from the current development version. -As discussed in the hercules-390 mailing list, of which the archives are -currently members-only: -https://hercules-390.groups.io/g/group/message/5475 - -commit 2d443708f596dec8953758cabb4999c840f0d093 -Author: Fish (David B. Trout) -Date: Sat Feb 25 13:16:37 2023 -0800 - - Fix my careless bug causing MVT to fail! - -diff --git a/hscutl.c b/hscutl.c -index 5e61e0f4..262ae056 100644 ---- hscutl.c -+++ hscutl.c -@@ -2024,7 +2024,10 @@ DLL_EXPORT U64 do_make_psw64( PSW* psw, BYTE real_ilc, int arch /*370/390/900*/, - b23 = psw->intcode; - - b4 = 0 -- | (real_ilc << 6) -+ | ((real_ilc >> 1) << 6) // CAREFUL! Herc's ilc value -+ // is the ACTUAL length (2, -+ // 4 or 6), but the value in -+ // the PSW is either 1,2,3!) - | (psw->cc << 4) - | psw->progmask - ; diff --git a/emulators/hercules4sdl/patches/patch-issue-525 b/emulators/hercules4sdl/patches/patch-issue-525 deleted file mode 100644 index fb261f1fcb46..000000000000 --- a/emulators/hercules4sdl/patches/patch-issue-525 +++ /dev/null @@ -1,121 +0,0 @@ -$NetBSD: patch-issue-525,v 1.1 2022/12/13 18:41:52 rhialto Exp $ - -Cherry-pick from -https://github.com/SDL-Hercules-390/hyperion/commit/2e2e942fb38f43842e8a9e2800aa42c346bfb050.patch - -From 2e2e942fb38f43842e8a9e2800aa42c346bfb050 Mon Sep 17 00:00:00 2001 -From: Bill Lewis -Date: Sat, 10 Dec 2022 12:15:20 -0500 -Subject: [PATCH] Fix for Issue #525 - -Don't issue messages when setting the CODEPAGE from Hercifc, as they can wind up in the stream, corrupting data exchange with Hercules. ---- - codepage.c | 36 ++++++++++++++++++++++++++---------- - codepage.h | 1 + - hercifc.c | 2 +- - tuntap.c | 2 +- - 4 files changed, 29 insertions(+), 12 deletions(-) - -diff --git a/codepage.c b/codepage.c -index 4c3325ad1..7e507e245 100644 ---- codepage.c -+++ codepage.c -@@ -1076,7 +1076,10 @@ DLL_EXPORT bool valid_codepage_name( const char* name ) - return false; - } - --DLL_EXPORT void set_codepage( const char* name ) -+#define SETCODEPAGE_SILENT 1 -+#define SETCODEPAGE_VERBOSE 2 -+ -+static void set_codepage_internal( const char* name, int msgflag ) - { - int dflt = FALSE; - -@@ -1089,7 +1092,7 @@ DLL_EXPORT void set_codepage( const char* name ) - - if( strcasecmp(name,"user") == 0 && user_in_use == FALSE ) - { -- WRMSG( HHC01477, "W" ); -+ if( msgflag == SETCODEPAGE_VERBOSE) WRMSG( HHC01477, "W" ); - name = "default"; - } - -@@ -1100,18 +1103,31 @@ DLL_EXPORT void set_codepage( const char* name ) - if( codepage_conv->name && strcasecmp(codepage_conv->name,"user") == 0 && user_in_use == FALSE ) - codepage_conv++; - -- if(codepage_conv->name) -- { -- if (!dflt) -- WRMSG(HHC01474, "I", "internal", name); -- } -- else -+ if( msgflag == SETCODEPAGE_VERBOSE ) - { -- if (!dflt) -- WRMSG (HHC01475, "E", name); -+ if(codepage_conv->name) -+ { -+ if (!dflt) -+ WRMSG(HHC01474, "I", "internal", name); -+ } -+ else -+ { -+ if (!dflt) -+ WRMSG (HHC01475, "E", name); -+ } - } - } - -+DLL_EXPORT void set_codepage( const char* name ) -+{ -+ set_codepage_internal( name, SETCODEPAGE_VERBOSE ); -+} -+ -+DLL_EXPORT void set_codepage_no_msgs( const char* name ) -+{ -+ set_codepage_internal( name, SETCODEPAGE_SILENT ); -+} -+ - DLL_EXPORT int update_codepage(int argc, char *argv[], char *cmd ) - { - int rc = 0; -diff --git a/codepage.h b/codepage.h -index 7e4edbc98..a44a58d14 100644 ---- codepage.h -+++ codepage.h -@@ -14,6 +14,7 @@ - COD_DLL_IMPORT const char* query_codepage(); - COD_DLL_IMPORT bool valid_codepage_name( const char* name ); - COD_DLL_IMPORT void set_codepage( const char *name); -+COD_DLL_IMPORT void set_codepage_no_msgs( const char* name ); - COD_DLL_IMPORT int update_codepage(int argc, char *argv[], char *table ); - COD_DLL_IMPORT unsigned char host_to_guest (unsigned char byte); - COD_DLL_IMPORT unsigned char guest_to_host (unsigned char byte); -diff --git a/hercifc.c b/hercifc.c -index d8260d247..1e2ceebc9 100644 ---- hercifc.c -+++ hercifc.c -@@ -62,7 +62,7 @@ int main( int argc, char **argv ) - sysblk.msglvl = atoi( argv[1] ); - - if (argv[2]) -- set_codepage( argv[2] ); -+ set_codepage_no_msgs( argv[2] ); - } - - // Must not be run from the commandline -diff --git a/tuntap.c b/tuntap.c -index 90708f087..11ddae78a 100644 ---- tuntap.c -+++ tuntap.c -@@ -222,7 +222,7 @@ static int TUNTAP_SetMode (int fd, struct hifr *hifr, int iFlags) - // Output: - // pfd Pointer to receive the file descriptor of the - // TUN/TAP interface. --// pszNetDevName Pointer to receive the name if the interface. -+// pszNetDevName Pointer to receive the name of the interface. - - int TUNTAP_CreateInterface( char* pszTUNDevice, - int iFlags,