The SAS is the common anchor for many system control blocks and control block chains.
Pointers
78:0 maps the SAS as a read/write segment.
SAS Base Section.
┌────────────────────┬────────┬────────┬──────┬────────────────────────────────────────┐│Field Name │Offset │Length │Type │Description │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_signature │+0 │4 │A │"SAS " │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_tables_data │+4 │2 │W │offset to tables section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_flat_sel │+6 │2 │W │FLAT selector for kernel data │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_config_data │+8 │2 │W │offset to configuration section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_dd_data │+a │2 │W │offset to device driver section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_vm_data │+c │2 │W │offset to Virtual Memory section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_task_data │+e │2 │W │offset to Tasking section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_RAS_data │+10 │2 │W │offset to RAS section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_file_data │+12 │2 │W │offset to File System section │ ├────────────────────┼────────┼────────┼──────┼────────────────────────────────────────┤ │SAS_info_data │+14 │2 │W │offset to infoseg section │ └────────────────────┴────────┴────────┴──────┴────────────────────────────────────────┘
SAS_tables_section Protected Mode tables section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_tbl_GDT │+0 │2 │W │selector for GDT │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_tbl_LDT │+4 │2 │W │selector for LDT │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_tbl_IDT │+6 │2 │W │selector for IDT │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_tbl_GDTPOOL │+8 │2 │W │selector for GDTPOOL │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_config_section Configuration Section section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_config_table │+0 │2 │W │offset for Device Configuration Table │ │ │ │ │ │(DevConfigTbl) │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_dd_section Device Driver Section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_dd_bimodal_chain│+0 │2 │W │offset for the first bimodal device │ │ │ │ │ │driver's device header │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_dd_real_chain │+2 │2 │W │offset for the address of the first real│ │ │ │ │ │mode device driver's device header │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_dd_DPB_segment │+4 │2 │W │selector for Drive Parameter Block (DPB)│ │ │ │ │ │segment │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_dd_CDA_anchor_p │+6 │2 │W │selector for ABIOS protected mode Common│ │ │ │ │ │Data Area │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_dd_CDA_anchor_r │+8 │2 │W │segment for ABIOS real mode Common Data │ │ │ │ │ │Area │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_dd_FSC │+a │2 │W │selector for FSC │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_vm_section Virtual Memory Management section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_arena │+0 │4 │D │Flat offset of arena records │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_object │+4 │4 │D │Flat offset of object records │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_context │+8 │4 │D │Flat offset of context records │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_krnl_mte │+c │4 │D │Flat offset of kernel MTE records │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_glbl_mte │+10 │4 │D │Flat offset of global MTE linked list. │ │ │ │ │ │Note this field points into the chain to│ │ │ │ │ │pick up global MTEs only. Use │ │ │ │ │ │SAS_vm_all_mte to find all the MTEs. │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_pft │+14 │4 │D │Flat offset of page frame table │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_prt │+18 │4 │D │Flat offset of page range table │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_swap │+1c │4 │D │Pointer to flat offset of swapper disk │ │ │ │ │ │frame bit map followed by the size of │ │ │ │ │ │the bit map in bits WARNING: the bit │ │ │ │ │ │map offset and size are volatile │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_idle_head │+20 │4 │D │Flat offset of Idle Head │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_free_head │+24 │4 │D │Flat offset of Free Head │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_heap_info │+28 │4 │D │Flat offset of Heap Array │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_vm_all_mte │+2c │4 │D │Flat offset of all MTEs linked list │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_task_section Tasking section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_task_PTDA │+0 │2 │W │selector for current PTDA │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_task_ptdaptrs │+2 │4 │D │FLAT offset for process tree head │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_task_threadptrs │+6 │4 │D │FLAT address for TCB address array │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_task_tasknumber │+a │4 │D │offset for current TCB number │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_task_threadcount│+e │4 │D │offset for ThreadCount │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_RAS_section RAS section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_RAS_STDA_p │+0 │2 │W │selector for System Trace Data Area │ │ │ │ │ │(STDA) │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_RAS_STDA_r │+2 │4 │D │segment for System Trace Data Area │ │ │ │ │ │(STDA) │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_RAS_event_mask │+6 │4 │D │offset for trace event mask │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_file_section File System section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_file_MFT │+0 │4 │D │handle to MFT PTree │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_file_SFT │+4 │2 │W │selector for System File Table (SFT) │ │ │ │ │ │segment │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_file_VPB │+6 │2 │W │selector for Volume Parameter Block │ │ │ │ │ │(VPB) segment │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_file_CDS │+8 │2 │W │selector for Current Directory Structure│ │ │ │ │ │(CDS) segment │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_file_buffers │+a │2 │W │selector for buffer segment │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘
SAS_info_section Information Segment section.
┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐ │Field Name │Offset│Length│Type│Description │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_info_global │+0 │2 │W │selector for global info seg │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_info_local │+2 │4 │D │address of curtask local infoseg │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_info_localRM │+6 │4 │D │address of DOS task's infoseg │ ├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │SAS_info_CDIB │+a │2 │W │selector for Codepage Data │ └────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘