mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 19:02:25 +00:00
ch_domain: add methods to manage private vcpu data
Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com> Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
326a4ed2cb
commit
bfa2da4ca9
@ -164,11 +164,6 @@ virCHDomainObjPrivateFree(void *data)
|
||||
g_free(priv);
|
||||
}
|
||||
|
||||
virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks = {
|
||||
.alloc = virCHDomainObjPrivateAlloc,
|
||||
.free = virCHDomainObjPrivateFree,
|
||||
};
|
||||
|
||||
static int
|
||||
virCHDomainDefPostParseBasic(virDomainDef *def,
|
||||
void *opaque G_GNUC_UNUSED)
|
||||
@ -185,6 +180,39 @@ virCHDomainDefPostParseBasic(virDomainDef *def,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static virClass *virCHDomainVcpuPrivateClass;
|
||||
|
||||
static void
|
||||
virCHDomainVcpuPrivateDispose(void *obj G_GNUC_UNUSED)
|
||||
{
|
||||
}
|
||||
|
||||
static int
|
||||
virCHDomainVcpuPrivateOnceInit(void)
|
||||
{
|
||||
if (!VIR_CLASS_NEW(virCHDomainVcpuPrivate, virClassForObject()))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
VIR_ONCE_GLOBAL_INIT(virCHDomainVcpuPrivate);
|
||||
|
||||
static virObject *
|
||||
virCHDomainVcpuPrivateNew(void)
|
||||
{
|
||||
virCHDomainVcpuPrivate *priv;
|
||||
|
||||
if (virCHDomainVcpuPrivateInitialize() < 0)
|
||||
return NULL;
|
||||
|
||||
if (!(priv = virObjectNew(virCHDomainVcpuPrivateClass)))
|
||||
return NULL;
|
||||
|
||||
return (virObject *) priv;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
virCHDomainDefPostParse(virDomainDef *def,
|
||||
unsigned int parseFlags G_GNUC_UNUSED,
|
||||
@ -203,6 +231,12 @@ virCHDomainDefPostParse(virDomainDef *def,
|
||||
return 0;
|
||||
}
|
||||
|
||||
virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks = {
|
||||
.alloc = virCHDomainObjPrivateAlloc,
|
||||
.free = virCHDomainObjPrivateFree,
|
||||
.vcpuNew = virCHDomainVcpuPrivateNew,
|
||||
};
|
||||
|
||||
static int
|
||||
chValidateDomainDeviceDef(const virDomainDeviceDef *dev,
|
||||
const virDomainDef *def G_GNUC_UNUSED,
|
||||
|
@ -62,6 +62,17 @@ struct _virCHDomainObjPrivate {
|
||||
|
||||
virCHMonitor *virCHDomainGetMonitor(virDomainObj *vm);
|
||||
|
||||
typedef struct _virCHDomainVcpuPrivate virCHDomainVcpuPrivate;
|
||||
struct _virCHDomainVcpuPrivate {
|
||||
virObject parent;
|
||||
|
||||
pid_t tid; /* vcpu thread id */
|
||||
virTristateBool halted;
|
||||
};
|
||||
|
||||
#define CH_DOMAIN_VCPU_PRIVATE(vcpu) \
|
||||
((virCHDomainVcpuPrivate *) (vcpu)->privateData)
|
||||
|
||||
extern virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks;
|
||||
extern virDomainDefParserConfig virCHDriverDomainDefParserConfig;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user