Pointers

      _palVMAliases points to the VMAL table.
    VM Owner
      vmal (0xffe2)

    Format

    ┌───────────┬──────┬──────┬────┬────────────────────────────────────────┐│Field Name │Offset│Length│Type│Description                             │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │vmal       │+0    │8     │S   │VM alias record                         │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │al_har     │+0    │2     │W   │handle to alias' arena record           │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │al_hobptda │+2    │2     │W   │context the alias is created from       │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │al_pgoff   │+4    │2.4   │D   │page offset of the alias from start of  │
    │           │      │      │    │object                                  │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │al_f       │      │1.4   │    │flags indicating type of alias          │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │vmsal      │+0    │8     │S   │SEL alias record                        │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │sal_har    │+0    │2     │W   │handle to alias' arena record           │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │sal_selcode│+2    │2     │W   │code selector if cs alias               │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │al_hobptda │+2    │2     │W   │context the alias is created from if    │
    │           │      │      │    │MEMMAP alias                            │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │sal_cref   │+4    │1.2   │D   │reference count                         │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │sal_f      │      │0.6   │    │flags                                   │
    ├───────────┼──────┼──────┼────┼────────────────────────────────────────┤
    │sal_seldata│+6    │2     │W   │data selector if cs alias (unused for   │
    │           │      │      │    │MEMMAP)                                 │
    └───────────┴──────┴──────┴────┴────────────────────────────────────────┘
    

    al_f flag definitions:

    ┌────────────┬────────┬────────────────────────────┐
    │Name        │Bit Mask│Description                 │
    ├────────────┼────────┼────────────────────────────┤
    │AL_ISBUSY   │0x1     │Set if record is busy       │
    ├────────────┼────────┼────────────────────────────┤
    │AL_CSALIAS  │0x2     │Set if cs alias record      │
    ├────────────┼────────┼────────────────────────────┤
    │AL_MEMMAP   │0x4     │Set if MemMapAlias record   │
    ├────────────┼────────┼────────────────────────────┤
    │AL_DBGALIAS │0x8     │Set if debug alias          │
    ├────────────┼────────┼────────────────────────────┤
    │AL_CSDSVALID│0x10    │Set if ds selector valid    │
    ├────────────┼────────┼────────────────────────────┤
    │AL_DEVHLP   │0x20    │Set if Devhlp alias         │
    ├────────────┼────────┼────────────────────────────┤
    │AL_PRIV     │0x40    │Set if privatized alias     │
    ├────────────┼────────┼────────────────────────────┤
    │AL_VDM      │0x80    │Set if VDM alias            │
    ├────────────┼────────┼────────────────────────────┤
    │AL_NOALIAS  │0x100   │Set if UVIRT mapping in VDMs│
    └────────────┴────────┴────────────────────────────┘
    

    sal_f flag definitions:

    ┌─────────────────┬──────────┬───────────────────────────────────────┐
    │Name             │Bit Mask  │Description                            │
    ├─────────────────┼──────────┼───────────────────────────────────────┤
    │SAL_CSALIAS      │AL_CSALIAS│                                       │
    ├─────────────────┼──────────┼───────────────────────────────────────┤
    │SAL_MEMMAPALIAS  │AL_MEMMAP │                                       │
    ├─────────────────┼──────────┼───────────────────────────────────────┤
    │SAL_CSDSVALID    │0x10      │mustn't coincide with other alias types│
    ├─────────────────┼──────────┼───────────────────────────────────────┤
    │SAL_ALIASREFSHIFT│0x6       │Low six bits reserved for flags        │
    ├─────────────────┼──────────┼───────────────────────────────────────┤
    │SAL_ALIASREFMASK │0x0ffc0   │reference count bits mask              │
    └─────────────────┴──────────┴───────────────────────────────────────┘
    


    [Back] [Next]