4 changes: 2 additions & 2 deletions target/riscv/insn_trans/trans_rvzfh.c.inc
Expand Up @@ -305,7 +305,7 @@ static bool trans_fsgnjn_h(DisasContext *ctx, arg_fsgnjn_h *a)
tcg_gen_and_i64(dest, mask, rs1);
tcg_gen_or_i64(dest, dest, rs2);
}
/* signed-extended intead of nanboxing for result if enable zfinx */
/* signed-extended instead of nanboxing for result if enable zfinx */
if (ctx->cfg_ptr->ext_zfinx) {
tcg_gen_ext16s_i64(dest, dest);
}
Expand Down Expand Up @@ -349,7 +349,7 @@ static bool trans_fsgnjx_h(DisasContext *ctx, arg_fsgnjx_h *a)
tcg_gen_andi_i64(dest, rs2, MAKE_64BIT_MASK(15, 1));
tcg_gen_xor_i64(dest, rs1, dest);
}
/* signed-extended intead of nanboxing for result if enable zfinx */
/* signed-extended instead of nanboxing for result if enable zfinx */
if (ctx->cfg_ptr->ext_zfinx) {
tcg_gen_ext16s_i64(dest, dest);
}
Expand Down
2 changes: 1 addition & 1 deletion target/riscv/monitor.c
Expand Up @@ -55,7 +55,7 @@ static void print_pte_header(Monitor *mon)
static void print_pte(Monitor *mon, int va_bits, target_ulong vaddr,
hwaddr paddr, target_ulong size, int attr)
{
/* santity check on vaddr */
/* sanity check on vaddr */
if (vaddr >= (1UL << va_bits)) {
return;
}
Expand Down
2 changes: 1 addition & 1 deletion target/s390x/kvm/trace-events
@@ -1,4 +1,4 @@
# See docs/devel/tracing.txt for syntax documentation.
# See docs/devel/tracing.rst for syntax documentation.

# kvm.c
kvm_enable_cmma(int rc) "CMMA: enabling with result code %d"
Expand Down
4 changes: 2 additions & 2 deletions tests/avocado/acpi-bits.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# group: rw quick
# Exercize QEMU generated ACPI/SMBIOS tables using biosbits,
# Exercise QEMU generated ACPI/SMBIOS tables using biosbits,
# https://biosbits.org/
#
# This program is free software; you can redistribute it and/or modify
Expand Down Expand Up @@ -366,7 +366,7 @@ def tearDown(self):
super().tearDown()

def test_acpi_smbios_bits(self):
"""The main test case implementaion."""
"""The main test case implementation."""

iso_file = os.path.join(self._workDir,
'bits-%d.iso' %self._bitsInternalVer)
Expand Down
4 changes: 2 additions & 2 deletions tests/avocado/acpi-bits/bits-tests/testacpi.py2
Expand Up @@ -273,8 +273,8 @@ def test_rsdp():

# Checksum the first 20 bytes per ACPI 1.0
csum = sum(ord(c) for c in data[:20]) % 0x100
testsuite.test('ACPI 1.0 table first 20 bytes cummulative checksum must equal 0', csum == 0)
testsuite.print_detail("Cummulative checksum = {} (Expected 0)".format(csum))
testsuite.test('ACPI 1.0 table first 20 bytes cumulative checksum must equal 0', csum == 0)
testsuite.print_detail("Cumulative checksum = {} (Expected 0)".format(csum))

test_table_checksum(data)
rsdp = acpi.parse_rsdp()
Expand Down
2 changes: 1 addition & 1 deletion tests/decode/err_pattern_group_ident2.decode
Expand Up @@ -7,5 +7,5 @@
{
top 00000000 00000000 00000000 00000000
sub1 00000000 00000000 00000000 ........ %sub1
# comments are suposed to be indented
# comments are supposed to be indented
}
2 changes: 1 addition & 1 deletion tests/docker/common.rc
Expand Up @@ -12,7 +12,7 @@
# the top-level directory.

# This might be set by ENV of a docker container... it is always
# overriden by TARGET_LIST if the user sets it. We special case
# overridden by TARGET_LIST if the user sets it. We special case
# "none" to allow for other options like --disable-tcg to restrict the
# builds we eventually do.
if test "$DEF_TARGET_LIST" = "none"; then
Expand Down
2 changes: 1 addition & 1 deletion tests/migration/guestperf-batch.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Migration test batch comparison invokation
# Migration test batch comparison invocation
#
# Copyright (c) 2016 Red Hat, Inc.
#
Expand Down
2 changes: 1 addition & 1 deletion tests/migration/guestperf.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Migration test direct invokation command
# Migration test direct invocation command
#
# Copyright (c) 2016 Red Hat, Inc.
#
Expand Down
2 changes: 1 addition & 1 deletion tests/plugin/mem.c
Expand Up @@ -98,7 +98,7 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id,
} else if (g_strcmp0(tokens[1], "rw") == 0) {
rw = QEMU_PLUGIN_MEM_RW;
} else {
fprintf(stderr, "invaild value for argument track: %s\n", opt);
fprintf(stderr, "invalid value for argument track: %s\n", opt);
return -1;
}
} else if (g_strcmp0(tokens[0], "inline") == 0) {
Expand Down
2 changes: 1 addition & 1 deletion tests/qapi-schema/bad-if-not.json
@@ -1,3 +1,3 @@
# check 'if not' with empy argument
# check 'if not' with empty argument
{ 'struct': 'TestIfStruct', 'data': { 'foo': 'int' },
'if': { 'not': '' } }
2 changes: 1 addition & 1 deletion tests/qemu-iotests/029
Expand Up @@ -39,7 +39,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
. ./common.filter
. ./common.pattern

# Any format supporting intenal snapshots
# Any format supporting internal snapshots
_supported_fmt qcow2
_supported_proto generic
# Internal snapshots are (currently) impossible with refcount_bits=1,
Expand Down
8 changes: 4 additions & 4 deletions tests/qemu-iotests/040
Expand Up @@ -845,7 +845,7 @@ class TestCommitWithFilters(iotests.QMPTestCase):
self.assertIsNone(self.vm.node_info('cow-2'))
self.assertIsNotNone(self.vm.node_info('cow-1'))

# 2 has been comitted into 1
# 2 has been committed into 1
self.pattern_files[2] = self.img1

def test_commit_through_filter(self):
Expand All @@ -863,7 +863,7 @@ class TestCommitWithFilters(iotests.QMPTestCase):
self.assertIsNone(self.vm.node_info('bottom-filter'))
self.assertIsNotNone(self.vm.node_info('cow-0'))

# 1 has been comitted into 0
# 1 has been committed into 0
self.pattern_files[1] = self.img0

def test_filtered_active_commit_with_filter(self):
Expand Down Expand Up @@ -900,7 +900,7 @@ class TestCommitWithFilters(iotests.QMPTestCase):
drv0 = next(dev for dev in blockdevs if dev['qdev'] == 'drv0')
self.assertEqual(drv0['inserted']['node-name'], 'cow-2')

# 3 has been comitted into 2
# 3 has been committed into 2
self.pattern_files[3] = self.img2

def test_filtered_active_commit_without_filter(self):
Expand All @@ -916,7 +916,7 @@ class TestCommitWithFilters(iotests.QMPTestCase):
self.assertIsNone(self.vm.node_info('cow-3'))
self.assertIsNotNone(self.vm.node_info('cow-2'))

# 3 has been comitted into 2
# 3 has been committed into 2
self.pattern_files[3] = self.img2

class TestCommitWithOverriddenBacking(iotests.QMPTestCase):
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/046
Expand Up @@ -125,7 +125,7 @@ aio_flush
EOF

# Sequential write, but the next cluster is already allocated
# and phyiscally in the right position
# and physically in the right position
cat <<EOF
write -P 89 0x80000 0x1000
write -P 90 0x96000 0x8000
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/059
Expand Up @@ -182,7 +182,7 @@ done
echo
echo "=== Testing afl image with a very large capacity ==="
_use_sample_img afl9.vmdk.bz2
_img_info | grep -q 'Cannot allocate memory' && _notrun "Insufficent memory, skipped test"
_img_info | grep -q 'Cannot allocate memory' && _notrun "Insufficient memory, skipped test"
_img_info
_cleanup_test_img

Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/061
Expand Up @@ -49,7 +49,7 @@ _supported_os Linux
# we have explicit tests for various cluster sizes, the remaining tests
# require the default 64k cluster
# we don't have explicit tests for zstd qcow2 compression type, as zstd may be
# not compiled in. And we can't create compat images with comression type
# not compiled in. And we can't create compat images with compression type
# extension
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' data_file \
cluster_size compression_type
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/071
Expand Up @@ -41,7 +41,7 @@ _supported_fmt qcow2
_supported_proto file fuse
_require_drivers blkdebug blkverify
# blkdebug can only inject errors on bs->file, not on the data_file,
# so thie test does not work with external data files
# so this test does not work with external data files
_unsupported_imgopts data_file

do_run_qemu()
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/181
Expand Up @@ -109,7 +109,7 @@ if [ ${QEMU_STATUS[$dest]} -lt 0 ]; then
_notrun 'Postcopy is not supported'
fi

_send_qemu_cmd $src 'migrate_set_parameter max_bandwidth 4k' "(qemu)"
_send_qemu_cmd $src 'migrate_set_parameter max-bandwidth 4k' "(qemu)"
_send_qemu_cmd $src 'migrate_set_capability postcopy-ram on' "(qemu)"
_send_qemu_cmd $src "migrate -d unix:${MIG_SOCKET}" "(qemu)"
_send_qemu_cmd $src 'migrate_start_postcopy' "(qemu)"
Expand Down
10 changes: 5 additions & 5 deletions tests/qemu-iotests/197
Expand Up @@ -93,7 +93,7 @@ output=$($QEMU_IO -f qcow2 -C -c "read -P 0 1k $((2*1024*1024*1024 - 512))" \
"$TEST_WRAP" 2>&1 | _filter_qemu_io)
case $output in
*allocate*)
_notrun "Insufficent memory to run test" ;;
_notrun "Insufficient memory to run test" ;;
*) printf '%s\n' "$output" ;;
esac
$QEMU_IO -f qcow2 -C -c "read -P 0 $((3*1024*1024*1024 + 1024)) 1k" \
Expand Down Expand Up @@ -136,18 +136,18 @@ IMGPROTO=file IMGFMT=qcow2 TEST_IMG_FILE="$TEST_WRAP" \
$QEMU_IO -c "write -P 0xaa 0 64k" "$TEST_IMG" | _filter_qemu_io

# Allocate individual subclusters in the top image, and not the whole cluster
$QEMU_IO -c "write -P 0xbb 28K 2K" -c "write -P 0xcc 34K 2K" "$TEST_WRAP" \
$QEMU_IO -f qcow2 -c "write -P 0xbb 28K 2K" -c "write -P 0xcc 34K 2K" "$TEST_WRAP" \
| _filter_qemu_io

# Only 2 subclusters should be allocated in the top image at this point
$QEMU_IMG map "$TEST_WRAP" | _filter_qemu_img_map
$QEMU_IO -f qcow2 -c map "$TEST_WRAP"

# Actual copy-on-read operation
$QEMU_IO -C -c "read -P 0xaa 30K 4K" "$TEST_WRAP" | _filter_qemu_io
$QEMU_IO -f qcow2 -C -c "read -P 0xaa 30K 4K" "$TEST_WRAP" | _filter_qemu_io

# And here we should have 4 subclusters allocated right in the middle of the
# top image. Make sure the whole cluster remains unallocated
$QEMU_IMG map "$TEST_WRAP" | _filter_qemu_img_map
$QEMU_IO -f qcow2 -c map "$TEST_WRAP"

_check_test_img

Expand Down
18 changes: 8 additions & 10 deletions tests/qemu-iotests/197.out
Expand Up @@ -42,17 +42,15 @@ wrote 2048/2048 bytes at offset 28672
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 2048/2048 bytes at offset 34816
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Offset Length File
0 0x7000 TEST_DIR/t.IMGFMT
0x7000 0x800 TEST_DIR/t.wrap.IMGFMT
0x7800 0x1000 TEST_DIR/t.IMGFMT
0x8800 0x800 TEST_DIR/t.wrap.IMGFMT
0x9000 0x7000 TEST_DIR/t.IMGFMT
28 KiB (0x7000) bytes not allocated at offset 0 bytes (0x0)
2 KiB (0x800) bytes allocated at offset 28 KiB (0x7000)
4 KiB (0x1000) bytes not allocated at offset 30 KiB (0x7800)
2 KiB (0x800) bytes allocated at offset 34 KiB (0x8800)
28 KiB (0x7000) bytes not allocated at offset 36 KiB (0x9000)
read 4096/4096 bytes at offset 30720
4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Offset Length File
0 0x7000 TEST_DIR/t.IMGFMT
0x7000 0x2000 TEST_DIR/t.wrap.IMGFMT
0x9000 0x7000 TEST_DIR/t.IMGFMT
28 KiB (0x7000) bytes not allocated at offset 0 bytes (0x0)
8 KiB (0x2000) bytes allocated at offset 28 KiB (0x7000)
28 KiB (0x7000) bytes not allocated at offset 36 KiB (0x9000)
No errors were found on the image.
*** done
2 changes: 1 addition & 1 deletion tests/qemu-iotests/215
Expand Up @@ -95,7 +95,7 @@ output=$($QEMU_IO \
2>&1 | _filter_qemu_io)
case $output in
*allocate*)
_notrun "Insufficent memory to run test" ;;
_notrun "Insufficient memory to run test" ;;
*) printf '%s\n' "$output" ;;
esac
$QEMU_IO \
Expand Down
4 changes: 2 additions & 2 deletions tests/qemu-iotests/298
Expand Up @@ -140,8 +140,8 @@ class TestTruncate(iotests.QMPTestCase):
stat = os.stat(disk)
refstat = os.stat(refdisk)

# Probably we'll want preallocate filter to keep align to cluster when
# shrink preallocation, so, ignore small differece
# The preallocate filter may keep cluster alignment when shrinking,
# so ignore small differences
self.assertLess(abs(stat.st_size - refstat.st_size), 64 * 1024)

# Preallocate filter may leak some internal clusters (for example, if
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/pylintrc
Expand Up @@ -19,7 +19,7 @@ disable=invalid-name,
too-many-public-methods,
# pylint warns about Optional[] etc. as unsubscriptable in 3.9
unsubscriptable-object,
# pylint's static analysis causes false positivies for file_path();
# pylint's static analysis causes false positives for file_path();
# If we really care to make it statically knowable, we'll use mypy.
unbalanced-tuple-unpacking,
# Sometimes we need to disable a newly introduced pylint warning.
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/ahci-test.c
Expand Up @@ -330,7 +330,7 @@ static void ahci_test_pci_spec(AHCIQState *ahci)
ASSERT_BIT_CLEAR(datal, ~0xFF);
g_assert_cmphex(datal, !=, 0);

/* Check specification adherence for capability extenstions. */
/* Check specification adherence for capability extensions. */
data = qpci_config_readw(ahci->dev, datal);

switch (ahci->fingerprint) {
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/bcm2835-dma-test.c
Expand Up @@ -25,7 +25,7 @@

#define BCM2708_DMA_INT_STATUS 0xfe0

/* DMA Trasfer Info fields: */
/* DMA Transfer Info fields: */
#define BCM2708_DMA_INT_EN (1 << 0)
#define BCM2708_DMA_D_INC (1 << 4)
#define BCM2708_DMA_S_INC (1 << 8)
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/bios-tables-test.c
Expand Up @@ -26,7 +26,7 @@
* 4. Run
* make check V=2
* this will produce a bunch of warnings about differences
* beween actual and expected ACPI tables. If you have IASL installed,
* between actual and expected ACPI tables. If you have IASL installed,
* they will also be disassembled so you can look at the disassembled
* output. If not - disassemble them yourself in any way you like.
* Look at the differences - make sure they make sense and match what the
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/ds1338-test.c
Expand Up @@ -38,7 +38,7 @@ static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc)

i2c_read_block(i2cdev, 0, resp, sizeof(resp));

/* check retrieved time againt local time */
/* check retrieved time against local time */
g_assert_cmpuint(bcd2bin(resp[4]), == , tm_ptr->tm_mday);
g_assert_cmpuint(bcd2bin(resp[5]), == , 1 + tm_ptr->tm_mon);
g_assert_cmpuint(2000 + bcd2bin(resp[6]), == , 1900 + tm_ptr->tm_year);
Expand Down
6 changes: 3 additions & 3 deletions tests/qtest/fuzz/generic_fuzz.c
Expand Up @@ -846,9 +846,9 @@ static void generic_pre_fuzz(QTestState *s)
* functionality B
*
* This function attempts to produce an input that:
* Ouptut: maps a device's BARs, set up three DMA patterns, triggers
* functionality A device, replaces the DMA patterns with a single
* patten, and triggers device functionality B.
* Output: maps a device's BARs, set up three DMA patterns, triggers
* device functionality A, replaces the DMA patterns with a single
* pattern, and triggers device functionality B.
*/
static size_t generic_fuzz_crossover(const uint8_t *data1, size_t size1, const
uint8_t *data2, size_t size2, uint8_t *out,
Expand Down
4 changes: 2 additions & 2 deletions tests/qtest/libqos/qgraph.c
Expand Up @@ -54,7 +54,7 @@ struct QOSStackElement {
int length;
};

/* Each enty in these hash table will consist of <string, node/edge> pair. */
/* Each entry in these hash table will consist of <string, node/edge> pair. */
static GHashTable *edge_table;
static GHashTable *node_table;

Expand Down Expand Up @@ -214,7 +214,7 @@ static QOSGraphEdge *search_list_edges(QOSGraphEdgeList *edgelist,
/**
* search_machine(): search for a machine @name in the node hash
* table. A machine is the child of the root node.
* This function forces the research in the childs of the root,
* This function forces the research in the children of the root,
* to check the node is a proper machine
*
* Returns: on success: the %QOSGraphNode
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/libqos/qgraph_internal.h
Expand Up @@ -197,7 +197,7 @@ char *qos_graph_edge_get_name(QOSGraphEdge *edge);
* qos_graph_get_machine(): returns the machine assigned
* to that @node name.
*
* It performs a search only trough the list of machines
* It performs a search only through the list of machines
* (i.e. the QOS_ROOT child).
*
* Returns: on success: the %QOSGraphNode
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/libqos/virtio-gpio.c
Expand Up @@ -28,7 +28,7 @@ static void virtio_gpio_cleanup(QVhostUserGPIO *gpio)

/*
* This handles the VirtIO setup from the point of view of the driver
* frontend and therefor doesn't present any vhost specific features
* frontend and therefore doesn't present any vhost specific features
* and in fact masks of the re-used bit.
*/
static void virtio_gpio_setup(QVhostUserGPIO *gpio)
Expand Down
4 changes: 2 additions & 2 deletions tests/qtest/libqtest.c
Expand Up @@ -112,7 +112,7 @@ static int socket_accept(int sock)
socklen_t addrlen;
int ret;
/*
* timeout unit of blocking receive calls is different among platfoms.
* timeout unit of blocking receive calls is different among platforms.
* It's in seconds on non-Windows platforms but milliseconds on Windows.
*/
#ifndef _WIN32
Expand Down Expand Up @@ -1697,7 +1697,7 @@ QTestState *qtest_inproc_init(QTestState **s, bool log, const char* arch,

qtest_client_set_rx_handler(qts, qtest_client_inproc_recv_line);

/* send() may not have a matching protoype, so use a type-safe wrapper */
/* send() may not have a matching prototype, so use a type-safe wrapper */
qts->ops.external_send = send;
qtest_client_set_tx_handler(qts, send_wrapper);

Expand Down
1 change: 1 addition & 0 deletions tests/qtest/meson.build
Expand Up @@ -269,6 +269,7 @@ qos_test_ss.add(
'virtio-iommu-test.c',
'vmxnet3-test.c',
'igb-test.c',
'ufs-test.c',
)

if config_all_devices.has_key('CONFIG_VIRTIO_SERIAL')
Expand Down
6 changes: 3 additions & 3 deletions tests/qtest/migration-test.c
Expand Up @@ -486,7 +486,7 @@ static void migrate_ensure_converge(QTestState *who)
* transferred.
*
* Finally we go back to the source and read a byte just
* before the marker untill we see it flip in value. This
* before the marker until we see it flip in value. This
* is proof that start_address -> MAGIC_OFFSET_BASE
* is now dirty again.
*
Expand Down Expand Up @@ -826,7 +826,7 @@ static int test_migrate_start(QTestState **from, QTestState **to,

/*
* Remove shmem file immediately to avoid memory leak in test failed case.
* It's valid becase QEMU has already opened this file
* It's valid because QEMU has already opened this file
*/
if (args->use_shmem) {
unlink(shmem_path);
Expand Down Expand Up @@ -2103,7 +2103,7 @@ static void test_migrate_auto_converge(void)

/*
* We want the test to be stable and as fast as possible.
* E.g., with 1Gb/s bandwith migration may pass without throttling,
* E.g., with 1Gb/s bandwidth migration may pass without throttling,
* so we need to decrease a bandwidth.
*/
const int64_t init_pct = 5, inc_pct = 25, max_pct = 95;
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/npcm7xx_timer-test.c
Expand Up @@ -384,7 +384,7 @@ static void test_pause_resume(gconstpointer test_data)
g_assert_true(qtest_get_irq(global_qtest, tim_timer_irq(td)));
}

/* Verifies that the prescaler can be changed while the timer is runnin. */
/* Verifies that the prescaler can be changed while the timer is running. */
static void test_prescaler_change(gconstpointer test_data)
{
const TestData *td = test_data;
Expand Down
6 changes: 3 additions & 3 deletions tests/qtest/test-hmp.c
Expand Up @@ -45,9 +45,9 @@ static const char *hmp_cmds[] = {
"log all",
"log none",
"memsave 0 4096 \"/dev/null\"",
"migrate_set_parameter xbzrle_cache_size 1",
"migrate_set_parameter downtime_limit 1",
"migrate_set_parameter max_bandwidth 1",
"migrate_set_parameter xbzrle-cache-size 64k",
"migrate_set_parameter downtime-limit 1",
"migrate_set_parameter max-bandwidth 1",
"netdev_add user,id=net1",
"set_link net1 off",
"set_link net1 on",
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/tpm-emu.c
Expand Up @@ -77,7 +77,7 @@ static void *tpm_emu_tpm_thread(void *data)
s->tpm_msg->code = cpu_to_be32(TPM_FAIL);
break;
default:
g_debug("unsupport TPM version %u", s->tpm_version);
g_debug("unsupported TPM version %u", s->tpm_version);
g_assert_not_reached();
}
qio_channel_write(ioc, (char *)s->tpm_msg, be32_to_cpu(s->tpm_msg->len),
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/tpm-tests.c
@@ -1,5 +1,5 @@
/*
* QTest TPM commont test code
* QTest TPM common test code
*
* Copyright (c) 2018 IBM Corporation
* Copyright (c) 2018 Red Hat, Inc.
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/tpm-tests.h
@@ -1,5 +1,5 @@
/*
* QTest TPM commont test code
* QTest TPM common test code
*
* Copyright (c) 2018 IBM Corporation
*
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/tpm-tis-i2c-test.c
Expand Up @@ -468,7 +468,7 @@ static void tpm_tis_i2c_test_check_access_reg_release(const void *data)
TPM_TIS_ACCESS_ACTIVE_LOCALITY);
/*
* highest locality should now be active; release it and make sure the
* next higest locality is active afterwards
* next highest locality is active afterwards
*/
for (l = TPM_TIS_NUM_LOCALITIES - 2; l >= 0; l--) {
if (l == locty) {
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/tpm-tis-util.c
Expand Up @@ -340,7 +340,7 @@ void tpm_tis_test_check_access_reg_release(const void *data)
TPM_TIS_ACCESS_ACTIVE_LOCALITY);
/*
* highest locality should now be active; release it and make sure the
* next higest locality is active afterwards
* next highest locality is active afterwards
*/
for (l = TPM_TIS_NUM_LOCALITIES - 2; l >= 0; l--) {
if (l == locty) {
Expand Down
587 changes: 587 additions & 0 deletions tests/qtest/ufs-test.c

Large diffs are not rendered by default.

5 changes: 0 additions & 5 deletions tests/qtest/usb-hcd-uhci-test.c
Expand Up @@ -17,10 +17,6 @@

static QOSState *qs;

static void test_uhci_init(void)
{
}

static void test_port(int port)
{
struct qhc uhci;
Expand Down Expand Up @@ -71,7 +67,6 @@ int main(int argc, char **argv)
return 0;
}

qtest_add_func("/uhci/pci/init", test_uhci_init);
qtest_add_func("/uhci/pci/port1", test_port_1);
qtest_add_func("/uhci/pci/hotplug", test_uhci_hotplug);
if (qtest_has_device("usb-storage")) {
Expand Down
6 changes: 0 additions & 6 deletions tests/qtest/usb-hcd-xhci-test.c
Expand Up @@ -11,11 +11,6 @@
#include "libqtest-single.h"
#include "libqos/usb.h"


static void test_xhci_init(void)
{
}

static void test_xhci_hotplug(void)
{
usb_test_hotplug(global_qtest, "xhci", "1", NULL);
Expand Down Expand Up @@ -54,7 +49,6 @@ int main(int argc, char **argv)

g_test_init(&argc, &argv, NULL);

qtest_add_func("/xhci/pci/init", test_xhci_init);
qtest_add_func("/xhci/pci/hotplug", test_xhci_hotplug);
if (qtest_has_device("usb-uas")) {
qtest_add_func("/xhci/pci/hotplug/usb-uas", test_usb_uas_hotplug);
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/vhost-user-blk-test.c
Expand Up @@ -961,7 +961,7 @@ static void *vhost_user_blk_test_setup(GString *cmd_line, void *arg)
* Setup for hotplug.
*
* Since vhost-user server only serves one vhost-user client one time,
* another exprot
* another export
*
*/
static void *vhost_user_blk_hotplug_test_setup(GString *cmd_line, void *arg)
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/virtio-net-test.c
Expand Up @@ -212,7 +212,7 @@ static void announce_self(void *obj, void *data, QGuestAllocator *t_alloc)
g_assert_cmpint(*proto, ==, htons(ETH_P_RARP));

/*
* Stop the announcment by settings rounds to 0 on the
* Stop the announcement by settings rounds to 0 on the
* existing timer.
*/
rsp = qmp("{ 'execute' : 'announce-self', "
Expand Down
2 changes: 1 addition & 1 deletion tests/qtest/vmgenid-test.c
Expand Up @@ -19,7 +19,7 @@

#define VGID_GUID "324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87"
#define VMGENID_GUID_OFFSET 40 /* allow space for
* OVMF SDT Header Probe Supressor
* OVMF SDT Header Probe Suppressor
*/
#define RSDP_ADDR_INVALID 0x100000 /* RSDP must be below this address */

Expand Down
2 changes: 1 addition & 1 deletion tests/tcg/hexagon/fpstuff.c
Expand Up @@ -52,7 +52,7 @@ static void check_compare_exception(void)
uint32_t cmp;
uint32_t usr;

/* Check that FP compares are quiet (don't raise any execptions) */
/* Check that FP compares are quiet (don't raise any exceptions) */
asm (CLEAR_FPSTATUS
"p0 = sfcmp.eq(%2, %3)\n\t"
"%0 = p0\n\t"
Expand Down
2 changes: 1 addition & 1 deletion tests/tcg/hexagon/test_clobber.S
@@ -1,5 +1,5 @@
/*
* Purpose: demonstrate the succesful operation of the register save mechanism,
* Purpose: demonstrate the successful operation of the register save mechanism,
* in which the caller saves the registers that will be clobbered, and restores
* them after the call.
*/
Expand Down
2 changes: 1 addition & 1 deletion tests/tsan/suppressions.tsan
Expand Up @@ -7,7 +7,7 @@
mutex:aio_context_acquire
mutex:pthread_mutex_lock

# TSan reports a race betwen pthread_mutex_init() and
# TSan reports a race between pthread_mutex_init() and
# pthread_mutex_lock(). Since this is outside of QEMU,
# we choose to ignore it.
race:pthread_mutex_init
Expand Down
2 changes: 1 addition & 1 deletion tests/uefi-test-tools/Makefile
Expand Up @@ -87,7 +87,7 @@ Build/%.fat: Build/%.efi
.NOTPARALLEL:

# In turn, the "build" utility of edk2 BaseTools invokes another "make".
# Although the outer "make" process advertizes its job server to all child
# Although the outer "make" process advertises its job server to all child
# processes via MAKEFLAGS in the environment, the outer "make" closes the job
# server file descriptors (exposed in MAKEFLAGS) before executing a recipe --
# unless the recipe is recognized as a recursive "make" recipe. Recipes that
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/check-qjson.c
Expand Up @@ -1486,7 +1486,7 @@ int main(int argc, char **argv)
g_test_add_func("/literals/keyword", keyword_literal);

g_test_add_func("/literals/interpolation/valid", interpolation_valid);
g_test_add_func("/literals/interpolation/unkown", interpolation_unknown);
g_test_add_func("/literals/interpolation/unknown", interpolation_unknown);
g_test_add_func("/literals/interpolation/string", interpolation_string);

g_test_add_func("/dicts/simple_dict", simple_dict);
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test-aio.c
Expand Up @@ -454,7 +454,7 @@ static void test_timer_schedule(void)

g_assert_cmpint(data.n, ==, 0);

/* timer_mod may well cause an event notifer to have gone off,
/* timer_mod may well cause an event notifier to have gone off,
* so clear that
*/
do {} while (aio_poll(ctx, false));
Expand Down
12 changes: 6 additions & 6 deletions tests/unit/test-bdrv-graph-mod.c
Expand Up @@ -98,9 +98,9 @@ static BlockDriverState *exclusive_writer_node(const char *name)
* | perm: write, read
* | shared: except write
* v
* +-------------------+ +----------------+
* | passtrough filter |---------->| null-co node |
* +-------------------+ +----------------+
* +--------------------+ +----------------+
* | passthrough filter |--------->| null-co node |
* +--------------------+ +----------------+
*
*
* and then, tries to append filter under node. Expected behavior: fail.
Expand All @@ -114,9 +114,9 @@ static BlockDriverState *exclusive_writer_node(const char *name)
* | perm: write, read
* | shared: except write
* v
* +-------------------+
* | passtrough filter |
* +-------------------+
* +--------------------+
* | passthrough filter |
* +--------------------+
* | |
* perm: write, read | | perm: write, read
* shared: except write | | shared: except write
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test-crypto-secret.c
Expand Up @@ -244,7 +244,7 @@ static void test_secret_keyring_bad_key_access_right(void)
char key_str[16];
Object *sec;

g_test_skip("TODO: Need responce from Linux kernel maintainers");
g_test_skip("TODO: Need response from Linux kernel maintainers");
return;

int32_t key = add_key("user", DESCRIPTION, PAYLOAD,
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test-qobject-input-visitor.c
Expand Up @@ -94,7 +94,7 @@ Visitor *visitor_input_test_init(TestInputVisitorData *data,

/* similar to visitor_input_test_init(), but does not expect a string
* literal/format json_string argument and so can be used for
* programatically generated strings (and we can't pass in programatically
* programmatically generated strings (and we can't pass in programmatically
* generated strings via %s format parameters since qobject_from_jsonv()
* will wrap those in double-quotes and treat the entire object as a
* string)
Expand Down
8 changes: 4 additions & 4 deletions tests/unit/test-throttle.c
Expand Up @@ -135,7 +135,7 @@ static void test_compute_wait(void)
g_assert(double_cmp(bkt.burst_level, 0));
g_assert(double_cmp(bkt.level, (i + 1) * (bkt.max - bkt.avg) / 10));
/* We can do bursts for the 2 seconds we have configured in
* burst_length. We have 100 extra miliseconds of burst
* burst_length. We have 100 extra milliseconds of burst
* because bkt.level has been leaking during this time.
* After that, we have to wait. */
result = i < 21 ? 0 : 1.8 * NANOSECONDS_PER_SECOND;
Expand Down Expand Up @@ -375,11 +375,11 @@ static void test_is_valid_for_value(int value, bool should_be_valid)

static void test_is_valid(void)
{
/* negative number are invalid */
/* negative numbesr are invalid */
test_is_valid_for_value(-1, false);
/* zero are valids */
/* zero is valid */
test_is_valid_for_value(0, true);
/* positives numers are valids */
/* positives numbers are valid */
test_is_valid_for_value(1, true);
}

Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test-util-filemonitor.c
Expand Up @@ -132,7 +132,7 @@ qemu_file_monitor_test_record_free(QFileMonitorTestRecord *rec)
* the file monitor event handler. Since events are
* emitted in the background thread running the event
* loop, we can't assume there is a record available
* immediately. Thus we will sleep for upto 5 seconds
* immediately. Thus we will sleep for up to 5 seconds
* to wait for the event to be queued for us.
*/
static QFileMonitorTestRecord *
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test-xs-node.c
Expand Up @@ -362,7 +362,7 @@ static void test_xs_node_simple(void)
g_assert(data->len == strlen("something"));
g_assert(!memcmp(data->data, "something", data->len));

/* Even if we use an abolute path */
/* Even if we use an absolute path */
g_byte_array_set_size(data, 0);
err = xs_impl_read(s, DOMID_GUEST, XBT_NULL,
"/local/domain/1/some/relative/path", data);
Expand Down
2 changes: 1 addition & 1 deletion tests/vm/Makefile.include
Expand Up @@ -81,7 +81,7 @@ endif
@echo " QEMU_IMG=/path/to/qemu-img - Change path to qemu-img tool"
@echo " QEMU_LOCAL=1 - Use QEMU binary local to this build."
@echo " TARGET_LIST=a,b,c - Override target list in builds"
@echo " V=1 - Enable verbose ouput on host and guest commands"
@echo " V=1 - Enable verbose output on host and guest commands"

vm-build-all: $(addprefix vm-build-, $(IMAGES))

Expand Down
2 changes: 1 addition & 1 deletion tests/vm/ubuntuvm.py
Expand Up @@ -51,7 +51,7 @@ def build_image(self, img):
# then we will jump right to the graceful shutdown
if self._config['install_cmds'] != "":
# Issue the install commands.
# This can be overriden by the user in the config .yml.
# This can be overridden by the user in the config .yml.
install_cmds = self._config['install_cmds'].split(',')
for cmd in install_cmds:
self.ssh_root(cmd)
Expand Down
2 changes: 1 addition & 1 deletion util/iov.c
Expand Up @@ -571,7 +571,7 @@ static int sortelem_cmp_src_index(const void *a, const void *b)
*/
void qemu_iovec_clone(QEMUIOVector *dest, const QEMUIOVector *src, void *buf)
{
IOVectorSortElem sortelems[src->niov];
g_autofree IOVectorSortElem *sortelems = g_new(IOVectorSortElem, src->niov);
void *last_end;
int i;

Expand Down
27 changes: 20 additions & 7 deletions util/vhost-user-server.c
Expand Up @@ -127,7 +127,14 @@ vu_message_read(VuDev *vu_dev, int conn_fd, VhostUserMsg *vmsg)
if (rc < 0) {
if (rc == QIO_CHANNEL_ERR_BLOCK) {
assert(local_err == NULL);
qio_channel_yield(ioc, G_IO_IN);
if (server->ctx) {
server->in_qio_channel_yield = true;
qio_channel_yield(ioc, G_IO_IN);
server->in_qio_channel_yield = false;
} else {
/* Wait until attached to an AioContext again */
qemu_coroutine_yield();
}
continue;
} else {
error_report_err(local_err);
Expand Down Expand Up @@ -278,7 +285,7 @@ set_watch(VuDev *vu_dev, int fd, int vu_evt,
vu_fd_watch->fd = fd;
vu_fd_watch->cb = cb;
qemu_socket_set_nonblock(fd);
aio_set_fd_handler(server->ioc->ctx, fd, kick_handler,
aio_set_fd_handler(server->ctx, fd, kick_handler,
NULL, NULL, NULL, vu_fd_watch);
vu_fd_watch->vu_dev = vu_dev;
vu_fd_watch->pvt = pvt;
Expand All @@ -299,7 +306,7 @@ static void remove_watch(VuDev *vu_dev, int fd)
if (!vu_fd_watch) {
return;
}
aio_set_fd_handler(server->ioc->ctx, fd, NULL, NULL, NULL, NULL, NULL);
aio_set_fd_handler(server->ctx, fd, NULL, NULL, NULL, NULL, NULL);

QTAILQ_REMOVE(&server->vu_fd_watches, vu_fd_watch, next);
g_free(vu_fd_watch);
Expand Down Expand Up @@ -344,6 +351,8 @@ static void vu_accept(QIONetListener *listener, QIOChannelSocket *sioc,
/* TODO vu_message_write() spins if non-blocking! */
qio_channel_set_blocking(server->ioc, false, NULL);

qio_channel_set_follow_coroutine_ctx(server->ioc, true);

server->co_trip = qemu_coroutine_create(vu_client_trip, server);

aio_context_acquire(server->ctx);
Expand Down Expand Up @@ -399,13 +408,12 @@ void vhost_user_server_attach_aio_context(VuServer *server, AioContext *ctx)
return;
}

qio_channel_attach_aio_context(server->ioc, ctx);

QTAILQ_FOREACH(vu_fd_watch, &server->vu_fd_watches, next) {
aio_set_fd_handler(ctx, vu_fd_watch->fd, kick_handler, NULL,
NULL, NULL, vu_fd_watch);
}

assert(!server->in_qio_channel_yield);
aio_co_schedule(ctx, server->co_trip);
}

Expand All @@ -419,11 +427,16 @@ void vhost_user_server_detach_aio_context(VuServer *server)
aio_set_fd_handler(server->ctx, vu_fd_watch->fd,
NULL, NULL, NULL, NULL, vu_fd_watch);
}

qio_channel_detach_aio_context(server->ioc);
}

server->ctx = NULL;

if (server->ioc) {
if (server->in_qio_channel_yield) {
/* Stop receiving the next vhost-user message */
qio_channel_wake_read(server->ioc);
}
}
}

bool vhost_user_server_start(VuServer *server,
Expand Down