Pointers
┌────────────┬────┬────────┬────┬────────────────────────────────────────┐│Field Name │Off │Length │Type│Description │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │apf_s │+0 │c │S │active pf │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_pvp │+0 │4 │D │vp cross link │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_llock │+4 │1 │D │count of long term locks │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flags │ │0.4 │ │flags │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │ │ │0.4 │ │pad │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_refcount │ │2 │ │count of ptes marked present │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_block │+8 │2.4 │D │swp disk frame or ldr block number │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │ │ │0.4 │ │pad │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_slock │ │1 │ │count of short term locks │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │ipf_s │+0 │c │S │idle page frame │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_pvp │+0 │4 │D │vp cross link │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flink1 │+4 │1 │D │forward link part 1 (low byte) │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flags │ │0.4 │ │flags │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │vp_blink │ │2.4 │ │backward link │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_block │+8 │2.4 │D │swp disk frame or ldr block number │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flink2 │ │1.4 │ │forward link part 2 (high 1.4 bytes) │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │fpf_s │+0 │c │S │free page frame │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │ │+0 │4 │D │pad │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flink1 │+4 │1 │D │forward link part 1 (low byte) │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flags │ │0.4 │ │flags │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │vp_blink │ │2.4 │ │backward link │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │ │+8 │2.4 │D │pad │ ├────────────┼────┼────────┼────┼────────────────────────────────────────┤ │pf_flink2 │ │1.4 │ │forward link part 2 (high 1.4 bytes) │ └────────────┴────┴────────┴────┴────────────────────────────────────────┘
pf_flag flag definitions:
┌────────────┬──────────┬──────────────────────────────┐ │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 │ └────────────┴──────────┴──────────────────────────────┘