Posted: Sun Nov 12, 2006 9:43 pm
Hi,
Mine (link posted previously) checks for details in the following order:
I'm also allowing for a "chipset driver" to make additional RAM available after the kernel starts. This can be freeing the ACPI reclaimable area, finding more RAM between 0x000C0000 and 0x000F0000, or support for hotplug RAM.

Cheers,
Brendan
Mine (link posted previously) checks for details in the following order:
- Int 0x15, eax = 0xE820
Int 0x15, ax = 0xE881
Int 0x15, ax = 0xE801
Int 0x15, ah = 0xC7
Int 0x15, ah = 0x88
CMOS locations 0x17 and 0x18
Manual probing
I intend to do the reverse (disable all PCI option ROMs and re-allocate any address space regions used for memory mapped I/O according to the system memory map I obtained previously).smiddy wrote:I then use PnP calls to determine RAM, which is very close to the E820 with a MAP, I also use SMBIOS to determine what is says is there from a hardware perspective, and finally I do a memory probe being careful of certain areas where ROM and BIOS are located, I also use PCI and scanning to determine the ROMS.
I'm also allowing for a "chipset driver" to make additional RAM available after the kernel starts. This can be freeing the ACPI reclaimable area, finding more RAM between 0x000C0000 and 0x000F0000, or support for hotplug RAM.
The ACPI tables don't return any information about the physical address space - the ACPI specification states "Use Int 0x15, eax = 0xE820"...smiddy wrote:This method isn't all encompassing, as you might think it is. I've yet to determine RAM using ACPI tables (if capable), and I haven't even considered GRUB, I've never used it...<shrug>

Cheers,
Brendan