memrange: add 2 new range_entry routines

Two convenience functions are added to operate on a range_entry:
- range_entry_update_tag() - update the entry's tag
- memranges_next_entry() - get the next entry after the one provide

These functions will be used by a follow on patch to the MTRR code
to allow hole punching in WB region when the default MTRR type is
UC.

Change-Id: I3c2be19c8ea1bbbdf7736c867e4a2aa82df2d611
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2924
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/src/include/memrange.h b/src/include/memrange.h
index 23dae6a..0e69b2f 100644
--- a/src/include/memrange.h
+++ b/src/include/memrange.h
@@ -61,6 +61,12 @@
 	return r->tag;
 }
 
+static inline void range_entry_update_tag(struct range_entry *r,
+                                          unsigned long new_tag)
+{
+	r->tag = new_tag;
+}
+
 /* Iterate over each entry in a memranges structure. Ranges cannot
  * be deleted while processing each entry as the list cannot be safely
  * traversed after such an operation.
@@ -104,4 +110,7 @@
 void memranges_insert(struct memranges *ranges,
                       resource_t base, resource_t size, unsigned long tag);
 
+/* Returns next entry after the provided entry. NULL if r is last. */
+struct range_entry *memranges_next_entry(struct memranges *ranges,
+                                         const struct range_entry *r);
 #endif /* MEMRANGE_H_ */