| /openbmc/qemu/block/ |
| H A D | dirty-bitmap.c | 35 HBitmap *bitmap; /* Dirty bitmap implementation */ member 61 BdrvDirtyBitmap *bitmap; member 74 void bdrv_dirty_bitmap_lock(BdrvDirtyBitmap *bitmap) in bdrv_dirty_bitmap_lock() argument 76 bdrv_dirty_bitmaps_lock(bitmap->bs); in bdrv_dirty_bitmap_lock() 79 void bdrv_dirty_bitmap_unlock(BdrvDirtyBitmap *bitmap) in bdrv_dirty_bitmap_unlock() argument 81 bdrv_dirty_bitmaps_unlock(bitmap->bs); in bdrv_dirty_bitmap_unlock() 105 BdrvDirtyBitmap *bitmap; in bdrv_create_dirty_bitmap() local 125 bitmap = g_new0(BdrvDirtyBitmap, 1); in bdrv_create_dirty_bitmap() 126 bitmap->bs = bs; in bdrv_create_dirty_bitmap() 127 bitmap->bitmap = hbitmap_alloc(bitmap_size, ctz32(granularity)); in bdrv_create_dirty_bitmap() [all …]
|
| H A D | parallels-ext.c | 64 uint32_t l1_size, BdrvDirtyBitmap *bitmap, in parallels_load_bitmap_data() argument 70 uint64_t bm_size = bdrv_dirty_bitmap_size(bitmap); in parallels_load_bitmap_data() 73 DIV_ROUND_UP(bdrv_dirty_bitmap_serialization_size(bitmap, 0, bm_size), in parallels_load_bitmap_data() 84 limit = bdrv_dirty_bitmap_serialization_coverage(s->cluster_size, bitmap); in parallels_load_bitmap_data() 95 bdrv_dirty_bitmap_deserialize_ones(bitmap, offset, count, false); in parallels_load_bitmap_data() 104 bdrv_dirty_bitmap_deserialize_part(bitmap, buf, offset, count, in parallels_load_bitmap_data() 110 bdrv_dirty_bitmap_deserialize_finish(bitmap); in parallels_load_bitmap_data() 129 BdrvDirtyBitmap *bitmap; in parallels_load_bitmap() local 161 bitmap = bdrv_create_dirty_bitmap(bs, bf.granularity, uuidstr, errp); in parallels_load_bitmap() 162 if (!bitmap) { in parallels_load_bitmap() [all …]
|
| H A D | qcow2-bitmap.c | 53 #error In the code bitmap table physical size assumed to fit into int 290 uint32_t bitmap_table_size, BdrvDirtyBitmap *bitmap) in load_bitmap_data() argument 295 uint64_t bm_size = bdrv_dirty_bitmap_size(bitmap); in load_bitmap_data() 299 bdrv_dirty_bitmap_serialization_size(bitmap, 0, bm_size)); in load_bitmap_data() 306 limit = bdrv_dirty_bitmap_serialization_coverage(s->cluster_size, bitmap); in load_bitmap_data() 316 bdrv_dirty_bitmap_deserialize_ones(bitmap, offset, count, in load_bitmap_data() 327 bdrv_dirty_bitmap_deserialize_part(bitmap, buf, offset, count, in load_bitmap_data() 333 bdrv_dirty_bitmap_deserialize_finish(bitmap); in load_bitmap_data() 348 BdrvDirtyBitmap *bitmap = NULL; in load_bitmap() local 351 bitmap = bdrv_create_dirty_bitmap(bs, granularity, bm->name, errp); in load_bitmap() [all …]
|
| /openbmc/qemu/include/block/ |
| H A D | dirty-bitmap.h | 25 int bdrv_dirty_bitmap_create_successor(BdrvDirtyBitmap *bitmap, 27 BdrvDirtyBitmap *bdrv_dirty_bitmap_abdicate(BdrvDirtyBitmap *bitmap, 29 BdrvDirtyBitmap *bdrv_reclaim_dirty_bitmap(BdrvDirtyBitmap *bitmap, 31 void bdrv_dirty_bitmap_enable_successor(BdrvDirtyBitmap *bitmap); 34 int bdrv_dirty_bitmap_check(const BdrvDirtyBitmap *bitmap, uint32_t flags, 36 void bdrv_release_dirty_bitmap(BdrvDirtyBitmap *bitmap); 46 void bdrv_disable_dirty_bitmap(BdrvDirtyBitmap *bitmap); 47 void bdrv_enable_dirty_bitmap(BdrvDirtyBitmap *bitmap); 48 void bdrv_enable_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap); 51 uint32_t bdrv_dirty_bitmap_granularity(const BdrvDirtyBitmap *bitmap); [all …]
|
| /openbmc/qemu/block/monitor/ |
| H A D | bitmap-qmp-cmds.c | 59 BdrvDirtyBitmap *bitmap; in block_dirty_bitmap_lookup() local 77 bitmap = bdrv_find_dirty_bitmap(bs, name); in block_dirty_bitmap_lookup() 78 if (!bitmap) { in block_dirty_bitmap_lookup() 87 return bitmap; in block_dirty_bitmap_lookup() 97 BdrvDirtyBitmap *bitmap; in qmp_block_dirty_bitmap_add() local 134 bitmap = bdrv_create_dirty_bitmap(bs, granularity, name, errp); in qmp_block_dirty_bitmap_add() 135 if (bitmap == NULL) { in qmp_block_dirty_bitmap_add() 140 bdrv_disable_dirty_bitmap(bitmap); in qmp_block_dirty_bitmap_add() 143 bdrv_dirty_bitmap_set_persistence(bitmap, persistent); in qmp_block_dirty_bitmap_add() 152 BdrvDirtyBitmap *bitmap; in block_dirty_bitmap_remove() local [all …]
|
| /openbmc/qemu/hw/ppc/ |
| H A D | spapr_ovec.c | 32 unsigned long *bitmap; member 41 VMSTATE_BITMAP(bitmap, SpaprOptionVector, 1, bitmap_size), 51 ov->bitmap = bitmap_new(OV_MAXBITS); in spapr_ovec_new() 64 bitmap_copy(ov->bitmap, ov_orig->bitmap, OV_MAXBITS); in spapr_ovec_clone() 77 bitmap_and(ov->bitmap, ov1->bitmap, ov2->bitmap, OV_MAXBITS); in spapr_ovec_intersect() 89 bitmap_andnot(tmp, ov1->bitmap, ov2->bitmap, OV_MAXBITS); in spapr_ovec_subset() 100 g_free(ov->bitmap); in spapr_ovec_cleanup() 110 set_bit(bitnr, ov->bitmap); in spapr_ovec_set() 118 clear_bit(bitnr, ov->bitmap); in spapr_ovec_clear() 126 return test_bit(bitnr, ov->bitmap) ? true : false; in spapr_ovec_test() [all …]
|
| /openbmc/qemu/tests/qemu-iotests/ |
| H A D | 242.out | 2 {"execute": "block-dirty-bitmap-add", "arguments": {"disabled": false, "granularity": 16384, "name"… 21 No bitmap in JSON format output 24 {"execute": "block-dirty-bitmap-add", "arguments": {"disabled": true, "granularity": 32768, "name":… 42 name: bitmap-1 53 "name": "bitmap-1" 58 {"execute": "block-dirty-bitmap-add", "arguments": {"disabled": false, "granularity": 65536, "name"… 76 name: bitmap-1 81 name: bitmap-2 92 "name": "bitmap-1" 99 "name": "bitmap-2" [all …]
|
| H A D | 124 | 191 def make_reference_backup(self, bitmap=None): argument 192 if bitmap is None: 193 bitmap = self.bitmaps[-1] 194 _, reference = bitmap.last_target() 195 res = self.do_qmp_backup(job_id=bitmap.drive['id'], 196 device=bitmap.drive['id'], sync='full', 197 format=bitmap.drive['fmt'], target=reference) 202 bitmap = Bitmap(name, drive) 203 self.bitmaps.append(bitmap) 205 name=bitmap.name, **kwargs) [all …]
|
| H A D | 246.out | 8 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 32768, "name": "Small", "node": … 10 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "Medium", "node": "drive0", "persistent… 12 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 131072, "name": "Large", "node":… 14 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "Transient", "node": "drive0", "persist… 88 --- Adding new bitmap, growing image, and adding 2nd new bitmap --- 89 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "New", "node": "drive0", "persistent": … 93 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "Newtwo", "node": "drive0", "persistent… 191 --- Adding "NewB" bitmap, removing "New" bitmap --- 192 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "NewB", "node": "drive0", "persistent":… 194 {"execute": "block-dirty-bitmap-remove", "arguments": {"name": "New", "node": "drive0"}} [all …]
|
| H A D | 236.out | 6 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmapA", "node"… 8 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmapB", "node"… 55 "type": "block-dirty-bitmap-disable" 63 "type": "block-dirty-bitmap-add" 70 "type": "block-dirty-bitmap-clear" 119 "type": "block-dirty-bitmap-disable" 127 "type": "block-dirty-bitmap-add" 134 "type": "block-dirty-bitmap-disable" 141 "type": "block-dirty-bitmap-enable" 172 "type": "block-dirty-bitmap-disable" [all …]
|
| H A D | 254.out | 1 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap0", "node": "drive0"}} 3 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap1", "node": "drive0", "persisten… 5 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap2", "node": "drive0", "persisten… 24 "type": "block-dirty-bitmap-add" 37 "type": "block-dirty-bitmap-merge" 45 "type": "block-dirty-bitmap-add" 58 "type": "block-dirty-bitmap-merge" 66 "type": "block-dirty-bitmap-add" 79 "type": "block-dirty-bitmap-merge" 86 "type": "block-dirty-bitmap-remove"
|
| H A D | 260.out | 4 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap0", "node": "drive0", "persisten… 6 initial bitmap: name=bitmap0 dirty-clusters=1 16 check bitmap after commit: name=bitmap0 dirty-clusters=2 17 check updated bitmap: name=bitmap0 dirty-clusters=3 21 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap0", "node": "drive0", "persisten… 23 initial bitmap: name=bitmap0 dirty-clusters=1 33 check bitmap after commit: name=bitmap0 dirty-clusters=2 34 check updated bitmap: name=bitmap0 dirty-clusters=3 38 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap0", "node": "drive0", "persisten… 40 initial bitmap: name=bitmap0 dirty-clusters=1 [all …]
|
| H A D | 257.out | 2 === Mode bitmap; Bitmap Sync never with simulated failure === 39 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmap0", "node"… 94 … false, "bitmap": "bitmap0", "bitmap-mode": "never", "device": "drive0", "filter-node-name": "back… 232 … false, "bitmap": "bitmap0", "bitmap-mode": "never", "device": "drive0", "filter-node-name": "back… 258 {"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmap0", "node": "drive0"}} 271 === Mode bitmap; Bitmap Sync never with intermediate failure === 308 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmap0", "node"… 365 … false, "bitmap": "bitmap0", "bitmap-mode": "never", "device": "drive0", "filter-node-name": "back… 439 … false, "bitmap": "bitmap0", "bitmap-mode": "never", "device": "drive0", "filter-node-name": "back… 465 {"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmap0", "node": "drive0"}} [all …]
|
| /openbmc/qemu/tests/qemu-iotests/tests/ |
| H A D | qemu-img-close-errors.out | 8 qemu-img bitmap --add exit code: 0 9 …t bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'good-bitmap' to file: N… 11 …t bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'good-bitmap' to file: N… 12 qemu-img bitmap --merge exit code: 1 17 … bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'stale-bitmap-7' to file:… 18 … bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'stale-bitmap-7' to file:… 21 qemu-img bitmap --add exit code: 0 22 qemu-img bitmap --merge exit code: 0
|
| H A D | qemu-img-bitmaps | 62 $QEMU_IMG bitmap --add -f $IMGFMT "$TEST_IMG.base" b0 70 $QEMU_IMG bitmap --add -g 512k -f $IMGFMT "$TEST_IMG" b1 71 $QEMU_IMG bitmap --add --disable -f $IMGFMT "$TEST_IMG" b2 73 $QEMU_IMG bitmap --clear -f $IMGFMT "$TEST_IMG" b1 75 $QEMU_IMG bitmap --disable -f $IMGFMT "$TEST_IMG" b1 76 $QEMU_IMG bitmap --enable -f $IMGFMT "$TEST_IMG" b2 97 $QEMU_IMG bitmap --add --disable -f $IMGFMT "$TEST_IMG" b0 98 $QEMU_IMG bitmap --add --merge b0 -b "$TEST_IMG.base" -F $IMGFMT \ 100 $QEMU_IMG bitmap --merge tmp -f $IMGFMT "$TEST_IMG" b0 101 $QEMU_IMG bitmap --remove --image-opts \ [all …]
|
| H A D | image-fleecing | 58 bitmap=False): argument 68 if bitmap: 132 if bitmap: 193 if bitmap and p in zeroes: 239 if bitmap and p in zeroes: 279 nbd_sock_path=None, target_img_path=None, bitmap=False): argument 285 bitmap=bitmap) 287 def test_pull(use_cbw, use_snapshot_access_filter, bitmap=False): argument 291 bitmap=bitmap) 308 test_pull(True, True, bitmap=True)
|
| H A D | backup-discard-source | 81 self.bitmap = { 86 self.vm.cmd('block-dirty-bitmap-add', self.bitmap) 118 bitmap = temp['dirty-bitmaps'][0] 119 assert bitmap['name'] == self.bitmap['name'] 120 return bitmap['count'] 150 self.vm.cmd('block-dirty-bitmap-clear', self.bitmap)
|
| H A D | remove-bitmap-from-backing.out | 1 Trying to remove persistent bitmap from r-o base node, should fail: 2 {"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmap0", "node": "base"}} 4 Remove persistent bitmap from base node reopened to RW: 5 {"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmap0", "node": "base"}}
|
| /openbmc/qemu/migration/ |
| H A D | block-dirty-bitmap.c | 115 BdrvDirtyBitmap *bitmap; member 140 BdrvDirtyBitmap *bitmap; member 152 BdrvDirtyBitmap *bitmap; member 384 BdrvDirtyBitmap *bitmap = dbms->bitmap; in send_bitmap_header() local 393 if (bitmap != s->prev_bitmap) { in send_bitmap_header() 394 s->prev_bitmap = bitmap; in send_bitmap_header() 413 qemu_put_be32(f, bdrv_dirty_bitmap_granularity(dbms->bitmap)); in send_bitmap_start() 431 dbms->bitmap, start_sector << BDRV_SECTOR_BITS, in send_bitmap_bits() 438 dbms->bitmap, buf, start_sector << BDRV_SECTOR_BITS, in send_bitmap_bits() 474 bdrv_dirty_bitmap_set_busy(dbms->bitmap, false); in dirty_bitmap_do_save_cleanup() [all …]
|
| /openbmc/qemu/util/ |
| H A D | thread-context.c | 91 unsigned long *bitmap = NULL; in thread_context_set_cpu_affinity() local 111 bitmap = bitmap_new(nbits); in thread_context_set_cpu_affinity() 113 set_bit(l->value, bitmap); in thread_context_set_cpu_affinity() 121 ret = qemu_thread_set_affinity(&tc->thread, bitmap, nbits); in thread_context_set_cpu_affinity() 126 tc->init_cpu_bitmap = bitmap; in thread_context_set_cpu_affinity() 127 bitmap = NULL; in thread_context_set_cpu_affinity() 131 g_free(bitmap); in thread_context_set_cpu_affinity() 139 unsigned long *bitmap, nbits, value; in thread_context_get_cpu_affinity() local 150 ret = qemu_thread_get_affinity(&tc->thread, &bitmap, &nbits); in thread_context_get_cpu_affinity() 156 value = find_first_bit(bitmap, nbits); in thread_context_get_cpu_affinity() [all …]
|
| /openbmc/qemu/hw/virtio/ |
| H A D | virtio-qmp.c | 490 #define CONVERT_FEATURES(type, map, is_status, bitmap) \ argument 501 if ((bitmap & bit) == 0) { \ 508 bitmap ^= bit; \ 513 VirtioDeviceStatus *qmp_decode_status(uint8_t bitmap) in qmp_decode_status() argument 521 1, bitmap); in qmp_decode_status() 522 status->has_unknown_statuses = bitmap != 0; in qmp_decode_status() 524 status->unknown_statuses = bitmap; in qmp_decode_status() 530 VhostDeviceProtocols *qmp_decode_protocols(uint64_t bitmap) in qmp_decode_protocols() argument 539 vhost_user_protocol_map, 0, bitmap); in qmp_decode_protocols() 540 vhu_protocols->has_unknown_protocols = bitmap != 0; in qmp_decode_protocols() [all …]
|
| /openbmc/qemu/docs/interop/ |
| H A D | bitmaps.rst | 31 that is tracked is the granularity of the bitmap. If the granularity of a 32 bitmap is 64K, each '1' bit means that a 64K region as a whole may have 36 requires more computational overhead and larger bitmap sizes. Larger 37 granularities mean smaller bitmap sizes, but less targeted backups. 39 The size of a bitmap (in bytes) can be computed as such: 42 e.g. the size of a 64KiB granularity bitmap on a 2TiB image is: 56 attaching the bitmap elsewhere in the storage graph. This is beyond the scope 72 writes bitmap data to disk upon close. If persistence is not required for a 73 specific use case, all bitmap features excepting persistence are available for 77 any changes to the bitmap will be discarded upon exit. [all …]
|
| /openbmc/u-boot/arch/x86/lib/ |
| H A D | pirq_routing.c | 13 static u8 pirq_get_next_free_irq(struct udevice *dev, u8 *pirq, u16 bitmap, in pirq_get_next_free_irq() argument 22 if (!((bitmap >> i) & 1)) in pirq_get_next_free_irq() 69 int bitmap = irq->irq[intx].bitmap; in pirq_route_irqs() local 73 'A' + intx, link, bitmap); in pirq_route_irqs() 75 if (!bitmap || !link) { in pirq_route_irqs() 86 irq = pirq_get_next_free_irq(dev, pirq, bitmap, in pirq_route_irqs()
|
| /openbmc/qemu/qapi/ |
| H A D | transaction.json | 48 # @block-dirty-bitmap-add: Since 2.5 50 # @block-dirty-bitmap-remove: Since 4.2 52 # @block-dirty-bitmap-clear: Since 2.5 54 # @block-dirty-bitmap-enable: Since 4.0 56 # @block-dirty-bitmap-disable: Since 4.0 58 # @block-dirty-bitmap-merge: Since 4.0 78 'data': [ 'abort', 'block-dirty-bitmap-add', 'block-dirty-bitmap-remove', 79 'block-dirty-bitmap-clear', 'block-dirty-bitmap-enable', 80 'block-dirty-bitmap-disable', 'block-dirty-bitmap-merge', 172 'block-dirty-bitmap-add': 'BlockDirtyBitmapAddWrapper', [all …]
|
| /openbmc/qemu/system/ |
| H A D | ram-block-attributes.c | 47 first_discarded_bit = find_next_zero_bit(attr->bitmap, last_bit + 1, in ram_block_attributes_rdm_is_populated() 86 first_bit = find_next_bit(attr->bitmap, attr->bitmap_size, in ram_block_attributes_for_each_populated_section() 93 last_bit = find_next_zero_bit(attr->bitmap, attr->bitmap_size, in ram_block_attributes_for_each_populated_section() 108 first_bit = find_next_bit(attr->bitmap, attr->bitmap_size, in ram_block_attributes_for_each_populated_section() 127 first_bit = find_next_zero_bit(attr->bitmap, attr->bitmap_size, in ram_block_attributes_for_each_discarded_section() 134 last_bit = find_next_bit(attr->bitmap, attr->bitmap_size, in ram_block_attributes_for_each_discarded_section() 149 first_bit = find_next_zero_bit(attr->bitmap, in ram_block_attributes_for_each_discarded_section() 327 const bool is_discarded = find_next_bit(attr->bitmap, attr->bitmap_size, in ram_block_attributes_state_change() 329 const bool is_populated = find_next_zero_bit(attr->bitmap, in ram_block_attributes_state_change() 351 bitmap_clear(attr->bitmap, first_bit, nbits); in ram_block_attributes_state_change() [all …]
|