/qemu/scripts/simplebench/ |
H A D | simplebench.py | 33 """Benchmark one test-case 35 test_func -- benchmarking function with prototype 37 arguments and on success returns dict with 'seconds' or 41 info. On failure test_func should return {'error': str}. 43 test_env -- test environment - opaque first argument for test_func 44 test_case -- test case - opaque second argument for test_func 45 count -- how many times to call test_func, to calculate average 46 initial_run -- do initial run of test_func, which don't get into result 47 slow_limit -- stop at slow run (that exceedes the slow_limit by seconds). 49 drop_caches -- drop caches before each run [all …]
|
/qemu/include/system/ |
H A D | block-backend-common.h | 4 * Copyright (C) 2014-2016 Red Hat, Inc. 10 * or later. See the COPYING.LIB file in the top-level directory. 17 #include "block/throttle-groups.h" 34 * See include/block/block-global-state.h for more information about 39 * Runs when virtual media changed (monitor commands eject, change) 40 * Argument load is true on load and false on eject. 47 * Runs when an eject request is issued from the monitor, the tray 63 * Runs when the backend receives a drain request. 67 * Runs when the backend's last drain request ends. 76 * I/O API functions. These functions are thread-safe. [all …]
|
/qemu/tests/qtest/ |
H A D | npcm7xx_rng-test.c | 21 #include "libqtest-single.h" 77 while (retries-- > 0) { in rng_wait_ready() 87 * Perform a frequency (monobit) test, as defined by NIST SP 800-22, on the 88 * sequence in buf and return the P-value. This represents the probability of a 104 * Each 1 counts as 1, each 0 counts as -1. in calc_monobit_p() 105 * s = cp - (8 - cp) = 2 * cp - 8 in calc_monobit_p() 107 sn += 2 * ctpop8(buf[i]) - 8; in calc_monobit_p() 116 * Perform a runs test, as defined by NIST SP 800-22, and return the P-value. 118 * number of runs (i.e. uninterrupted sequences of identical bits) as the 136 for (k = 0; k < nr_bits - 1; k++) { in calc_runs_p() [all …]
|
/qemu/docs/system/arm/ |
H A D | fby35.rst | 4 Facebook has a series of multi-node compute server designs named 6 …semite v3 <https://www.opencompute.org/documents/ocp-yosemite-v3-platform-design-specification-1v1… 8 Yosemite v3.5 is an iteration on this design, and is very similar: there's a 15 …o a chassis. See `here <https://www.opencompute.org/products-chiplets/237/wiwynn-yosemite-v3-serve… 19 runs `OpenBMC <https://github.com/facebook/openbmc>`__, and the BIC runs 23 source code, see the README's for instructions on that. This image uses the 24 "fby35" machine recipe from OpenBMC, and the "yv35-cl" target from OpenBIC. 27 .. code-block:: bash 29 $ wget https://github.com/facebook/openbmc/releases/download/openbmc-e2294ff5d31d/fby35.mtd 30 … $ wget https://github.com/peterdelevoryas/OpenBIC/releases/download/oby35-cl-2022.13.01/Y35BCL.elf [all …]
|
H A D | b-l475e-iot01a.rst | 1 B-L475E-IOT01A IoT Node (``b-l475e-iot01a``) 4 The B-L475E-IOT01A IoT Node uses the STM32L475VG SoC which is based on 5 ARM Cortex-M4F core. It is part of STMicroelectronics 7 ultra-low power series. The STM32L4x5 chip runs at up to 80 MHz and 8 integrates 128 KiB of SRAM and up to 1MiB of Flash. The B-L475E-IOT01A board 15 Currently B-L475E-IOT01A machines support the following devices: 17 - Cortex-M4F based STM32L4x5 SoC 18 - STM32L4x5 EXTI (Extended interrupts and events controller) 19 - STM32L4x5 SYSCFG (System configuration controller) 20 - STM32L4x5 RCC (Reset and clock control) [all …]
|
H A D | mps2.rst | 1 …ards (``mps2-an385``, ``mps2-an386``, ``mps2-an500``, ``mps2-an505``, ``mps2-an511``, ``mps2-an521… 4 These board models use Arm M-profile or R-profile CPUs. 11 details of the board as seen by the guest depend significantly on the 16 FPGA images using M-profile CPUs: 18 ``mps2-an385`` 19 Cortex-M3 as documented in Arm Application Note AN385 20 ``mps2-an386`` 21 Cortex-M4 as documented in Arm Application Note AN386 22 ``mps2-an500`` 23 Cortex-M7 as documented in Arm Application Note AN500 [all …]
|
/qemu/.github/workflows/ |
H A D | lockdown.yml | 1 # Configuration for Repo Lockdown - https://github.com/dessant/repo-lockdown 5 on: 10 pull-requests: write 14 runs-on: ubuntu-latest 16 - uses: dessant/repo-lockdown@v2 18 pr-comment: | 21 This repository is a read-only mirror of the project's repostories hosted 22 on https://gitlab.com/qemu-project/qemu.git. 23 The project does not process merge requests filed on GitHub. 27 guidelines about contributing on the project website: [all …]
|
/qemu/include/migration/ |
H A D | register.h | 10 * the COPYING file in the top-level directory. 17 #include "hw/vmstate-if.h" 31 * Saves state section on the source using the latest state format 58 * Initializes the data structures on the source and transmits 59 * first section containing information on the device 72 * Uninitializes the data structures on the source. 127 /* This runs both outside and inside the BQL. */ 157 * For example, it is needed for only-postcopy-states, which needs 168 /* This runs outside the BQL in the migration case, and 190 /* This runs outside the BQL! */ [all …]
|
/qemu/include/io/ |
H A D | channel-tls.h | 29 #define TYPE_QIO_CHANNEL_TLS "qio-channel-tls" 39 * technical restriction on which type of master channel is 58 * @errp: pointer to a NULL-initialized error object 71 * @errp: pointer to a NULL-initialized error object 73 * Create a new TLS channel that runs the server side of 76 * is non-NULL, then the client will have to provide 82 * todo any I/O on the channel. 101 * @errp: pointer to a NULL-initialized error object 103 * Create a new TLS channel that runs the client side of 112 * todo any I/O on the channel.
|
H A D | channel-websock.h | 29 #define TYPE_QIO_CHANNEL_WEBSOCK "qio-channel-websock" 45 * technical restriction on which type of master channel is 52 * client for encapsulating VNC for noVNC in-browser client. 74 * Create a new websockets channel that runs the server 79 * todo any I/O on the channel.
|
/qemu/docs/devel/testing/ |
H A D | fuzzing.rst | 5 This document describes the virtual-device fuzzing infrastructure in QEMU and 9 ------ 12 fuzzer tracks the code coverage triggered by the input. Based on these 15 To fuzz QEMU, we rely on libfuzzer. Unlike other fuzzers such as AFL, libfuzzer 16 is an *in-process* fuzzer. For the developer, this means that it is their 17 responsibility to ensure that state is reset between fuzzing-runs. 20 -------------------- 24 Here, enable-asan and enable-ubsan are optional but they allow us to reliably 25 detect bugs such as out-of-bounds accesses, uses-after-free, double-frees 28 CC=clang-8 CXX=clang++-8 /path/to/configure \ [all …]
|
/qemu/docs/devel/ |
H A D | multiple-iothreads.rst | 5 Copyright (c) 2014-2017 Red Hat Inc. 8 the COPYING file in the top-level directory. 11 This document explains the ``IOThread`` feature and how to write code that runs 15 --------------------------------- 16 QEMU is an event-driven program that can do several things at once using an 21 The default event loop is called the main loop (see ``main-loop.c``). It is 23 ``-object iothread,id=my-iothread``. 30 ------------------------------ 32 scalability bottleneck on hosts with many CPUs. Work can be spread across 39 QEMU's code historically was not thread-safe. [all …]
|
H A D | build-system.rst | 7 system has two stages; first the developer runs the "configure" script 14 - build artifacts outside of QEMU source tree entirely:: 22 - build artifacts in a subdir of QEMU source tree:: 38 - detect the host architecture 40 - list the targets for which to build emulators; the list of 43 - find the compilers (native and cross) used to build executables, 45 fragments (``config-host.mak``) or a Meson machine file 46 (``config-meson.cross``) 48 - create a virtual environment in which all Python code runs during 51 - invoke Meson in the virtual environment, to perform the actual [all …]
|
/qemu/ui/ |
H A D | vnc-enc-zrle.c.inc | 2 * QEMU VNC display driver: Zlib Run-length Encoding (ZRLE) 11 * See the COPYING file in the top-level directory. 17 * ZRLE_BPP should be 8, 16 or 32 depending on the bits per pixel. 69 #include "vnc-enc-zywrle-template.c" 82 th = MIN(VNC_ZRLE_TILE_HEIGHT, y + h - ty); 88 tw = MIN(VNC_ZRLE_TILE_WIDTH, x + w - tx); 99 VncPalette *palette = &vs->zrle->palette; 101 int runs = 0; 111 *end = ~*(end-1); /* one past the end is different so the while loop ends */ 122 runs++; [all …]
|
/qemu/tests/functional/ |
H A D | test_arm_microbit.py | 3 # SPDX-License-Identifier: GPL-2.0-or-later 7 # A functional test that runs MicroPython on the arm microbit machine. 15 ASSET_MICRO = Asset('https://ozlabs.org/~joel/microbit-micropython.hex', 23 self.vm.add_args('-device', f'loader,file={micropython}')
|
/qemu/docs/system/i386/ |
H A D | tdx.rst | 5 Virtual Machine Extensions (VMX) and Multi-Key Total Memory Encryption (MKTME) 6 with a new kind of virtual machine guest called a Trust Domain (TD). A TD runs 12 ------------- 29 device and it actually works as RAM. "-bios" option is chosen to load TDVF. 32 command line to specify and load TDVF is ``-bios OVMF.fd`` 35 --------------------- 37 Unlike non-TDX VM, the CPU features (enumerated by CPU or MSR) of a TD are not 38 under full control of VMM. VMM can only configure part of features of a TD on 43 - Attributes: 44 - PKS (bit 30) controls whether Supervisor Protection Keys is exposed to TD, [all …]
|
/qemu/tests/functional/qemu_test/ |
H A D | decorators.py | 1 # SPDX-License-Identifier: GPL-2.0-or-later 39 'running on an OS (%s) that is not able to run this test' % 52 'not running on one of the required machine(s) "%s"' % 59 failure behaviour, so it can be tracked & re-evaluated 67 @skipFlakyTest("https://gitlab.com/qemu-project/qemu/-/issues/NNN") 77 to execute untrusted commands on the host, or commands 86 'Test runs untrusted code / processes untrusted data') 90 data storage (over around 500MB-1GB mark) on the host,
|
/qemu/system/ |
H A D | main.c | 4 * Copyright (c) 2003-2020 Fabrice Bellard 26 #include "qemu-main.h" 27 #include "qemu/main-loop.h" 33 * SDL insists on wrapping the main() function with its own implementation on 76 * complete. Replay_mutex lock is acquired on initialization, because it in main() 79 * On MacOS, qemu main event loop runs in a background thread, as main in main()
|
/qemu/tests/qtest/migration/ |
H A D | framework.h | 2 * Copyright (c) 2016-2018 Red Hat, Inc. and/or its affiliates 3 * based on the vhost-user-test.c that is: 7 * See the COPYING file in the top-level directory. 15 #include <qapi/qapi-types-migration.h> 39 * A hook that runs after the src and dst QEMUs have been 50 * A hook that runs after the migration has finished, 52 * before QEMU has terminated (unless it self-terminated 81 * Before migration starts, we write a 64-bit magic marker 85 * proof that start_address -> MAGIC_OFFSET_BASE has been 90 * is proof that start_address -> MAGIC_OFFSET_BASE [all …]
|
/qemu/include/hw/arm/ |
H A D | allwinner-a10.h | 4 #include "hw/timer/allwinner-a10-pit.h" 5 #include "hw/intc/allwinner-a10-pic.h" 7 #include "hw/sd/allwinner-sdhost.h" 8 #include "hw/ide/ahci-sysbus.h" 9 #include "hw/usb/hcd-ohci.h" 10 #include "hw/usb/hcd-ehci.h" 11 #include "hw/rtc/allwinner-rtc.h" 12 #include "hw/misc/allwinner-a10-ccm.h" 13 #include "hw/misc/allwinner-a10-dramc.h" 14 #include "hw/i2c/allwinner-i2c.h" [all …]
|
H A D | allwinner-h3.h | 2 * Allwinner H3 System on Chip emulation 21 * The Allwinner H3 is a System on Chip containing four ARM Cortex-A7 26 * This implementation is based on the following datasheet: 28 * https://linux-sunxi.org/File:Allwinner_H3_Datasheet_V1.2.pdf 30 * The latest datasheet and more info can be found on the Linux Sunxi wiki: 32 * https://linux-sunxi.org/H3 39 #include "hw/timer/allwinner-a10-pit.h" 41 #include "hw/misc/allwinner-h3-ccu.h" 42 #include "hw/misc/allwinner-cpucfg.h" 43 #include "hw/misc/allwinner-h3-dramc.h" [all …]
|
/qemu/tests/qemu-iotests/tests/ |
H A D | qsd-jobs | 4 # Job tests related specifically to qemu-storage-daemon 33 rm -f "$SOCK_DIR/nbd.sock" 48 _make_test_img -b "$TEST_IMG.base" -F $IMGFMT 56 # between runs, particularly around when 'quit' is issued) 57 $QSD --chardev stdio,id=stdio --monitor chardev=stdio \ 58 --blockdev node-name=file0,driver=file,filename="$TEST_IMG" \ 59 --blockdev node-name=fmt0,driver=qcow2,file=file0 <<EOF \ 60 | _filter_qmp | grep -v JOB_STATUS_CHANGE | grep -v BLOCK_JOB_READY 62 {"execute": "block-commit", "arguments": {"device": "fmt0", "job-id": "job0"}} 67 echo "=== Streaming can't get permission on base node ===" [all …]
|
/qemu/include/qemu/ |
H A D | timer.h | 6 #include "qemu/host-utils.h" 24 * change the virtual machine state, as it runs even if the virtual 29 * The virtual clock only runs during the emulation. It stops 174 * Returns: true if the clock runs in nanoseconds and 187 * in nanoseconds, or -1 if no timer is set to expire. 189 * Returns: time until expiry in nanoseconds or -1 210 * be used from the callback of a timer that is based on @clock. 219 * @type: clock on which to operate 261 * @cb: the callback to call on notification 282 * @timer_list: the timer list to operate on [all …]
|
/qemu/docs/specs/ |
H A D | ppc-spapr-hcalls.rst | 5 When used with the ``pseries`` machine type, ``qemu-system-ppc64`` implements 6 a set of hypervisor calls (a.k.a. hcalls) defined in the Linux on Power 11 The subset in LoPAR is selected based on the requirements of Linux as a guest. 23 RTAS stands for Run-Time Abstraction Sercies and is a set of runtime services 49 When the guest runs in "real mode" (in powerpc terminology this means with MMU 54 non-cacheable accesses to any guest physical addresses that the
|
/qemu/qapi/ |
H A D | virtio.json | 1 # -*- Mode: Python -*- 25 # @x-query-virtio: 37 # .. qmp-example:: 39 # -> { "execute": "x-query-virtio" } 40 # <- { "return": [ 42 # "name": "virtio-input", 43 # "path": "/machine/peripheral-anon/device[4]/virtio-backend" 46 # "name": "virtio-crypto", 47 # "path": "/machine/peripheral/crypto0/virtio-backend" 50 # "name": "virtio-scsi", [all …]
|