Re: [PATCH 2/2] tools/ocaml: Fill arch_config for ARM in domain_getinfo{,list}()

Teddy Astie <[email protected]> Wed, 29 Jul 2026 13:49:19 +0200
Newsgroups gmane.comp.emulators.xen.devel
Message-ID <1785325760.8631fc262581453bbf619ec5b2062170.19fadb53164000e099@vates.tech>
Le 28/07/2026 à 17:50, Andrew Cooper a écrit :
> From: Julian Vetter <[email protected]>
> 
> Add the missing ARM logic, populating xen_arm_arch_domainconfig
> from the raw xc_domaininfo_t the same way the x86 branch does for
> xen_x86_arch_domainconfig.
> 
> Signed-off-by: Julian Vetter <[email protected]>
> Signed-off-by: Andrew Cooper <[email protected]>

Reviewed-by: Teddy Astie <[email protected]>

> ---
> CC: Andrew Cooper <[email protected]>
> CC: Andrii Sultanov <[email protected]>
> CC: Guillaume Thouvenin <[email protected]>
> CC: Julian Vetter <[email protected]>
> CC: Oleksii Kurochko <[email protected]>
> ---
>   tools/ocaml/libs/xc/xenctrl_stubs.c | 16 ++++++++++++++--
>   1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
> index 441e1d83cfec..fb983709066f 100644
> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> @@ -444,9 +444,21 @@ static value alloc_domaininfo(xc_domaininfo_t * info)
>   
>   	Store_field(result, 15, tmp);
>   
> -#if defined(__i386__) || defined(__x86_64__)
> +#if defined(__arm__) || defined(__aarch64__)
>   
> -	tag = 1; /* tag x86 */
> +	tag = 0; /* tag ARM */
> +
> +        /* xen_arm_arch_domainconfig */
> +        arch_config = caml_alloc_tuple(3);
> +        Field(arch_config, 0) = Val_int(info->arch_config.gic_version);
> +        Field(arch_config, 1) = Val_int(info->arch_config.nr_spis);
> +
> +	tmp = caml_copy_int32(info->arch_config.clock_frequency);
> +        Field(arch_config, 2) = tmp;
> +
> +#elif defined(__i386__) || defined(__x86_64__)
> +
> +        tag = 1; /* tag x86 */
>   
>   	/*
>   	 * emulation_flags: x86_arch_emulation_flags list;

Teddy
OpenPGP_0x660FA9D102CBCFD0.asc (application/pgp-keys, 2.4 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
x9fhaZEsniw8/bYgC3igkk5YJiOa
=lUIA
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 665 B)
-----BEGIN PGP SIGNATURE-----

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmpp6L8FAwAAAAAACgkQZg+p0QLLz9BB
/Av+NI9l3NzyWOP8nBphMOK3XrHD+sbDwbIJa4EMoL36p49hNcV6AAWfz4KImDs5a5R93fzZeD+9
cv0XqbgkcsngCi1lOOQoKYwrvAfgIW42Q7HOJwZ/+isk8bAdgY1qYEzt9wl5BgTEAq0ltrtlXfng
9vIeWmkLk+R1saTNI0s0mY42N+dzFrsg8zVWFbONf+aePtdzHImA3SU9CzErP1xbQ5KGVQDET8lO
NPEdZl2FF9bnDJJP/UM5iKGT+XG2S8AzS7q6puXFebfpIvD/uv8AeRUlh797yI9pUvS6K8nFeCdS
JRxf2sAwHAv/5rTPchv7qu/+xcwaIB9Hhf9Xq79BFH+kz4/qDrPNlaPkSS3VfUL5HeyLyo/RVDhu
70GUWaHOIazpc4S3yZTXhcfz28bF37KKTgYIuqmqgV5yEuzVmyWhLfV+UXL2EIUuwhFap+zJuovk
N253hPF4tR7UUDb9ja/2DZD6eor1r33FInZE9ReqYDJl/mphoIpQh1XyDmY7
=Ct9x
-----END PGP SIGNATURE-----