/qemu/block/ |
H A D | qed-l2-cache.c | 2 * QEMU Enhanced Disk Format L2 Cache 10 * See the COPYING.LIB file in the top-level directory. 15 * L2 table cache usage is as follows: 17 * An open image has one L2 table cache that is used to avoid accessing the 23 * table cache serves up recently referenced L2 tables. 25 * If there is a cache miss, that L2 table is read from the image file and 26 * committed to the cache. Subsequent accesses to that L2 table will be served 27 * from the cache until the table is evicted from the cache. 29 * L2 tables are also committed to the cache when new L2 tables are allocated 30 * in the image file. Since the L2 table cache is write-through, the new L2 [all …]
|
H A D | qed.h | 11 * See the COPYING.LIB file in the top-level directory. 23 * +--------+----------+----------+----------+-----+ 25 * +--------+----------+----------+----------+-----+ 27 * There is a 2-level pagetable for cluster allocation: 29 * +----------+ 31 * +----------+ 32 * ,------' | '------. 33 * +----------+ | +----------+ 35 * +----------+ +----------+ 36 * ,------' | '------. [all …]
|
H A D | gluster.c | 7 * See the COPYING file in the top-level directory. 14 #include "block/block-io.h" 20 #include "qemu/error-report.h" 45 #define GLUSTER_LOGFILE_DEFAULT "-" /* handled in libgfapi as /dev/stderr */ 47 * Several versions of GlusterFS (3.12? -> 6.0.1) fail when the transfer size 90 .name = "qemu-gluster-create-opts", 113 .help = "Gluster log level, valid range is 0-9", 136 .help = "Gluster log level, valid range is 0-9", 164 .help = "Gluster log level, valid range is 0-9", 245 entry->saved.volume = g_strdup(volume); in glfs_set_preopened() [all …]
|
/qemu/docs/devel/ |
H A D | tcg.rst | 14 Generator". For more information, please take a look at :ref:`tcg-ops-ref`. 20 ----------------------- 26 Block (TB). If the state changes (e.g. privilege level), a new TB will 34 --------------------- 38 segment base value) to find the next basic block. 42 main loop. That’s where QEMU looks for the next TB to execute, 44 in memory. Then QEMU proceeds to execute this next TB, starting at the 48 callback to be re-evaluated before executing additional instructions. 66 branch to the next TB or return to the main loop. 79 correctly locate and execute the next TB. For most guests, this is [all …]
|
H A D | multi-thread-tcg.rst | 2 Copyright (c) 2015-2020 Linaro Ltd. 5 later. See the COPYING file in the top-level directory. 10 Multi-threaded TCG 13 This document outlines the design for multi-threaded TCG (a.k.a MTTCG) 14 system-mode emulation. user-mode emulation has always mirrored the 17 linux-user emulation. 19 The original system-mode TCG implementation was single threaded and 20 dealt with multiple CPUs with simple round-robin scheduling. This 22 being emulated gained additional cores and per-core performance gains 23 for host systems started to level off. [all …]
|
/qemu/hw/core/ |
H A D | machine-smp.c | 2 * QEMU Machine core (related to -smp parsing) 23 #include "qemu/error-report.h" 36 if (mc->smp_props.drawers_supported) { in cpu_hierarchy_to_string() 37 g_string_append_printf(s, "drawers (%u) * ", ms->smp.drawers); in cpu_hierarchy_to_string() 40 if (mc->smp_props.books_supported) { in cpu_hierarchy_to_string() 41 g_string_append_printf(s, "books (%u) * ", ms->smp.books); in cpu_hierarchy_to_string() 44 g_string_append_printf(s, "sockets (%u)", ms->smp.sockets); in cpu_hierarchy_to_string() 46 if (mc->smp_props.dies_supported) { in cpu_hierarchy_to_string() 47 g_string_append_printf(s, " * dies (%u)", ms->smp.dies); in cpu_hierarchy_to_string() 50 if (mc->smp_props.clusters_supported) { in cpu_hierarchy_to_string() [all …]
|
H A D | numa.c | 29 #include "exec/cpu-common.h" 31 #include "qemu/error-report.h" 33 #include "qapi/opts-visitor.h" 34 #include "qapi/qapi-visit-machine.h" 37 #include "hw/mem/pc-dimm.h" 39 #include "hw/mem/memory-device.h" 41 #include "qemu/config-file.h" 69 unsigned int max_cpus = ms->smp.max_cpus; in parse_numa_node() 70 NodeInfo *numa_info = ms->numa_state->nodes; in parse_numa_node() 72 if (node->has_nodeid) { in parse_numa_node() [all …]
|
/qemu/contrib/plugins/ |
H A D | cache.c | 5 * See the COPYING file in the top-level directory. 12 #include <qemu-plugin.h> 37 * A CacheSet is a set of cache blocks. A memory block that maps to a set can be 43 * whether a block is in the cache or not by searching for its tag. 45 * In order to search for memory data in the cache, the set identifier and tag 81 } Cache; typedef 92 void (*update_hit)(Cache *cache, int set, int blk); 93 void (*update_miss)(Cache *cache, int set, int blk); 95 void (*metadata_init)(Cache *cache); 96 void (*metadata_destroy)(Cache *cache); [all …]
|
H A D | execlog.c | 7 * See the COPYING file in the top-level directory. 16 #include <qemu-plugin.h> 61 GString *s = c->last_exec; in vcpu_mem() 92 for (int n = 0; n < cpu->registers->len; n++) { in insn_check_regs() 93 Register *reg = cpu->registers->pdata[n]; in insn_check_regs() 96 g_byte_array_set_size(reg->new, 0); in insn_check_regs() 97 sz = qemu_plugin_read_register(reg->handle, reg->new); in insn_check_regs() 98 g_assert(sz == reg->last->len); in insn_check_regs() 100 if (memcmp(reg->last->data, reg->new->data, sz)) { in insn_check_regs() 101 GByteArray *temp = reg->last; in insn_check_regs() [all …]
|
/qemu/include/system/ |
H A D | kvm_int.h | 5 * See the COPYING file in the top-level directory. 13 #include "qapi/qapi-types-common.h" 19 #include "io/channel-socket.h" 29 /* Dirty bitmap cache for the slot */ 32 /* Cache of the address space ID */ 34 /* Cache of the offset in ram address space */ 41 QSIMPLEQ_ENTRY(KVMMemoryUpdate) next; 130 * unsigned, and real-world ioctl values like KVM_GET_XSAVE have 132 * result in sign-extension when they get converted back to the 134 * always treats the argument as an unsigned 32-bit int, so any [all …]
|
H A D | ramblock.h | 10 * later. See the COPYING file in the top-level directory. 22 #include "exec/cpu-common.h" 27 #define TYPE_RAM_BLOCK_ATTRIBUTES "ram-block-attributes" 34 uint8_t *colo_cache; /* For colo, VM's ram cache */ 42 /* RCU-enabled, writes protected by the ramlist lock */ 43 QLIST_ENTRY(RAMBlock) next; 55 * Below fields are only used by mapped-ram migration 71 * set, it means the corresponding memory chunk needs a log-clear. 72 * Set this up to non-NULL to enable the capability to postpone 104 /* 1-setting of the bitmap represents ram is populated (shared) */
|
/qemu/qga/ |
H A D | commands-common.h | 2 * QEMU Guest Agent common/cross-platform common commands 7 * See the COPYING file in the top-level directory. 12 #include "qga-qapi-types.h" 13 #include "guest-agent-core.h" 33 QTAILQ_ENTRY(FsMount) next; 68 * Compared to g_get_host_name(), it doesn't cache the result.
|
/qemu/hw/intc/ |
H A D | s390_flic.c | 9 * your option) any later version. See the COPYING file in the top-level 14 #include "qemu/error-report.h" 15 #include "qemu/main-loop.h" 20 #include "hw/qdev-properties.h" 24 #include "hw/s390x/s390-virtio-ccw.h" 31 /* we only have one flic device, so this is fine to cache */ in s390_get_flic_class() 42 /* we only have one flic device, so this is fine to cache */ in s390_get_qemu_flic() 94 return -ENOSYS; in qemu_s390_add_adapter_routes() 106 QEMUS390FlicIO *cur, *next; in qemu_s390_clear_io_flic() local 110 if (!(flic->pending & FLIC_PENDING_IO)) { in qemu_s390_clear_io_flic() [all …]
|
/qemu/system/ |
H A D | physmem.c | 21 #include "exec/page-vary.h" 31 #include "accel/tcg/cpu-ops.h" 36 #include "exec/page-protection.h" 38 #include "exec/translation-block.h" 39 #include "hw/qdev-core.h" 40 #include "hw/qdev-properties.h" 47 #include "qemu/config-file.h" 48 #include "qemu/error-report.h" 49 #include "qemu/qemu-print.h" 58 #include "system/xen-mapcache.h" [all …]
|
/qemu/hw/pci/ |
H A D | pci.c | 33 #include "hw/qdev-properties.h" 34 #include "hw/qdev-properties-system.h" 36 #include "migration/qemu-file-types.h" 43 #include "qemu/error-report.h" 53 #include "pci-internal.h" 79 DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1), 82 DEFINE_PROP_INT32("rombar", PCIDevice, rom_bar, -1), 85 DEFINE_PROP_BIT("x-pcie-lnksta-dllla", PCIDevice, cap_present, 87 DEFINE_PROP_BIT("x-pcie-extcap-init", PCIDevice, cap_present, 91 DEFINE_PROP_UINT32("acpi-index", PCIDevice, acpi_index, 0), [all …]
|
/qemu/ |
H A D | qemu-img.c | 4 * Copyright (c) 2003-2008 Fabrice Bellard 28 #include "qemu/help-texts.h" 29 #include "qemu/qemu-progress.h" 30 #include "qemu-version.h" 32 #include "qapi/qapi-commands-block-core.h" 33 #include "qapi/qapi-visit-block-core.h" 34 #include "qapi/qobject-output-visitor.h" 38 #include "qemu/config-file.h" 40 #include "qemu/error-report.h" 42 #include "qemu/main-loop.h" [all …]
|
/qemu/util/ |
H A D | qht.c | 2 * qht.c - QEMU Hash Table, designed to scale for read-mostly workloads. 7 * See the COPYING file in the top-level directory. 10 * - NULL cannot be inserted/removed as a pointer value. 11 * - Trying to insert an already-existing hash-pointer pair is OK. However, 12 * it is not OK to insert into the same hash table different hash-pointer 14 * - Lookups are performed under an RCU read-critical section; removals 18 * - Reads (i.e. lookups and iterators) can be concurrent with other reads. 22 * - Writes (i.e. insertions/removals) can be concurrent with writes to 24 * - Optional auto-resizing: the hash table resizes up if the load surpasses 28 * The key structure is the bucket, which is cacheline-sized. Buckets [all …]
|
H A D | qemu-coroutine.c | 11 * See the COPYING.LIB file in the top-level directory. 20 #include "qemu/coroutine-tls.h" 30 * is kept as a cache. When the pool has coroutines available, they are 40 * .-----------------------------------. 42 * `-----------------------------------' 44 * .-------------------. 45 * | Batch 1 | Batch 2 | per-thread local_pool (maximum 2 batches) 46 * `-------------------' 50 QSLIST_ENTRY(CoroutinePoolBatch) next; 74 QSLIST_INIT(&batch->list); in coroutine_pool_batch_new() [all …]
|
/qemu/docs/devel/testing/ |
H A D | blkdebug.rst | 5 Copyright (C) 2014-2015 Red Hat Inc 8 the COPYING file in the top-level directory. 10 The ``blkdebug`` block driver is a rule-based error injection engine. It can be 17 ---------- 27 ----- 35 follows the same .ini-like format used by QEMU's ``-readconfig`` option, and 41 [inject-error] 47 ``/usr/include/asm-generic/errno-base.h`` for errno values. 51 $ qemu-system-x86_64 52 -drive if=none,cache=none,file=blkdebug:blkdebug.conf:test.img,id=drive0 \ [all …]
|
/qemu/block/monitor/ |
H A D | block-hmp-cmds.c | 7 * Copyright (c) 2003-2008 Fabrice Bellard 10 * See the COPYING file in the top-level directory. 11 * Contributions after 2012-01-13 are licensed under the terms of the 17 * Copyright (c) 2003-2008 Fabrice Bellard 40 #include "system/block-backend.h" 42 #include "qapi/qapi-commands-block.h" 43 #include "qapi/qapi-commands-block-export.h" 47 #include "qemu/config-file.h" 51 #include "qemu/error-report.h" 58 #include "block/block-hmp-cmds.h" [all …]
|
/qemu/include/hw/virtio/ |
H A D | virtio-net.h | 10 * the COPYING file in the top-level directory. 18 #include "standard-headers/linux/virtio_net.h" 26 #define TYPE_VIRTIO_NET "virtio-net-device" 74 uint32_t cache; member 113 QTAILQ_ENTRY(VirtioNetRscSeg) next; 126 QTAILQ_ENTRY(VirtioNetRscChain) next; 173 /* RSC Chains - temporary storage of coalesced data,
|
/qemu/pc-bios/s390-ccw/ |
H A D | virtio.h | 7 * your option) any later version. See the COPYING file in the top-level 53 /* This marks a buffer as continuing via the next field. */ 55 /* This marks a buffer as write-only (otherwise read-only). */ 60 /* Internal flag to mark follow-up segments as such */ 63 /* Virtio ring descriptors: 16 bytes. These can chain together via "next". */ 65 /* Address (guest-physical). */ 72 uint16_t next; member 135 /* Cache flush command */ 141 /* This is the first element of the read scatter-gather list. */ 153 uint64_t capacity; /* in 512-byte sectors */ [all …]
|
/qemu/target/i386/ |
H A D | cpu.c | 23 #include "qemu/qemu-print.h" 24 #include "qemu/hw-version.h" 26 #include "tcg/helper-tcg.h" 27 #include "exec/translation-block.h" 29 #include "hvf/hvf-i386.h" 33 #include "qemu/error-report.h" 34 #include "qapi/qapi-visit-machine.h" 35 #include "standard-headers/asm-x86/kvm_para.h" 36 #include "hw/qdev-properties.h" 40 #include "confidential-guest.h" [all …]
|
/qemu/target/sparc/ |
H A D | cpu.h | 5 #include "cpu-qom.h" 6 #include "exec/cpu-common.h" 7 #include "exec/cpu-defs.h" 8 #include "exec/cpu-interrupt.h" 9 #include "qemu/cpu-float.h" 245 #include "cpu-feature.h.inc" 252 #include "cpu-feature.h.inc" 341 /* Leon3 cache control */ 343 /* Cache control: emulate the behavior of cache control registers but without 351 /* Cache Control register fields */ [all …]
|
/qemu/hw/virtio/ |
H A D | virtio.c | 10 * the COPYING file in the top-level directory. 16 #include "qapi/qapi-commands-virtio.h" 18 #include "qemu/defer-call.h" 19 #include "qemu/error-report.h" 21 #include "qemu/main-loop.h" 28 #include "migration/qemu-file-types.h" 30 #include "hw/virtio/virtio-bus.h" 31 #include "hw/qdev-properties.h" 32 #include "hw/virtio/virtio-access.h" 35 #include "virtio-qmp.h" [all …]
|