home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 36 Tips
/
36-Tips.zip
/
osotmem.txt
< prev
next >
Wrap
Text File
|
1997-03-20
|
5KB
|
117 lines
OSOTMEM - INSTALLED MEMORY NOT RECOGNIZED ON ISA SYSTEMS
01/30/96
=======================================================================
Installed Memory Not Recognized on ISA Systems
All OS/2 Releases
=======================================================================
Please Read Entire Document for Full Explanation of Procedures
--------------------------------------------------------------
DESCRIPTION
Installed memory of more than 64 MB might not be recognized on systems
using Phoenix or AMI BIOS.
RESOLUTION
1. To resolve this on a system with Phoenix BIOS, check the setup for a
"Compatibility Mode" setting. If this is present, disable it; if it
isn't, a BIOS upgrade might be necessary.
2. To resolve this on a system with OS/2 Warp or OS/2 2.11, apply the
latest FixPak.
Some systems constantly restart when starting OS/2 or when installing
OS/2. This occurs when systems run versions of both the AMI and Phoenix
BIOS. This might also apply to other BIOS. The problem is described in
APAR PJ14893.
Determining RAM Available on ISA Systems
----------------------------------------
During startup, OS2LDR issues the three BIOS calls, which are described
later in this document. If INT 15 AX=88 returns a value other than 16M,
this is the amount of RAM OS/2 addresses. If it returns 16M, OS/2
checks the return from 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 a
final check to verify that the RAM returned by the BIOS really is
addressable.
OS/2 does not try to find and use any free RAM between 640 KB and 1 MB,
which is reserved for hardware.
BIOS Considerations with Installed RAM over 64 MB
-------------------------------------------------
Systems with Phoenix BIOS might have a problem using RAM above 64 MB.
The system continuously restarts if more than 64 MB of RAM is
installed, because it might recognize only 64 MB of memory. The problem
is due to multiple interpretations of the INT 15 AH=88
BIOS call, because no BIOS call was implemented to report that more
than 64 MB was available. Check for a "Compatibility Mode" setting in
the BIOS and disable it if it is present. This should resolve the
problem.
Phoenix implemented the INT 15 AX=E801 call as of July 1994. If the
BIOS date is earlier, it probably does not have this call. BIOS after
July 1994 should have the call, 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 that Compaq
systems do, which is described later in this document. This setting
might have different names in different licensed versions of Phoenix
BIOS.
AMI BIOS also might have the continuous-restart problem, and the same
APAR applies. AMI implemented a call in their BIOS as of September 1994
to report more than 64 MB. AMI implemented this call differently than
Compaq. Currently OS/2 does not recognize memory over 64 MB returned by
the AMI BIOS. The latest FixPaks resolve this issue.
BIOS Calls to Determine RAM on Non-Micro-Channel Systems
--------------------------------------------------------
INT 12
------
This is the standard industry call to query the BIOS for available RAM
below 640KB. The call returns into the AX register, the number of 1KB
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 1
MB and 64 MB. The call returns, to the AX register, the number of 1 KB
blocks of RAM the system has available in this memory area. The call
technically can support between 1 MB and 65 MB, but the standard limits
it to 64 MB.
INT 15 ;AX=E801
-----------------
This is a call used by Compaq systems to query the BIOS for memory
between 16 MB and 4 GB. The call returns, to the BX register, the
number of 64 KB blocks of memory the system has available in this
memory area. If there is more than 64 MB of memory in the system, the
INT 15 AH=88 call should return only 16 MB, 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 1 KB
pages between 1 MB and 16 MB, so that the INT 15 AX=E801 call returns
all memory above 1 MB. AMI also has implemented this call, but OS/2
does not currently support their implementation.
Note: For additional information, also see technical document OSOTMEM1,
OS/2 Addressing Memory Greater Than 16 MB.
______________________________________________________________________
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.
Copyright (c) 1994, 1996 IBM Corporation. Any trademarks and product
or brand names referenced in this document are the property of their
respective owners. Consult your product manuals for complete trademark
information.