1 /* BEGIN INCLUDE FILE  ptw.incl.pl1  ---  09/13/74 for nss */
 2 
 3 dcl  ptp ptr;                                               /* pointer to either page table or page table word */
 4 
 5 dcl 1 ptw based (ptp) aligned,                              /* page table word */
 6 
 7     (2 add bit (18),                                        /* address of page, type of which is defined by add_type */
 8     2 add_type bit (4),                                     /* 0000=null, 1000=core, 0100=disk, 0010=pd, 0001=swap */
 9     2 first bit (1),                                        /* the page has not yet been written out */
10     2 processed bit (1),                                    /* temporary used during post-purging and error signalling */
11     2 pad1 bit (1),
12     2 unusable1 bit (1),                                    /* can't be used because hardware resets this bit */
13     2 phu bit (1),                                          /* page has been used bit */
14     2 phm1 bit (1),                                         /* Cumulative OR of hardware phm's */
15     2 nypd bit (1),                                         /* must be moved to paging device */
16     2 phm bit (1),                                          /* page has been modified bit */
17     2 phu1 bit (1),                                         /* page has been used in the quantum */
18     2 wired bit (1),                                        /* page is to remain in core */
19     2 os bit (1),                                           /* page is out-of-service (I/O in progress) */
20     2 df bit (1),                                           /* directed fault if this is 0 (page not in core) */
21     2 df_no bit (2)) unaligned;                             /* directed fault number for page faults */
22 
23 dcl 1 ptwa (0:255) based (ptp) aligned like ptw;            /* page table */
24 
25 dcl  ptwa_bits (0:255) based (ptp) bit (36) aligned;        /* page table array as raw bits */
26 
27 dcl 1 mptw based (ptp) aligned,                             /* page table word while page is not in core */
28     2 devadd bit (22) unaligned,                            /* device address where page resides */
29     2 pad bit (14) unaligned;
30 
31 dcl 1 mptwa (0 : 1) based (ptp) aligned,                    /* page table while pages are not in core */
32     2 devadd bit (22) unaligned,                            /* device address where page resides */
33     2 pad bit (14) unaligned;
34 
35 dcl 1 atptw based (ptp) aligned,                            /* PL/I has problems on overlay-def based */
36     2 add bit (18) unal,
37     2 (core, disk, pd, reserved) bit (1) unal,              /* address types */
38     2 pad bit (14) unal;
39 
40 dcl 1 atptwa (0:255) based (ptp) aligned like atptw;
41 
42 /* END INCLUDE FILE  ptw.incl.pl1 */