Robert Millan wrote:
...
This part is intended to handle the (normal) case of one continuous region with not gap between 1M and 16M:
(0x3C00 << 10) = 0x100000 * 15 = 15M
But this part does not work due to the same bug.

It is IMO not necessary to make this distinction. The function compact_mem_regions() called a few lines later joins the two regions anyway.

Ah, ok.  Have you verified that this is so?  (setting debug=mem variable
during init might help on that).


Yes. During testing, I temporarily added some diagnostic output. The function compact_mem_regions() works as expected.


Sorry for being so inquisitive, but I need to understand things well before
touching this part of GRUB, which as I said I'm not very familiar with.


A wrong memory map would break grub, therefore these parts should be changed very carefully :-)

Christian



_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to