VMware Cloud Community
andybgrant
Enthusiast
Enthusiast

Can ESXi v3.5U3 bypass the BIOS e820 RAM detection routine?

Hi Everyone

I am using ESXi for running a test environment while studying for my MCSE 2003. It works awesome on a homebuild "whitebox"

Unfortunately the situation is that the MSI K9VGM-V motherboard in the ESXi box has a BIOS limitation of how much RAM it can detect. According to the MSI website, it only supports 2Gb. I have 4Gb installed and it detects 3Gb out of the 4Gb. Memtest+ v2.11 shows 3Gb. The RAM is detected successfully in other PC's at 4Gb. If i install WinXP x64 on the box, it only shows 3Gb. Searching online this is normal for this motherboard. ESXi only shows 3Gb of RAM for use.

An interesting tidbit. If I login to the "unsupported" console and run "smbiosdump" it correctly recognizes that 2x2Gb DIMM's are installed.

Is there any kernel boot parameter that can be used to detect and use the full 4Gb of RAM?

(Much like linux can use 48bit LBA addressing even when the motherboard BIOS would only use 32bit to detect a hard drive.)

I have successfully used the "Advanced" configuration section of the VIC to disable IOAPIC to get my Promise Ultra133TX2 working in ESXi. I was hoping there might be something similar to get the RAM detected properly.

I would really like to avoid buying a new motherboard since the computer parts were given to me when i was laid off recently and the RAM was a christmas gift.

Thanks for you help

Andy

Tags (2)
0 Kudos
3 Replies
Peter_vm
Immortal
Immortal

You may try to upgrade motherboard BIOS to latest version (1.8?) and enable memory hole remapping.

Some specs say that this board supports up to 4GB:

http://www.msi-computer.fr/index.php?page=13&id_type_produit=132&id_prod=517

but you may still have a memory limit around 3.xGB.

andybgrant
Enthusiast
Enthusiast

Hi Peter

Thanks for the reply. I have enabled memory hole remapping and updated to BIOS v1.8, unfortunately I am still limited. I forgot to include that in my first post. But thanks for looking. I have yet to find a solution by googling. I think the specs that listed support for 4Gb were in error since only the french website mentions it. All other languages that i tried only listed 2Gb.

Any other takers?

Andy

0 Kudos
andybgrant
Enthusiast
Enthusiast

Ok, I have found a POST online with a possible solution for linux, but it involves /proc/mtrr which ESXi doesn't have. Jussi was having the same problem as I am, only 3Gb out of 4Gb were detected by his motherboard.

Here it is

Comment #18 From Jussi Torhonen 2007-05-21 14:06:13 EDT -


Thanks to Linus, I hacked /proc/mtrr directly and got 4GB detected with the

following bash script:

#!/bin/sh

echo "base=0x100000000 size=0x20000000 type=write-back" >| /proc/mtrr

echo "base=0x120000000 size=0x8000000 type=write-back" >| /proc/mtrr

echo "base=0x128000000 size=0x4000000 type=write-back" >| /proc/mtrr

Now free says:

  1. free

total used free shared buffers cached

Mem: 3975016 1251468 2723548 0 26668 487580

-/+ buffers/cache: 737220 3237796

Swap: 2096376 0 2096376

And /proc/mtrr has:

$ cat /proc/mtrr

reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1

reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1

reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1

reg03: base=0xcf800000 (3320MB), size= 8MB: uncachable, count=1

reg04: base=0xcf700000 (3319MB), size= 1MB: uncachable, count=1

reg05: base=0x100000000 (4096MB), size= 512MB: write-back, count=1

reg06: base=0x120000000 (4608MB), size= 128MB: write-back, count=1

reg07: base=0x128000000 (4736MB), size= 64MB: write-back, count=1

Is there any way to use this somehow?

I ssh'd in but sadly no /proc/mtrr ;(

Andy

0 Kudos