mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
cpu: Add virCPUDataNewCopy
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
25890756ec
commit
a9da679bb4
@ -294,6 +294,27 @@ virCPUDataNew(virArch arch)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* virCPUDataNewCopy:
|
||||||
|
*
|
||||||
|
* Returns a copy of @data or NULL on error.
|
||||||
|
*/
|
||||||
|
virCPUData *
|
||||||
|
virCPUDataNewCopy(virCPUData *data)
|
||||||
|
{
|
||||||
|
struct cpuArchDriver *driver;
|
||||||
|
|
||||||
|
VIR_DEBUG("data=%p", data);
|
||||||
|
|
||||||
|
if (!data)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if ((driver = cpuGetSubDriver(data->arch)) && driver->dataCopyNew)
|
||||||
|
return driver->dataCopyNew(data);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* virCPUDataFree:
|
* virCPUDataFree:
|
||||||
*
|
*
|
||||||
|
@ -62,6 +62,9 @@ typedef int
|
|||||||
virCPUData **forbidden,
|
virCPUData **forbidden,
|
||||||
virCPUData **vendor);
|
virCPUData **vendor);
|
||||||
|
|
||||||
|
typedef virCPUData *
|
||||||
|
(*cpuArchDataCopyNew)(virCPUData *data);
|
||||||
|
|
||||||
typedef void
|
typedef void
|
||||||
(*cpuArchDataFree) (virCPUData *data);
|
(*cpuArchDataFree) (virCPUData *data);
|
||||||
|
|
||||||
@ -134,6 +137,7 @@ struct cpuArchDriver {
|
|||||||
virCPUArchCompare compare;
|
virCPUArchCompare compare;
|
||||||
cpuArchDecode decode;
|
cpuArchDecode decode;
|
||||||
cpuArchEncode encode;
|
cpuArchEncode encode;
|
||||||
|
cpuArchDataCopyNew dataCopyNew;
|
||||||
cpuArchDataFree dataFree;
|
cpuArchDataFree dataFree;
|
||||||
virCPUArchGetHost getHost;
|
virCPUArchGetHost getHost;
|
||||||
virCPUArchBaseline baseline;
|
virCPUArchBaseline baseline;
|
||||||
@ -188,6 +192,9 @@ cpuEncode (virArch arch,
|
|||||||
virCPUData *
|
virCPUData *
|
||||||
virCPUDataNew(virArch arch);
|
virCPUDataNew(virArch arch);
|
||||||
|
|
||||||
|
virCPUData *
|
||||||
|
virCPUDataNewCopy(virCPUData *data);
|
||||||
|
|
||||||
void
|
void
|
||||||
virCPUDataFree(virCPUData *data);
|
virCPUDataFree(virCPUData *data);
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCPUData, virCPUDataFree);
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCPUData, virCPUDataFree);
|
||||||
|
@ -1464,6 +1464,7 @@ virCPUDataFormat;
|
|||||||
virCPUDataFree;
|
virCPUDataFree;
|
||||||
virCPUDataIsIdentical;
|
virCPUDataIsIdentical;
|
||||||
virCPUDataNew;
|
virCPUDataNew;
|
||||||
|
virCPUDataNewCopy;
|
||||||
virCPUDataParse;
|
virCPUDataParse;
|
||||||
virCPUDataParseNode;
|
virCPUDataParseNode;
|
||||||
virCPUExpandFeatures;
|
virCPUExpandFeatures;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user