mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
cpu: Add support for overriding path to CPU map XML file
This commit is contained in:
parent
1b6f13bb70
commit
72bce49dcc
@ -32,6 +32,8 @@
|
||||
|
||||
#define CPUMAPFILE PKGDATADIR "/cpu_map.xml"
|
||||
|
||||
static char *cpumap;
|
||||
|
||||
VIR_ENUM_IMPL(cpuMapElement, CPU_MAP_ELEMENT_LAST,
|
||||
"vendor",
|
||||
"feature",
|
||||
@ -81,6 +83,7 @@ int cpuMapLoad(const char *arch,
|
||||
char *xpath = NULL;
|
||||
int ret = -1;
|
||||
int element;
|
||||
const char *mapfile = (cpumap ? cpumap : CPUMAPFILE);
|
||||
|
||||
if (arch == NULL) {
|
||||
virCPUReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@ -94,10 +97,10 @@ int cpuMapLoad(const char *arch,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((xml = xmlParseFile(CPUMAPFILE)) == NULL) {
|
||||
if ((xml = xmlParseFile(mapfile)) == NULL) {
|
||||
virCPUReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("cannot parse CPU map file: %s"),
|
||||
CPUMAPFILE);
|
||||
mapfile);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -139,3 +142,17 @@ no_memory:
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
cpuMapOverride(const char *path)
|
||||
{
|
||||
char *map;
|
||||
|
||||
if (!(map = strdup(path)))
|
||||
return -1;
|
||||
|
||||
VIR_FREE(cpumap);
|
||||
cpumap = map;
|
||||
return 0;
|
||||
}
|
||||
|
@ -48,4 +48,7 @@ cpuMapLoad(const char *arch,
|
||||
cpuMapLoadCallback cb,
|
||||
void *data);
|
||||
|
||||
extern int
|
||||
cpuMapOverride(const char *path);
|
||||
|
||||
#endif /* __VIR_CPU_MAP_H__ */
|
||||
|
@ -105,6 +105,7 @@ cpuDecode;
|
||||
cpuEncode;
|
||||
cpuGuestData;
|
||||
cpuHasFeature;
|
||||
cpuMapOverride;
|
||||
cpuNodeData;
|
||||
cpuUpdate;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user