{Define keypoint codes for Memory Manager in monitor mode.}

  CONST

    mmk$advise_request_processor = mmk$monitor_base + 3,
      {X  'Exit Advise processor' }
{ The entry values are syc$monitor_request_codes.
      {E 4.5  'Advise In' }
      {E 4.6  'Advise Out' }
      {E 4.7  'Advise Out-In' }

    mmk$free_flush = mmk$monitor_base + 4,
      {X  'Exit Free-WMP processor' }
{ The entry values are syc$monitor_request_codes.
      {E 8.12 'Free Pages' }
      {E 8.13 'Write Modified Pages' }
      {E 8.70 'Conditional Free' }

    mmk$ring1_segment_request = mmk$monitor_base + 5,
{ The entry/exit values are the request ordinals in mmt$rb_ring1_segment_request.
      {E 4.0  'Delete segment by segment number' }
      {E 4.1  'Delete segment by SFID' }
      {E 4.2  'Flush segment by SFID' }
      {E 4.3  'Commit memory' }
      {E 4.4  'Detach file' }
      {E 4.5  'Flush and Delete segment by SFID' }
      {E 4.6  'Flush segment by segment number' }
      {E 4.7  'Replace SFID' }
      {E 4.8  'End job recovery' }
      {E 4.9  'Make MFW cache' }
      {E 4.10 'Copy STE from MTR to job' }
      {X 4.0  'Delete segment by segment number' }
      {X 4.1  'Delete segment by SFID' }
      {X 4.2  'Flush segment by SFID' }
      {X 4.3  'Commit memory' }
      {X 4.4  'Detach file' }
      {X 4.5  'Flush and Delete segment by SFID' }
      {X 4.6  'Flush segment by segment number' }
      {X 4.7  'Replace SFID' }
      {X 4.8  'End job recovery' }
      {X 4.9  'Make MFW cache' }
      {X 4.10 'Copy STE from MTR to job' }

    mmk$page_fault = mmk$monitor_base + 6,
      {E  'Page fault processor' 'segnum  ' H16}
{ The exit values are defined in mmt$page_pull_status.
      {X 5.1  'Page found in avail queue' }
      {X 5.2  'Page found in avail modified queue' }
      {X 5.3  'Page valid in page table' }
      {X 5.4  'No memory' }
      {X 5.5  'Low on memory' }
      {X 5.6  'Page locked' }
      {X 5.7  'Page found on disk' }
      {X 5.8  'Page table full' }
      {X 5.9  'Page found with io active' }
      {X 5.10 'Assign new page to segment' }
      {X 5.11 'Beyond file limit' }
      {X 5.12 'Beyond EOI' }
      {X 5.13 'No extend permission' }
      {X 5.14 'Page found on disk - driver reject' }
      {X 5.15 'Page found on server' }
      {X 5.16 'Allocate required on server' }
      {X 5.17 'Server terminated' }

    mmk$segment_request = mmk$monitor_base + 7,
{ The debug values are defined by mmt$monitor_segment_request in mmt$rb_segment_request.
      {D 4.1  'Segment Req - assign SFID' }
      {D 4.2  'Segment Req - fetch max working set' }
      {D 4.3  'Segment Req - store max working set' }
      {D 4.4  'Segment Req - get ASID from SFT/open seg' }
      {D 4.5  'Segment Req - complete seg sft entry' }
      {D 4.6  'Segment Req - fetch min ws size' }
      {D 4.7  'Segment Req - store min ws size' }
      {D 4.8  'Segment Req - fetch page aging int' }
      {D 4.9  'Segment Req - store page aging int' }
      {D 4.10 'Segment Req - fetch cyclic aging int' }
      {D 4.11 'Segment Req - store cyclic aging int' }

    mmk$page_pull = mmk$monitor_base + 10,
      {D  'Page pull' 'SVA     ' H48 }

    mmk$create_task = mmk$monitor_base + 11,
      {D 'Create task' }

    mmk$create_job = mmk$monitor_base + 12,
      {D 'Create job' }

    mmk$exit_task = mmk$monitor_base + 13,
      {D 'Exit task' }

    mmk$exit_job = mmk$monitor_base + 14,
      {D 'Exit job' 'AJLO' H16 }

    mmk$mtr_lock_ring_1_stack = mmk$monitor_base + 15,
      {D 'Lock job's ring 1 stack' 'AJLO' H16 }

    mmk$reassign_asid = mmk$monitor_base + 24,
      {D  'Reassign ASID' 'asid    ' H16 }

    mmk$assign_asid = mmk$monitor_base + 34,
      {D  'Assign ASID' 'ASID    ' H16 }

    mmk$free_asid = mmk$monitor_base + 35,
      {D  'Free ASID' 'ASID    ' H16 }

    mmk$periodic_call = mmk$monitor_base + 36,
      {E  'Periodic call' }
      {X  'Periodic call' }

    mmk$build_lock_rmal = mmk$monitor_base + 38,
      {D  'Lock page for IO' 'pfti    ' H16 }

    mmk$unlock_rmal = mmk$monitor_base + 39,
      {D  'Unlock page for IO' 'pfti    ' H16 }

    mmk$mtr_read_write_io = mmk$monitor_base + 41,
      {X  'Exit IO request processor' }
{ The entry values are defined in mmt$rb_memory_manager_io by mmt$sub_reqcodes.
      {E 4.0  'Read Pages' }
      {E 4.1  'Write Pages' }
      {E 4.2  'Wait For IO Completion' }

    mmk$process_page_table_full = mmk$monitor_base + 46,
      {E  'Page Table full processor' 'pti     ' H16 }
      {X  'Page table full processor' 'pass    ' I16 }

    mmk$write_page_to_disk = mmk$monitor_base + 47,
      {D  'Write page to disk' 'pfti    ' H16 }

    mmk$mtr_assign_pages = mmk$monitor_base + 50,
      {X  'Assign pages' }
{ The entry values are defined in mmt$rb_assign_pages by mmt$assign_sub_reqcodes.
      {E 4.0  'Assign pages' }
      {E 4.1  'Cancel reserve' }

    mmk$mtr_move_pages = mmk$monitor_base + 51;
      {E  'Move pages' }
      {X  'Move pages' }

*copyc AMK$BASE_KEYPOINT_VALUES
