mirror of https://github.com/xemu-project/xemu.git
Testing and doc updates:
- move default timeout to QemuBaseTests - optimise migration tests to run faster - removed duplicate migration test - add some clarifying language to block options in manual -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmMF7MMACgkQ+9DbCVqe KkTCmgf/eyjET4BObyQEp7QsbdS295eL3If2PxSumCrypMjpmYAFJcQ9POjagExo wh+E8hU587BLzghgjPcsJ4fm3m21bngmAvsczmLcgOMhAaMhH5MRMR0dvHjo7l9F isJ1ro20fCJ2QcFNybAIu4VluwBr9oYBnZ3B7YpL9DDu8x9MmS6UCQkCJ4Y86raW G9IXTHwwiq3D4RiuLccPRZ/WsMZhuNVafFrgJK56GBF7jWI0d0kOar5HyS8pATNL hkAYBTfkrBmEhOA86vMiRmfmpVa+FqSzXkn2quWvJ8HGQ2tmIoboBbGWDExvN0/d pPLoAzDVPEnHAMqarC2RgSQTH0JmJQ== =ODg1 -----END PGP SIGNATURE----- Merge tag 'pull-for-7.1-fixes-240822-3' of https://github.com/stsquad/qemu into staging Testing and doc updates: - move default timeout to QemuBaseTests - optimise migration tests to run faster - removed duplicate migration test - add some clarifying language to block options in manual # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmMF7MMACgkQ+9DbCVqe # KkTCmgf/eyjET4BObyQEp7QsbdS295eL3If2PxSumCrypMjpmYAFJcQ9POjagExo # wh+E8hU587BLzghgjPcsJ4fm3m21bngmAvsczmLcgOMhAaMhH5MRMR0dvHjo7l9F # isJ1ro20fCJ2QcFNybAIu4VluwBr9oYBnZ3B7YpL9DDu8x9MmS6UCQkCJ4Y86raW # G9IXTHwwiq3D4RiuLccPRZ/WsMZhuNVafFrgJK56GBF7jWI0d0kOar5HyS8pATNL # hkAYBTfkrBmEhOA86vMiRmfmpVa+FqSzXkn2quWvJ8HGQ2tmIoboBbGWDExvN0/d # pPLoAzDVPEnHAMqarC2RgSQTH0JmJQ== # =ODg1 # -----END PGP SIGNATURE----- # gpg: Signature made Wed 24 Aug 2022 02:17:55 AM PDT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * tag 'pull-for-7.1-fixes-240822-3' of https://github.com/stsquad/qemu: qemu-options: try and clarify preferred block semantics tests/qtest/migration-test: Remove duplicated test_postcopy from the test plan tests/migration/i386: Speed up the i386 migration test (when using TCG) tests/migration/aarch64: Speed up the aarch64 migration test tests/qtest/migration-test: Only wait for serial output where migration succeeds tests/avocado: push default timeout to QemuBaseTest Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
1f6a638cee
|
@ -1105,6 +1105,19 @@ DEFHEADING()
|
||||||
|
|
||||||
DEFHEADING(Block device options:)
|
DEFHEADING(Block device options:)
|
||||||
|
|
||||||
|
SRST
|
||||||
|
The QEMU block device handling options have a long history and
|
||||||
|
have gone through several iterations as the feature set and complexity
|
||||||
|
of the block layer have grown. Many online guides to QEMU often
|
||||||
|
reference older and deprecated options, which can lead to confusion.
|
||||||
|
|
||||||
|
The recommended modern way to describe disks is to use a combination of
|
||||||
|
``-device`` to specify the hardware device and ``-blockdev`` to
|
||||||
|
describe the backend. The device defines what the guest sees and the
|
||||||
|
backend describes how QEMU handles the data.
|
||||||
|
|
||||||
|
ERST
|
||||||
|
|
||||||
DEF("fda", HAS_ARG, QEMU_OPTION_fda,
|
DEF("fda", HAS_ARG, QEMU_OPTION_fda,
|
||||||
"-fda/-fdb file use 'file' as floppy disk 0/1 image\n", QEMU_ARCH_ALL)
|
"-fda/-fdb file use 'file' as floppy disk 0/1 image\n", QEMU_ARCH_ALL)
|
||||||
DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "", QEMU_ARCH_ALL)
|
DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "", QEMU_ARCH_ALL)
|
||||||
|
|
|
@ -227,6 +227,10 @@ def exec_command_and_wait_for_pattern(test, command,
|
||||||
_console_interaction(test, success_message, failure_message, command + '\r')
|
_console_interaction(test, success_message, failure_message, command + '\r')
|
||||||
|
|
||||||
class QemuBaseTest(avocado.Test):
|
class QemuBaseTest(avocado.Test):
|
||||||
|
|
||||||
|
# default timeout for all tests, can be overridden
|
||||||
|
timeout = 900
|
||||||
|
|
||||||
def _get_unique_tag_val(self, tag_name):
|
def _get_unique_tag_val(self, tag_name):
|
||||||
"""
|
"""
|
||||||
Gets a tag value, if unique for a key
|
Gets a tag value, if unique for a key
|
||||||
|
@ -512,7 +516,6 @@ class LinuxTest(LinuxSSHMixIn, QemuSystemTest):
|
||||||
to start with than the more vanilla `QemuSystemTest` class.
|
to start with than the more vanilla `QemuSystemTest` class.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
timeout = 900
|
|
||||||
distro = None
|
distro = None
|
||||||
username = 'root'
|
username = 'root'
|
||||||
password = 'password'
|
password = 'password'
|
||||||
|
|
|
@ -53,7 +53,6 @@ innerloop:
|
||||||
/* increment the first byte of each page by 1 */
|
/* increment the first byte of each page by 1 */
|
||||||
ldrb w3, [x4]
|
ldrb w3, [x4]
|
||||||
add w3, w3, #1
|
add w3, w3, #1
|
||||||
and w3, w3, #0xff
|
|
||||||
strb w3, [x4]
|
strb w3, [x4]
|
||||||
|
|
||||||
/* make sure QEMU user space can see consistent data as MMU is off */
|
/* make sure QEMU user space can see consistent data as MMU is off */
|
||||||
|
@ -64,7 +63,7 @@ innerloop:
|
||||||
blt innerloop
|
blt innerloop
|
||||||
|
|
||||||
add w5, w5, #1
|
add w5, w5, #1
|
||||||
and w5, w5, #0xff
|
and w5, w5, #0x1f
|
||||||
cmp w5, #0
|
cmp w5, #0
|
||||||
bne mainloop
|
bne mainloop
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,9 @@ unsigned char aarch64_kernel[] = {
|
||||||
0x03, 0x00, 0x80, 0x52, 0xe4, 0x03, 0x00, 0xaa, 0x83, 0x00, 0x00, 0x39,
|
0x03, 0x00, 0x80, 0x52, 0xe4, 0x03, 0x00, 0xaa, 0x83, 0x00, 0x00, 0x39,
|
||||||
0x84, 0x04, 0x40, 0x91, 0x9f, 0x00, 0x01, 0xeb, 0xad, 0xff, 0xff, 0x54,
|
0x84, 0x04, 0x40, 0x91, 0x9f, 0x00, 0x01, 0xeb, 0xad, 0xff, 0xff, 0x54,
|
||||||
0x05, 0x00, 0x80, 0x52, 0xe4, 0x03, 0x00, 0xaa, 0x83, 0x00, 0x40, 0x39,
|
0x05, 0x00, 0x80, 0x52, 0xe4, 0x03, 0x00, 0xaa, 0x83, 0x00, 0x40, 0x39,
|
||||||
0x63, 0x04, 0x00, 0x11, 0x63, 0x1c, 0x00, 0x12, 0x83, 0x00, 0x00, 0x39,
|
0x63, 0x04, 0x00, 0x11, 0x83, 0x00, 0x00, 0x39, 0x24, 0x7e, 0x0b, 0xd5,
|
||||||
0x24, 0x7e, 0x0b, 0xd5, 0x84, 0x04, 0x40, 0x91, 0x9f, 0x00, 0x01, 0xeb,
|
0x84, 0x04, 0x40, 0x91, 0x9f, 0x00, 0x01, 0xeb, 0x4b, 0xff, 0xff, 0x54,
|
||||||
0x2b, 0xff, 0xff, 0x54, 0xa5, 0x04, 0x00, 0x11, 0xa5, 0x1c, 0x00, 0x12,
|
0xa5, 0x04, 0x00, 0x11, 0xa5, 0x10, 0x00, 0x12, 0xbf, 0x00, 0x00, 0x71,
|
||||||
0xbf, 0x00, 0x00, 0x71, 0x81, 0xfe, 0xff, 0x54, 0x43, 0x08, 0x80, 0x52,
|
0xa1, 0xfe, 0xff, 0x54, 0x43, 0x08, 0x80, 0x52, 0x43, 0x00, 0x00, 0x39,
|
||||||
0x43, 0x00, 0x00, 0x39, 0xf1, 0xff, 0xff, 0x17
|
0xf2, 0xff, 0xff, 0x17
|
||||||
};
|
};
|
||||||
|
|
|
@ -50,6 +50,7 @@ innerloop:
|
||||||
jl innerloop
|
jl innerloop
|
||||||
|
|
||||||
inc %bl
|
inc %bl
|
||||||
|
andb $0x3f,%bl
|
||||||
jnz mainloop
|
jnz mainloop
|
||||||
|
|
||||||
mov $66,%ax
|
mov $66,%ax
|
||||||
|
|
|
@ -4,17 +4,17 @@
|
||||||
* the header and the assembler differences in your patch submission.
|
* the header and the assembler differences in your patch submission.
|
||||||
*/
|
*/
|
||||||
unsigned char x86_bootsect[] = {
|
unsigned char x86_bootsect[] = {
|
||||||
0xfa, 0x0f, 0x01, 0x16, 0x74, 0x7c, 0x66, 0xb8, 0x01, 0x00, 0x00, 0x00,
|
0xfa, 0x0f, 0x01, 0x16, 0x78, 0x7c, 0x66, 0xb8, 0x01, 0x00, 0x00, 0x00,
|
||||||
0x0f, 0x22, 0xc0, 0x66, 0xea, 0x20, 0x7c, 0x00, 0x00, 0x08, 0x00, 0x00,
|
0x0f, 0x22, 0xc0, 0x66, 0xea, 0x20, 0x7c, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x92, 0x0c, 0x02,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x92, 0x0c, 0x02,
|
||||||
0xe6, 0x92, 0xb8, 0x10, 0x00, 0x00, 0x00, 0x8e, 0xd8, 0x66, 0xb8, 0x41,
|
0xe6, 0x92, 0xb8, 0x10, 0x00, 0x00, 0x00, 0x8e, 0xd8, 0x66, 0xb8, 0x41,
|
||||||
0x00, 0x66, 0xba, 0xf8, 0x03, 0xee, 0xb3, 0x00, 0xb8, 0x00, 0x00, 0x10,
|
0x00, 0x66, 0xba, 0xf8, 0x03, 0xee, 0xb3, 0x00, 0xb8, 0x00, 0x00, 0x10,
|
||||||
0x00, 0xfe, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x40,
|
0x00, 0xfe, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x40,
|
||||||
0x06, 0x7c, 0xf2, 0xfe, 0xc3, 0x75, 0xe9, 0x66, 0xb8, 0x42, 0x00, 0x66,
|
0x06, 0x7c, 0xf2, 0xfe, 0xc3, 0x80, 0xe3, 0x3f, 0x75, 0xe6, 0x66, 0xb8,
|
||||||
0xba, 0xf8, 0x03, 0xee, 0xeb, 0xde, 0x66, 0x90, 0x00, 0x00, 0x00, 0x00,
|
0x42, 0x00, 0x66, 0xba, 0xf8, 0x03, 0xee, 0xeb, 0xdb, 0x8d, 0x76, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x9a, 0xcf, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
|
||||||
0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, 0x27, 0x00, 0x5c, 0x7c,
|
0x00, 0x9a, 0xcf, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x27, 0x00, 0x60, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
|
|
@ -1307,7 +1307,9 @@ static void test_precopy_common(MigrateCommon *args)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Wait for the first serial output from the source */
|
/* Wait for the first serial output from the source */
|
||||||
wait_for_serial("src_serial");
|
if (args->result == MIG_TEST_SUCCEED) {
|
||||||
|
wait_for_serial("src_serial");
|
||||||
|
}
|
||||||
|
|
||||||
if (!args->connect_uri) {
|
if (!args->connect_uri) {
|
||||||
g_autofree char *local_connect_uri =
|
g_autofree char *local_connect_uri =
|
||||||
|
@ -2459,7 +2461,6 @@ int main(int argc, char **argv)
|
||||||
module_call_init(MODULE_INIT_QOM);
|
module_call_init(MODULE_INIT_QOM);
|
||||||
|
|
||||||
if (has_uffd) {
|
if (has_uffd) {
|
||||||
qtest_add_func("/migration/postcopy/unix", test_postcopy);
|
|
||||||
qtest_add_func("/migration/postcopy/plain", test_postcopy);
|
qtest_add_func("/migration/postcopy/plain", test_postcopy);
|
||||||
qtest_add_func("/migration/postcopy/recovery/plain",
|
qtest_add_func("/migration/postcopy/recovery/plain",
|
||||||
test_postcopy_recovery);
|
test_postcopy_recovery);
|
||||||
|
|
Loading…
Reference in New Issue