From: Peter Krempa Date: Wed, 29 Jun 2016 13:40:09 +0000 (+0200) Subject: qemu: domain: Add vcpu private data structure X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2540c932036ba2f8fcb64b6d0509f739f18a67b4;p=libvirt.git qemu: domain: Add vcpu private data structure Members will be added in follow-up patches. --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 930e0b7cc2..a13cdf9cfc 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -812,6 +812,46 @@ qemuDomainHostdevPrivateDispose(void *obj) } +static virClassPtr qemuDomainVcpuPrivateClass; +static void qemuDomainVcpuPrivateDispose(void *obj); + +static int +qemuDomainVcpuPrivateOnceInit(void) +{ + qemuDomainVcpuPrivateClass = virClassNew(virClassForObject(), + "qemuDomainVcpuPrivate", + sizeof(qemuDomainVcpuPrivate), + qemuDomainVcpuPrivateDispose); + if (!qemuDomainVcpuPrivateClass) + return -1; + else + return 0; +} + +VIR_ONCE_GLOBAL_INIT(qemuDomainVcpuPrivate) + +static virObjectPtr +qemuDomainVcpuPrivateNew(void) +{ + qemuDomainVcpuPrivatePtr priv; + + if (qemuDomainVcpuPrivateInitialize() < 0) + return NULL; + + if (!(priv = virObjectNew(qemuDomainVcpuPrivateClass))) + return NULL; + + return (virObjectPtr) priv; +} + + +static void +qemuDomainVcpuPrivateDispose(void *obj ATTRIBUTE_UNUSED) +{ + return; +} + + /* qemuDomainSecretPlainSetup: * @conn: Pointer to connection * @secinfo: Pointer to secret info @@ -1637,6 +1677,7 @@ virDomainXMLPrivateDataCallbacks virQEMUDriverPrivateDataCallbacks = { .alloc = qemuDomainObjPrivateAlloc, .free = qemuDomainObjPrivateFree, .diskNew = qemuDomainDiskPrivateNew, + .vcpuNew = qemuDomainVcpuPrivateNew, .hostdevNew = qemuDomainHostdevPrivateNew, .parse = qemuDomainObjPrivateXMLParse, .format = qemuDomainObjPrivateXMLFormat, diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index c49f31ca61..16d0996011 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -312,6 +312,19 @@ struct _qemuDomainDiskPrivate { # define QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev) \ ((qemuDomainHostdevPrivatePtr) (hostdev)->privateData) + +typedef struct _qemuDomainVcpuPrivate qemuDomainVcpuPrivate; +typedef qemuDomainVcpuPrivate *qemuDomainVcpuPrivatePtr; +struct _qemuDomainVcpuPrivate { + virObject parent; + + int dummy; +}; + +# define QEMU_DOMAIN_VCPU_PRIVATE(vcpu) \ + ((qemuDomainVcpuPrivatePtr) (vcpu)->privateData) + + struct qemuDomainDiskInfo { bool removable; bool locked;