LIM Expanded Memory Specification V4: Appendix A
Jump to navigation
Jump to search
This appendix contains two cross reference tables: one lists this function codes and the status codes they return; the other lists the status codes and the functions that return them.
TABLE A-1. FUNCTION AND STATUS CODE CROSS REFERENCE
Function | Status | Description |
---|---|---|
40h | 00h 80h 81h 84h | Get memory manager status |
41h | 00h 80h 81h 84h | Get Page Frame Segment Address |
42h | 00h 80h 81h 84h | Get Unallocated Page Count |
43h | 00h 80h 81h 84h 85h 87h 88h | Allocate Pages |
44h | 00h 80h 81h 83h 84h 8Ah 8Bh | Map/Unmap Handle Page |
45h | 00h 80h 81h 83h 84h 86h | Deallocate Pages |
46h | 00h 80h 81h 84h | Get EMM Version |
47h | 00h 80h 81h 83h 84h 8Ch 8Dh | Save Page Map |
48h | 00h 80h 81h 83h 84h 8Eh | Restore Page Map |
49h | Reserved | |
4Ah | Reserved | |
4Bh | 00h 80h 81h 84h | Get EMM Handle Count |
4Ch | 00h 80h 81h 83h 84h | Get EMM Handle Pages |
4Dh | 00h 80h 81h 84h | Get All EMM Handle Pages |
4E00h | 00h 80h 81h 84h 8Fh | Get Page Map |
4E01h | 00h 80h 81h 84h 8Fh A3h | Set Page Map |
4E02h | 00h 80h 81h 84h 8Fh A3h | Get & Set Page Map |
4E03h | 00h 80h 81h 84h 8Fh | Get Size of Page Map Save Array |
4F00h | 00h 80h 81h 84h 8Bh 8Fh A3h | Get Partial Page Map |
4F01h | 00h 80h 81h 84h 8Fh A3h | Set Partial Page Map |
4F02h | 00h 80h 81h 84h 8Bh 8Fh | Get Size of Partial Page Map Array |
5000h | 00h 80h 81h 83h 84h 8Ah 8Bh 8Fh | Map/Unmap Multiple Handle Pages (Physical page mode) |
5001h | 00h 80h 81h 83h 84h 8Ah 8Bh 8Fh | Map/Unmap Multiple Handle Pages (Segment address mode) |
51h | 00h 80h 81h 83h 84h 87h 88h | Reallocate Pages |
5200h | 00h 80h 81h 83h 84h 8Fh 91h | Get Handle Attribute |
5201h | 00h 80h 81h 83h 84h 8Fh 90h 91h | Set Handle Attribute |
5202h | 00h 80h 81h 84h 8Fh | Get Handle Attribute Capability |
5300h | 00h 80h 81h 83h 84h 8Fh | Get Handle Name |
5301h | 00h 80h 81h 83h 84h 8FH A1h | Set Handle Name |
5400h | 00h 80h 81h 84h 8Fh | Get Handle Directory |
5401h | 00h 80h 81h 84h 8Fh A0h A1h | Search for Named Handle |
5402h | 00h 80h 81h 84h 8Fh | Get Total Handles |
5500h | 00h 80h 81h 83h 84h 8Ah 8Bh 8Fh | Alter Page Map & Jump (Physical page mode) |
5501h | 00h 80h 81h 83h 84h 8Ah 8Bh 8Fh | Alter Page Map & Jump (Segment address mode) |
5600h | 00h 80h 81h 83h 84h 8Ah 8Bh 8Fh | Alter Page Map & Call (Physical page mode) |
5601h | 00h 80h 81h 83h 84h 8Ah 8Bh 8Fh | Alter Page Map & Call (Segment address mode) |
5602h | 00h 80h 81h 84h 8Fh | Get Alter Page Map & Call Stack Space Size |
5700h | 00h 80h 81h 83h 84h 8Ah 8Fh 92h 93h 94h 95h 96h 98h A2h | Move Memory Region |
5701h | 00h 80h 81h 83h 84h 8Ah 8Fh 93h 94h 95h 96h 97h 98h A2h | Exchange Memory Region |
5800h | 00h 80h 81h 84h 8Fh | Get Mappable Physical Address Array |
5801h | 00h 80h 81h 84h 8Fh | Get Mappable Physical Address Array Entries |
5900h | 00h 80h 81h 84h 8Fh A4h | Get Expanded Memory Hardware Information |
5901h | 00h 80h 81h 84h 8Fh | Get Unallocated Raw Page Count |
5A00h | 00h 80h 81h 84h 85h 87h 88h 8Fh | Allocate Standard Pages |
5A01h | 00h 80h 81h 84h 85h 87h 88h 8Fh | Allocate Raw Pages |
5B00h | 00h 80h 81h 84h 8Fh A4h | Get Alternate Map Register Set |
5B01h | 00h 80h 81h 84h 8Fh 9Ah 9Ch 9Dh A3h A4h | Set Alternate Map Register Set |
5B02h | 00h 80h 81h 84h 8Fh A4h | Get Alternate Map Save Array Size |
5B03h | 00h 80h 81h 84h 8Fh 9Bh A4h | Allocate Alternate Map Register Set |
5B04h | 00h 80h 81h 84h 8Fh 9Ch 9Dh A4h | Deallocate Alternate Map Register Set |
5B05h | 00h 80h 81h 84h 8Fh 9Bh A4h | Allocate DMA Register Set |
5B06h | 00h 80h 81h 84h 8Fh 9Ah 9Ch 9Dh 9Eh 9Fh A4h | Enable DMA on Alternate Map Register Set |
5B07h | 00h 80h 81h 84h 8Fh 9Ah 9Ch 9Dh 9Eh 9Fh A4h | Disable DMA on Alternate Map Register Set |
5B08h | 00h 80h 81h 84h 8Fh 9Ch 9Dh A4h | Deallocate DMA Register Set |
5Ch | 00h 80h 81h 84h | Prepare Expanded Memory Hardware for Warmboot |
5D00h | 00h 80h 81h 84h 8Fh A4h | Enable Operating System Function Set |
5D01h | 00h 80h 81h 84h 8Fh A4h | Disable Operating System Function Set |
5D02h | 00h 80h 81h 84h 8Fh A4h | Return Operating System Access Key |
TABLE A-2. STATUS AND FUNCTION CODE CROSS REFERENCE
Status | Functions | Description |
---|---|---|
00h | All | The function completed normally. |
80h | All | The memory manager has detected a malfunction in the expanded memory software. |
81h | All | The memory manager has detected a malfunction in the expanded memory hardware. |
82h | None | This error code is not returned in version 3.2 of the memory manager or above. In earlier versions of the memory manager this code meant a "busy" status. This status indicated that the memory manager was already processing an expanded memory request when the current request was made and is unable to process another request. In versions 3.2 of the memory manager and above, the memory manager is never "busy" and can always honor requests. |
83h | 44h 45h 47h 48h 4Ch 5000h 5001h 51h 5200h 5201h 5300h 5301h 5500h 5501h 5600h 5601h 5700h 5701h | The memory manager can not find the handle specified. |
84h | All | The function code passed to the manager is not currently defined. |
85h | 43h 5A00h 5A01h | No handles are currently available. All assignable handles are currently in use. |
86h | 45h | A mapping context restoration error has been detected. This error occurs when a program attempts to return a handle and there is still a "mapping context" on the context stack for the indicated handle. |
87h | 43h 51h 5A00h 5A01h | The number of total pages that are available in the system is insufficient to honor the request. |
88h | 43h 51h 5A00h 5A01h | The number of unallocated pages currently available is insufficient to honor the allocation request. |
89h | 43h | Zero pages could not be assigned to a handle. |
8Ah | 44h 5000h 5001h 5500h 5501h 5600h 5601h 5700h 5701h | The logical page to map into memory is out of the range of logical pages which are allocated to the handle. |
8Bh | 44h 4F00h 4F02h 5000h 5001h 5600h 5601h 5500h 5501h | One or more of the physical pages is out of the range of allowable physical pages. |
8Ch | 47h | The mapping register context save area is full. |
8Dh | 47h | The mapping register context stack already has a context associated with the handle. The program has attempted to save the mapping register context when there was already a context for the handle on the stack. |
8Eh | 48h | The mapping register context stack does not have a context associated with the handle. The program has attempted to restore the mapping register context when there was no context for the handle on the stack. |
8Fh | All | The subfunction parameter passed to the function requiring a subfunction code is not defined. |
90h | 5201h | The attribute type is undefined. |
91h | 5200h 5201h | The system configuration does not support non-volatility. |
92h | 5700h | The source and destination expanded memory regions have the same handle and overlap. This is valid for a move. The move has been completed and the destination region has a full copy of the source region. However, at least a portion of the source region has been overwritten by the move. |
93h | 5700h 5701h | The length of the specified source or destination expanded memory region exceeds the length of the expanded memory region allocated to the specified source or destination handle. There are insufficient pages allocated to this handle to move/exchange a region of the size specified. |
94h | 5700h 5701h | The conventional memory region and expanded memory region overlap. This is invalid, the conventional memory region cannot overlap the expanded memory region. |
95h | 5700h 5701h | The offset within the logical page exceeds the length of the logical page. The initial source or destination offsets within an expanded memory region must be between 0 and the (length of a logical page - 1) or 16383 (3FFFh). |
96h | 5700h 5701h | Region length exceeds 1M-byte limit. |
97h | 5701h | The source and destination expanded memory regions have the SAME handle AND overlap. This is invalid; the source and destination expanded memory regions cannot have the same handle and overlap when they are being exchanged. |
98h | 5700h 5701h | The memory source and destination types are undefined/not supported. |
9Ah | 5B01h 5B06h 5B07h | Alternate map register sets are supported, but the alternate map register set specified is not supported. |
9Bh | 5B03h 5B05h | Alternate map/DMA register sets are supported. However, all alternate map/DMA register sets are currently allocated. |
9Ch | 5B01h 5B04h 5B06h 5B07h 5B08h | Alternate map/DMA register sets are not supported, and the alternate map/DMA register set specified is not zero. |
9Dh | 5B01h 5B04h 5B06h 5B07h 5B08h | Alternate map/DMA register sets are supported, but the alternate map register set specified is not defined, not allocated, or is the currently allocated map register set. |
9Eh | 5B06h 5B07h | Dedicated DMA channels are not supported. |
9Fh | 5B06h 5B07h | Dedicated DMA channels are supported. But the DMA channel specified is not supported. |
A0h | 5401h | No corresponding handle value could be found for the handle name specified. |
A1h | 5301h 5401h | A handle with this name already exists. The specified handle was not assigned a name. |
A2h | 5700h 5701h | An attempt was made to "wrap around" the 1M-byte address space during the move/exchange. The source starting address together with the length of the region to be moved/exchanged exceeds 1M-byte. No data was moved/exchanged. |
A3h | 4E01h 4E02h 4F00h 4F01h 5B01h | The contents of the data structure passed to the function have either been corrupted or are meaningless. |
A4h | 5900h 5B00h 5B01h 5B02h 5B03h 5B04h 5B05h 5B06h 5B07h 5B08h 5D00h 5D01h 5D02h | The operating system has denied access to this function. The function cannot be used at this time. |
LIM Expanded Memory Specification V4 Contents
- Title and Contents
- Chapter 1: Introduction
- Chapter 2: Writing Programs that use Expanded Memory
- Chapter 3: EMM Function Reference
- Appendix A (this page)
- Appendix B
- Appendix C
- Appendix D
- Glossary