Genode 16.08 nova.iso rebooting on real Core 2 Duo after relocating modules
Paul Dufresne
dufresnep at ...9...
Fri Sep 23 22:59:37 CEST 2016
Looks like I was ok in my previous post.
In fact I seem to have isolated to a line in pte.cpp in function walk:
template <typename P, typename E, unsigned L, unsigned B, bool F>
P *Pte<P,E,L,B,F>::walk (Quota "a, E v, unsigned long n, bool a)
{
unsigned long l = L;
for (P *p, *e = static_cast<P *>(this);; e = static_cast<P
*>(Buddy::phys_to_ptr (e->addr())) + (v >> (--l * B + PAGE_BITS) &
((1UL << B) - 1))) {
//while(1);
if (l == n)
return e;
if (!e->val) {
if (!a)
return nullptr;
while(1);
if (!e->set (0, Buddy::ptr_to_phys (p = new (quota) P) |
(l == L ? 0 : P::PTE_N)))
Pte::destroy(p, quota);
//while(1);
}
}
}
So I believe the culprit ine is:
if (!e->set (0, Buddy::ptr_to_phys (p = new (quota) P) |
(l == L ? 0 : P::PTE_N)))
Pte::destroy(p, quota);
Guess I need to take time to examine, try to think and see if I can go further.
More information about the users
mailing list