[libvirt] [PATCH 1/7] gic: Introduce virGICVersion enumeration
John Ferlan
jferlan at redhat.com
Sun Feb 7 14:28:40 UTC 2016
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 at redhat.com>
> + */
> +
> +#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 at redhat.com>
> + */
> +
> +#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__ */
>
More information about the libvir-list
mailing list