* Vladimir 'φ-coder/phcoder' Serbinenko (phco...@gmail.com) [110812 15:15]: > On 03.08.2011 13:21, Robert Millan wrote: > > 2011/7/26 Colin Watson <cjwat...@ubuntu.com>: > >>> Looks like memory allocations are wrong. Try hardcoding heap at e.g. > >>> 81000000-82000000 > >> Sorry, I've not had to mess with this before. Can you point me to what > >> I'd need to change to hardcode a specific heap region? > > Try replacing grub_machine_mmap_iterate() with something like: > > > > grub_err_t > > grub_machine_mmap_iterate (grub_memory_hook_t hook) > > { > > hook (0x81000000, 82000000, GRUB_MEMORY_AVAILABLE); > > return GRUB_ERR_NONE; > > } > > > This code is wrong for at least 4 reasons: > 1) 0x8.... is just to access kseg0, it's not part of physical address > 2) second argument is a size, not end > 3) and it's lacking 0x > 4) on yeeloong memory init doesn't use mmap. > Correct way is to replace: > grub_mm_init_region ((void *) modend, (grub_arch_memsize << 20) > - (modend - GRUB_ARCH_LOWMEMVSTART)); > with: > grub_mm_init_region (0x81000000, 16 << 20);
No real behaviour change - still fails within grub_font_init (using the for(;;);-method). Only change compared with http://lists.gnu.org/archive/html/grub-devel/2011-07/msg00085.html is that the last line on the vga console is now 80211ebc 7091181e .word 7091181e # ...p Andi _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel