Fix a slight inconsistency in the overmap semantics of Pistachio using

the new mapping database, when overmapping from sigma0. Thanks to
Norman Feske.
This commit is contained in:
Jan Stoess 2010-08-06 11:05:43 +02:00
parent db2d22edab
commit 497dc5e8d3
1 changed files with 5 additions and 3 deletions

View File

@ -527,10 +527,12 @@ void space_t::map_fpage (fpage_t snd_fp, word_t base,
flush_tlb (get_current_space ()); flush_tlb (get_current_space ());
/* /*
* We might have invalidated the source mapping during the * We might have invalidated the source mapping during the unmap
* unmap operation above. If so, we have to skip it. * operation above. If so, we have to skip it (unless whe deal with
* sigma0 mappings, where source mappings are invalid by default).
*
*/ */
if (! fpg->is_valid (this, f_size)) if (!fpg->is_valid (this, f_size) && !is_sigma0_space(this))
goto Next_receiver_entry; goto Next_receiver_entry;
} }
else if (tpg->is_valid (t_space, t_size) && else if (tpg->is_valid (t_space, t_size) &&