]> rtime.felk.cvut.cz Git - l4.git/blobdiff - l4/pkg/bootstrap/server/src/region.cc
update
[l4.git] / l4 / pkg / bootstrap / server / src / region.cc
index bd261730bfa8025160b9d5866404e89472fa019d..b9087d3c231c0aaaa505315cd4710541d24267df 100644 (file)
@@ -82,7 +82,10 @@ Region_list::add_nolimitcheck(Region const &region, bool may_overlap)
   if (_end >= _max)
     panic("Bootstrap: %s: Region overflow\n", __func__);
 
-  if (!may_overlap && (r = find(region)))
+  if (!may_overlap && (r = find(region))
+      // sometimes there are smaller regions in regions of the same type
+      && !(   r->contains(region)
+           && region.type() == r->type()))
     {
       printf("  New region for list %s:\t", _name);
       region.vprint();