11728 Commits

Author SHA1 Message Date
mcisho afff2cf820 QETH: Prevent gcc 'may be used uninitialized' warnings from commit e3f54c1. 2026-07-11 15:36:29 +02:00
mcisho e3f54c135c QETH: Various improvements.
Don't use fixed tokens in setup exchanges.
Improve SBALE tracing.
Handle SIGA signals and queue processing synchronously.
2026-07-11 12:52:20 +02:00
mcisho af0c7c9b08 PTP: Do not discard so many packets. 2026-07-11 11:59:32 +02:00
mcisho 9f8803a118 QETH: Stop pretending the ARP query assist is supported.
If the guest does issue one of the ARP query commands QETH responds with a not supported return code.
2026-07-02 14:27:24 +02:00
Fish (David B. Trout) 5744d9b216 Update Linux autoconf files in light of recent commits/pulls 2026-06-02 10:22:24 -07:00
Fish (David B. Trout) aa8bfb6a30 YET ANOTHER fix to PR #840!
(Sheesh!) (I'll get it right yet!)

Add new README.WebSocket.md to Linux Makefile.am
2026-06-02 10:08:43 -07:00
Fish (David B. Trout) c0af559003 ANOTHER fix missed in earlier Pull Request approval #840:
* Add new README.WebSocket.md to OTHER Visual Studio projects too!

(Again, this was MY fault for not mentioning them in my PR approval, NOT the fault of the PR's author.)
2026-06-02 09:54:04 -07:00
Fish (David B. Trout) bd2788b8a6 Fix minor issues missed in previous Pull Request #840:
My bad! I missed these in my final Review/Approval of PR #840:

1. Add new README.WebSocket.md to VS2008 .vcproj
2. Fix Contents links in new README (links must be lowercase)
3. Add link to new README to Primary README's "Features and Operation" section

This was MY fault (for not mentioning them in my review)), NOT the fault of the PR's author.
2026-06-02 09:36:35 -07:00
Alexandre Bencz 3557ce18fa Add WebSocket console transport (WSCNSLPORT) alongside the existing telnet console (#840)
* Add WebSocket console transport (WSCNSLPORT) alongside the existing telnet console

* Added documentation and fix for vs2008

* Added IronTerm as a webterminal reference

* Fix MOD_RULES2.msvc to include wscnsl
2026-06-02 08:45:40 -07:00
Fish (David B. Trout) 620cb51ed9 Needed dasd 'cu=' DOC tweak in light of GitHub Issue #848. 2026-05-31 07:25:31 -07:00
Andrew Gadsby 59df540ec6 Stop browser modifying user entered text (#847)
Some browsers e.g. Safari on iphone, convert text entered into smart text [ case changed, spell check, left and right quotes, etc.] . Stop this happening and pass what the user typed in ASCII to  Hercules.
2026-05-29 07:12:39 -07:00
Andrew Gadsby 587ae77879 Update System Log link in tasks.html (#846)
Modified syslog link to only refesh sub frame -prevents unnecessary reload of fishgui.
2026-05-24 07:09:51 -07:00
Fish (David B. Trout) d02c7a0fb1 Fix Wrong processor count on Linux when HT disabled #842 2026-05-23 08:16:19 -07:00
James Wekel 8d7361cf00 add Diagnose F1C: Get 32-bits of Hercules feature list 2026-05-20 12:06:26 -06:00
James Wekel 8bb1e74f11 major update to ipl/reipl Diag 308 for subcodes 1 (Start Kernel/Load Normal Reset), 3 (Load Clear), 4 (Load Normal Dump), 5 (Set) and 6 (Store) 2026-05-20 11:24:58 -06:00
Fish (David B. Trout) 76443275c9 Merge branch 'develop' of https://github.com/SDL-Hercules-390/hyperion into develop 2026-05-20 09:13:27 -07:00
Fish (David B. Trout) f0f9b5704d * By request tweak: add [P|S|H] (Primary/Secondary/Home) option to "b+" breakpoint "asid" parameter 2026-05-20 09:12:57 -07:00
Andrew Gadsby dbd22cb78c Add mini analogue meter to panel. (#843)
Refactor HTML to switch to CSS to enable meter placement.

JavaScript code to add a mini meter to show CPU busy%, MIPS and SIOs.
2026-05-20 08:15:44 -07:00
Fish (David B. Trout) e2a1177f38 (oops! sorry!) Fix warnings introduced by previous commit 2026-05-17 07:16:35 -07:00
Fish (David B. Trout) 683f10c28f By request: add [H|P] (Home/Primary) option to "b+" breakpoint "asid" parameter 2026-05-16 09:30:00 -07:00
Andrew Gadsby ee8433581b Update cgibin_api_v1_rates to include cpupct (#841)
Extend JSON fields to allow cpupct busy to be returned
2026-05-16 07:26:13 -07:00
James Wekel 1018148da8 Update CRASH() to crash when compiled with clang and an optimization level >= 1 2026-05-12 11:54:09 -06:00
Fish (David B. Trout) fd7c57fb86 Finish adding new html files to repository?? 2026-05-06 12:20:53 -07:00
Andrew Gadsby f9bbcf7440 HTML changes to address cmd destruction in issue #804 and move to JavaScript for better user experience (#838)
* Add new httml files to dist_pkgdata_DATA

* Add new html files  to distribution package data

* Update System Log link to point to console.html

* Refactor fishgui.html with modern JavaScript

* Update frameset structure in hercules.html

* Add new console html handlers

syslog provides scrolling log viewer.
cmd handles keyboard input and help screen  - USE ALT-H for Help.
console replaces the old frames and decouples cmd entry and log handling.
2026-05-06 12:06:15 -07:00
Andrew Gadsby 9d4515a675 FIX PR #837: Step 2 of 2: Fix 'strptime' issue 2026-05-05 14:59:48 -07:00
Fish (David B. Trout) bdf554a347 FIX PR #837: Step 1 of 2: Revert previous revert
This reverts c55ae94be3, reinstating the original broken PR #837 code.
2026-05-05 14:56:00 -07:00
Fish (David B. Trout) c55ae94be3 (Oops!) Revert previous PR #837 commit until "strptime" can be resolved!
This reverts commit 48f36c1cc1.
2026-05-04 09:53:48 -07:00
Andrew Gadsby 48f36c1cc1 Changes to switch for static 7 day caching to use modification time of files. (#837)
* Remove HTML_EXPIRE_SECS definition and add mod_time

Enabler for fixing browser caching pages even when changed.

* Modify http_timestring for GMT and add headers

Updated http_timestring to use gmtime for HTTP compliance and added Last-Modified header in response.

This changes allows the browser to refresh the page only if it has changed on the server
2026-05-04 09:28:27 -07:00
gottfriedleibniz 841515e590 Fix issue #836: commit 3d239d3: NULL byte in HTTP stream bug 2026-05-02 12:34:57 -07:00
gottfriedleibniz 3d239d3db5 cleanup va_start/va_end and introduce vasprintf (#826)
* refactor: cleanup va_start/va_end

- Missing va_end statements;
- Incorrect va_copy ordering in BFR_VSNPRINTF;
- Sanitize snprintf results or ensure buffer is initially \0'd.

* refactor: introduce vasprintf

Replace dynamic format string allocation (i.e., incrementing a buffer by
a fixed amount until vsnprintf returns success) with vasprintf.
Polyfill'ing for builds that do not include the GNU extension.
2026-04-30 12:44:49 -07:00
Fish (David B. Trout) 9617672195 Fix "NoUI" mode unintentional exit upon stopall command 2026-04-29 14:44:23 -07:00
Fish (David B. Trout) cf3ec3e678 Use 'PATH_MAX', not 'MAX_PATH':
Since 'PATH_MAX' is used elsewhere throughout the rest of Hercules, for consistency, we should be using it here too.
2026-04-28 07:59:14 -07:00
Ian Shorter d58918dca6 Corrections to previous commit that prevented build on Linux. 2026-04-27 11:49:27 +01:00
Fish (David B. Trout) e20c4f2c5f More friendly/intuitive tape file/drive commands:
The "devinit" command and its syntax is not exactly intuitive when it comes to mounting/dismounting tape files onto/from tape drive devices.
2026-04-25 13:15:16 -07:00
Andrew Gadsby be17ca0b07 Minor fixes to prevent command issues (#834)
Address issue whereby commands submitted via the cgi-bin/tasks/cmd route were duplicated in the log.

Ensure on the JSON api that if using "index" all available newly added lines are returned (subtle interaction with msgbuf cookie if set!)

Removed hard coded link to syslog in IPL (user can just click on System Log in the "tasks" panel.
2026-04-25 10:20:55 -07:00
James Wekel 9312855850 minor refactor zvector2.c 2026-04-22 13:17:49 -06:00
James Wekel 85bf41cfa3 minor comment update: zvector2 tests 2026-04-20 10:38:09 -06:00
gottfriedleibniz 126ece58f9 Address miscellaneous compiler warnings/issues (#825)
* Address miscellaneous compiler warnings

This commit looks through all compiler warnings generated by clang and
MSVC (including Windows ARM64) and picks the low hanging fruit.

Compiling (clang version 20.1.8) with added flags:
  -Wno-incompatible-pointer-types
  -Wno-pointer-sign
  -Wno-unused-but-set-variable
  -Wno-unused-local-typedef

Changes:
  bootstrap.c: warning : format specifies type 'unsigned int' but the argument has type 'DWORD' (aka 'unsigned long')
  ctc: warning : unused variable 'saw_if'
  dyn76.c: warning : variable 'R4' is used uninitialized whenever 'if' condition is false
  getopt.c: warning : a function definition without a prototype is deprecated in all versions of C and is not supported in C23
  hdl.c: warning : unused parameter 'flag' [-Wunused-parameter]
  msgenu.h: ... an invalid preprocessing token [-Winvalid-token-paste]
  tt32api.h: warning : non-portable path to file 'tt32if.h'; specified path differs in case from file name on disk
  vstore.h: warning : absolute value function 'labs' given an argument of type '__ptrdiff_t' (aka 'long long') but has parameter of type 'long' which may cause truncation of value
  zvector2.c: remove '_USE_128_' define that was moved to zvector.h

---

Compiling (cl.exe version 19.50.35725) with added flags:
  /W4 /wd4323 /wd4152 /wd4703 /wd4201

Changes:
  warning C4245: 'function': conversion from 'int' to 'BYTE', signed/unsigned mismatch (compiling source file control.c)
  warning C4389: '!=': signed/unsigned mismatch (compiling source file control.c)
  warning C4100: 'secs': unreferenced parameter (compiling source file netsupp.c)
  warning C4100: 'iFlags': unreferenced parameter (compiling source file tuntap.c)

---

Compiling (gcc (Ubuntu 15.2.0-4ubuntu4) 15.2.0):
Compiling (gcc (GCC) 16.0.1 20260305 (Red Hat 16.0.1-0)):
  Wunterminated-string-initialization was introduced in GCC-15. An
  alternate solution would be to use: __attribute__((nonstring))

Changes:
  loadmem.c:102:32: warning: initializer-string for array of ‘char’ truncates NUL terminator but destination lacks ‘nonstring’ attribute (9 chars into 8 available) [-Wunterminated-string-initialization]

---

Compiling (clang version 22.1.1 (Fedora 22.1.1-2.fc44))
Compiling (gcc (GCC) 16.0.1 20260305 (Red Hat 16.0.1-0))

Changes:
  cgibin.c:1662:1: warning: ‘/*’ within comment [-Wcomment]
  dasdcat.c:463:13: warning: variable ‘trks’ set but not used [-Wunused-but-set-variable=]
  dasdpdsu.c:172:13: warning: variable ‘trks’ set but not used [-Wunused-but-set-variable=]
  hscutl.c:1325:15: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  hscutl.c:1326:15: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  msgenu.h:222:33: warning: ‘off_size’ may be used uninitialized [-Wmaybe-uninitialized] (after fixing above)
  transact.c:230:13: warning: variable ‘effective_addr2’ set but not used [-Wunused-but-set-variable=]
  transact.c:708:9: warning: variable ‘effective_addr1’ set but not used [-Wunused-but-set-variable=]

* VS2013: fix compile error

C99 Compliant floating-point classification macros were introduced in
VS2013; see: https://devblogs.microsoft.com/cppblog/c99-library-support-in-visual-studio-2013/

* w32stape.c: CAS multi-threaded initialization

Use Compare-and-Swap in initialization functions that may be called from
multiple threads.

* opcode.h: avoid declaring ops w/ dynamic instructions

Allows modification of the storage class specifier and attributes of
undefined instructions (UNDEF_INST).
2026-04-20 05:39:01 -07:00
Fish (David B. Trout) 2d6c55d521 Merge branch 'develop' of https://github.com/SDL-Hercules-390/hyperion into develop 2026-04-18 12:02:37 -07:00
Fish (David B. Trout) e7e53f16b1 "sizeof" command: report sizeof( bool ) 2026-04-18 12:02:09 -07:00
James Wekel cdda91c27e Some more updates to VCNF, VCLFNH, VCFN, VCLFNL, and VCRNF instructions and tests 2026-04-17 15:58:51 -06:00
James Wekel 8cda82dbfd More updates to VCNF, VCLFNH, VCFN, VCLFNL, and VCRNF instructions and tests 2026-04-16 23:42:52 -06:00
Fish (David B. Trout) 5e18562369 (cosmetic: remove trailing blanks) 2026-04-16 18:01:50 -07:00
gottfriedleibniz 6ff24aa680 Fix errors reported by valgrind (#827)
* ctc_lcs.c: ensure pszTUNDevice is free'd

'pszTUNDevice = strdup( DEF_NETDEV );' is definitely lost.
pszOATFilename check included to follow convention.

* cckddasd.c: ensure dasdsfn is free'd

1. ckd_dasd_init_handler invokes cckd_sf_parse_sfn
2. ckd_dasd_init_handler invokes ckd64_dasd_init_handler
3. ckd64_dasd_init_handler invokes cckd_sf_parse_sfn

Leaving previous dasdsfn dangling. Given how 'dasdsfn' is managed (e.g.,
in attach_device and dasd_close_device), it may be more elegant to
compare the previous dasdsfn to the current pathname and throwing a
warning if they are different.

* config.c: ensure prev_buf is free'd

* panel.c: zero prev_psw

To avoid instances of memcmp'ing random stack data with curr_psw.

* control.c: zero newregs tlb

ARCH_DEP( maddr_l ) may reference tlb.asb and tlb.common - ensure
newregs in program_return does not reference garbage stack data.

* cckddasd64.c: zero L2_pad

To avoid feeding random stack data to syscalls later on (e.g., write in
cckd64_write).

* panel.c: ensure messages are null delimited

Uses of string.h functions and regexec assume the string is null
delimited. This may not be true with some _PANMSG msg uses.

* ecpsvm.c: ensure buffer is null delimited

* refactor: CPU_BITMAP formatting

When CPU_BITMAP is __uint128_t and F_CPU_BITMAP is '"%16.16"PRIX64',
random/clobbered stack data will be referenced in the associated libc
formatting routines used by fwritemsg due to the different stack
alignment requirements of the variadic arguments.

* refactor: reorganize history_init

panel_command may be invoked (e.g., 'LPARNUM BASIC') prior to the panel
display thread being initialized. This can lead to history_add being
invoked prior to history_init (causing dangling pointers).

* cckddasd64: zero the entire free block to avoid writing garbage to underlying file

Per MemorySanitizer

* w32util.c: set_thread_name buffer overflow

Ensures correct nNumberOfArguments argument on x64. Updated the struct
definition to match the Microsoft documentation:

https://learn.microsoft.com/en-us/visualstudio/debugger/tips-for-debugging-threads

SetThreadDescription was introduced in Windows 10 version 1607, so
Kernel32.dll could technically be probed to see if that export exists.
2026-04-16 16:34:46 -07:00
James Wekel d7ce09a671 Update VCNF, VCLFNH, VCFN, VCLFNL, and VCRNF instructions and tests 2026-04-14 12:37:44 -06:00
James Wekel 1a6880c18d Correct VTP extended sign check and update VTP test 2026-04-11 10:44:08 -06:00
James Wekel 187f79ff95 Correct sign when VCVDQ instruction result is zero and update VCVDQ test 2026-04-10 14:59:16 -06:00
James Wekel abeb666d63 Correct VTZ instruction and test for ELS-type-zoned format 2026-04-10 13:06:51 -06:00
gottfriedleibniz d79382bbfe Run codespell on README, build, and source files. (#824)
* chore: run codespell on source/header files

Fixes most reported typos discovered by codespell (while trying to be
unopinionated about American vs. British English).

* chore: run codespell on build/readme files
2026-04-10 11:01:50 -07:00
James Wekel 4f99c5b51c Update VPSOP instruction test for 'vector-packed-decimal-enhancement facility 3'. Add additional tests for VSRP instruction. 2026-04-09 15:44:10 -06:00