|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 4/8] arm: compile libxl
On Tue, 2012-05-29 at 14:41 +0100, Stefano Stabellini wrote:
> libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
> functions are only available on x86, so ifdef the new cpuid related
> function in libxl_json.c.
This was out of date. I replaced with:
libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
functions are only available on x86, so move them to
libxl_cpuid.c.
>
>
> Changes in v3:
>
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c.
>
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> ---
> tools/libxl/Makefile | 1 +
> tools/libxl/libxl_cpuid.c | 60
> +++++++++++++++++++++++++++++++++++++++++++
> tools/libxl/libxl_json.c | 60
> -------------------------------------------
> tools/libxl/libxl_nocpuid.c | 8 +++++-
> 4 files changed, 68 insertions(+), 61 deletions(-)
>
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..f9cc9fd 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
> endif
> LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
> LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
> +LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
>
> ifeq ($(CONFIG_NetBSD),y)
> LIBXL_OBJS-y += libxl_netbsd.o
> diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c
> index dcdb9d02..ff7531f 100644
> --- a/tools/libxl/libxl_cpuid.c
> +++ b/tools/libxl/libxl_cpuid.c
> @@ -333,6 +333,66 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
> (const char**)(cpuid[i].policy), cpuid_res);
> }
>
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> + libxl_cpuid_policy_list *pcpuid)
> +{
> + libxl_cpuid_policy_list cpuid = *pcpuid;
> + yajl_gen_status s;
> + const char *input_names[2] = { "leaf", "subleaf" };
> + const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
> + int i, j;
> +
> + /*
> + * Aiming for:
> + * [
> + * { 'leaf': 'val-eax',
> + * 'subleaf': 'val-ecx',
> + * 'eax': 'filter',
> + * 'ebx': 'filter',
> + * 'ecx': 'filter',
> + * 'edx': 'filter' },
> + * { 'leaf': 'val-eax', ..., 'eax': 'filter', ... },
> + * ... etc ...
> + * ]
> + */
> +
> + s = yajl_gen_array_open(hand);
> + if (s != yajl_gen_status_ok) goto out;
> +
> + if (cpuid == NULL) goto empty;
> +
> + for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
> + s = yajl_gen_map_open(hand);
> + if (s != yajl_gen_status_ok) goto out;
> +
> + for (j = 0; j < 2; j++) {
> + if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
> + s = libxl__yajl_gen_asciiz(hand, input_names[j]);
> + if (s != yajl_gen_status_ok) goto out;
> + s = yajl_gen_integer(hand, cpuid[i].input[j]);
> + if (s != yajl_gen_status_ok) goto out;
> + }
> + }
> +
> + for (j = 0; j < 4; j++) {
> + if (cpuid[i].policy[j] != NULL) {
> + s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
> + if (s != yajl_gen_status_ok) goto out;
> + s = yajl_gen_string(hand,
> + (const unsigned char *)cpuid[i].policy[j],
> 32);
> + if (s != yajl_gen_status_ok) goto out;
> + }
> + }
> + s = yajl_gen_map_close(hand);
> + if (s != yajl_gen_status_ok) goto out;
> + }
> +
> +empty:
> + s = yajl_gen_array_close(hand);
> +out:
> + return s;
> +}
> +
> /*
> * Local variables:
> * mode: C
> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> index 7c068d3..f430d4a 100644
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -146,66 +146,6 @@ out:
> return s;
> }
>
> -yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> - libxl_cpuid_policy_list *pcpuid)
> -{
> - libxl_cpuid_policy_list cpuid = *pcpuid;
> - yajl_gen_status s;
> - const char *input_names[2] = { "leaf", "subleaf" };
> - const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
> - int i, j;
> -
> - /*
> - * Aiming for:
> - * [
> - * { 'leaf': 'val-eax',
> - * 'subleaf': 'val-ecx',
> - * 'eax': 'filter',
> - * 'ebx': 'filter',
> - * 'ecx': 'filter',
> - * 'edx': 'filter' },
> - * { 'leaf': 'val-eax', ..., 'eax': 'filter', ... },
> - * ... etc ...
> - * ]
> - */
> -
> - s = yajl_gen_array_open(hand);
> - if (s != yajl_gen_status_ok) goto out;
> -
> - if (cpuid == NULL) goto empty;
> -
> - for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
> - s = yajl_gen_map_open(hand);
> - if (s != yajl_gen_status_ok) goto out;
> -
> - for (j = 0; j < 2; j++) {
> - if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
> - s = libxl__yajl_gen_asciiz(hand, input_names[j]);
> - if (s != yajl_gen_status_ok) goto out;
> - s = yajl_gen_integer(hand, cpuid[i].input[j]);
> - if (s != yajl_gen_status_ok) goto out;
> - }
> - }
> -
> - for (j = 0; j < 4; j++) {
> - if (cpuid[i].policy[j] != NULL) {
> - s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
> - if (s != yajl_gen_status_ok) goto out;
> - s = yajl_gen_string(hand,
> - (const unsigned char *)cpuid[i].policy[j],
> 32);
> - if (s != yajl_gen_status_ok) goto out;
> - }
> - }
> - s = yajl_gen_map_close(hand);
> - if (s != yajl_gen_status_ok) goto out;
> - }
> -
> -empty:
> - s = yajl_gen_array_close(hand);
> -out:
> - return s;
> -}
> -
> yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list
> *pl)
> {
> libxl_string_list l = *pl;
> diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
> index 9e52f8d..5f7cb6a 100644
> --- a/tools/libxl/libxl_nocpuid.c
> +++ b/tools/libxl/libxl_nocpuid.c
> @@ -14,7 +14,7 @@
>
> #include "libxl_internal.h"
>
> -void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
> +void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
> {
> }
>
> @@ -38,6 +38,12 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
> {
> }
>
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> + libxl_cpuid_policy_list *pcpuid)
> +{
> + return 0;
> +}
> +
> /*
> * Local variables:
> * mode: C
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |