On 15.05.2026 06:08, Koichiro Den wrote:
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -1201,6 +1201,16 @@ struct xen_domctl_vuart_op {
> */
> };
>
> +/* XEN_DOMCTL_arm_cca_op */
> +struct xen_domctl_arm_cca_op {
> +#define XEN_DOMCTL_ARM_CCA_OP_INIT_REALM 0
> + uint32_t cmd; /* IN - XEN_DOMCTL_ARM_CCA_OP_* */
> + uint32_t flags; /* IN - reserved, must be zero */
> + uint64_aligned_t base_gfn; /* IN - first guest RAM gfn to protect
> */
> + uint64_aligned_t nr_pages; /* IN - number of 4K pages to protect */
> + uint64_aligned_t rmi_result; /* OUT - raw RMI result on -EIO */
> +};
> +
> /* XEN_DOMCTL_vmtrace_op: Perform VM tracing operations. */
> struct xen_domctl_vmtrace_op {
> uint32_t cmd; /* IN */
> @@ -1368,6 +1378,7 @@ struct xen_domctl {
> #define XEN_DOMCTL_gsi_permission 88
> #define XEN_DOMCTL_set_llc_colors 89
> #define XEN_DOMCTL_get_domain_state 90 /* stable interface */
> +#define XEN_DOMCTL_arm_cca_op 91
If this is to be Arm only (as the name implies), ...
> @@ -1429,6 +1440,7 @@ struct xen_domctl {
> struct xen_domctl_monitor_op monitor_op;
> struct xen_domctl_psr_alloc psr_alloc;
> struct xen_domctl_vuart_op vuart_op;
> + struct xen_domctl_arm_cca_op arm_cca_op;
... this wants to move ...
> struct xen_domctl_vmtrace_op vmtrace_op;
> struct xen_domctl_paging_mempool paging_mempool;
> #if defined(__arm__) || defined(__aarch64__)
... into this #if.
Jan