manifest: Require 'compatible' property in 'hypervisor' node

Other hypervisors also use a 'hypervisor' node in the FDT to pass
config information to the VMs. Add requirement to specify which
hypervisors the node is compatible with. The 'compatible' property
is a list of NULL-separated strings in the format
"<manufacturer>,<model>". Following the naming convention of other
projects, we will use "hafnium,hafnium" as a match-all-versions value,
and later add "hafnium,hafnium_<version>" values to match specific
releases of Hafnium.

Bug: 117551352
Change-Id: Ie6dadcdace37318d4d122e80fefe989715ee9cc9
diff --git a/src/memiter.c b/src/memiter.c
index 3dec9c6..3331d37 100644
--- a/src/memiter.c
+++ b/src/memiter.c
@@ -153,7 +153,7 @@
 	return true;
 }
 
-const void *memiter_base(struct memiter *it)
+const void *memiter_base(const struct memiter *it)
 {
 	return (const void *)it->next;
 }
@@ -161,7 +161,7 @@
 /**
  * Returns the number of bytes in interval [it.next, it.limit).
  */
-size_t memiter_size(struct memiter *it)
+size_t memiter_size(const struct memiter *it)
 {
 	return it->limit - it->next;
 }