Detecting Memory (x86): Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
mNo edit summary
→‎Manual Probing: Adding additional information about why not to probe memory directly. Previous information might induce the newbie in error.
Line 257: Line 257:
Use BIOS to get a memory map, or use [[GRUB]] (which calls BIOS for you).
Use BIOS to get a memory map, or use [[GRUB]] (which calls BIOS for you).


When perfectly implemented, directly probing memory may allow you to detect extended memory even on systems where the BIOS fails to provide the appropriate
When perfectly implemented, directly probing memory may allow you to detect extended memory on systems where the BIOS fails to provide the appropriate
support. However, the algorithm will always need to take into account potential holes in system memory or previously detected memory mapped devices, such as frame buffering SVGA cards, etc. Maybe you will want to probe just a specific range of memory that is known to be otherwise undetectable on a specific computer model.
support (or without even worrying about whether your BIOS can do it or not). The algorithm may or may not take into account potential holes in
system memory or previously detected memory mapped devices, such as frame buffering SVGA cards, etc.


However, the BIOS knows things{{which}} you ignore about your motherboard and PCI devices. Probing memory-mapped PCI devices may have ''unpredictable results''{{what}} and
However, the BIOS is part of the computer, and may know things you ignore about your memory, motherboard and PCI devices. Probing memory-mapped PCI devices may have ''unpredictable results''{{what}} and may theoretically '''damage your system'''{{how}}.
may theoretically '''damage your system'''{{how}}.


Note: You will never get an error from trying to read/write memory that does not exist -- this is important to understand: you will not get valid results, but you won't get an error, either.
Note: You will never get an error from trying to read/write memory that does not exist -- this is important to understand: you will not get valid results, but you won't get an error, either.


=====Theoretical obstacles to probing=====
===== Practical obstacles to memory probing =====


* There can be a memory mapped device from 15 MB to 16 MB (typically "VESA local bus" video cards, or older ISA cards that aren't limited to just video).
* There can be a memory mapped device from 15 MB to 16 MB (typically "VESA local bus" video cards, or older ISA cards that aren't limited to just video).