]>
Commit | Line | Data |
---|---|---|
1f0776f1 JQ |
1 | /* |
2 | * QEMU migration capabilities | |
3 | * | |
4 | * Copyright (c) 2012-2023 Red Hat Inc | |
5 | * | |
6 | * Authors: | |
7 | * Orit Wasserman <owasserm@redhat.com> | |
8 | * Juan Quintela <quintela@redhat.com> | |
9 | * | |
10 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
11 | * See the COPYING file in the top-level directory. | |
12 | */ | |
13 | ||
14 | #ifndef QEMU_MIGRATION_OPTIONS_H | |
15 | #define QEMU_MIGRATION_OPTIONS_H | |
16 | ||
f9436522 JQ |
17 | #include "hw/qdev-properties.h" |
18 | #include "hw/qdev-properties-system.h" | |
f3bff6c4 | 19 | #include "migration/client-options.h" |
f9436522 | 20 | |
f9436522 JQ |
21 | /* migration properties */ |
22 | ||
23 | extern Property migration_properties[]; | |
24 | ||
1f0776f1 JQ |
25 | /* capabilities */ |
26 | ||
27 | bool migrate_auto_converge(void); | |
9d4b1e5f | 28 | bool migrate_block(void); |
5e804644 | 29 | bool migrate_colo(void); |
a7a94d14 | 30 | bool migrate_compress(void); |
1f0776f1 | 31 | bool migrate_dirty_bitmaps(void); |
b890902c | 32 | bool migrate_events(void); |
4ed49feb | 33 | bool migrate_mapped_ram(void); |
1f0776f1 JQ |
34 | bool migrate_ignore_shared(void); |
35 | bool migrate_late_block_activate(void); | |
51b07548 | 36 | bool migrate_multifd(void); |
1f0776f1 JQ |
37 | bool migrate_pause_before_switchover(void); |
38 | bool migrate_postcopy_blocktime(void); | |
39 | bool migrate_postcopy_preempt(void); | |
17cba690 | 40 | bool migrate_rdma_pin_all(void); |
1f0776f1 | 41 | bool migrate_release_ram(void); |
38ad1110 | 42 | bool migrate_return_path(void); |
1f0776f1 | 43 | bool migrate_validate_uuid(void); |
87dca0c9 | 44 | bool migrate_xbzrle(void); |
1f0776f1 | 45 | bool migrate_zero_blocks(void); |
b4bc342c | 46 | bool migrate_zero_copy_send(void); |
1f0776f1 | 47 | |
f774fde5 JQ |
48 | /* |
49 | * pseudo capabilities | |
50 | * | |
51 | * These are functions that are used in a similar way to capabilities | |
52 | * check, but they are not a capability. | |
53 | */ | |
54 | ||
77c259a4 | 55 | bool migrate_multifd_flush_after_each_section(void); |
f774fde5 | 56 | bool migrate_postcopy(void); |
27fd25b0 | 57 | bool migrate_rdma(void); |
10d4703b | 58 | bool migrate_tls(void); |
f774fde5 | 59 | |
77608706 JQ |
60 | /* capabilities helpers */ |
61 | ||
62 | bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp); | |
f80196b7 | 63 | bool migrate_cap_set(int cap, bool value, Error **errp); |
77608706 | 64 | |
1dfc4b9e JQ |
65 | /* parameters */ |
66 | ||
b804b35b | 67 | const BitmapMigrationNodeAliasList *migrate_block_bitmap_mapping(void); |
3cba22c9 JQ |
68 | bool migrate_has_block_bitmap_mapping(void); |
69 | ||
f94a858f | 70 | uint32_t migrate_checkpoint_delay(void); |
1dfc4b9e JQ |
71 | int migrate_compress_level(void); |
72 | int migrate_compress_threads(void); | |
73 | int migrate_compress_wait_thread(void); | |
9605c2ac | 74 | uint8_t migrate_cpu_throttle_increment(void); |
2a8ec380 | 75 | uint8_t migrate_cpu_throttle_initial(void); |
873f674c | 76 | bool migrate_cpu_throttle_tailslow(void); |
1dfc4b9e | 77 | int migrate_decompress_threads(void); |
f5da8ba4 | 78 | uint64_t migrate_downtime_limit(void); |
24155bd0 | 79 | uint8_t migrate_max_cpu_throttle(void); |
9c894df3 | 80 | uint64_t migrate_max_bandwidth(void); |
8b239597 | 81 | uint64_t migrate_avail_switchover_bandwidth(void); |
52033349 | 82 | uint64_t migrate_max_postcopy_bandwidth(void); |
1dfc4b9e JQ |
83 | int migrate_multifd_channels(void); |
84 | MultiFDCompression migrate_multifd_compression(void); | |
85 | int migrate_multifd_zlib_level(void); | |
86 | int migrate_multifd_zstd_level(void); | |
6499efdb | 87 | uint8_t migrate_throttle_trigger_threshold(void); |
2eb0308b | 88 | const char *migrate_tls_authz(void); |
d5c3e195 | 89 | const char *migrate_tls_creds(void); |
1f2f366c | 90 | const char *migrate_tls_hostname(void); |
1dfc4b9e | 91 | uint64_t migrate_xbzrle_cache_size(void); |
5fdbb1df | 92 | ZeroPageDetection migrate_zero_page_detection(void); |
1dfc4b9e | 93 | |
09d6c965 JQ |
94 | /* parameters helpers */ |
95 | ||
96 | bool migrate_params_check(MigrationParameters *params, Error **errp); | |
61a174e2 | 97 | void migrate_params_init(MigrationParameters *params); |
1f0776f1 | 98 | #endif |