+static void xtensa_create_memory_regions(const XtensaMemory *memory,
+ const char *name)
+{
+ unsigned i;
+ GString *num_name = g_string_new(NULL);
+
+ for (i = 0; i < memory->num; ++i) {
+ MemoryRegion *m;
+
+ g_string_printf(num_name, "%s%u", name, i);
+ m = g_new(MemoryRegion, 1);
+ memory_region_init_ram(m, NULL, num_name->str,
+ memory->location[i].size, &error_fatal);
+ memory_region_add_subregion(get_system_memory(),
+ memory->location[i].addr, m);
+ }
+ g_string_free(num_name, true);
+}
+