Locations

      _ahvmSys locates the System Arena VMAH.

      _ahvmShr locates the Shared Arena VMAH.

      PTDA field ptda_ah locates each Private Arena VMAH.

    VM Owner
      For shared and system arenas: os2krnl (0xffaa)

      For private arenas: ptda (0xffcb)

    Format

    ┌───────────────┬──────┬──────┬────┬────────────────────────────────┐│Field Name     │Offset│Length│Type│Description                     │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_pahNext     │+0    │4     │D   │Link to next arena              │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_pahPrev     │+4    │4     │D   │Link to previous arena          │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_parSen      │+8    │4     │D   │Handle of arena sentinel        │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_parFree     │+c    │4     │D   │Hint of 1st free block in arena │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_papbm       │+10   │4     │D   │Pointer to bitmap directory     │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_paharHash   │+14   │4     │D   │Hash table pointer              │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_pat         │+18   │4     │D   │Pointer to per-type info        │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_fl          │+1c   │4     │D   │Flags                           │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_laddrMin    │+20   │4     │D   │Minimum address currently mapped│
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_laddrMax    │+24   │4     │D   │Max address currently mapped    │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_car         │+28   │4     │D   │Count of arena entries          │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_carBitmap   │+2c   │4     │D   │Max entry count to need bitmap  │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_lbmNumbMax  │+30   │4     │D   │Max bitmap number               │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_lbmeNumbMax │+34   │4     │D   │Max bitmap entry number         │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_lHashNumbMax│+38   │4     │D   │Max hash table index            │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_hob         │+3c   │2     │W   │Arena header pseudo-handle      │
    ├───────────────┼──────┼──────┼────┼────────────────────────────────┤
    │ah_filler      │+3e   │2     │W   │Make structure 4-byte multiple  │
    └───────────────┴──────┴──────┴────┴────────────────────────────────┘
    

    ah_fl flag definitions:

    ┌──────────────────┬──────────┬────────────────────────────┐
    │Name              │Bit Mask  │Description                 │
    ├──────────────────┼──────────┼────────────────────────────┤
    │VMAH_BITMAP_BYPASS│0x00000001│Worth bypassing bitmap      │
    ├──────────────────┼──────────┼────────────────────────────┤
    │VMAH_NO_HASH_WRAP │0x00000002│No hash table wraparound yet│
    ├──────────────────┼──────────┼────────────────────────────┤
    │VMAH_GROW_DOWN    │0x00000004│Arena grows down            │
    └──────────────────┴──────────┴────────────────────────────┘
    


    [Back] [Next]