Merge tag 'pull-request-2026-03-02' of https://gitlab.com/thuth/qemu into staging
* Remove qemu-system-microblazeel (qemu-system-microblaze can be used instead) * Improve detection of the docker/podman binary * Prevent a null pointer dereference during zpci hot unplug # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmmlgwQACgkQLtnXdP5w # LbW4jw//VMx6pHEu5L3Rzr3FZdgMJUhJ3UQKoV5PAImHz96QjIZi3kR311/D7Xjr # nPf9VVgVZUEKzwyCfv7V06M9S79Jbw2cJesEIcu5LqbvGxKcevXVPMdVPpDG7P7T # zuNW7eyIMpHYHRnMnxRNY/Hl8S1P9spEWJeQpNxfe9AKoWh2i4vEC8KLMAf59DAw # MX0CZjonMeCBSWBqRqP0zOeUqiq9n49Lz1LQnCZb1R2TF+RGmwfe6+NaBeEZ9BSg # FWGVIIq09OFxvtUuuut5X47DOrxk69q0RmiLy+wyrpH3VMxWM41n3oensoaNm0Xj # dg0Eq1GzQwnLalaVgdqriGnymQWtvKXmlXHsIAwedLscOO6F5L+T12WZUSUjDZ92 # SGGKyi2TSkgEZO1naLxi+J0dMWSO51wOOln9GAgFHkT/PuF/12r0sVweXXiovucr # 4CWKP8VGU5MVpGlZ9flLwXiq8uS1GOsMQbBj/eoVOxEuFnL0crX9dME8vlpoGYAg # THmuLKOxtcVtC9BxBZQkMFj6IKdRYEfFnNuCl2gk33Ksdb9QYCyL54XSZ9vtvhhG # +5ajjl+w+O8HgnQKdWSQy1PYrvQ6EXtY0ZOf0q0yPfz4oq4Ib81oLhfvK0AywM17 # DALYymGpGgOgGYIkKQKcn3id7OnaIiRe7ai4GeJ9AbFVgxR4l+w= # =Sdy4 # -----END PGP SIGNATURE----- # gpg: Signature made Mon Mar 2 12:31:00 2026 GMT # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [undefined] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2026-03-02' of https://gitlab.com/thuth/qemu: gitlab: ensure docker output is always displayed in CI tests/docker: allow display of docker output tests/docker: add support for podman remote access tests/docker: improve handling of docker probes Remove the qemu-system-microblazeel target from the build gitlab-ci: Remove the microblazeel target from the CI jobs tests/qtest: Remove the microblazeel target from the qtests tests/functional: Remove the microblazeel test tests/functional: Make sure test case .py files are executable s390x/pci: prevent null pointer dereference during zpci hot unplug Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -28,6 +28,9 @@ variables:
|
||||
# we don't need. The --filter options avoid blobs and tree references we aren't going to use
|
||||
# and we also avoid fetching tags.
|
||||
GIT_FETCH_EXTRA_FLAGS: --filter=blob:none --filter=tree:0 --no-tags --prune --quiet
|
||||
# Ensure docker.py / tests/docker/Makefile.include always displays stdout
|
||||
# from any docker commands to aid debugging of failures
|
||||
DOCKER_V: 1
|
||||
|
||||
interruptible: true
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ build-system-ubuntu:
|
||||
variables:
|
||||
IMAGE: ubuntu2204
|
||||
CONFIGURE_ARGS: --enable-docs --enable-rust
|
||||
TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
|
||||
TARGETS: alpha-softmmu microblaze-softmmu mips64el-softmmu
|
||||
MAKE_CHECK_ARGS: check-build
|
||||
|
||||
check-system-ubuntu:
|
||||
@@ -112,7 +112,7 @@ build-system-fedora:
|
||||
variables:
|
||||
IMAGE: fedora
|
||||
CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs --enable-crypto-afalg --enable-rust
|
||||
TARGETS: microblaze-softmmu mips-softmmu
|
||||
TARGETS: mips-softmmu
|
||||
xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
|
||||
MAKE_CHECK_ARGS: check-build check-doc
|
||||
|
||||
@@ -664,7 +664,7 @@ build-without-defaults:
|
||||
--disable-pie
|
||||
--disable-qom-cast-debug
|
||||
--disable-strip
|
||||
--target-list-exclude=aarch64-softmmu,microblaze-softmmu,mips64-softmmu,mipsel-softmmu,ppc64-softmmu,sh4el-softmmu,xtensa-softmmu,x86_64-softmmu
|
||||
--target-list-exclude=aarch64-softmmu,mips64-softmmu,mipsel-softmmu,ppc64-softmmu,sh4el-softmmu,xtensa-softmmu,x86_64-softmmu
|
||||
MAKE_CHECK_ARGS: check
|
||||
|
||||
build-libvhost-user:
|
||||
|
||||
@@ -42,7 +42,7 @@ x64-freebsd-14-build:
|
||||
CIRRUS_VM_RAM: 8G
|
||||
UPDATE_COMMAND: pkg update; pkg upgrade -y
|
||||
INSTALL_COMMAND: pkg install -y
|
||||
CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4eb-softmmu,xtensa-softmmu --enable-rust
|
||||
CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4eb-softmmu,xtensa-softmmu --enable-rust
|
||||
TEST_TARGETS: check
|
||||
|
||||
aarch64-macos-build:
|
||||
@@ -56,5 +56,5 @@ aarch64-macos-build:
|
||||
INSTALL_COMMAND: brew install
|
||||
PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin
|
||||
PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
|
||||
CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblazeel-softmmu,mips64-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4-softmmu,xtensaeb-softmmu --enable-rust
|
||||
CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,mips64-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4-softmmu,xtensaeb-softmmu --enable-rust
|
||||
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
|
||||
|
||||
@@ -111,7 +111,7 @@ cross-win64-system:
|
||||
IMAGE: fedora-win64-cross
|
||||
EXTRA_CONFIGURE_OPTS: --enable-fdt=internal --disable-plugins
|
||||
CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu
|
||||
m68k-softmmu microblazeel-softmmu
|
||||
m68k-softmmu microblaze-softmmu
|
||||
or1k-softmmu rx-softmmu sh4eb-softmmu sparc64-softmmu
|
||||
tricore-softmmu xtensaeb-softmmu
|
||||
artifacts:
|
||||
|
||||
@@ -293,7 +293,7 @@ F: target/microblaze/
|
||||
F: hw/microblaze/
|
||||
F: disas/microblaze.c
|
||||
F: tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh
|
||||
F: tests/functional/microblaze*/meson.build
|
||||
F: tests/functional/microblaze/
|
||||
|
||||
MIPS TCG CPUs
|
||||
M: Philippe Mathieu-Daudé <philmd@linaro.org>
|
||||
@@ -1438,7 +1438,7 @@ M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
S: Maintained
|
||||
F: hw/microblaze/petalogix_s3adsp1800_mmu.c
|
||||
F: include/hw/char/xilinx_uartlite.h
|
||||
F: tests/functional/microblaze*/test_s3adsp1800.py
|
||||
F: tests/functional/microblaze/test_s3adsp1800.py
|
||||
|
||||
petalogix_ml605
|
||||
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
# Default configuration for microblazeel-softmmu
|
||||
|
||||
# Boards are selected by default, uncomment to keep out of the build.
|
||||
# CONFIG_PETALOGIX_S3ADSP1800=n
|
||||
# CONFIG_PETALOGIX_ML605=n
|
||||
# CONFIG_XLNX_ZYNQMP_PMU=n
|
||||
@@ -1,6 +0,0 @@
|
||||
TARGET_ARCH=microblaze
|
||||
# needed by boot.c
|
||||
TARGET_NEED_FDT=y
|
||||
TARGET_XML_FILES=gdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-protect.xml
|
||||
TARGET_LONG_BITS=32
|
||||
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
|
||||
19
configure
vendored
19
configure
vendored
@@ -1319,17 +1319,11 @@ fi
|
||||
##########################################
|
||||
# functions to probe cross compilers
|
||||
|
||||
container="no"
|
||||
runc=""
|
||||
runc="no"
|
||||
if test $use_containers = "yes" && (has "docker" || has "podman"); then
|
||||
case $($python "$source_path"/tests/docker/docker.py --engine "$container_engine" probe) in
|
||||
*docker) container=docker ;;
|
||||
podman) container=podman ;;
|
||||
no) container=no ;;
|
||||
esac
|
||||
if test "$container" != "no"; then
|
||||
docker_py="$python $source_path/tests/docker/docker.py --engine $container"
|
||||
runc=$container
|
||||
runc=$($python "$source_path"/tests/docker/docker.py --engine "$container_engine" probe)
|
||||
if test "$runc" != "no"; then
|
||||
docker_py="$python $source_path/tests/docker/docker.py --engine $container_engine"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1449,7 +1443,7 @@ probe_target_compiler() {
|
||||
esac
|
||||
|
||||
for host in $container_hosts; do
|
||||
test "$container" != no || continue
|
||||
test "$runc" != no || continue
|
||||
test "$host" = "$cpu" || continue
|
||||
case $target_arch in
|
||||
# debian-all-test-cross architectures
|
||||
@@ -1771,8 +1765,9 @@ echo all: >> $config_host_mak
|
||||
echo "SRC_PATH=$source_path" >> $config_host_mak
|
||||
echo "TARGET_DIRS=$target_list" >> $config_host_mak
|
||||
echo "GDB=$gdb_bin" >> $config_host_mak
|
||||
if test "$container" != no; then
|
||||
if test "$runc" != no; then
|
||||
echo "RUNC=$runc" >> $config_host_mak
|
||||
echo "CONTAINER_ENGINE=$container_engine" >> $config_host_mak
|
||||
fi
|
||||
echo "SUBDIRS=$subdirs" >> $config_host_mak
|
||||
if test "$rust" != disabled; then
|
||||
|
||||
@@ -301,19 +301,6 @@ please write a mail to the qemu-devel mailing list). If you just want to
|
||||
boot a Cortex-A15 or Cortex-A9 Linux, use the ``virt`` machine instead.
|
||||
|
||||
|
||||
System emulator binaries
|
||||
------------------------
|
||||
|
||||
``qemu-system-microblazeel`` (since 10.1)
|
||||
'''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
The ``qemu-system-microblaze`` binary can emulate little-endian machines
|
||||
now, too, so the separate binary ``qemu-system-microblazeel`` (with the
|
||||
``el`` suffix) for little-endian targets is not required anymore. The
|
||||
``petalogix-s3adsp1800`` machine can now be switched to little endian by
|
||||
setting its ``endianness`` property to ``little``.
|
||||
|
||||
|
||||
Backend options
|
||||
---------------
|
||||
|
||||
|
||||
@@ -1277,6 +1277,20 @@ The 'pvrdma' device and the whole RDMA subsystem have been removed.
|
||||
|
||||
SD physical layer specification v2.00 supersedes the v1.10 one.
|
||||
|
||||
|
||||
System emulator binaries
|
||||
------------------------
|
||||
|
||||
``qemu-system-microblazeel`` (removed in 11.0)
|
||||
''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
The ``qemu-system-microblaze`` binary can emulate little-endian machines
|
||||
now, too, so the separate binary ``qemu-system-microblazeel`` (with the
|
||||
``el`` suffix) for little-endian targets is not required anymore. The
|
||||
``petalogix-s3adsp1800`` machine can now be switched to little endian by
|
||||
setting its ``endianness`` property to ``little``.
|
||||
|
||||
|
||||
Related binaries
|
||||
----------------
|
||||
|
||||
|
||||
@@ -1248,7 +1248,7 @@ static void s390_pcihost_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
|
||||
pbdev->fid = 0;
|
||||
QTAILQ_REMOVE(&s->zpci_devs, pbdev, link);
|
||||
g_hash_table_remove(s->zpci_table, &pbdev->idx);
|
||||
if (pbdev->iommu->dma_limit) {
|
||||
if (pbdev->iommu && pbdev->iommu->dma_limit) {
|
||||
s390_pci_end_dma_count(s, pbdev->iommu->dma_limit);
|
||||
}
|
||||
qdev_unrealize(dev);
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
##
|
||||
{ 'enum' : 'SysEmuTarget',
|
||||
'data' : [ 'aarch64', 'alpha', 'arm', 'avr', 'hexagon', 'hppa', 'i386',
|
||||
'loongarch64', 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
|
||||
'loongarch64', 'm68k', 'microblaze', 'mips', 'mips64',
|
||||
'mips64el', 'mipsel', 'or1k', 'ppc',
|
||||
'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
|
||||
'sh4eb', 'sparc', 'sparc64', 'tricore',
|
||||
|
||||
@@ -10,8 +10,7 @@ enum {
|
||||
QEMU_ARCH_I386 = (1UL << SYS_EMU_TARGET_I386) |
|
||||
(1UL << SYS_EMU_TARGET_X86_64),
|
||||
QEMU_ARCH_M68K = (1UL << SYS_EMU_TARGET_M68K),
|
||||
QEMU_ARCH_MICROBLAZE = (1UL << SYS_EMU_TARGET_MICROBLAZE) |
|
||||
(1UL << SYS_EMU_TARGET_MICROBLAZEEL),
|
||||
QEMU_ARCH_MICROBLAZE = (1UL << SYS_EMU_TARGET_MICROBLAZE),
|
||||
QEMU_ARCH_MIPS = (1UL << SYS_EMU_TARGET_MIPS) |
|
||||
(1UL << SYS_EMU_TARGET_MIPSEL) |
|
||||
(1UL << SYS_EMU_TARGET_MIPS64) |
|
||||
|
||||
@@ -16,12 +16,15 @@ DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu
|
||||
endif
|
||||
DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY))
|
||||
|
||||
RUNC ?= $(if $(shell command -v docker), docker, podman)
|
||||
DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(RUNC)
|
||||
CONTAINER_ENGINE = auto
|
||||
DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(CONTAINER_ENGINE)
|
||||
RUNC ?= $(shell $(DOCKER_SCRIPT) probe)
|
||||
|
||||
CUR_TIME := $(shell date +%Y-%m-%d-%H.%M.%S.$$$$)
|
||||
DOCKER_SRC_COPY := $(BUILD_DIR)/docker-src.$(CUR_TIME)
|
||||
|
||||
DOCKER_V ?= $(V)
|
||||
|
||||
.DELETE_ON_ERROR: $(DOCKER_SRC_COPY)
|
||||
$(DOCKER_SRC_COPY):
|
||||
@mkdir $@
|
||||
@@ -39,14 +42,14 @@ docker-qemu-src: $(DOCKER_SRC_COPY)
|
||||
docker-image-%: $(DOCKER_FILES_DIR)/%.docker
|
||||
$(call quiet-command, \
|
||||
DOCKER_BUILDKIT=1 $(RUNC) build \
|
||||
$(if $V,,--quiet) \
|
||||
$(if $(DOCKER_V),,--quiet) \
|
||||
$(if $(NOCACHE),--no-cache, \
|
||||
$(if $(DOCKER_REGISTRY),--cache-from $(DOCKER_REGISTRY)/qemu/$*)) \
|
||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||
$(if $(NOUSER),, \
|
||||
--build-arg USER=$(USER) \
|
||||
--build-arg UID=$(UID)) \
|
||||
-t qemu/$* - < $< $(if $V,,> /dev/null),\
|
||||
-t qemu/$* - < $< $(if $(DOCKER_V),,> /dev/null),\
|
||||
"BUILD", $*)
|
||||
|
||||
# General rule for inspecting registry images.
|
||||
@@ -72,7 +75,7 @@ docker-binfmt-image-debian-%: $(DOCKER_FILES_DIR)/debian-bootstrap.docker
|
||||
DEB_TYPE=$(DEB_TYPE) \
|
||||
$(if $(DEB_URL),DEB_URL=$(DEB_URL),) \
|
||||
$(DOCKER_SCRIPT) build -t qemu/debian-$* -f $< \
|
||||
$(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \
|
||||
$(if $(DOCKER_V),,--quiet) $(if $(NOCACHE),--no-cache) \
|
||||
$(if $(NOUSER),,--add-current-user) \
|
||||
$(if $(EXTRA_FILES),--extra-files $(EXTRA_FILES)) \
|
||||
$(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)), \
|
||||
@@ -104,16 +107,17 @@ debian-toolchain-run = \
|
||||
$(if $(NOCACHE)$(NOFETCH), \
|
||||
$(call quiet-command, \
|
||||
$(DOCKER_SCRIPT) build -t qemu/$1 -f $< \
|
||||
$(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \
|
||||
$(if $(DOCKER_V),,--quiet) \
|
||||
$(if $(NOCACHE),--no-cache) \
|
||||
--registry $(DOCKER_REGISTRY) --extra-files \
|
||||
$(DOCKER_FILES_DIR)/$1.d/build-toolchain.sh, \
|
||||
"BUILD", $1), \
|
||||
$(call quiet-command, \
|
||||
$(DOCKER_SCRIPT) fetch $(if $V,,--quiet) \
|
||||
$(DOCKER_SCRIPT) fetch $(if $(DOCKER_V),,--quiet) \
|
||||
qemu/$1 $(DOCKER_REGISTRY), \
|
||||
"FETCH", $1) \
|
||||
$(call quiet-command, \
|
||||
$(DOCKER_SCRIPT) update $(if $V,,--quiet) \
|
||||
$(DOCKER_SCRIPT) update $(if $(DOCKER_V),,--quiet) \
|
||||
qemu/$1 \
|
||||
$(if $(NOUSER),,--add-current-user) \
|
||||
"PREPARE", $1))
|
||||
@@ -230,7 +234,10 @@ docker-run: docker-qemu-src
|
||||
-e TARGET_LIST=$(subst $(SPACE),$(COMMA),$(TARGET_LIST)) \
|
||||
-e EXTRA_CONFIGURE_OPTS="$(EXTRA_CONFIGURE_OPTS)" \
|
||||
-e TEST_COMMAND="$(TEST_COMMAND)" \
|
||||
-e V=$V -e J=$J -e DEBUG=$(DEBUG) \
|
||||
-e V=$V \
|
||||
-e DOCKER_V=$(DOCKER_V) \
|
||||
-e J=$J \
|
||||
-e DEBUG=$(DEBUG) \
|
||||
-e SHOW_ENV=$(SHOW_ENV) \
|
||||
$(if $(NOUSER),, \
|
||||
-v $(DOCKER_QEMU_CACHE_DIR):$(DOCKER_QEMU_CACHE_DIR) \
|
||||
|
||||
@@ -76,14 +76,16 @@ def _guess_engine_command():
|
||||
commands = []
|
||||
|
||||
if USE_ENGINE in [EngineEnum.AUTO, EngineEnum.PODMAN]:
|
||||
commands += [["podman"]]
|
||||
commands += [["podman"], ["podman-remote"], ["podman", "--remote"]]
|
||||
if USE_ENGINE in [EngineEnum.AUTO, EngineEnum.DOCKER]:
|
||||
commands += [["docker"], ["sudo", "-n", "docker"]]
|
||||
for cmd in commands:
|
||||
try:
|
||||
# docker version will return the client details in stdout
|
||||
# but still report a status of 1 if it can't contact the daemon
|
||||
if subprocess.call(cmd + ["version"],
|
||||
# 'version' is not sufficient to prove a working binary
|
||||
# for podman. 'info' is a stronger check that is more
|
||||
# likely to correlate with ability to create containers,
|
||||
# and required to detect the need for podman remote
|
||||
if subprocess.call(cmd + ["info"],
|
||||
stdout=DEVNULL, stderr=DEVNULL) == 0:
|
||||
return cmd
|
||||
except OSError:
|
||||
@@ -618,12 +620,7 @@ class ProbeCommand(SubCommand):
|
||||
def run(self, args, argv):
|
||||
try:
|
||||
docker = Docker()
|
||||
if docker._command[0] == "docker":
|
||||
print("docker")
|
||||
elif docker._command[0] == "sudo":
|
||||
print("sudo docker")
|
||||
elif docker._command[0] == "podman":
|
||||
print("podman")
|
||||
print(" ".join(docker._command))
|
||||
except Exception:
|
||||
print("no")
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ subdir('i386')
|
||||
subdir('loongarch64')
|
||||
subdir('m68k')
|
||||
subdir('microblaze')
|
||||
subdir('microblazeel')
|
||||
subdir('mips')
|
||||
subdir('mipsel')
|
||||
subdir('mips64')
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
class MicroblazeMachine(QemuSystemTest):
|
||||
|
||||
timeout = 90
|
||||
|
||||
ASSET_IMAGE_BE = Asset(
|
||||
('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/'
|
||||
'day17.tar.xz'),
|
||||
@@ -25,14 +23,12 @@ class MicroblazeMachine(QemuSystemTest):
|
||||
('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'),
|
||||
'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22')
|
||||
|
||||
def do_ballerina_be_test(self, force_endianness=False):
|
||||
def test_microblaze_s3adsp1800_big_endian(self):
|
||||
self.set_machine('petalogix-s3adsp1800')
|
||||
self.archive_extract(self.ASSET_IMAGE_BE)
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-kernel',
|
||||
self.scratch_file('day17', 'ballerina.bin'))
|
||||
if force_endianness:
|
||||
self.vm.add_args('-M', 'endianness=big')
|
||||
self.vm.launch()
|
||||
wait_for_console_pattern(self, 'This architecture does not have '
|
||||
'kernel memory protection')
|
||||
@@ -41,14 +37,13 @@ def do_ballerina_be_test(self, force_endianness=False):
|
||||
# message, that's why we don't test for a later string here. This
|
||||
# needs some investigation by a microblaze wizard one day...
|
||||
|
||||
def do_xmaton_le_test(self, force_endianness=False):
|
||||
def test_microblaze_s3adsp1800_little_endian(self):
|
||||
self.require_netdev('user')
|
||||
self.set_machine('petalogix-s3adsp1800')
|
||||
self.archive_extract(self.ASSET_IMAGE_LE)
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin'))
|
||||
if force_endianness:
|
||||
self.vm.add_args('-M', 'endianness=little')
|
||||
self.vm.add_args('-M', 'endianness=little')
|
||||
tftproot = self.scratch_file('day13')
|
||||
self.vm.add_args('-nic', f'user,tftp={tftproot}')
|
||||
self.vm.launch()
|
||||
@@ -60,17 +55,5 @@ def do_xmaton_le_test(self, force_endianness=False):
|
||||
'821cd3cab8efd16ad6ee5acc3642a8ea')
|
||||
|
||||
|
||||
class MicroblazeBigEndianMachine(MicroblazeMachine):
|
||||
|
||||
ASSET_IMAGE_BE = MicroblazeMachine.ASSET_IMAGE_BE
|
||||
ASSET_IMAGE_LE = MicroblazeMachine.ASSET_IMAGE_LE
|
||||
|
||||
def test_microblaze_s3adsp1800_legacy_be(self):
|
||||
self.do_ballerina_be_test()
|
||||
|
||||
def test_microblaze_s3adsp1800_legacy_le(self):
|
||||
self.do_xmaton_le_test(force_endianness=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
QemuSystemTest.main()
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
tests_microblazeel_system_thorough = [
|
||||
's3adsp1800'
|
||||
]
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Functional test that boots a microblaze Linux kernel and checks the console
|
||||
#
|
||||
# Copyright (c) 2018, 2021 Red Hat, Inc.
|
||||
#
|
||||
# This work is licensed under the terms of the GNU GPL, version 2 or
|
||||
# later. See the COPYING file in the top-level directory.
|
||||
|
||||
from microblaze.test_s3adsp1800 import MicroblazeMachine
|
||||
|
||||
|
||||
class MicroblazeLittleEndianMachine(MicroblazeMachine):
|
||||
|
||||
ASSET_IMAGE_LE = MicroblazeMachine.ASSET_IMAGE_LE
|
||||
ASSET_IMAGE_BE = MicroblazeMachine.ASSET_IMAGE_BE
|
||||
|
||||
def test_microblaze_s3adsp1800_legacy_le(self):
|
||||
self.do_xmaton_le_test()
|
||||
|
||||
def test_microblaze_s3adsp1800_legacy_be(self):
|
||||
self.do_ballerina_be_test(force_endianness=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
MicroblazeMachine.main()
|
||||
@@ -186,7 +186,7 @@ static const testdef_t tests[] = {
|
||||
{ "m68k", "next-cube", "", "TT", sizeof(bios_nextcube), 0, bios_nextcube },
|
||||
{ "microblaze", "petalogix-s3adsp1800", "", "TT",
|
||||
sizeof(kernel_pls3adsp1800), kernel_pls3adsp1800 },
|
||||
{ "microblazeel", "petalogix-ml605", "", "TT",
|
||||
{ "microblaze", "petalogix-ml605", "", "TT",
|
||||
sizeof(kernel_plml605), kernel_plml605 },
|
||||
{ "arm", "raspi2b", "", "TT", sizeof(bios_raspi2), 0, bios_raspi2 },
|
||||
{ "aarch64", "virt", "-cpu max", "TT", sizeof(kernel_aarch64),
|
||||
|
||||
@@ -32,7 +32,6 @@ static struct arch2cpu cpus_map[] = {
|
||||
{ "alpha", "ev67" },
|
||||
{ "m68k", "m5206" },
|
||||
{ "microblaze", "any" },
|
||||
{ "microblazeel", "any" },
|
||||
{ "mips", "4Kc" },
|
||||
{ "mipsel", "I7200" },
|
||||
{ "mips64", "20Kc" },
|
||||
|
||||
@@ -159,8 +159,6 @@ qtests_m68k = ['boot-serial-test'] + \
|
||||
qtests_microblaze = ['boot-serial-test'] + \
|
||||
qtests_filter
|
||||
|
||||
qtests_microblazeel = qtests_microblaze
|
||||
|
||||
qtests_mips = \
|
||||
qtests_filter + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
|
||||
Reference in New Issue
Block a user