/qemu/python/ |
H A D | README.rst | 1 QEMU Python Tooling 4 This directory houses Python tooling used by the QEMU project to build, 5 configure, and test QEMU. It is organized by namespace (``qemu``), and 6 then by package (e.g. ``qemu/machine``, ``qemu/qmp``, etc). 8 ``setup.py`` is used by ``pip`` to install this tooling to the current 9 environment. ``setup.cfg`` provides the packaging configuration used by 10 ``setup.py``. You will generally invoke it by doing one of the following: 17 2. ``pip3 install --user .`` will install these packages to your user's 21 If you append the ``--editable`` or ``-e`` argument to either invocation 23 a forwarder ("qemu.egg-link") that points to the source tree. In so [all …]
|
H A D | setup.py | 3 QEMU tooling installer script 4 Copyright (c) 2020-2021 John Snow for Red Hat, Inc. 17 This prevents calling 'setup.py install' directly, as the 'install' 23 'Installation directly via setup.py is not supported.\n' 30 QEMU tooling installer 33 # https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108 36 setuptools.setup(cmdclass={'bdist_egg': bdist_egg_guard})
|
H A D | Makefile | 1 QEMU_VENV_DIR=.dev-venv 2 QEMU_MINVENV_DIR=.min-venv 9 @echo "make check-minreqs:" 15 @echo "make check-tox:" 18 @echo " Requires: Python 3.9 - 3.11, and tox." 19 @echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'" 23 @echo "make check-dev:" 30 @echo " Performs no environment setup of any kind." 34 @echo " and install the qemu package in editable mode." 37 @echo "make min-venv" [all …]
|
/qemu/docs/devel/testing/ |
H A D | ci-runners.rst.inc | 11 be set up with GitLab's "agent", called gitlab-runner, which will take 14 gitlab-runner, is called a "custom runner". 18 .gitlab-ci.d/custom-runners.yml 21 currently deployed in the QEMU GitLab CI and their maintainers, please 22 refer to the QEMU `wiki <https://wiki.qemu.org/AdminContacts>`__. 24 Machine Setup Howto 25 ------------------- 27 For all Linux based systems, the setup can be mostly automated by the 29 under ``scripts/ci/setup``, such as this:: 44 The ``scripts/ci/setup/$DISTRO/build-environment.yml`` Ansible [all …]
|
/qemu/.gitlab-ci.d/ |
H A D | buildtest-template.yml | 4 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 7 - ccache 11 - source scripts/ci/gitlab-ci-section 12 - section_start setup "Pre-script setup" 13 - JOBS=$(expr $(nproc) + 1) 14 - cat /packages.txt 15 - section_end setup 17 - export CCACHE_BASEDIR="$(pwd)" 18 - export CCACHE_DIR="$CCACHE_BASEDIR/ccache" 19 - export CCACHE_MAXSIZE="500M" [all …]
|
H A D | crossbuild-template.yml | 4 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 7 - ccache 12 - source scripts/ci/gitlab-ci-section 13 - section_start setup "Pre-script setup" 14 - JOBS=$(expr $(nproc) + 1) 15 - cat /packages.txt 16 - section_end setup 18 - export CCACHE_BASEDIR="$(pwd)" 19 - export CCACHE_DIR="$CCACHE_BASEDIR/ccache" 20 - export CCACHE_MAXSIZE="500M" [all …]
|
H A D | static_checks.yml | 1 check-patch: 4 image: python:3.10-alpine 7 - .gitlab-ci.d/check-patch.py 12 - apk -U add git perl 15 check-dco: 18 image: python:3.10-alpine 20 script: .gitlab-ci.d/check-dco.py 24 - apk -U add git 26 check-python-minreqs: 29 image: $CI_REGISTRY_IMAGE/qemu/python:$QEMU_CI_CONTAINER_TAG [all …]
|
/qemu/hw/usb/ |
H A D | pcap.c | 7 * See the COPYING file in the top-level directory. 10 #include "qemu/osdep.h" 44 uint64_t id; /* 0: URB ID - from submission to callback */ 58 unsigned char setup[8]; /* Only for Control S-type */ member 70 /* ------------------------------------------------------------------------ */ 77 switch (p->status) { in usbmon_status() 81 return -19; /* -ENODEV */ in usbmon_status() 83 return -121; /* -EREMOTEIO */ in usbmon_status() 91 epnum |= p->ep->nr; in usbmon_epnum() 92 epnum |= (p->pid == USB_TOKEN_IN) ? 0x80 : 0; in usbmon_epnum() [all …]
|
/qemu/.gitlab-ci.d/custom-runners/ |
H A D | ubuntu-22.04-aarch32.yml | 1 # All ubuntu-22.04 jobs should run successfully in an environment 2 # setup by the scripts/ci/setup/ubuntu/build-environment.yml task 3 # "Install basic packages to build QEMU on Ubuntu 22.04" 5 ubuntu-22.04-aarch32-all: 10 - ubuntu_22.04 11 - aarch32 13 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 16 - if: "$AARCH32_RUNNER_AVAILABLE" 20 - mkdir build 21 - cd build [all …]
|
/qemu/tests/functional/ |
H A D | test_ppc64_hv.py | 5 # pseries supports the nested-HV hypervisor spec. 10 # later. See the COPYING file in the top-level directory. 21 # Alpine is a light weight distro that supports QEMU. These tests boot 22 # that on the machine then run a QEMU guest inside it in KVM mode, 24 # QEMU packages are downloaded and installed on each test. That's not a 26 # QEMU already installed and use that. 34 panic_message = 'Kernel panic - not syncing' 38 ('https://dl-cdn.alpinelinux.org/alpine/v3.21/' 39 'releases/ppc64le/alpine-standard-3.21.0-ppc64le.iso'), 52 cmd = "xorriso -osirrox on -indev %s -cpx %s %s" % (iso, path, filename) [all …]
|
/qemu/tests/qtest/libqos/ |
H A D | igb.c | 4 * Copyright (c) 2022-2023 Red Hat, Inc. 20 #include "qemu/osdep.h" 25 #include "pci-pc.h" 26 #include "qemu/sockets.h" 27 #include "qemu/iov.h" 28 #include "qemu/module.h" 29 #include "qemu/bitops.h" 30 #include "libqos-malloc.h" 50 qpci_iounmap(&epci->pci_dev, epci->mac_regs); in e1000e_pci_destructor() 51 qpci_msix_disable(&epci->pci_dev); in e1000e_pci_destructor() [all …]
|
H A D | libqos.c | 1 #include "qemu/osdep.h" 7 /*** Test Setup & Teardown ***/ 10 * Launch QEMU with the given command line, 22 qs->qts = qtest_init(cmdline); in qtest_vboot() 23 qs->ops = ops; in qtest_vboot() 25 ops->alloc_init(&qs->alloc, qs->qts, ALLOC_NO_FLAGS); in qtest_vboot() 26 qs->pcibus = ops->qpci_new(qs->qts, &qs->alloc); in qtest_vboot() 34 * Launch QEMU with the given command line, 50 * Tear down the QEMU instance. 54 if (qs->ops) { in qtest_common_shutdown() [all …]
|
/qemu/tests/vm/ |
H A D | freebsd | 5 # Copyright 2017-2019 Red Hat Inc. 12 # the COPYING file in the top-level directory. 31 …= "https://download.freebsd.org/releases/CI-IMAGES/14.1-RELEASE/amd64/Latest/FreeBSD-14.1-RELEASE-… 36 set -e; 37 rm -rf /home/qemu/qemu-test.* 38 cd $(mktemp -d /home/qemu/qemu-test.XXXXXX); 40 tar -xf /dev/vtbd1; 42 ../src/configure --extra-ldflags=-L/usr/local/lib \ 43 --extra-cflags=-I/usr/local/include {configure_opts}; 44 gmake --output-sync -j{jobs} {target} {verbose}; [all …]
|
H A D | openbsd | 5 # Copyright 2017-2019 Red Hat Inc. 12 # the COPYING file in the top-level directory. 40 "gettext-tools", 43 "libusb1--", 66 set -e; 67 rm -rf /home/qemu/qemu-test.* 68 cd $(mktemp -d /home/qemu/qemu-test.XXXXXX); 70 tar -xf /dev/rsd1c; 72 ../src/configure --cc=cc --extra-cflags=-I/usr/local/include \ 73 --extra-ldflags=-L/usr/local/lib {configure_opts}; [all …]
|
/qemu/docs/devel/ |
H A D | vfio-iommufd.rst | 9 for assigned devices. While the legacy kernel interface is group-centric, 10 the new iommufd interface is device-centric, relying on device fd and iommufd. 12 To support both interfaces in the QEMU VFIO device, introduce a base container 18 specific to either legacy or iommufd. Each container has its own way to setup 25 +-------+ +----------+ +-----+ +-----+ 27 +---+---+ +----+-----+ +--+--+ +--+--+ +----------------------+ 29 | | | | +------------+---------+ 30 +---V-----------V-----------V--------V----+ / 31 | VFIOAddressSpace | <------------+ 34 +-------+----------------------------+----+ [all …]
|
/qemu/hw/arm/ |
H A D | orangepi.c | 20 #include "qemu/osdep.h" 21 #include "qemu/units.h" 22 #include "system/address-spaces.h" 24 #include "qemu/error-report.h" 26 #include "hw/qdev-properties.h" 27 #include "hw/arm/allwinner-h3.h" 41 if (machine->firmware) { in orangepi_init() 47 if (machine->ram_size != 1 * GiB) { in orangepi_init() 56 /* Setup timer properties */ in orangepi_init() 57 object_property_set_int(OBJECT(h3), "clk0-freq", 32768, &error_abort); in orangepi_init() [all …]
|
H A D | raspi.c | 12 * See the COPYING file in the top-level directory. 15 #include "qemu/osdep.h" 16 #include "qemu/units.h" 17 #include "qemu/cutils.h" 24 #include "qemu/error-report.h" 30 #define TYPE_RASPI_MACHINE MACHINE_TYPE_NAME("raspi-common") 35 #define BOARDSETUP_ADDR (MVBAR_ADDR + 0x20) /* board setup code */ 49 * www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/ 134 /* check that we don't overrun board setup vectors */ in write_smpboot() 136 /* check that board setup address is correctly relocated */ in write_smpboot() [all …]
|
/qemu/docs/tools/ |
H A D | qemu-pr-helper.rst | 2 QEMU persistent reservation helper 6 -------- 8 **qemu-pr-helper** [*OPTION*] 11 ----------- 13 Implements the persistent reservation helper for QEMU. 16 to specific initiators in a shared storage setup. When implementing 21 storage fabric. QEMU's SCSI passthrough devices ``scsi-block`` 22 and ``scsi-generic`` support passing guest persistent reservation 23 requests to a privileged external helper program. :program:`qemu-pr-helper` 25 accept incoming connections for communication with QEMU. [all …]
|
/qemu/docs/specs/ |
H A D | ivshmem-spec.rst | 2 Device Specification for Inter-VM shared memory device 5 The Inter-VM shared memory device (ivshmem) is designed to share a 6 memory region between multiple QEMU processes running different guests 8 shared memory area, it is modeled by QEMU as a PCI device exposing 17 For information on configuring the ivshmem device on the QEMU 24 QEMU 2.6.0, it had revision 0. 27 -------- 31 - BAR0 holds device registers (256 Byte MMIO) 32 - BAR1 holds MSI-X table and PBA (only ivshmem-doorbell) 33 - BAR2 maps the shared memory object [all …]
|
/qemu/pc-bios/s390-ccw/ |
H A D | virtio-scsi.c | 2 * Virtio-SCSI implementation for s390 machine loader for qemu 8 * your option) any later version. See the COPYING file in the top-level 14 #include "s390-ccw.h" 17 #include "virtio-scsi.h" 18 #include "s390-time.h" 52 CDB_STATUS_VALID(resp->status) ? ": " : ": invalid ", in virtio_scsi_verify_response() 53 scsi_cdb_status_msg(resp->status), in virtio_scsi_verify_response() 54 resp->status == CDB_STATUS_CHECK_CONDITION ? " " : 0, in virtio_scsi_verify_response() 55 resp->sense_len ? scsi_cdb_asc_msg(resp->sense) in virtio_scsi_verify_response() 57 scsi_sense_response(resp->sense) == 0x70 ? ", sure" : "?", in virtio_scsi_verify_response() [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | 065 | 4 # Test for additional information emitted by qemu-img info on qcow2 35 def setUp(self): member in TestImageInfoSpecific 38 qemu_img('create', '-f', iotests.imgfmt, '-o', self.img_options, 45 '''Abstract base class for qemu-img info tests''' 52 data = qemu_img_info(test_img)['format-specific'] 57 data = qemu_img('info', '--output=human', test_img).stdout.split('\n') 66 '''Abstract base class for qemu QMP tests''' 72 def setUp(self): member in TestQMP 73 self.TestImageInfoSpecific.setUp(self) 82 result = self.vm.qmp('query-block')['return'] [all …]
|
/qemu/.gitlab-ci.d/cirrus/ |
H A D | README.rst | 5 While it is possible to provide private runners for non-Linux platforms this 9 offering: more specifically, we use the `cirrus-run`_ script to trigger Cirrus 13 There is, however, some one-time setup required. If you want FreeBSD and macOS 16 * set up a GitHub repository for the project, eg. ``yourusername/qemu``. 17 This repository needs to exist for cirrus-run to work, but it doesn't need to 31 ``https://cirrus-ci.com/yourusername/qemu`` 37 created earlier, eg. ``yourusername/qemu``; 44 general you'll want to be able to trigger Cirrus CI builds from non-protected 47 Once this one-time setup is complete, you can just keep pushing to your GitLab 51 .. _Cirrus CI GitHub app: https://github.com/marketplace/cirrus-ci [all …]
|
/qemu/tests/functional/qemu_test/ |
H A D | testcase.py | 5 # Original Author (Avocado-based tests): 12 # later. See the COPYING file in the top-level directory. 25 from qemu.machine import QEMUMachine 26 from qemu.utils import kvm_available, tcg_available 37 @params compressed: filename, Asset, or file-like object to uncompress 43 from the filename or Asset URL. @format must be non-None if @uncompressed 44 is a file-like object. 61 @params archive: filename, Asset, or file-like object to extract 63 @params sub_dir: optional sub-directory to extract into 71 from the filename or Asset URL. @format must be non-None if @archive [all …]
|
/qemu/python/tests/ |
H A D | protocol.py | 9 from qemu.qmp import ConnectError, Runstate 10 from qemu.qmp.protocol import AsyncProtocol, StateError 11 from qemu.qmp.util import asyncio_run, create_task 65 async def _do_recv(self) -> None: 69 def _do_send(self, msg: None) -> None: 72 async def send_msg(self) -> None: 75 async def simulate_disconnect(self) -> None: 77 Simulates a bottom-half disconnect. 88 returns bottom half errors as a pre-condition to allowing the 99 async def _do_recv(self) -> str: [all …]
|
/qemu/docs/ |
H A D | rdma.txt | 4 Wiki: https://wiki.qemu.org/Features/RDMALiveMigration 5 Github: git@github.com:hinesmr/qemu.git, 'rdma' branch 10 linked on the QEMU wiki above. 31 data copies by bypassing the host networking stack. In particular, a TCP-based 32 migration, under certain types of memory-bound workloads, may take a more 38 over Converged Ethernet) as well as Infiniband-based. This implementation of 47 for a working build of QEMU to run successfully using RDMA Migration. 56 of RDMA migration may in fact be harmful to co-located VMs or other 65 bulk-phase round of the migration and can be enabled for extremely 66 high-performance RDMA hardware using the following command: [all …]
|