/qemu/tests/docker/dockerfiles/ |
H A D | emsdk-wasm32-cross.docker | 11 FROM emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base 17 ENV CFLAGS="-O3 -pthread -DWASM_BIGINT" 19 ENV LDFLAGS="-sWASM_BIGINT -sASYNCIFY=1 -L$TARGET/lib" 20 RUN apt-get update && apt-get install -y \ 22 build-essential \ 23 libglib2.0-dev \ 26 ninja-build \ 27 python3-pip 29 RUN mkdir /build 30 WORKDIR /build [all …]
|
/qemu/ |
H A D | configure | 14 source_path=$(cd "$(dirname -- "$0")"; pwd) 16 if test "$PWD" -ef "$source_path" 18 echo "Using './build' as the directory for build output" 20 MARKER=build/auto-created-by-configure 22 if test -e build 24 if test -f $MARKER 26 rm -rf build 28 echo "ERROR: ./build dir already exists and was not previously created by configure" 33 if ! mkdir build || ! touch $MARKER 35 echo "ERROR: Could not create ./build directory. Check the permissions on" [all …]
|
H A D | meson_options.txt | 1 # These options do not correspond to a --enable/--disable-* option 3 # scripts/meson-buildoptions.py's SKIP_OPTIONS constant too. 9 option('qemu_firmwarepath', type : 'array', value : ['share/qemu-firmware'], 12 description: 'use specified string as sub-version of the package') 25 …description: 'set block driver read-write whitelist (by default affects only QEMU, not tools like … 27 …description: 'set block driver read-only whitelist (by default affects only QEMU, not tools like q… 28 option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M', 33 description: 'fuzzing engine library for OSS-Fuzz') 40 # Everything else can be set via --enable/--disable-* option 42 # here make sure to run "make update-buildoptions". [all …]
|
H A D | meson.build | 15 meson.add_postconf_script(find_program('scripts/symlink-install-tree.py')) 28 config_host = keyval.load(meson.current_build_dir() / 'config-host.mak') 31 # configure runs. Since it is in the build directory 35 tmpdir = meson.current_build_dir() / 'meson-private/temp' 61 # type of binaries to build 66 have_linux_user = have_linux_user or target.endswith('linux-user') 67 have_bsd_user = have_bsd_user or target.endswith('bsd-user') 68 have_system = have_system or target.endswith('-softmmu') 113 …dgen.version() + ' is unsupported. You can install a new version with "cargo install bindgen-cli"') 120 message('To use Rust you can install a new version with "cargo install bindgen-cli"') [all …]
|
/qemu/scripts/ |
H A D | meson-buildoptions.sh | 1 # This file is generated by meson-buildoptions.py, do not edit! 3 printf "%s\n" ' --audio-drv-list=CHOICES Set audio driver list [default] (choices: alsa/co' 6 printf "%s\n" ' --bindir=VALUE Executable directory [bin]' 7 printf "%s\n" ' --block-drv-ro-whitelist=VALUE' 8 printf "%s\n" ' set block driver read-only whitelist (by default' 9 printf "%s\n" ' affects only QEMU, not tools like qemu-img)' 10 printf "%s\n" ' --block-drv-rw-whitelist=VALUE' 11 printf "%s\n" ' set block driver read-write whitelist (by default' 12 printf "%s\n" ' affects only QEMU, not tools like qemu-img)' 13 printf "%s\n" ' --datadir=VALUE Data file directory [share]' [all …]
|
H A D | meson-buildoptions.py | 4 # user build options introspection data 28 # Options with nonstandard names (e.g. --with/--without) or OS-dependent 40 "coroutine_backend": "with-coroutine", 41 "debug": "debug-info", 42 "malloc": "enable-malloc", 43 "pkgversion": "with-pkgversion", 45 "qemu_suffix": "with-suffix", 46 "trace_backends": "enable-trace-backends", 47 "trace_file": "with-trace-file", 58 # via -D, because it's a mix of CFLAGS and --extra-cflags); for specific [all …]
|
H A D | compare-machine-types.py | 11 # property via qmp command (e.g. query-cpu-model-expansion for x86_64-cpu). 42 print("Try export PYTHONPATH=top-qemu-dir/python or run from top-qemu-dir") 46 default_qemu_args = '-enable-kvm -machine none' 47 default_qemu_binary = 'build/qemu-system-x86_64' 58 # 'x86_64-cpu', method of 'x86_64-cpu' will be used for '486-x86_64-cpu') 61 def __init__(self, vm: QEMUMachine, name: str, abstract: bool) -> None: 68 def get_prop(self, driver: str, prop: str) -> str: 74 def is_child_of(self, parent: 'Driver') -> bool: 84 def set_implementations(self, implementations: List['Driver']) -> None: 89 def __init__(self, vm: QEMUMachine, name: str) -> None: [all …]
|
/qemu/docs/devel/ |
H A D | tracing.rst | 19 $ qemu --trace "memory_region_ops_*" ... 25 ``./configure --enable-trace-backends=BACKENDS`` was not explicitly specified. 27 Multiple patterns can be specified by repeating the ``--trace`` option:: 29 $ qemu --trace "kvm_*" --trace "virtio_*" ... 32 file to avoid long command-line options:: 36 $ qemu --trace events=/tmp/events ... 41 Sub-directory setup 42 ------------------- 45 "trace-events" file. All directories which contain "trace-events" files must be 46 listed in the "trace_events_subdirs" variable in the top level meson.build [all …]
|
H A D | kconfig.rst | 13 SCSI adapters. Arm, s390 and x86 boards can all present a virtio-blk 21 QEMU uses a simple domain-specific language to describe the dependencies 30 * users can easily build reduced versions of QEMU that support only a subset 32 all emulated PCI devices that QEMU supports, but the build process is 36 This domain-specific language is based on the Kconfig language that 41 is instead specified in per-target files under the ``configs/`` 48 -------------------- 78 include it for clarity and future-proofing. After ``bool`` the following 136 ------------------------------------ 179 a video card might specify ``select EDID`` if it needs to build EDID [all …]
|
H A D | build-system.rst | 2 The QEMU build system architecture 6 QEMU build system. As with projects using GNU autotools, the QEMU build 8 to determine the local build environment characteristics, then they run 9 "make" to build the project. This is about where the similarities with 12 The two general ways to perform a build are as follows: 14 - build artifacts outside of QEMU source tree entirely:: 17 mkdir build 18 cd build 22 - build artifacts in a subdir of QEMU source tree:: 24 mkdir build [all …]
|
H A D | control-flow-integrity.rst | 4 Control-Flow Integrity (CFI) 7 This document describes the current control-flow integrity (CFI) mechanism in 12 ------ 16 The type used in QEMU is a forward-edge control-flow integrity that ensures 21 This type of CFI is entirely compiler-based and relies on the compiler knowing 28 In case of a CFI violation (i.e. call to a non-compatible function) QEMU will 32 ----------------- 34 NOTE: CFI requires the use of link-time optimization. Therefore, when CFI is 37 To build with CFI, the minimum requirement is Clang 6+. If you 44 AR=llvm-ar-9 CC=clang-9 CXX=clang++-9 /path/to/configure --enable-cfi [all …]
|
/qemu/.gitlab-ci.d/ |
H A D | buildtest.yml | 2 - local: '/.gitlab-ci.d/buildtest-template.yml' 4 build-system-alpine: 6 - .native_build_job_template 7 - .native_build_artifact_template 9 - job: amd64-alpine-container 12 TARGETS: avr-softmmu loongarch64-softmmu mips64-softmmu mipsel-softmmu 13 MAKE_CHECK_ARGS: check-build 14 CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog 16 check-system-alpine: 19 - job: build-system-alpine [all …]
|
/qemu/docs/devel/testing/ |
H A D | main.rst | 7 everything from unit testing and exercising specific sub-systems all 9 tests you can run ``make check-help`` from either the source or build 13 the meson build system so can be run directly from the build tree, 16 [./pyvenv/bin/]meson test --suite qemu:softfloat 38 ------------------------- 49 Different sub-types of "make check" tests will be explained below. 51 Before running tests, it is best to build QEMU programs first. Some tests 55 .. _unit-tests: 68 In QEMU, unit tests can be invoked with ``make check-unit``. They are 76 1. Create a new source file. For example, ``tests/unit/foo-test.c``. [all …]
|
H A D | functional.rst | 1 .. _checkfunctional-ref: 19 that there is no TAP-incompatible output written to stdio, e.g. either by 40 ------------- 46 make check-functional 53 make check-functional-x86_64 60 directory should be your build folder. For example:: 63 $ export QEMU_TEST_QEMU_BINARY=$PWD/qemu-system-x86_64 73 ------- 75 The framework collects log files for each test in the build directory 91 ----------------------------- [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | meson.build | 6 if cflag.startswith('-fsanitize') and \ 7 not cflag.contains('safe-stack') and not cflag.contains('cfi-icall') 8 message('Sanitizers are enabled ==> Disabled the qemu-iotests.') 15 message('bash >= v4.0 not available ==> Disabled the qemu-iotests.') 30 if k.startswith('qemu-system-') 41 suites = ['block-' + speed, speed] 44 args = ['-tap', '-' + format] 46 args += ['-g', 'auto'] 50 [python, qemu_iotests_check_cmd] + args + ['-n'], 56 '-tap', '-' + format, item, [all …]
|
/qemu/hw/i386/ |
H A D | acpi-common.c | 3 * Copyright (C) 2008-2010 Kevin O'Connor <kevin@koconnor.net> 28 #include "hw/acpi/aml-build.h" 32 #include "acpi-build.h" 33 #include "acpi-common.h" 38 uint32_t apic_id = apic_ids->cpus[uid].arch_id; in pc_madt_cpu_entry() 40 uint32_t flags = apic_ids->cpus[uid].cpu != NULL || force_enabled ? in pc_madt_cpu_entry() 45 * as disabled. However omitting non present CPU from in pc_madt_cpu_entry() 47 * should be put in MADT but kept disabled. in pc_madt_cpu_entry() 50 /* Rev 1.0b, Table 5-13 Processor Local APIC Structure */ in pc_madt_cpu_entry() 103 const CPUArchIdList *apic_ids = mc->possible_cpu_arch_ids(MACHINE(x86ms)); in acpi_build_madt() [all …]
|
H A D | sgx.c | 11 * See the COPYING file in the top-level directory. 15 #include "hw/i386/sgx-epc.h" 16 #include "hw/mem/memory-device.h" 19 #include "monitor/hmp-target.h" 21 #include "qemu/error-report.h" 22 #include "qapi/qapi-commands-misc-i386.h" 23 #include "system/address-spaces.h" 27 #include "hw/acpi/aml-build.h" 65 for (; device_list; device_list = device_list->next) { in sgx_epc_build_srat() 66 DeviceState *dev = device_list->data; in sgx_epc_build_srat() [all …]
|
/qemu/tests/vm/ |
H A D | ubuntuvm.py | 13 # the COPYING file in the top-level directory. 22 self.login_prompt = "ubuntu-{}-guest login:".format(self.arch) 26 """Build an Ubuntu VM image. The child class will 31 subprocess.check_call(["cp", "-f", os_img, img_tmp]) 35 self.boot(img_tmp, extra_args = [ "-device", "VGA", "-cdrom", ci_img, ]) 39 cmd="chmod -x /etc/update-motd.d/*") 42 cmd="ls /var/lib/cloud/instance/boot-finished") 43 self.ssh_root("touch /etc/cloud/cloud-init.disabled") 46 self.ssh_root('sed -ie \'s/"1"/"0"/g\' '\ 47 '/etc/apt/apt.conf.d/20auto-upgrades') [all …]
|
H A D | centos.aarch64 | 12 # the COPYING file in the top-level directory. 26 'machine' : "virt,gic-version=max", 28 "dnf config-manager --enable crb, " 29 "dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo, " 30 "dnf install -y make ninja-build git python3 gcc gcc-c++ flex bison "\ 31 "glib2-devel pixman-devel zlib-devel docker-ce.aarch64, " 43 image_name = "CentOS-Stream-GenericCloud-9-20230501.0.aarch64.qcow2" 44 image_link = "https://cloud.centos.org/centos/9-stream/aarch64/images/" 47 set -e; 48 cd $(mktemp -d); [all …]
|
/qemu/docs/system/i386/ |
H A D | hyperv.rst | 1 Hyper-V Enlightenments 6 ----------- 11 It may, however, be hard-to-impossible to add support for these interfaces to 14 KVM on x86 implements Hyper-V Enlightenments for Windows guests. These features 15 make Windows and Hyper-V guests think they're running on top of a Hyper-V 16 compatible hypervisor and use Hyper-V specific features. 20 ----- 22 No Hyper-V enlightenments are enabled by default by either KVM or QEMU. In 25 .. parsed-literal:: 27 |qemu_system| --enable-kvm --cpu host,hv_relaxed,hv_vpindex,hv_time, ... [all …]
|
/qemu/docs/interop/ |
H A D | firmware.json | 1 # -*- Mode: Python -*- 11 # later. See the COPYING file in the top-level directory. 18 'member-name-exceptions': [ 25 # Lists the firmware-OS interface types provided by various firmware 32 # 1275-1994 standard. Examples for firmware projects that 35 # @uboot: Firmware interface defined by the U-Boot project. 71 # @aarch64: 64-bit Arm. 73 # @arm: 32-bit Arm. 75 # @i386: 32-bit x86. 77 # @loongarch64: 64-bit LoongArch. (since: 7.1) [all …]
|
/qemu/docs/devel/migration/ |
H A D | qpl-compression.rst | 4 The Intel Query Processing Library (Intel ``QPL``) is an open-source library to 8 The ``QPL`` compression relies on Intel In-Memory Analytics Accelerator(``IAA``) 21 +----------------+ +------------------+ 22 | MultiFD Thread | |accel-config tool | 23 +-------+--------+ +--------+---------+ 27 +-------+--------+ | Setup IAA 29 +-------+---+----+ | 31 | +-------------+-------+ 33 | Devices +-----+-----+ 35 | +-----+-----+ [all …]
|
/qemu/tests/docker/ |
H A D | docker.py | 12 # the top-level directory. 65 return _bytes_checksum(text.encode('utf-8')) 68 return open(path, 'rt', encoding='utf-8').read() 81 commands += [["docker"], ["sudo", "-n", "docker"]] 121 ldd_re = re.compile(r"(?:\S+ => )?(\S*) \(:?0x[0-9a-f]+\)") 123 ldd_output = subprocess.check_output(["ldd", executable]).decode('utf-8') 132 print("%s had no associated libraries (static build?)" % (executable)) 145 This does rely on the host file-system being fairly multi-arch 199 # special case for Debian linux-user images 201 img_name = "debian-bootstrap" [all …]
|
/qemu/hw/arm/ |
H A D | trace-events | 10 # virt-acpi-build.c 11 virt_acpi_setup(void) "No fw cfg or ACPI disabled. Bailing out." 13 # smmu-common.c 39 smmuv3_cmdq_opcode(const char *opcode) "<--- %s" 47 …, uint16_t sid, uint64_t addr, bool is_write) "%s sid=0x%x bypass (smmu disabled) iova:0x%"PRIx64"… 55 smmuv3_cmdq_cfgi_ste_range(int start, int end) "start=0x%x - end=0x%x"
|
/qemu/tests/qtest/ |
H A D | arm-cpu-features.c | 9 * See the COPYING file in the top-level directory. 18 * We expect the SVE max-vq to be 16. Also it must be <= 64 23 #define MACHINE "-machine virt,gic-version=max -accel tcg " 24 #define MACHINE_KVM "-machine virt,gic-version=max -accel kvm " 25 #define QUERY_HEAD "{ 'execute': 'query-cpu-model-expansion', " \ 191 resp = qtest_qmp(qts, "{ 'execute': 'query-cpu-model-expansion', " in assert_type_full() 207 resp = qtest_qmp(qts, "{ 'execute': 'query-cpu-model-expansion', " in assert_bad_props() 234 if (strlen(e->key) > 3 && !strncmp(e->key, "sve", 3) && in resp_get_sve_vls() 235 g_ascii_isdigit(e->key[3])) { in resp_get_sve_vls() 239 bits = g_ascii_strtoll(&e->key[3], &endptr, 10); in resp_get_sve_vls() [all …]
|