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 */