diff mbox

[1/7] pci: add range_covers_range()

Message ID 1281900442-29971-2-git-send-email-eduard.munteanu@linux360.ro (mailing list archive)
State New, archived
Headers show

Commit Message

Eduard - Gabriel Munteanu Aug. 15, 2010, 7:27 p.m. UTC
None
diff mbox

Patch

diff --git a/hw/pci.h b/hw/pci.h
index 4bd8a1a..5a6cdb5 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -419,6 +419,16 @@  static inline int range_covers_byte(uint64_t offset, uint64_t len,
     return offset <= byte && byte <= range_get_last(offset, len);
 }
 
+/* Check whether a given range completely covers another. */
+static inline int range_covers_range(uint64_t first_big, uint64_t len_big,
+                                     uint64_t first_small, uint64_t len_small)
+{
+    uint64_t last_big = range_get_last(first_big, len_big);
+    uint64_t last_small = range_get_last(first_small, len_small);
+
+    return first_big <= first_small && last_small <= last_big;
+}
+
 /* Check whether 2 given ranges overlap.
  * Undefined if ranges that wrap around 0. */
 static inline int ranges_overlap(uint64_t first1, uint64_t len1,