mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
Merge tag 'pull-request-2024-03-25' of https://gitlab.com/thuth/qemu into staging
* Fix timeouts in Travis-CI jobs * Mark devices with user_creatable = false that can crash QEMU otherwise * Fix s390x TEST-AND-SET TCG instruction emulation * Move pc955* devices to hw/gpio/ # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmYBhdgRHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbVcfA/9FulEN4HrjD3ObyboA+WfibXURwChui98 # 8LvL/fAGe3BZXQtspuNmPyrKRtIOrIwHJyFuxf2N5+8BuvGhEHQIuvIhQIj/rvfy # X14KlldmQ3w3HlI3Ud4YiebLyK3AAFC2ApIywzFsnN+HoaHJR2EyDIb+T7OsGJZf # ZLE/Z7qANxoNeZ+a3+rQR3SVpijyS3fXxDSaILrq2uW4kCCs/55O8Rt3Qb+PFSVd # fF+OlpG6o+z73ACZc1u9Io4IO1ZZc/NdkmDTNz4HknkvJLTLF6kOECAxLl0ytgAG # YRzBGKes29Zpa9wn/9rc75/OYNS0Ks+B19sQnijWUNX0zq5FkReXNXiyVcbT7d4p # 6jFzlFnjj4ifB8uQkZTGcx/lL4s4VkPzF+f7fgHq9CKNrNsx8uca0TyQ8s4y+NGb # C98kJdHd+QhCcuNnAbifCwuFaxQ8C4BdgzxVbU/sGDKNkINNkiTp+uue4TxnRKvV # MfhqdnWRvqgZ0Rl4TxqcNfODK72Z1YNv3933OKE/mRJYS1Q529TIq4vfp8WIMsWQ # 7+ipo4WKXhkiSOJZD6AkCoFum1W8yaDzUDJTw2Xt2bPBL3+FXcQyKkKVUMfzIJ8M # KLe0Bb9W/pYU1ToTciTP0dkQF/02tG0Vik273445wPgH0x8OyHJkPF/ny1a7lKFO # 5jreYdMxWdc= # =lfZM # -----END PGP SIGNATURE----- # gpg: Signature made Mon 25 Mar 2024 14:10:32 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-03-25' of https://gitlab.com/thuth/qemu: tests/tcg/s390x: Test TEST AND SET target/s390x: Use mutable temporary value for op_ts libqos/virtio.c: Correct 'flags' reading in qvirtqueue_kick misc/pca955*: Move models under hw/gpio aspeed: Make the ast1030-a1 SoC not user creatable aspeed: Make the ast2600-a3 SoC not user creatable hw/microblaze: Do not allow xlnx-zynqmp-pmu-soc to be created by the user .travis.yml: Remove the unused xfslib-dev package .travis.yml: Shorten the runtime of the problematic jobs Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@ -394,7 +394,7 @@ void qvirtqueue_kick(QTestState *qts, QVirtioDevice *d, QVirtQueue *vq,
|
||||
qvirtio_writew(d, qts, vq->avail + 2, idx + 1);
|
||||
|
||||
/* Must read after idx is updated */
|
||||
flags = qvirtio_readw(d, qts, vq->avail);
|
||||
flags = qvirtio_readw(d, qts, vq->used);
|
||||
avail_event = qvirtio_readw(d, qts, vq->used + 4 +
|
||||
sizeof(struct vring_used_elem) * vq->size);
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "libqtest.h"
|
||||
#include "libqos/qgraph.h"
|
||||
#include "libqos/i2c.h"
|
||||
#include "hw/misc/pca9552_regs.h"
|
||||
#include "hw/gpio/pca9552_regs.h"
|
||||
|
||||
#define PCA9552_TEST_ID "pca9552-test"
|
||||
#define PCA9552_TEST_ADDR 0x60
|
||||
|
@ -8,8 +8,8 @@
|
||||
*/
|
||||
#include "qemu/osdep.h"
|
||||
#include "libqtest.h"
|
||||
#include "hw/misc/pca9554_regs.h"
|
||||
#include "hw/misc/pca9552_regs.h"
|
||||
#include "hw/gpio/pca9554_regs.h"
|
||||
#include "hw/gpio/pca9552_regs.h"
|
||||
#include "pnv-xscom.h"
|
||||
|
||||
#define PPC_BIT(bit) (0x8000000000000000ULL >> (bit))
|
||||
|
@ -47,6 +47,7 @@ TESTS+=add-logical-with-carry
|
||||
TESTS+=lae
|
||||
TESTS+=cvd
|
||||
TESTS+=cvb
|
||||
TESTS+=ts
|
||||
|
||||
cdsg: CFLAGS+=-pthread
|
||||
cdsg: LDFLAGS+=-pthread
|
||||
|
35
tests/tcg/s390x/ts.c
Normal file
35
tests/tcg/s390x/ts.c
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Test the TEST AND SET instruction.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static int ts(char *p)
|
||||
{
|
||||
int cc;
|
||||
|
||||
asm("ts %[p]\n"
|
||||
"ipm %[cc]"
|
||||
: [cc] "=r" (cc)
|
||||
, [p] "+Q" (*p)
|
||||
: : "cc");
|
||||
|
||||
return (cc >> 28) & 3;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char c;
|
||||
|
||||
c = 0x80;
|
||||
assert(ts(&c) == 1);
|
||||
assert(c == 0xff);
|
||||
|
||||
c = 0x7f;
|
||||
assert(ts(&c) == 0);
|
||||
assert(c == 0xff);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
Reference in New Issue
Block a user