[libvirt] [QEMU PATCH] hw/i386: Remove deprecated machines pc-0.10 and pc-0.11
by Thomas Huth
They've been deprecated for two releases and nobody complained that they
are still required anymore, so it's time to remove these now.
And while we're at it, mark the other remaining old 0.x machine types
as deprecated (since they can not properly be used for live-migration
anyway).
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
---
hw/i386/pc_piix.c | 70 ++-------------------------------------------------
qemu-deprecated.texi | 2 +-
tests/cpu-plug-test.c | 4 +--
3 files changed, 4 insertions(+), 72 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 6981cfa..7653fbb 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -368,7 +368,7 @@ static void pc_compat_1_2(MachineState *machine)
x86_cpu_change_kvm_default("kvm-pv-eoi", NULL);
}
-/* PC compat function for pc-0.10 to pc-0.13 */
+/* PC compat function for pc-0.12 and pc-0.13 */
static void pc_compat_0_13(MachineState *machine)
{
pc_compat_1_2(machine);
@@ -834,6 +834,7 @@ static void pc_i440fx_0_15_machine_options(MachineClass *m)
{
pc_i440fx_1_0_machine_options(m);
m->hw_version = "0.15";
+ m->deprecation_reason = "use a newer machine type instead";
SET_MACHINE_COMPAT(m, PC_COMPAT_0_15);
}
@@ -951,73 +952,6 @@ static void pc_i440fx_0_12_machine_options(MachineClass *m)
DEFINE_I440FX_MACHINE(v0_12, "pc-0.12", pc_compat_0_13,
pc_i440fx_0_12_machine_options);
-
-#define PC_COMPAT_0_11 \
- PC_CPU_MODEL_IDS("0.11") \
- {\
- .driver = "virtio-blk-pci",\
- .property = "vectors",\
- .value = stringify(0),\
- },{\
- .driver = TYPE_PCI_DEVICE,\
- .property = "rombar",\
- .value = stringify(0),\
- },{\
- .driver = "ide-drive",\
- .property = "ver",\
- .value = "0.11",\
- },{\
- .driver = "scsi-disk",\
- .property = "ver",\
- .value = "0.11",\
- },
-
-static void pc_i440fx_0_11_machine_options(MachineClass *m)
-{
- pc_i440fx_0_12_machine_options(m);
- m->hw_version = "0.11";
- m->deprecation_reason = "use a newer machine type instead";
- SET_MACHINE_COMPAT(m, PC_COMPAT_0_11);
-}
-
-DEFINE_I440FX_MACHINE(v0_11, "pc-0.11", pc_compat_0_13,
- pc_i440fx_0_11_machine_options);
-
-
-#define PC_COMPAT_0_10 \
- PC_CPU_MODEL_IDS("0.10") \
- {\
- .driver = "virtio-blk-pci",\
- .property = "class",\
- .value = stringify(PCI_CLASS_STORAGE_OTHER),\
- },{\
- .driver = "virtio-serial-pci",\
- .property = "class",\
- .value = stringify(PCI_CLASS_DISPLAY_OTHER),\
- },{\
- .driver = "virtio-net-pci",\
- .property = "vectors",\
- .value = stringify(0),\
- },{\
- .driver = "ide-drive",\
- .property = "ver",\
- .value = "0.10",\
- },{\
- .driver = "scsi-disk",\
- .property = "ver",\
- .value = "0.10",\
- },
-
-static void pc_i440fx_0_10_machine_options(MachineClass *m)
-{
- pc_i440fx_0_11_machine_options(m);
- m->hw_version = "0.10";
- SET_MACHINE_COMPAT(m, PC_COMPAT_0_10);
-}
-
-DEFINE_I440FX_MACHINE(v0_10, "pc-0.10", pc_compat_0_13,
- pc_i440fx_0_10_machine_options);
-
typedef struct {
uint16_t gpu_device_id;
uint16_t pch_device_id;
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index 2912084..190250f 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -124,7 +124,7 @@ their usecases.
@section System emulator machines
-@subsection pc-0.10 and pc-0.11 (since 3.0)
+@subsection pc-0.12, pc-0.13, pc-0.14 and pc-0.15 (since 4.0)
These machine types are very old and likely can not be used for live migration
from old QEMU versions anymore. A newer machine type should be used instead.
diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
index f4a677d..668f001 100644
--- a/tests/cpu-plug-test.c
+++ b/tests/cpu-plug-test.c
@@ -157,9 +157,7 @@ static void add_pc_test_case(const char *mname)
(strcmp(mname, "pc-0.15") == 0) ||
(strcmp(mname, "pc-0.14") == 0) ||
(strcmp(mname, "pc-0.13") == 0) ||
- (strcmp(mname, "pc-0.12") == 0) ||
- (strcmp(mname, "pc-0.11") == 0) ||
- (strcmp(mname, "pc-0.10") == 0)) {
+ (strcmp(mname, "pc-0.12") == 0)) {
path = g_strdup_printf("cpu-plug/%s/init/%ux%ux%u&maxcpus=%u",
mname, data->sockets, data->cores,
data->threads, data->maxcpus);
--
1.8.3.1
6 years, 4 months
[libvirt] [PATCHv2 00/16] Introduce hvf domain type for Hypevisor.framework
by Roman Bolshakov
Hypervisor.framework provides a lightweight interface to run a virtual
cpu on macOS without the need to install third-party kernel
extensions (KEXTs).
It's supported since macOS 10.10 on machines with Intel VT-x feature
set that includes Extended Page Tables (EPT) and Unrestricted Mode.
QEMU supports Hypervisor.framework since 2.12.
The patch series adds "hvf" domain that uses Hypevisor.framework.
v1: https://www.redhat.com/archives/libvir-list/2018-October/msg01090.html
Changes since v1:
- [x] Fixed unconditional addition of KVM CPU models into capabilities cache.
That fixed a "make check" issue in qemucapabilitiestest on Linux.
- [x] Fixed missing brace in virQEMUCapsFormatCPUModels in PATCH 6
- [x] Squashed patch 12 into the first patch (second one in the patch series)
- [x] Added hvf domain definition to docs/formatdomain.html.in into the first
patch (second in the patch series)
- [x] Removed redundant argument in virQEMUCapsProbeHVF (patch 3)
- [x] Added separate virQEMUCapsProbeHVF for non-apple platforms (patch 3)
- [x] Added macOS support page
- [x] Marked HVF support for all working domain elements
I wasn't able to resolve the issues below, but I think they should go
into separate patches/patch series:
- [ ] To make qemucapabilitiestests work regardless of OS, accelerator probing
should be done via QMP command.
So, there's a need to add a new generic
command to QEMU "query-accelerator accel=NAME"
- [ ] VIRT_TEST_PRELOAD doesn't work on macOS. There are a few
reasons:
* DYLD_INSERT_LIBRARIES should be used instead of LD_PRELOAD
*
-module flag shouldn't be added to LDFLAGS in tests/Makefile.am.
The flag instructs libtool to creates bundles (MH_BUNDLE) instead of
dynamic libraries (MH_DYLIB) and unlike dylibs they cannot be preloaded.
* Either symbol interposing or flat namespaces should be used to perform
overrides of the calls to the mocks.
I've tried both but neither worked for me, need to make a minimal
example.
I haven't completed the investigation as it looks like a separate work item.
- [ ] Can't retrieve qemucapsprobe replies for macOS because qemucapsprobemock
is not getting injected because of the issue with VIRT_TEST_PRELOAD
- [ ] Can't add to tests/qemuxml2argvtest.c to illustrate the hvf example
because qemucapsprobe doesn't work yet.
Roman Bolshakov (16):
qemu: Add KVM CPUs into cache only if KVM is present
conf: Add hvf domain type
qemu: Define hvf capability
qemu: Query hvf capability on macOS
qemu: Expose hvf domain type if hvf is supported
qemu: Rename kvmCPU to accelCPU
qemu: Introduce virQEMUCapsTypeIsAccelerated
qemu: Introduce virQEMUCapsHaveAccel
qemu: Introduce virQEMUCapsToVirtType
qemu: Introduce virQEMUCapsAccelStr
qemu: Make error message accel-agnostic
qemu: Correct CPU capabilities probing for hvf
news: Mention hvf domain type
docs: Add hvf on QEMU driver page
docs: Note hvf support for domain elements
docs: Add support page for libvirt on macOS
docs/docs.html.in | 3 +
docs/drvqemu.html.in | 49 +++++++-
docs/formatdomain.html.in | 141 ++++++++++++---------
docs/index.html.in | 4 +-
docs/macos.html.in | 229 ++++++++++++++++++++++++++++++++++
docs/news.xml | 12 ++
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_conf.c | 4 +-
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 201 +++++++++++++++++++++--------
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 4 +
12 files changed, 534 insertions(+), 116 deletions(-)
create mode 100644 docs/macos.html.in
--
2.19.1
6 years, 4 months
[libvirt] [PULL 31/31] hw/i386: Remove deprecated machines pc-0.10 and pc-0.11
by Michael S. Tsirkin
From: Thomas Huth <thuth(a)redhat.com>
They've been deprecated for two releases and nobody complained that they
are still required anymore, so it's time to remove these now.
And while we're at it, mark the other remaining old 0.x machine types
as deprecated (since they can not properly be used for live-migration
anyway).
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
Reviewed-by: Michael S. Tsirkin <mst(a)redhat.com>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost(a)redhat.com>
---
hw/i386/pc_piix.c | 70 ++-----------------------------------------
tests/cpu-plug-test.c | 4 +--
qemu-deprecated.texi | 2 +-
3 files changed, 4 insertions(+), 72 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index e000c7511a..7f1cb527b5 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -368,7 +368,7 @@ static void pc_compat_1_2(MachineState *machine)
x86_cpu_change_kvm_default("kvm-pv-eoi", NULL);
}
-/* PC compat function for pc-0.10 to pc-0.13 */
+/* PC compat function for pc-0.12 and pc-0.13 */
static void pc_compat_0_13(MachineState *machine)
{
pc_compat_1_2(machine);
@@ -834,6 +834,7 @@ static void pc_i440fx_0_15_machine_options(MachineClass *m)
{
pc_i440fx_1_0_machine_options(m);
m->hw_version = "0.15";
+ m->deprecation_reason = "use a newer machine type instead";
SET_MACHINE_COMPAT(m, PC_COMPAT_0_15);
}
@@ -951,73 +952,6 @@ static void pc_i440fx_0_12_machine_options(MachineClass *m)
DEFINE_I440FX_MACHINE(v0_12, "pc-0.12", pc_compat_0_13,
pc_i440fx_0_12_machine_options);
-
-#define PC_COMPAT_0_11 \
- PC_CPU_MODEL_IDS("0.11") \
- {\
- .driver = "virtio-blk-pci",\
- .property = "vectors",\
- .value = stringify(0),\
- },{\
- .driver = TYPE_PCI_DEVICE,\
- .property = "rombar",\
- .value = stringify(0),\
- },{\
- .driver = "ide-drive",\
- .property = "ver",\
- .value = "0.11",\
- },{\
- .driver = "scsi-disk",\
- .property = "ver",\
- .value = "0.11",\
- },
-
-static void pc_i440fx_0_11_machine_options(MachineClass *m)
-{
- pc_i440fx_0_12_machine_options(m);
- m->hw_version = "0.11";
- m->deprecation_reason = "use a newer machine type instead";
- SET_MACHINE_COMPAT(m, PC_COMPAT_0_11);
-}
-
-DEFINE_I440FX_MACHINE(v0_11, "pc-0.11", pc_compat_0_13,
- pc_i440fx_0_11_machine_options);
-
-
-#define PC_COMPAT_0_10 \
- PC_CPU_MODEL_IDS("0.10") \
- {\
- .driver = "virtio-blk-pci",\
- .property = "class",\
- .value = stringify(PCI_CLASS_STORAGE_OTHER),\
- },{\
- .driver = "virtio-serial-pci",\
- .property = "class",\
- .value = stringify(PCI_CLASS_DISPLAY_OTHER),\
- },{\
- .driver = "virtio-net-pci",\
- .property = "vectors",\
- .value = stringify(0),\
- },{\
- .driver = "ide-drive",\
- .property = "ver",\
- .value = "0.10",\
- },{\
- .driver = "scsi-disk",\
- .property = "ver",\
- .value = "0.10",\
- },
-
-static void pc_i440fx_0_10_machine_options(MachineClass *m)
-{
- pc_i440fx_0_11_machine_options(m);
- m->hw_version = "0.10";
- SET_MACHINE_COMPAT(m, PC_COMPAT_0_10);
-}
-
-DEFINE_I440FX_MACHINE(v0_10, "pc-0.10", pc_compat_0_13,
- pc_i440fx_0_10_machine_options);
-
typedef struct {
uint16_t gpu_device_id;
uint16_t pch_device_id;
diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
index f4a677d238..668f00144e 100644
--- a/tests/cpu-plug-test.c
+++ b/tests/cpu-plug-test.c
@@ -157,9 +157,7 @@ static void add_pc_test_case(const char *mname)
(strcmp(mname, "pc-0.15") == 0) ||
(strcmp(mname, "pc-0.14") == 0) ||
(strcmp(mname, "pc-0.13") == 0) ||
- (strcmp(mname, "pc-0.12") == 0) ||
- (strcmp(mname, "pc-0.11") == 0) ||
- (strcmp(mname, "pc-0.10") == 0)) {
+ (strcmp(mname, "pc-0.12") == 0)) {
path = g_strdup_printf("cpu-plug/%s/init/%ux%ux%u&maxcpus=%u",
mname, data->sockets, data->cores,
data->threads, data->maxcpus);
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index e362d37225..c3735b698e 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -134,7 +134,7 @@ their usecases.
@section System emulator machines
-@subsection pc-0.10 and pc-0.11 (since 3.0)
+@subsection pc-0.12, pc-0.13, pc-0.14 and pc-0.15 (since 4.0)
These machine types are very old and likely can not be used for live migration
from old QEMU versions anymore. A newer machine type should be used instead.
--
MST
6 years, 4 months
[libvirt] [PATCH] util: fix translation of error message strings
by Daniel P. Berrangé
The arguments to the N_() macro must only ever be a literal string. It
is not possible to use macro arguments, or use macro string
concatenation in this context. The N_() macro is a no-op whose only
purpose is to act as a marker for xgettext when it extracts translatable
strings from the source code. Anything other than a literal string will
be silently ignored by xgettext.
Unfortunately this means that the clever MSG, MSG2 & MSG_EXISTS macros
used for building up error message strings have prevented any of the
error messages getting marked for translation. We must sadly, revert to
a more explicit listing of strings for now.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/util/virerror.c | 431 +++++++++++++++++++++++++++++++-------------
1 file changed, 303 insertions(+), 128 deletions(-)
diff --git a/src/util/virerror.c b/src/util/virerror.c
index b08427005f..3cdc825157 100644
--- a/src/util/virerror.c
+++ b/src/util/virerror.c
@@ -908,138 +908,313 @@ typedef struct {
} virErrorMsgTuple;
-/**
- * These macros expand to the following format of error message:
- * MSG2("error message", " suffix %s")
- * - no info: "error message"
- * - info: "error message suffix %s"
- *
- * MSG("error message")
- * - no info: "error message"
- * - info: "error message: %s"
- *
- * MSG_EXISTS("sausage")
- * - no info: "this sausage exists already"
- * - info: "sausage %s exists already"
- *
- * For any other case please use:
- * { "error message without info string", "message containing %s description"}
- */
-#define MSG2(msg, sfx) \
- { N_(msg), N_(msg sfx) }
-#define MSG(msg) \
- MSG2(msg, ": %s")
-#define MSG_EXISTS(object) \
- { N_("this " object " exists already"), N_(object " %s exists already") }
-
const virErrorMsgTuple virErrorMsgStrings[VIR_ERR_NUMBER_LAST] = {
[VIR_ERR_OK] = { NULL, NULL },
- [VIR_ERR_INTERNAL_ERROR] = MSG("internal error"),
- [VIR_ERR_NO_MEMORY] = MSG("out of memory"),
- [VIR_ERR_NO_SUPPORT] = MSG("this function is not supported by the connection driver"),
- [VIR_ERR_UNKNOWN_HOST] = MSG2("unknown host", " %s"),
- [VIR_ERR_NO_CONNECT] = MSG2("no connection driver available", " for %s"),
- [VIR_ERR_INVALID_CONN] = MSG2("invalid connection pointer in", " %s"),
- [VIR_ERR_INVALID_DOMAIN] = MSG2("invalid domain pointer in", " %s"),
- [VIR_ERR_INVALID_ARG] = MSG("invalid argument"),
- [VIR_ERR_OPERATION_FAILED] = MSG("operation failed"),
- [VIR_ERR_GET_FAILED] = MSG("GET operation failed"),
- [VIR_ERR_POST_FAILED] = MSG("POST operation failed"),
- [VIR_ERR_HTTP_ERROR] = MSG2("got unknown HTTP error code", " %s"),
- [VIR_ERR_SEXPR_SERIAL] = MSG("failed to serialize S-Expr"),
- [VIR_ERR_NO_XEN] = MSG2("could not use Xen hypervisor entry", " %s"),
- [VIR_ERR_XEN_CALL] = MSG2("failed Xen syscall", " %s"),
- [VIR_ERR_OS_TYPE] = MSG2("unknown OS type", " %s"),
- [VIR_ERR_NO_KERNEL] = MSG("missing kernel information"),
- [VIR_ERR_NO_ROOT] = MSG2("missing root device information", " in %s"),
- [VIR_ERR_NO_SOURCE] = MSG2("missing source information for device", " %s"),
- [VIR_ERR_NO_TARGET] = MSG2("missing target information for device", " %s"),
- [VIR_ERR_NO_NAME] = MSG2("missing name information", " in %s"),
- [VIR_ERR_NO_OS] = MSG2("missing operating system information", " for %s"),
- [VIR_ERR_NO_DEVICE] = MSG2("missing devices information", " for %s"),
- [VIR_ERR_NO_XENSTORE] = MSG2("could not connect to Xen Store", " %s"),
- [VIR_ERR_DRIVER_FULL] = MSG2("too many drivers registered", " in %s"),
- [VIR_ERR_CALL_FAILED] = MSG("library call failed"),
- [VIR_ERR_XML_ERROR] = { "XML description is invalid or not well formed", "XML error: %s" },
- [VIR_ERR_DOM_EXIST] = MSG_EXISTS("domain"),
- [VIR_ERR_OPERATION_DENIED] = { "operation forbidden for read only access", "operation forbidden: %s" },
- [VIR_ERR_OPEN_FAILED] = MSG2("failed to open configuration file", " %s"),
- [VIR_ERR_READ_FAILED] = MSG2("failed to read configuration file", " %s"),
- [VIR_ERR_PARSE_FAILED] = MSG2("failed to parse configuration file", " %s"),
- [VIR_ERR_CONF_SYNTAX] = MSG("configuration file syntax error"),
- [VIR_ERR_WRITE_FAILED] = MSG("failed to write configuration file"),
- [VIR_ERR_XML_DETAIL] = { "parser error", "%s" },
- [VIR_ERR_INVALID_NETWORK] = MSG2("invalid network pointer in", " %s"),
- [VIR_ERR_NETWORK_EXIST] = MSG_EXISTS("network"),
- [VIR_ERR_SYSTEM_ERROR] = { "system call error", "%s" },
- [VIR_ERR_RPC] = { "RPC error", "%s" },
- [VIR_ERR_GNUTLS_ERROR] = { "GNUTLS call error", "%s" },
- [VIR_WAR_NO_NETWORK] = MSG("Failed to find the network"),
- [VIR_ERR_NO_DOMAIN] = MSG("Domain not found"),
- [VIR_ERR_NO_NETWORK] = MSG("Network not found"),
- [VIR_ERR_INVALID_MAC] = MSG("invalid MAC address"),
- [VIR_ERR_AUTH_FAILED] = MSG("authentication failed"),
- [VIR_ERR_INVALID_STORAGE_POOL] = MSG2("invalid storage pool pointer in", " %s"),
- [VIR_ERR_INVALID_STORAGE_VOL] = MSG2("invalid storage volume pointer in", " %s"),
- [VIR_WAR_NO_STORAGE] = MSG("Failed to find a storage driver"),
- [VIR_ERR_NO_STORAGE_POOL] = MSG("Storage pool not found"),
- [VIR_ERR_NO_STORAGE_VOL] = MSG("Storage volume not found"),
- [VIR_WAR_NO_NODE] = MSG("Failed to find a node driver"),
- [VIR_ERR_INVALID_NODE_DEVICE] = MSG2("invalid node device pointer", " in %s"),
- [VIR_ERR_NO_NODE_DEVICE] = MSG("Node device not found"),
- [VIR_ERR_NO_SECURITY_MODEL] = MSG("Security model not found"),
- [VIR_ERR_OPERATION_INVALID] = MSG("Requested operation is not valid"),
- [VIR_WAR_NO_INTERFACE] = MSG("Failed to find the interface"),
- [VIR_ERR_NO_INTERFACE] = MSG("Interface not found"),
- [VIR_ERR_INVALID_INTERFACE] = MSG2("invalid interface pointer in", " %s"),
- [VIR_ERR_MULTIPLE_INTERFACES] = MSG("multiple matching interfaces found"),
- [VIR_WAR_NO_NWFILTER] = MSG("Failed to start the nwfilter driver"),
- [VIR_ERR_INVALID_NWFILTER] = MSG("Invalid network filter"),
- [VIR_ERR_NO_NWFILTER] = MSG("Network filter not found"),
- [VIR_ERR_BUILD_FIREWALL] = MSG("Error while building firewall"),
- [VIR_WAR_NO_SECRET] = MSG("Failed to find a secret storage driver"),
- [VIR_ERR_INVALID_SECRET] = MSG("Invalid secret"),
- [VIR_ERR_NO_SECRET] = MSG("Secret not found"),
- [VIR_ERR_CONFIG_UNSUPPORTED] = MSG("unsupported configuration"),
- [VIR_ERR_OPERATION_TIMEOUT] = MSG("Timed out during operation"),
- [VIR_ERR_MIGRATE_PERSIST_FAILED] = MSG("Failed to make domain persistent after migration"),
- [VIR_ERR_HOOK_SCRIPT_FAILED] = MSG("Hook script execution failed"),
- [VIR_ERR_INVALID_DOMAIN_SNAPSHOT] = MSG("Invalid snapshot"),
- [VIR_ERR_NO_DOMAIN_SNAPSHOT] = MSG("Domain snapshot not found"),
- [VIR_ERR_INVALID_STREAM] = MSG2("invalid stream pointer", " in %s"),
- [VIR_ERR_ARGUMENT_UNSUPPORTED] = MSG("argument unsupported"),
- [VIR_ERR_STORAGE_PROBE_FAILED] = MSG("Storage pool probe failed"),
- [VIR_ERR_STORAGE_POOL_BUILT] = MSG("Storage pool already built"),
- [VIR_ERR_SNAPSHOT_REVERT_RISKY] = MSG("revert requires force"),
- [VIR_ERR_OPERATION_ABORTED] = MSG("operation aborted"),
- [VIR_ERR_AUTH_CANCELLED] = MSG("authentication cancelled"),
- [VIR_ERR_NO_DOMAIN_METADATA] = MSG("metadata not found"),
- [VIR_ERR_MIGRATE_UNSAFE] = MSG("Unsafe migration"),
- [VIR_ERR_OVERFLOW] = MSG("numerical overflow"),
- [VIR_ERR_BLOCK_COPY_ACTIVE] = MSG("block copy still active"),
- [VIR_ERR_OPERATION_UNSUPPORTED] = MSG("Operation not supported"),
- [VIR_ERR_SSH] = MSG("SSH transport error"),
- [VIR_ERR_AGENT_UNRESPONSIVE] = MSG("Guest agent is not responding"),
- [VIR_ERR_RESOURCE_BUSY] = MSG("resource busy"),
- [VIR_ERR_ACCESS_DENIED] = MSG("access denied"),
- [VIR_ERR_DBUS_SERVICE] = MSG("error from service"),
- [VIR_ERR_STORAGE_VOL_EXIST] = MSG_EXISTS("storage volume"),
- [VIR_ERR_CPU_INCOMPATIBLE] = MSG("the CPU is incompatible with host CPU"),
- [VIR_ERR_XML_INVALID_SCHEMA] = MSG("XML document failed to validate against schema"),
- [VIR_ERR_MIGRATE_FINISH_OK] = MSG("migration successfully aborted"),
- [VIR_ERR_AUTH_UNAVAILABLE] = MSG("authentication unavailable"),
- [VIR_ERR_NO_SERVER] = MSG("Server not found"),
- [VIR_ERR_NO_CLIENT] = MSG("Client not found"),
- [VIR_ERR_AGENT_UNSYNCED] = MSG("guest agent replied with wrong id to guest-sync command"),
- [VIR_ERR_LIBSSH] = MSG("libssh transport error"),
- [VIR_ERR_DEVICE_MISSING] = MSG("device not found"),
- [VIR_ERR_INVALID_NWFILTER_BINDING] = MSG("Invalid network filter binding"),
- [VIR_ERR_NO_NWFILTER_BINDING] = MSG("Network filter binding not found"),
+ [VIR_ERR_INTERNAL_ERROR] = {
+ N_("internal error"),
+ N_("internal error: %s") },
+ [VIR_ERR_NO_MEMORY] = {
+ N_("out of memory"),
+ N_("out of memory: %s") },
+ [VIR_ERR_NO_SUPPORT] = {
+ N_("this function is not supported by the connection driver"),
+ N_("this function is not supported by the connection driver: %s") },
+ [VIR_ERR_UNKNOWN_HOST] = {
+ N_("unknown host"),
+ N_("unknown host %s") },
+ [VIR_ERR_NO_CONNECT] = {
+ N_("no connection driver available"),
+ N_("no connection driver available for %s") },
+ [VIR_ERR_INVALID_CONN] = {
+ N_("invalid connection pointer in"),
+ N_("invalid connection pointer in %s") },
+ [VIR_ERR_INVALID_DOMAIN] = {
+ N_("invalid domain pointer in"),
+ N_("invalid domain pointer in %s") },
+ [VIR_ERR_INVALID_ARG] = {
+ N_("invalid argument"),
+ N_("invalid argument: %s") },
+ [VIR_ERR_OPERATION_FAILED] = {
+ N_("operation failed"),
+ N_("operation failed: %s") },
+ [VIR_ERR_GET_FAILED] = {
+ N_("GET operation failed"),
+ N_("GET operation failed: %s") },
+ [VIR_ERR_POST_FAILED] = {
+ N_("POST operation failed"),
+ N_("POST operation failed: %s") },
+ [VIR_ERR_HTTP_ERROR] = {
+ N_("got unknown HTTP error code"),
+ N_("got unknown HTTP error code %s") },
+ [VIR_ERR_SEXPR_SERIAL] = {
+ N_("failed to serialize S-Expr"),
+ N_("failed to serialize S-Expr: %s") },
+ [VIR_ERR_NO_XEN] = {
+ N_("could not use Xen hypervisor entry"),
+ N_("could not use Xen hypervisor entry %s") },
+ [VIR_ERR_XEN_CALL] = {
+ N_("failed Xen syscall"),
+ N_("failed Xen syscall %s") },
+ [VIR_ERR_OS_TYPE] = {
+ N_("unknown OS type"),
+ N_("unknown OS type %s") },
+ [VIR_ERR_NO_KERNEL] = {
+ N_("missing kernel information"),
+ N_("missing kernel information: %s") },
+ [VIR_ERR_NO_ROOT] = {
+ N_("missing root device information"),
+ N_("missing root device information in %s") },
+ [VIR_ERR_NO_SOURCE] = {
+ N_("missing source information for device"),
+ N_("missing source information for device %s") },
+ [VIR_ERR_NO_TARGET] = {
+ N_("missing target information for device"),
+ N_("missing target information for device %s") },
+ [VIR_ERR_NO_NAME] = {
+ N_("missing name information"),
+ N_("missing name information in %s") },
+ [VIR_ERR_NO_OS] = {
+ N_("missing operating system information"),
+ N_("missing operating system information for %s") },
+ [VIR_ERR_NO_DEVICE] = {
+ N_("missing devices information"),
+ N_("missing devices information for %s") },
+ [VIR_ERR_NO_XENSTORE] = {
+ N_("could not connect to Xen Store"),
+ N_("could not connect to Xen Store %s") },
+ [VIR_ERR_DRIVER_FULL] = {
+ N_("too many drivers registered"),
+ N_("too many drivers registered in %s") },
+ [VIR_ERR_CALL_FAILED] = {
+ N_("library call failed"),
+ N_("library call failed: %s") },
+ [VIR_ERR_XML_ERROR] = {
+ N_("XML description is invalid or not well formed"),
+ N_("XML error: %s") },
+ [VIR_ERR_DOM_EXIST] = {
+ N_("this domain exists already"),
+ N_("domain %s exists already") },
+ [VIR_ERR_OPERATION_DENIED] = {
+ N_("operation forbidden for read only access"),
+ N_("operation forbidden: %s") },
+ [VIR_ERR_OPEN_FAILED] = {
+ N_("failed to open configuration file"),
+ N_("failed to open configuration file %s") },
+ [VIR_ERR_READ_FAILED] = {
+ N_("failed to read configuration file"),
+ N_("failed to read configuration file %s") },
+ [VIR_ERR_PARSE_FAILED] = {
+ N_("failed to parse configuration file"),
+ N_("failed to parse configuration file %s") },
+ [VIR_ERR_CONF_SYNTAX] = {
+ N_("configuration file syntax error"),
+ N_("configuration file syntax error: %s") },
+ [VIR_ERR_WRITE_FAILED] = {
+ N_("failed to write configuration file"),
+ N_("failed to write configuration file: %s") },
+ [VIR_ERR_XML_DETAIL] = {
+ N_("parsers error"),
+ "%s" },
+ [VIR_ERR_INVALID_NETWORK] = {
+ N_("invalid network pointer in"),
+ N_("invalid network pointer in %s") },
+ [VIR_ERR_NETWORK_EXIST] = {
+ N_("this network exists already"),
+ N_("network %s exists already") },
+ [VIR_ERR_SYSTEM_ERROR] = {
+ N_("system call error"),
+ "%s" },
+ [VIR_ERR_RPC] = {
+ N_("RPC error"),
+ "%s" },
+ [VIR_ERR_GNUTLS_ERROR] = {
+ N_("GNUTLS call error"),
+ "%s" },
+ [VIR_WAR_NO_NETWORK] = {
+ N_("Failed to find the network"),
+ N_("Failed to find the network: %s") },
+ [VIR_ERR_NO_DOMAIN] = {
+ N_("Domain not found"),
+ N_("Domain not found: %s") },
+ [VIR_ERR_NO_NETWORK] = {
+ N_("Network not found"),
+ N_("Network not found: %s") },
+ [VIR_ERR_INVALID_MAC] = {
+ N_("invalid MAC address"),
+ N_("invalid MAC address: %s") },
+ [VIR_ERR_AUTH_FAILED] = {
+ N_("authentication failed"),
+ N_("authentication failed: %s") },
+ [VIR_ERR_INVALID_STORAGE_POOL] = {
+ N_("invalid storage pool pointer in"),
+ N_("invalid storage pool pointer in %s") },
+ [VIR_ERR_INVALID_STORAGE_VOL] = {
+ N_("invalid storage volume pointer in"),
+ N_("invalid storage volume pointer in %s") },
+ [VIR_WAR_NO_STORAGE] = {
+ N_("Failed to find a storage driver"),
+ N_("Failed to find a storage driver: %s") },
+ [VIR_ERR_NO_STORAGE_POOL] = {
+ N_("Storage pool not found"),
+ N_("Storage pool not found: %s") },
+ [VIR_ERR_NO_STORAGE_VOL] = {
+ N_("Storage volume not found"),
+ N_("Storage volume not found: %s") },
+ [VIR_WAR_NO_NODE] = {
+ N_("Failed to find a node driver"),
+ N_("Failed to find a node driver: %s") },
+ [VIR_ERR_INVALID_NODE_DEVICE] = {
+ N_("invalid node device pointer"),
+ N_("invalid node device pointer in %s") },
+ [VIR_ERR_NO_NODE_DEVICE] = {
+ N_("Node device not found"),
+ N_("Node device not found: %s") },
+ [VIR_ERR_NO_SECURITY_MODEL] = {
+ N_("Security model not found"),
+ N_("Security model not found: %s") },
+ [VIR_ERR_OPERATION_INVALID] = {
+ N_("Requested operation is not valid"),
+ N_("Requested operation is not valid: %s") },
+ [VIR_WAR_NO_INTERFACE] = {
+ N_("Failed to find the interface"),
+ N_("Failed to find the interface: %s") },
+ [VIR_ERR_NO_INTERFACE] = {
+ N_("Interface not found"),
+ N_("Interface not found: %s") },
+ [VIR_ERR_INVALID_INTERFACE] = {
+ N_("invalid interface pointer in"),
+ N_("invalid interface pointer in %s") },
+ [VIR_ERR_MULTIPLE_INTERFACES] = {
+ N_("multiple matching interfaces found"),
+ N_("multiple matching interfaces found: %s") },
+ [VIR_WAR_NO_NWFILTER] = {
+ N_("Failed to start the nwfilter driver"),
+ N_("Failed to start the nwfilter driver: %s") },
+ [VIR_ERR_INVALID_NWFILTER] = {
+ N_("Invalid network filter"),
+ N_("Invalid network filter: %s") },
+ [VIR_ERR_NO_NWFILTER] = {
+ N_("Network filter not found"),
+ N_("Network filter not found: %s") },
+ [VIR_ERR_BUILD_FIREWALL] = {
+ N_("Error while building firewall"),
+ N_("Error while building firewall: %s") },
+ [VIR_WAR_NO_SECRET] = {
+ N_("Failed to find a secret storage driver"),
+ N_("Failed to find a secret storage driver: %s") },
+ [VIR_ERR_INVALID_SECRET] = {
+ N_("Invalid secret"),
+ N_("Invalid secret: %s") },
+ [VIR_ERR_NO_SECRET] = {
+ N_("Secret not found"),
+ N_("Secret not found: %s") },
+ [VIR_ERR_CONFIG_UNSUPPORTED] = {
+ N_("unsupported configuration"),
+ N_("unsupported configuration: %s") },
+ [VIR_ERR_OPERATION_TIMEOUT] = {
+ N_("Timed out during operation"),
+ N_("Timed out during operation: %s") },
+ [VIR_ERR_MIGRATE_PERSIST_FAILED] = {
+ N_("Failed to make domain persistent after migration"),
+ N_("Failed to make domain persistent after migration: %s") },
+ [VIR_ERR_HOOK_SCRIPT_FAILED] = {
+ N_("Hook script execution failed"),
+ N_("Hook script execution failed: %s") },
+ [VIR_ERR_INVALID_DOMAIN_SNAPSHOT] = {
+ N_("Invalid snapshot"),
+ N_("Invalid snapshot: %s") },
+ [VIR_ERR_NO_DOMAIN_SNAPSHOT] = {
+ N_("Domain snapshot not found"),
+ N_("Domain snapshot not found: %s") },
+ [VIR_ERR_INVALID_STREAM] = {
+ N_("invalid stream pointer"),
+ N_("invalid stream pointer in %s") },
+ [VIR_ERR_ARGUMENT_UNSUPPORTED] = {
+ N_("argument unsupported"),
+ N_("argument unsupported: %s") },
+ [VIR_ERR_STORAGE_PROBE_FAILED] = {
+ N_("Storage pool probe failed"),
+ N_("Storage pool probe failed: %s") },
+ [VIR_ERR_STORAGE_POOL_BUILT] = {
+ N_("Storage pool already built"),
+ N_("Storage pool already built: %s") },
+ [VIR_ERR_SNAPSHOT_REVERT_RISKY] = {
+ N_("revert requires force"),
+ N_("revert requires force: %s") },
+ [VIR_ERR_OPERATION_ABORTED] = {
+ N_("operation aborted"),
+ N_("operation aborted: %s") },
+ [VIR_ERR_AUTH_CANCELLED] = {
+ N_("authentication cancelled"),
+ N_("authentication cancelled: %s") },
+ [VIR_ERR_NO_DOMAIN_METADATA] = {
+ N_("metadata not found"),
+ N_("metadata not found: %s") },
+ [VIR_ERR_MIGRATE_UNSAFE] = {
+ N_("Unsafe migration"),
+ N_("Unsafe migration: %s") },
+ [VIR_ERR_OVERFLOW] = {
+ N_("numerical overflow"),
+ N_("numerical overflow: %s") },
+ [VIR_ERR_BLOCK_COPY_ACTIVE] = {
+ N_("block copy still active"),
+ N_("block copy still active: %s") },
+ [VIR_ERR_OPERATION_UNSUPPORTED] = {
+ N_("Operation not supported"),
+ N_("Operation not supported: %s") },
+ [VIR_ERR_SSH] = {
+ N_("SSH transport error"),
+ N_("SSH transport error: %s") },
+ [VIR_ERR_AGENT_UNRESPONSIVE] = {
+ N_("Guest agent is not responding"),
+ N_("Guest agent is not responding: %s") },
+ [VIR_ERR_RESOURCE_BUSY] = {
+ N_("resource busy"),
+ N_("resource busy: %s") },
+ [VIR_ERR_ACCESS_DENIED] = {
+ N_("access denied"),
+ N_("access denied: %s") },
+ [VIR_ERR_DBUS_SERVICE] = {
+ N_("error from service"),
+ N_("error from service: %s") },
+ [VIR_ERR_STORAGE_VOL_EXIST] = {
+ N_("this storage volume exists already"),
+ N_("storage volume %s exists already") },
+ [VIR_ERR_CPU_INCOMPATIBLE] = {
+ N_("the CPU is incompatible with host CPU"),
+ N_("the CPU is incompatible with host CPU: %s") },
+ [VIR_ERR_XML_INVALID_SCHEMA] = {
+ N_("XML document failed to validate against schema"),
+ N_("XML document failed to validate against schema: %s") },
+ [VIR_ERR_MIGRATE_FINISH_OK] = {
+ N_("migration successfully aborted"),
+ N_("migration successfully aborted: %s") },
+ [VIR_ERR_AUTH_UNAVAILABLE] = {
+ N_("authentication unavailable"),
+ N_("authentication unavailable: %s") },
+ [VIR_ERR_NO_SERVER] = {
+ N_("Server not found"),
+ N_("Server not found: %s") },
+ [VIR_ERR_NO_CLIENT] = {
+ N_("Client not found"),
+ N_("Client not found: %s") },
+ [VIR_ERR_AGENT_UNSYNCED] = {
+ N_("guest agent replied with wrong id to guest-sync command"),
+ N_("guest agent replied with wrong id to guest-sync command: %s") },
+ [VIR_ERR_LIBSSH] = {
+ N_("libssh transport error"),
+ N_("libssh transport error: %s") },
+ [VIR_ERR_DEVICE_MISSING] = {
+ N_("device not found"),
+ N_("device not found: %s") },
+ [VIR_ERR_INVALID_NWFILTER_BINDING] = {
+ N_("Invalid network filter binding"),
+ N_("Invalid network filter binding: %s") },
+ [VIR_ERR_NO_NWFILTER_BINDING] = {
+ N_("Network filter binding not found"),
+ N_("Network filter binding not found: %s") },
};
-#undef MSG
-#undef MSG2
-#undef MSG_EXISTS
/**
* virErrorMsg:
--
2.19.2
6 years, 4 months
[libvirt] [PATCH 00/10] error: Refactor error message string convertor and add tests
by Peter Krempa
Make sure that all the error messages have both versions (info and
non-info) and store them in a sorted array rather than a giant switch.
Patch 7/10 adds a test that ensures that no messages were harmed during
the refactor. That commit will not be pushed (along with the
corresponding revert) to avoid polluting git history.
Peter Krempa (10):
include: error: Add enum sentinel for virErrorNumber enum
util: error: Fix error message strings to play well with additional
info
util: error: Add error message versions with info for some error codes
util: error: Export virErrorMsg for use in testsuite
tests: Add test for virErrorMsg message constraints
util: error: Improve docs for virErrorMsg
DO NOT PUSH: Make sure that error messages are not moved around
util: error: Use a more declarative approach in virErrorMsg
Revert "DO NOT PUSH: Make sure that error messages are not moved
around"
tests: virerror: Make sure that error messages stay in correct order
include/libvirt/virterror.h | 5 +
src/Makefile.am | 1 +
src/libvirt_private.syms | 2 +
src/util/Makefile.inc.am | 1 +
src/util/virerror.c | 791 +++++++++---------------------------
src/util/virerrorpriv.h | 36 ++
tests/Makefile.am | 6 +
tests/virerrortest.c | 121 ++++++
8 files changed, 361 insertions(+), 602 deletions(-)
create mode 100644 src/util/virerrorpriv.h
create mode 100644 tests/virerrortest.c
--
2.19.2
6 years, 4 months
[libvirt] [jenkins-ci PATCH] guests: Fix duplicated key in vault
by Andrea Bolognani
Commit d3904591a2d2 added the Jenkins secret for FreeBSD
12 to the vault, but mistakenly created a second entry
for the existing libvirt-freebsd-11 key instead of
introducing a new entry for the libvirt-freebsd-12 key.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed under the binary blob update rule.
guests/vars/vault.yml | 82 +++++++++++++++++++++----------------------
1 file changed, 41 insertions(+), 41 deletions(-)
diff --git a/guests/vars/vault.yml b/guests/vars/vault.yml
index 4229056..4d51fbb 100644
--- a/guests/vars/vault.yml
+++ b/guests/vars/vault.yml
@@ -1,42 +1,42 @@
$ANSIBLE_VAULT;1.1;AES256
-34653262643236653630616233396231366465363137396438363234336539366631666430363735
-3738616330663632323663303738323739366234623932360a306233666539653734353635626334
-39386438383137366436313865623861336331366164383439303466653639383636376265656137
-6133366231346131390a333066333433626630623766383238666630366633353232663430613161
-64373231333739613763303664383233333732636438643234343635356466376234663735356433
-37663038653238386362666536316635363466663266323461376331663735656263643337663161
-31323435323666313665616533393335626638656134303937396232633636393936636439653561
-65323365353531663438646538343537616236363631326666376232313162613134623766353162
-38666262346261306439383235333765613834356231336430306533613262376137333430643062
-62666633343734643636346135303137666263316333656665383837303133613037323266643664
-36373234636466393630393836653538613332306434396533343162396262346234623965373732
-39663634336239616538653337383135613534623462623230633861303764326561646531643636
-30386263626165386361366135333261323435386334613232346533376461656134376636613135
-33646432386632306133383862653065643134303030313032643962316534383366613364316234
-33353765626565386536373634613564383138393164336236343537353936373230653634656238
-35356238656235363235653837393862376335376338636361653535383432613961353832386234
-30336136326163303234333662313666306238383761303836616138343165656264363637383465
-33646561303366313132636633393231393966356633323464396639623066323337326534373835
-62663235343264623564316439343739663565383338373739643966343134643930346366666232
-39633631353365666464323138323036353666636230626563633733656461613736316639366137
-66326234306137653864643263616334316233663761366239346432356463336530326432326238
-30323330643838363631343865663238653335633862316639393237326566613863653834623334
-63613538326332376633376364653033623335356462383231303062643837663332393262613265
-32346635313130306134363133313134336666343439616636306237393466313362366135643862
-38376136323833363737396637336436366338373431333765373738396234626663386538353530
-66626337633337323563343666633131323235396564393534393234373530303135373335643338
-36366264323930396236663932383764313633353663313236376366653237333432333263643962
-63366438343662343331323861313838323837633238356431313034373132363434336536316536
-36646461323832363134386538353130363563373139333734346632346265373530373532643462
-33313661646533303636646337346232356437393334396436343162646631303537383466353230
-62633964303165626636373766616261313036666230306132626239623366346662373061613463
-30633637653838646133346261633934646665666161363137313362626638363961313935633464
-63363762356564393239353232386230313464336364393066646632316265313764393430323037
-33643830613565343263323233656333646161313062666461396264316538626339376339303232
-35653466346533633435613934326538323166613139393166623434326134353238333736383134
-62316266633137356265643638623862373332353665326235316139646362336530373834353966
-62633062303966666230303931653461653331383731376165633030396131363062356163303335
-61353861343338303233373536333331356234656138616561653465646262313662636630313134
-63616465393735623861383564383338626333653763366564396133356664396662653331303632
-62383438366330346261303264326636366239313864343261343364383237626663356262616230
-64376530353433643865626635666332356138623037633935656437653530613461
+30646332646365623231356439373464646464333463383363383036656338373163306636303363
+6439363134666263336362663232613933636138303730390a336365336264376464303436636630
+61323131636136633262613165343933306661616462633161343638326162646339303738616137
+3435343133313837350a656463396464366566376130356634643732616239663433373631303633
+62396633346533633163303433316638663764316633623532643266373436633764653861306235
+66646362396166383536623132646535343364323061613766643431313661353432363339666434
+32663939643263363265336135353439653661643161616537616131376466663139383961623732
+33393065323933643461333062313534646134346264613566376635326331306538383437653834
+61316533633736633432626361626238326532376236373531633430323537333132636637346232
+39326662373036616566653861643534643737323531616164333537626333653339313961626634
+34646362613263373235303734343466313032333232313039653364623266626537643131393563
+63656632666136633165316538346163373835623539326231646131373531383162313332643132
+32626662316330363836383764323966666265346435353037666536396462623336313764376430
+64656662333862393131613965633863343936326535643166666230643963633766323332663066
+62306532323432626664623838353439336334613033376136623734343664373630376534316336
+31393363313265643035626439616131636135313836333137616134623665666535663731303437
+66666634333931323739656631333562663231643738363233623561326363626339663066356664
+63656463306235343739333235333564363764353835306162616236383961356463383364393139
+61646432386362303535623065333061613534336365623339663435383231353230373539633237
+35316530636633323231343464313162633436623334356131376137633165363361623134366434
+62303437653833626466643339316362653363346530343032623462663539393930633035663838
+38393130623536313332343537613833333564316438376432393063613062353931653264326662
+36303631663638633833643630636237393538626134306237323963313438613461346439313839
+31353666653939326333373364376232623638623339376535613662353937353634316166633663
+36633762356334393066326536363066376638663561613864623739313131636666393134366237
+38376566393539353231613730346433653235366237626166616565353730363665643964363236
+66326564303765666237626237653736623336376336356631343564306437393734383431313530
+61353639366338663236643037373665626634353166373935383965303237613561623262376564
+65353063653764663636336534363665656532336532353037313065633836326435303365626537
+30633638346261646233333736376238613332316131303739393137363831633164613262653031
+64383733636666653461633066303763653265633635316464366561353265383539666466356636
+38656232343466353734353263623130623133613064643930393563616164333233663737343335
+30623233383936313762373934643536373534306230386131636534653866646339646438653261
+39623131633836363934656333383032646433623430663138386532626332336363373066336235
+63643166356630366164343566653134323037333238636335353266633036343533633464346532
+32313364613037616531303766656461316438643232646639373564643331376438613237626131
+63353238616633346462653065373137613962383633386664636237373434333938353335386130
+33303866323662363137656562383965626566356663373761653531653536306562353435376639
+66333133373037633362613231656439623931623164393131323063353934333134346365636164
+34396537313863383762633535636263336230333966366533626161336430663031366334623064
+30646566373037393161343231393665316339666635346662663031626161643137
--
2.19.2
6 years, 4 months
[libvirt] [PATCH] cpu: Add support for "stibp" x86_64 feature
by Jiri Denemark
QEMU commit v3.1.0-4-g0e89165829
KVM patch: https://lore.kernel.org/lkml/20181205191956.31480-1-ehabkost@redhat.com/
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/cpu_map/x86_features.xml | 3 +++
tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml | 2 +-
tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml | 1 +
tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-disabled.xml | 2 +-
tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml | 2 +-
tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml | 2 +-
tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml | 1 +
13 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml
index f835b02b02..59236456d6 100644
--- a/src/cpu_map/x86_features.xml
+++ b/src/cpu_map/x86_features.xml
@@ -323,6 +323,9 @@
<feature name='spec-ctrl'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
</feature>
+ <feature name='stibp'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x08000000'/>
+ </feature>
<feature name='ssbd'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x80000000'/>
</feature>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml
index e033bb141f..5c9cfa9bd6 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml
@@ -1,6 +1,6 @@
<!-- Features disabled by QEMU -->
<cpudata arch='x86'>
<cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/>
- <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x04000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0c000000'/>
<cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
index 4fa4770208..5d3093cec1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
@@ -23,6 +23,7 @@
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='intel-pt'/>
+ <feature policy='require' name='stibp'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
index 25690c099c..a534d2dec5 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
@@ -24,6 +24,7 @@
<feature name='arat'/>
<feature name='tsc_adjust'/>
<feature name='intel-pt'/>
+ <feature name='stibp'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-disabled.xml
index aacc7a2b14..ec299652f7 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-disabled.xml
@@ -1,6 +1,6 @@
<!-- Features disabled by QEMU -->
<cpudata arch='x86'>
<cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
- <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x08000000'/>
<cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml
index a66c7a5644..d8aaaad29d 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml
@@ -24,6 +24,7 @@
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmt'/>
+ <feature policy='require' name='stibp'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
index 624d71db20..9bac4b4648 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
@@ -25,6 +25,7 @@
<feature name='arat'/>
<feature name='tsc_adjust'/>
<feature name='cmt'/>
+ <feature name='stibp'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml
index d904808cec..85369d755c 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml
@@ -1,7 +1,7 @@
<!-- Features disabled by QEMU -->
<cpudata arch='x86'>
<cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
- <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x08000000'/>
<cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
<cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
index 7b93df3f1b..7718d7ca59 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
@@ -21,6 +21,7 @@
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmt'/>
<feature policy='require' name='intel-pt'/>
+ <feature policy='require' name='stibp'/>
<feature policy='require' name='mbm_total'/>
<feature policy='require' name='mbm_local'/>
<feature policy='require' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
index 5078420c7a..43a0b93ab4 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
@@ -26,6 +26,7 @@
<feature name='tsc_adjust'/>
<feature name='cmt'/>
<feature name='intel-pt'/>
+ <feature name='stibp'/>
<feature name='xsaveopt'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml
index b5c70a9dc4..a5b85a15c2 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml
@@ -1,7 +1,7 @@
<!-- Features disabled by QEMU -->
<cpudata arch='x86'>
<cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
- <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000008' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000008' edx='0x08000000'/>
<cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
<cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
index 480127f341..8f014f6e28 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
@@ -23,6 +23,7 @@
<feature policy='require' name='clflushopt'/>
<feature policy='require' name='intel-pt'/>
<feature policy='require' name='pku'/>
+ <feature policy='require' name='stibp'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='mbm_total'/>
<feature policy='require' name='mbm_local'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
index 680b10acef..9de76fd640 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
@@ -24,6 +24,7 @@
<feature name='clflushopt'/>
<feature name='intel-pt'/>
<feature name='pku'/>
+ <feature name='stibp'/>
<feature name='xsaves'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
--
2.20.1
6 years, 4 months
[libvirt] [PATCH] tests: ignore XML files starting with a .
by Daniel P. Berrangé
If an editor has an XML file open, it may create a temporary . file. The
existance of this file will cause the virschematest to fail, so just
skip these editor temp files.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
tests/virschematest.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/virschematest.c b/tests/virschematest.c
index 4c348d9909..d1bcdeac9c 100644
--- a/tests/virschematest.c
+++ b/tests/virschematest.c
@@ -84,6 +84,8 @@ testSchemaDir(const char *schema,
while ((rc = virDirRead(dir, &ent, dir_path)) > 0) {
if (!virFileHasSuffix(ent->d_name, ".xml"))
continue;
+ if (ent->d_name[0] == '.')
+ continue;
if (virAsprintf(&xml_path, "%s/%s", dir_path, ent->d_name) < 0)
goto cleanup;
--
2.19.2
6 years, 4 months
[libvirt] [jenkins-ci PATCH 0/6] Add FreeBSD 12, drop FreeBSD 12
by Andrea Bolognani
FreeBSD 12 was released, like, almost a week ago!
Andrea Bolognani (6):
guests: Fix FreeBSD symlink kludge
guests: Add FreeBSD 12
Build on FreeBSD 12
Stop building on FreeBSD 10
guests: Drop FreeBSD 10
guests: Simplify FreeBSD symlink kludge
.../main.yml | 2 +-
guests/inventory | 2 +-
guests/playbooks/build/jobs/defaults.yml | 2 +-
.../playbooks/build/projects/libvirt-dbus.yml | 4 +-
.../build/projects/libvirt-ocaml.yml | 2 +-
.../playbooks/build/projects/libvirt-tck.yml | 2 +-
.../playbooks/build/projects/virt-manager.yml | 2 +-
guests/playbooks/update/tasks/kludges.yml | 17 +---
guests/vars/vault.yml | 82 +++++++++----------
jobs/defaults.yaml | 2 +-
projects/libvirt-dbus.yaml | 4 +-
projects/libvirt-ocaml.yaml | 2 +-
projects/libvirt-tck.yaml | 2 +-
projects/virt-manager.yaml | 2 +-
14 files changed, 57 insertions(+), 70 deletions(-)
rename guests/host_vars/{libvirt-freebsd-10 => libvirt-freebsd-12}/main.yml (95%)
--
2.19.2
6 years, 4 months
[libvirt] [PATCH] src: Document autostart for session demon
by Michal Privoznik
The autostart under session daemon might not behave as you'd
expect it to behave. This patch is inspired by latest
libvirt-users discussion:
https://www.redhat.com/archives/libvirt-users/2018-December/msg00047.html
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/libvirt-domain.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index d49d7f869f..75c9014c0e 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -6693,6 +6693,11 @@ virDomainCreateWithFiles(virDomainPtr domain, unsigned int nfiles,
* configured to be automatically started when the host
* machine boots.
*
+ * Please note that this might result in unexpected behaviour if
+ * used for some session URIs. Since the session daemon is started
+ * with --timeout it comes and goes and as it does so it
+ * autostarts domains which might have been shut off recently.
+ *
* Returns -1 in case of error, 0 in case of success
*/
int
--
2.19.2
6 years, 4 months