mirror of https://github.com/xemu-project/xemu.git
* m68k: Fix exception frame format for 68010
* Add cdrom test for LoongArch virt machine * Fix qtests when using --without-default-devices * Enable -Wvla * Windows 32-bit removal * Silence warnings in the test-x86-cpuid-compat qtest -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmXY7MMRHHRodXRoQHJl ZGhhdC5jb20ACgkQLtnXdP5wLbWkRg//TCprQ7Gesex/yvMFIZuZk+poEaibxGXU cWp6hneV8selTzBKzBC3VS1n31shd9astNRE95N2fSIfCV6R22y2tfZF2rSOoeog bvqX7KoaEnSsrDS054EGAnuvYQpOGLGth/3Mc9Z791r5I1tYZPJocVnAyi/OB+3q Gr5WzXj6Z/QD7c0f6vZ943wRBO/zc1729KikDUSyfS3Tua+15mAuUIUQdlLNNPct 6aT5e6c967mAYh93AUevd3hgVYXH2W4fH7s1q2pap2hMBw2a43XvlMKJ9CvXPFPg eU6knRPES16BSC2TTphNCBQi9n3rQdion01VsoQEetVBfFa4yA1Ys7ofF5vCa2l8 5EO5X3VQfZeq0ktmrLM7qAO0OMnolIqbeNS97ggOiyL0Q3YXim6cNWf8+OZbGoFR OK88ndmzEXrZq+5w4QBDGLHFU3u8ZeWAM6p7Ht/ZN89ndDYT5bGBwkjVRW5hVgck fmGhgutSqP2/DN5/4nMn8jtmGc65H/rBRilttW8W2JF72rQJYduDnx/A4KUatkHT tC58NwLarF3kF7cebhWvNQDD74ia/35n+fEAmtIHF42YHE6aifss91QrgT+qGG5+ GG12JIoFVDCgE1pkNU7GO53Uqo94Ej8TUOxwF9QfftxnqiktMG7Y/KQRcSA5VvHr laagGgDzHP0= =1hu9 -----END PGP SIGNATURE----- Merge tag 'pull-request-2024-02-23' of https://gitlab.com/thuth/qemu into staging * m68k: Fix exception frame format for 68010 * Add cdrom test for LoongArch virt machine * Fix qtests when using --without-default-devices * Enable -Wvla * Windows 32-bit removal * Silence warnings in the test-x86-cpuid-compat qtest # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmXY7MMRHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbWkRg//TCprQ7Gesex/yvMFIZuZk+poEaibxGXU # cWp6hneV8selTzBKzBC3VS1n31shd9astNRE95N2fSIfCV6R22y2tfZF2rSOoeog # bvqX7KoaEnSsrDS054EGAnuvYQpOGLGth/3Mc9Z791r5I1tYZPJocVnAyi/OB+3q # Gr5WzXj6Z/QD7c0f6vZ943wRBO/zc1729KikDUSyfS3Tua+15mAuUIUQdlLNNPct # 6aT5e6c967mAYh93AUevd3hgVYXH2W4fH7s1q2pap2hMBw2a43XvlMKJ9CvXPFPg # eU6knRPES16BSC2TTphNCBQi9n3rQdion01VsoQEetVBfFa4yA1Ys7ofF5vCa2l8 # 5EO5X3VQfZeq0ktmrLM7qAO0OMnolIqbeNS97ggOiyL0Q3YXim6cNWf8+OZbGoFR # OK88ndmzEXrZq+5w4QBDGLHFU3u8ZeWAM6p7Ht/ZN89ndDYT5bGBwkjVRW5hVgck # fmGhgutSqP2/DN5/4nMn8jtmGc65H/rBRilttW8W2JF72rQJYduDnx/A4KUatkHT # tC58NwLarF3kF7cebhWvNQDD74ia/35n+fEAmtIHF42YHE6aifss91QrgT+qGG5+ # GG12JIoFVDCgE1pkNU7GO53Uqo94Ej8TUOxwF9QfftxnqiktMG7Y/KQRcSA5VvHr # laagGgDzHP0= # =1hu9 # -----END PGP SIGNATURE----- # gpg: Signature made Fri 23 Feb 2024 19:06:43 GMT # 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-02-23' of https://gitlab.com/thuth/qemu: target/i386: do not filter processor tracing features except on KVM .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction .gitlab-ci.d: Drop cross-win32-system job docs: Document that 32-bit Windows is unsupported meson: Enable -Wvla target/ppc/kvm: Replace variable length array in kvmppc_read_hptes() target/ppc/kvm: Replace variable length array in kvmppc_save_htab() tests: skip dbus-display tests that need a console tests/qtest: Fix boot-serial-test when using --without-default-devices tests/cdrom-test: Add cdrom test for LoongArch virt machine target/m68k: Fix exception frame format for 68010 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
dd88d696cc
|
@ -101,11 +101,6 @@ cris-fedora-cross-container:
|
|||
variables:
|
||||
NAME: fedora-cris-cross
|
||||
|
||||
win32-fedora-cross-container:
|
||||
extends: .container_job_template
|
||||
variables:
|
||||
NAME: fedora-win32-cross
|
||||
|
||||
win64-fedora-cross-container:
|
||||
extends: .container_job_template
|
||||
variables:
|
||||
|
|
|
@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
|
|||
IMAGE: debian-mips64el-cross
|
||||
EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
|
||||
|
||||
cross-win32-system:
|
||||
extends: .cross_system_build_job
|
||||
needs:
|
||||
job: win32-fedora-cross-container
|
||||
variables:
|
||||
IMAGE: fedora-win32-cross
|
||||
EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
|
||||
CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
|
||||
microblazeel-softmmu mips64el-softmmu nios2-softmmu
|
||||
artifacts:
|
||||
when: on_success
|
||||
paths:
|
||||
- build/qemu-setup*.exe
|
||||
|
||||
cross-win64-system:
|
||||
extends: .cross_system_build_job
|
||||
needs:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.shared_msys2_builder:
|
||||
msys2-64bit:
|
||||
extends: .base_job_template
|
||||
tags:
|
||||
- shared-windows
|
||||
|
@ -14,9 +14,20 @@
|
|||
stage: build
|
||||
timeout: 100m
|
||||
variables:
|
||||
# Select the "64 bit, gcc and MSVCRT" MSYS2 environment
|
||||
MSYSTEM: MINGW64
|
||||
# This feature doesn't (currently) work with PowerShell, it stops
|
||||
# the echo'ing of commands being run and doesn't show any timing
|
||||
FF_SCRIPT_SECTIONS: 0
|
||||
# do not remove "--without-default-devices"!
|
||||
# commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
|
||||
# changed to compile QEMU with the --without-default-devices switch
|
||||
# for this job, because otherwise the build could not complete within
|
||||
# the project timeout.
|
||||
CONFIGURE_ARGS: --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
|
||||
# qTests don't run successfully with "--without-default-devices",
|
||||
# so let's exclude the qtests from CI for now.
|
||||
TEST_ARGS: --no-suite qtest
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
|
||||
expire_in: 7 days
|
||||
|
@ -72,33 +83,35 @@
|
|||
- .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
|
||||
bison diffutils flex
|
||||
git grep make sed
|
||||
$MINGW_TARGET-binutils
|
||||
$MINGW_TARGET-capstone
|
||||
$MINGW_TARGET-ccache
|
||||
$MINGW_TARGET-curl
|
||||
$MINGW_TARGET-cyrus-sasl
|
||||
$MINGW_TARGET-dtc
|
||||
$MINGW_TARGET-gcc
|
||||
$MINGW_TARGET-glib2
|
||||
$MINGW_TARGET-gnutls
|
||||
$MINGW_TARGET-gtk3
|
||||
$MINGW_TARGET-libgcrypt
|
||||
$MINGW_TARGET-libjpeg-turbo
|
||||
$MINGW_TARGET-libnfs
|
||||
$MINGW_TARGET-libpng
|
||||
$MINGW_TARGET-libssh
|
||||
$MINGW_TARGET-libtasn1
|
||||
$MINGW_TARGET-lzo2
|
||||
$MINGW_TARGET-nettle
|
||||
$MINGW_TARGET-ninja
|
||||
$MINGW_TARGET-pixman
|
||||
$MINGW_TARGET-pkgconf
|
||||
$MINGW_TARGET-python
|
||||
$MINGW_TARGET-SDL2
|
||||
$MINGW_TARGET-SDL2_image
|
||||
$MINGW_TARGET-snappy
|
||||
$MINGW_TARGET-zstd
|
||||
$EXTRA_PACKAGES "
|
||||
mingw-w64-x86_64-binutils
|
||||
mingw-w64-x86_64-capstone
|
||||
mingw-w64-x86_64-ccache
|
||||
mingw-w64-x86_64-curl
|
||||
mingw-w64-x86_64-cyrus-sasl
|
||||
mingw-w64-x86_64-dtc
|
||||
mingw-w64-x86_64-gcc
|
||||
mingw-w64-x86_64-glib2
|
||||
mingw-w64-x86_64-gnutls
|
||||
mingw-w64-x86_64-gtk3
|
||||
mingw-w64-x86_64-libgcrypt
|
||||
mingw-w64-x86_64-libjpeg-turbo
|
||||
mingw-w64-x86_64-libnfs
|
||||
mingw-w64-x86_64-libpng
|
||||
mingw-w64-x86_64-libssh
|
||||
mingw-w64-x86_64-libtasn1
|
||||
mingw-w64-x86_64-libusb
|
||||
mingw-w64-x86_64-lzo2
|
||||
mingw-w64-x86_64-nettle
|
||||
mingw-w64-x86_64-ninja
|
||||
mingw-w64-x86_64-pixman
|
||||
mingw-w64-x86_64-pkgconf
|
||||
mingw-w64-x86_64-python
|
||||
mingw-w64-x86_64-SDL2
|
||||
mingw-w64-x86_64-SDL2_image
|
||||
mingw-w64-x86_64-snappy
|
||||
mingw-w64-x86_64-spice
|
||||
mingw-w64-x86_64-usbredir
|
||||
mingw-w64-x86_64-zstd"
|
||||
- Write-Output "Running build at $(Get-Date -Format u)"
|
||||
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
||||
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
|
||||
|
@ -115,19 +128,3 @@
|
|||
- ..\msys64\usr\bin\bash -lc "make check MTESTARGS='$TEST_ARGS' || { cat meson-logs/testlog.txt; exit 1; } ;"
|
||||
- ..\msys64\usr\bin\bash -lc "ccache --show-stats"
|
||||
- Write-Output "Finished build at $(Get-Date -Format u)"
|
||||
|
||||
msys2-64bit:
|
||||
extends: .shared_msys2_builder
|
||||
variables:
|
||||
MINGW_TARGET: mingw-w64-x86_64
|
||||
MSYSTEM: MINGW64
|
||||
# msys2 only ship these packages for 64-bit, not 32-bit
|
||||
EXTRA_PACKAGES: $MINGW_TARGET-libusb $MINGW_TARGET-usbredir $MINGW_TARGET-spice
|
||||
# do not remove "--without-default-devices"!
|
||||
# commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
|
||||
# changed to compile QEMU with the --without-default-devices switch
|
||||
# for the msys2 64-bit job, due to the build could not complete within
|
||||
CONFIGURE_ARGS: --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
|
||||
# qTests don't run successfully with "--without-default-devices",
|
||||
# so let's exclude the qtests from CI for now.
|
||||
TEST_ARGS: --no-suite qtest
|
||||
|
|
|
@ -139,6 +139,8 @@ unprivileged accounts can create symlinks if Developer Mode is enabled.
|
|||
When Developer Mode is not available/enabled, the SeCreateSymbolicLinkPrivilege
|
||||
privilege is required, or the process must be run as an administrator.
|
||||
|
||||
Only 64-bit Windows is supported.
|
||||
|
||||
.. _Homebrew: https://brew.sh/
|
||||
.. _MacPorts: https://www.macports.org/
|
||||
.. _MSYS2: https://www.msys2.org/
|
||||
|
|
|
@ -659,6 +659,21 @@ This command didn't produce any output already. Removed with no replacement.
|
|||
The ``singlestep`` command has been replaced by the ``one-insn-per-tb``
|
||||
command, which has the same behaviour but a less misleading name.
|
||||
|
||||
Host Architectures
|
||||
------------------
|
||||
|
||||
System emulation on 32-bit Windows hosts (removed in 9.0)
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Windows 11 has no support for 32-bit host installs, and Windows 10 did
|
||||
not support new 32-bit installs, only upgrades. 32-bit Windows support
|
||||
has now been dropped by the MSYS2 project. QEMU also is deprecating
|
||||
and dropping support for 32-bit x86 host deployments in
|
||||
general. 32-bit Windows is therefore no longer a supported host for
|
||||
QEMU. Since all recent x86 hardware from the past >10 years is
|
||||
capable of the 64-bit x86 extensions, a corresponding 64-bit OS should
|
||||
be used instead.
|
||||
|
||||
Guest Emulator ISAs
|
||||
-------------------
|
||||
|
||||
|
|
|
@ -592,6 +592,7 @@ warn_flags = [
|
|||
'-Wstrict-prototypes',
|
||||
'-Wtype-limits',
|
||||
'-Wundef',
|
||||
'-Wvla',
|
||||
'-Wwrite-strings',
|
||||
|
||||
# Then disable some undesirable warnings
|
||||
|
|
|
@ -6412,6 +6412,10 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
|
|||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* If these are changed, they should stay in sync with
|
||||
* x86_cpu_filter_features().
|
||||
*/
|
||||
if (count == 0) {
|
||||
*eax = INTEL_PT_MAX_SUBLEAF;
|
||||
*ebx = INTEL_PT_MINIMAL_EBX;
|
||||
|
@ -7156,7 +7160,12 @@ static void x86_cpu_filter_features(X86CPU *cpu, bool verbose)
|
|||
mark_unavailable_features(cpu, w, unavailable_features, prefix);
|
||||
}
|
||||
|
||||
if (env->features[FEAT_7_0_EBX] & CPUID_7_0_EBX_INTEL_PT) {
|
||||
/*
|
||||
* Check that KVM actually allows the processor tracing features that
|
||||
* are advertised by cpu_x86_cpuid(). Keep these two in sync.
|
||||
*/
|
||||
if ((env->features[FEAT_7_0_EBX] & CPUID_7_0_EBX_INTEL_PT) &&
|
||||
kvm_enabled()) {
|
||||
uint32_t eax_0, ebx_0, ecx_0, edx_0_unused;
|
||||
uint32_t eax_1, ebx_1, ecx_1_unused, edx_1_unused;
|
||||
|
||||
|
|
|
@ -142,7 +142,8 @@ static void m68000_cpu_initfn(Object *obj)
|
|||
}
|
||||
|
||||
/*
|
||||
* Adds BKPT, MOVE-from-SR *now priv instr, and MOVEC, MOVES, RTD
|
||||
* Adds BKPT, MOVE-from-SR *now priv instr, and MOVEC, MOVES, RTD,
|
||||
* format+vector in exception frame.
|
||||
*/
|
||||
static void m68010_cpu_initfn(Object *obj)
|
||||
{
|
||||
|
@ -155,6 +156,7 @@ static void m68010_cpu_initfn(Object *obj)
|
|||
m68k_set_feature(env, M68K_FEATURE_BKPT);
|
||||
m68k_set_feature(env, M68K_FEATURE_MOVEC);
|
||||
m68k_set_feature(env, M68K_FEATURE_MOVEFROMSR_PRIV);
|
||||
m68k_set_feature(env, M68K_FEATURE_EXCEPTION_FORMAT_VEC);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -550,6 +550,8 @@ enum m68k_features {
|
|||
M68K_FEATURE_TRAPCC,
|
||||
/* MOVE from SR privileged (from 68010) */
|
||||
M68K_FEATURE_MOVEFROMSR_PRIV,
|
||||
/* Exception frame with format+vector (from 68010) */
|
||||
M68K_FEATURE_EXCEPTION_FORMAT_VEC,
|
||||
};
|
||||
|
||||
static inline bool m68k_feature(CPUM68KState *env, int feature)
|
||||
|
|
|
@ -52,7 +52,7 @@ throwaway:
|
|||
sp += 2;
|
||||
env->pc = cpu_ldl_mmuidx_ra(env, sp, MMU_KERNEL_IDX, 0);
|
||||
sp += 4;
|
||||
if (m68k_feature(env, M68K_FEATURE_QUAD_MULDIV)) {
|
||||
if (m68k_feature(env, M68K_FEATURE_EXCEPTION_FORMAT_VEC)) {
|
||||
/* all except 68000 */
|
||||
fmt = cpu_lduw_mmuidx_ra(env, sp, MMU_KERNEL_IDX, 0);
|
||||
sp += 2;
|
||||
|
@ -256,7 +256,7 @@ static inline void do_stack_frame(CPUM68KState *env, uint32_t *sp,
|
|||
uint16_t format, uint16_t sr,
|
||||
uint32_t addr, uint32_t retaddr)
|
||||
{
|
||||
if (m68k_feature(env, M68K_FEATURE_QUAD_MULDIV)) {
|
||||
if (m68k_feature(env, M68K_FEATURE_EXCEPTION_FORMAT_VEC)) {
|
||||
/* all except 68000 */
|
||||
CPUState *cs = env_cpu(env);
|
||||
switch (format) {
|
||||
|
|
|
@ -2688,7 +2688,7 @@ int kvmppc_get_htab_fd(bool write, uint64_t index, Error **errp)
|
|||
int kvmppc_save_htab(QEMUFile *f, int fd, size_t bufsize, int64_t max_ns)
|
||||
{
|
||||
int64_t starttime = qemu_clock_get_ns(QEMU_CLOCK_REALTIME);
|
||||
uint8_t buf[bufsize];
|
||||
g_autofree uint8_t *buf = g_malloc(bufsize);
|
||||
ssize_t rc;
|
||||
|
||||
do {
|
||||
|
@ -2770,9 +2770,9 @@ void kvmppc_read_hptes(ppc_hash_pte64_t *hptes, hwaddr ptex, int n)
|
|||
while (i < n) {
|
||||
struct kvm_get_htab_header *hdr;
|
||||
int m = n < HPTES_PER_GROUP ? n : HPTES_PER_GROUP;
|
||||
char buf[sizeof(*hdr) + m * HASH_PTE_SIZE_64];
|
||||
char buf[sizeof(*hdr) + HPTES_PER_GROUP * HASH_PTE_SIZE_64];
|
||||
|
||||
rc = read(fd, buf, sizeof(buf));
|
||||
rc = read(fd, buf, sizeof(*hdr) + m * HASH_PTE_SIZE_64);
|
||||
if (rc < 0) {
|
||||
hw_error("kvmppc_read_hptes: Unable to read HPTEs");
|
||||
}
|
||||
|
|
|
@ -1,111 +0,0 @@
|
|||
# THIS FILE WAS AUTO-GENERATED
|
||||
#
|
||||
# $ lcitool dockerfile --layers all --cross-arch mingw32 fedora-38 qemu
|
||||
#
|
||||
# https://gitlab.com/libvirt/libvirt-ci
|
||||
|
||||
FROM registry.fedoraproject.org/fedora:38
|
||||
|
||||
RUN dnf install -y nosync && \
|
||||
printf '#!/bin/sh\n\
|
||||
if test -d /usr/lib64\n\
|
||||
then\n\
|
||||
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
|
||||
else\n\
|
||||
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
|
||||
fi\n\
|
||||
exec "$@"\n' > /usr/bin/nosync && \
|
||||
chmod +x /usr/bin/nosync && \
|
||||
nosync dnf update -y && \
|
||||
nosync dnf install -y \
|
||||
bash \
|
||||
bc \
|
||||
bison \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
ctags \
|
||||
dbus-daemon \
|
||||
diffutils \
|
||||
findutils \
|
||||
flex \
|
||||
gcc \
|
||||
gcovr \
|
||||
git \
|
||||
glib2-devel \
|
||||
glibc-langpack-en \
|
||||
hostname \
|
||||
llvm \
|
||||
make \
|
||||
meson \
|
||||
mtools \
|
||||
ninja-build \
|
||||
nmap-ncat \
|
||||
openssh-clients \
|
||||
pcre-static \
|
||||
python3 \
|
||||
python3-PyYAML \
|
||||
python3-numpy \
|
||||
python3-opencv \
|
||||
python3-pillow \
|
||||
python3-pip \
|
||||
python3-sphinx \
|
||||
python3-sphinx_rtd_theme \
|
||||
sed \
|
||||
socat \
|
||||
sparse \
|
||||
spice-protocol \
|
||||
swtpm \
|
||||
tar \
|
||||
tesseract \
|
||||
tesseract-langpack-eng \
|
||||
util-linux \
|
||||
which \
|
||||
xorriso \
|
||||
zstd && \
|
||||
nosync dnf autoremove -y && \
|
||||
nosync dnf clean all -y
|
||||
|
||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
||||
ENV LANG "en_US.UTF-8"
|
||||
ENV MAKE "/usr/bin/make"
|
||||
ENV NINJA "/usr/bin/ninja"
|
||||
ENV PYTHON "/usr/bin/python3"
|
||||
|
||||
RUN nosync dnf install -y \
|
||||
mingw32-SDL2 \
|
||||
mingw32-SDL2_image \
|
||||
mingw32-bzip2 \
|
||||
mingw32-curl \
|
||||
mingw32-gcc \
|
||||
mingw32-gcc-c++ \
|
||||
mingw32-gettext \
|
||||
mingw32-glib2 \
|
||||
mingw32-gnutls \
|
||||
mingw32-gtk3 \
|
||||
mingw32-libepoxy \
|
||||
mingw32-libgcrypt \
|
||||
mingw32-libjpeg-turbo \
|
||||
mingw32-libpng \
|
||||
mingw32-libtasn1 \
|
||||
mingw32-nettle \
|
||||
mingw32-nsis \
|
||||
mingw32-pixman \
|
||||
mingw32-pkg-config && \
|
||||
nosync dnf clean all -y && \
|
||||
rpm -qa | sort > /packages.txt && \
|
||||
mkdir -p /usr/libexec/ccache-wrappers && \
|
||||
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
|
||||
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
|
||||
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
|
||||
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
|
||||
|
||||
ENV ABI "i686-w64-mingw32"
|
||||
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
|
||||
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
|
||||
ENV DEF_TARGET_LIST i386-softmmu
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
|
@ -192,11 +192,6 @@ try:
|
|||
trailer=cross_build("s390x-linux-gnu-",
|
||||
"s390x-softmmu,s390x-linux-user"))
|
||||
|
||||
generate_dockerfile("fedora-win32-cross", "fedora-38",
|
||||
cross="mingw32",
|
||||
trailer=cross_build("i686-w64-mingw32-",
|
||||
"i386-softmmu"))
|
||||
|
||||
generate_dockerfile("fedora-win64-cross", "fedora-38",
|
||||
cross="mingw64",
|
||||
trailer=cross_build("x86_64-w64-mingw32-",
|
||||
|
|
|
@ -156,7 +156,7 @@ static const testdef_t tests[] = {
|
|||
"Open Firmware" },
|
||||
{ "ppc64", "powernv8", "", "OPAL" },
|
||||
{ "ppc64", "powernv9", "", "OPAL" },
|
||||
{ "ppc64", "sam460ex", "-device e1000", "8086 100e" },
|
||||
{ "ppc64", "sam460ex", "-device pci-bridge,chassis_nr=2", "1b36 0001" },
|
||||
{ "i386", "isapc", "-cpu qemu32 -M graphics=off", "SeaBIOS" },
|
||||
{ "i386", "pc", "-M graphics=off", "SeaBIOS" },
|
||||
{ "i386", "q35", "-M graphics=off", "SeaBIOS" },
|
||||
|
|
|
@ -271,6 +271,11 @@ int main(int argc, char **argv)
|
|||
const char *virtmachine[] = { "virt", NULL };
|
||||
add_cdrom_param_tests(virtmachine);
|
||||
}
|
||||
} else if (g_str_equal(arch, "loongarch64")) {
|
||||
if (qtest_has_device("virtio-blk-pci")) {
|
||||
const char *virtmachine[] = { "virt", NULL };
|
||||
add_cdrom_param_tests(virtmachine);
|
||||
}
|
||||
} else {
|
||||
const char *nonemachine[] = { "none", NULL };
|
||||
add_cdrom_param_tests(nonemachine);
|
||||
|
|
|
@ -135,6 +135,13 @@ test_dbus_console_registered(GObject *source_object,
|
|||
NULL,
|
||||
#endif
|
||||
res, &err);
|
||||
|
||||
if (g_error_matches(err, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) {
|
||||
g_test_skip("The VM doesn't have a console!");
|
||||
g_main_loop_quit(test->loop);
|
||||
return;
|
||||
}
|
||||
|
||||
g_assert_no_error(err);
|
||||
|
||||
test->listener_conn = g_thread_join(test->thread);
|
||||
|
@ -156,7 +163,7 @@ test_dbus_display_console(void)
|
|||
g_autoptr(GMainLoop) loop = NULL;
|
||||
QTestState *qts = NULL;
|
||||
int pair[2];
|
||||
TestDBusConsoleRegister test;
|
||||
TestDBusConsoleRegister test = { 0, };
|
||||
#ifdef WIN32
|
||||
WSAPROTOCOL_INFOW info;
|
||||
g_autoptr(GVariant) listener = NULL;
|
||||
|
@ -245,7 +252,6 @@ test_dbus_display_keyboard(void)
|
|||
&err));
|
||||
g_assert_no_error(err);
|
||||
|
||||
|
||||
g_assert_cmpint(qtest_inb(qts, 0x64) & 0x1, ==, 0);
|
||||
g_assert_cmpint(qtest_inb(qts, 0x60), ==, 0);
|
||||
|
||||
|
@ -256,6 +262,12 @@ test_dbus_display_keyboard(void)
|
|||
-1,
|
||||
NULL,
|
||||
&err);
|
||||
if (g_error_matches(err, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) {
|
||||
g_test_skip("The VM doesn't have a console!");
|
||||
qtest_quit(qts);
|
||||
return;
|
||||
}
|
||||
|
||||
g_assert_no_error(err);
|
||||
|
||||
/* may be should wait for interrupt? */
|
||||
|
|
Loading…
Reference in New Issue