I hope others test this patch so we can be certain it doesn't break anyone where it previously worked. It shouldn't.
I was hoping it would fix qemu's problem with a LAB kernel, but it doesn't change the behavior.
if (e820_map[i].addr + info->real_mode->initrd_size >=
0x38000000)
continue;
..what is this 3.5MB limit about? Also might this condition be sensitive to an overflow error?
Peter isn't sure why 3.5MB specifically. He said it is known to work for many years in other boot loaders. There may have been a historic reason for this particular value but he doesn't know.
I read that value as 896MB, for what it's worth.
Thanks, Myles