• Keine Ergebnisse gefunden

EXPANDED MEMORY FUNCTION CALLS

Im Dokument SYSTEMS GUIDE (Seite 118-124)

RESE~VED

6.3 EXPANDED MEMORY FUNCTION CALLS

This section describes the four function calls that the XIOS uses to manage expanded memory. The MEM module calls two of these functions, 10_MPALLOC and 10_MPFREE, when a process allocates or releases pages of memory. The other two functions, 10_MPSAVE and 10_MPRESTORE, are called by the Real-time Monitor (RTM) when it suspends or returns a process to context.

All of the expanded memory function calls preserve registers DS, ES, SS and SP.

Allocate a bank of paged memory Entry Parameters:

Register AL: 28H (40)

DX: Address of MPAD Returned Values:

Register AL: 0 On Success Error code on failure

MEM calls this function to allocate the physical pages of memory described in the referenced Memory Page Allocation Descriptor (MPAD). The MPAD's START field indicates where the memory pages are to be mapped within the logical address space; the LENGTH field indicates how many pages are to be mapped.

Expanded Memory Function Calls Concurent DOS 86 System Guide The XIOS should use the XIOS field of the MPAO to keep track of the physical pages associated with the allocation.

In the EMM environment, the XI OS must translate this function into two EMM calls, Allocate and Map, the first to acquire the necessary pages of physical memory, the second to map them into the appropriate logical address windows.

For an EMM Close call, the Interceptor deletes the MPAO only if it finds the START and LENGTH fields equal to zero (the MPAO is therefore one that it created).

If the allocation is unsuccessful for any reason, this function must return a nonzero value in AL.

Free a bank of paged memory Entry Parameters:

Register AL: 29H (41)

OX: Address of MPAO

MEM calls this function to release the physical pages of memory previously allocated through IO_MPALLOC. IO_MPFREE should use the MPAO_XIOS field to identify the physical pages involved.

In the EMM Environment, this call translates into an EMM Close call.

Save current state of paged memory hardware Entry Parameters:

Register AL: 2AH (42)

OX: Address of MPAO List

The RTM calls IO_MPSAVE when it suspends the currently running process. This function causes the XIOS to preserve the current state of the memory mapping hardware for later restoration (IO_MPRESTORE).

If the memory mapping scheme involves restoring specific pages rather than the entire hardware state, this call may simply return without action.

Concurent DOS 86 System Guide Expanded Memory Function Calls

Restore previously saved hardware state Entry Parameters:

Register AL: 2BH (43)

OX: Address of MPAD List

The RTM calls IO_MPRESTORE to return the memory mapping hardware to the state it was in when the process that owns the referenced MPAD List was last in context.

The XIOS can perform this function by restoring the entire hardware state as saved by a previous IO_MPSAVE call, or by restoring the specific pages in each of the linked MPADs.

Section 7

SECTION 7

PC/AT ROS Support

In order to improve performance and compatibility ROS interrupt support has been changed from previous revisions to give the XI OS greater control over handling the various functions.

Concurrent will intercept some of the ROS interrupts and emulate a limited sub-set of functions, the remaining functions will be passed onto the original interrupt service routines (ISRs). This means that the XIOS INIT routine should set all the interrupt vectors between 10h and 1Fh to point to XIOS code. These XI OS services routines should either handle the function requested or print an error message and terminate the current process. Obviously on a PC or compatible many of the functions can be passed on to the ROS.

The following ROS interrupts are intercepted by Concurrent.

INT 11 h System Configuration

This function calls the PC_EQUIP XIOS function.

INT 12h Memory Size

The PCMODE returns the correct memory size based on the memory allocated to the current process.

INT 13h Disk I/O

Concurrent DOS uses the 10-,NT13XIOS function to support the Disk I/O ROS function.

INT 14h Serial I/O

Sub-functions 1 (Send Character), 2 (Get Character) and 3 (Status) are trapped by Concurrent and passed to the appropriate AUX devices. All other sub-functions are passed to the original ISA.

INT 16h Keyboard Services

Sub-functions 0 to 2 and 10h to 12h are emulated by Concurrent. All other sub-functions are passed to the original ISA. INT 16h is commonly used by clone manufacturers to access extra facilities provided by their hardware, ie Processor Speed Switching.

INT 17h Parallel Printer I/O

Sub-functions 0 (Print Character) and 2 (Status) are emulated by Concurrent all other sub-functions are passed to the original ISA.

XIOS Functions for ROS Video Support Concurent DOS 86 System Guide 7.1 XIOS Functions for ROS Video Support

10_SCREEN (30) (not used by kernel) 10_VIDEO (31) (not used by kernel)

10_KEYBD (32) Used to indicate to XIOS the application requirements.

On Entry:- AL: 020h (32) CL:

DL:

Bit 0: PC-Mode Keyboard Bit 1: 25 Line Support Bit 2: ANSI Support Bit 3: ROS Support Bit 4: Hardware Access Virtual Console Number On Exit:- AX: 0000

BX: Same as AX Bit 0: PC-Mode Keyboard

This bit is set when a DOS process begins execution and is reset when it terminates. The XI OS uses this bit to control the keyboard decoding, ie.

function key support is disabled when this bit is set.

Bit 1: 25 Line Support

When set this bit signifies that the current process requires a 25 line screen to function correctly. This bit is used by the example XIOS to disable the status line when a DOS application requiring all 25 lines is loaded.

Bit 2: ANSI Support

When set this bit signifies that the current process uses ANSI escape sequences. This bit can be used to select ANSI support in a serial terminal that supports several emulation modes.

Bit 3: ROS Support

When set this bit signifies that the current process uses the ROS video services software interrupt (INT 10).

Bit 4: Hardware Access

When set this bit signifies that the current process accesses the video hardware directly.

The PCMODE checks the ATTRIBUTES field in the CCB before loading a DOS process to check that the Virtual Console provides all the video services required by the DOS process.

Concurent DOS 86 System Guide XIOS Functions for ROS Disk Support 7.2 XIOS Functions for ROS Disk Support

IOJNT13 (35) provides support for DOS interrupt 13 functions.

IOJNT13

Im Dokument SYSTEMS GUIDE (Seite 118-124)