mirror of https://github.com/xemu-project/xemu.git
* Mark "gluster" support as deprecated
* Update CI to use macOS 14 instead of 13, and add a macOS 15 job * Use gitlab mirror for advent calendar test images (seems more stable) * Bump timeouts of some tests * Remove CRIS disassembler * Some m68k and s390x cleanups with regards to load and store APIs -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmcDyq4RHHRodXRoQHJl ZGhhdC5jb20ACgkQLtnXdP5wLbU8GQ/8DHcRdrkyqlauH9y41sDnMvKuRley5umw kilvQIRUlNHucqP/kHHQgdf35IF2yxWAoLKjZi/oK90SjSgKCgeRjBzn03dHBGdS Klret8LTNJGXm7qMQIs/0Pt0fa3Lswzd26xpkTaH0IITMi8yjiwgk6sEE/nSkURB vCn2lUfCvWd819+E0rE2ZicI9C6ioNZVm+1imofEgmvtT51it9f4PWSnep88gF8k qSy6HYNdnGjU+R9tY9Xkg7l3IU51AjulW4ZPBO1gDo3dV+t4j85Zn+2wLuAST6hB TMOHEvrUdT9xc5w+C3btYmgsdbsyZwZSmZd/ChsDGLSfnFMA+W6d3NhdhVIHppyQ j4f2evc9bFqNTpcnyUOsgnBlrFImcQMsBJTxqW7LaOLAJCuGzg6F6Ek9sm/oCzYl uGLQeHaKEXZ21G8haXKiy1DUnPfpfkpzNvL+d6dBFtjrWYr2DV0ejbRWRclKoHmG M4gAHlNodvwjIo1Ik46YZzMgwWbfDGNKfQswZkb8asHUyir5MLR6998fWjIf9wYD 4mR0WKNF3aBB9rkNcu59sE2bbn2zBshNyPWmgRGCNzdLAcec4jJCCMGkCoVEPj8S Kng0aTZMgQU5Ify63C3PSrWu2SOinKhxsAz3EfsopDgDUR0ozzpd8G68GCQceKA/ NF4WN23Vf2o= =6TD1 -----END PGP SIGNATURE----- Merge tag 'pull-request-2024-10-07' of https://gitlab.com/thuth/qemu into staging * Mark "gluster" support as deprecated * Update CI to use macOS 14 instead of 13, and add a macOS 15 job * Use gitlab mirror for advent calendar test images (seems more stable) * Bump timeouts of some tests * Remove CRIS disassembler * Some m68k and s390x cleanups with regards to load and store APIs # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmcDyq4RHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbU8GQ/8DHcRdrkyqlauH9y41sDnMvKuRley5umw # kilvQIRUlNHucqP/kHHQgdf35IF2yxWAoLKjZi/oK90SjSgKCgeRjBzn03dHBGdS # Klret8LTNJGXm7qMQIs/0Pt0fa3Lswzd26xpkTaH0IITMi8yjiwgk6sEE/nSkURB # vCn2lUfCvWd819+E0rE2ZicI9C6ioNZVm+1imofEgmvtT51it9f4PWSnep88gF8k # qSy6HYNdnGjU+R9tY9Xkg7l3IU51AjulW4ZPBO1gDo3dV+t4j85Zn+2wLuAST6hB # TMOHEvrUdT9xc5w+C3btYmgsdbsyZwZSmZd/ChsDGLSfnFMA+W6d3NhdhVIHppyQ # j4f2evc9bFqNTpcnyUOsgnBlrFImcQMsBJTxqW7LaOLAJCuGzg6F6Ek9sm/oCzYl # uGLQeHaKEXZ21G8haXKiy1DUnPfpfkpzNvL+d6dBFtjrWYr2DV0ejbRWRclKoHmG # M4gAHlNodvwjIo1Ik46YZzMgwWbfDGNKfQswZkb8asHUyir5MLR6998fWjIf9wYD # 4mR0WKNF3aBB9rkNcu59sE2bbn2zBshNyPWmgRGCNzdLAcec4jJCCMGkCoVEPj8S # Kng0aTZMgQU5Ify63C3PSrWu2SOinKhxsAz3EfsopDgDUR0ozzpd8G68GCQceKA/ # NF4WN23Vf2o= # =6TD1 # -----END PGP SIGNATURE----- # gpg: Signature made Mon 07 Oct 2024 12:49:02 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-07' of https://gitlab.com/thuth/qemu: tests/functional: Bump timeout of some tests tests/functional: Switch back to the gitlab URLs for the advent calendar tests target/s390x: Use explicit big-endian LD/ST API target/s390x: Replace ldtul_p() -> ldq_p() hw/s390x: Use explicit big-endian LD/ST API target/m68k: Use explicit big-endian LD/ST API hw/m68k: Use explicit big-endian LD/ST API gitlab-ci/build-oss-fuzz: print FAILED marker in case the test failed and run all tests disas: Remove CRIS disassembler .gitlab-ci.d/cirrus: Add manual testing of macOS 15 (Sequoia) .gitlab-ci.d/cirrus: Drop support for macOS 13 (Ventura) docs: Mark "gluster" support in QEMU as deprecated Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
2af37e7919
|
@ -628,12 +628,15 @@ build-oss-fuzz:
|
|||
- CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
|
||||
./scripts/oss-fuzz/build.sh
|
||||
- export ASAN_OPTIONS="fast_unwind_on_malloc=0"
|
||||
- failures=0
|
||||
- for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f
|
||||
| grep -v slirp); do
|
||||
grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
|
||||
echo Testing ${fuzzer} ... ;
|
||||
"${fuzzer}" -runs=1 -seed=1 || exit 1 ;
|
||||
"${fuzzer}" -runs=1 -seed=1 || { echo "FAILED:"" ${fuzzer} exit code is $?"; failures=$(($failures+1)); };
|
||||
done
|
||||
- echo "Number of failures:"" $failures"
|
||||
- test $failures = 0
|
||||
|
||||
build-tci:
|
||||
extends: .native_build_job_template
|
||||
|
|
|
@ -60,22 +60,6 @@ x64-freebsd-14-build:
|
|||
CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,xtensa-softmmu
|
||||
TEST_TARGETS: check
|
||||
|
||||
aarch64-macos-13-base-build:
|
||||
extends: .cirrus_build_job
|
||||
variables:
|
||||
NAME: macos-13
|
||||
CIRRUS_VM_INSTANCE_TYPE: macos_instance
|
||||
CIRRUS_VM_IMAGE_SELECTOR: image
|
||||
CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-ventura-base:latest
|
||||
CIRRUS_VM_CPUS: 12
|
||||
CIRRUS_VM_RAM: 24G
|
||||
UPDATE_COMMAND: brew update
|
||||
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
|
||||
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
|
||||
|
||||
aarch64-macos-14-base-build:
|
||||
extends: .cirrus_build_job
|
||||
variables:
|
||||
|
@ -89,5 +73,21 @@ aarch64-macos-14-base-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
|
||||
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
|
||||
|
||||
aarch64-macos-15-base-build:
|
||||
extends: .cirrus_build_job
|
||||
variables:
|
||||
NAME: macos-15
|
||||
CIRRUS_VM_INSTANCE_TYPE: macos_instance
|
||||
CIRRUS_VM_IMAGE_SELECTOR: image
|
||||
CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-sequoia-base:latest
|
||||
CIRRUS_VM_CPUS: 12
|
||||
CIRRUS_VM_RAM: 24G
|
||||
UPDATE_COMMAND: brew update
|
||||
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
|
||||
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
|
||||
QEMU_JOB_OPTIONAL: 1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# THIS FILE WAS AUTO-GENERATED
|
||||
#
|
||||
# $ lcitool variables macos-13 qemu
|
||||
# $ lcitool variables macos-15 qemu
|
||||
#
|
||||
# https://gitlab.com/libvirt/libvirt-ci
|
||||
|
|
@ -224,11 +224,6 @@ F: gdb-xml/avr-cpu.xml
|
|||
F: target/avr/
|
||||
F: tests/functional/test_avr_mega2560.py
|
||||
|
||||
CRIS TCG CPUs
|
||||
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
S: Maintained
|
||||
F: disas/cris.c
|
||||
|
||||
Hexagon TCG CPUs
|
||||
M: Brian Cain <bcain@quicinc.com>
|
||||
S: Supported
|
||||
|
|
|
@ -809,6 +809,8 @@ static int qemu_gluster_open(BlockDriverState *bs, QDict *options,
|
|||
goto out;
|
||||
}
|
||||
|
||||
warn_report_once("'gluster' is deprecated");
|
||||
|
||||
filename = qemu_opt_get(opts, GLUSTER_OPT_FILENAME);
|
||||
|
||||
s->debug = qemu_opt_get_number(opts, GLUSTER_OPT_DEBUG,
|
||||
|
|
2863
disas/cris.c
2863
disas/cris.c
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,4 @@
|
|||
common_ss.add(when: 'CONFIG_ALPHA_DIS', if_true: files('alpha.c'))
|
||||
common_ss.add(when: 'CONFIG_CRIS_DIS', if_true: files('cris.c'))
|
||||
common_ss.add(when: 'CONFIG_HEXAGON_DIS', if_true: files('hexagon.c'))
|
||||
common_ss.add(when: 'CONFIG_HPPA_DIS', if_true: files('hppa.c'))
|
||||
common_ss.add(when: 'CONFIG_M68K_DIS', if_true: files('m68k.c'))
|
||||
|
|
|
@ -377,6 +377,15 @@ Specifying the iSCSI password in plain text on the command line using the
|
|||
used instead, to refer to a ``--object secret...`` instance that provides
|
||||
a password via a file, or encrypted.
|
||||
|
||||
``gluster`` backend (since 9.2)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
According to https://marc.info/?l=fedora-devel-list&m=171934833215726
|
||||
the GlusterFS development effectively ended. Unless the development
|
||||
gains momentum again, the QEMU project will remove the gluster backend
|
||||
in a future release.
|
||||
|
||||
|
||||
Character device options
|
||||
''''''''''''''''''''''''
|
||||
|
||||
|
|
|
@ -14,39 +14,39 @@
|
|||
|
||||
#define BOOTINFO0(base, id) \
|
||||
do { \
|
||||
stw_p(base, id); \
|
||||
stw_be_p(base, id); \
|
||||
base += 2; \
|
||||
stw_p(base, sizeof(struct bi_record)); \
|
||||
stw_be_p(base, sizeof(struct bi_record)); \
|
||||
base += 2; \
|
||||
} while (0)
|
||||
|
||||
#define BOOTINFO1(base, id, value) \
|
||||
do { \
|
||||
stw_p(base, id); \
|
||||
stw_be_p(base, id); \
|
||||
base += 2; \
|
||||
stw_p(base, sizeof(struct bi_record) + 4); \
|
||||
stw_be_p(base, sizeof(struct bi_record) + 4); \
|
||||
base += 2; \
|
||||
stl_p(base, value); \
|
||||
stl_be_p(base, value); \
|
||||
base += 4; \
|
||||
} while (0)
|
||||
|
||||
#define BOOTINFO2(base, id, value1, value2) \
|
||||
do { \
|
||||
stw_p(base, id); \
|
||||
stw_be_p(base, id); \
|
||||
base += 2; \
|
||||
stw_p(base, sizeof(struct bi_record) + 8); \
|
||||
stw_be_p(base, sizeof(struct bi_record) + 8); \
|
||||
base += 2; \
|
||||
stl_p(base, value1); \
|
||||
stl_be_p(base, value1); \
|
||||
base += 4; \
|
||||
stl_p(base, value2); \
|
||||
stl_be_p(base, value2); \
|
||||
base += 4; \
|
||||
} while (0)
|
||||
|
||||
#define BOOTINFOSTR(base, id, string) \
|
||||
do { \
|
||||
stw_p(base, id); \
|
||||
stw_be_p(base, id); \
|
||||
base += 2; \
|
||||
stw_p(base, \
|
||||
stw_be_p(base, \
|
||||
(sizeof(struct bi_record) + strlen(string) + \
|
||||
1 /* null termination */ + 3 /* padding */) & ~3); \
|
||||
base += 2; \
|
||||
|
@ -59,13 +59,13 @@
|
|||
|
||||
#define BOOTINFODATA(base, id, data, len) \
|
||||
do { \
|
||||
stw_p(base, id); \
|
||||
stw_be_p(base, id); \
|
||||
base += 2; \
|
||||
stw_p(base, \
|
||||
stw_be_p(base, \
|
||||
(sizeof(struct bi_record) + len + \
|
||||
2 /* length field */ + 3 /* padding */) & ~3); \
|
||||
base += 2; \
|
||||
stw_p(base, len); \
|
||||
stw_be_p(base, len); \
|
||||
base += 2; \
|
||||
for (unsigned i_ = 0; i_ < len; ++i_) { \
|
||||
stb_p(base++, data[i_]); \
|
||||
|
|
|
@ -359,7 +359,7 @@ static void mcf5208evb_init(MachineState *machine)
|
|||
/* Initial PC is always at offset 4 in firmware binaries */
|
||||
ptr = rom_ptr(0x4, 4);
|
||||
assert(ptr != NULL);
|
||||
env->pc = ldl_p(ptr);
|
||||
env->pc = ldl_be_p(ptr);
|
||||
}
|
||||
|
||||
/* Load kernel. */
|
||||
|
|
|
@ -1036,7 +1036,7 @@ static void next_cube_init(MachineState *machine)
|
|||
/* Initial PC is always at offset 4 in firmware binaries */
|
||||
ptr = rom_ptr(0x01000004, 4);
|
||||
g_assert(ptr != NULL);
|
||||
env->pc = ldl_p(ptr);
|
||||
env->pc = ldl_be_p(ptr);
|
||||
if (env->pc >= 0x01020000) {
|
||||
error_report("'%s' does not seem to be a valid firmware image.",
|
||||
bios_name);
|
||||
|
|
|
@ -684,9 +684,9 @@ static void q800_machine_init(MachineState *machine)
|
|||
|
||||
ptr = rom_ptr(MACROM_ADDR, bios_size);
|
||||
assert(ptr != NULL);
|
||||
stl_phys(cs->as, 0, ldl_p(ptr)); /* reset initial SP */
|
||||
stl_phys(cs->as, 0, ldl_be_p(ptr)); /* reset initial SP */
|
||||
stl_phys(cs->as, 4,
|
||||
MACROM_ADDR + ldl_p(ptr + 4)); /* reset initial PC */
|
||||
MACROM_ADDR + ldl_be_p(ptr + 4)); /* reset initial PC */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -252,8 +252,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **errp)
|
|||
*/
|
||||
romptr = rom_ptr(INITRD_PARM_START, 16);
|
||||
if (romptr) {
|
||||
stq_p(romptr, initrd_offset);
|
||||
stq_p(romptr + 1, initrd_size);
|
||||
stq_be_p(romptr, initrd_offset);
|
||||
stq_be_p(romptr + 1, initrd_size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,26 +55,26 @@ static int list_pci(ClpReqRspListPci *rrb, uint8_t *cc)
|
|||
uint64_t resume_token;
|
||||
|
||||
rc = 0;
|
||||
if (lduw_p(&rrb->request.hdr.len) != 32) {
|
||||
if (lduw_be_p(&rrb->request.hdr.len) != 32) {
|
||||
res_code = CLP_RC_LEN;
|
||||
rc = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((ldl_p(&rrb->request.fmt) & CLP_MASK_FMT) != 0) {
|
||||
if ((ldl_be_p(&rrb->request.fmt) & CLP_MASK_FMT) != 0) {
|
||||
res_code = CLP_RC_FMT;
|
||||
rc = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((ldl_p(&rrb->request.fmt) & ~CLP_MASK_FMT) != 0 ||
|
||||
ldq_p(&rrb->request.reserved1) != 0) {
|
||||
if ((ldl_be_p(&rrb->request.fmt) & ~CLP_MASK_FMT) != 0 ||
|
||||
ldq_be_p(&rrb->request.reserved1) != 0) {
|
||||
res_code = CLP_RC_RESNOT0;
|
||||
rc = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
resume_token = ldq_p(&rrb->request.resume_token);
|
||||
resume_token = ldq_be_p(&rrb->request.resume_token);
|
||||
|
||||
if (resume_token) {
|
||||
pbdev = s390_pci_find_dev_by_idx(s, resume_token);
|
||||
|
@ -87,13 +87,13 @@ static int list_pci(ClpReqRspListPci *rrb, uint8_t *cc)
|
|||
pbdev = s390_pci_find_next_avail_dev(s, NULL);
|
||||
}
|
||||
|
||||
if (lduw_p(&rrb->response.hdr.len) < 48) {
|
||||
if (lduw_be_p(&rrb->response.hdr.len) < 48) {
|
||||
res_code = CLP_RC_8K;
|
||||
rc = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
initial_l2 = lduw_p(&rrb->response.hdr.len);
|
||||
initial_l2 = lduw_be_p(&rrb->response.hdr.len);
|
||||
if ((initial_l2 - LIST_PCI_HDR_LEN) % sizeof(ClpFhListEntry)
|
||||
!= 0) {
|
||||
res_code = CLP_RC_LEN;
|
||||
|
@ -102,33 +102,33 @@ static int list_pci(ClpReqRspListPci *rrb, uint8_t *cc)
|
|||
goto out;
|
||||
}
|
||||
|
||||
stl_p(&rrb->response.fmt, 0);
|
||||
stq_p(&rrb->response.reserved1, 0);
|
||||
stl_p(&rrb->response.mdd, FH_MASK_SHM);
|
||||
stw_p(&rrb->response.max_fn, PCI_MAX_FUNCTIONS);
|
||||
stl_be_p(&rrb->response.fmt, 0);
|
||||
stq_be_p(&rrb->response.reserved1, 0);
|
||||
stl_be_p(&rrb->response.mdd, FH_MASK_SHM);
|
||||
stw_be_p(&rrb->response.max_fn, PCI_MAX_FUNCTIONS);
|
||||
rrb->response.flags = UID_CHECKING_ENABLED;
|
||||
rrb->response.entry_size = sizeof(ClpFhListEntry);
|
||||
|
||||
i = 0;
|
||||
g_l2 = LIST_PCI_HDR_LEN;
|
||||
while (g_l2 < initial_l2 && pbdev) {
|
||||
stw_p(&rrb->response.fh_list[i].device_id,
|
||||
stw_be_p(&rrb->response.fh_list[i].device_id,
|
||||
pci_get_word(pbdev->pdev->config + PCI_DEVICE_ID));
|
||||
stw_p(&rrb->response.fh_list[i].vendor_id,
|
||||
stw_be_p(&rrb->response.fh_list[i].vendor_id,
|
||||
pci_get_word(pbdev->pdev->config + PCI_VENDOR_ID));
|
||||
/* Ignore RESERVED devices. */
|
||||
stl_p(&rrb->response.fh_list[i].config,
|
||||
stl_be_p(&rrb->response.fh_list[i].config,
|
||||
pbdev->state == ZPCI_FS_STANDBY ? 0 : 1 << 31);
|
||||
stl_p(&rrb->response.fh_list[i].fid, pbdev->fid);
|
||||
stl_p(&rrb->response.fh_list[i].fh, pbdev->fh);
|
||||
stl_be_p(&rrb->response.fh_list[i].fid, pbdev->fid);
|
||||
stl_be_p(&rrb->response.fh_list[i].fh, pbdev->fh);
|
||||
|
||||
g_l2 += sizeof(ClpFhListEntry);
|
||||
/* Add endian check for DPRINTF? */
|
||||
trace_s390_pci_list_entry(g_l2,
|
||||
lduw_p(&rrb->response.fh_list[i].vendor_id),
|
||||
lduw_p(&rrb->response.fh_list[i].device_id),
|
||||
ldl_p(&rrb->response.fh_list[i].fid),
|
||||
ldl_p(&rrb->response.fh_list[i].fh));
|
||||
lduw_be_p(&rrb->response.fh_list[i].vendor_id),
|
||||
lduw_be_p(&rrb->response.fh_list[i].device_id),
|
||||
ldl_be_p(&rrb->response.fh_list[i].fid),
|
||||
ldl_be_p(&rrb->response.fh_list[i].fh));
|
||||
pbdev = s390_pci_find_next_avail_dev(s, pbdev);
|
||||
i++;
|
||||
}
|
||||
|
@ -138,13 +138,13 @@ static int list_pci(ClpReqRspListPci *rrb, uint8_t *cc)
|
|||
} else {
|
||||
resume_token = pbdev->fh & FH_MASK_INDEX;
|
||||
}
|
||||
stq_p(&rrb->response.resume_token, resume_token);
|
||||
stw_p(&rrb->response.hdr.len, g_l2);
|
||||
stw_p(&rrb->response.hdr.rsp, CLP_RC_OK);
|
||||
stq_be_p(&rrb->response.resume_token, resume_token);
|
||||
stw_be_p(&rrb->response.hdr.len, g_l2);
|
||||
stw_be_p(&rrb->response.hdr.rsp, CLP_RC_OK);
|
||||
out:
|
||||
if (rc) {
|
||||
trace_s390_pci_list(rc);
|
||||
stw_p(&rrb->response.hdr.rsp, res_code);
|
||||
stw_be_p(&rrb->response.hdr.rsp, res_code);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
@ -172,7 +172,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
return 0;
|
||||
}
|
||||
reqh = (ClpReqHdr *)buffer;
|
||||
req_len = lduw_p(&reqh->len);
|
||||
req_len = lduw_be_p(&reqh->len);
|
||||
if (req_len < 16 || req_len > 8184 || (req_len % 8 != 0)) {
|
||||
s390_program_interrupt(env, PGM_OPERAND, ra);
|
||||
return 0;
|
||||
|
@ -184,7 +184,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
return 0;
|
||||
}
|
||||
resh = (ClpRspHdr *)(buffer + req_len);
|
||||
res_len = lduw_p(&resh->len);
|
||||
res_len = lduw_be_p(&resh->len);
|
||||
if (res_len < 8 || res_len > 8176 || (res_len % 8 != 0)) {
|
||||
s390_program_interrupt(env, PGM_OPERAND, ra);
|
||||
return 0;
|
||||
|
@ -201,11 +201,11 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
}
|
||||
|
||||
if (req_len != 32) {
|
||||
stw_p(&resh->rsp, CLP_RC_LEN);
|
||||
stw_be_p(&resh->rsp, CLP_RC_LEN);
|
||||
goto out;
|
||||
}
|
||||
|
||||
switch (lduw_p(&reqh->cmd)) {
|
||||
switch (lduw_be_p(&reqh->cmd)) {
|
||||
case CLP_LIST_PCI: {
|
||||
ClpReqRspListPci *rrb = (ClpReqRspListPci *)buffer;
|
||||
list_pci(rrb, &cc);
|
||||
|
@ -215,9 +215,9 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
ClpReqSetPci *reqsetpci = (ClpReqSetPci *)reqh;
|
||||
ClpRspSetPci *ressetpci = (ClpRspSetPci *)resh;
|
||||
|
||||
pbdev = s390_pci_find_dev_by_fh(s, ldl_p(&reqsetpci->fh));
|
||||
pbdev = s390_pci_find_dev_by_fh(s, ldl_be_p(&reqsetpci->fh));
|
||||
if (!pbdev) {
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FH);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FH);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -225,17 +225,17 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
case CLP_SET_ENABLE_PCI_FN:
|
||||
switch (reqsetpci->ndas) {
|
||||
case 0:
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_DMAAS);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_DMAAS);
|
||||
goto out;
|
||||
case 1:
|
||||
break;
|
||||
default:
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_RES);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_RES);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (pbdev->fh & FH_MASK_ENABLE) {
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -249,29 +249,29 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
/* Take this opportunity to make sure we are sync'd with host */
|
||||
if (!s390_pci_get_host_fh(pbdev, &pbdev->fh) ||
|
||||
!(pbdev->fh & FH_MASK_ENABLE)) {
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FH);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FH);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
pbdev->fh |= FH_MASK_ENABLE;
|
||||
pbdev->state = ZPCI_FS_ENABLED;
|
||||
stl_p(&ressetpci->fh, pbdev->fh);
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_OK);
|
||||
stl_be_p(&ressetpci->fh, pbdev->fh);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_OK);
|
||||
break;
|
||||
case CLP_SET_DISABLE_PCI_FN:
|
||||
if (!(pbdev->fh & FH_MASK_ENABLE)) {
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP);
|
||||
goto out;
|
||||
}
|
||||
device_cold_reset(DEVICE(pbdev));
|
||||
pbdev->fh &= ~FH_MASK_ENABLE;
|
||||
pbdev->state = ZPCI_FS_DISABLED;
|
||||
stl_p(&ressetpci->fh, pbdev->fh);
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_OK);
|
||||
stl_be_p(&ressetpci->fh, pbdev->fh);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_OK);
|
||||
break;
|
||||
default:
|
||||
trace_s390_pci_unknown("set-pci", reqsetpci->oc);
|
||||
stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP);
|
||||
stw_be_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -280,23 +280,23 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
ClpReqQueryPci *reqquery = (ClpReqQueryPci *)reqh;
|
||||
ClpRspQueryPci *resquery = (ClpRspQueryPci *)resh;
|
||||
|
||||
pbdev = s390_pci_find_dev_by_fh(s, ldl_p(&reqquery->fh));
|
||||
pbdev = s390_pci_find_dev_by_fh(s, ldl_be_p(&reqquery->fh));
|
||||
if (!pbdev) {
|
||||
trace_s390_pci_nodev("query", ldl_p(&reqquery->fh));
|
||||
stw_p(&resquery->hdr.rsp, CLP_RC_SETPCIFN_FH);
|
||||
trace_s390_pci_nodev("query", ldl_be_p(&reqquery->fh));
|
||||
stw_be_p(&resquery->hdr.rsp, CLP_RC_SETPCIFN_FH);
|
||||
goto out;
|
||||
}
|
||||
|
||||
stq_p(&resquery->sdma, pbdev->zpci_fn.sdma);
|
||||
stq_p(&resquery->edma, pbdev->zpci_fn.edma);
|
||||
stw_p(&resquery->pchid, pbdev->zpci_fn.pchid);
|
||||
stw_p(&resquery->vfn, pbdev->zpci_fn.vfn);
|
||||
stq_be_p(&resquery->sdma, pbdev->zpci_fn.sdma);
|
||||
stq_be_p(&resquery->edma, pbdev->zpci_fn.edma);
|
||||
stw_be_p(&resquery->pchid, pbdev->zpci_fn.pchid);
|
||||
stw_be_p(&resquery->vfn, pbdev->zpci_fn.vfn);
|
||||
resquery->flags = pbdev->zpci_fn.flags;
|
||||
resquery->pfgid = pbdev->zpci_fn.pfgid;
|
||||
resquery->pft = pbdev->zpci_fn.pft;
|
||||
resquery->fmbl = pbdev->zpci_fn.fmbl;
|
||||
stl_p(&resquery->fid, pbdev->zpci_fn.fid);
|
||||
stl_p(&resquery->uid, pbdev->zpci_fn.uid);
|
||||
stl_be_p(&resquery->fid, pbdev->zpci_fn.fid);
|
||||
stl_be_p(&resquery->uid, pbdev->zpci_fn.uid);
|
||||
memcpy(resquery->pfip, pbdev->zpci_fn.pfip, CLP_PFIP_NR_SEGMENTS);
|
||||
memcpy(resquery->util_str, pbdev->zpci_fn.util_str, CLP_UTIL_STR_LEN);
|
||||
|
||||
|
@ -304,16 +304,16 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
uint32_t data = pci_get_long(pbdev->pdev->config +
|
||||
PCI_BASE_ADDRESS_0 + (i * 4));
|
||||
|
||||
stl_p(&resquery->bar[i], data);
|
||||
stl_be_p(&resquery->bar[i], data);
|
||||
resquery->bar_size[i] = pbdev->pdev->io_regions[i].size ?
|
||||
ctz64(pbdev->pdev->io_regions[i].size) : 0;
|
||||
trace_s390_pci_bar(i,
|
||||
ldl_p(&resquery->bar[i]),
|
||||
ldl_be_p(&resquery->bar[i]),
|
||||
pbdev->pdev->io_regions[i].size,
|
||||
resquery->bar_size[i]);
|
||||
}
|
||||
|
||||
stw_p(&resquery->hdr.rsp, CLP_RC_OK);
|
||||
stw_be_p(&resquery->hdr.rsp, CLP_RC_OK);
|
||||
break;
|
||||
}
|
||||
case CLP_QUERY_PCI_FNGRP: {
|
||||
|
@ -326,23 +326,23 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
|
|||
if (!group) {
|
||||
/* We do not allow access to unknown groups */
|
||||
/* The group must have been obtained with a vfio device */
|
||||
stw_p(&resgrp->hdr.rsp, CLP_RC_QUERYPCIFG_PFGID);
|
||||
stw_be_p(&resgrp->hdr.rsp, CLP_RC_QUERYPCIFG_PFGID);
|
||||
goto out;
|
||||
}
|
||||
resgrp->fr = group->zpci_group.fr;
|
||||
stq_p(&resgrp->dasm, group->zpci_group.dasm);
|
||||
stq_p(&resgrp->msia, group->zpci_group.msia);
|
||||
stw_p(&resgrp->mui, group->zpci_group.mui);
|
||||
stw_p(&resgrp->i, group->zpci_group.i);
|
||||
stw_p(&resgrp->maxstbl, group->zpci_group.maxstbl);
|
||||
stq_be_p(&resgrp->dasm, group->zpci_group.dasm);
|
||||
stq_be_p(&resgrp->msia, group->zpci_group.msia);
|
||||
stw_be_p(&resgrp->mui, group->zpci_group.mui);
|
||||
stw_be_p(&resgrp->i, group->zpci_group.i);
|
||||
stw_be_p(&resgrp->maxstbl, group->zpci_group.maxstbl);
|
||||
resgrp->version = group->zpci_group.version;
|
||||
resgrp->dtsm = group->zpci_group.dtsm;
|
||||
stw_p(&resgrp->hdr.rsp, CLP_RC_OK);
|
||||
stw_be_p(&resgrp->hdr.rsp, CLP_RC_OK);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
trace_s390_pci_unknown("clp", lduw_p(&reqh->cmd));
|
||||
stw_p(&resh->rsp, CLP_RC_CMD);
|
||||
trace_s390_pci_unknown("clp", lduw_be_p(&reqh->cmd));
|
||||
stw_be_p(&resh->rsp, CLP_RC_CMD);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -914,7 +914,7 @@ int pcistb_service_call(S390CPU *cpu, uint8_t r1, uint8_t r3, uint64_t gaddr,
|
|||
|
||||
for (i = 0; i < len / 8; i++) {
|
||||
result = memory_region_dispatch_write(mr, offset + i * 8,
|
||||
ldq_p(buffer + i * 8),
|
||||
ldq_be_p(buffer + i * 8),
|
||||
MO_64, MEMTXATTRS_UNSPECIFIED);
|
||||
if (result != MEMTX_OK) {
|
||||
s390_program_interrupt(env, PGM_OPERAND, ra);
|
||||
|
@ -935,13 +935,13 @@ specification_error:
|
|||
static int reg_irqs(CPUS390XState *env, S390PCIBusDevice *pbdev, ZpciFib fib)
|
||||
{
|
||||
int ret, len;
|
||||
uint8_t isc = FIB_DATA_ISC(ldl_p(&fib.data));
|
||||
uint8_t isc = FIB_DATA_ISC(ldl_be_p(&fib.data));
|
||||
|
||||
pbdev->routes.adapter.adapter_id = css_get_adapter_id(
|
||||
CSS_IO_ADAPTER_PCI, isc);
|
||||
pbdev->summary_ind = get_indicator(ldq_p(&fib.aisb), sizeof(uint64_t));
|
||||
len = BITS_TO_LONGS(FIB_DATA_NOI(ldl_p(&fib.data))) * sizeof(unsigned long);
|
||||
pbdev->indicator = get_indicator(ldq_p(&fib.aibv), len);
|
||||
pbdev->summary_ind = get_indicator(ldq_be_p(&fib.aisb), sizeof(uint64_t));
|
||||
len = BITS_TO_LONGS(FIB_DATA_NOI(ldl_be_p(&fib.data))) * sizeof(unsigned long);
|
||||
pbdev->indicator = get_indicator(ldq_be_p(&fib.aibv), len);
|
||||
|
||||
ret = map_indicator(&pbdev->routes.adapter, pbdev->summary_ind);
|
||||
if (ret) {
|
||||
|
@ -953,13 +953,13 @@ static int reg_irqs(CPUS390XState *env, S390PCIBusDevice *pbdev, ZpciFib fib)
|
|||
goto out;
|
||||
}
|
||||
|
||||
pbdev->routes.adapter.summary_addr = ldq_p(&fib.aisb);
|
||||
pbdev->routes.adapter.summary_offset = FIB_DATA_AISBO(ldl_p(&fib.data));
|
||||
pbdev->routes.adapter.ind_addr = ldq_p(&fib.aibv);
|
||||
pbdev->routes.adapter.ind_offset = FIB_DATA_AIBVO(ldl_p(&fib.data));
|
||||
pbdev->routes.adapter.summary_addr = ldq_be_p(&fib.aisb);
|
||||
pbdev->routes.adapter.summary_offset = FIB_DATA_AISBO(ldl_be_p(&fib.data));
|
||||
pbdev->routes.adapter.ind_addr = ldq_be_p(&fib.aibv);
|
||||
pbdev->routes.adapter.ind_offset = FIB_DATA_AIBVO(ldl_be_p(&fib.data));
|
||||
pbdev->isc = isc;
|
||||
pbdev->noi = FIB_DATA_NOI(ldl_p(&fib.data));
|
||||
pbdev->sum = FIB_DATA_SUM(ldl_p(&fib.data));
|
||||
pbdev->noi = FIB_DATA_NOI(ldl_be_p(&fib.data));
|
||||
pbdev->sum = FIB_DATA_SUM(ldl_be_p(&fib.data));
|
||||
|
||||
trace_s390_pci_irqs("register", pbdev->routes.adapter.adapter_id);
|
||||
return 0;
|
||||
|
@ -994,9 +994,9 @@ static int reg_ioat(CPUS390XState *env, S390PCIBusDevice *pbdev, ZpciFib fib,
|
|||
uintptr_t ra)
|
||||
{
|
||||
S390PCIIOMMU *iommu = pbdev->iommu;
|
||||
uint64_t pba = ldq_p(&fib.pba);
|
||||
uint64_t pal = ldq_p(&fib.pal);
|
||||
uint64_t g_iota = ldq_p(&fib.iota);
|
||||
uint64_t pba = ldq_be_p(&fib.pba);
|
||||
uint64_t pal = ldq_be_p(&fib.pal);
|
||||
uint64_t g_iota = ldq_be_p(&fib.iota);
|
||||
uint8_t dt = (g_iota >> 2) & 0x7;
|
||||
uint8_t t = (g_iota >> 11) & 0x1;
|
||||
|
||||
|
@ -1289,7 +1289,7 @@ int mpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba, uint8_t ar,
|
|||
}
|
||||
break;
|
||||
case ZPCI_MOD_FC_SET_MEASURE: {
|
||||
uint64_t fmb_addr = ldq_p(&fib.fmb_addr);
|
||||
uint64_t fmb_addr = ldq_be_p(&fib.fmb_addr);
|
||||
|
||||
if (fmb_addr & FMBK_MASK) {
|
||||
cc = ZPCI_PCI_LS_ERR;
|
||||
|
@ -1399,17 +1399,17 @@ int stpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba, uint8_t ar,
|
|||
return 0;
|
||||
}
|
||||
|
||||
stq_p(&fib.pba, pbdev->iommu->pba);
|
||||
stq_p(&fib.pal, pbdev->iommu->pal);
|
||||
stq_p(&fib.iota, pbdev->iommu->g_iota);
|
||||
stq_p(&fib.aibv, pbdev->routes.adapter.ind_addr);
|
||||
stq_p(&fib.aisb, pbdev->routes.adapter.summary_addr);
|
||||
stq_p(&fib.fmb_addr, pbdev->fmb_addr);
|
||||
stq_be_p(&fib.pba, pbdev->iommu->pba);
|
||||
stq_be_p(&fib.pal, pbdev->iommu->pal);
|
||||
stq_be_p(&fib.iota, pbdev->iommu->g_iota);
|
||||
stq_be_p(&fib.aibv, pbdev->routes.adapter.ind_addr);
|
||||
stq_be_p(&fib.aisb, pbdev->routes.adapter.summary_addr);
|
||||
stq_be_p(&fib.fmb_addr, pbdev->fmb_addr);
|
||||
|
||||
data = ((uint32_t)pbdev->isc << 28) | ((uint32_t)pbdev->noi << 16) |
|
||||
((uint32_t)pbdev->routes.adapter.ind_offset << 8) |
|
||||
((uint32_t)pbdev->sum << 7) | pbdev->routes.adapter.summary_offset;
|
||||
stl_p(&fib.data, data);
|
||||
stl_be_p(&fib.data, data);
|
||||
|
||||
out:
|
||||
if (s390_cpu_virt_mem_write(cpu, fiba, ar, (uint8_t *)&fib, sizeof(fib))) {
|
||||
|
|
|
@ -232,10 +232,6 @@ enum bfd_architecture
|
|||
#define bfd_mach_avrxmega5 105
|
||||
#define bfd_mach_avrxmega6 106
|
||||
#define bfd_mach_avrxmega7 107
|
||||
bfd_arch_cris, /* Axis CRIS */
|
||||
#define bfd_mach_cris_v0_v10 255
|
||||
#define bfd_mach_cris_v32 32
|
||||
#define bfd_mach_cris_v10_v32 1032
|
||||
bfd_arch_microblaze, /* Xilinx MicroBlaze. */
|
||||
bfd_arch_moxie, /* The Moxie core. */
|
||||
bfd_arch_ia64, /* HP/Intel ia64 */
|
||||
|
@ -448,8 +444,6 @@ int print_insn_w65 (bfd_vma, disassemble_info*);
|
|||
int print_insn_d10v (bfd_vma, disassemble_info*);
|
||||
int print_insn_v850 (bfd_vma, disassemble_info*);
|
||||
int print_insn_tic30 (bfd_vma, disassemble_info*);
|
||||
int print_insn_crisv32 (bfd_vma, disassemble_info*);
|
||||
int print_insn_crisv10 (bfd_vma, disassemble_info*);
|
||||
int print_insn_microblaze (bfd_vma, disassemble_info*);
|
||||
int print_insn_ia64 (bfd_vma, disassemble_info*);
|
||||
int print_insn_xtensa (bfd_vma, disassemble_info*);
|
||||
|
|
|
@ -63,7 +63,6 @@
|
|||
#pragma GCC poison CPU_INTERRUPT_TGT_INT_2
|
||||
|
||||
#pragma GCC poison CONFIG_ALPHA_DIS
|
||||
#pragma GCC poison CONFIG_CRIS_DIS
|
||||
#pragma GCC poison CONFIG_HPPA_DIS
|
||||
#pragma GCC poison CONFIG_I386_DIS
|
||||
#pragma GCC poison CONFIG_HEXAGON_DIS
|
||||
|
|
|
@ -3061,7 +3061,6 @@ config_target_mak = {}
|
|||
disassemblers = {
|
||||
'alpha' : ['CONFIG_ALPHA_DIS'],
|
||||
'avr' : ['CONFIG_AVR_DIS'],
|
||||
'cris' : ['CONFIG_CRIS_DIS'],
|
||||
'hexagon' : ['CONFIG_HEXAGON_DIS'],
|
||||
'hppa' : ['CONFIG_HPPA_DIS'],
|
||||
'i386' : ['CONFIG_I386_DIS'],
|
||||
|
|
|
@ -3190,12 +3190,18 @@
|
|||
#
|
||||
# @snapshot-access: Since 7.0
|
||||
#
|
||||
# Features:
|
||||
#
|
||||
# @deprecated: Member @gluster is deprecated because GlusterFS
|
||||
# development ceased.
|
||||
#
|
||||
# Since: 2.9
|
||||
##
|
||||
{ 'enum': 'BlockdevDriver',
|
||||
'data': [ 'blkdebug', 'blklogwrites', 'blkreplay', 'blkverify', 'bochs',
|
||||
'cloop', 'compress', 'copy-before-write', 'copy-on-read', 'dmg',
|
||||
'file', 'snapshot-access', 'ftp', 'ftps', 'gluster',
|
||||
'file', 'snapshot-access', 'ftp', 'ftps',
|
||||
{'name': 'gluster', 'features': [ 'deprecated' ] },
|
||||
{'name': 'host_cdrom', 'if': 'HAVE_HOST_BLOCK_DEVICE' },
|
||||
{'name': 'host_device', 'if': 'HAVE_HOST_BLOCK_DEVICE' },
|
||||
'http', 'https',
|
||||
|
|
|
@ -52,7 +52,7 @@ int m68k_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
CPUM68KState *env = cpu_env(cs);
|
||||
uint32_t tmp;
|
||||
|
||||
tmp = ldl_p(mem_buf);
|
||||
tmp = ldl_be_p(mem_buf);
|
||||
|
||||
if (n < 8) {
|
||||
/* D0-D7 */
|
||||
|
|
|
@ -57,15 +57,15 @@ static int cf_fpu_gdb_set_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
if (n < 8) {
|
||||
float_status s;
|
||||
env->fregs[n].d = float64_to_floatx80(ldq_p(mem_buf), &s);
|
||||
env->fregs[n].d = float64_to_floatx80(ldq_be_p(mem_buf), &s);
|
||||
return 8;
|
||||
}
|
||||
switch (n) {
|
||||
case 8: /* fpcontrol */
|
||||
cpu_m68k_set_fpcr(env, ldl_p(mem_buf));
|
||||
cpu_m68k_set_fpcr(env, ldl_be_p(mem_buf));
|
||||
return 4;
|
||||
case 9: /* fpstatus */
|
||||
env->fpsr = ldl_p(mem_buf);
|
||||
env->fpsr = ldl_be_p(mem_buf);
|
||||
return 4;
|
||||
case 10: /* fpiar, not implemented */
|
||||
return 4;
|
||||
|
@ -107,10 +107,10 @@ static int m68k_fpu_gdb_set_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
}
|
||||
switch (n) {
|
||||
case 8: /* fpcontrol */
|
||||
cpu_m68k_set_fpcr(env, ldl_p(mem_buf));
|
||||
cpu_m68k_set_fpcr(env, ldl_be_p(mem_buf));
|
||||
return 4;
|
||||
case 9: /* fpstatus */
|
||||
cpu_m68k_set_fpsr(env, ldl_p(mem_buf));
|
||||
cpu_m68k_set_fpsr(env, ldl_be_p(mem_buf));
|
||||
return 4;
|
||||
case 10: /* fpiar, not implemented */
|
||||
return 4;
|
||||
|
|
|
@ -46,7 +46,7 @@ int s390_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
|||
int s390_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
|
||||
{
|
||||
CPUS390XState *env = cpu_env(cs);
|
||||
target_ulong tmpl = ldtul_p(mem_buf);
|
||||
target_ulong tmpl = ldq_be_p(mem_buf);
|
||||
|
||||
switch (n) {
|
||||
case S390_PSWM_REGNUM:
|
||||
|
@ -88,7 +88,7 @@ static int cpu_write_ac_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
switch (n) {
|
||||
case S390_A0_REGNUM ... S390_A15_REGNUM:
|
||||
env->aregs[n] = ldl_p(mem_buf);
|
||||
env->aregs[n] = ldl_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(env_cpu(env));
|
||||
return 4;
|
||||
default:
|
||||
|
@ -123,10 +123,10 @@ static int cpu_write_fp_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
switch (n) {
|
||||
case S390_FPC_REGNUM:
|
||||
env->fpc = ldl_p(mem_buf);
|
||||
env->fpc = ldl_be_p(mem_buf);
|
||||
return 4;
|
||||
case S390_F0_REGNUM ... S390_F15_REGNUM:
|
||||
*get_freg(env, n - S390_F0_REGNUM) = ldtul_p(mem_buf);
|
||||
*get_freg(env, n - S390_F0_REGNUM) = ldq_be_p(mem_buf);
|
||||
return 8;
|
||||
default:
|
||||
return 0;
|
||||
|
@ -167,11 +167,11 @@ static int cpu_write_vreg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
switch (n) {
|
||||
case S390_V0L_REGNUM ... S390_V15L_REGNUM:
|
||||
env->vregs[n][1] = ldtul_p(mem_buf + 8);
|
||||
env->vregs[n][1] = ldq_be_p(mem_buf + 8);
|
||||
return 8;
|
||||
case S390_V16_REGNUM ... S390_V31_REGNUM:
|
||||
env->vregs[n][0] = ldtul_p(mem_buf);
|
||||
env->vregs[n][1] = ldtul_p(mem_buf + 8);
|
||||
env->vregs[n][0] = ldq_be_p(mem_buf);
|
||||
env->vregs[n][1] = ldq_be_p(mem_buf + 8);
|
||||
return 16;
|
||||
default:
|
||||
return 0;
|
||||
|
@ -203,7 +203,7 @@ static int cpu_write_c_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
switch (n) {
|
||||
case S390_C0_REGNUM ... S390_C15_REGNUM:
|
||||
env->cregs[n] = ldtul_p(mem_buf);
|
||||
env->cregs[n] = ldq_be_p(mem_buf);
|
||||
if (tcg_enabled()) {
|
||||
tlb_flush(env_cpu(env));
|
||||
}
|
||||
|
@ -246,19 +246,19 @@ static int cpu_write_virt_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
switch (n) {
|
||||
case S390_VIRT_CKC_REGNUM:
|
||||
env->ckc = ldtul_p(mem_buf);
|
||||
env->ckc = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(cs);
|
||||
return 8;
|
||||
case S390_VIRT_CPUTM_REGNUM:
|
||||
env->cputm = ldtul_p(mem_buf);
|
||||
env->cputm = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(cs);
|
||||
return 8;
|
||||
case S390_VIRT_BEA_REGNUM:
|
||||
env->gbea = ldtul_p(mem_buf);
|
||||
env->gbea = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(cs);
|
||||
return 8;
|
||||
case S390_VIRT_PREFIX_REGNUM:
|
||||
env->psa = ldtul_p(mem_buf);
|
||||
env->psa = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(cs);
|
||||
return 8;
|
||||
default:
|
||||
|
@ -298,19 +298,19 @@ static int cpu_write_virt_kvm_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
|
||||
switch (n) {
|
||||
case S390_VIRT_KVM_PP_REGNUM:
|
||||
env->pp = ldtul_p(mem_buf);
|
||||
env->pp = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(env_cpu(env));
|
||||
return 8;
|
||||
case S390_VIRT_KVM_PFT_REGNUM:
|
||||
env->pfault_token = ldtul_p(mem_buf);
|
||||
env->pfault_token = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(env_cpu(env));
|
||||
return 8;
|
||||
case S390_VIRT_KVM_PFS_REGNUM:
|
||||
env->pfault_select = ldtul_p(mem_buf);
|
||||
env->pfault_select = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(env_cpu(env));
|
||||
return 8;
|
||||
case S390_VIRT_KVM_PFC_REGNUM:
|
||||
env->pfault_compare = ldtul_p(mem_buf);
|
||||
env->pfault_compare = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(env_cpu(env));
|
||||
return 8;
|
||||
default:
|
||||
|
@ -338,7 +338,7 @@ static int cpu_write_gs_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
|||
S390CPU *cpu = S390_CPU(cs);
|
||||
CPUS390XState *env = &cpu->env;
|
||||
|
||||
env->gscb[n] = ldtul_p(mem_buf);
|
||||
env->gscb[n] = ldq_be_p(mem_buf);
|
||||
cpu_synchronize_post_init(env_cpu(env));
|
||||
return 8;
|
||||
}
|
||||
|
|
|
@ -603,7 +603,7 @@ static int chsc_sei_nt2_have_event(void)
|
|||
#define CHSC_SEI_NT2 (1ULL << 61)
|
||||
static void ioinst_handle_chsc_sei(ChscReq *req, ChscResp *res)
|
||||
{
|
||||
uint64_t selection_mask = ldq_p(&req->param1);
|
||||
uint64_t selection_mask = ldq_be_p(&req->param1);
|
||||
uint8_t *res_flags = (uint8_t *)res->data;
|
||||
int have_event = 0;
|
||||
int have_more = 0;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# https://gitlab.com/libvirt/libvirt-ci
|
||||
|
||||
FROM registry.opensuse.org/opensuse/leap:15.5
|
||||
FROM registry.opensuse.org/opensuse/leap:15.6
|
||||
|
||||
RUN zypper update -y && \
|
||||
zypper install -y \
|
||||
|
|
|
@ -11,15 +11,18 @@ endif
|
|||
|
||||
# Timeouts for individual tests that can be slow e.g. with debugging enabled
|
||||
test_timeouts = {
|
||||
'aarch64_raspi4' : 120,
|
||||
'aarch64_sbsaref' : 600,
|
||||
'aarch64_virt' : 360,
|
||||
'acpi_bits' : 240,
|
||||
'arm_raspi2' : 120,
|
||||
'mips_malta' : 120,
|
||||
'netdev_ethtool' : 180,
|
||||
'ppc_40p' : 240,
|
||||
'ppc64_hv' : 1000,
|
||||
'ppc64_powernv' : 120,
|
||||
'ppc64_pseries' : 120,
|
||||
's390x_ccw_virtio' : 180,
|
||||
'ppc64_powernv' : 240,
|
||||
'ppc64_pseries' : 240,
|
||||
's390x_ccw_virtio' : 240,
|
||||
}
|
||||
|
||||
tests_generic_system = [
|
||||
|
|
|
@ -11,7 +11,7 @@ from qemu_test.utils import archive_extract
|
|||
class VExpressTest(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY16 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day16.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day16.tar.xz',
|
||||
'63311adb2d4c4e7a73214a86d29988add87266a909719c56acfadd026b4110a7')
|
||||
|
||||
def test_arm_vexpressa9(self):
|
||||
|
|
|
@ -13,7 +13,7 @@ from qemu_test.utils import archive_extract
|
|||
class Mcf5208EvbTest(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY07 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day07.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day07.tar.xz',
|
||||
'753c2f3837126b7c6ba92d0b1e0b156e8a2c5131d2d576bb0b9a763fae73c08a')
|
||||
|
||||
def test_m68k_mcf5208evb(self):
|
||||
|
|
|
@ -13,7 +13,7 @@ from qemu_test.utils import archive_extract
|
|||
class OpenRISC1kSimTest(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY20 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day20.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day20.tar.xz',
|
||||
'ff9d7dd7c6bdba325bd85ee85c02db61ff653e129558aeffe6aff55bffb6763a')
|
||||
|
||||
def test_or1k_sim(self):
|
||||
|
|
|
@ -10,7 +10,7 @@ from qemu_test.utils import archive_extract
|
|||
class E500Test(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY19 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day19.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day19.tar.xz',
|
||||
'20b1bb5a8488c664defbb5d283addc91a05335a936c63b3f5ff7eee74b725755')
|
||||
|
||||
def test_ppc64_e500(self):
|
||||
|
|
|
@ -10,7 +10,7 @@ from qemu_test.utils import archive_extract
|
|||
class MacTest(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY15 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day15.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day15.tar.xz',
|
||||
'03e0757c131d2959decf293a3572d3b96c5a53587165bf05ce41b2818a2bccd5')
|
||||
|
||||
def do_day15_test(self):
|
||||
|
|
|
@ -13,7 +13,7 @@ from unittest import skipUnless
|
|||
class R2dTest(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY09 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day09.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day09.tar.xz',
|
||||
'a61b44d2630a739d1380cc4ff4b80981d47ccfd5992f1484ccf48322c35f09ac')
|
||||
|
||||
# This test has a 6-10% failure rate on various hosts that look
|
||||
|
|
|
@ -11,7 +11,7 @@ from qemu_test.utils import archive_extract
|
|||
class Sun4mTest(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY11 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day11.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day11.tar.xz',
|
||||
'c776533ba756bf4dd3f1fc4c024fb50ef0d853e05c5f5ddf0900a32d1eaa49e0')
|
||||
|
||||
def test_sparc_ss20(self):
|
||||
|
|
|
@ -11,7 +11,7 @@ from qemu_test.utils import archive_extract
|
|||
class XTensaLX60Test(LinuxKernelTest):
|
||||
|
||||
ASSET_DAY02 = Asset(
|
||||
'https://www.qemu-advent-calendar.org/2018/download/day02.tar.xz',
|
||||
'https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/day02.tar.xz',
|
||||
'68ff07f9b3fd3df36d015eb46299ba44748e94bfbb2d5295fddc1a8d4a9fd324')
|
||||
|
||||
def test_xtensa_lx60(self):
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 789b4601bce4e01f43fdb6ad4ce5ab4e46674440
|
||||
Subproject commit c0fc6fab5cdc839a70d4148aa9809504bc961967
|
|
@ -202,8 +202,8 @@ try:
|
|||
# Cirrus packages lists for GitLab
|
||||
#
|
||||
generate_cirrus("freebsd-14")
|
||||
generate_cirrus("macos-13")
|
||||
generate_cirrus("macos-14")
|
||||
generate_cirrus("macos-15")
|
||||
|
||||
#
|
||||
# VM packages lists
|
||||
|
|
Loading…
Reference in New Issue