106 Commits

Author SHA1 Message Date
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 c5770ded00 add 'concurrent-functions facility' with instructions CAL, CALG, CALGF and undocumented PFCR 2026-03-07 13:40:31 -07:00
JamesWekel 246e1ade25 Add new instructions introduced with "Miscellaneous-instruction- extensions facility 4" 2025-10-22 13:57:23 -06:00
Fish (David B. Trout) 5517d32243 Fix shift left negative overflow test! (sorry!) 2024-03-23 08:21:52 -07:00
Fish (David B. Trout) 02a90a187f Improve performance of SLA, SLDA, SLAK, SLAG instructions 2024-03-22 23:31:02 -07:00
Fish (David B. Trout) 9123e40f31 REMOVE temporary TXF guesswork from facilities support 2022-07-20 14:31:40 -07:00
Fish (David B. Trout) 42e3a87558 Consistent TXF macro names: TRANS... ==> TXF... 2022-03-31 12:25:41 -07:00
Fish (David B. Trout) 90fa75ef33 PER Zero-Address Detection Facility 2022-02-19 16:03:03 -08:00
Fish (David B. Trout) 4d94cebd43 Fix minor bug in LAA/LAAG et al. instructions:
Helper functions weren't checking for boundary alignment Specification Exception.
2021-05-14 11:27:03 -07:00
Fish (David B. Trout) 6952a34967 Copyright 2021 [skip travis] 2021-03-02 23:17:24 -08:00
Fish (David B. Trout) f54122e2eb Miscellaneous-Instruction-Extensions Facilities 2 and 3 2021-01-05 14:16:07 -08:00
Fish (David B. Trout) 34770ffd8c TXF: implement model dependent restrictions 2020-11-21 15:25:37 -08:00
Fish (David B. Trout) abe92d7fd4 Implement TXF constraint 4 2020-10-17 12:21:27 -07:00
Fish (David B. Trout) a78793ac55 Branch instruction and TXF constraint fixes:
1. Ensure PSW ILC is always accurate (for instructions that don't formally decode the instruction, such as many of the branch instructions). This was one of the root causes of inaccurate/problematic program interrupt (i.e. "Program Check") tracing, fixed in next commit.

2. Use new TXF TRAN/CONTRAN ... _IP macros for those instructions that don't formally decode the instruction (i.e. most all branch instructions for example). The trailing "_IP" in their name indicates that regs->ip is expected to be pointing AT the instruction and not past it (like most other instruction decoders do).

3. Convert SUCCESSFUL_BRANCH et al. macros into function calls and define new "SuccessfulBranch" et al. functions in cpu.c.

[skip travis]
2020-08-26 15:44:47 -07:00
Fish (David B. Trout) 3002f31aff Cosmetic:
Add additional PTT trace statements in a few places, cosmetic comment tweaks to a bunch of branch instructions, extensively document some important opcode.h macros.

[skip travis]
2020-08-26 15:22:44 -07:00
Fish (David B. Trout) e9bfff64c6 Fix instruction (mostly decoders) PSW.ilc update issue:
I can understand having specialized decoders for branch instructions that skips bumping the regs->ip instruction pointer (since it's unknown at that point whether the branch will be taken or not), but not bothering to properly update regs->psw.ilc does NOT make any sense and only serves to cause problems with attempts to correctly display on which instruction a program check happened to have occurred.
2020-08-09 05:03:13 -07:00
Fish (David B. Trout) 5ada3a95cd Instruction decoders cleanup part 8: IBM formats:
Update instruction comments with actual IBM formats, as well as in the new GENx370x390x900 macro argument (opcode.c column) too.

Some instruction functions moved the *follow* the OPTION_OPTINST optimized functions instead of preceding them (for easier parsing(*)).

That's pretty much it for right now.

More to come in future commits as this project progresses.

[skip travis]
-----------------
(*) I've written a custom tool to help me with this project and doing so makes it easier for my program to deal with (parse) Hercules code.
2020-05-17 22:06:52 -07:00
Fish (David B. Trout) 51d55b146b Minor cosmetic + cosmetic typo fix
[skip travis]
2020-05-17 22:06:50 -07:00
Fish (David B. Trout) 0af2da0d59 (cosmetic) [skip travis] 2020-05-17 22:06:49 -07:00
Fish (David B. Trout) 58b993c85b (cosmetic) [skip travis] 2020-05-17 22:06:48 -07:00
Fish (David B. Trout) 8396c7ac35 Instruction decoders cleanup part 6: cosmetic:
Standardize decoder variable name usage.

[skip travis]
2020-05-17 22:06:48 -07:00
Fish (David B. Trout) a887d292d1 TXF ...INSTR_CHECK fixes/tweaks:
Add missing CONTRAN_INSTR_CHECK, delete some others, replace others w/TRAN_INSTR_CHECK
Fix some branch instrutions via new TRAN_SET_ADDRESSING_MODE_CHECK and TRAN_BRANCH_SET_MODE_CHECK macros
Fix MC (Monitor Call) constraint
Use new TRAN_MISC_INSTR_CHECK in a few places

[skip travis]
2020-05-17 22:06:28 -07:00
Fish (David B. Trout) 09cd0bf7f2 (cosmsetic: add/remove blank lines, etc)
[skip travis]
2020-05-17 22:06:27 -07:00
Fish (David B. Trout) c38c49e199 TXF: fishfix: general3.c: use ZCACHE_LINE_SIZE
[skip travis]
2020-05-17 22:06:23 -07:00
Fish (David B. Trout) 8ae70f2ef7 TXF: bobclean: Replace txf instruction checks with macros instead
[skip travis]
2020-05-17 22:06:19 -07:00
Fish (David B. Trout) 0312dd0b3d TXF: bobclean: abort_transaction calls: use names not hard-coded numbers
[skip travis]
2020-05-17 22:06:18 -07:00
rwoodpd b37d6ae82a TXF: bobraw: Bob's original implementation
[skip travis]
2020-05-17 22:06:18 -07:00
Fish (David B. Trout) efe1d01d20 HUGE REVERT in preparation for "TXF" series of commits
[skip travis]

Revert "3390 DASD CCW Command SNID (x'34') Correction for RESERVE/RELEASE"

This reverts commit 9fd1dfff4d.

Revert "(Oops!) I did accidentally change functionality! Sorry!"

This reverts commit cb24398570.

Revert "Clean up overall ARCH_DEP structure of hscmisc.c module:"

This reverts commit f99cae0938.

Revert "Suppress HHC00814I and HHC00809I for OSTAILOR VM"

This reverts commit 97ef4d5bce.

Revert "Fix comments to match current state of controversy"

This reverts commit 7aa3c4413a.

Revert "Revert "Fix minor bug in CDFTR/CXFTR instructions""

This reverts commit e4e60f37dc.

Revert "Fix minor bug in CDFTR/CXFTR instructions"

This reverts commit 0f382a7875.

Revert "Eliminate compiler warning."

This reverts commit a5ad6b0a22.

Revert "Add missing */ to facility 20 comment."

This reverts commit adfd31d280.

Revert "Update What's New [skip travis]"

This reverts commit 5b5cdf0249.

Revert "Fix z/VM guest arch switch bug identified in issue #295"

This reverts commit f5504fe407.

Revert "Update documentation. [skip travis]"

This reverts commit 8caa8b15d6.

Revert "Fix for IPL command without a LOADPARM (#296)"

This reverts commit 328e99a685.

Revert "(fix typo) [skip travis]"

This reverts commit 6665c1017a.

Revert "Update What's New and Release Notes web pages"

This reverts commit 21380cd537.

Revert "Cosmetic: remove change indicator comments"

This reverts commit 3ff73f53cb.

Revert "Cosmetic: DIAG = RS_a format."

This reverts commit 67bc1d46be.

Revert "Stop panel select watching logger pipe:"

This reverts commit bef8eb0012.

Revert "(missed one!) [skip travis]"

This reverts commit 017e4374b6.

Revert "Minor cosmetic inst format fixes"

This reverts commit c97e01a6e6.

Revert "Instruction decoders cleanup part 8: IBM formats:"

This reverts commit 977de05643.

Revert "CTCE v2 Circumventing VM/SP Problem and Minor Improvements"

This reverts commit 5080ee8059.

Revert "Fix incomplete network device group crash:"

This reverts commit 590623a729.

Revert "Workaround for VS2019 compiler bug:"

This reverts commit 3a94e280e9.

Revert "Documentation: clarify QETH statement "iface" parameter."

This reverts commit 216da217b6.

Revert "Disable DEBUG_FREESPACE build option:"

This reverts commit 68d91c0648.

Revert "Minor cosmetic + cosmetic typo fix"

This reverts commit e1cbea7326.

Revert "I/O interrupt tracing tweak:"

This reverts commit e004d298d6.

Revert "Cosmetic in preparation for next commit"

This reverts commit 456a0c4c95.

Revert "100% cosmetic: [skip travis]"

This reverts commit 5da6a86c89.

Revert "Cosmetic doc update to HERCLOGO readme [skip travis]"

This reverts commit 7efbcefe28.

Revert "Add dummy device to MSVC Windows build"

This reverts commit 91821019f2.

Revert "Cosmetic: reorg into alpha seq [skip travis]"

This reverts commit 382185ed78.

Revert "Chore: finalize dummy device skeleton"

This reverts commit 73a69e3d4c.

Revert "Fix : Updates to dummy device skeleton"

This reverts commit 9f4c91c352.

Revert "(cosmetic) [skip travis]"

This reverts commit 125c455cfb.

Revert "Instruction decoders cleanup part 7: delete unused IPRINT_FUNC"

This reverts commit fb6f3d5d97.

Revert "Instruction decoders cleanup part 7: delete unused decoders"

This reverts commit 9e8b0e1ca9.

Revert "Instruction decoders cleanup part 6: cosmetic:"

This reverts commit df8fd6e69a.

Revert "Fix: type in Makefile.am"

This reverts commit 73b3d56a31.

Revert "Updare Variuous anciliary files"

This reverts commit 49c3065a69.

Revert "Chore : tcpnje rewrite"

This reverts commit 011c66c778.

Revert "Add missing Vector Facility macros"

This reverts commit 515c428cb7.

Revert "Instruction decoders cleanup part 5: cosmetic:"

This reverts commit 94498258d5.

Revert "Instruction decoders cleanup part 4: fix RRD snafu:"

This reverts commit e899a610f0.

Revert "Instruction decoders cleanup parts 2 and 3:"

This reverts commit aa24c44b27.

Revert "Bug in SSF instruction decoder. Closes #287."

This reverts commit 2b6b899232.

Revert "100% cosmetic (comment tweaks only)"

This reverts commit c78a12e512.

Revert "Fix careless typo in RXXx_BC_DECODER (Sorry!)"

This reverts commit 8094e6506f.

Revert "(Oops!) decoders must be re-#included each time!"

This reverts commit 7089de5adc.

Revert "Instruction decoders cleanup part 1:"

This reverts commit c3e431bcf8.

Revert "Fix TCP/NJE clang warnings + Windows support"

This reverts commit a73daadd59.

Revert "Add TCP/NJE readme file"

This reverts commit fc1c87c86b.

Revert "Chore: Add TCP/NJE support - Experimental"

This reverts commit a3355dbcd1.

Revert "Document yet more Hercules related support groups"

This reverts commit bdf46c225e.

Revert "(yet more html doc tweaking)"

This reverts commit 7c29139e10.

Revert "Replace Yahoo URLs with Groups.IO URLs instead."

This reverts commit e0fb59a379.

Revert "Replace Yahoo URLs with Groups.IO URLs instead."

This reverts commit b75b31ed16.

Revert "Copyright 2020: only what's visible to the user"

This reverts commit c2d6f83184.

Revert "CTCE v2 Corrections and Improvements - Documentation Update"

This reverts commit 020e4a1545.

Revert "(update 4.3 progress)"

This reverts commit 1a1d40db4c.

Revert "Fix sockdev "bind lock" initialization bug:"

This reverts commit 99504d3c11.

Revert "Use set_lock_name to assign better device lock names"

This reverts commit 8018f7796a.

Revert "Tighter lock init/destroy validation"

This reverts commit 63797f60c6.

Revert "Track lock creation"

This reverts commit 39782c0b83.

Revert "Cosmetic removal of superfluous location argument"

This reverts commit 0cead3d18a.

Revert "Yet more cosmetic renames"

This reverts commit fbd4aeeb43.

Revert "Cosmetic struct field renames"

This reverts commit aba323706a.

Revert "Fix minor memory leak in destroy_lock"

This reverts commit 7fc2064c97.

Revert "Fix some minor compiler warnings:"

This reverts commit 9f70f79fdc.

Revert "CTCE v2 Corrections and Improvements - Documentation Update"

This reverts commit a575524d9b.

Revert "CTCE Corrections and Improvements"

This reverts commit d2921aa00c.

Revert "CTCE devices need dev->hnd->halt to always be called"

This reverts commit 8ac28edf9d.

Revert "Support for new DEVLIST and CTC DEBUG command options"

This reverts commit 5ce233e0af.

Revert "(yet another typo)"

This reverts commit 66b91d26a1.

Revert "(typo!)"

This reverts commit 4c4b9c0f30.

Revert "Define framework for new facilities."

This reverts commit ad640b125b.

Revert "New README to explain how to add a new Facility to Hercules"

This reverts commit 9bc2adeb1f.

Revert "Still trying to fix travis-ci build failures!"

This reverts commit e36d1a8f3e.

Revert "(cosmetic cleanup):"

This reverts commit 95b91e8032.

Revert "Update *nix autoconf files due to last few commits"

This reverts commit 28d4f4b0b3.

Revert "Various NetBSD/FreeBSD portability issues (#279):"

This reverts commit 56206efcfa.

Revert "Support perl being in a different place:"

This reverts commit 2f51035436.

Revert "Update documentation regarding ongoing development"

This reverts commit 57d0e0d869.

Revert "Fix minor message number typo"

This reverts commit 2e093718be.

Revert "Minor bootstrap crash handler tweak:"

This reverts commit bec283f0b3.

Revert "Restore watchdog support:"

This reverts commit 81957ddfef.

Revert "hthreads set/get thread name and lock name support"

This reverts commit f56bfb8352.

Revert "New '$test deadlock' testing command"

This reverts commit 6690b9207b.

Revert "Restore DIAG FF8 and FFC for testing purposes"

This reverts commit 002e0602dd.

Revert "Set sysblk.ipled flag on restart command too"

This reverts commit 866bda176e.

Revert "(minor html edit)"

This reverts commit caaa3dcbc0.

Revert "Update *nix autoconf files due to last few commits"

This reverts commit 23c7f6cf8d.

Revert "Treat NetBSD same as FreeBSD per github issue #279"

This reverts commit 2ff0c0d97c.

Revert "Fix another portability issues identified in github issue #279"

This reverts commit 51a24502d2.

Revert "Support for NetBSD 3 arguments pthread_setname_np"

This reverts commit edf7171bfb.

Revert "Fix some portability issues identified in github issue #279"

This reverts commit c740f710be.

Revert "Restore erroneously removed printer immediate CCW opcodes tables:"

This reverts commit 9f2c5606ff.

Revert "TRY TO FIX Travis.CI failure"

This reverts commit c67ac2ee50.

Revert "TRY TO FIX Travis.CI failure"

This reverts commit e5b477b34b.
2020-05-17 22:05:33 -07:00
Fish (David B. Trout) 977de05643 Instruction decoders cleanup part 8: IBM formats:
Update instruction comments with actual IBM formats, as well as in the new GENx370x390x900 macro argument (opcode.c column) too.

Some instruction functions moved the *follow* the OPTION_OPTINST optimized functions instead of preceding them (for easier parsing(*)).

That's pretty much it for right now.

More to come in future commits as this project progresses.

-----------------
(*) I've written a custom tool to help me with this project and doing so makes it easier for my program to deal with (parse) Hercules code.
2020-04-02 13:50:10 -07:00
Fish (David B. Trout) e1cbea7326 Minor cosmetic + cosmetic typo fix
[skip travis]
2020-03-25 16:14:34 -07:00
Fish (David B. Trout) 125c455cfb (cosmetic) [skip travis] 2020-03-16 19:41:44 -07:00
Fish (David B. Trout) df8fd6e69a Instruction decoders cleanup part 6: cosmetic:
Standardize decoder variable name usage.
2020-03-15 01:35:33 -07:00
Fish (David B. Trout) 1c5423176c Mostly cosmetic tweaks for upcoming #247 commit. 2019-10-02 11:46:57 -07:00
Fish (David B. Trout) 54a0aa7c2d (remove trailing blanks)
[skip travis]
2019-08-05 11:32:07 -07:00
Fish (David B. Trout) ce15a55130 Facility 53 support:
Load-and-Zero-Rightmost-Byte Facility:

    LZRG      LOAD AND ZERO RIGHTMOST BYTE (64)
    LZRF      LOAD AND ZERO RIGHTMOST BYTE (32)
    LLZRGF    LOAD LOGICAL AND ZERO RIGHTMOST BYTE (64 <- 32)

  Load/Store-on-Condition Facility 2:

    LOCHHI    LOAD HALFWORD HIGH IMMEDIATE ON CONDITION (32 <- 16)
    LOCHI     LOAD HALFWORD IMMEDIATE ON CONDITION (32 <- 16)
    LOCGHI    LOAD HALFWORD IMMEDIATE ON CONDITION (64 <- 16)
    LOCFHR    LOAD HIGH ON CONDITION (32)
    LOCFH     LOAD HIGH ON CONDITION (32)
    STOCFH    STORE HIGH ON CONDITION
2019-05-01 18:31:18 -07:00
Fish (David B. Trout) 3324c53145 (cosmetic) [skip travis] 2019-04-29 05:28:37 -07:00
Fish (David B. Trout) a95df9c6e1 Eliminate need for thread signaling in most other places 2019-04-06 23:15:52 -07:00
Fish (David B. Trout) ffa4e27eda COSMETIC: replace tabs with spaces and trim trailing whitespace 2018-08-20 01:56:14 -07:00
Ivan Warren 5b21376d25 Ivan Warren's "rotate" instructions performance boost:
RNSBG, RISBG, ROSBG, RXSBG, RISBHG, RISBLG, RISBGN.

Replace 64 single bit at a time mask creation loop with 4 shifts (and a possible XOR)

(plus additional cosmetic changes by Fish)
2018-04-06 12:44:41 -07:00
Ivan Warren 72de388607 Ivan Warren RISBGN instruction fixes:
Add missing test case for RISBGN in "rotate_then_xxx_selected_bits_long_reg" helper function when copying rotated bits to results.

Guard against incorrect invocation of "rotate_then_xxx_selected_bits_long_reg" by instruction implementation.
Issue a Machine Check Interrupt via SIGUSR1 or CRASH() if no signal handler is installed.

(with minor adjustments/tweaks by Fish)
2018-03-31 18:49:41 -07:00
Fish (David B. Trout) ce469dc55b Remove unneeded FACILITY_CHECK macros from many instructions:
The new ARCHLVL design now disables affected instructions whenever a given facility is not installed (or is purposely disabled) causing an immediate Program Check, so there's no longer any need for the individual instructions to also check too. This makes such instructions faster as they don't have to be constantly checking each time they're executed. It also eliminates host instruction and data cache pollution that otherwise results too from the constant unnecessary checking of the REGS facility bits, thereby making Hercules itself more efficient/faster.
2018-03-08 13:27:57 -08:00
Fish (David B. Trout) 771dccae92 standard beginning of all source files ...
... according to comments in impexp.h.
2018-03-08 13:27:41 -08:00
Fish (David B. Trout) a22e26e108 Use capital (C) in Copyright message 2018-03-08 13:27:34 -08:00
Fish (David B. Trout) 86eaabe197 Add FACILITY_CHECK to all instructions that need it 2018-03-08 13:27:31 -08:00
Fish (David B. Trout) c80e60a2ce LARGE Cosmetic: many renames and added comments:
_ARCHMODE1/2/3    ==>  _ARCH_NUM_0/1/2
ARCH_370/390/900  ==>  ARCH_370/390/900_IDX
GEN_ARCHCOUNT     ==>  NUM_GEN_ARCHS
GEN_MAXARCH       ==>  NUM_INSTR_TAB_PTRS
zz_func           ==>  instr_func
2018-03-08 13:25:44 -08:00
Fish (David B. Trout) 58a7b8323f Enable facility 049:
- #define in feat900.h
  - Code missing Perform Processor Assist instruction.
  - Add missing FACILITY_CHECK macros.
  - Enable FACILITY entries in archlvl.c FACTAB.
  - Add new transact.c source file to project
2018-03-08 13:25:30 -08:00
Peter Jansen c00fd08a55 Multiple EVD Blocks Support Fix in service.c; Backports for Issues #22, #23, #24 and #25. (#35)
* Multiple EVD Blocks Support Fix in service.c

Similar to the multiple MTO blocks within an EVD block
within the SCCB block of the SCLP instruction, can there
be multiple EVD blocks within the SCCB. The support for
this was missing but this has now been corrected.

* Addresses issues #22, #23, #24 and #25

Support for additional instructions backported
from Spinhawk 3.13.
2018-03-08 13:25:24 -08:00
Fish (David B. Trout) 5102ef5130 Rename/define addt'l FEATURE_nnn... facility bit macro names 2018-03-08 13:25:22 -08:00
Fish (David B. Trout) 76acfb981c Add 'nnn' bit number to facility bit related FEATURE defines 2018-03-08 13:25:22 -08:00
Fish (David B. Trout) c2f1e9832c Fix (rename) some more FEATURE_xxx macro names related to facilities 2018-03-08 13:25:21 -08:00