qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qapi: add 'query-target' command to return targ


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] qapi: add 'query-target' command to return target arch/bit size
Date: Mon, 20 Aug 2012 16:48:24 -0500
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

"Daniel P. Berrange" <address@hidden> writes:

> From: "Daniel P. Berrange" <address@hidden>
>
> Add a 'query-target' QAPI command to allow management applications
> to determine what target architecture a QEMU binary is emulating
> without having to parse the binary name or -help output
>
>   $ qmp-shell -p /tmp/qemu
>   (QEMU) query-target
>   {   u'return': {   u'arch': u'x86_64', u'bits': 64}}

"bits" is really ambiguous.  What it means in QEMU (specifically the
value you are returning) is probably not what you expect it to mean.

We're going to most likely fix TARGET_PHYS_ADDR_BITS to 64 real soon.

Why did you include this field?  What information are you looking to get
from QEMU and what decisions do you plan to make with it?

Regards,

Anthony Liguori

>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
>  arch_init.c      | 11 +++++++++++
>  qapi-schema.json | 25 +++++++++++++++++++++++++
>  qmp-commands.hx  |  5 +++++
>  3 files changed, 41 insertions(+)
>
> diff --git a/arch_init.c b/arch_init.c
> index 9b46bfc..095672d 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -1080,3 +1080,14 @@ int xen_available(void)
>      return 0;
>  #endif
>  }
> +
> +
> +TargetInfo *qmp_query_target(Error **errp)
> +{
> +    TargetInfo *info = g_malloc0(sizeof(*info));
> +
> +    info->arch = g_strdup(TARGET_ARCH);
> +    info->bits = TARGET_PHYS_ADDR_BITS;
> +
> +    return info;
> +}
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 3d2b2d1..f0e3fe0 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -2454,3 +2454,28 @@
>  #
>  ##
>  { 'command': 'query-fdsets', 'returns': ['FdsetInfo'] }
> +
> +##
> +# @TargetInfo:
> +#
> +# Information describing the QEMU target.
> +#
> +# @arch: the name of the target architecture (eg "x86_64", "i686", etc)
> +#
> +# @bits: number of bits in physical address (eg 32 or 64)
> +#
> +# Since: 1.2.0
> +##
> +{ 'type': 'TargetInfo',
> +  'data': { 'arch': 'str', 'bits': 'int' } }
> +
> +##
> +# @query-target:
> +#
> +# Return information about the target for this QEMU
> +#
> +# Returns: TargetInfo
> +#
> +# Since: 1.2.0
> +##
> +{ 'command': 'query-target', 'returns': 'TargetInfo' }
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index 2ce4ce6..00d798f 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -2509,3 +2509,8 @@ EQMP
>          .mhandler.cmd_new = qmp_marshal_input_query_cpu_definitions,
>      },
>  
> +    {
> +        .name       = "query-target",
> +        .args_type  = "",
> +        .mhandler.cmd_new = qmp_marshal_input_query_target,
> +    },
> -- 
> 1.7.11.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]