Browse Source

* 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-----

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>
master
Peter Maydell 4 weeks ago
parent
commit
3fb456e9a0
  1. 3
      .gitlab-ci.d/base.yml
  2. 6
      .gitlab-ci.d/buildtest.yml
  3. 4
      .gitlab-ci.d/cirrus.yml
  4. 2
      .gitlab-ci.d/crossbuilds.yml
  5. 4
      MAINTAINERS
  6. 6
      configs/devices/microblazeel-softmmu/default.mak
  7. 6
      configs/targets/microblazeel-softmmu.mak
  8. 19
      configure
  9. 13
      docs/about/deprecated.rst
  10. 14
      docs/about/removed-features.rst
  11. 2
      hw/s390x/s390-pci-bus.c
  12. 2
      qapi/machine.json
  13. 3
      system/arch_init.h
  14. 25
      tests/docker/Makefile.include
  15. 17
      tests/docker/docker.py
  16. 1
      tests/functional/meson.build
  17. 23
      tests/functional/microblaze/test_s3adsp1800.py
  18. 5
      tests/functional/microblazeel/meson.build
  19. 26
      tests/functional/microblazeel/test_s3adsp1800.py
  20. 2
      tests/qtest/boot-serial-test.c
  21. 1
      tests/qtest/machine-none-test.c
  22. 2
      tests/qtest/meson.build

3
.gitlab-ci.d/base.yml

@ -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

6
.gitlab-ci.d/buildtest.yml

@ -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:

4
.gitlab-ci.d/cirrus.yml

@ -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

2
.gitlab-ci.d/crossbuilds.yml

@ -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:

4
MAINTAINERS

@ -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>

6
configs/devices/microblazeel-softmmu/default.mak

@ -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

6
configs/targets/microblazeel-softmmu.mak

@ -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

@ -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

13
docs/about/deprecated.rst

@ -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
---------------

14
docs/about/removed-features.rst

@ -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
----------------

2
hw/s390x/s390-pci-bus.c

@ -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);

2
qapi/machine.json

@ -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',

3
system/arch_init.h

@ -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) |

25
tests/docker/Makefile.include

@ -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) \

17
tests/docker/docker.py

@ -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")

1
tests/functional/meson.build

@ -18,7 +18,6 @@ subdir('i386')
subdir('loongarch64')
subdir('m68k')
subdir('microblaze')
subdir('microblazeel')
subdir('mips')
subdir('mipsel')
subdir('mips64')

23
tests/functional/microblaze/test_s3adsp1800.py

@ -14,8 +14,6 @@ from qemu_test import wait_for_console_pattern
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 @@ class MicroblazeMachine(QemuSystemTest):
# 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 @@ class MicroblazeMachine(QemuSystemTest):
'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()

5
tests/functional/microblazeel/meson.build

@ -1,5 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
tests_microblazeel_system_thorough = [
's3adsp1800'
]

26
tests/functional/microblazeel/test_s3adsp1800.py

@ -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()

2
tests/qtest/boot-serial-test.c

@ -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),

1
tests/qtest/machine-none-test.c

@ -32,7 +32,6 @@ static struct arch2cpu cpus_map[] = {
{ "alpha", "ev67" },
{ "m68k", "m5206" },
{ "microblaze", "any" },
{ "microblazeel", "any" },
{ "mips", "4Kc" },
{ "mipsel", "I7200" },
{ "mips64", "20Kc" },

2
tests/qtest/meson.build

@ -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'] : []) + \

Loading…
Cancel
Save