gtpm2m1bMigration Guide: Program Update Tapes

Threads Precursor (APAR PJ24530)

The following section discusses the migration considerations for threads precursor.

Prerequisite APARs

See the APEDIT for APAR PJ24530 for information about prerequisite APARs.

Functional Overview

Threads precursor provides the following in the TPF 4.1 system:

Architecture

Before threads precursor, the ISO-C stack and ECB heap were allocated at the top of memory above the system heap. With threads precursor, they are moved in the ECB virtual memory (EVM) to above the ECB private area of 1 MB. In the system virtual memory (SVM), this area is occupied by the 4 KB frames and ECBs.

The size of the ISO-C stack, ECB heap, and the ECB private area of 1 MB can affect the number of frames and ECBs allocated by the TPF 4.1 system. The size of the area occupied by the frames and the ECBs must be greater than or equal to the maximum size of the ISO-C stack plus the maximum size of the ECB heap plus the ECB private area of 1 MB. The TPF 4.1 system will increase the number of ECBs and frames until this condition is satisfied or the system runs out of storage.

Most of the changes to the TPF 4.1 system for threads precursor are modifications to existing control program (CP) segments and modules written in assembler language. There is one new CP segment with several new copy members and several new data macros.

Operating Environment Requirements and Planning Information

There are no changes.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.

Build Scripts

There are no changes.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C Language Header Files

Table 274 summarizes the general use C language header file changes. This information is presented in alphabetic order by the name of the general use C language header file.

General use means these header files are available for your use.

Table 274. Changes to General Use C Language Header Files for Threads Precursor

General Use C Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$cinfc.h Changed No
c$proc.h Changed Yes
c$mk0ck.h Changed No
c$thgl.h New Not Applicable

Implementation-Specific C Language Header Files (IBM Use Only)

There are no changes.

Library Interface Scripts

There are no changes.

Library Members (Object Files)

Table 275 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 275. Changes to Library Members (Object Files) for Threads Precursor

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CCINT CISO Changed Object-Only Added Threads precursor.
CLGJMP CISO Changed Object-Only Added longjmp across DLM support.
CLMINT CISO Changed Object-Only Added Threads precursor.
CSTJMP CISO Changed Object-Only Added setjmp across DLM support.
CTRINT CISO Changed Object-Only Added Threads precursor.

Link-Edited Modules

There are no changes.

Members (Object Files)

There are no changes.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

Table 276 summarizes the control program interface (CINFC) tag changes. The information in this table is ordered numerically by the equate value.

Table 276. Changes to CINFC Tags for Threads Precursor

CINFC Tag Equate Value New, Changed, or No Longer Supported?
CMMCPTH 367 New
CMMTHMAX 366 New

Copy Members

Table 277 summarizes copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 277. Changes to Copy Members for Threads Precursor

Copy Member Type CSECT Where Copy Member Is Located New, Changed, or No Longer Supported? Description of Change
CAAA Control Program CCNUCL Changed Added Threads precursor enablement.
CAPT Control Program CCNUCL Changed Added Threads precursor enablement.
CCEB Control Program CCENBK Changed Added longjmp across DLM support.
CCED Control Program CCENBK Changed Added Threads precursor enablement.
CCE4 Control Program CCIISC Changed Added Threads precursor enablement.
CEFE Control Program CCTAPE Changed Changed the $GSVAC macro to INLINE=NO.
CHSZ Control Program CCNUCL Changed Added Threads precursor enablement.
CICR Control Program CCNUCL Changed Added the YIELDC macro service routine.
CICS Control Program CCNUCL Changed Updated with address space changes.
CIS1 Control Program CCISOC Changed Added Threads precursor enablement.
CIS2 Control Program CCISOC Changed Added Threads precursor enablement.
CLHH Control Program CCSTOR Changed Added Threads precursor enablement.
CLHL Control Program CCCLHR Changed Added virtual file access count (VCT) list processing.
CLHP Control Program CCSTOR Changed Added Threads precursor enablement.
CLHV Control Program CCSTOR Changed Added Threads precursor enablement.
CPSE Control Program CCCPSE Changed Added Threads precursor enablement.
CPSL Control Program CCCPSE Changed Added support to dmp the segment table save area (STSA) block.
CTH0 Control Program CCTHDS New Added Threads precursor enablement.
CTH2 Control Program CCTHDS New Added Threads precursor enablement.
CTH3 Control Program CCTHDS New Added Threads precursor enablement.
CTH4 Control Program CCTHDS New Added Threads precursor enablement.
CTIN Control Program CCCTIN Changed Added support for address space changes.
CTME Control Program CCNUCL Changed Added Threads precursor enablement.
CTR0 Control Program CCISOC Changed Added Threads precursor enablement.
CT00 Control Program CCCTIN Changed Added support for address space changes.
CT01 Control Program CCCTIN Changed Added support for address space changes.
CT38 Control Program CCCTIN Changed Added support for address space changes.
CT40 Control Program CCCTIN Changed Added support for address space changes.
CVF3 Control Program CCVFAC Changed Moved VCT processing to the CLHL segment.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

Table 278 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 278. Changes to Data Macros for Threads Precursor

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
CK1KE Changed No
IB0CT Changed No
ICPTH New Not Applicable
IDSCID Changed Yes
IDSFCT Changed No
IPROC Changed Yes
IPTLB New Not Applicable
ISTSA Changed No
ITHGL New Not Applicable
ITSDT New Not Applicable
ITSUT New Not Applicable
MK0CK Changed No

General Macros

There are no changes.

Selected Equate Macros

Table 279 summarizes the selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 279. Changes to Selected Equate Macros for Threads Precursor

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CZOCP Changed No
CZ1SE Changed No

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 280 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. See TPF System Generation for a complete description of the SIP skeleton and internal macros. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 280. Changes to SIP Skeleton and Internal Macros for Threads Precursor

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SKCTKA Changed
SKCTKB Changed
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 281 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. See TPF System Generation for a complete description of the SIP Stage II macros. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 281. Changes to SIP Stage II Macros for Threads Precursor

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

Table 282 summarizes system macro changes. This information is presented in alphabetic order by the name of the system macro. See TPF System Macros for a complete description of all system macros.

Table 282. Changes to System Macros for Threads Precursor

System Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CINFC Changed No
$GSVAC Changed Yes
IBMSVC Changed Yes

System Macros (IBM Use Only)

Table 283 summarizes system macro changes. This information is presented in alphabetic order by the name of the system macro.

Table 283. Changes to System Macros (IBM Use Only) for Threads Precursor

System Macro (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CFMCC Changed Yes
CFMDC Changed Yes
YIELDC New Not Applicable

Segments

Table 284 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 284. Changes to Segments for Threads Precursor

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
CCMCDC Copy CPS0 Not Applicable CCMCDC must be reassembled.
CLH0 Real-Time Assembler Not Applicable Changed CK9CSS is now the size of the system heap only. Code changes have been made to the ZCTKA command to reflect this.
CTHA Real-Time Assembler Not Applicable New Threads precursor enablement.
CVRA Real-Time Assembler Not Applicable Changed An FKPA message has been added to notify the operator when pages are removed from the TPF 4.1 system.
IB01 Offline Assembler IPLB Changed Address space changes.
IB02 Offline Assembler IPLB Changed Address space changes.

System Equates

There are no changes.

User Exits

There are no changes.

Functional and Operational Changes

The following section summarizes functional and operational changes. This information is presented in alphabetic order by the functional or operational change.

See Appendix A, "PUT 2-15 Interface Changes by Authorized Program Analysis Report (APAR)" for a summary of functional and operational changes by APAR.

Commands

There are no changes.

Messages and System Errors

Table 285 summarizes message (offline and online messages) and system error changes.

The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.

Attention: Changes to offline messages, online messages, and system errors may impact any automation programs you are using in your complex.

Table 285. Changes to Messages and System Errors for Threads Precursor

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
CT400009 Online New
FKPA0011A Online New

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

The size of the ISO-C stack, ECB heap, and the ECB private area of 1 MB can affect the number of frames and ECBs allocated by the TPF 4.1 system. The size of the area occupied by the frames and the ECBs must be greater than or equal to the maximum size of the ISO-C stack plus the maximum size of the ECB heap plus the size of the ECB private area of 1 MB.

The following equation can be used to evaluate if you have enough storage:

#ECBs × 12K + #Frames × 4K>=  (ESPS + EMPS + 1) × 1M

The TPF 4.1 system will increase the number of ECBs and frames until this condition is satisfied or the system runs out of storage.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 286 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 286. Changes to TPF Publications for Threads Precursor

Publication Title Softcopy File Name Description of Change
TPF C Language Support User's Guide GTPCLU06 Updated with information about the longjmp and setjmp functions that were changed for threads precursor.
TPF Library Guide GTPDOC06 Updated with definitions for new terminology in the master glossary.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about messages that were added for threads precursor.
TPF Migration Guide: Program Update Tapes GTPMIG06 Updated with migration considerations for threads precursor.
TPF Program Development Support Reference GTPPDR06 Updated with new dump tags for threads precursor.
TPF System Generation GTPSYG06 Updated with new storage considerations for threads precursor.
TPF System Macros GTPSYS06 Updated with a new macro (YIELDC) for threads precursor.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

There are no changes.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Use the following procedure to install threads precursor in your TPF 4.1 system.

  1. Install PUT 6.
  2. Perform SIP stage I changes:
    • Determine if you need to punch new keypoint A and B:
      • Enter ZDKAT KPA to get the file address of CTKA.
      • To display the 4-byte data, enter ZDFIL xxxx C4.4, where xxxx is the file address of keypoint A.
      • If the 4-byte data is not zero, use SKCTKA and SKCTKB SIP macros to punch new keypoints A and B.
  3. Assemble, compile, and link-edit any affected programs.
    • Assemble the following CSECTS:

       CCCLHR 
      CCNUCL

       CCCPSE 
      CCSTOR

       CCCTIN 
      CCTAPE

       CCENBK 
      CCTHDS

       CCIISC 
      CCUEXT

       CCISOC 
      CCVFAC

       CCMCDC 
       
    • Assemble the following real-time/offline segments:

       CLGJMP 
      CVRA

       CLMINT 
      ICDF

       CSTJMP 
      IPLB

       CTHA 
      STPP

       CTRINT 
       
    • Assemble any segment using the $GSVAC macro with the INLINE=YES parameter specified.
    • Compile the CCINT segment and any other real-time segments.
    • Link-edit the following programs:

       CPS0 
      (Control Program)

       PPCP 
      (Offline Dump Formatter)

       CISO 
      (ISO-C Library)
  4. Create a new allocator picking up the IBMPAL additions.
  5. Verify that the number of frames plus the number of ECBs will accommodate EVM address space.
  6. Verify that the number of frames plus the number of ECBs is greater than or equal to the ECB private area of 1 MB plus the size of the ECB heap plus the size of the ISO-C stack. To do this, enter the ZCTKA DISPLAY command with the ALL parameter specified. Examine the frame and ECB counts as well as the EMPS parameter (number of megabytes of the ECB heap) and the ESPS parameter (number of megabytes of ISO-C stack storage allowed).
  7. Create a new image.
  8. IPL the loader general file to the new image.
  9. IPL the TPF 4.1 system of the new image.
  10. Verify that the TPF 4.1 system runs on the new image.