Browse Prior Art Database

Dynamic Patch Via Invalid Operations

IP.com Disclosure Number: IPCOM000077746D
Original Publication Date: 1972-Sep-01
Included in the Prior Art Database: 2005-Feb-25
Document File: 3 page(s) / 70K

Publishing Venue

IBM

Related People

Klensk, TJ: AUTHOR [+2]

Abstract

This mechanism allows the user to patch resident code dynamically. Some of the advantages of this mechanism over prior methods of patching are: There is no restriction with regard to SVC usage by an operating system. There are no restrictions with regard to the instruction size or type at the patch address. Exceptions are: 1) A BALR or BAL instruction used to load a base register, or a BAL instruction used to load a register with the address of a list which immediately follows it and the list is not part of the patch. 2) A BALR or BAL linkage to a subroutine where the "linked to" routine does not return to the next sequential instruction after the BAL (i.e.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 64% of the total text.

Page 1 of 3

Dynamic Patch Via Invalid Operations

This mechanism allows the user to patch resident code dynamically. Some of the advantages of this mechanism over prior methods of patching are: There is no restriction with regard to SVC usage by an

operating system.

There are no restrictions with regard to the instruction size

or type at the patch address. Exceptions are:

1) A BALR or BAL instruction used to load a base

register, or a BAL instruction used to load a

register with the address of a list which

immediately follows it and the list is not

part of the patch.

2) A BALR or BAL linkage to a subroutine where the

"linked to" routine does not return to the next

sequential instruction after the BAL (i.e., where

the return is made to a fixed displacement past

the return register and the return linkages are

not part of the patch).

3) The object instruction of an execute (EX)

instruction. It has the ability to control the

point in time at which a patch will be effective in

the system. It does not have to

be "always active". There is no need to compute

patch entry or patch return

instructions.

There is no need to SYSGEN or re-LINKEDIT the

modules to be patched.

Patch areas

within the resident program are not needed.

To allow the Dynamic Patch Program to function, the operator

Quiesces the system and executes the program. It runs in a

problem program partition and builds the patch control table

and patches within the partition. Patch information is

entered via

a card input and moved to the patch area.

One or more patch instructions may replace a single line of

resident code.

The control table is used to determine which patch is to be used when an entry OP code is encountered. When an exit OP code is encountered, the control table is used to determine the resident return address. (See Fig. 1.)

In the initialization phase of the patch program, the operation...