libvirt/src/cpu/cpu_map.h
Jiri Denemark 4b7c45ef61 cpu: Rework CPU map loading
The architecture specific loaders are now called with a list of all
elements of a given type (rather than a single element at a time). This
avoids the need to reallocate the arrays in CPU maps for each element.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2016-05-20 09:18:56 +02:00

54 lines
1.4 KiB
C

/*
* cpu_map.h: internal functions for handling CPU mapping configuration
*
* Copyright (C) 2009 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Authors:
* Jiri Denemark <jdenemar@redhat.com>
*/
#ifndef __VIR_CPU_MAP_H__
# define __VIR_CPU_MAP_H__
# include "virxml.h"
typedef enum {
CPU_MAP_ELEMENT_VENDOR,
CPU_MAP_ELEMENT_FEATURE,
CPU_MAP_ELEMENT_MODEL,
CPU_MAP_ELEMENT_LAST
} cpuMapElement;
VIR_ENUM_DECL(cpuMapElement)
typedef int
(*cpuMapLoadCallback) (cpuMapElement element,
xmlXPathContextPtr ctxt,
xmlNodePtr *nodes,
int n,
void *data);
int
cpuMapLoad(const char *arch,
cpuMapLoadCallback cb,
void *data);
#endif /* __VIR_CPU_MAP_H__ */