Pointers

      _pobvmOne points to the table of VMOBs.
    Locations
      System Arena.
    VM Owner
      vmob (0xfff1)

    Format

    ┌────────────┬──────┬──────┬────┬───────────────────────────────┐│Field Name  │Offset│Length│Type│Description                    │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_har      │+0    │2     │W   │Arena Record handle            │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_hobnext  │+2    │2     │W   │Associated Object Record handle│
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_va       │+0    │4     │D   │Pseudo-object's virtual address│
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_fs       │+4    │2     │W   │Flags                          │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_hobowner │+6    │2     │W   │Owner i.d.                     │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_hobmte   │+8    │2     │W   │MTE handle                     │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_wsemowner│+a    │2     │W   │I.d. of thread owning semaphore│
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_bsemcnt  │+c    │1     │B   │Counter and waiting flag       │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_cllock   │+d    │1     │B   │Count of all long-term locks   │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_cslock   │+e    │1     │B   │Count of all short-term locks  │
    ├────────────┼──────┼──────┼────┼───────────────────────────────┤
    │ob_xflags   │+f    │1     │B   │Extra flags                    │
    └────────────┴──────┴──────┴────┴───────────────────────────────┘
    

    Note:

    A complete list of system owner ids may be found under VM System Object Owner Ids in the Reference Tables section of the System Reference.

    ob_fs flag definitions:

    ┌─────────────┬────────┬───────────────────────────────┐
    │Name         │Bit Mask│Description                    │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_PSEUDO    │0x8000  │Pseudo-object                  │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_API       │0x4000  │API allocated object           │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_LOCKWAIT  │0x2000  │Some thread to wake in VMUnlock│
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_LALIAS    │0x1000  │Object has aliases             │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_SHARED    │0x0800  │Object's contents are shared   │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_UVIRT     │0x0400  │UVirt object                   │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_ZEROINIT  │0x0200  │Object is zero-initialized     │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_RESIDENT  │0x0100  │Initial allocation was resident│
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_LOWMEM    │0x0040  │Object is in low memory        │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_GUARD     │0x0080  │Page attribute/permission flags│
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_EXEC      │0x0020  │Executable                     │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_READ      │0x0010  │Read permission                │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_USER      │0x0008  │User Storage                   │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_WRITE     │0x0004  │Write permission               │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_HUGE      │0x0002  │Object is huge                 │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_SHRINKABLE│0x0001  │Object is Shrinkable           │
    ├─────────────┼────────┼───────────────────────────────┤
    │OB_DHSETMEM  │0x0001  │DevHlp_VMSetMems are allowed   │
    └─────────────┴────────┴───────────────────────────────┘
    

    ob_xflags flag definitions:

    ┌───────────────┬────────┬────────────────────────────────────┐
    │Name           │Bit Mask│Description                         │
    ├───────────────┼────────┼────────────────────────────────────┤
    │VMOB_SLOCK_WAIT│0x01    │Waiting on short term locks to clear│
    ├───────────────┼────────┼────────────────────────────────────┤
    │VMOB_LLOCK_WAIT│0x02    │Waiting on long term locks to clear │
    ├───────────────┼────────┼────────────────────────────────────┤
    │VMOB_DISC_SEG  │0x04    │Object is part of a discardable seg │
    ├───────────────┼────────┼────────────────────────────────────┤
    │VMOB_HIGHMEM   │0x08    │Object was allocated via dh_vmalloc │
    └───────────────┴────────┴────────────────────────────────────┘
    


    [Back] [Next]