Output from .MP appears in one of is of the following forms:
ffdf500c InUse: pVP=ff1df060 RefCnt=0001 Flg=0 ll=00 sl=00 Blk=00000 Frame=00001 ffdfcdac Idle: pVP=ff1e6ba8 Blink=01261 Flg=0 Flink=0127a Blk=0004b Frame=01279 ffdf50b4 Free: BLink=001f1 Flg=4 FLink=0000d Blk=00001 Frame=0000f
Each of the fields has the following meaning:
address
When a PTE is attached to an existing PF then the Refcnt is incremented.
When a page of memory is freed, the Refcnt is decremented. If it becomes zero the PF may be eligible for putting on the Idle list.
PFs corresponding to UVIRT storage are zeroed unless aliased by non-UVIRT storage. In either case no reference accounting is performed for UVIRT mappings.
The following flags are defined:
┌────────────┬──────────┬──────────────────────────────┐ │name │bit mask │description │ ├────────────┼──────────┼──────────────────────────────┤ │PF_FAST │0x1 │frame is fast memory │ ├────────────┼──────────┼──────────────────────────────┤ │PF_BUSY │0x2 │frame is busy │ ├────────────┼──────────┼──────────────────────────────┤ │PF_FREE │0x4 │frame is free │ ├────────────┼──────────┼──────────────────────────────┤ │PF_RES │0x8 │reserved │ └────────────┴──────────┴──────────────────────────────┘
Notes: PF_FAST flag is set for some physical storage frames below 640K.
PF_BUSY signifies that access to the PF is being serialised by the page frame manager. This is normally followed by setting the VP_BUSY flag in the associated VP, if reset or setting the VP_WANTED flag and waiting on the the Block Id of the VP address. Under the debug kernel the thread slot of the VP semaphore owner is saved in vp_semowner (VP+0x0a) See .PB command for information on thread slots waiting on Block Ids. ll=
When VP_DF is set and VP_DISCARDABLE is reset then Blk= is the swap disk frame number that contains a copy of the page frame.
When VP_DISCARDABLE is set and VP_RESIDENT is reset then the Blk= field is the Loader block Id. Except for a special case noted below, this is a page index, starting from 1, into the objects of the module as an aggregated whole, with the size of each object rounded up to a page boundary. The special case occurs when the memory object that owes this page frame has an hmte set to system object id 0xffc0, Discard Owner. When this occurs the following special block numbers may be used:
0x0fffe
For related VP information, see .MV command.