/qemu/docs/devel/migration/ |
H A D | postcopy.rst | 12 In postcopy the destination CPUs are started before all the memory has been 23 destination) prior to the start of migration: 25 ``migrate_set_capability postcopy-ram on`` 39 separately for each vCPU. These values are calculated on destination 41 command on destination monitor: 43 ``migrate_set_capability postcopy-blocktime on`` 45 Postcopy blocktime can be retrieved by query-migrate qmp command. 46 postcopy-blocktime value of qmp command will show overlapped blocking 47 time for all vCPU, postcopy-vcpu-blocktime will show list of blocking 53 the destination is waiting for). [all …]
|
H A D | vfio.rst | 7 destination host. This document details how saving and restoring of VFIO 10 Migration of VFIO devices consists of two phases: the optional pre-copy phase, 11 and the stop-and-copy phase. The pre-copy phase is iterative and allows to 13 transferred. The iterative pre-copy phase of migration allows for the guest to 14 continue whilst the VFIO device state is transferred to the destination, this 15 helps to reduce the total downtime of the VM. VFIO devices opt-in to pre-copy 19 When pre-copy is supported, it's possible to further reduce downtime by 20 enabling "switchover-ack" migration capability. 21 VFIO migration uAPI defines "initial bytes" as part of its pre-copy data stream 22 and recommends that the initial bytes are sent and loaded in the destination [all …]
|
H A D | main.rst | 41 - tcp migration: do the migration using tcp sockets 42 - unix migration: do the migration using unix sockets 43 - exec migration: do the migration using the stdin/stdout through a process. 44 - fd migration: do the migration using a file descriptor that is 46 - file migration: do the migration using a file that is passed to QEMU 54 (see add-fd QMP command documentation). This method allows a 59 - the fdset must contain two file descriptors that are not 61 - if the direct-io capability is to be used, exactly one of the 63 - the file must be opened with WRONLY on the migration source side 64 and RDONLY on the migration destination side. [all …]
|
/qemu/scripts/ |
H A D | make-release | 1 #!/bin/bash -e 11 # See the COPYING file in the top-level directory. 14 if test ! -f "$src/subprojects/$1.wrap"; then 15 echo "scripts/archive-source.sh should only process wrap subprojects" 22 # named "[wrap-*]", which helps keeping the script simple. 24 dir=$(sed -n \ 25 -e '/^\[wrap-[a-z][a-z]*\]$/,/^\[/{' \ 26 -e '/^directory *= */!b' \ 27 -e 's///p' \ 28 -e 'q' \ [all …]
|
/qemu/tests/qemu-iotests/tests/ |
H A D | qsd-migrate | 30 iotests.FilePath('nbd-src.sock', base_dir=iotests.sock_dir) as nbd_src, \ 31 iotests.FilePath('nbd-dst.sock', base_dir=iotests.sock_dir) as nbd_dst, \ 33 iotests.VM(path_suffix="-src") as vm_src, \ 34 iotests.VM(path_suffix="-dst") as vm_dst: 39 iotests.qemu_img_create('-f', iotests.imgfmt, path, img_size) 43 '--blockdev', f'file,node-name=disk-file,filename={path}', 44 '--blockdev', f'{iotests.imgfmt},file=disk-file,node-name=disk-fmt', 45 '--nbd-server', f'addr.type=unix,addr.path={nbd_src}', 46 '--export', 'nbd,id=exp0,node-name=disk-fmt,writable=true,' 47 'allow-inactive=true', [all …]
|
H A D | mirror-sparse | 4 # Test blockdev-mirror with raw sparse destination 50 $QEMU_IO -c 'w 8M 2M' -f $IMGFMT "$TEST_IMG.base" | _filter_qemu_io 53 -blockdev '{"driver":"file", "cache":{"direct":true, "no-flush":false}, 54 "filename":"'"$TEST_IMG.base"'", "node-name":"src-file"}' \ 55 -blockdev '{"driver":"'$IMGFMT'", "node-name":"src", "file":"src-file"}' 59 # Check several combinations; most should result in a sparse destination; 60 # the destination should only be fully allocated if pre-allocated 61 # and not punching holes due to detect-zeroes 73 rm -f $TEST_IMG 75 truncate --size=20M $TEST_IMG [all …]
|
H A D | qsd-migrate.out | 4 Launching destination QSD... 5 Launching destination VM... 8 {"execute": "human-monitor-command", "arguments": {"command-line": "qemu-io -d virtio0/virtio-backe… 10 {"execute": "human-monitor-command", "arguments": {"command-line": "qemu-io -d virtio0/virtio-backe… 14 …ecute": "migrate-set-capabilities", "arguments": {"capabilities": [{"capability": "events", "state… 16 …ecute": "migrate-set-capabilities", "arguments": {"capabilities": [{"capability": "events", "state… 18 {"execute": "migrate", "arguments": {"uri": "unix:SOCK_DIR/PID-migrate.sock"}} 21 Pre-switchover: Reconfigure QSD instances 23 {"execute": "human-monitor-command", "arguments": {"command-line": "qemu-io -d virtio0/virtio-backe… 25 {"execute": "human-monitor-command", "arguments": {"command-line": "qemu-io -d virtio0/virtio-backe… [all …]
|
H A D | mirror-sparse.out | 1 QA output created by mirror-sparse 13 {"execute": "blockdev-add", "arguments": 14 {"node-name": "dst", "driver":"file", 16 "auto-read-only":true, "discard":"ignore", 17 "detect-zeroes":"off"}} 19 {"execute":"blockdev-mirror", "arguments": 21 "job-id":"job2"}} 26 {"execute": "job-complete", "arguments": 30 {"execute": "blockdev-del", "arguments": 31 {"node-name": "dst"}} [all …]
|
/qemu/docs/specs/ |
H A D | edu.rst | 6 Copyright (c) 2014-2015 Jiri Slaby 20 --------------------- 22 ``-device edu[,dma_mask=mask]`` 29 --------- 39 -------------- 46 - ``RR`` -- major version 47 - ``rr`` -- minor version 81 0x88 (RW) : DMA destination address 98 -------------- 110 -------------- [all …]
|
H A D | rocker.rst | 23 -------- 30 ------------------------- 39 * Register are (R) read-only, (R/W) read/write, (W) write-only, or (COR) clear 41 * TLV values in network-byte-order are designated with (N). 48 ----------------------- 53 --------------------------------------------- 62 0xF 1 Built-in self test 65 0x18-28 Reserved 68 0x30-38 Reserved 77 * Assigned by sub-system implementation [all …]
|
/qemu/block/ |
H A D | qcow2-threads.c | 4 * Copyright (c) 2004-2006 Fabrice Bellard 37 #include "block/block-io.h" 38 #include "block/thread-pool.h" 45 BDRVQcow2State *s = bs->opaque; in qcow2_co_process() 47 qemu_co_mutex_lock(&s->lock); in qcow2_co_process() 48 while (s->nb_threads >= QCOW2_MAX_THREADS) { in qcow2_co_process() 49 qemu_co_queue_wait(&s->thread_task_queue, &s->lock); in qcow2_co_process() 51 s->nb_threads++; in qcow2_co_process() 52 qemu_co_mutex_unlock(&s->lock); in qcow2_co_process() 56 qemu_co_mutex_lock(&s->lock); in qcow2_co_process() [all …]
|
/qemu/docs/devel/ |
H A D | tcg.rst | 14 Generator". For more information, please take a look at :ref:`tcg-ops-ref`. 20 ----------------------- 34 --------------------- 48 callback to be re-evaluated before executing additional instructions. 62 matches the current CPU state. If the destination TB is available its 80 just the PC of the branch destination, but others may store additional 108 ``goto_tb`` step, it will already be patched (assuming the destination TB 110 the destination TB, without going back to the main loop. 119 may change, causing the code at the destination address to change. 127 Self-modifying code and translated code invalidation [all …]
|
/qemu/target/mips/tcg/ |
H A D | mxu_translate.c | 4 * Copyright (c) 2004-2005 Jocelyn Mayer 10 * SPDX-License-Identifier: LGPL-2.1-or-later 32 * MXU unit contains 17 registers called X0-X16. X0 is always zero, and X16 is 41 * XRa, XRb, XRc, XRd - MXU registers 42 * Rb, Rc, Rd, Rs, Rt - general purpose MIPS registers 44 * Non-register operands: 46 * aptn1 - 1-bit accumulate add/subtract pattern 47 * aptn2 - 2-bit accumulate add/subtract pattern 48 * eptn2 - 2-bit execute add/subtract pattern 49 * optn2 - 2-bit operand pattern [all …]
|
/qemu/qapi/ |
H A D | machine-s390x.json | 1 # -*- Mode: Python -*- 4 # SPDX-License-Identifier: GPL-2.0-or-later 6 # See the COPYING file in the top-level directory. 8 { 'include': 'machine-common.json' } 23 # @set-cpu-topology: 29 # @core-id: the vCPU ID to be moved 31 # @socket-id: destination socket to move the vCPU to 33 # @book-id: destination book to move the vCPU to 35 # @drawer-id: destination drawer to move the vCPU to 48 { 'command': 'set-cpu-topology', [all …]
|
/qemu/include/net/ |
H A D | eth.h | 9 * Copyright (C) 1991-1997, 2001, 2003, 2006 Free Software Foundation, Inc. 22 * See the COPYING file in the top-level directory. 39 uint8_t h_dest[ETH_ALEN]; /* destination eth addr */ 58 uint32_t ip_src, ip_dst; /* source and destination address */ 63 uint16_t th_dport; /* destination port */ 76 TCP_FLAGS_ONLY(be16_to_cpu((tcp)->th_offset_flags)) 81 (((be16_to_cpu((tcp)->th_offset_flags) >> 12) & 0xf) << 2) 85 uint16_t uh_dport; /* destination port */ 109 20 bits flow-ID */ 121 struct in6_address ip6_dst; /* destination address */ [all …]
|
/qemu/hw/acpi/ |
H A D | bios-linker-loader.c | 22 #include "hw/acpi/bios-linker-loader.h" 30 * - allocate memory chunks and initialize them from QEMU FW CFG files 31 * - link allocated chunks by storing pointer to one chunk into another 32 * - calculate ACPI checksum of part of the chunk and store into same chunk 40 * COMMAND_ALLOCATE - allocate a table from @alloc.file 54 * COMMAND_ADD_POINTER - patch the table (originating from 67 * COMMAND_ADD_CHECKSUM - calculate checksum of the range specified by 70 * Checksum simply sums -X for each byte X in the range 71 * using 8-bit math. 81 * COMMAND_WRITE_POINTER - write the fw_cfg file (originating from [all …]
|
/qemu/docs/interop/ |
H A D | bitmaps.rst | 12 Dirty Bitmaps are in-memory objects that track writes to block devices. They 16 This document explains the conceptual mechanisms, as well as up-to-date, 27 -------- 67 ----------------------- 83 ------------------ 85 Bitmap objects need a method to reference them in the API. All API-created and 86 managed bitmaps have a human-readable name chosen by the user at creation 89 - A bitmap's name is unique to the node, but bitmaps attached to different 93 - The name of a user-created bitmap cannot be empty (""). 95 - Transient bitmaps can have JSON unicode names that are effectively not [all …]
|
H A D | live-block-operations.rst | 5 later. See the COPYING file in the top-level directory. 14 live block device jobs -- stream, commit, mirror, and backup. These can 19 to another target image; and point-in-time (and incremental) backups of 21 primitives, and some (non-exhaustive list of) examples to illustrate 25 The file ``qapi/block-core.json`` in the QEMU source tree has the 35 --------------------------------- 38 ``blockdev-snapshot-sync``, or offline via ``qemu-img``):: 45 [A] <----- [B] 59 block-core.json.) 74 ------------------------------------------- [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | 181.out | 9 QEMU X.Y.Z monitor - type 'help' for more information 10 (qemu) qemu-io disk "write -P 0x55 0 64k" 14 (qemu) qemu-io disk "read -P 0x55 0 64k" 18 === Do postcopy migration to destination === 21 === Do some I/O on the destination === 23 (qemu) qemu-io disk "read -P 0x55 0 64k" 27 (qemu) qemu-io disk "write -P 0x66 1M 64k"
|
H A D | 181 | 34 rm -f "${MIG_SOCKET}" 62 -drive "${TEST_IMG}",cache=${CACHEMODE},aio=$AIOMODE,id=disk 65 -drive file="${TEST_IMG}",cache=${CACHEMODE},aio=$AIOMODE,driver=$IMGFMT,id=disk 71 -drive "${TEST_IMG}",cache=${CACHEMODE},aio=$AIOMODE,id=disk \ 72 -incoming "unix:${MIG_SOCKET}" 75 -drive file="${TEST_IMG}",cache=${CACHEMODE},aio=$AIOMODE,driver=$IMGFMT,id=disk \ 76 -incoming "unix:${MIG_SOCKET}" 85 _send_qemu_cmd $src 'qemu-io disk "write -P 0x55 0 64k"' "(qemu)" 87 _send_qemu_cmd $src 'qemu-io disk "read -P 0x55 0 64k"' "(qemu)" 91 echo === Do postcopy migration to destination === [all …]
|
H A D | 234 | 37 iotests.qemu_img_create('-f', iotests.imgfmt, backing_path, '64M') 38 iotests.qemu_img_create('-f', iotests.imgfmt, img_path, '64M') 44 (vm_a.add_blockdev('file,filename=%s,node-name=drive0-file' % (img_path)) 45 .add_blockdev('%s,file=drive0-file,node-name=drive0' % (iotests.imgfmt)) 46 .add_blockdev('file,filename=%s,node-name=drive0-backing-file' % (backing_path)) 47 .add_blockdev('%s,file=drive0-backing-file,node-name=drive0-backing' % (iotests.imgfmt)) 52 iotests.log('Launching destination VM...') 53 (vm_b.add_blockdev('file,filename=%s,node-name=drive0-file' % (img_path)) 54 .add_blockdev('%s,file=drive0-file,node-name=drive0' % (iotests.imgfmt)) 55 .add_blockdev('file,filename=%s,node-name=drive0-backing-file' % (backing_path)) [all …]
|
H A D | 194.out | 2 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "bitmap0", "node": "drive0"}} 4 Launching NBD server on destination... 7 Starting `drive-mirror` on source... 9 Waiting for `drive-mirror` to complete... 10 {"data": {"device": "mirror-job0", "len": "LEN", "offset": "OFFSET", "speed": 0, "type": "mirror"},… 13 {"execute": "migrate-start-postcopy", "arguments": {}} 19 Gracefully ending the `drive-mirror` job on source... 21 {"data": {"device": "mirror-job0", "len": "LEN", "offset": "OFFSET", "speed": 0, "type": "mirror"},… 22 Stopping the NBD server on destination...
|
/qemu/docs/ |
H A D | xbzrle.txt | 5 of VM downtime and the total live-migration time of Virtual machines. 55 XBZRLE has a sustained bandwidth of 2-2.5 GB/s for typical workloads making it 56 ideal for in-line, real-time encoding such as is needed for live-migration. 84 1. Verify the destination QEMU version is able to decode the new format. 88 2. Activate xbzrle on both source and destination: 91 3. Set the XBZRLE cache size - the cache size is in MBytes and should be a 93 {qemu} migrate_set_parameter xbzrle-cache-size 256m 96 {qemu} migrate -d tcp:destination.host:4444 115 xbzrle cache miss: the number of cache misses to date - high cache-miss rate
|
H A D | multi-thread-compression.txt | 7 the COPYING file in the top-level directory. 35 compression, if the source and destination CPU have equal speed, 59 CPU: Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz 63 Host OS: CentOS 7 64-bit 64 Guest OS: RHEL 6.5 64-bit 65 Parameter: qemu-system-x86_64 -accel kvm -smp 4 -m 4096 66 /share/ia32e_rhel6u5.qcow -monitor stdio 73 --------------------------------------------------------------- 77 --------------------------------------------------------------- 79 --------------------------------------------------------------- [all …]
|
/qemu/target/riscv/insn_trans/ |
H A D | trans_rvv.c.inc | 3 * Copyright (c) 2020 T-Head Semiconductor Co., Ltd. All rights reserved. 17 #include "tcg/tcg-op-gvec.h" 18 #include "tcg/tcg-gvec-desc.h" 27 return MAX(aend, bend) - MIN(astart, bstart) < asize + bsize; 32 return s->mstatus_vs != EXT_STATUS_DISABLED; 37 if (s->mstatus_fs == EXT_STATUS_DISABLED) { 41 switch (s->sew) { 43 return s->cfg_ptr->ext_zvfh; 45 return s->cfg_ptr->ext_zve32f; 47 return s->cfg_ptr->ext_zve64d; [all …]
|