On 02/03/2016 03:25 PM, Andrea Bolognani wrote: > We currently blindly accept any numeric value as a GIC version, even > thought only GIC v2 and GIC v3 actually exist; on the other hand, we s/thought/though > reject "host", which is a perfectly legitimate value for QEMU guests. > > This new enumeration contains all GIC versions libvirt is aware of. > --- > src/Makefile.am | 1 + > src/util/virgic.c | 33 +++++++++++++++++++++++++++++++++ > src/util/virgic.h | 38 ++++++++++++++++++++++++++++++++++++++ > 3 files changed, 72 insertions(+) > create mode 100644 src/util/virgic.c > create mode 100644 src/util/virgic.h > I agree with Cole - does seem to be overkill for it's own module... Just a thought.... If 'host' were to become the default, then 'none' is unnecessary especially since you have a tristate on related to features for whether <gic> is provided.... That way the version attribute could be optional and whatever is available on the host "takes over" unless they provide a specific version. John > diff --git a/src/Makefile.am b/src/Makefile.am > index a4aef0f..a3859ae 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -113,6 +113,7 @@ UTIL_SOURCES = \ > util/virfile.c util/virfile.h \ > util/virfirewall.c util/virfirewall.h \ > util/virfirewallpriv.h \ > + util/virgic.c util/virgic.h \ > util/virhash.c util/virhash.h \ > util/virhashcode.c util/virhashcode.h \ > util/virhook.c util/virhook.h \ > diff --git a/src/util/virgic.c b/src/util/virgic.c > new file mode 100644 > index 0000000..e7326d6 > --- /dev/null > +++ b/src/util/virgic.c > @@ -0,0 +1,33 @@ > +/* > + * virgic.c: ARM Generic Interrupt Controller support > + * > + * Copyright (C) 2016 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/>. > + * > + * Author: Andrea Bolognani <abologna@xxxxxxxxxx> > + */ > + > +#include <config.h> > +#include "internal.h" > +#include "virgic.h" > +#include "virutil.h" > + > +VIR_ENUM_IMPL(virGICVersion, VIR_GIC_VERSION_LAST, > + "none", > + "host", > + "2", > + "3", > +); > diff --git a/src/util/virgic.h b/src/util/virgic.h > new file mode 100644 > index 0000000..a2ba300 > --- /dev/null > +++ b/src/util/virgic.h > @@ -0,0 +1,38 @@ > +/* > + * virgic.h: ARM Generic Interrupt Controller support > + * > + * Copyright (C) 2016 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/>. > + * > + * Author: Andrea Bolognani <abologna@xxxxxxxxxx> > + */ > + > +#ifndef __VIR_GIC_H__ > +# define __VIR_GIC_H__ > + > +# include "virutil.h" > + > +typedef enum { > + VIR_GIC_VERSION_NONE = 0, > + VIR_GIC_VERSION_HOST, > + VIR_GIC_VERSION_2, > + VIR_GIC_VERSION_3, > + VIR_GIC_VERSION_LAST > +} virGICVersion; > + > +VIR_ENUM_DECL(virGICVersion); > + > +#endif /* __VIR_GIC_H__ */ > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list