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.
_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

Reply via email to