Lines Matching full:rb

534 static int test_ramblock_postcopiable(RAMBlock *rb, Error **errp)  in test_ramblock_postcopiable()  argument
536 const char *block_name = qemu_ram_get_idstr(rb); in test_ramblock_postcopiable()
537 ram_addr_t length = qemu_ram_get_used_length(rb); in test_ramblock_postcopiable()
538 size_t pagesize = qemu_ram_pagesize(rb); in test_ramblock_postcopiable()
549 if (rb->fd >= 0) { in test_ramblock_postcopiable()
550 fs = qemu_fd_getfs(rb->fd); in test_ramblock_postcopiable()
682 static int init_range(RAMBlock *rb, void *opaque) in init_range() argument
684 const char *block_name = qemu_ram_get_idstr(rb); in init_range()
685 void *host_addr = qemu_ram_get_host_addr(rb); in init_range()
686 ram_addr_t offset = qemu_ram_get_offset(rb); in init_range()
687 ram_addr_t length = qemu_ram_get_used_length(rb); in init_range()
695 rb->postcopy_length = length; in init_range()
714 static int cleanup_range(RAMBlock *rb, void *opaque) in cleanup_range() argument
716 const char *block_name = qemu_ram_get_idstr(rb); in cleanup_range()
717 void *host_addr = qemu_ram_get_host_addr(rb); in cleanup_range()
718 ram_addr_t offset = qemu_ram_get_offset(rb); in cleanup_range()
719 ram_addr_t length = rb->postcopy_length; in cleanup_range()
870 static int nhp_range(RAMBlock *rb, void *opaque) in nhp_range() argument
872 const char *block_name = qemu_ram_get_idstr(rb); in nhp_range()
873 void *host_addr = qemu_ram_get_host_addr(rb); in nhp_range()
874 ram_addr_t offset = qemu_ram_get_offset(rb); in nhp_range()
875 ram_addr_t length = rb->postcopy_length; in nhp_range()
913 static int ram_block_enable_notify(RAMBlock *rb, void *opaque) in ram_block_enable_notify() argument
918 reg_struct.range.start = (uintptr_t)qemu_ram_get_host_addr(rb); in ram_block_enable_notify()
919 reg_struct.range.len = rb->postcopy_length; in ram_block_enable_notify()
932 qemu_ram_set_uf_zeroable(rb); in ram_block_enable_notify()
940 RAMBlock *rb) in postcopy_wake_shared() argument
942 size_t pagesize = qemu_ram_pagesize(rb); in postcopy_wake_shared()
943 trace_postcopy_wake_shared(client_addr, qemu_ram_get_idstr(rb)); in postcopy_wake_shared()
953 static int postcopy_request_page(MigrationIncomingState *mis, RAMBlock *rb, in postcopy_request_page() argument
956 void *aligned = (void *)(uintptr_t)ROUND_DOWN(haddr, qemu_ram_pagesize(rb)); in postcopy_request_page()
966 assert(QEMU_IS_ALIGNED(start, qemu_ram_pagesize(rb))); in postcopy_request_page()
967 if (ramblock_page_is_discarded(rb, start)) { in postcopy_request_page()
968 bool received = ramblock_recv_bitmap_test_byte_offset(rb, start); in postcopy_request_page()
970 return received ? 0 : postcopy_place_page_zero(mis, aligned, rb); in postcopy_request_page()
973 return migrate_send_rp_req_pages(mis, rb, start, haddr, tid); in postcopy_request_page()
978 * the page must be specified by a RAMBlock and an offset in that rb
981 int postcopy_request_shared_page(struct PostCopyFD *pcfd, RAMBlock *rb, in postcopy_request_shared_page() argument
984 uint64_t aligned_rbo = ROUND_DOWN(rb_offset, qemu_ram_pagesize(rb)); in postcopy_request_shared_page()
987 trace_postcopy_request_shared_page(pcfd->idstr, qemu_ram_get_idstr(rb), in postcopy_request_shared_page()
989 if (ramblock_recv_bitmap_test_byte_offset(rb, aligned_rbo)) { in postcopy_request_shared_page()
991 qemu_ram_get_idstr(rb), rb_offset); in postcopy_request_shared_page()
992 return postcopy_wake_shared(pcfd, client_addr, rb); in postcopy_request_shared_page()
995 postcopy_request_page(mis, rb, aligned_rbo, client_addr, 0); in postcopy_request_shared_page()
1063 * @rb: ramblock appropriate to addr
1066 RAMBlock *rb) in mark_postcopy_blocktime_begin() argument
1081 assert(!ramblock_recv_bitmap_test(rb, (void *)addr)); in mark_postcopy_blocktime_begin()
1278 RAMBlock *rb = NULL; in postcopy_ram_fault_thread() local
1373 rb = qemu_ram_block_from_host( in postcopy_ram_fault_thread()
1376 if (!rb) { in postcopy_ram_fault_thread()
1382 rb_offset = ROUND_DOWN(rb_offset, qemu_ram_pagesize(rb)); in postcopy_ram_fault_thread()
1384 qemu_ram_get_idstr(rb), in postcopy_ram_fault_thread()
1392 ret = postcopy_request_page(mis, rb, rb_offset, in postcopy_ram_fault_thread()
1584 void *from_addr, uint64_t pagesize, RAMBlock *rb) in qemu_ufd_copy_ioctl() argument
1597 ramblock_recv_bitmap_set_range(rb, host_addr, in qemu_ufd_copy_ioctl()
1626 int postcopy_notify_shared_wake(RAMBlock *rb, uint64_t offset) in postcopy_notify_shared_wake() argument
1634 int ret = cur->waker(cur, rb, offset); in postcopy_notify_shared_wake()
1647 RAMBlock *rb) in postcopy_place_page() argument
1649 size_t pagesize = qemu_ram_pagesize(rb); in postcopy_place_page()
1657 e = qemu_ufd_copy_ioctl(mis, host, from, pagesize, rb); in postcopy_place_page()
1663 return postcopy_notify_shared_wake(rb, in postcopy_place_page()
1664 qemu_ram_block_host_offset(rb, host)); in postcopy_place_page()
1672 RAMBlock *rb) in postcopy_place_page_zero() argument
1674 size_t pagesize = qemu_ram_pagesize(rb); in postcopy_place_page_zero()
1680 if (qemu_ram_is_uf_zeroable(rb)) { in postcopy_place_page_zero()
1682 e = qemu_ufd_copy_ioctl(mis, host, NULL, pagesize, rb); in postcopy_place_page_zero()
1686 return postcopy_notify_shared_wake(rb, in postcopy_place_page_zero()
1687 qemu_ram_block_host_offset(rb, in postcopy_place_page_zero()
1690 return postcopy_place_page(mis, host, mis->postcopy_tmp_zero_page, rb); in postcopy_place_page_zero()
1722 int postcopy_request_shared_page(struct PostCopyFD *pcfd, RAMBlock *rb, in postcopy_request_shared_page() argument
1734 RAMBlock *rb) in postcopy_place_page() argument
1740 RAMBlock *rb) in postcopy_place_page_zero() argument
1747 RAMBlock *rb) in postcopy_wake_shared() argument
1753 RAMBlock *rb) in mark_postcopy_blocktime_begin() argument