gtpm2m1b | Migration Guide: Program Update Tapes |
The following section discusses the migration considerations for threads precursor.
See the APEDIT for APAR PJ24530 for information about prerequisite APARs.
Threads precursor provides the following in the TPF 4.1 system:
The TPF 4.1 system will allocate enough frames and entry control blocks (ECBs) to cover the total size of the ISO-C stack, the ECB heap, and the ECB private area of 1 MB.
This macro is used to give up control of the processor and allow processing of other entries. The entry is placed on the specified processor list.
The longjmp and setjmp functions are not restricted to the same dynamic load module (DLM). Additional programming considerations were added.
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.
There are no changes.
The following section summarizes interface changes.
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.
There are no changes.
There are no changes.
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 |
There are no changes.
There are no changes.
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. |
There are no changes.
There are no changes.
There are no changes.
There are no changes.
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 |
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. |
There are no changes.
The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.
There are no changes.
There are no changes.
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 |
There are no changes.
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 |
There are no changes.
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 |
There are no changes.
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 |
There are no changes.
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 |
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 |
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. |
There are no changes.
There are no 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.
There are no changes.
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 |
There are no 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.
There are no changes.
There are no changes.
There are no 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. |
There are no changes.
There are no changes.
There are no changes.
There are no changes.
There are no changes.
Use the following procedure to install threads precursor in your TPF 4.1 system.