diff mbox

[1/4] ramblock-notifier: new

Message ID 127070fc-ded9-04aa-bbc8-2f96f1c9fed7@weilnetz.de
State New
Headers show

Commit Message

Stefan Weil Jan. 11, 2017, 5:48 a.m. UTC
On 01/11/17 06:38, Stefan Weil wrote:
> Hi,
>
> this fails for me when building with XEN support.
> I noticed the failure when testing the latest HAXM patches.
> See compiler output below.
>
> Regards
> Stefan

The patch compiles with this modification:


          if (!err[i]) {
@@ -399,7 +399,7 @@ static void 
xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
      }

      pentry->next = entry->next;
-    ram_block_removed(entry->vaddr_base, entry->size);
+    ram_block_notify_remove(entry->vaddr_base, entry->size);
      if (munmap(entry->vaddr_base, entry->size) != 0) {
          perror("unmap fails");
          exit(-1);

Comments

Fam Zheng Jan. 11, 2017, 6:41 a.m. UTC | #1
On Wed, 01/11 06:48, Stefan Weil wrote:
> On 01/11/17 06:38, Stefan Weil wrote:
> > Hi,
> > 
> > this fails for me when building with XEN support.
> > I noticed the failure when testing the latest HAXM patches.
> > See compiler output below.
> > 
> > Regards
> > Stefan
> 
> The patch compiles with this modification:
> 
> 
> diff --git a/xen-mapcache.c b/xen-mapcache.c
> index dc9b321491..31debdfb2c 100644
> --- a/xen-mapcache.c
> +++ b/xen-mapcache.c
> @@ -163,7 +163,7 @@ static void xen_remap_bucket(MapCacheEntry *entry,
>      err = g_malloc0(nb_pfn * sizeof (int));
> 
>      if (entry->vaddr_base != NULL) {
> -        ram_block_removed(entry->vaddr_base, entry->size);
> +        ram_block_notify_remove(entry->vaddr_base, entry->size);
>          if (munmap(entry->vaddr_base, entry->size) != 0) {
>              perror("unmap fails");
>              exit(-1);
> @@ -189,7 +189,7 @@ static void xen_remap_bucket(MapCacheEntry *entry,
>      entry->valid_mapping = (unsigned long *) g_malloc0(sizeof(unsigned
> long) *
>              BITS_TO_LONGS(size >> XC_PAGE_SHIFT));
> 
> -    ram_block_added(entry->vaddr_base, entry->size);
> +    ram_block_notify_add(entry->vaddr_base, entry->size);
>      bitmap_zero(entry->valid_mapping, nb_pfn);
>      for (i = 0; i < nb_pfn; i++) {
>          if (!err[i]) {
> @@ -399,7 +399,7 @@ static void
> xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
>      }
> 
>      pentry->next = entry->next;
> -    ram_block_removed(entry->vaddr_base, entry->size);
> +    ram_block_notify_remove(entry->vaddr_base, entry->size);
>      if (munmap(entry->vaddr_base, entry->size) != 0) {
>          perror("unmap fails");
>          exit(-1);
> 

Yes, this matches what Paolo pointed out in his reply. I'll fix that in the next
revision.

Fam
diff mbox

Patch

diff --git a/xen-mapcache.c b/xen-mapcache.c
index dc9b321491..31debdfb2c 100644
--- a/xen-mapcache.c
+++ b/xen-mapcache.c
@@ -163,7 +163,7 @@  static void xen_remap_bucket(MapCacheEntry *entry,
      err = g_malloc0(nb_pfn * sizeof (int));

      if (entry->vaddr_base != NULL) {
-        ram_block_removed(entry->vaddr_base, entry->size);
+        ram_block_notify_remove(entry->vaddr_base, entry->size);
          if (munmap(entry->vaddr_base, entry->size) != 0) {
              perror("unmap fails");
              exit(-1);
@@ -189,7 +189,7 @@  static void xen_remap_bucket(MapCacheEntry *entry,
      entry->valid_mapping = (unsigned long *) g_malloc0(sizeof(unsigned 
long) *
              BITS_TO_LONGS(size >> XC_PAGE_SHIFT));

-    ram_block_added(entry->vaddr_base, entry->size);
+    ram_block_notify_add(entry->vaddr_base, entry->size);
      bitmap_zero(entry->valid_mapping, nb_pfn);
      for (i = 0; i < nb_pfn; i++) {