Dynamic areas
The following reason codes are passed in R0 to OS_DynamicArea :
OS_DynamicArea 0 - Create (PRM 5a-53)
OS_DynamicArea 1 - Remove (PRM 5a-56)
OS_DynamicArea 2 - Read information (PRM 5a-57)
OS_DynamicArea 3 - Enumerate (PRM 5a-58)
OS_DynamicArea 4 - Renumber (PRM 5a-59)
OS_DynamicArea 5 - Return available space (ShrinkableDAs)
OS_DynamicArea 6 - Read change information (for internal use only)
OS_DynamicArea 7 - Enumerate with information (for internal use only)
OS_DynamicArea 8 - Limit maximum area size (Clamps)
OS_DynamicArea 9 - Claim region of sparse area (SparseDAs)
OS_DynamicArea 10 - Release region of sparse area (SparseDAs)
OS_DynamicArea 11 - Lock area (LockedDAs)
OS_DynamicArea 12 - Unlock area (LockedDAs)
OS_DynamicArea 13 - Resize locked area (LockedDAs)
OS_DynamicArea 14 - Describe heap area (HeapDAs)
OS_DynamicArea 15 - Claim space in heap area (HeapDAs)
OS_DynamicArea 16 - Release block in heap area (HeapDAs)
OS_DynamicArea 17 - Resize block in heap area (HeapDAs)
OS_DynamicArea 18 - Read size of block in heap area (HeapDAs)
OS_DynamicArea 19 - Change domain state of area (DomainDAs)
For OS_DynamicArea 0, the following flags are used :
Bit 0-3 - access permissions (PRM 5a-54, PRM 1-384)
Bit 4 - area is not bufferable (PRM 5a-54)
Bit 5 - area is not cacheable (PRM 5a-54)
Bit 6 - area is doubly mapped (PRM 5a-54)
Bit 7 - area is not user resizeable (PRM 5a-54)
Bit 8 - area requires specific pages of memory (PRM 5a-54)
Bit 9 - area is shrinkable (ShrinkableDAs)
Bit 10 - area is sparse (SparseDAs)
Bit 11 - area is application bound (reserved for future expansion)
Bit 12 - area is in DMAable memory (DMAableDAs)
Bit 13 - area is locked (LockedDAs)
Bit 14 - area is a heap area (HeapDAs)
Bit 15 - area requires specific physical pages (PhysicalDAs)
Bit 16 - area handles aborts (AbortableDAs)
Bit 17 - area is in a domain (DomainDAs)
Bit 18 - area is not user visible (InvisibleDAs)
Bit 19 - area supplies a fixed list of pages (FixedPageDAs)
Bit 20-31 - reserved for future expansion
The dynamic area handler has the following reason codes :
Reason 0 - PreGrow (PRM 5a-42, PhysicalDAs)
Reason 1 - PostGrow (PRM 5a-43)
Reason 2 - PreShrink (PRM 5a-44)
Reason 3 - PostShrink (PRM 5a-44)
Reason 4 - TestShrink (ShrinkableDAs)
Reason 5 - Abort (AbortableDAs)
|