0 Replies Latest reply on Jan 7, 2010 10:42 PM by alegr

    DG43GT BIOS int15/0xE820 reports wrong memory map; OS crashes

      I bought a DG43GT MB and 2GB of RAM recently for a new computer, and installed Windows 7 on it. Soon I found that after some time the OS freezes, while the display image gets corrupted. Since the video controller uses the main memory, I suspected that OS for some reason used that area as regular memory, too, causing eventual corruption. Changing video option in BIOS "IGD DVMT Memory" from "Maximum" to 128M didn't really help.


      So I ran msconfig and set maxmem in the boot options to 1792 which is 2048 minus 256. Of course, this helped and the system is not crashing anymore. So I suspected the BIOS reports wrong memory map to the OS. I fired my old MS VC 1.52, and made a little program that calls INT 15 function 0xE820, to gather memory map. This is the function is used by OS loaders. The result was:


      base=000000000, length: 00009FC00, type=1

      base=00009FC00, length: 000000400, type=2

      base=0000E0000, length: 000020000, type=2

      base=000100000, length: 07B8B2000, type=1

      base=07B9B2000, length: 000022000, type=4

      base=07B9D4000, length: 00006F000, type=2

      base=07BA43000, length: 000014000, type=4

      base=07BA57000, length: 0000FF000, type=2

      base=07BB56000, length: 000001000, type=4

      base=07BB57000, length: 00000A000, type=3

      base=07BB61000, length: 00000A000, type=4

      base=07BB6B000, length: 00001F000, type=2

      base=07BB8A000, length: 000006000, type=4

      base=07BB90000, length: 000170000, type=1

      base=0FED1C000, length: 000004000, type=2

      base=0FF000000, length: 001000000, type=2


      Now, the type 1 is memory that the OS will use. Type 3 is memory that os may use after boot. You see that there are a couple such regions among the reserved memory. I suspect those regions are not kosher for OS to use. This looks like BIOS/OS interop issue.


      Also, even though "IGD DVMT Memory" is configured in the BIOS to 128 MB, from the map it seems that only about 72MB (0x80000000-0x7B9B2000=464E000) is actually reserved.


      The BIOS version is GTG4310H.86A.0019.2009.0625.1334