mirror of https://github.com/xemu-project/xemu.git
* Fix mips64el in the CI
* Remove unused sh4eb target * Add an additional EXECUTE TCG test for s390x -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmb9QdARHHRodXRoQHJl ZGhhdC5jb20ACgkQLtnXdP5wLbWQsQ/+NyTWEdTVXYLKGjv17QE3s5irfH6pT6WB Ea5HOkiT7mAOJZEzHS38fUzgySFA24MOpeqqPK6Dyi6O/fpXKkJL+e1Km2qWvc66 NCKsicj271+AWHOrT2KnWnk6zRnxJBpeV/c/ajJnyjTAOYc5ItBPeNlfDsj1+sNP UzQ3mTmiw6M9jDntvJCtC99NyBBZTuyFLp/5ZA/fXCJdmzVEHEOU/rjWuVIq1nDC zm3MxUZwheHAkJ5wk7O+T3Qsio5iGBCeWBeNsH6hy6KyAf7fhU3h5vn4zaVzKQPB 88I8BbPok5sIVB1ODseIZLiF4IWZt8cPV00SJVSNebyufJ6wsuEFLT+nbMcQy4K1 hZMvqA2WY+MGyThF67iC8OtaeDksUBoYw6RM0cCGlRQ2fsR4QAahk8Cg1BIG6Hn7 hYtKu68Rs+vrxH6lgjq9wWBrafl7MbROQxlTm8KsJJdHigQ4UUB23+OKKcJrePi+ vQpFEWIEgLVrxUrnwyJPulqG5fVXNkOWYfu1Y/WARr7uNe4gf86UvBunQmSxlV3Y 4Q1iQlKaVznzyUe8QEvP8LpZRols0v5BT9zpF0TJwC/vk+SjuAtz4/URWvLn5Qwd zIhWp9ZUxHUJgCqiciNHAY1AzsG2CiSuihKgTbPBZo0b3oYMB7sMaDLq733M98k2 lI6f5DjIyhg= =V9nZ -----END PGP SIGNATURE----- Merge tag 'pull-request-2024-10-02' of https://gitlab.com/thuth/qemu into staging * Fix mips64el in the CI * Remove unused sh4eb target * Add an additional EXECUTE TCG test for s390x # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmb9QdARHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbWQsQ/+NyTWEdTVXYLKGjv17QE3s5irfH6pT6WB # Ea5HOkiT7mAOJZEzHS38fUzgySFA24MOpeqqPK6Dyi6O/fpXKkJL+e1Km2qWvc66 # NCKsicj271+AWHOrT2KnWnk6zRnxJBpeV/c/ajJnyjTAOYc5ItBPeNlfDsj1+sNP # UzQ3mTmiw6M9jDntvJCtC99NyBBZTuyFLp/5ZA/fXCJdmzVEHEOU/rjWuVIq1nDC # zm3MxUZwheHAkJ5wk7O+T3Qsio5iGBCeWBeNsH6hy6KyAf7fhU3h5vn4zaVzKQPB # 88I8BbPok5sIVB1ODseIZLiF4IWZt8cPV00SJVSNebyufJ6wsuEFLT+nbMcQy4K1 # hZMvqA2WY+MGyThF67iC8OtaeDksUBoYw6RM0cCGlRQ2fsR4QAahk8Cg1BIG6Hn7 # hYtKu68Rs+vrxH6lgjq9wWBrafl7MbROQxlTm8KsJJdHigQ4UUB23+OKKcJrePi+ # vQpFEWIEgLVrxUrnwyJPulqG5fVXNkOWYfu1Y/WARr7uNe4gf86UvBunQmSxlV3Y # 4Q1iQlKaVznzyUe8QEvP8LpZRols0v5BT9zpF0TJwC/vk+SjuAtz4/URWvLn5Qwd # zIhWp9ZUxHUJgCqiciNHAY1AzsG2CiSuihKgTbPBZo0b3oYMB7sMaDLq733M98k2 # lI6f5DjIyhg= # =V9nZ # -----END PGP SIGNATURE----- # gpg: Signature made Wed 02 Oct 2024 13:51:28 BST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # 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>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2024-10-02' of https://gitlab.com/thuth/qemu: tests/tcg/s390x: Test modifying an EXECUTE target qemu-timer: Remove unused timer functions Remove the unused sh4eb target configs: Fix typo in the sh4-softmmu devices config file testing: bump mips64el cross to bookworm and fix package list Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
a3500b22a1
|
@ -72,7 +72,7 @@ build-system-debian:
|
||||||
variables:
|
variables:
|
||||||
IMAGE: debian
|
IMAGE: debian
|
||||||
CONFIGURE_ARGS: --with-coroutine=sigaltstack
|
CONFIGURE_ARGS: --with-coroutine=sigaltstack
|
||||||
TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
|
TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
|
||||||
sparc-softmmu xtensa-softmmu
|
sparc-softmmu xtensa-softmmu
|
||||||
MAKE_CHECK_ARGS: check-build
|
MAKE_CHECK_ARGS: check-build
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ x64-freebsd-14-build:
|
||||||
CIRRUS_VM_RAM: 8G
|
CIRRUS_VM_RAM: 8G
|
||||||
UPDATE_COMMAND: pkg update; pkg upgrade -y
|
UPDATE_COMMAND: pkg update; pkg upgrade -y
|
||||||
INSTALL_COMMAND: pkg install -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
|
CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,xtensa-softmmu
|
||||||
TEST_TARGETS: check
|
TEST_TARGETS: check
|
||||||
|
|
||||||
aarch64-macos-13-base-build:
|
aarch64-macos-13-base-build:
|
||||||
|
|
|
@ -176,7 +176,7 @@ cross-win64-system:
|
||||||
EXTRA_CONFIGURE_OPTS: --enable-fdt=internal --disable-plugins
|
EXTRA_CONFIGURE_OPTS: --enable-fdt=internal --disable-plugins
|
||||||
CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu
|
CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu
|
||||||
m68k-softmmu microblazeel-softmmu
|
m68k-softmmu microblazeel-softmmu
|
||||||
or1k-softmmu rx-softmmu sh4eb-softmmu sparc64-softmmu
|
or1k-softmmu rx-softmmu sh4-softmmu sparc64-softmmu
|
||||||
tricore-softmmu xtensaeb-softmmu
|
tricore-softmmu xtensaeb-softmmu
|
||||||
artifacts:
|
artifacts:
|
||||||
when: on_success
|
when: on_success
|
||||||
|
|
|
@ -223,7 +223,7 @@ jobs:
|
||||||
- genisoimage
|
- genisoimage
|
||||||
env:
|
env:
|
||||||
- CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
|
- CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
|
||||||
--target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
|
--target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4-softmmu,sparc64-softmmu,xtensaeb-softmmu"
|
||||||
|
|
||||||
- name: "[s390x] GCC (user)"
|
- name: "[s390x] GCC (user)"
|
||||||
arch: s390x
|
arch: s390x
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default configuration for sh4eb-softmmu
|
# Default configuration for sh4-softmmu
|
||||||
|
|
||||||
# Uncomment the following lines to disable these optional devices:
|
# Uncomment the following lines to disable these optional devices:
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
# Default configuration for sh4eb-softmmu
|
|
||||||
|
|
||||||
include ../sh4-softmmu/default.mak
|
|
|
@ -1,2 +0,0 @@
|
||||||
TARGET_ARCH=sh4
|
|
||||||
TARGET_BIG_ENDIAN=y
|
|
|
@ -190,16 +190,6 @@ bool qemu_clock_use_for_deadline(QEMUClockType type);
|
||||||
*/
|
*/
|
||||||
int64_t qemu_clock_deadline_ns_all(QEMUClockType type, int attr_mask);
|
int64_t qemu_clock_deadline_ns_all(QEMUClockType type, int attr_mask);
|
||||||
|
|
||||||
/**
|
|
||||||
* qemu_clock_get_main_loop_timerlist:
|
|
||||||
* @type: the clock type
|
|
||||||
*
|
|
||||||
* Return the default timer list associated with a clock.
|
|
||||||
*
|
|
||||||
* Returns: the default timer list
|
|
||||||
*/
|
|
||||||
QEMUTimerList *qemu_clock_get_main_loop_timerlist(QEMUClockType type);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* qemu_clock_nofify:
|
* qemu_clock_nofify:
|
||||||
* @type: the clock type
|
* @type: the clock type
|
||||||
|
@ -326,17 +316,6 @@ bool timerlist_expired(QEMUTimerList *timer_list);
|
||||||
*/
|
*/
|
||||||
int64_t timerlist_deadline_ns(QEMUTimerList *timer_list);
|
int64_t timerlist_deadline_ns(QEMUTimerList *timer_list);
|
||||||
|
|
||||||
/**
|
|
||||||
* timerlist_get_clock:
|
|
||||||
* @timer_list: the timer list to operate on
|
|
||||||
*
|
|
||||||
* Determine the clock type associated with a timer list.
|
|
||||||
*
|
|
||||||
* Returns: the clock type associated with the
|
|
||||||
* timer list.
|
|
||||||
*/
|
|
||||||
QEMUClockType timerlist_get_clock(QEMUTimerList *timer_list);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* timerlist_run_timers:
|
* timerlist_run_timers:
|
||||||
* @timer_list: the timer list to use
|
* @timer_list: the timer list to use
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
'loongarch64', 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
|
'loongarch64', 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
|
||||||
'mips64el', 'mipsel', 'or1k', 'ppc',
|
'mips64el', 'mipsel', 'or1k', 'ppc',
|
||||||
'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
|
'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
|
||||||
'sh4eb', 'sparc', 'sparc64', 'tricore',
|
'sparc', 'sparc64', 'tricore',
|
||||||
'x86_64', 'xtensa', 'xtensaeb' ] }
|
'x86_64', 'xtensa', 'xtensaeb' ] }
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# THIS FILE WAS AUTO-GENERATED
|
# THIS FILE WAS AUTO-GENERATED
|
||||||
#
|
#
|
||||||
# $ lcitool dockerfile --layers all --cross-arch mips64el debian-11 qemu
|
# $ lcitool dockerfile --layers all --cross-arch mips64el debian-12 qemu
|
||||||
#
|
#
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
# https://gitlab.com/libvirt/libvirt-ci
|
||||||
|
|
||||||
FROM docker.io/library/debian:11-slim
|
FROM docker.io/library/debian:12-slim
|
||||||
|
|
||||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
@ -48,16 +48,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
python3-opencv \
|
python3-opencv \
|
||||||
python3-pillow \
|
python3-pillow \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
python3-setuptools \
|
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
python3-sphinx-rtd-theme \
|
python3-sphinx-rtd-theme \
|
||||||
python3-venv \
|
python3-venv \
|
||||||
python3-wheel \
|
|
||||||
python3-yaml \
|
python3-yaml \
|
||||||
rpm2cpio \
|
rpm2cpio \
|
||||||
sed \
|
sed \
|
||||||
socat \
|
socat \
|
||||||
sparse \
|
sparse \
|
||||||
|
swtpm \
|
||||||
tar \
|
tar \
|
||||||
tesseract-ocr \
|
tesseract-ocr \
|
||||||
tesseract-ocr-eng \
|
tesseract-ocr-eng \
|
||||||
|
@ -69,8 +68,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
dpkg-reconfigure locales && \
|
dpkg-reconfigure locales && \
|
||||||
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
|
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
|
||||||
|
|
||||||
RUN /usr/bin/pip3 install tomli
|
|
||||||
|
|
||||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
||||||
ENV LANG "en_US.UTF-8"
|
ENV LANG "en_US.UTF-8"
|
||||||
ENV MAKE "/usr/bin/make"
|
ENV MAKE "/usr/bin/make"
|
||||||
|
@ -97,17 +94,13 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
libcmocka-dev:mips64el \
|
libcmocka-dev:mips64el \
|
||||||
libcurl4-gnutls-dev:mips64el \
|
libcurl4-gnutls-dev:mips64el \
|
||||||
libdaxctl-dev:mips64el \
|
libdaxctl-dev:mips64el \
|
||||||
libdrm-dev:mips64el \
|
|
||||||
libepoxy-dev:mips64el \
|
|
||||||
libfdt-dev:mips64el \
|
libfdt-dev:mips64el \
|
||||||
libffi-dev:mips64el \
|
libffi-dev:mips64el \
|
||||||
libfuse3-dev:mips64el \
|
libfuse3-dev:mips64el \
|
||||||
libgbm-dev:mips64el \
|
|
||||||
libgcrypt20-dev:mips64el \
|
libgcrypt20-dev:mips64el \
|
||||||
libglib2.0-dev:mips64el \
|
libglib2.0-dev:mips64el \
|
||||||
libglusterfs-dev:mips64el \
|
libglusterfs-dev:mips64el \
|
||||||
libgnutls28-dev:mips64el \
|
libgnutls28-dev:mips64el \
|
||||||
libgtk-3-dev:mips64el \
|
|
||||||
libibverbs-dev:mips64el \
|
libibverbs-dev:mips64el \
|
||||||
libiscsi-dev:mips64el \
|
libiscsi-dev:mips64el \
|
||||||
libjemalloc-dev:mips64el \
|
libjemalloc-dev:mips64el \
|
||||||
|
@ -126,8 +119,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
librbd-dev:mips64el \
|
librbd-dev:mips64el \
|
||||||
librdmacm-dev:mips64el \
|
librdmacm-dev:mips64el \
|
||||||
libsasl2-dev:mips64el \
|
libsasl2-dev:mips64el \
|
||||||
libsdl2-dev:mips64el \
|
|
||||||
libsdl2-image-dev:mips64el \
|
|
||||||
libseccomp-dev:mips64el \
|
libseccomp-dev:mips64el \
|
||||||
libselinux1-dev:mips64el \
|
libselinux1-dev:mips64el \
|
||||||
libslirp-dev:mips64el \
|
libslirp-dev:mips64el \
|
||||||
|
@ -141,8 +132,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
libusb-1.0-0-dev:mips64el \
|
libusb-1.0-0-dev:mips64el \
|
||||||
libusbredirhost-dev:mips64el \
|
libusbredirhost-dev:mips64el \
|
||||||
libvdeplug-dev:mips64el \
|
libvdeplug-dev:mips64el \
|
||||||
libvirglrenderer-dev:mips64el \
|
libxdp-dev:mips64el \
|
||||||
libvte-2.91-dev:mips64el \
|
|
||||||
libzstd-dev:mips64el \
|
libzstd-dev:mips64el \
|
||||||
nettle-dev:mips64el \
|
nettle-dev:mips64el \
|
||||||
systemtap-sdt-dev:mips64el \
|
systemtap-sdt-dev:mips64el \
|
||||||
|
|
|
@ -2,6 +2,20 @@ mappings:
|
||||||
flake8:
|
flake8:
|
||||||
OpenSUSELeap15:
|
OpenSUSELeap15:
|
||||||
|
|
||||||
|
# Due to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1081535 we
|
||||||
|
# have to disable all packages that depend on libgl1-mesa-dri:mips64el
|
||||||
|
gtk3:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
|
libdrm:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
|
libepoxy:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
|
mesa-libgbm:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
meson:
|
meson:
|
||||||
OpenSUSELeap15:
|
OpenSUSELeap15:
|
||||||
|
|
||||||
|
@ -60,6 +74,18 @@ mappings:
|
||||||
python3-wheel:
|
python3-wheel:
|
||||||
OpenSUSELeap15: python311-pip
|
OpenSUSELeap15: python311-pip
|
||||||
|
|
||||||
|
sdl2:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
|
sdl2-image:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
|
virglrenderer:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
|
vte:
|
||||||
|
mips64el-deb:
|
||||||
|
|
||||||
pypi_mappings:
|
pypi_mappings:
|
||||||
# Request more recent version
|
# Request more recent version
|
||||||
meson:
|
meson:
|
||||||
|
|
|
@ -166,7 +166,7 @@ try:
|
||||||
"x86_64-linux-user,"
|
"x86_64-linux-user,"
|
||||||
"i386-softmmu,i386-linux-user"))
|
"i386-softmmu,i386-linux-user"))
|
||||||
|
|
||||||
generate_dockerfile("debian-mips64el-cross", "debian-11",
|
generate_dockerfile("debian-mips64el-cross", "debian-12",
|
||||||
cross="mips64el",
|
cross="mips64el",
|
||||||
trailer=cross_build("mips64el-linux-gnuabi64-",
|
trailer=cross_build("mips64el-linux-gnuabi64-",
|
||||||
"mips64el-softmmu,mips64el-linux-user"))
|
"mips64el-softmmu,mips64el-linux-user"))
|
||||||
|
|
|
@ -245,7 +245,6 @@ class TestEnv(ContextManager['TestEnv']):
|
||||||
('riscv64', 'virt'),
|
('riscv64', 'virt'),
|
||||||
('rx', 'gdbsim-r5f562n8'),
|
('rx', 'gdbsim-r5f562n8'),
|
||||||
('sh4', 'r2d'),
|
('sh4', 'r2d'),
|
||||||
('sh4eb', 'r2d'),
|
|
||||||
('tricore', 'tricore_testboard')
|
('tricore', 'tricore_testboard')
|
||||||
)
|
)
|
||||||
for suffix, machine in machine_map:
|
for suffix, machine in machine_map:
|
||||||
|
|
|
@ -41,7 +41,6 @@ static const TestCase test_cases[] = {
|
||||||
{ "ppc64", "pseries-2.7", 0x10080000000ULL,
|
{ "ppc64", "pseries-2.7", 0x10080000000ULL,
|
||||||
.bswap = true, .superio = "i82378" },
|
.bswap = true, .superio = "i82378" },
|
||||||
{ "sh4", "r2d", 0xfe240000, .superio = "i82378" },
|
{ "sh4", "r2d", 0xfe240000, .superio = "i82378" },
|
||||||
{ "sh4eb", "r2d", 0xfe240000, .bswap = true, .superio = "i82378" },
|
|
||||||
{ "sparc64", "sun4u", 0x1fe02000000LL, .bswap = true },
|
{ "sparc64", "sun4u", 0x1fe02000000LL, .bswap = true },
|
||||||
{ "x86_64", "pc", -1 },
|
{ "x86_64", "pc", -1 },
|
||||||
{}
|
{}
|
||||||
|
|
|
@ -42,7 +42,6 @@ static struct arch2cpu cpus_map[] = {
|
||||||
{ "ppc64", "power8e_v2.1" },
|
{ "ppc64", "power8e_v2.1" },
|
||||||
{ "s390x", "qemu" },
|
{ "s390x", "qemu" },
|
||||||
{ "sh4", "sh7750r" },
|
{ "sh4", "sh7750r" },
|
||||||
{ "sh4eb", "sh7751r" },
|
|
||||||
{ "sparc", "LEON2" },
|
{ "sparc", "LEON2" },
|
||||||
{ "sparc64", "Fujitsu Sparc64" },
|
{ "sparc64", "Fujitsu Sparc64" },
|
||||||
{ "tricore", "tc1796" },
|
{ "tricore", "tc1796" },
|
||||||
|
|
|
@ -184,7 +184,6 @@ qtests_ppc64 = \
|
||||||
qtests_pci + ['migration-test', 'cpu-plug-test', 'drive_del-test']
|
qtests_pci + ['migration-test', 'cpu-plug-test', 'drive_del-test']
|
||||||
|
|
||||||
qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
|
qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
|
||||||
qtests_sh4eb = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
|
|
||||||
|
|
||||||
qtests_sparc = ['prom-env-test', 'm48t59-test', 'boot-serial-test'] + \
|
qtests_sparc = ['prom-env-test', 'm48t59-test', 'boot-serial-test'] + \
|
||||||
qtests_filter
|
qtests_filter
|
||||||
|
|
|
@ -48,6 +48,7 @@ TESTS+=lae
|
||||||
TESTS+=cvd
|
TESTS+=cvd
|
||||||
TESTS+=cvb
|
TESTS+=cvb
|
||||||
TESTS+=ts
|
TESTS+=ts
|
||||||
|
TESTS+=ex-smc
|
||||||
|
|
||||||
cdsg: CFLAGS+=-pthread
|
cdsg: CFLAGS+=-pthread
|
||||||
cdsg: LDFLAGS+=-pthread
|
cdsg: LDFLAGS+=-pthread
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* Test modifying an EXECUTE target.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
*/
|
||||||
|
#include <assert.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/* Make sure we exercise the same EXECUTE instruction. */
|
||||||
|
extern void execute(unsigned char *insn, unsigned char mask,
|
||||||
|
unsigned long *r1_r5);
|
||||||
|
asm(".globl execute\n"
|
||||||
|
"execute:\n"
|
||||||
|
"lg %r1,0(%r4)\n"
|
||||||
|
"lg %r5,8(%r4)\n"
|
||||||
|
"ex %r3,0(%r2)\n"
|
||||||
|
"stg %r5,8(%r4)\n"
|
||||||
|
"stg %r1,0(%r4)\n"
|
||||||
|
"br %r14\n");
|
||||||
|
|
||||||
|
/* Define an RWX EXECUTE target. */
|
||||||
|
extern unsigned char lgfi[];
|
||||||
|
asm(".pushsection .rwx,\"awx\",@progbits\n"
|
||||||
|
".globl lgfi\n"
|
||||||
|
"lgfi: lgfi %r0,0\n"
|
||||||
|
".popsection\n");
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
unsigned long r1_r5[2];
|
||||||
|
|
||||||
|
/* Create an initial TB. */
|
||||||
|
r1_r5[0] = -1;
|
||||||
|
r1_r5[1] = -1;
|
||||||
|
execute(lgfi, 1 << 4, r1_r5);
|
||||||
|
assert(r1_r5[0] == 0);
|
||||||
|
assert(r1_r5[1] == -1);
|
||||||
|
|
||||||
|
/* Test changing the mask. */
|
||||||
|
execute(lgfi, 5 << 4, r1_r5);
|
||||||
|
assert(r1_r5[0] == 0);
|
||||||
|
assert(r1_r5[1] == 0);
|
||||||
|
|
||||||
|
/* Test changing the target. */
|
||||||
|
lgfi[5] = 42;
|
||||||
|
execute(lgfi, 5 << 4, r1_r5);
|
||||||
|
assert(r1_r5[0] == 0);
|
||||||
|
assert(r1_r5[1] == 42);
|
||||||
|
|
||||||
|
/* Test changing both the mask and the target. */
|
||||||
|
lgfi[5] = 24;
|
||||||
|
execute(lgfi, 1 << 4, r1_r5);
|
||||||
|
assert(r1_r5[0] == 24);
|
||||||
|
assert(r1_r5[1] == 42);
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
|
@ -286,16 +286,6 @@ int64_t qemu_clock_deadline_ns_all(QEMUClockType type, int attr_mask)
|
||||||
return deadline;
|
return deadline;
|
||||||
}
|
}
|
||||||
|
|
||||||
QEMUClockType timerlist_get_clock(QEMUTimerList *timer_list)
|
|
||||||
{
|
|
||||||
return timer_list->clock->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
QEMUTimerList *qemu_clock_get_main_loop_timerlist(QEMUClockType type)
|
|
||||||
{
|
|
||||||
return main_loop_tlg.tl[type];
|
|
||||||
}
|
|
||||||
|
|
||||||
void timerlist_notify(QEMUTimerList *timer_list)
|
void timerlist_notify(QEMUTimerList *timer_list)
|
||||||
{
|
{
|
||||||
if (timer_list->notify_cb) {
|
if (timer_list->notify_cb) {
|
||||||
|
|
Loading…
Reference in New Issue