Hello,
El 02/04/14 12:24, Alexis Fajardo Moya
escribió:
=>=>=> lastmoduleend 0 received from rounded this_module->end() 0
Note this output. After move the first module (00, corresponding to
fiasco), the "end" value of the variable
this_module
is 0.
After many printfs, I (aka. my team) discover the problem in the
function
move_module (l4util_mb_info_t *mbi, int i, Region *from, Region *to, bool overlap_check)
after execute the sentence
memmove((void *)to->begin(), (void *)start, size);
the begin and end values of the region to,
originally with values 711cf000 and 712256db, turns in 10101464c457f
and 0. The begin and end values of the region from
are set to the corresponding values of the region to,
causing the problem in the assigment to lastmoduleend
variable in the move_modules function, making false the
comparision
for (unsigned i = 0; i < mbi->mods_count; ++i) { ...
if (i < 3) { ...
if (start < lastmoduleend) // false, (7106e000 < 0)?
in the second iteration of the for sentence.
Best regards,
Alexis.