[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Loongson 2E boot failure
From: |
Andreas Barth |
Subject: |
Re: Loongson 2E boot failure |
Date: |
Sat, 13 Aug 2011 12:32:31 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
* Vladimir 'φ-coder/phcoder' Serbinenko (address@hidden) [110812 15:15]:
> On 03.08.2011 13:21, Robert Millan wrote:
> > 2011/7/26 Colin Watson <address@hidden>:
> >>> 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