12 A return request that transfers control fro. the called routine to the
calling routine). The SVCRET routine is invoked. If the routine that
issued the SVC 12 is pageable, then D!KPTRUL is called to unlock the
page. SVCRET then restores registers 12 and 13 (addressability and save
area address saved by SVCLIIK), places the user's return address (also
saved in this area) back into the SVCOPSi, and returns control to the
calling routine by loading the SVCOPSW. SYC 16 Releases current save area fro. the active chain (re.oves linkage
pointers to the calling routine). The SVCRLSE routine releases the
current save area by placing the address of the next higher save area in
register 13 and returns control to the current routine by loading the SYCOPSW. This SVC is used by second level interrupt handlers to bypass
returning the first-level handler under specific circumstances. The
base address field (register 12) in the save area being released is examined to determine if the bypassed routine 1n a pageable Bodule: If so, D!KPTRUL is called to unlock the page. SYC 20 Obtain a new save area. The SVCGET routine places the address of the
next available save area in register 13 and the address of the previous
save area in the save area pointer field of the current save area. SYC 24 In-attached processor mode, SVC 24 causes the instructions following the SYC to be executed by the main processor. This SVC is used only via the SWITCH macro to force processing to continue on the main processor (the
processor capable of perfor:ing 1/0)& If the SWITCH macro determines
that the code is currently running on the main processor then the SVC is
not issued.
There are 35 save areas initially set up by D!KCPIIT for use by the SYC linkage handlers. If all the save areas are used, the linkage
handlers call D!KFREE to obtain additional save areas. CP Introduction 1-15
External Interruption TIBER IRTERRUPTION If DBKPSAEI is entered because of a tiaer interruption, the state of the
aachine aust be deterained. If the aachine was in wait state, control
is transferred to DBKDSPCH, and the aachine stays idle until another
interruption occurs. If the machine is in problea state
l
the address of
the current user's VBBLOK is obtained froa RURUSER. The user's current PSW (VBPSW) is updated fro. the external interruption old PSW, the
address of the current VBBLOK is placed in register 11, and control is
transferred to DBKDSPCH. Por additional information about tiaers, see "Virtual Tiaer Baintenance." EXTERRAL INTERRUPTION If D!KPS!EX cntersd because the pLesseu console
interrupt button (IRTERRUPT), a CPEXBLOK is stacked to do the following: • Reference the current systea operator's VBBLOK (DBKSYSOP). • Disconnect this virtual machine. The operator can now log on froa another terainal. Pressing the
console interrupt button activates an alternate operator's console.
Rote: If this interrupt COaes froa the attached processor, it is
ignored. Por a description of the processing of the external interruption coaaand, refer to .odule DBKCPB in Section 2. See nBultiprocessor External Interrupts" for a discussion of external
interrupts that occur in attached processor aode. EXTEBDED VIRTUAL EXTERNAL INTERRUPTIONS To reflect external interruptions to a virtual aachine, DBKDSPE queues
an XINTBLOK on a chain pointed to by VBPXIBT in the VBBLOK. The XIITBLOKs are chained sequentially by the XIRTSORT field that contains
the collating nuaber of the pending interruption. If aore than one
interruption has the saae collating nu.ber, the interruption codes are ORed together in the XIRTCODE field for possible siaultaneous
reflection. When a virtual machine is enabled for external interruptions. the XIBTBLOK queue for that machine is searched for an eligible block. In XIBTBLOK is eligible for reflection if one or aore bits of the XIBTBISK field match the bits in the rightmost halfword of control register O. If the interruption was an interruption such as CPU timer or clock
coaparator, the block is left chained because reflection does not reset
these interruptions. If the reflected interruption(s) does not
represent all those coded in the XIRTBASK field, the block is left
chained and only the interruptions that were reflected are reset. In
all other conditions, the XINTBLOK is unchained and returned to free
storage.
1-76 IBB V8/370 Systea Logic and Proble. Deteraination--Voluae 1
Previous Page Next Page