/qemu/docs/interop/ |
H A D | vhost-user.rst | 33 or a block device back-end processing read & write to a virtual 107 :index: a 32-bit index 109 :num: a 32-bit number 179 :size: a 64-bit size 251 :size: a 64-bit size 457 must start a ring upon receiving a kick (that is, detecting that file 664 addresses: a guest address and a user address. 1025 should close the connection as a response to a 1654 to retrieve a given dma-buf fd from a given back-end, determined by 1777 offset to get a memory range. Registering a host notifier means [all …]
|
H A D | qcow2.txt | 26 image doesn't have a backing file. 34 a backing file. 288 display a useful error message. 441 perform a COW (copy on write) operation. 457 table size. With a 2 MB cluster size and a default refcount_order of 502 size; for a given L1 table size, a larger cluster size is required for 507 offset for a compressed cluster is reduced (a 2M cluster size requires 664 a write causes a COW and isn't visible in other snapshots. 755 Structure of a bitmap directory entry: 760 a cluster boundary. [all …]
|
/qemu/qapi/ |
H A D | stats.json | 26 # @linear-histogram: stat is a linear histogram. 28 # @log2-histogram: stat is a logarithmic histogram, with one bucket 48 # @boolean: stat is a boolean value. 77 # @vcpu: statistics that apply to a single virtual CPU. 79 # @cryptodev: statistics that apply to a crypto device (since 8.0) 89 # Indicates a set of statistics that should be returned by 202 # Schema for a single statistic. 205 # identified by a target, a provider (both available in 211 # statistic is a simple number or counter. 215 # @exponent together form a SI prefix (e.g., _nano-_ for [all …]
|
H A D | net.json | 40 # Add a network backend. 62 # Remove a network backend. 82 # Create a new Network Interface Card. 133 # form a.b.c.d or as a number of valid top-most bits. Default is 370 # Connect a host TAP network interface to a host bridge device. 390 # @netdev: used to connect hub to a netdev instead of a device (since 403 # Connect a client to a netmap-enabled NIC or to a VALE switch port 424 # Attach mode for a default XDP program 503 # vDPA device is a device that uses a datapath which complies with the 649 # @reconnect: For a client socket, if a socket is disconnected, then [all …]
|
H A D | run-state.json | 14 # @debug: QEMU is running on a debugger 65 # An enumeration of reasons for a Shutdown. 75 # @host-signal: Reaction to a signal, such as SIGINT 77 # @host-ui: Reaction to a UI event, like window close 83 # a shutdown 144 # sending qemu a SIGINT). (since 2.10) 432 # @info: information about a panic (since 2.9) 452 # @info: information about a panic 498 # Information about a guest panic 543 # Reason why the CPU is in a crashed state. [all …]
|
H A D | block-core.json | 706 # has a tray) 857 # Statistics of a block device during a given interval of time. 924 # Statistics of a virtual block device or a block backing device. 1449 # Resize a block image while a guest is running. 1676 # Takes a synchronous snapshot of a block device. 1701 # Takes a snapshot of a block device. 1886 # Start a point-in-time copy of a block device to a new destination. 1917 # Start a point-in-time copy of a block device to a new destination. 2772 # Copy data from a backing file into a block device. 5888 # 1. Add a new node to a quorum [all …]
|
/qemu/hw/input/ |
H A D | tsc2005.c | 545 if (abs(info->a[0]) > abs(info->a[1])) { in tsc2005_set_transform() 548 s->tr[2] = info->a[0]; in tsc2005_set_transform() 549 s->tr[3] = -info->a[2] / info->a[0]; in tsc2005_set_transform() 550 s->tr[4] = info->a[6] * info->y; in tsc2005_set_transform() 552 s->tr[6] = info->a[4]; in tsc2005_set_transform() 553 s->tr[7] = -info->a[5] / info->a[4]; in tsc2005_set_transform() 555 s->tr[0] = info->a[6] * info->y; in tsc2005_set_transform() 557 s->tr[2] = info->a[1]; in tsc2005_set_transform() 558 s->tr[3] = -info->a[2] / info->a[1]; in tsc2005_set_transform() 561 s->tr[6] = info->a[3]; in tsc2005_set_transform() [all …]
|
/qemu/docs/system/ |
H A D | secrets.rst | 6 There are a variety of objects in QEMU which require secret data to be provided 8 devices often require a password, LUKS block devices require a passphrase to 10 QEMU has a general purpose mechanism for providing secret data to QEMU in a 17 a ``secret`` object it must be given a unique ID string. This ID is then 24 **The following should never be done in a production environment or on a 50 Passing secrets as clear text via a file 53 The simplest approach to providing data securely is to use a file to store 87 possible to configure a second secret as an AES key to use for decrypting 114 critical that a different initialization vector is used for every secret**. 136 and also encryption with a master key: [all …]
|
/qemu/docs/devel/ |
H A D | tcg.rst | 7 QEMU is a dynamic translator. When it first encounters a piece of code, 23 evaluate instructions. In order to achieve a good speed, the 26 Block (TB). If the state changes (e.g. privilege level), a new TB will 60 Calling ``tcg_gen_lookup_and_goto_ptr()`` will emit a call to 75 as a parameter. 87 Step 1, ``tcg_gen_goto_tb()``, will emit a ``goto_tb`` TCG 88 instruction that later on gets translated to a jump to an address 118 * The direct branch cannot cross a page boundary. Memory mappings 142 a linked list of every translated block contained in a given page. Other 158 memory accesses. QEMU keeps a map from host program counter to [all …]
|
H A D | tracing.rst | 31 When patterns are used frequently it is more convenient to store them in a 44 Each directory in the source tree can declare a set of trace events in a local 81 While it is possible to include a trace.h file from outside a source file's own 145 finally a format string for pretty-printing. For example:: 169 in one function, append a unique distinguisher at the end of the name. 188 Enable/disable a given trace event or a group of events (using wildcards). 194 If a line in the "--trace events=<file>" file begins with a '-', the trace event 251 The "simple" backend writes binary trace logs to a file from a thread, making 331 Where the events can either be a comma-separated list of events, or "-a" to 378 If a specific trace event is going to be invoked a huge number of times, this [all …]
|
/qemu/docs/specs/ |
H A D | vmw_pvscsi-spec.rst | 14 The interface is based on a memory area shared between hypervisor and VM. 15 The memory area is obtained by driver as a device IO memory resource of 17 The shared memory consists of a registers area and a rings area. 47 There is a control area (``struct PVSCSIRingsState *rings_state``) 66 register. If a bit is set it means the interrupt is enabled, and if 81 a. Issue ``PVSCSI_CMD_ADAPTER_RESET`` command 95 a. Mask interrupts 102 a. Fill next free request ring descriptor 109 a. Issue ``PVSCSI_CMD_ABORT_CMD`` command 114 a. Upon completion interrupt arrival process completion
|
H A D | ppc-spapr-uv-hcalls.rst | 6 can be placed in a secured region where only an ultravisor running in firmware 8 the ultravisor (via ultracalls) to switch to a secure virtual machine (SVM) mode 15 to reserve a hypercall number range specific to this use case to avoid any 23 Switching to SVM mode involves a number of hcalls issued by the ultravisor to 32 SVM file systems are encrypted using a symmetric key. This key is then 33 wrapped/encrypted using the public key of a trusted system which has the private 35 unwrap/unseal the symmetric key using the system's TPM device or a TPM Resource 38 The Ultravisor sets up a separate session key with the TPM in advance during 49 ``TPM_COMM_OP_EXECUTE`` (``0x1``): send a request to a TPM and receive a 50 response, opening a new TPM session if one has not already been opened.
|
H A D | acpi_erst.rst | 10 (APEI)", and specifically subsection "Error Serialization", outlines a 37 guests. With QEMU supporting ACPI ERST, it becomes a viable pstore 41 Enabling support for ACPI ERST facilitates a consistent method to 42 capture kernel panic information in a wide range of guests: from 53 To use ACPI ERST, a memory-backend-file object and acpi-erst device 76 backend storage. Must be a power of two value greater than or 91 simply returns the register contents, which can be updated by a 103 be occupied, and they need not be occupied in a contiguous fashion. 111 the slot 0 header can accommodate 1021 records. Thus a storage size 178 location of a CPER record_id in the record_id[] array provides the [all …]
|
/qemu/docs/ |
H A D | throttle.txt | 11 QEMU includes a throttling module that can be used to set limits to 50 In its most basic usage, the user can add a drive to QEMU with a limit 87 we want to configure a drive with a basic limit of 100 IOPS and allow 155 counted as two, and a 6KB request will be counted as one and a 186 Here hd1, hd2 and hd4 are all members of a group named 'foo' with a 188 is left alone (technically it is part of a 1-member group). 204 drive. If the drive is not in a group yet, it will be added to a 221 (specifically the "Leaky bucket as a meter" variant). 223 This algorithm uses the analogy of a bucket that leaks water 235 - Water leaks from the bucket at a rate of 100 IOPS. [all …]
|
H A D | pcie_sriov.txt | 7 of a PCI Express device. It allows a single physical function (PF) to appear as multiple 22 A virtual function is different from a physical function in that the BAR 30 From our emulation perspective this means that there is a separate call for 31 setting up a BAR for a VF. 33 1) To enable SR/IOV support in the PF, it must be a PCI Express device so 34 you would need to add a PCI Express capability in the normal PCI 71 make it a PCI Express device and add a similar set of capabilities 94 To enable 4 VFs for a device at 01:00.0: 105 Older drivers typically provide a max_vfs module parameter
|
H A D | xbzrle.txt | 8 Systems, and generally speaking for any application that uses a sparse memory 11 Instead of sending the changed guest memory page this solution will send a 15 be stored on the source. Those pages are stored in a dedicated cache 61 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 68 00 00 6b 00 6d 66 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 68 00 00 67 00 69 72 e9 07 0f 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 03 01 67 01 01 69 77 misses. XBZRLE uses a counter as the age of each page. The counter will 78 increase after each ram dirty bitmap sync. When a cache conflict is 80 a threshold. 91 3. Set the XBZRLE cache size - the cache size is in MBytes and should be a [all …]
|
/qemu/docs/system/devices/ |
H A D | cxl.rst | 3 From the view of a single host, CXL is an interconnect standard that 4 targets accelerators and memory devices attached to a CXL host. 6 software running on a QEMU emulated host or to the internals of 11 by considering only a single host and a static configuration. 77 A CXL system is made up a Host with a number of 'standard components' 109 may be a mapping to a single Root Port (RP) or across a set of 121 Here we consider a simple CXL switch with only a single 124 a simple switch design. Hosts often have no awareness 148 into a Device Physical Address (DPA). 153 are emulated in QEMU, let us consider a memory read in a fully configured [all …]
|
H A D | usb.rst | 4 QEMU can emulate a PCI UHCI, OHCI, EHCI or XHCI USB controller. You can 45 The easiest way to add a UHCI controller to a ``pc`` machine is the 67 This attaches a USB tablet to the UHCI adapter and a USB mass storage 82 There is a config file in docs which will do all this for 118 a drive backed by a raw format disk image: 227 Plugging a tablet into UHCI port 1 works like this:: 231 Plugging a hub into UHCI port 2 works like this:: 265 Using host USB devices on a Linux host 316 device to make it work again (this is a bug). 338 practice only a few combinations are useful: [all …]
|
/qemu/hw/arm/ |
H A D | aspeed_ast2600.c | 145 Aspeed2600SoCState *a = ASPEED2600_SOC(s); in aspeed_soc_ast2600_get_irq() local 153 Aspeed2600SoCState *a = ASPEED2600_SOC(obj); in aspeed_soc_ast2600_init() local 165 object_initialize_child(obj, "cpu[*]", &a->cpu[i], in aspeed_soc_ast2600_init() 180 object_initialize_child(obj, "a7mpcore", &a->a7mpcore, in aspeed_soc_ast2600_init() 292 Aspeed2600SoCState *a = ASPEED2600_SOC(dev); in aspeed_soc_ast2600_realize() local 336 if (!qdev_realize(DEVICE(&a->cpu[i]), NULL, errp)) { in aspeed_soc_ast2600_realize() 344 object_property_set_int(OBJECT(&a->a7mpcore), "num-irq", in aspeed_soc_ast2600_realize() 352 SysBusDevice *sbd = SYS_BUS_DEVICE(&a->a7mpcore); in aspeed_soc_ast2600_realize() 353 DeviceState *d = DEVICE(&a->cpu[i]); in aspeed_soc_ast2600_realize() 427 irq = qdev_get_gpio_in(DEVICE(&a->a7mpcore), in aspeed_soc_ast2600_realize() [all …]
|
/qemu/ |
H A D | hmp-commands.hx | 86 Resize a block image while a guest is running. Usually requires guest 96 .help = "copy data from a backing file into a block device", 103 Copy data from a backing file into a block device. 334 .help = "save a VM snapshot. If no tag is provided, a new snapshot is created", 707 or a QOM object path. 1221 Start mirroring a block device's writes to a new destination, 1243 Start a point-in-time copy of a block device to a specified target. 1507 .help = "receive a file descriptor via SCM rights and assign it a name", 1549 *device* can be a block device name, a qdev ID or a QOM path. 1656 .help = "run a qemu-io command on a block device\n\t\t\t" [all …]
|
/qemu/tests/tcg/openrisc/ |
H A D | test_j.c | 5 int a; in main() local 8 a = 0; in main() 18 : "+r"(a) in main() 20 if (a != result) { in main()
|
H A D | test_jal.c | 5 int a; in main() local 8 a = 0; in main() 18 : "+r"(a) in main() 20 if (a != result) { in main()
|
/qemu/docs/about/ |
H A D | emulation.rst | 4 QEMU's Tiny Code Generator (TCG) provides the ability to emulate a 106 Semihosting is a feature defined by the owner of the architecture to 107 allow programs to interact with a debugging host system. On real 116 have a full libc to be run as "bare-metal" code under QEMU's user-mode 117 emulation. It is also useful for writing test cases and indeed a 122 instructions to trigger a semihosting call are typically reserved 127 the guest and the host. As a result a program using semihosting can 135 Semihosting calls can be re-directed to a (potentially remote) gdb 137 semihosting console is configured as a ``chardev`` so can be 138 redirected to a file, pipe or socket like any other ``chardev`` [all …]
|
/qemu/tcg/tci/ |
H A D | README | 7 TCG (Tiny Code Generator) is a code generator which translates 9 targets supported by QEMU) to a code representation which 10 can be run on a host. 15 By adding a code generator for a virtual machine and using an 28 The bytecode consists of opcodes (with only a few exceptions, with 30 to six arguments packed into a 32-bit integer. See comments in tci.c 103 * TCI is not widely tested. It was written and tested on a x86_64 host 107 because I run it in a mips malta emulation, so it is an interpreted 111 i386-linux-user/qemu-i386 can run a simple hello-world program 112 (tested in a ppc emulation). [all …]
|
/qemu/target/hexagon/idef-parser/ |
H A D | README.rst | 4 idef-parser is a small compiler able to translate the Hexagon ISA description 73 idef-parser has to handle a lower number of computation primitives. 80 Now let's have a quick look at the generated code, line by line. 157 declared anywhere, but rather a symbol which is easy to match in 240 address ``EA``. Similarly, each statement can be a ``control_statement``, a 241 variable declaration such as ``int a;``, a code block, which is just a 242 bracket-enclosed list of statements, a ``';'``, which is a ``nop`` instruction, 329 which will feature the variable name as a decoration. For a variable declaration 506 incorrectly emitted tinycode generator for a single instruction. 596 Scrolling up a bit, we find [all …]
|