User manual
Introduction
4
provides override option NOPATCH (described further in this manual) to disable loading of specific
patches by their ID, but disabling patches is strongly discouraged – patches are there for a reason and
disabling patches may result in unreliable system prone to crashes and/or data corruption or under-
performant system.
VAX MP was designed and implemented with provisions to adapt semi-automatically across different
versions of OpenVMS. In particular VSMP dynamic patches facility does not use hardwired design for
patches, e.g. does not assume exact hardwired offsets and addresses, it uses instead more intelligent
soft-wired design that searches for target VMS code patterns within approximate and relocatable
regions of system address space where the patches are to be applied. VSMP dynamic patch facility also
allows for reasonable changes in field offsets of system data structures addressed by the patched code.
Thus, in theory, VSMP dynamic patch facility should be able to automatically adjust itself across
OpenVMS versions as long as the changes to target VMS modules code had been moderate and not too
drastic compared to 7.3 (7.3. is the reference because VSMP patches were designed based on OpenVMS
7.3). However large inter-version differences in OpenVMS modules patched by VSMP will necessitate
adjustments to VSMP itself to accommodate that earlier VMS version or versions.
As of time writing this, no attempt had been made to test VSMP with versions of VMS other than 7.3.
While there is a chance VSMP may run properly on versions of VMS close to 7.3, this had not been
tested and is not assured. Running with even earlier versions of VMS would very likely require
adjustments to VSMP source code, specifically the code installing required dynamic patches.
If you try to execute VSMP LOAD command and see error messages about certain specific “patch areas
not found”, this means current release of VSMP is unable to execute on this version of VMS and has to
be adjusted manually to accommodate this VMS version, either by introducing new code pattern or
modifying target address range for pattern lookup.
Trying to run VSMP with versions of VMS other than 7.3 therefore is not recommended and is not
currently supported in any way.
OpenVMS service patches that replace or modify VMS executive images may also potentially break
VSMP dynamic patching facility and cause it to refuse loading VSMP on OpenVMS installation with
executive images modified by OpenVMS service patches if those modifications had been too large for
VSMP to be able to accommodate them automatically.
However VSMP had been verified and found compatible with the following most important VMS 7.3
service patches:
VAXSYS01_073
VAXMOUN01_073