You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/scripts
Philippe Mathieu-Daudé f4ea95c9ad system/memory: Allow restricting legacy ldst_phys() API usage
Commit 500131154d ("exec.c: Add new address_space_ld*/st*
functions") added a new API to fix a shortcoming of the
ld/st*_phys() API, which does blind bus access, not reporting
failure (and it also allow to provide transaction attributes).

Later commit 42874d3a8c ("Switch non-CPU callers from ld/st*_phys
to address_space_ld/st*") automatically converted the legacy uses
to the new API, not precising transaction attributes
(MEMTXATTRS_UNSPECIFIED) and ignoring the transation result (passing
NULL pointer as MemTxResult).

While this is a faithful replacement, without any logical change,
we later realized better is to not use MEMTXATTRS_UNSPECIFIED or
NULL MemTxResult, and adapt each call site on a pair basis, looking
at the device model datasheet to do the correct behavior (which is
unlikely to ignore transaction failures).

Since this is quite some work, we defer that to device model
maintainers. Meanwhile we introduce a definition, to allow a
target which removed all legacy API call to prohibit further
legacy API uses, named "TARGET_NOT_USING_LEGACY_LDST_PHYS_API".

Since all targets should be able to check this definition, we
take care to not poison it.

Suggested-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20251224151351.86733-6-philmd@linaro.org>
1 week ago
..
ci tests/docker: add coreutils to the package list 2 months ago
coccinelle system/physmem: Remove legacy cpu_physical_memory_rw() 3 months ago
codeconverter audio: move audio.h under include/qemu/ 2 months ago
coverage scripts/coverage: initial coverage comparison script 3 years ago
coverity-scan scripts/coverity-scan/COMPONENTS.md: Add a 'plugins' category 4 months ago
kvm target/i386: enumerate VMX nested-exception support 2 years ago
lib/kdoc scripts/kernel-doc: tweak for QEMU coding standards 4 months ago
modules scripts/modules/module_block: Use Python 3 interpreter & add pseudo-main 6 years ago
oss-fuzz treewide: remove unnessary "coding" header 3 months ago
performance scripts/: spelling fixes 2 years ago
qapi python/qapi: delint import statements 2 months ago
qemu-guest-agent scripts/qemu-guest-agent/fsfreeze-hook: improve script description 2 months ago
qemugdb treewide: remove unnessary "coding" header 3 months ago
qmp python: rename qemu.aqmp to qemu.qmp 4 years ago
rust meson: let Meson handle mixed-language linking of Rust and C objects 2 weeks ago
simplebench scripts/: spelling fixes 2 years ago
tracetool tracetool: add Rust DTrace/SystemTap SDT support 2 weeks ago
analyse-9p-simpletrace.py drop "from __future__ import print_function" 6 years ago
analyse-locks-simpletrace.py treewide: remove unnessary "coding" header 3 months ago
analyze-inclusions block: rename block/aio.h to qemu/aio.h 2 weeks ago
analyze-migration.py scripts/analyze-migration: Support mapped-ram snapshot format 2 weeks ago
archive-source.sh subprojects: add probe crate 2 weeks ago
arm_processor_error.py scripts/ghes_inject: add a script to generate GHES error inject 3 months ago
block-coroutine-wrapper.py block-coroutine-wrapper: use qemu_get_current_aio_context() 2 years ago
check_sparse.py meson: move sparse detection to Meson and rewrite check_sparse.py 5 years ago
checkpatch.pl scripts/checkpatch: Check DEVICE_NATIVE_ENDIAN 2 months ago
clean-header-guards.pl disas: Remove libvixl disassembler 4 years ago
clean-includes include: Rename sysemu/ -> system/ 1 year ago
clean_functional_cache.py tests: Evict stale files in the functional download cache after a while 3 months ago
cleanup-trace-events.pl scripts/cleanup-trace-events: Emit files in alphabetical order 5 years ago
cocci-macro-file.h win32: remove usage of attribute gcc_struct 12 months ago
compare-machine-types.py include: move hw/boards.h to hw/core/ 2 weeks ago
cpu-x86-uarch-abi.py scripts: drop comment about autogenerated CPU API file 2 years ago
decodetree.py decodetree: Infer argument set before inferring format 6 months ago
device-crash-test scripts/device-crash-test: fix spurious EOFError messages 2 months ago
disas-objdump.pl
dump-guest-memory.py drop "from __future__ import print_function" 6 years ago
entitlement.sh scripts/entitlement.sh: Use backward-compatible cp flags 4 years ago
extract-vsssdk-headers
feature_to_c.py gdbstub: Add members to identify registers to GDBFeature 2 years ago
fix-multiline-comments.sh docs: move CODING_STYLE into the developer documentation 5 years ago
get-wraps-from-cargo-registry.py scripts: add script to help distros use global Rust packages 6 months ago
get_maintainer.pl scripts/get_maintainer.pl: don't print parentheses 2 years ago
ghes_inject.py scripts/ghes_inject: add a script to generate GHES error inject 3 months ago
git-submodule.sh scripts/git-submodule.sh: Don't rely on non-POSIX 'read' behaviour 2 years ago
git.orderfile scripts/git.orderfile: Display MAINTAINERS changes first 3 years ago
hxtool meson: generate hxtool files 5 years ago
kernel-doc.py scripts: Import Python kerneldoc from Linux kernel 4 months ago
make-config-poison.sh system/memory: Allow restricting legacy ldst_phys() API usage 1 week ago
make-release subprojects: add probe crate 2 weeks ago
meson-buildoptions.py scripts: clean up meson-buildoptions.py 2 months ago
meson-buildoptions.sh * i386: fix migration issues in 10.1 3 months ago
meson.build scripts: add a XML preprocessor script 3 years ago
minikconf.py scripts/minikconf.py: s/Error/KconfigParserError 5 months ago
mkemmc.sh scripts: Add helper script to generate eMMC block device images 2 months ago
modinfo-collect.py scripts: fix broken error path in modinfo-collect.py 4 weeks ago
modinfo-generate.py treewide: remove unnessary "coding" header 3 months ago
mtest2make.py mtest2make: do not repeat the same speed over and over 2 months ago
nsis.py scripts/nsis.py: Tell makensis that WoA is 64 bit 4 weeks ago
probe-gdb-support.py treewide: remove unnessary "coding" header 3 months ago
python_qmp_updater.py scripts: add python_qmp_updater.py 2 years ago
qapi-gen.py qapi: move generator entrypoint into package 5 years ago
qcow2-to-stdout.py scripts/qcow2-to-stdout.py: Add script to write qcow2 images to stdout 10 months ago
qemu-binfmt-conf.sh binfmt: Add --ignore-family option 10 months ago
qemu-gdb.py scripts/qemu-gdb: Always do full stack dump for python errors 11 months ago
qemu-plugin-symbols.py treewide: remove unnessary "coding" header 3 months ago
qemu-stamp.py meson, configure: move --with-pkgversion, CONFIG_STAMP to meson 4 years ago
qemu-trace-stap scripts: improve error from qemu-trace-stap on missing 'stap' 11 months ago
qemu-version.sh build-sys: fix git version from -version 5 years ago
qmp_helper.py scripts/ghes_inject: add a script to generate GHES error inject 3 months ago
qom-cast-macro-clean-cocci-gen.py licenses: Remove SPDX tags not being license identifier for Linaro 11 months ago
rdma-migration-helper.sh qtest/migration/rdma: Add test for rdma migration with ipv6 8 months ago
refresh-pxe-roms.sh
render_block_graph.py python/qemu: rename command() to cmd() 2 years ago
replay-dump.py treewide: remove unnessary "coding" header 3 months ago
rust-to-clang-target-test.sh configure: set the bindgen cross target 3 months ago
rust-to-clang-target.sh configure: set the bindgen cross target 3 months ago
shaderinclude.py build-sys: fix crlf-ending C code 3 years ago
signrom.py drop "from __future__ import print_function" 6 years ago
simpletrace.py simpletrace: added simplified Analyzer2 class 2 years ago
symlink-install-tree.py scripts/symlink-install-tree.py: Fix MESONINTROSPECT parsing 1 year ago
tracetool.py treewide: remove unnessary "coding" header 3 months ago
u2f-setup-gen.py scripts: Add u2f-setup-gen script 5 years ago
undefsym.py build: fix macOS --enable-modules build 5 years ago
update-linux-headers.sh * i386: fix migration issues in 10.1 3 months ago
update-mips-syscall-args.sh linux-user, mips: update syscall-args-o32.c.inc to Linux v5.13 5 years ago
update-syscalltbl.sh linux-user,loongarch: move to syscalltbl file 1 year ago
userfaultfd-wrlat.py tests, scripts: Don't import print_function from __future__ 4 months ago
vmstate-static-checker.py scripts/vmstate-static-checker: Fix deprecation warnings with latest argparse 2 months ago
xen-detect.c xen: Drop support for Xen versions below 4.7.1 3 years ago
xml-preprocess-test.py scripts: add a XML preprocessor script 3 years ago
xml-preprocess.py scripts/xml-preprocess: Make sure this script is invoked via the right Python 2 years ago