home *** CD-ROM | disk | FTP | other *** search
- OSOTMEM - OS/2 2.X, WARP MEMORY RECOGNITION ON ISA SYSTEMS
- 11/09/94
-
- ================================================================
- OS/2 2/X, WARP MEMORY RECOGNITION ON ISA SYSTEMS
- ================================================================
-
-
- SYMPTOM:
-
- Installed memory of more than 64M may not be recognized on
- systems using Phoenix or AMI BIOS.
-
- RESOLUTION:
-
- 1. To resolve this on the Phoenix BIOS, check the setup for a
- "Compatibility Mode" setting. If this is present, disable it,
- if not, a BIOS upgrade may be necessary.
-
- 2. Currently, there is no resolution for this on the AMI BIOS.
- The BIOS does not report more than 64M or it reports it in a
- way that OS/2 does not support.
-
- Some systems constantly reboot when starting OS/2 or during
- installation of OS/2. This occurs when systems run versions of
- both the AMI and Phoenix BIOS. This may also apply to other
- BIOS. This problem is resolved and described in PJ14893.
-
-
- DETAILS:
-
- Determining RAM available on ISA systems
- -------------------------------------------
-
- During boot, OS2LDR issues the three BIOS calls described later
- in this document. If the INT 15 AX=88 returns a value other
- than 16M, this is the amount of RAM OS/2 addresses. If the INT
- 15 AX=88 returns 16M, OS/2 checks the return from the INT 15
- AX=E801 to see if extra RAM is available. Once OS2LDR
- determines what RAM is available to the system, it passes this
- to OS2KRNL. OS2KRNL initializes the Page Manager which does
- one final check and verifies the RAM returned by the BIOS
- really is addressable.
-
- OS/2 does not try to find and use any free RAM between 640K and
- 1M which is reserved for hardware.
-
-
- BIOS considerations with installed RAM over 64M.
- ------------------------------------------------
-
- Systems with Phoenix BIOS may have a problem using RAM above
- 64M. The system continuously reboots if more than 64M RAM is
- installed because it may only recognize 64M of memory. The
- problem is due to multiple interpretations of the INT 15 AH=88
- BIOS call, since no BIOS call was implemented to report that
- more than 64M was available. Check for a "Compatibility Mode"
- setting in the BIOS and disable it if it is present. This
- should resolve the problem. If not, you need the fix for
- PJ14893.
-
- Phoenix implemented the INT 15 AX=E801 call as of 7/94. If the
- BIOS date is previous to this, it probably does not have this
- call. It should have it after 7/94 if the vendor that licensed
- the BIOS code chose to implement it. Check the System Setup
- for a "Compatibility Mode" setting and make sure it is disabled
- for OS/2. When this is disabled, the Phoenix BIOS returns
- memory the same way as Compaq systems, which is described later
- in this document. This setting may have different names in
- different licensed versions of Phoenix BIOS.
-
- AMI BIOS may also have the continuous reboot problem and the
- same APAR applies. AMI implemented a call as of 9/94 in their
- BIOS to report more than 64M. AMIimplemented this call
- differently than Compaq. Currently OS/2 does not recognize
- memory over 64M returned by the AMI BIOS.
-
-
- BIOS calls to determine RAM on non-MCA systems
- -------------------------------------------------
-
- INT 12
- This is the standard industry call to query the BIOS for RAM
- available below 640K. The call returns into the AX register
- the number of 1K blocks of RAM the system has available in this
- memory area.
-
- INT 15 ;AH=88
- This is the standard industry call to query the BIOS for RAM
- between 1M and 64M. The call returns into the AX register the
- number of 1K blocks of RAM the system has available in this
- memory area. The call technically can support between 1M and
- 65M, but the standard limits it to 64M.
-
- INT 15 ;AX=E801
- This is a call used by Compaq systems to query the BIOS for
- memory between 16M and 4G. The call returns into the BX
- register the number of 64K blocks of memory the system has
- available in this memory area. If there is more than 64M of
- memory in the system, the INT 15 AH=88 call should only return
- 16M and the programmer should use INT 15 AX=E801 to find the
- additional memory available to the system. INT 15 AX=E801 also
- returns in the AX register number of 1K pages between 1M and
- 16M so that the INT 15 AX=E801 call returns all memory above
- 1M. AMI has also implemented this call, but their
- implementation is not currently supported by OS/2.
-
-
- ----------------------------------------------------------------
- IBM disclaims all warranties, whether express or implied,
- including without limitation, warranties of fitness and
- merchantability with respect to the information in this document.
- By furnishing this document, IBM grants no licenses to any
- related patents or copyrights.
-