[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] [patch] boot memory allocator cleanup 3
Hi again Yashi,
John Williams wrote:
> I'm having some problems with this one. When I boot with this patch
> applied I get a BUG in open()... which almost certainly means
> something's broken in the memory mapping. see my comments below:
>
> Yasushi SHOJI wrote:
>> * arch/microblaze/mbvanilla.ld: remove unsed bootmap section
>> * arch/microblaze/mm/init.c: reserve memory from start of bss to
>> _ramstart, which is the end of romfs.
>> removed: _bootmap fixed:
>> fixed: finally use _ramstart
>
> Here's where it seems to break.
>
> Specifically, if I just use bootmap=_ramstart it works OK, but as soon
> as I actually remove the bootmap region from the link script, it breaks.
>
> The .bss section comes afterimmediately the bootmap, so it's probably
> related. I'm still trying to work out why...
OK, so the problem is that when the bootmnap section is removed, .bss
loses its page alignment. With the old bootmap section there, this was
kind of implicit, since we had
.bootmap ALIGN (4096) {
. += 4096
}
.bss (align 4) {
...
}
Now, if I remove the bootmap section, I must give .bss ALIGN(4096) for
it not to fail.
Is there anything that assumes .bss will be page aligned? Otherwise,
it's some kind of off-by-one or align/reounding error, I think.
It's interesting that this is OK on Suzaku, but breaks mbvanilla.
I can't really spend any more time on it today - have a think about it
and we can discuss further.
The earlier patches (linux-mm1 and 2) are all in CVS now.
Thanks,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/