425 Commits

Author SHA1 Message Date
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
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
Fish (David B. Trout) 3d39937f5c Fix improper shadow file error on DEVBLK reuse:
(See 2025/07/14 thread "Why is hercules complaining about a shadow file?")
2025-07-14 22:44:48 -07:00
Fish (David B. Trout) d094e4f3c6 Carry over into SDL Hyperion some recent Aethra fixes:
. Fix compiler warnings on macOS.
. Fix compiler warnings on GCC 12.

. Use performance cores on Apple Silicon. (Enrico Sorichetti)

. Save maxprio/minprio in sysblk so impl() doesn't clobber them. (Tyler Mitchell)
. Handle non-GNU Linuxes properly. (Tyler Mitchell)
. getprotobyname: some Linuxes want "tcp" not "TCP". (Tyler Mitchell)
. Fix for occasional crash on exit. (Tyler Mitchell):

  In POSIX, detach_thread() is neither needed nor valid
  after a return from join_thread(). When the latter returns,
  the thread has exited and its resources are released,
  so detach_thread() not only is not needed, but references
  deallocated resources. This can be harmless, but not always.
2024-01-24 13:17:39 -08:00
Fish (David B. Trout) b7fd573935 Fix issue #604 incorrect multi-device statement failure handling 2024-01-08 06:41:23 -08:00
Fish (David B. Trout) 9d65cdefc9 valid fd should be >=0, not > 2 2023-09-23 04:19:10 -07:00
Fish (David B. Trout) ae7d9fb85b Use new OBTAIN/RELEASE IOINTQLK/DEVLOCK macros, fix some message comments 2023-07-11 07:59:14 -07:00
Fish (David B. Trout) ca40e55978 Use new OBTAIN_IOQLOCK/RELEASE_IOQLOCK macros 2023-07-11 02:18:29 -07:00
Fish (David B. Trout) 81a7bf7f4a Minor cosmetic tweak (use some new #define constants) 2023-07-06 00:45:54 -07:00
Rhialto The M aa5e36aac2 Fix remaining warnings (#574)
* Work around nonportable printing of pthread_t values.

Consider these warnings:
```
  CC       hthreads.lo
In file included from msgenu.h:19,
                 from hercules.h:104,
                 from hthreads.c:19:
hthreads.c: In function 'locks_cmd':
printfmt.h:120:33: warning: format '%lx' expects argument of type 'long unsigned int *', but argument 3 has type 'struct __pthread_st **' [-Wformat=]
  120 |   #define SCN_TIDPAT            "%"PRIx64       // complete format spec
      |                                 ^~~
hthreads.c:1295:31: note: in expansion of macro 'SCN_TIDPAT'
 1295 |     else if (sscanf( argv[1], SCN_TIDPAT "%c", &tid, &c ) != 1)
      |                               ^~~~~~~~~~
In file included from /usr/include/sys/inttypes.h:43,
                 from /usr/include/sys/mutex.h:144,
                 from /usr/include/net/if.h:87,
                 from /usr/include/net/route.h:40,
                 from hstdinc.h:154,
                 from hthreads.c:14:
/usr/include/amd64/int_fmtio.h:112:19: note: format string is defined here
  112 | #define PRIx64  "lx" /* uint64_t  */

In file included from msgenu.h:19,
                 from hercules.h:104,
                 from hthreads.c:19:
hthreads.c: In function 'threads_cmd':
printfmt.h:120:33: warning: format '%lx' expects argument of type 'long unsigned int *', but argument 3 has type 'struct __pthread_st **' [-Wformat=]
  120 |   #define SCN_TIDPAT            "%"PRIx64       // complete format spec
      |                                 ^~~
hthreads.c:1563:31: note: in expansion of macro 'SCN_TIDPAT'
 1563 |     else if (sscanf( argv[1], SCN_TIDPAT "%c", &tid, &c ) != 1)
      |                               ^~~~~~~~~~
In file included from /usr/include/sys/inttypes.h:43,
                 from /usr/include/sys/mutex.h:144,
                 from /usr/include/net/if.h:87,
                 from /usr/include/net/route.h:40,
                 from hstdinc.h:154,
                 from hthreads.c:14:
/usr/include/amd64/int_fmtio.h:112:19: note: format string is defined here
  112 | #define PRIx64  "lx" /* uint64_t  */

tcpnje.c: In function 'tcpnje_thread':
tcpnje.c:1458:15: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'pthread_t' {aka 'struct __pthread_st *'} [-Wformat=]
 1458 |     DBGMSG(1, "HHCTN002I %4.4X:TCPNJE - networking thread "TIDPAT" started for link %s - %s\n",
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tcpnje.c:98:109: note: in definition of macro 'DBGMSG'
   98 | #define DBGMSG(_level, ...) if ((tn->dev->ccwtrace && (_level & tn->trace)) || (_level & tn->debug)) logmsg(__VA_ARGS__)
      |                                                                                                             ^~~~~~~~~~~
```
Apparently, values of type TID, which expands to pthread_t, are scanned in
with sscanf(). Unfortunately this is quite difficult since it is unknown
if these values are integers (and what size), pointers, or even
strucures. In the last case they can't be printed or scanned at all.
This follows from
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html

The workaround is to define an integral type which is (hopefully) long
enough to contain the pthread_t value; it's the same type that is used
when printing it, so hopefully that's ok. Then we use this type for
sscanf() to store its scanned value in, so that it matches with the
pattern given in SCN_TIDPAT. Then the value is copied to the TID
variable.

If a pthread_t is a structure, we're out of luck and this won't work at
all.

* Fix a simple format string argument mismatch.

  CC       cckddasd.lo
In file included from hercules.h:104,
                 from cckddasd.c:21:
cckddasd.c: In function 'cckd_trace':
cckddasd.c:6715:13: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'suseconds_t' {aka 'int'} [-Wformat=]
 6715 |             "%s.%6.6ld %1d:%04X ",          // "hh:mm:ss.uuuuuu n:CCUU "
      |             ^~~~~~~~~~~~~~~~~~~~~
 6716 |             todwrk + 11,                    // "hh:mm:ss" (%s)
 6717 |             timeval.tv_usec,                // "uuuuuu"   (%6.6ld
      |             ~~~~~~~~~~~~~~~
      |                    |
      |                    suseconds_t {aka int}
msgenu.h:208:70: note: in definition of macro 'MSGBUF'
  208 | #define MSGBUF( _buf, ... )     snprintf(_buf, sizeof(_buf),      ## __VA_ARGS__ )
      |                                                                      ^~~~~~~~~~~
cckddasd.c:6715:22: note: format string is defined here
 6715 |             "%s.%6.6ld %1d:%04X ",          // "hh:mm:ss.uuuuuu n:CCUU "
      |                 ~~~~~^
      |                      |
      |                      long int
      |                 %6.6d

  CC       tcpnje.o
tcpnje.c: In function 'tcpnje_thread':
tcpnje.c:1848:25: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'suseconds_t' {aka 'int'} [-Wformat=]
 1848 |             DBGMSG(512, "HHCTN127D %4.4X:TCPNJE - select() timeout after %ld seconds %ld microseconds\n",
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1849 |                         devnum, tvcopy.tv_sec, tvcopy.tv_usec);
      |                                                ~~~~~~~~~~~~~~
      |                                                      |
      |                                                      suseconds_t {aka int}
tcpnje.c:98:109: note: in definition of macro 'DBGMSG'
   98 | #define DBGMSG(_level, ...) if ((tn->dev->ccwtrace && (_level & tn->trace)) || (_level & tn->debug)) logmsg(__VA_ARGS__)
      |                                                                                                             ^~~~~~~~~~~
tcpnje.c:1848:88: note: format string is defined here
 1848 |             DBGMSG(512, "HHCTN127D %4.4X:TCPNJE - select() timeout after %ld seconds %ld microseconds\n",
      |                                                                                      ~~^
      |                                                                                        |
      |                                                                                        long int
      |                                                                                      %d

Since the argument is apparently too short, it is easy to convert it to
a longer type. On some systems it may already be long int, so changing
the format string to %d is likely to be incorrect in such cases.

* Fix incorrect format string.

  CC       config.lo
In file included from hercules.h:104,
                 from config.c:20:
config.c: In function 'configure_cpu':
config.c:1079:57: warning: format '%d' expects argument of type 'int', but argument 8 has type 'long int' [-Wformat=]
 1079 |             WRMSG( HHC00111, "I", _POSIX_THREAD_CPUTIME );
      |                                                         ^
msgenu.h:99:98: note: in definition of macro 'PFWRITEMSG'
   99 | #define PFWRITEMSG( pan, f, fmt, ... ) fwritemsg( __FILE__, __LINE__, __FUNCTION__, pan,   f,    fmt, ## __VA_ARGS__ )
      |                                                                                                  ^~~
msgenu.h:108:36: note: in expansion of macro 'PWRITEMSG'
  108 | #define  LOGMSG(      fmt,   ... ) PWRITEMSG(  WRMSG_NORMAL,       fmt,                 ## __VA_ARGS__ )
      |                                    ^~~~~~~~~
msgenu.h:110:36: note: in expansion of macro 'LOGMSG'
  110 | #define  WRMSG(     id, sev, ... ) LOGMSG(                      #id "%s " id "\n", sev, ## __VA_ARGS__ )
      |                                    ^~~~~~
config.c:1079:13: note: in expansion of macro 'WRMSG'
 1079 |             WRMSG( HHC00111, "I", _POSIX_THREAD_CPUTIME );
      |             ^~~~~

The `%d` comes from the definition of `HHC00111`:

`#define HHC00111 "Thread CPU Time IS available (_POSIX_THREAD_CPUTIME=%d)"`

and `_POSIX_THREAD_CPUTIME` comes from `<unistd.h>`:

`#define       _POSIX_THREAD_CPUTIME           200112L`

https://pubs.opengroup.org/onlinepubs/9699919799/ defines it as "shall either be -1 or 200809L"
So NetBSD is a bit behind with the value, but it is correct that it is a long int.

* Fix incorrect SCANDIR_CONST_STRUCT_DIRENT for *BSD.

  CC       fillfnam.lo
fillfnam.c: In function 'tab_pressed':
fillfnam.c:146:32: warning: passing argument 3 of 'scandir' from incompatible pointer type [-Wincompatible-pointer-types]
  146 |   n = scandir(path, &namelist, filter, alphasort);
      |                                ^~~~~~
      |                                |
      |                                int (*)(struct dirent *)
In file included from hstdinc.h:215,
                 from fillfnam.c:8:
/usr/include/dirent.h:112:5: note: expected 'int (*)(const struct dirent *)' but argument is of type 'int (*)(struct dirent *)'
  112 |     int (*)(const struct dirent *), int (*)(const struct dirent **,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

NetBSD defines `scandir` as

`int
scandir(const char *dirname, struct dirent ***namelist,
        int (*select)(const struct dirent *),
        int (*compar)(const struct dirent **, const struct dirent **)); `

The filter function is defined as
```
int filter(const struct dirent *ent)
int filter(      struct dirent *ent)
```
SCANDIR_CONST_STRUCT_DIRENT in hostopts.h is set wrong.

Of course it would be better if this were checked by configure.

I also inspected the <dirent.h> from FreeBSD and OpenBSD and they also
have const.

* Undefined functions can't be inlined.

  CC       impl.lo
impl.c:798:20: warning: inline function 'z900_get_storage_key' declared but never defined
  798 | extern inline BYTE z900_get_storage_key( U64 abs );
      |                    ^~~~~~~~~~~~~~~~~~~~
impl.c:797:20: warning: inline function 's390_get_storage_key' declared but never defined
  797 | extern inline BYTE s390_get_storage_key( U64 abs );
      |                    ^~~~~~~~~~~~~~~~~~~~
impl.c:796:20: warning: inline function 's370_get_storage_key' declared but never defined
  796 | extern inline BYTE s370_get_storage_key( U64 abs );
      |                    ^~~~~~~~~~~~~~~~~~~~

* Fix multi-line comment.

  CC       dasdload.o
In file included from dasdload.c:31:
dasdload2.h: In function 'process_iebcopy_file':
dasdload2.h:2849:13: warning: multi-line comment [-Wcomment]
 2849 |             // "Input record:   CCHHR[%04X%04X%02X] (TTR[%04X%02X]) kl[%d] dl[%d]\n" \
      |             ^

  CC       dasdload64.o
In file included from dasdload64.c:31:
dasdload2.h: In function 'process_iebcopy_file':
dasdload2.h:2849:13: warning: multi-line comment [-Wcomment]
 2849 |             // "Input record:   CCHHR[%04X%04X%02X] (TTR[%04X%02X]) kl[%d] dl[%d]\n" \
      |             ^

* Simplify format strings and avoid warnings.

  CC       tfprint.o
In file included from hercules.h:104,
                 from tfprint.c:14:
tfprint.c: In function 'print_op_stor':
tfprint.c:1732:26: warning: '0' flag ignored with precision and '%X' gnu_printf format [-Wformat=]
 1732 |         FLOGMSG( stdout, "%sTranslation exception %04.4"PRIX16" (%s)\n",
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
msgenu.h:99:98: note: in definition of macro 'PFWRITEMSG'
   99 | #define PFWRITEMSG( pan, f, fmt, ... ) fwritemsg( __FILE__, __LINE__, __FUNCTION__, pan,   f,    fmt, ## __VA_ARGS__ )
      |
                                    ^~~
tfprint.c:1732:9: note: in expansion of macro 'FLOGMSG'
 1732 |         FLOGMSG( stdout, "%sTranslation exception %04.4"PRIX16" (%s)\n",
      |         ^~~~~~~

tfprint.c:1753:13: warning: '0' flag ignored with precision and '%X' gnu_printf
format [-Wformat=]
 1753 |             "%02.2X%02.2X%02.2X%02.2X "
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
msgenu.h:208:70: note: in definition of macro 'MSGBUF'
  208 | #define MSGBUF( _buf, ... )     snprintf(_buf, sizeof(_buf),      ## __VA_ARGS__ )
      |                                                                      ^~~~~~~~~~~

and more similar warnings.

This seems to say that in the format string "%04.4X", the 0 is ignored
because it's filling with 0s already anyway due to the precision (.4).
Format string %045X prints the same as %4.45X and seems more reliable in
case older standards are used (which don't define a precision for the X
format). So I changed all the warned cases to the form %04X.

* Use TID_INT to scan for TID values.

Suggested by comment https://github.com/SDL-Hercules-390/hyperion/pull/574#issuecomment-1595924831 .
2023-06-19 10:21:04 -07:00
Fish (David B. Trout) c6a4b19ba1 (fix copyright year for recently updated files) 2023-02-06 15:15:03 -08:00
Fish (David B. Trout) f83880b58b Wait for newly configured CPU to reach STOPPED state
Closes GitHub Issue #542
2023-02-04 21:28:39 -08:00
Fish (David B. Trout) d9f9f8d63e Facility fixes and minor cosmetic:
Just because SUPPORT for a given facility exists (i.e. the #define is defined at build time) does not necessarily mean the facility itself is ENABLED at runtime! Recall that facilities can be disabled or enabled at will during runtime! (i.e. when Hercules is powered on and the runtime architecture level is set before IPL)

Refer to section 6c. of our "Adding New z/Architecture Facilities to Hercules" README.
2022-12-12 23:25:25 -08:00
Fish (David B. Trout) 6dee8ff37b SYSGPORT statement/command support:
closes #505
2022-10-15 21:45:15 -07:00
Fish (David B. Trout) fb017bb41d (missed a spot)
(minor correction to bcd91314a7)
2022-04-05 11:47:33 -07:00
Fish (David B. Trout) 85bd55cfd0 Fix bug in "numcpu" command processing; closes #481. 2022-03-31 16:33:00 -07:00
Fish (David B. Trout) bcd91314a7 Make 'are_cpu_thread' and 'is_diag_instr' bool, not BYTE 2022-03-30 20:20:32 -07:00
Bill Lewis 9f176e9250 Fix memory leak
Fix memory leak identified by the compiler Address Sanitizer.
2022-03-27 09:51:46 -04:00
Fish (David B. Trout) 6952a34967 Copyright 2021 [skip travis] 2021-03-02 23:17:24 -08:00
Peter J. Jansen 6e44679506 CTCE fixes for Issue #369
The 2 problems identified in Issue #369 for CTCE configurations are now corrected :
1. The "rport" parameter is now always taken into account when matching
    incoming CTCE connections, and no longer ignored when "rdevnum" is specified.
2. The "rdevnum" when specified as "=" was not incremented correctly when the
    "ldevnum.n" format was used to specify "n" multiple CTCE devices.
2021-02-20 14:17:17 +01:00
Fish (David B. Trout) 69c92fb434 Macro renames
[skip travis]
2020-09-24 04:58:24 -07:00
Fish (David B. Trout) 0a61729d17 Cosmetic rename: MAX_CPU_ENGINES ==> MAX_CPU_ENGS
[skip travis]

(Skipping travis because this is just one of several commits in a long series of commits. The last commit in the series will allow travis to run.)
2020-07-23 03:20:17 -07:00
Fish (David B. Trout) 82fd4c2ef6 Cosmetic: intwait/syncing=bool, PTT msg
[skip travis]

(Skipping travis because this is just one of several commits in a long series of commits. The last commit in the series will allow travis to run.)
2020-07-23 03:03:13 -07:00
Fish (David B. Trout) bce6a754db Use set_lock_name to assign better device lock names
[skip travis]
2020-05-17 22:06:40 -07:00
Fish (David B. Trout) 8716c24ac5 hthreads set/get thread name and lock name support
[skip travis]
2020-05-17 22:06:34 -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) 8018f7796a Use set_lock_name to assign better device lock names 2020-02-19 02:19:09 -08:00
Fish (David B. Trout) f56bfb8352 hthreads set/get thread name and lock name support 2020-02-10 16:59:37 -08:00
Fish (David B. Trout) 8eeced2b45 (fix typo)
[skip travis]
2019-08-31 13:01:43 -07:00
Fish (David B. Trout) 0b231b393c (Remove annoying TRACE statement)
[skip travis]
2019-08-01 03:05:46 -07:00
Fish (David B. Trout) 6354680d94 Dump Trace Tables At Exit support 2019-04-12 07:54:43 -07:00
Fish (David B. Trout) b7311111ab Only issue "_POSIX_THREAD_CPUTIME" message ONCE 2019-04-09 12:14:57 -07:00
Fish (David B. Trout) 0ade2b6683 Eliminate need for thread signaling in Shared Device logic 2019-04-06 13:46:12 -07:00
Fish (David B. Trout) 8b1353d454 (more misc cosmetic changes) 2019-04-06 11:55:12 -07:00
Fish (David B. Trout) 5e87644fd1 (misc cosmetic changes) 2019-04-06 10:45:33 -07:00
Fish (David B. Trout) fd239c34a0 Make ENABLE_SYSTEM_SYMBOLS et al. permanent:
The ENABLE_CONFIG_INCLUDE, ENABLE_SYSTEM_SYMBOLS, ENABLE_BUILTIN_SYMBOLS build options are no longer optional build options. This reduces #if defined() tests and makes the code clearer and easier to maintain. (I doubt anyone actually builds special builds of Hercules without these build options defined anyway.)
2019-01-19 23:16:01 -08:00
Fish (David B. Trout) 7fbebcb96f Use have_lock to improve commit 8c1e924a20 2018-09-15 05:47:57 -07:00
Fish (David B. Trout) ffa4e27eda COSMETIC: replace tabs with spaces and trim trailing whitespace 2018-08-20 01:56:14 -07:00
Fish (David B. Trout) 7bea8c8c62 Remove LONG obsoleted NLS support macro and fix code 2018-08-08 10:48:05 -07:00
Fish (David B. Trout) 585e32be34 Rescind user ability to set thread priorities:
See gitHub Issue #119: "DISCUSS: user ability to set internal thread priorities s/b rescinded".

Hercules will still set the priorities of its various internal threads, but will no longer allow the user to override or change the relative priorities of its internal threads via the xxxxPRIO configuration file statements and commands. Such statements will now cause a "deprecated and ignored" warning to be issued.
2018-07-25 09:07:53 -07:00
Fish (David B. Trout) 6c3d42e269 Thread name constants 2018-07-24 05:56:40 -07:00
Fish (David B. Trout) 3b5fe1c473 (cosmetic) 2018-07-16 14:07:47 -07:00
Peter Jansen 518f4bc5e8 Various fixes to allow building SDL Hyperion on Apple MacOS (#116)
* Fixes for Apple MacOS platform

* Fix for Absence of pthread_getcpuclockid on Apple MacOS platform

* Fixes for CTCE device as found on Apple MacOS platform

* Fix for Absence of ifr_hwaddr on Apple MacOS platform

* Temporary fix to bypass a build problem on Apple MacOS platform
2018-07-16 13:35:36 -07:00
Fish (David B. Trout) a190498f71 hthreads priority handling rework:
Resolves #112: "HTHREADS thread-priorities implementation appears BORKED".
2018-07-12 03:17:03 -07:00
Fish (David B. Trout) 3d02efac2b simplify get/set_thread_priority macro use 2018-07-08 12:46:27 -07:00
Fish (David B. Trout) b4e0d8d72a Use LCSS_DEVNUM where possible (other places) 2018-07-01 13:49:47 -07:00
Fish (David B. Trout) 7eb1f2d34d Cleanup ostailor and pgmtrace commands 2018-06-23 11:58:17 -07:00
Fish (David B. Trout) c918d3a8ef Fix architecture build order dependency bugs:
Jan's bug in cpu.c and sie.c are BOTH *almost* 16.5 years old (10 months short of a true day one bug). My identical bug in config.c and facility.c are both only a few months old.  We've been lucky so far due to the code in featchk.h (lines 623-649) that always builds 370 first, 390 second and 900 last.  But technically there *shouldn't* be any reason why they couldn't be built in *any* order.  Hercules should *not* be dependent on the build order of the various architectures it supports.  The code this patch fixes however, *was* coded to be dependent on the build order.  Hence the need to fix it.
2018-05-08 23:21:52 -07:00
Fish (David B. Trout) 764c5f9cd8 Remove special handling for 32-bit hosts in configure_storage logic 2018-05-05 19:24:30 -07:00
Fish (David B. Trout) e5c14b1870 Fix #94 MAINSIZE and finish #92 ARCHLVL reset:
This commit not only resolves issue #94 "ARCHLVL S/370 MAINSIZE issues" but also completes resolution for issue #92 "Changing ARCHLVL does not do sysclear or sysreset clear" as well.
2018-05-05 16:59:22 -07:00