diff mbox series

[PULL,v2,34/50] migration/ram: ramblock_recv_bitmap_test_byte_offset

Message ID 1521515720-612046-35-git-send-email-mst@redhat.com
State New
Headers show
Series [PULL,v2,01/50] scripts/update-linux-headers: add ethtool.h and update to 4.16.0-rc4 | expand

Commit Message

Michael S. Tsirkin March 20, 2018, 3:17 a.m. UTC
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Utility for testing the map when you already know the offset
in the RAMBlock.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 migration/ram.h | 1 +
 migration/ram.c | 5 +++++
 2 files changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/migration/ram.h b/migration/ram.h
index 53f0021..5030be1 100644
--- a/migration/ram.h
+++ b/migration/ram.h
@@ -60,6 +60,7 @@  int ram_postcopy_incoming_init(MigrationIncomingState *mis);
 void ram_handle_compressed(void *host, uint8_t ch, uint64_t size);
 
 int ramblock_recv_bitmap_test(RAMBlock *rb, void *host_addr);
+bool ramblock_recv_bitmap_test_byte_offset(RAMBlock *rb, uint64_t byte_offset);
 void ramblock_recv_bitmap_set(RAMBlock *rb, void *host_addr);
 void ramblock_recv_bitmap_set_range(RAMBlock *rb, void *host_addr, size_t nr);
 
diff --git a/migration/ram.c b/migration/ram.c
index 7266351..6ce7770 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -169,6 +169,11 @@  int ramblock_recv_bitmap_test(RAMBlock *rb, void *host_addr)
                     rb->receivedmap);
 }
 
+bool ramblock_recv_bitmap_test_byte_offset(RAMBlock *rb, uint64_t byte_offset)
+{
+    return test_bit(byte_offset >> TARGET_PAGE_BITS, rb->receivedmap);
+}
+
 void ramblock_recv_bitmap_set(RAMBlock *rb, void *host_addr)
 {
     set_bit_atomic(ramblock_recv_bitmap_offset(host_addr, rb), rb->receivedmap);