mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-15 00:55:17 +00:00
36785c7e77
The current code was a little bit odd. At first we've removed all possible implicit input devices from domain definition to add them later back if there was any graphics device defined while parsing XML description. That's not all, while formating domain definition to XML description we at first ignore any input devices with bus different to USB and VIRTIO and few lines later we add implicit input devices to XML. This seems to me as a lot of code for nothing. This patch may look to be more complicated than original approach, but this is a preferred way to modify/add driver specific stuff only in those drivers and not deal with them in common parsing/formating functions. The update is to add those implicit input devices into config XML to follow the real HW configuration visible by guest OS. There was also inconsistence between our behavior and QEMU's in the way, that in QEMU there is no way how to disable those implicit input devices for x86 architecture and they are available always, even without graphics device. This applies also to XEN hypervisor. VZ driver already does its part by putting correct implicit devices into live XML. Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
67 lines
2.1 KiB
C
67 lines
2.1 KiB
C
/*
|
|
* xen_common.h: Parsing and formatting functions for config common
|
|
*
|
|
* Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
*
|
|
* 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/>.
|
|
*
|
|
* Author: Jim Fehlig <jfehlig@suse.com>
|
|
*/
|
|
|
|
#ifndef __VIR_XEN_COMMON_H__
|
|
# define __VIR_XEN_COMMON_H__
|
|
|
|
# include "internal.h"
|
|
# include "virconf.h"
|
|
# include "domain_conf.h"
|
|
|
|
int xenConfigGetString(virConfPtr conf,
|
|
const char *name,
|
|
const char **value,
|
|
const char *def);
|
|
|
|
int xenConfigGetBool(virConfPtr conf, const char *name, int *value, int def);
|
|
|
|
int xenConfigSetInt(virConfPtr conf, const char *name, long long value);
|
|
|
|
int xenConfigSetString(virConfPtr conf, const char *setting, const char *value);
|
|
|
|
int xenConfigGetULong(virConfPtr conf,
|
|
const char *name,
|
|
unsigned long *value,
|
|
unsigned long def);
|
|
|
|
int
|
|
xenConfigCopyString(virConfPtr conf,
|
|
const char *name,
|
|
char **value);
|
|
|
|
int xenConfigCopyStringOpt(virConfPtr conf,
|
|
const char *name,
|
|
char **value);
|
|
|
|
int xenParseConfigCommon(virConfPtr conf,
|
|
virDomainDefPtr def,
|
|
virCapsPtr caps);
|
|
|
|
int xenFormatConfigCommon(virConfPtr conf,
|
|
virDomainDefPtr def,
|
|
virConnectPtr conn);
|
|
|
|
|
|
int xenDomainDefAddImplicitInputDevice(virDomainDefPtr def);
|
|
|
|
#endif /* __VIR_XEN_COMMON_H__ */
|