/qemu/docs/specs/ |
H A D | ppc-spapr-hotplug.rst | 19 resource to the guest, and provide an interface for the guest to manage 33 for hot plugged resources described under :ref:`guest-host-interface`. 46 ``<name>`` values for logical/virtual resources are defined in the Linux on 51 ``<name>`` values for "physical" resources such as PCI or VIO devices are 54 for the device, concatenated by a hyphen. This provides a mapping of 55 resources to a physical location in a chassis for debugging purposes. For 57 conforms to naming specifications, but is simply a location label for the 58 slot by itself to simplify the implementation. The naming convention for 60 and in our case amounts to using ``C<n>`` for PCI/VIO device slots, where 77 ``1`` for CPU resource. [all …]
|
H A D | ivshmem-spec.rst | 2 Device Specification for Inter-VM shared memory device 7 and the host. In order for all guests to be able to pick up the 17 For information on configuring the ivshmem device on the QEMU 41 - If you additionally need the capability for peers to interrupt each 44 configured for interrupts, obviously. 47 configured for interrupts. It becomes safely accessible only after 49 revision 0 rather than 1. Guest software should wait for the 54 it is configured for interrupts. 89 IVPosition Register: if the device is not configured for interrupts, 92 Before QEMU 2.6.0, the register may read -1 for a short while after [all …]
|
/qemu/rust/qemu-api/src/ |
H A D | bindings.rs | 29 // When bindings for character devices are introduced, this can be 31 unsafe impl Send for CharBackend {} 32 unsafe impl Sync for CharBackend {} 35 unsafe impl Send for CoalescedMemoryRange {} 36 unsafe impl Sync for CoalescedMemoryRange {} 40 unsafe impl Send for MemoryRegionOps {} 41 unsafe impl Sync for MemoryRegionOps {} 43 unsafe impl Send for Property {} 44 unsafe impl Sync for Property {} 46 unsafe impl Send for TypeInfo {} [all …]
|
H A D | zeroable.rs | 3 //! Defines a trait for structs that can be safely initialized with zero bytes. 11 /// Do not add this trait to a type unless all-zeroes is a valid value for the 22 impl Default for crate::bindings::VMStateFlags { 28 unsafe impl Zeroable for crate::bindings::Property__bindgen_ty_1 {} 29 unsafe impl Zeroable for crate::bindings::Property {} 30 unsafe impl Zeroable for crate::bindings::VMStateFlags {} 31 unsafe impl Zeroable for crate::bindings::VMStateField {} 32 unsafe impl Zeroable for crate::bindings::VMStateDescription {} 33 unsafe impl Zeroable for crate::bindings::MemoryRegionOps__bindgen_ty_1 {} 34 unsafe impl Zeroable for crate::bindings::MemoryRegionOps__bindgen_ty_2 {} [all …]
|
/qemu/docs/devel/ |
H A D | loads-stores.rst | 9 QEMU internally has multiple families of functions for performing 12 documentation of each API -- for that you should look at the 32 - (empty) : for 32 or 64 bit sizes 48 The ``_{endian}`` infix is omitted for target-endian accesses. 66 Regexes for git grep: 83 particular index might be necessary if, for instance, the helper 85 default access for the current state of the guest CPU. 88 (e.g. for an alignment fault or MMU fault) which will result in 119 - (empty) : for target endian, or 8 bit sizes 123 Regexes for git grep: [all …]
|
H A D | rust.rst | 24 However, QEMU's build system also tries to be easy to use for people who 31 * it is also possible to use ``cargo`` for common Rust-specific coding 46 A target for ``rustfmt`` is also declared in ``rust/meson.build``: 88 though hopefully the need for raw pointers will go down over time. 91 crate, which is planned for inclusion in QEMU, but it can be easily patched 94 * referencing statics in constants (stable in 1.83.0). For now use a const 95 function; this is an important limitation for QEMU's migration stream 99 * NUL-terminated file names with ``#[track_caller]`` are scheduled for 101 before QEMU can use them. For now, there is special code in 104 * associated const equality would be nice to have for some users of [all …]
|
H A D | style.rst | 16 getting the right settings for your preferred $EDITOR. See 17 `<https://editorconfig.org/>`_ for details. 51 * while/for 55 for the following lines. 57 In case of if/else, while/for, align the secondary lines just after the 60 For example: 75 For example: 126 A number of short naming conventions exist for variables that use 127 common QEMU types. For example, the architecture independent CPUState 138 prefix to alert readers that they are seeing a wrapped version, for [all …]
|
H A D | build-system.rst | 40 - list the targets for which to build emulators; the list of 52 configuration step for the emulator build 54 The configure script automatically recognizes command line options for 85 Detect a cross compiler and cross tools for the QEMU target $TARGET (e.g., 96 Configure does not generally perform tests for compiler options beyond 116 therefore can be used to check for cross compilers. However, most 117 such checks are done at ``make`` time instead (see for example the 137 look for ``meson`` or ``sphinx-build`` binaries in the PATH; 147 If a package is available for the chosen interpreter, ``configure`` 196 The Meson build system describes the build and install process for: [all …]
|
/qemu/docs/system/arm/ |
H A D | emulation.rst | 6 QEMU's TCG emulation includes support for the Armv5, Armv6, Armv7, 7 Armv8 and Armv9 versions of the A-profile architecture. It also has support for 11 - FEAT_AA32EL0 (Support for AArch32 at EL0) 12 - FEAT_AA32EL1 (Support for AArch32 at EL1) 13 - FEAT_AA32EL2 (Support for AArch32 at EL2) 14 - FEAT_AA32EL3 (Support for AArch32 at EL3) 17 - FEAT_AA64EL0 (Support for AArch64 at EL0) 18 - FEAT_AA64EL1 (Support for AArch64 at EL1) 19 - FEAT_AA64EL2 (Support for AArch64 at EL2) 20 - FEAT_AA64EL3 (Support for AArch64 at EL3) [all …]
|
H A D | virt.rst | 7 real hardware; it is designed for use in virtual machines. 17 that VM migration will work between QEMU versions. For instance the 21 is not guaranteed to work between different QEMU releases for 35 - Either one or two PL011 UARTs for the NonSecure World 52 - A second PL061 GPIO controller, with GPIO lines for triggering 77 - ``max`` (same as ``host`` for KVM and HVF; best possible emulation with TCG) 79 Note that the default is ``cortex-a15``, so for an AArch64 guest you must 83 enable all the CPU features for a given ``virt`` machine. Where a CPU 88 For example, MTE support must be enabled with ``-machine virt,mte=on``, 92 See the machine-specific options below, or check them for a given machine [all …]
|
/qemu/scripts/codeconverter/codeconverter/ |
H A D | qom_type_info.py | 43 return [m.group('arrayitem') for m in self.group_finditer(ArrayItem, 'arrayitems')] 66 Common base class for type definitions (TypeInfo variables or OBJECT_DEFINE* macros) 93 for fm in self.group_finditer(FieldInitializer, 'fields')) 116 """Helper for code that needs to deal with missing initializer info""" 171 #for field,suffix in [('instance_init', '_init'), 215 for f in fields: 250 self.debug("searching for simpletype declaration using %s as InstanceType", instancetype) 254 self.debug("No simpletype declaration found for %s", instancetype) 270 # this will just ensure the caches for find_match() and matches_for_type() 317 #for t in (typename, parent_typename): [all …]
|
/qemu/include/accel/tcg/ |
H A D | cpu-ops.h | 41 * for the guest memory ordering. 65 * @get_tb_cpu_state: Extract CPU state for a TCG #TranslationBlock 93 /** @cpu_exec_enter: Callback for cpu_exec preparation */ 95 /** @cpu_exec_exit: Callback for cpu_exec cleanup */ 97 /** @debug_excp_handler: Callback for handling debug exceptions */ 100 /** @mmu_index: Callback for choosing softmmu mmu index */ 105 * @fake_user_interrupt: Callback for 'fake exception' handling. 108 * cpu execution loop (hack for x86 user mode). 117 * @maperr: true for invalid page, false for permission fault 118 * @ra: host pc for unwinding [all …]
|
H A D | probe.h | 2 * Probe guest virtual addresses for access permissions. 19 * @mmu_idx: MMU index to use for lookup 20 * @retaddr: return address for unwinding 24 * access (@addr, @size) hits a watchpoint. For writes, mark a clean 27 * Finally, return the host address for a page that is backed by RAM, 51 * @mmu_idx: MMU index to use for lookup 53 * @phost: return value for host address 54 * @retaddr: return address for unwinding 56 * Similar to probe_access, loosely returning the TLB_FLAGS_MASK for 57 * the page, and storing the host address for RAM in @phost. [all …]
|
/qemu/tests/qtest/ |
H A D | dm163-test.c | 2 * QTest testcase for DM163 35 /* Configure output mode for pin PB1 */ in rise_gpio_pin_dck() 37 /* Write 1 in ODR for PB1 */ in rise_gpio_pin_dck() 43 /* Configure output mode for pin PB1 */ in lower_gpio_pin_dck() 45 /* Write 0 in ODR for PB1 */ in lower_gpio_pin_dck() 51 /* Configure output mode for pin PC5 */ in rise_gpio_pin_selbk() 53 /* Write 1 in ODR for PC5 */ in rise_gpio_pin_selbk() 59 /* Configure output mode for pin PC5 */ in lower_gpio_pin_selbk() 61 /* Write 0 in ODR for PC5 */ in lower_gpio_pin_selbk() 67 /* Configure output mode for pin PC4 */ in rise_gpio_pin_lat_b() [all …]
|
/qemu/include/hw/intc/ |
H A D | arm_gic.h | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 25 * + QOM property "revision": GIC version (1 or 2), or 0 for the 11MPCore GIC 32 * [P..P+31] PPIs for CPU 0 33 * [P+32..P+63] PPIs for CPU 1 36 * - IRQ for CPU 0 37 * - IRQ for CPU 1 39 * - FIQ for CPU 0 40 * - FIQ for CPU 1 42 * - VIRQ for CPU 0 (exists even if virt extensions not present) [all …]
|
/qemu/docs/ |
H A D | image-fuzzer.txt | 1 # Specification for the fuzz testing tool 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 51 For comprehensive test results, please, set up your test environment 57 ``qemu-img`` is required for creation of backing files, so it's mandatory to set 59 For details about environment variables see qemu-iotests/check. 77 For variable arguments next aliases can be used: 78 - $test_img for a fuzzed img 79 - $off for an offset in the fuzzed image 80 - $len for a data size [all …]
|
/qemu/qapi/ |
H A D | crypto.json | 43 # The supported algorithms for computing content digests 69 # The supported algorithms for content encryption ciphers 111 # The supported modes for content encryption ciphers 129 # The supported algorithms for generating initialization vectors for 130 # full disk encryption. The 'plain' generator should not be used for 151 # @qcow: QCow/QCow2 built-in AES-CBC encryption. Use only for 154 # @luks: LUKS encryption format. Recommended for new images 179 # decryption key. Mandatory except when probing image for 193 # decryption key. Mandatory except when probing image for 206 # @cipher-alg: the cipher algorithm for data encryption. Currently [all …]
|
H A D | stats.json | 29 # for each power of two. 40 # Enumeration of unit of measurement for statistics 92 # @provider: provider for which to return statistics. 105 # @vcpus: list of QOM paths for the desired vCPU objects. 115 # The arguments to the query-stats command; specifies a target for 117 # information for that target. 141 # @list: list of unsigned 64-bit integers (used for histograms). 166 # @provider: provider for this set of statistics. 168 # @qom-path: Path to the object for which the statistics are returned, 183 # Return runtime-collected statistics for objects such as the VM or [all …]
|
/qemu/tests/qtest/libqos/ |
H A D | virtio-9p-client.h | 2 * 9P network client for VirtIO 9P test cases (based on QTest) 65 #define P9_GETATTR_BASIC 0x000007ffULL /* Mask for fields up to BLOCKS */ 66 #define P9_GETATTR_ALL 0x00003fffULL /* Mask for ALL fields */ 86 /* options for 'Twalk' 9p request */ 94 /* file ID for target directory being walked to (optional) */ 106 /* only send Twalk request but not wait for a reply? (optional) */ 116 /* if requestOnly was set: request object for further processing */ 120 /* options for 'Tversion' 9p request */ 130 /* only send Tversion request but not wait for a reply? (optional) */ 138 /* if requestOnly was set: request object for further processing */ [all …]
|
/qemu/docs/system/ |
H A D | tls.rst | 3 TLS setup for network services 6 Almost all network services in QEMU have the ability to use TLS for 7 session data encryption, along with x509 certificates for simple client 9 certificates suitable for usage with QEMU, and applies to the VNC 24 certificates to each server. If using x509 certificates for 33 for impersonating your services. The only likely exception where a 39 The recommendation is for the server to keep its certificates in either 40 ``/etc/pki/qemu`` or for unprivileged users in ``$HOME/.pki/qemu``. 72 extension to indicate this certificate is for a CA, while 74 be used for signing other keys. The generated ``ca-cert.pem`` file [all …]
|
H A D | cpu-models-x86.rst.inc | 1 Recommendations for KVM CPU model configuration on x86 hosts 4 The information that follows provides recommendations for configuring 42 ABI compatibility levels for CPU models 64 Preferred CPU models for Intel x86 hosts 67 The following CPU models are preferred for use on Intel hosts. 120 Important CPU features for Intel x86 hosts 134 Should be explicitly turned on for Westmere, SandyBridge, and 143 Must be explicitly turned on for Intel CPU models without -IBRS 147 can be used for guest CPUs. 153 Must be explicitly turned on for all Intel CPU models. [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | 186.out | 7 QEMU X.Y.Z monitor - type 'help' for more information 15 QEMU X.Y.Z monitor - type 'help' for more information 23 QEMU X.Y.Z monitor - type 'help' for more information 31 QEMU X.Y.Z monitor - type 'help' for more information 39 QEMU X.Y.Z monitor - type 'help' for more information 47 QEMU X.Y.Z monitor - type 'help' for more information 58 QEMU X.Y.Z monitor - type 'help' for more information 66 QEMU X.Y.Z monitor - type 'help' for more information 74 QEMU X.Y.Z monitor - type 'help' for more information 82 QEMU X.Y.Z monitor - type 'help' for more information [all …]
|
/qemu/docs/devel/migration/ |
H A D | vfio.rst | 5 Migration of virtual machine involves saving the state for each device that 13 transferred. The iterative pre-copy phase of migration allows for the guest to 36 for all the devices together. 42 A detailed description of the UAPI for VFIO device migration can be found in 43 the comment for the ``vfio_device_mig_state`` structure in the header file 46 VFIO implements the device hooks for the iterative approach as follows: 54 remaining pre-copy data that the vendor driver has yet to save for the VFIO 59 save for the VFIO device. 79 _STOP_COPY state and iteratively copies the data for the VFIO device until 86 from the VFIO device and queues it for multifd transmission until the vendor [all …]
|
/qemu/include/block/ |
H A D | blockjob_int.h | 2 * Declarations for long-running block device operations 19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 34 * A class type for block job driver. 43 * See include/block/block-io.h for more information about 48 * Returns whether the job has pending requests for the child or will 58 * See include/block/block-global-state.h for more information about 87 * See include/block/block-global-state.h for more information about 95 * @driver: The class object for the newly-created job. 98 * @perm, @shared_perm: Permissions to request for @bs [all …]
|
/qemu/include/qapi/ |
H A D | qobject-output-visitor.h | 22 * Create a QObject output visitor for @obj 28 * visit_type_FOO() creates a QObject for QAPI type FOO. It creates a 29 * QDict for struct/union types, a QList for list types, QString for 30 * type 'str' and enumeration types, QNum for integer and float 31 * types, QBool for type 'bool'. For type 'any', it increments the 32 * QObject's reference count. For QAPI alternate types, it creates 33 * the QObject for the member that is in use. 46 * alternate. The visit in between creates the QObject for the 51 * The caller is responsible for freeing the visitor with
|