FCEPGOUT (Force Page Out) Macro

The macro causes a certain area of virtual storage to be scheduled for page-out if it is in processor (real) storage.

This request is ignored if the specified area does not contain a full page. This can happen up to an area size of twice the page size minus 2 bytes as shown below.
Figure 1. Force Page Out - Area Size
An explanation of this figure is provided in the surrounding text.

In a system without page data set, execution of the macro results in a null operation; the return code is set to zero.

Format

Read syntax diagramSkip visual syntax diagramnameFCEPGOUT ,beginaddr, endaddr
Read syntax diagramSkip visual syntax diagramname FCEPGOUT listname(1)

Requirements for the caller

AMODE:
24 (if SPLEVEL SET=1)

24 or 31 (if SPLEVEL SET>1)

RMODE:
24 (if SPLEVEL SET=1)

24 or ANY (if SPLEVEL SET>1)

ASC Mode:
Primary

Parameters

beginaddr
Points to the first byte of the area to be paged out.
endaddr
Points to the last byte of the area to be paged out.
listname | (1)
Is the name of a list of consecutive 8-byte entries as shown below. (Register notation can also be used.) The address of this parameter list and the addresses in the list are treated as 3-byte addresses if the macro is invoked in 24-bit addressing mode and as 4-byte addresses if invoked in 31-bit addressing mode.
Figure 2. Force Page Out - 24-bit Addressing Mode
An explanation of this figure is provided in the surrounding text.
Figure 3. Force Page Out - 31-bit Addressing Mode
An explanation of this figure is provided in the surrounding text.
where:
Address constant =
Address of the first byte of the area to be paged out.
Length =
A binary constant indicating the length of the area to be paged out.

The end of the list is indicated by a nonzero byte following the last entry (for 24-bit mode). For 31-bit mode, a nonzero value in bit 0 of the byte following the last entry indicates the end of the list.

Exceptional Conditions

  • The program is running in real mode.
  • The pages that are referenced by the macro are outside of the requesting partition.
  • A page handling request is active for the referenced pages.
  • The pages are not in real storage.
  • The pages are fixed.

For those pages the FCEPGOUT request is ignored.

Return Codes in Register 15

0
All specified pages have been forced for page-out or the request has been ignored because the issuing program is running in real mode.
2
The begin address is greater than the end address, or a negative length has been found.
4
At least one of the requested pages does not belong to the partition in which the issuing program is running. The FCEPGOUT request has only been executed for those pages, which belong to the partition of the issuing program.
8
At least one of the requested pages is temporarily fixed, either by the system or a previous PFIX macro. The FCEPGOUT request has only been executed for the unfixed pages.
16
The list of areas that are to be paged out is not completely in the requesting program 's partition. The request is ignored.
20
Inconsistent function/option code that is provided in register 15 (not possible if macro interface is used).

Any combination of return codes 2, 4, and 8 is possible.