aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-11-16 15:33:05 +0000
committerPeter Maydell <peter.maydell@linaro.org>2020-11-16 15:33:05 +0000
commitf41ae328ba1519147c5083cb96137c86e8659c61 (patch)
tree4d9cdc00593e005585db3800411eb0b391361a4b
parent2f7c9dd5181524ceaf75ba3ef8d84090b1e9e8d8 (diff)
parent7025111a199b97ae806817788bec50f456c47d85 (diff)
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-and-misc-161120-1' into staging
Various fixes - fix resource leak in a couple of plugin - fix build of Xen enabled i386 image on Aarch64 - maybe unitialized warning fix - disable unstable Spartan-3A acceptance test - terser output of gitlab checkpatch check # gpg: Signature made Mon 16 Nov 2020 11:11:05 GMT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-testing-and-misc-161120-1: .gitlab-ci.d/check-patch: tweak output for CI logs tests/acceptance: Disable Spartan-3A DSP 1800A test hw/i386/acpi-build: Fix maybe-uninitialized error when ACPI hotplug off accel/stubs: drop unused cpu.h include stubs/xen-hw-stub: drop xenstore_store_pv_console_info stub include/hw/xen.h: drop superfluous struct meson.build: fix building of Xen support for aarch64 plugins: Fix two resource leaks in setup_socket() plugins: Fix resource leak in connect_socket() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rwxr-xr-x.gitlab-ci.d/check-patch.py4
-rw-r--r--accel/stubs/hax-stub.c1
-rw-r--r--contrib/plugins/lockstep.c3
-rw-r--r--hw/i386/acpi-build.c41
-rw-r--r--include/hw/xen/xen.h2
-rw-r--r--meson.build7
-rw-r--r--stubs/xen-hw-stub.c4
-rw-r--r--tests/acceptance/boot_linux_console.py2
-rw-r--r--tests/acceptance/replay_kernel.py2
9 files changed, 35 insertions, 31 deletions
diff --git a/.gitlab-ci.d/check-patch.py b/.gitlab-ci.d/check-patch.py
index 0ff30ee077..39e2b403c9 100755
--- a/.gitlab-ci.d/check-patch.py
+++ b/.gitlab-ci.d/check-patch.py
@@ -45,9 +45,9 @@ if log == "":
errors = False
-print("\nChecking all commits since %s...\n" % ancestor)
+print("\nChecking all commits since %s...\n" % ancestor, flush=True)
-ret = subprocess.run(["scripts/checkpatch.pl", ancestor + "..."])
+ret = subprocess.run(["scripts/checkpatch.pl", "--terse", ancestor + "..."])
if ret.returncode != 0:
print(" ❌ FAIL one or more commits failed scripts/checkpatch.pl")
diff --git a/accel/stubs/hax-stub.c b/accel/stubs/hax-stub.c
index 1a9da83185..49077f88e3 100644
--- a/accel/stubs/hax-stub.c
+++ b/accel/stubs/hax-stub.c
@@ -14,7 +14,6 @@
*/
#include "qemu/osdep.h"
-#include "cpu.h"
#include "sysemu/hax.h"
int hax_sync_vcpus(void)
diff --git a/contrib/plugins/lockstep.c b/contrib/plugins/lockstep.c
index a696673dff..5aad50869d 100644
--- a/contrib/plugins/lockstep.c
+++ b/contrib/plugins/lockstep.c
@@ -268,11 +268,13 @@ static bool setup_socket(const char *path)
socket_fd = accept(fd, NULL, NULL);
if (socket_fd < 0 && errno != EINTR) {
perror("accept socket");
+ close(fd);
return false;
}
qemu_plugin_outs("setup_socket::ready\n");
+ close(fd);
return true;
}
@@ -292,6 +294,7 @@ static bool connect_socket(const char *path)
if (connect(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)) < 0) {
perror("failed to connect");
+ close(fd);
return false;
}
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 4f66642d88..1f5c211245 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -465,34 +465,31 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
*/
if (bsel || pcihp_bridge_en) {
method = aml_method("PCNT", 0, AML_NOTSERIALIZED);
- }
- /* If bus supports hotplug select it and notify about local events */
- if (bsel) {
- uint64_t bsel_val = qnum_get_uint(qobject_to(QNum, bsel));
- aml_append(method, aml_store(aml_int(bsel_val), aml_name("BNUM")));
- aml_append(method,
- aml_call2("DVNT", aml_name("PCIU"), aml_int(1) /* Device Check */)
- );
- aml_append(method,
- aml_call2("DVNT", aml_name("PCID"), aml_int(3)/* Eject Request */)
- );
- }
+ /* If bus supports hotplug select it and notify about local events */
+ if (bsel) {
+ uint64_t bsel_val = qnum_get_uint(qobject_to(QNum, bsel));
- /* Notify about child bus events in any case */
- if (pcihp_bridge_en) {
- QLIST_FOREACH(sec, &bus->child, sibling) {
- int32_t devfn = sec->parent_dev->devfn;
+ aml_append(method, aml_store(aml_int(bsel_val), aml_name("BNUM")));
+ aml_append(method, aml_call2("DVNT", aml_name("PCIU"),
+ aml_int(1))); /* Device Check */
+ aml_append(method, aml_call2("DVNT", aml_name("PCID"),
+ aml_int(3))); /* Eject Request */
+ }
- if (pci_bus_is_root(sec) || pci_bus_is_express(sec)) {
- continue;
- }
+ /* Notify about child bus events in any case */
+ if (pcihp_bridge_en) {
+ QLIST_FOREACH(sec, &bus->child, sibling) {
+ int32_t devfn = sec->parent_dev->devfn;
+
+ if (pci_bus_is_root(sec) || pci_bus_is_express(sec)) {
+ continue;
+ }
- aml_append(method, aml_name("^S%.02X.PCNT", devfn));
+ aml_append(method, aml_name("^S%.02X.PCNT", devfn));
+ }
}
- }
- if (bsel || pcihp_bridge_en) {
aml_append(parent_scope, method);
}
qobject_unref(bsel);
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 1406648ca5..0f9962b1c1 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -28,7 +28,7 @@ int xen_is_pirq_msi(uint32_t msi_data);
qemu_irq *xen_interrupt_controller_init(void);
-void xenstore_store_pv_console_info(int i, struct Chardev *chr);
+void xenstore_store_pv_console_info(int i, Chardev *chr);
void xen_register_framebuffer(struct MemoryRegion *mr);
diff --git a/meson.build b/meson.build
index 61d883bc07..132bc49782 100644
--- a/meson.build
+++ b/meson.build
@@ -74,10 +74,15 @@ else
endif
accelerator_targets = { 'CONFIG_KVM': kvm_targets }
+if cpu in ['x86', 'x86_64', 'arm', 'aarch64']
+ # i368 emulator provides xenpv machine type for multiple architectures
+ accelerator_targets += {
+ 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'],
+ }
+endif
if cpu in ['x86', 'x86_64']
accelerator_targets += {
'CONFIG_HAX': ['i386-softmmu', 'x86_64-softmmu'],
- 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'],
'CONFIG_HVF': ['x86_64-softmmu'],
'CONFIG_WHPX': ['i386-softmmu', 'x86_64-softmmu'],
}
diff --git a/stubs/xen-hw-stub.c b/stubs/xen-hw-stub.c
index 2ea8190921..15f3921a76 100644
--- a/stubs/xen-hw-stub.c
+++ b/stubs/xen-hw-stub.c
@@ -10,10 +10,6 @@
#include "hw/xen/xen.h"
#include "hw/xen/xen-x86.h"
-void xenstore_store_pv_console_info(int i, Chardev *chr)
-{
-}
-
int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num)
{
return -1;
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 8f433a67f8..cc6ec0f8c1 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -13,6 +13,7 @@ import lzma
import gzip
import shutil
+from avocado import skip
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import exec_command_and_wait_for_pattern
@@ -1025,6 +1026,7 @@ class BootLinuxConsole(LinuxKernelTest):
tar_hash = 'ac688fd00561a2b6ce1359f9ff6aa2b98c9a570c'
self.do_test_advcal_2018('07', tar_hash, 'sanity-clause.elf')
+ @skip("Test currently broken") # Console stuck as of 5.2-rc1
def test_microblaze_s3adsp1800(self):
"""
:avocado: tags=arch:microblaze
diff --git a/tests/acceptance/replay_kernel.py b/tests/acceptance/replay_kernel.py
index 00c228382b..772633b01d 100644
--- a/tests/acceptance/replay_kernel.py
+++ b/tests/acceptance/replay_kernel.py
@@ -14,6 +14,7 @@ import shutil
import logging
import time
+from avocado import skip
from avocado import skipIf
from avocado import skipUnless
from avocado_qemu import wait_for_console_pattern
@@ -280,6 +281,7 @@ class ReplayKernelNormal(ReplayKernelBase):
file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
self.do_test_advcal_2018(file_path, 'sanity-clause.elf')
+ @skip("Test currently broken") # Console stuck as of 5.2-rc1
def test_microblaze_s3adsp1800(self):
"""
:avocado: tags=arch:microblaze