Pointers

      pf_pvp points to the head of the VP array.
    Locations
      System Arena.
    VM Owner
      pgvp (0xffb3)

    Format

    ┌────────────┬────┬────────┬────┬────────────────────────────────────────┐│Field Name  │Off │Length  │Type│Description                             │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │avp_s       │+0  │c       │S   │active vp                               │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_frame    │+0  │2.4     │D   │frame, swp or ldr block #               │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_flags    │    │1.4     │    │flags                                   │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_obpg     │+4  │2       │W   │object relative page number             │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_hob      │+6  │2       │W   │handle to object record                 │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_refcount │+8  │2       │W   │virtual page reference count            │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_semowner │+a  │2       │W   │Slot number of semaphore owner          │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │fvp_s       │+0  │a       │S   │Free vp                                 │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_flink    │+0  │4       │D   │forward link                            │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │vp_blink    │+4  │4       │D   │backward link                           │
    ├────────────┼────┼────────┼────┼────────────────────────────────────────┤
    │            │+8  │2       │W   │pad                                     │
    └────────────┴────┴────────┴────┴────────────────────────────────────────┘
    

    vp_flag flag definitions:

    ┌────────────────┬──────────┬──────────────────────────────┐
    │name            │bit mask  │description                   │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_BUSY         │0x001     │page semaphore taken          │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_WANTED       │0x002     │page semaphore requested      │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_CACHE        │0x004     │search page cache for pf      │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_PFIDLE       │0x008     │cross linked to idle pf       │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_PF           │0x010     │cross linked to pf            │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_DF           │0x020     │has swap file disk frame      │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_DIRTY        │0x040     │contents written to - from pte│
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_SHDIRTY      │0x080     │shadow dirty bit (for VDMs)   │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_SOW          │0x100     │change to swappable on write  │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_PRIVATIZED   │0x200     │vp privatized                 │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_RESIDENT     │0x400     │cannot be moved - value from  │
    │                │          │pte                           │
    ├────────────────┼──────────┼──────────────────────────────┤
    │VP_DISCARDABLE  │0x800     │1 = discardable, 0 = swappable│
    └────────────────┴──────────┴──────────────────────────────┘
    


    [Back] [Next]