Il 25/05/2013 12:19, Jan Kiszka ha scritto: > addr -= section->offset_within_address_space; > - len = MIN(section->size - addr, len); ^^^^^^^^^^^^^ ^^^^
This is the size of a section minus an offset in the section. > + diff = int128_sub(section->mr->size, int128_make64(addr)); ^^^^^^^^^^^^^^^^^ ^^^^ This is the size of a region minus the same offset in the section. > + len = MIN(int128_get64(diff), len); > > /* Compute offset within MemoryRegion */ > addr += section->offset_within_region; So this has to be moved above. Do you have a branch pushed somewhere that I can test against? Paolo