[Barrelfish-users] Problems with the MMU and a different memory layout

Samuel Hitz samuel.hitz at gmail.com
Thu Jul 19 16:31:32 CEST 2012


Hi Daniel,

A small follow up question: Are you sure you set the correct permissions in
the page table entry and don't set something like the 'execute never' bit?
This would cause a prefetch abort, if it was set and the system tries to
fetch an instruction from such a page.

cheers,

Samuel

On Thu, Jul 19, 2012 at 4:12 PM, Samuel Hitz <samuel.hitz at gmail.com> wrote:

> Hi Daniel,
>
> Sorry for letting you wait. I'm pretty busy with writing my thesis...
>
> What you say is correct. This should be a mov r1, r2 or mov r1, pc
> (doesn't matter). As for your other problem, if you are sure the copying
> and expanding stuff is working correctly then the error is probably
> somewhere when you create your mappings. Did you change BOOT_STACK_PHYS
> accordingly to reflect your memory layout? Otherwise the first mapping
> fails. I'd suggest changing the line
> and     r2, sp, r3
> to
> ldr r2, =0x20000000
> anyway, since it's much clearer what you are trying to do.
>
> You should also change the domain permissions back to client, since you
> won't get any permission faults otherwise (just an advice for later). What
> are you trying to achieve with the code right before activating the MMU?
>
> cheers,
>
> Samuel
>
> On Wed, Jul 18, 2012 at 2:54 PM, Daniel Röhrig <
> daniel.roehrig at mailbox.tu-berlin.de> wrote:
>
>> Hey Guys,
>>
>> we think we might have stumbled upon a little mistake in your arm port
>> that still works with the integratorcp boards but will cause problems on
>> other boards.
>>
>> In the boot.S, Line 140:
>> Are you sure you mean "mov r1, r1" and not "mov r1, r2"? mov r1, r1 is a
>> nop and section_map will do exactly the same twice. But if you change it
>> to mov r1, r2 you really do map the section containing the programm
>> counter.
>>
>> Regards
>> Daniel
>>
>> On 16.07.2012 22:39, Daniel Röhrig wrote:
>> > Hey guys,
>> >
>> > we've been trying (rather unsuccessfully) to get Barrelfish up and
>> > running on a slightly changed integratorcp board in qemu. The problem
>> > is, we don't have memory at 0x0. Our memory starts at 0x20000000. We
>> > changed the boot.S to reflect these changes but as soon as we enable the
>> > mmu we get an prefetch abortion. And honestly we are running out of
>> > ideas why this keeps happening. We stepped through the whole process in
>> > gdb but everything seems fine.
>> >
>> > We would be very happy if somebody could take a look at our boot.S and
>> > point out the obvious mistake that we can't find.
>> > Here's the link:
>> >
>> > http://pastebin.com/KDE19qdu
>> >
>> > Thanks and cheers
>> > Daniel
>> >
>> > _______________________________________________
>> > Barrelfish-users mailing list
>> > Barrelfish-users at lists.inf.ethz.ch
>> > https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>> >
>>
>>
>> _______________________________________________
>> Barrelfish-users mailing list
>> Barrelfish-users at lists.inf.ethz.ch
>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120719/88f1b5ba/attachment.html 


More information about the Barrelfish-users mailing list