/qemu/bsd-user/freebsd/ |
H A D | syscall_nr.h | 4 * DO NOT EDIT-- this file is automatically @generated. 16 /* 8 is old creat */ 19 /* 11 is obsolete execv */ 26 /* 18 is freebsd4 getfsstat */ 27 /* 19 is old lseek */ 46 /* 38 is old stat */ 48 /* 40 is old lstat */ 54 /* 46 is old sigaction */ 56 /* 48 is old sigprocmask */ 60 /* 52 is old sigpending */ [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | 021.out | 5 -1 is not a valid pattern byte 8 -1 is not a valid pattern byte 11 -1 is not a valid pattern byte 14 -1 is not a valid pattern byte 17 -1 is not a valid pattern byte 20 -1 is not a valid pattern byte 23 300 is not a valid pattern byte 26 300 is not a valid pattern byte 29 300 is not a valid pattern byte 32 300 is not a valid pattern byte [all …]
|
/qemu/docs/tools/ |
H A D | qemu-img.rst | 18 querying an image that is being modified by another process may encounter 46 *FILENAME* is a disk image filename. 48 *FMT* is the disk image format. It is guessed automatically in most 51 *SIZE* is the disk image size in bytes. Optional suffixes ``k`` or 53 1024M) and T (terabyte, 1024G) are supported. ``b`` is ignored. 55 *OUTPUT_FILENAME* is the destination disk image filename. 57 *OUTPUT_FMT* is the destination format. 59 *OPTIONS* is a comma separated list of format specific options in a 63 *SNAPSHOT_PARAM* is param used for internal snapshot, format is 74 is a QEMU user creatable object definition. See the :manpage:`qemu(1)` [all …]
|
/qemu/docs/ |
H A D | glossary.rst | 34 Control Flow Integrity is a hardening technique used to prevent exploits 41 In QEMU, a device is a piece of hardware visible to the guest. Examples include 44 QEMU is able to emulate a CPU, and all the hardware interacting with it, 46 using a hardware-based accelerator, it is responsible for emulating, using 52 EDK2, as known as `TianoCore <https://www.tianocore.org/>`_, is an open source 61 debugging the guest code that is running inside QEMU. 66 `GLib2 <https://docs.gtk.org/glib/>`_ is one of the most important libraries we 74 The `QEMU Guest Agent <qemu-ga>` is a daemon intended to be run within virtual 82 Guest is the architecture of the virtual machine, which is emulated. 85 Sometimes this is called the :ref:`target` architecture, but that term [all …]
|
H A D | rdma.txt | 29 of the significantly lower latency and higher throughput over TCP/IP. This is 39 migration using RDMA is capable of using both technologies because of 55 If this is not acceptable for your application or product, then the use 57 software on the machine if there is not sufficient memory available to 59 use of RDMA is discouraged and it is recommended to use standard TCP migration. 63 is in active use, then enabling this feature will cause all 8GB to 80 *all* of the memory of your virtual machine in the kernel is very expensive 92 $ migrate_set_parameter max-bandwidth 40g # or whatever is the MAX of your RDMA device 106 Here is a brief summary of total migration time and downtime using RDMA: 120 active use and the VM itself is completely idle using the same 40 gbps [all …]
|
H A D | qcow2-cache.txt | 6 This work is licensed under the terms of the GNU GPL, version 2 or 12 performance significantly. However, setting the right cache sizes is 24 A qcow2 file is organized in units of constant size called clusters. 26 The cluster size is configurable, but it must be a power of two and 42 There is one single L1 table per disk image. The table is small and is 46 allocated in the image. Each table is one cluster in size. In order to 48 corresponding L2 table to find out where that data is located. Since 60 snapshots. The data is stored in a two-level structure similar to the 64 cluster in size and the number is also variable and dependent on the 68 is a power of two and must not be higher than 64. It defaults to 16 [all …]
|
/qemu/docs/interop/ |
H A D | qcow2.rst | 5 A ``qcow2`` image file is organized in units of constant size, which are called 6 (host) clusters. A cluster is the unit in which all allocations are done, 9 Likewise, the virtual disk as seen by the guest is divided into (guest) 27 is stored (NB: The string is not null terminated). 0 if the 40 within a cluster (1 << cluster_bits is the cluster size). 55 size, it is unable to populate a virtual cluster 57 size, it is unable to populate a virtual size 90 For version 2, the header is exactly 72 bytes in length, and finishes here. 91 For version 3 or higher, the header length is at least 104 bytes, including 97 fail to open an image if an unknown bit is set. [all …]
|
H A D | vhost-user.rst | 10 Licence: This work is licensed under the terms of the GNU GPL, 19 This protocol is aiming to complement the ``ioctl`` interface used to 27 *back-end*. The *front-end* is the application that shares its virtqueues, in 28 our case QEMU. The *back-end* is the consumer of the virtqueues. 30 In the current implementation QEMU is the *front-end*, and the *back-end* 31 is the external process consuming the virtio queues, for example a 35 implementations, it is recommended to follow the :ref:`Backend program 45 is supported on any platform that provides the following features: 54 - Either eventfd or pipe/pipe2. On platforms where eventfd is not 80 - Bit 2 is the reply flag - needs to be sent on each reply from the back-end [all …]
|
/qemu/docs/system/arm/ |
H A D | cpu-features.rst | 7 that the feature is implemented, and, conversely, when disabled, 8 indicate that it is not implemented. An example of an Arm CPU feature 9 is the Performance Monitoring Unit (PMU). CPU types such as the 26 disabled, enables the optional AArch32 CPU feature, is only supported 36 CPU type is possible with the ``query-cpu-model-expansion`` QMP command. 38 block in the script for usage) is used to issue the QMP commands. 41 (Note, we started QEMU with qemu-system-aarch64, so ``max`` is 58 all SVE vector lengths can be supported, when KVM is in use it's more 59 likely that only a few lengths will be supported, if SVE is supported at 74 We see it worked, as ``pmu`` is now ``false``. [all …]
|
H A D | virt.rst | 6 The ``virt`` board is a platform which does not correspond to any 7 real hardware; it is designed for use in virtual machines. 8 It is the recommended board type if you simply want to run 13 This is a "versioned" board model, so as well as the ``virt`` machine 15 changes between QEMU versions) a version is provided that guarantees 21 is not guaranteed to work between different QEMU releases for 24 VM migration is not guaranteed when using ``-cpu max``, as features 26 migrated, it is recommended to use another cpu model instead. 42 - An MSI controller (GICv2M or ITS). GICv2M is selected by default along 43 with GICv2. ITS is selected by default with GICv3 (>= virt-2.7). Note [all …]
|
/qemu/ui/ |
H A D | vnc-enc-tight.h | 11 * Permission is hereby granted, free of charge, to any person obtaining a copy 15 * copies of the Software, and to permit persons to whom the Software is 21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 36 *-- The first byte of each Tight-encoded rectangle is a "compression control 37 * byte". Its format is as follows (bit 0 is the least significant one): 43 * bits 7-4: if 1000 (0x08), then the compression type is "fill", 44 * if 1001 (0x09), then the compression type is "jpeg", 45 * if 1010 (0x0A), then the compression type is "png", 46 * if 0xxx, then the compression type is "basic", 49 * If the compression type is "basic", then bits 6..4 of the [all …]
|
/qemu/docs/devel/migration/ |
H A D | vfio.rst | 6 the guest is running on source host and restoring this saved state on the 8 devices is done in QEMU. 11 and the stop-and-copy phase. The pre-copy phase is iterative and allows to 14 continue whilst the VFIO device state is transferred to the destination, this 19 When pre-copy is supported, it's possible to further reduce downtime by 35 safe P2P-wise, since starting and stopping the devices is not done atomically 38 Thus, multiple VFIO devices migration is allowed only if all the devices 39 support P2P migration. Single VFIO device migration is allowed regardless of 61 * An ``is_active_iterate`` function that indicates ``save_live_iterate`` is 62 active only when the VFIO device is in pre-copy states. [all …]
|
H A D | main.rst | 7 QEMU has code to load/save the state of the guest that it is running. 9 that, saves the state for each device that the guest is running. 10 Restoring a guest is just the opposite operation: we need to load the 19 Once that we are able to save/restore a guest, a new functionality is 20 requested: migration. This means that QEMU is able to start in one 24 Next was the "live migration" functionality. This is important 27 migration allows the guest to continue running while the state is 28 transferred. Only while the last part of the state is transferred has 29 the guest to be stopped. Typically the time that the guest is 30 unresponsive during live migration is the low hundred of milliseconds [all …]
|
/qemu/docs/specs/ |
H A D | ivshmem-spec.rst | 5 The Inter-VM shared memory device (ivshmem) is designed to share a 8 shared memory area, it is modeled by QEMU as a PCI device exposing 46 Before QEMU 2.6.0, BAR2 can initially be invalid if the device is 53 Revision 0 of the device is not capable to tell guest software whether 54 it is configured for interrupts. 84 MSI-X capability: INTx is asserted when the bit-wise AND of Status and 85 Mask is non-zero and the device has no MSI-X capability. Interrupt 87 is received. Reading the register clears it. 89 IVPosition Register: if the device is not configured for interrupts, 90 this is zero. Else, it is the device's ID (between 0 and 65535). [all …]
|
/qemu/docs/devel/ |
H A D | memory.rst | 19 Memory is modelled as an acyclic graph of MemoryRegion objects. Sinks 33 - RAM: a RAM region is simply a range of host memory that can be made available 39 - MMIO: a range of guest memory that is implemented by host callbacks; 63 A container's subregions are usually non-overlapping. In some cases it is 72 banks used when the guest address space is smaller than the amount 82 - reservation region: a reservation region is primarily for debugging. 83 It claims I/O space that is not supposed to be handled by QEMU itself. 84 The typical use is to track parts of the address space which will be 85 handled by the host kernel when KVM is enabled. You initialize these 88 It is valid to add subregions to a region which is not a pure container [all …]
|
H A D | reset.rst | 6 The reset of qemu objects is handled using the resettable interface declared 11 have to care about others; in particular, problems of order (which object is 33 Cold reset is supported by every resettable object. In QEMU, it means we reset 35 from what is a real hardware cold reset. It differs from other resets (like 39 This is called for a reset which is being done to put the system into a 42 this the same as ``RESET_TYPE_COLD``. The main exception is devices which 59 This is only used for S390 CPU objects; it clears interrupts, stops 63 This is only used for S390 CPU objects; it does everything 71 Calling ``resettable_reset()`` is equivalent to calling 72 ``resettable_assert_reset()`` then ``resettable_release_reset()``. It is [all …]
|
H A D | control-flow-integrity.rst | 14 CFI is a hardening technique that focusing on guaranteeing that indirect 16 The type used in QEMU is a forward-edge control-flow integrity that ensures 18 function. A compatible function is a function with the same signature of the 21 This type of CFI is entirely compiler-based and relies on the compiler knowing 23 As of now, the only compiler that provides support for CFI is Clang. 25 CFI is best used on production binaries, to protect against unknown attack 34 NOTE: CFI requires the use of link-time optimization. Therefore, when CFI is 37 To build with CFI, the minimum requirement is Clang 6+. If you 38 are planning to also enable fuzzing, then Clang 11+ is needed (more on this 41 Given the use of LTO, a version of AR that supports LLVM IR is required. [all …]
|
H A D | rcu.rst | 4 Read-copy update (RCU) is a synchronization mechanism that is used to 5 protect read-mostly data structures. RCU is very efficient and scalable 6 on the read side (it is wait-free), and thus can make the read paths 10 thus it is not used alone. Typically, the write-side will use a lock to 12 restricting updates to a single task). In QEMU, when a lock is used, 14 lock" (BQL). Also, restricting updates to a single task is done in 17 RCU is fundamentally a "wait-to-finish" mechanism. The read side marks 22 The key point here is that only the currently running critical sections 25 the updater. This is the reason why RCU is more scalable than, 26 for example, reader-writer locks. It is so much more scalable that [all …]
|
H A D | tcg.rst | 7 QEMU is a dynamic translator. When it first encounters a piece of code, 13 QEMU's dynamic translation backend is called TCG, for "Tiny Code 25 CPU cannot change in it. The state is recorded in the Translation 36 After each translated basic block is executed, QEMU uses the simulated 40 In its simplest, less optimized form, this is done by exiting from the 49 It is mandatory to exit this way after any CPU state changes that may 53 simulated PC is already available, QEMU has mechanisms that allow 62 matches the current CPU state. If the destination TB is available its 63 code address is returned, otherwise the address of the JIT epilogue is 64 returned. The call to the helper is always followed by the tcg ``goto_ptr`` [all …]
|
H A D | writing-monitor-commands.rst | 4 This document is a step-by-step guide on how to write new QMP commands using 17 building blocks are also fine. The long term goal is to make all 32 2. Write the QMP command itself, which is a regular C function. Preferably, 38 4. Write the HMP command equivalent. This is not required and should only be 40 is implemented in terms of the QMP command 49 For all the examples in the next sections, the test setup is the same and is 63 Escape character is '^]'. 80 The above output is the QMP server saying you're connected. The server is 92 Which is QMP's way of saying "the latest command executed OK and didn't return 107 The first step is defining the command in the appropriate QAPI schema [all …]
|
/qemu/include/qemu/ |
H A D | job.h | 7 * Permission is hereby granted, free of charge, to any person obtaining a copy 11 * copies of the Software, and to permit persons to whom the Software is 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 56 * The coroutine that executes the job. If not NULL, it is reentered when 57 * busy is false and the job is cancelled. 73 /** The opaque value that is passed to the completion function. */ 76 /* ProgressMeter API is thread-safe */ 98 * Timer that is used by @job_sleep_ns. Accessed under job_mutex (in 104 * Counter for pause request. If non-zero, the block job is either paused, 114 * When the job is deferred to the main loop, busy is true as long as the [all …]
|
/qemu/docs/system/s390x/ |
H A D | vfio-ap.rst | 9 The IBM Adjunct Processor (AP) Cryptographic Facility is comprised 26 An AP adapter is an IBM Z adapter card that can perform cryptographic 28 on the machine model. Adapters assigned to the LPAR in which a linux host is 29 running will be available to the linux host. Each adapter is identified by a 30 number from 0 to 255; however, the maximum adapter number allowed is 31 determined by machine model. When installed, an AP adapter is accessed by 36 An adapter is partitioned into domains. Each domain can be thought of as 38 hold up to 256 domains; however, the maximum domain number allowed is 39 determined by machine model. Each domain is identified by a number from 0 to 51 An AP queue is the means by which an AP command-request message is sent to an [all …]
|
/qemu/docs/system/ |
H A D | qemu-block-drivers.rst.inc | 50 newer understand (this is the default). Amongst others, this includes 63 This option is deprecated and equivalent to ``encrypt.format=aes`` 67 If this is set to ``luks``, it requests that the qcow2 payload (not 69 use to unlock the LUKS key slot is given by the ``encrypt.key-secret`` 73 If this is set to ``aes``, the image is encrypted with 128-bit AES-CBC. 74 The encryption key is given by the ``encrypt.key-secret`` parameter. 75 This encryption format is considered to be flawed by modern cryptography 78 - The AES-CBC cipher is used with predictable initialization vectors based 81 - The user passphrase is directly used as the encryption key. A poorly 83 - In the event of the passphrase being compromised there is no way to [all …]
|
/qemu/docs/about/ |
H A D | build-platforms.rst | 14 If a platform is not listed here, it does not imply that QEMU won't 16 listed platform, there is every expectation that it will work. Bug 18 unless they are clearly older vintage than what is described here. 25 support for those backports, unless the feature is auto-detectable in a 28 The `Repology`_ site is a useful resource to identify 60 Other host architectures are not supported. It is possible to build QEMU system 63 this is very slow and is not recommended for normal use. QEMU user emulation 76 version is released or when the vendor itself drops support, whichever comes 79 the same is true of repositories that contain packages backported from later 81 recent minor release is considered. [all …]
|
/qemu/include/block/ |
H A D | graph-lock.h | 7 * This library is free software; you can redistribute it and/or 12 * This library is distributed in the hope that it will be useful, 41 * access the graph as long the writer is not modifying the graph. 42 * In case it is, they go in a CoQueue and sleep until the writer 43 * is done. 46 * AioContext are left intact, since the writer does not care where is the 47 * reader, but only if there is one. 50 * This also means that when an AioContext is deleted it may have a nonzero 52 * so that the writer is always aware of all readers. 79 * this macro that will require that the lock is at least taken while reading [all …]
|