OSOTMEM1 - OS/2 2.X, WARP - ADDRESSING MEMORY GREATER THAN 16M 11/07/94 ================================================================ OS/2 2.X, WARP - ADDRESSING MEMORY GREATER THAN 16M ================================================================ OS/2 2.X and WARP attempts to address all RAM directly, but can be limited by device drivers to 16M of directly addressable RAM. OS/2 queries loaded device drivers to determine if a given device driver can access more than 16M of RAM. If any device driver returns that it cannot address more than 16M of RAM, OS/2 only directly addresses 16M of RAM. RAM above 16M is reserved for an "in memory" swapper, which is used before SWAPPER.DAT is used. If NOSWAP is set in the MEMMAN statement, the "in memory" swapper is not disabled. The call used to query the device drivers is a DOSDevIOCtl, Category 8, function 63h API call. A device driver may not be able to address RAM above 16M because: - The device driver is a block device driver, which uses DMA, whose DMA channel is only 24 bits and the device driver was not programmed to work around the DMA's limitation of addressing 16M of RAM. - The device driver may be programmed for OS/2 1.3 and the maximum amount of RAM that OS/2 1.3 can address is 16M. - The greater than 16M bit in the Device Driver Attributes returned from the API call is not set. The above information applies to OS/2 2.x and OS/2 Warp 3.0.