From nobody Fri Oct 31 03:42:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1750088344; cv=none; d=zohomail.com; s=zohoarc; b=j1vL0IP6BSbi+irZM+oQ+QwgmZLvyIJwyc5EgDjBD+xPyaBCITaUZ5LoOHKs7LZJOt7LFdyFL6RGccC/VFdtsxoBD4pDaASuv/pIsPOgY7a9OjXWjx6EfVmkhWCJTVHVN102ScZcMGlbfccOI0oL12qlPEXpUmilBVhwrEYcDho= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750088344; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zpI3a3sfosj6hNi+fZow0piF9JHawLB1mde24/Cy8co=; b=gtz3ksAMuCTA94AdWg2PB+i+ku4M4m4BRoXYE6eQUMPzbUETHYJm3xreMoRCvAz9ON9KoAFR3vSLkNQgkTqeKveCquerUgDvsvxrqzfms0wZyKCcLrsm4udqhMSV/eFoGnOoiwI0uRUNLysOWq2KqTLciElqbip94KyDTlHcnWQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750088344371610.2610106839519; Mon, 16 Jun 2025 08:39:04 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1017388.1394378 (Exim 4.92) (envelope-from ) id 1uRBuy-0001JZ-4R; Mon, 16 Jun 2025 15:38:40 +0000 Received: by outflank-mailman (output) from mailman id 1017388.1394378; Mon, 16 Jun 2025 15:38:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRBuy-0001JS-1n; Mon, 16 Jun 2025 15:38:40 +0000 Received: by outflank-mailman (input) for mailman id 1017388; Mon, 16 Jun 2025 15:38:38 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRBuw-00015n-Dv for xen-devel@lists.xenproject.org; Mon, 16 Jun 2025 15:38:38 +0000 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [2a00:1450:4864:20::431]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id f89c73eb-4ac7-11f0-a309-13f23c93f187; Mon, 16 Jun 2025 17:38:38 +0200 (CEST) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a582e09144so527585f8f.1 for ; Mon, 16 Jun 2025 08:38:37 -0700 (PDT) Received: from gmail.com (140.red-213-97-47.staticip.rima-tde.net. [213.97.47.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a568b09148sm11779613f8f.58.2025.06.16.08.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 08:38:35 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f89c73eb-4ac7-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750088317; x=1750693117; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zpI3a3sfosj6hNi+fZow0piF9JHawLB1mde24/Cy8co=; b=X87z35S/RtddYuqQBFO/9HPGLYiabeffbNdbXteeNq6HIXRemxo3S2lGY/9+0rOjdl gPijxIOgSZtk4WsOMW7436dkKwEbHTWGgX5xqdSnHdfu81GRkZnZ6Q6zx41TDcT03UDP Lsjj3GghCHc2K3TnLQ6paFDC9SACy8Tlofmf9+kQG31Y8enQifCxDKx7CbbMb/Ss2dD/ yZ9HFbLyrlp5LMEYbys62nuJ9y8+EwsdV/l3ngmIUap0FzZDjcybQH+Az7SOaUOGnBYi BMW5pA3h65Hvy3Ug4NAK9Kkp8QrOtqRYloClh33RMvIsI1OS4R5i6HVWJ/bpB+YYPQ1p /wxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750088317; x=1750693117; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zpI3a3sfosj6hNi+fZow0piF9JHawLB1mde24/Cy8co=; b=xHe89ltgyEMyjA2O2dhT/QoDVOGvFzZ7Zeho+XLAUcRQu3iD52UcKsEkI17Ax78FhF TLu2pk4VolORzxPIkOo7NFFDU2M9nGy1g7OZBBNHlwG8mFiQqNECg93lWsLjA+SqS6pP L2S4P/63mnopjE1GhzvSYbzvuWQdaLIZCbfqqAlXIRPLSwLrjfwJ5wXLJZW7qU7V6gmi 5xwqYcxS5aSsuZAX7SNrgAi02COY2w+dIoFfD8EG0RpfdiyuJm+DBdDG0QgqUOaqMU4w HYI++wnqOSCSb05DRtD+YFK/Z+sTFIcXf4kg6yQrdnMMu18Dh4WhqVYugoTnNSqEQtc2 Dlxg== X-Gm-Message-State: AOJu0Yz94maqxqOI/emN25Q9BV4LtcJkzhOJUt8NoJ0qXmNZ3XXb5KG7 1Z4gukz+BLolLNE87fRWFIBlIF9Htcw8sDkRC6W0vdWWNb6L+/o9blDADsfaiRvmJWc= X-Gm-Gg: ASbGncuOXRacPrMjm9nZHaGNsXPEUvtf3wSY2LmhihhZpzY+rAzriwWPzopQJf3PUla DH2OFsJDvu7/nq76yo7yZUuIR2tlE+msaT3ZWILEt9uZowFhRt9g7I7hRUFWa/00F+3v94Kv5so 0hO4FkkoJXTcGBCG1qV9HJEFG26jZOVxctr+NBTGF8xS5gG3974sGX105WOiElZ47ImqfRk6T5s kOI9jqc3gOl4AcybpbX4Nfa+Vx0LWLFK2AHo1AsiwWP2uTyI4RrXWk6F3JuZsrpSv1cQyRrhl3B 1br1SS/3rnwRGOTaMsI2TEkSXgZkqEdh21HU3M0WntbCSDimo3vf4ArC1fgzWfalMVCB8ojpuOn mKD6mwl1sBnFHX6d8wijaxq2LXjs26MnPYWOJRO02nOg= X-Google-Smtp-Source: AGHT+IF7g9I61RmL20l+sNDoyY4icyG3G2rAgFLlGyf5RJWDQO30wiYD+Fw8Uv35X83UdC90RN6j+A== X-Received: by 2002:a05:6000:288a:b0:3a5:3a3b:6a3a with SMTP id ffacd0b85a97d-3a572e5856amr8231804f8f.54.1750088316645; Mon, 16 Jun 2025 08:38:36 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, julien@xen.org, bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech, rosbrookn@gmail.com, gwd@xenproject.org, edgar.iglesias@amd.com, Juergen Gross , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v5 1/5] xen/arm: Add way to disable traps on accesses to unmapped addresses Date: Mon, 16 Jun 2025 17:38:22 +0200 Message-ID: <20250616153826.404927-2-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250616153826.404927-1-edgar.iglesias@gmail.com> References: <20250616153826.404927-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1750088347092116600 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Add a per-domain way to optionally disable traps for accesses to unmapped addresses. The domain flag is general but it's only implemented for Arm for now. Signed-off-by: Edgar E. Iglesias Reviewed-by: Stefano Stabellini --- tools/libs/light/libxl_arm.c | 3 +++ xen/arch/arm/dom0less-build.c | 3 +++ xen/arch/arm/domain.c | 3 ++- xen/arch/arm/domain_build.c | 3 ++- xen/arch/arm/io.c | 37 +++++++++++++++++++++++++++++++++-- xen/arch/x86/domain.c | 7 +++++++ xen/common/domain.c | 3 ++- xen/include/public/domctl.h | 4 +++- 8 files changed, 57 insertions(+), 6 deletions(-) diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c index 75c811053c..9530996e72 100644 --- a/tools/libs/light/libxl_arm.c +++ b/tools/libs/light/libxl_arm.c @@ -233,6 +233,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc, config->arch.sve_vl =3D d_config->b_info.arch_arm.sve_vl / 128U; } =20 + /* Trap accesses to unmapped areas. */ + config->flags |=3D XEN_DOMCTL_CDF_trap_unmapped_accesses; + return 0; } =20 diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c index 20aabf6be5..981af5079f 100644 --- a/xen/arch/arm/dom0less-build.c +++ b/xen/arch/arm/dom0less-build.c @@ -343,6 +343,9 @@ void __init arch_create_domUs(struct dt_device_node *no= de, panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n"); #endif } + + /* Trap accesses to unmapped areas. */ + d_cfg->flags |=3D XEN_DOMCTL_CDF_trap_unmapped_accesses; } =20 int __init init_intc_phandle(struct kernel_info *kinfo, const char *name, diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index 45aeb8bddc..be58a23dd7 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -612,7 +612,8 @@ int arch_sanitise_domain_config(struct xen_domctl_creat= edomain *config) unsigned int max_vcpus; unsigned int flags_required =3D (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_h= ap); unsigned int flags_optional =3D (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF= _vpmu | - XEN_DOMCTL_CDF_xs_domain ); + XEN_DOMCTL_CDF_xs_domain | + XEN_DOMCTL_CDF_trap_unmapped_accesses ); unsigned int sve_vl_bits =3D sve_decode_vl(config->arch.sve_vl); =20 if ( (config->flags & ~flags_optional) !=3D flags_required ) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 590f38e520..845c92614b 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -1971,7 +1971,8 @@ void __init create_dom0(void) { struct domain *dom0; struct xen_domctl_createdomain dom0_cfg =3D { - .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap, + .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap | + XEN_DOMCTL_CDF_trap_unmapped_accesses, .max_evtchn_port =3D -1, .max_grant_frames =3D gnttab_dom0_frames(), .max_maptrack_frames =3D -1, diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c index 5a4b0e8f25..e599bbe043 100644 --- a/xen/arch/arm/io.c +++ b/xen/arch/arm/io.c @@ -21,6 +21,32 @@ =20 #include "decode.h" =20 +/* Handler for unmapped ranges. Writes ignored, reads return all ones. */ +static int unmapped_read(struct vcpu *v, mmio_info_t *info, register_t *r, + void *priv) +{ + uint64_t mask =3D GENMASK((1U << info->dabt.size) * 8 - 1, 0); + + /* Mask off upper bits. */ + *r =3D UINT64_MAX & mask; + return 1; +} + +static int unmapped_write(struct vcpu *v, mmio_info_t *info, register_t r, + void *priv) +{ + return 1; +} + +static const struct mmio_handler_ops unmapped_ops =3D { + .read =3D unmapped_read, + .write =3D unmapped_write +}; + +static const struct mmio_handler unmapped_handler =3D { + .ops =3D &unmapped_ops +}; + static enum io_state handle_read(const struct mmio_handler *handler, struct vcpu *v, mmio_info_t *info) @@ -175,11 +201,18 @@ enum io_state try_handle_mmio(struct cpu_user_regs *r= egs, handler =3D find_mmio_handler(v->domain, info->gpa); if ( !handler ) { + bool trap_unmapped =3D v->domain->options & + XEN_DOMCTL_CDF_trap_unmapped_acce= sses; rc =3D try_fwd_ioserv(regs, v, info); if ( rc =3D=3D IO_HANDLED ) return handle_ioserv(regs, v); - - return rc; + else if ( rc =3D=3D IO_UNHANDLED && !trap_unmapped ) + { + /* Fallback to the unmapped handler. */ + handler =3D &unmapped_handler; + } else { + return rc; + } } =20 /* diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 7536b6c871..fb7aea9168 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -713,6 +713,13 @@ int arch_sanitise_domain_config(struct xen_domctl_crea= tedomain *config) } } =20 + if ( config->flags & XEN_DOMCTL_CDF_trap_unmapped_accesses ) + { + dprintk(XENLOG_INFO, "Unsupported trap_unmapped_accesses flag %#x\= n", + config->flags); + return -EINVAL; + } + if ( config->arch.misc_flags & ~XEN_X86_MSR_RELAXED ) { dprintk(XENLOG_INFO, "Invalid arch misc flags %#x\n", diff --git a/xen/common/domain.c b/xen/common/domain.c index e566a18747..434d32901b 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -721,7 +721,8 @@ static int sanitise_domain_config(struct xen_domctl_cre= atedomain *config) ~(XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap | XEN_DOMCTL_CDF_s3_integrity | XEN_DOMCTL_CDF_oos_off | XEN_DOMCTL_CDF_xs_domain | XEN_DOMCTL_CDF_iommu | - XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_vpmu) ) + XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_vpmu | + XEN_DOMCTL_CDF_trap_unmapped_accesses) ) { dprintk(XENLOG_INFO, "Unknown CDF flags %#x\n", config->flags); return -EINVAL; diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index 5b2063eed9..be19ab5e26 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -66,9 +66,11 @@ struct xen_domctl_createdomain { #define XEN_DOMCTL_CDF_nested_virt (1U << _XEN_DOMCTL_CDF_nested_virt) /* Should we expose the vPMU to the guest? */ #define XEN_DOMCTL_CDF_vpmu (1U << 7) +/* Should we trap guest accesses to unmapped addresses? */ +#define XEN_DOMCTL_CDF_trap_unmapped_accesses (1U << 8) =20 /* Max XEN_DOMCTL_CDF_* constant. Used for ABI checking. */ -#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpmu +#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_trap_unmapped_accesses =20 uint32_t flags; =20 --=20 2.43.0 From nobody Fri Oct 31 03:42:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1750088338; cv=none; d=zohomail.com; s=zohoarc; b=ARv7C0pU9KAi1lwGKjECXNiLdfQAi7Fs75KrGlSDP6XTXDpGNg0wp8ybnGRPH0FDkr8p6/iiVTHVzc0DbG4GD84Q3ZH4dKaPOk1LD31ty0DI2BySMrNbQFhb9lFjqyJcJ3x8koWBYdhjq59I6VnfOwf7AafK5DyMl6GyEdREdkI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750088338; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4alejBC53+f14BfESAdUdsqdGSmpK0SJqs5nxYK3Y5U=; b=R0MGBguSS78PuQBmeXsjcGiHX1+bDxwivKo8IxrO+VLV8OjsP+Ykzbr5+U9qR+gjKzdNNgFrcZKZzvZByJUGuid4KwTY3/LKQ6nOUJ62xfKu4u/tRyr16Yo3rEQq33uy3IxZCu43ajGPFB+N0fOf0b+JRCxEPi3o+LL8C6AfXlI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750088338742690.2366450852269; Mon, 16 Jun 2025 08:38:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1017389.1394388 (Exim 4.92) (envelope-from ) id 1uRBv0-0001YI-F2; Mon, 16 Jun 2025 15:38:42 +0000 Received: by outflank-mailman (output) from mailman id 1017389.1394388; Mon, 16 Jun 2025 15:38:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRBv0-0001YB-Ba; Mon, 16 Jun 2025 15:38:42 +0000 Received: by outflank-mailman (input) for mailman id 1017389; Mon, 16 Jun 2025 15:38:40 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRBuy-00015n-Fp for xen-devel@lists.xenproject.org; Mon, 16 Jun 2025 15:38:40 +0000 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [2a00:1450:4864:20::42a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id f9dca812-4ac7-11f0-a309-13f23c93f187; Mon, 16 Jun 2025 17:38:40 +0200 (CEST) Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a507e88b0aso4574630f8f.1 for ; Mon, 16 Jun 2025 08:38:40 -0700 (PDT) Received: from gmail.com (140.red-213-97-47.staticip.rima-tde.net. [213.97.47.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a57b15015fsm5707473f8f.95.2025.06.16.08.38.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 08:38:37 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f9dca812-4ac7-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750088318; x=1750693118; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4alejBC53+f14BfESAdUdsqdGSmpK0SJqs5nxYK3Y5U=; b=g/0TBfcqZZpyzl2HxWDOcEikhQHAVDHU5dv/AD9TGN3iZ+l1G2xWHxh4Q6f5GD8aIi IlldtUhkA4Mpxy3kDr3yAtZjbG6UyuLHkkveXIGX6VLKVUWeLILahZDgZgeBo5q3Lbgo AJxGNG3cvRcLlm/FLXye5VV8YBcoWjgCsTclOcHndooKVUrpAr1Q4CD65WRkanrTWB7s d7b0XPj/xXLIDzABUSW3V09fHN8qlxEM2q2YsxuvGlNcb2b49eoeSxxL3WAIQ4kMmEn0 dSZK8jp1/0dVsQBLgDO5I+i9+U91b4fwdB+SpWSDFEMsIIDrk+dORj7Spp5np5usN8fA geNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750088318; x=1750693118; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4alejBC53+f14BfESAdUdsqdGSmpK0SJqs5nxYK3Y5U=; b=a201GfMBFSwVCjOuc1PmDrejcFrQ96JiZTpEvAZURTU2fMoQN1K1PhMgTiKLOhFi2V tAK8k9KluoUQ7njslCSdVE6/2A3P5W5XDY8csY1TClcxVOXlUE9OoUO5suQi7X2LzS+z ePJ4Eju5wBsdtZ8EjDZvHoGECX/LbEclp1pA/LK/UU7Azri9SsQ4zKtd2FOINyBY0dLT lSIKiGMx4v7Zj5TNsj7E9680dlqNZ0SR0WeRp+0KUloMa1hbYYMS8UkXZF/haLBpG7qX hYbmJt01vORHsrjMz5/yYC26luIzIZKE0UKG7oV2igaNpsREle+mJh3JBla7zcYO/1qI no5g== X-Gm-Message-State: AOJu0YyCDoXcf5mLw7aEtzu4gJfHJyS2ewd+vSWL/10q4gDHdODeXAF4 QatxtwNF+epjkatAfxQY3m3jl8IPCGmEbq1uVxxX9Jt+YU3dW1RZ/yfJAKwARlJh9zU= X-Gm-Gg: ASbGncvck1OpoQ9CyRtBTqfJ3rQuGNZZZxpYDaq+ZH8mvh2UHuQebg51acKQ7DKnfAK Zjawmtq6FIxFrkB1F7Xux3+FDKOHJh4T/4DCsCzGuxlxRnFL1DXX4KxLkD0llM5dFcv1o9T1B2G 4mOMoWVpoSZHMRA7kA3h9gpBGVwDEsFQ6tl4zlhYXG1/C0wVOiko6m/OEusvjOqzN87BSS374Ko NExd8IJLUCDaHl2GXpRnE+8t3urEXKmdl1GeRx8l57YXjaJZCiQxZ47n27gF9RvfRrtbuATSnEv sWNeeP2xVkOgSRcTYk5EcoYtfS8hsFvVsf7NISnujrpys+VjrXTWxgodq9KMixytlRUMALKpH0t F8onmoGlqSUjIS0rSW0a1xvpbIEyWvZVBWStr6ZZL9u4= X-Google-Smtp-Source: AGHT+IFs2+d0kAx8DgFcFSn1sGMDzQkUp4lDbG4NCVYXHJ39d4Q8R119BVcD6Ndzwxp5cN/IliGLnw== X-Received: by 2002:a5d:6f01:0:b0:3a4:d8f8:fba7 with SMTP id ffacd0b85a97d-3a572367c78mr9839975f8f.2.1750088318282; Mon, 16 Jun 2025 08:38:38 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, julien@xen.org, bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech, rosbrookn@gmail.com, gwd@xenproject.org, edgar.iglesias@amd.com Subject: [PATCH v5 2/5] xen/arm: dom0less: Add trap-unmapped-accesses Date: Mon, 16 Jun 2025 17:38:23 +0200 Message-ID: <20250616153826.404927-3-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250616153826.404927-1-edgar.iglesias@gmail.com> References: <20250616153826.404927-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1750088340674116600 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Add the trap-unmapped-accesses per-domain fdt property. Signed-off-by: Edgar E. Iglesias Reviewed-by: Stefano Stabellini --- docs/misc/arm/device-tree/booting.txt | 10 ++++++++++ xen/arch/arm/dom0less-build.c | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-t= ree/booting.txt index 59fa96a82e..07acc7ba64 100644 --- a/docs/misc/arm/device-tree/booting.txt +++ b/docs/misc/arm/device-tree/booting.txt @@ -225,6 +225,16 @@ with the following properties: option is provided with a non zero value, but the platform doesn't sup= port SVE. =20 +- trap-unmapped-accesses + + Optional. An integer that configures handling of accesses to unmapped + address ranges. + If set to 0, guest accesses will read all bits as ones, e.g 0xFFFFFFFF + for a 32bit access and writes will be ignored. + If set to 1, guest accesses will trap. + + The default is 1 when trap-unmapped-accesses is absent. + - xen,enhanced =20 A string property. Possible property values are: diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c index 981af5079f..4b285cff5e 100644 --- a/xen/arch/arm/dom0less-build.c +++ b/xen/arch/arm/dom0less-build.c @@ -344,8 +344,15 @@ void __init arch_create_domUs(struct dt_device_node *n= ode, #endif } =20 - /* Trap accesses to unmapped areas. */ + /* Trap unmapped accesses by default. */ d_cfg->flags |=3D XEN_DOMCTL_CDF_trap_unmapped_accesses; + if ( dt_property_read_u32(node, "trap-unmapped-accesses", &val) ) + { + if ( val > 1 ) + panic("trap-unmapped-accesses: supported values are 0 or 1"); + if ( !val ) + d_cfg->flags &=3D ~XEN_DOMCTL_CDF_trap_unmapped_accesses; + } } =20 int __init init_intc_phandle(struct kernel_info *kinfo, const char *name, --=20 2.43.0 From nobody Fri Oct 31 03:42:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1750089219; cv=none; d=zohomail.com; s=zohoarc; b=ku2FyS7bdQupEfJ5blndks7POfAcnC3smfTlWBfHyBEVc8e7uLxk4YF6Qnw+CVX3TkppSWSRMWIps59xiA3O7k0FjPjJGKNofExoDLn/82TP5tkRKB1RK7/DcBFin+mKuNOTXMRjFQasRzpaVrz940ri5mdFx+jb98jlyKQyzQw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750089219; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hTTDVxBacMVhgiefAvTCo3jBlukvO39wp+PQztq5l5c=; b=DIcgGIEojvNCwc96WVYW7efXSSQtn9IlWEDrZk2VO/IjUA92SXB23JucFwdTfnWo5rzECfsc6yvH4r9qRu7wb2fywsLy301pnqUftyca/cvcwY8PcuJGCqaqlNQhkfyC1kG8iwp+ShCKs3BW2wx0L+QPrZQk/yz5YWwm62VjuMg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 175008921919499.70338068369006; Mon, 16 Jun 2025 08:53:39 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1017432.1394412 (Exim 4.92) (envelope-from ) id 1uRC91-00061B-U2; Mon, 16 Jun 2025 15:53:11 +0000 Received: by outflank-mailman (output) from mailman id 1017432.1394412; Mon, 16 Jun 2025 15:53:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRC91-000614-RA; Mon, 16 Jun 2025 15:53:11 +0000 Received: by outflank-mailman (input) for mailman id 1017432; Mon, 16 Jun 2025 15:53:11 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRC91-00060y-B4 for xen-devel@lists.xenproject.org; Mon, 16 Jun 2025 15:53:11 +0000 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [2a00:1450:4864:20::32a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 00adffa5-4aca-11f0-a309-13f23c93f187; Mon, 16 Jun 2025 17:53:10 +0200 (CEST) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-450cfb79177so28777845e9.0 for ; Mon, 16 Jun 2025 08:53:10 -0700 (PDT) Received: from gmail.com (140.red-213-97-47.staticip.rima-tde.net. [213.97.47.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a568b18f96sm11559372f8f.66.2025.06.16.08.53.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 08:53:08 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 00adffa5-4aca-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750089189; x=1750693989; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hTTDVxBacMVhgiefAvTCo3jBlukvO39wp+PQztq5l5c=; b=Tgzi1FZPj7n+eBOobXJtL/ZQ88HAJ2A9cC3OYY6UB+/dOj6YpOBaqW1BRQdNN4vHyg 1KSfdVSPYjW8Jpn6s022nC9wy5h+wXXwY6jo2vbA+4XRvOd2ARTWPTdupH8z0l1UloT5 XPiPuxVZJsBZ38MVDYzIzNPOXiVP4xKt+MjDr53r5yHeFcerXXGMpdTjXhiBjb2pvDQZ CFXc6O9xvEbrFbeRo0cqFnuaNHymgfC9bCq3ldmupuL6tCNiICgtXNmpEiP24ZKElQww eikSTfSTyUPWrXKplMQEawno9H8JzR/laiayQi0oAKQHZRNFbAvfZY9hQr4ZIcVaHtuc eqmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750089189; x=1750693989; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hTTDVxBacMVhgiefAvTCo3jBlukvO39wp+PQztq5l5c=; b=EhmvEL1h64uDIO4D53d4ZqSczYws8BzEc9SwXrW1IYrvagl/kN7bV32QMhXZ3kSqU6 c36sQe/0RwWdXVzBVjEXYcnFXbta8bUCrZKika6Bn+VieNI0Qkt33yAVutgl/DLUjquf IKy6mjRgo8+jja2u9IzRIK8RUShxohR7W/RsBpSpUcIINubfFFQf50kG7i2qBLVlVzd1 1Pjds9Dj/P+fWln8gYAUaAokelMFxI4vgGqLzSw0NZ7oNzRR00pHB677FLLhSZrnvRRr r9IQx2tYOWMa1lLyWYBvVg2SP+gCU2eIoXYqhbhooiQB2bWIVNBEn0ZyZPNZd467qFBS T7xA== X-Gm-Message-State: AOJu0Yzqh3e7piwTiq3mHv1j2feIGv7Gu/WYdfH4lA+NzeoisES7Sofd eYQKlQ2xlLsJYTssuzNJfOiZfrR1iDA1zG9drE9Bx08/FloFEo2UXoUE3fbFig0APfI= X-Gm-Gg: ASbGncte7C0W3S2DaJvryIMwPFDpqrz6klGMkT5Y3rcL1uL+KBL6C5bxb/xqZAOnOK3 LCtPc1wD5zSXRFOGSGj5qveZeN8nZepYzlhHtEjs8D3SShualvlHrKN/ycpbRX28b8Mhp5n2Gtj o+ALYLCwqF3jx3bkRI6KmgCpkRqNam3Yvgsji4Xr2YjTMeunEuCKtTUhukvCyBuQxNiQq3nOza6 ikmsbG5XXnab3tQAqOE1CBwldk8zUqbp8hawSc5omUy1C1+v647EBNM9sFhRt7iQGSt8Ly2WmO4 AQ8i8y0+qdTvcyW8TyLPppi7gsrfnuXPjQYDrcBxvl5UN61r+emgirSuKDEpEx1Dmoz+y7alOUU FjzSidajjPiaqdO/b8bdRszyEar3e2QW5RsLDfXMqO9mEuuxK475EAQ== X-Google-Smtp-Source: AGHT+IEz5F5xMW1sXDv3e6m8Wn+szYODBtW2rBwJBVBpWLBpMHya3TnaGhxYVqvOEcrfNj1OAknM2w== X-Received: by 2002:a05:600c:3e8c:b0:440:6a37:be0d with SMTP id 5b1f17b1804b1-4533ca9cc5cmr108156355e9.15.1750089188813; Mon, 16 Jun 2025 08:53:08 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, julien@xen.org, bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech, rosbrookn@gmail.com, gwd@xenproject.org, edgar.iglesias@amd.com, Juergen Gross Subject: [PATCH v5 3/5] tools/arm: Add the trap_unmapped_accesses xl config option Date: Mon, 16 Jun 2025 17:53:04 +0200 Message-ID: <20250616155306.405257-1-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250616153826.404927-1-edgar.iglesias@gmail.com> References: <20250616153826.404927-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1750089220388116600 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Signed-off-by: Edgar E. Iglesias Reviewed-by: Stefano Stabellini --- docs/man/xl.cfg.5.pod.in | 9 +++++++++ tools/include/libxl.h | 7 +++++++ tools/libs/light/libxl_arm.c | 6 +++--- tools/libs/light/libxl_create.c | 3 +++ tools/libs/light/libxl_types.idl | 1 + tools/libs/light/libxl_x86.c | 6 ++++++ tools/xl/xl_parse.c | 3 +++ 7 files changed, 32 insertions(+), 3 deletions(-) diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in index c388899306..075e89e6d2 100644 --- a/docs/man/xl.cfg.5.pod.in +++ b/docs/man/xl.cfg.5.pod.in @@ -3056,6 +3056,15 @@ will be used for the domain. Otherwise, the value sp= ecified by the `nr_spis` parameter will be used. The number of SPIs should match the highest interr= upt ID that will be assigned to the domain. =20 +=3Ditem B + +An Optional boolean parameter that configures handling of accesses to unma= pped +address ranges. If enabled, guest accesses will trap. If disabled, guest +accesses will read all bits as ones, e.g 0xFFFFFFFF for a 32bit access and +writes will be ignored. + +This option is only implemented for Arm where the default is enabled. + =3Dback =20 =3Dhead3 x86 diff --git a/tools/include/libxl.h b/tools/include/libxl.h index b7ad7735ca..24c81cf145 100644 --- a/tools/include/libxl.h +++ b/tools/include/libxl.h @@ -549,6 +549,13 @@ */ #define LIBXL_HAVE_VPMU 1 =20 +/* + * LIBXL_HAVE_TRAP_UNMAPPED_ACCESSES indicates that libxl_domain_build_info + * has a trap_unmapped_accesses parameter, which allows the control of how + * accesses to unmapped adresses behave. + */ +#define LIBXL_HAVE_TRAP_UNMAPPED_ACCESSES 1 + /* * LIBXL_HAVE_PHYSINFO_CAP_GNTTAB indicates that libxl_physinfo has a * cap_gnttab_v1/2 fields, which indicates the available grant table ABIs. diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c index 9530996e72..afc62a5299 100644 --- a/tools/libs/light/libxl_arm.c +++ b/tools/libs/light/libxl_arm.c @@ -233,9 +233,6 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc, config->arch.sve_vl =3D d_config->b_info.arch_arm.sve_vl / 128U; } =20 - /* Trap accesses to unmapped areas. */ - config->flags |=3D XEN_DOMCTL_CDF_trap_unmapped_accesses; - return 0; } =20 @@ -1714,6 +1711,9 @@ int libxl__arch_domain_build_info_setdefault(libxl__g= c *gc, /* ACPI is disabled by default */ libxl_defbool_setdefault(&b_info->acpi, false); =20 + /* Trapping of unmapped accesses enabled by default. */ + libxl_defbool_setdefault(&b_info->trap_unmapped_accesses, true); + /* Sanitise SVE parameter */ if (b_info->arch_arm.sve_vl) { unsigned int max_sve_vl =3D diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_creat= e.c index 8bc768b515..625ce5b040 100644 --- a/tools/libs/light/libxl_create.c +++ b/tools/libs/light/libxl_create.c @@ -605,6 +605,9 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_conf= ig *d_config, if (libxl_defbool_val(b_info->vpmu)) create.flags |=3D XEN_DOMCTL_CDF_vpmu; =20 + if (libxl_defbool_val(b_info->trap_unmapped_accesses)) + create.flags |=3D XEN_DOMCTL_CDF_trap_unmapped_accesses; + assert(info->passthrough !=3D LIBXL_PASSTHROUGH_DEFAULT); LOG(DETAIL, "passthrough: %s", libxl_passthrough_to_string(info->passthrough)); diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_type= s.idl index 1985153830..57ae16ae78 100644 --- a/tools/libs/light/libxl_types.idl +++ b/tools/libs/light/libxl_types.idl @@ -736,6 +736,7 @@ libxl_domain_build_info =3D Struct("domain_build_info",[ ("vmtrace_buf_kb", integer), =20 ("vpmu", libxl_defbool), + ("trap_unmapped_accesses", libxl_defbool), =20 ], dir=3DDIR_IN, copy_deprecated_fn=3D"libxl__domain_build_info_copy_deprecated", diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c index 867addfcab..60d4e8661c 100644 --- a/tools/libs/light/libxl_x86.c +++ b/tools/libs/light/libxl_x86.c @@ -26,6 +26,11 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc, if (libxl_defbool_val(d_config->b_info.arch_x86.msr_relaxed)) config->arch.misc_flags |=3D XEN_X86_MSR_RELAXED; =20 + if (libxl_defbool_val(d_config->b_info.trap_unmapped_accesses)) { + LOG(ERROR, "trap_unmapped_accesses is not supported on x86\n"); + return ERROR_FAIL; + } + return 0; } =20 @@ -813,6 +818,7 @@ int libxl__arch_domain_build_info_setdefault(libxl__gc = *gc, { libxl_defbool_setdefault(&b_info->acpi, true); libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false); + libxl_defbool_setdefault(&b_info->trap_unmapped_accesses, false); =20 if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { /* diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c index 219e924779..98b3612d0f 100644 --- a/tools/xl/xl_parse.c +++ b/tools/xl/xl_parse.c @@ -2972,6 +2972,9 @@ skip_usbdev: if (!xlu_cfg_get_long (config, "nr_spis", &l, 0)) b_info->arch_arm.nr_spis =3D l; =20 + xlu_cfg_get_defbool(config, "trap_unmapped_accesses", + &b_info->trap_unmapped_accesses, 0); + parse_vkb_list(config, d_config); =20 d_config->virtios =3D NULL; --=20 2.43.0 From nobody Fri Oct 31 03:42:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1750089218; cv=none; d=zohomail.com; s=zohoarc; b=GbvY+o9BL/bngope0M5i8NxQs+wITPtME//zPsqvWm3TahVJyv9R3cL1uaQWi8rx6A22/l727vn7LUTYbLPyx2kL9zjRul9hkByuFOYUBhln5lA4xBS+i6gNovn38MJdaIJLItv/REMCyTx/e7N03nqnTrq6hE5xCWucEqfV6MA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750089218; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KeqjX2kaombgFMNPY6Wbvs43WcIJodVrLA2njPKaH3s=; b=gEU4Az6KeA9EQ3WdT0riMtwP+x9GwfzHcJa6I+aa5Ey+fOVf1ElWXSuD5iDzi2WJ2bSbwNMKwYQUA+aihQfuKxfHyW1j6iiYHYaVw19I7FYLmDVLFBcYvHRu1acnWCD/LFWrsKxo0finHKkKggiegV/R5iY50UDzdnBb82UdzmM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750089218904275.61668721605565; Mon, 16 Jun 2025 08:53:38 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1017433.1394423 (Exim 4.92) (envelope-from ) id 1uRC94-0006FQ-4T; Mon, 16 Jun 2025 15:53:14 +0000 Received: by outflank-mailman (output) from mailman id 1017433.1394423; Mon, 16 Jun 2025 15:53:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRC94-0006FJ-1X; Mon, 16 Jun 2025 15:53:14 +0000 Received: by outflank-mailman (input) for mailman id 1017433; Mon, 16 Jun 2025 15:53:12 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRC92-00060y-EF for xen-devel@lists.xenproject.org; Mon, 16 Jun 2025 15:53:12 +0000 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [2a00:1450:4864:20::432]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 01923b91-4aca-11f0-a309-13f23c93f187; Mon, 16 Jun 2025 17:53:12 +0200 (CEST) Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so2664296f8f.0 for ; Mon, 16 Jun 2025 08:53:11 -0700 (PDT) Received: from gmail.com (140.red-213-97-47.staticip.rima-tde.net. [213.97.47.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a568a53f79sm11291109f8f.4.2025.06.16.08.53.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 08:53:09 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 01923b91-4aca-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750089191; x=1750693991; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KeqjX2kaombgFMNPY6Wbvs43WcIJodVrLA2njPKaH3s=; b=cf8mbWBtwqt0L1dny3DgybPDZPDXQUlOupKDP3ug0E2/koaNAPWN4T9ZEXg6AZmQes 9y8Gbo+jFEYmv3x4mDAKJQgEYvSg4PvIHVCQminUPpStkCFrdE4NHboL0AOKrBqCcxt5 9FyNzrfQKSL5jGDkIgcQin1UNGxgj0okOx6gufbVVzkYWKFOIb5bWBBeJeQGek+gKYgl XqpQv5yQMFa/Q60eY8RPXJZzub++D8VKLs7zmHZf8K7f8vPg3P8sc1/9/9k05kuT1Jci csE7oAJ34TLxqP2Enaa0AL3svpxMpTZS8BYlWvI/XZKz50h4Zysic9j73kt3OOu0sE/b Txug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750089191; x=1750693991; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KeqjX2kaombgFMNPY6Wbvs43WcIJodVrLA2njPKaH3s=; b=lbkbmPr7n7Zrwpq4ceOunewoMiXIAi9/TSLYJW4ujuWkOOwLMUEp89TgIbf4lMHPzh 9KWeRT26kdVzla+cYQRMJbMY/BAFUY0/K/6xfzMhabXumthZfJzwwvNR4xt4bQpbCt8W 0CsxELYKc1bkTwMw24GWNz8Qo6LAQDVyJcZI2J6hQAUhSfxOcby2D7o93clN+6KzSnE6 v4n+dCjjVBy2ijBXT/pGExvGY9orhFyhW3Mram/cBi+bttZ35D1GP/r6c1aRK2ikOZFn 10BUK7lek8GhdQKEQSuFhf4ZyM8sk36oQK7HJTTDTzbM+3XjGXO7oC65E7HJn4gBXaWI qBHw== X-Gm-Message-State: AOJu0Yz5UI5ykmgyDxI/ZFnf/PLQ8g1grwNT3D6S8TD+3Dn7o1Q0U+kv UNxbOcPAvFe+09JLCwCRDWG1uzGzEADJrwNGsQypTWB/LHjs4D2VRdfKjLf7xx3toN8= X-Gm-Gg: ASbGncsJoaKiqSopyferfSq/C+hp4Amw9Vhyw2gFUza4VEcXlC6VXBMM42ZOVzh7QaZ dIkZ7DDTCeHqrhdH1PDuRuXphb1sUce1na2WAax2uVLLxbuNKlbcBzC0Kkz9RAFwnRsSrnQqop3 CSZ9q71dwMU/481g6XoyjkTTMx/Ey/xZQg4wHoN2yvj4XhI8BQR9CqrwyH5EHa9IDhgvC/AKR40 +efA76+6VBZ6D1LOv1PR2IJ1HzVcMhwWfTrAw0dJkKnz4w29gWoQycT1xfMPOEy/JPpFoNoeqMk cZSLThFu25GplNGdAuBPMPajyHkFCQlGdcWjEo0AaJjo4hxYxWse4twd8nnPvrM/rqM5pK+UywY wPkbCigPZitm+nXbBGoUr2GXjsj8H/EbpLINa7Gvqc+s= X-Google-Smtp-Source: AGHT+IEJnKqlLvXwblVqEE9CNuulNgsEyIc7AgnBYT7dSL/fPlVN589Joy5AFmHdvEb+ksj6ka1jtg== X-Received: by 2002:a5d:64e3:0:b0:3a0:b565:a2cb with SMTP id ffacd0b85a97d-3a572384056mr10323750f8f.1.1750089190856; Mon, 16 Jun 2025 08:53:10 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, julien@xen.org, bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech, rosbrookn@gmail.com, gwd@xenproject.org, edgar.iglesias@amd.com, Christian Lindig , Christian Lindig , David Scott Subject: [PATCH v5 4/5] tools/ocaml: Update bindings for CDF_TRAP_UNMAPPED_ACCESSES Date: Mon, 16 Jun 2025 17:53:05 +0200 Message-ID: <20250616155306.405257-2-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250616153826.404927-1-edgar.iglesias@gmail.com> References: <20250616153826.404927-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1750089220253116600 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Signed-off-by: Edgar E. Iglesias Acked-by: Christian Lindig --- tools/ocaml/libs/xc/xenctrl.ml | 1 + tools/ocaml/libs/xc/xenctrl.mli | 1 + 2 files changed, 2 insertions(+) diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml index 2690f9a923..7e1aabad6c 100644 --- a/tools/ocaml/libs/xc/xenctrl.ml +++ b/tools/ocaml/libs/xc/xenctrl.ml @@ -70,6 +70,7 @@ type domain_create_flag =3D | CDF_IOMMU | CDF_NESTED_VIRT | CDF_VPMU + | CDF_TRAP_UNMAPPED_ACCESSES =20 type domain_create_iommu_opts =3D | IOMMU_NO_SHAREPT diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.= mli index febbe1f6ae..f44dba61ae 100644 --- a/tools/ocaml/libs/xc/xenctrl.mli +++ b/tools/ocaml/libs/xc/xenctrl.mli @@ -63,6 +63,7 @@ type domain_create_flag =3D | CDF_IOMMU | CDF_NESTED_VIRT | CDF_VPMU + | CDF_TRAP_UNMAPPED_ACCESSES =20 type domain_create_iommu_opts =3D | IOMMU_NO_SHAREPT --=20 2.43.0 From nobody Fri Oct 31 03:42:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1750089215; cv=none; d=zohomail.com; s=zohoarc; b=DUxRoPAPDxIkrlLLlhMYT9Q51bxWkCv1sN7RMKlNQASuXUuB/Z89T9GjVZ5alEVPDQpGd4o3hCr9jrdrMEIeY/d/8MktxR6+xB73hxuFW8CO/ycdKdt0uf2RKyJT+hK5m4Q75I/crs4zSi50f9hu7F7MdOGBnXhRG9jIBLI8omI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750089215; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vQZpCaGwN67bAjam9mj+oezbvKc88yCztRac3tGbr1g=; b=NFWk6qiKx2c0PlD0eb70vzr5FS9wtHpnITBD4igll7miVN0HwDfAkH9uTcAGgBNVVmx5DDE1bDcT8ivWRq6X9VmwqbSfKWzrov0KqyuwUSGtEUzS0ExERUKL0ySm1L8uGER6gPNaiPeb7fyiJZZXQFUtjgD1kDKkTIYMSSiUcIU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750089215161895.7205302403848; Mon, 16 Jun 2025 08:53:35 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1017434.1394433 (Exim 4.92) (envelope-from ) id 1uRC95-0006Tn-CC; Mon, 16 Jun 2025 15:53:15 +0000 Received: by outflank-mailman (output) from mailman id 1017434.1394433; Mon, 16 Jun 2025 15:53:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRC95-0006TY-8Q; Mon, 16 Jun 2025 15:53:15 +0000 Received: by outflank-mailman (input) for mailman id 1017434; Mon, 16 Jun 2025 15:53:14 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRC94-00060y-73 for xen-devel@lists.xenproject.org; Mon, 16 Jun 2025 15:53:14 +0000 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [2a00:1450:4864:20::431]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 029bd096-4aca-11f0-a309-13f23c93f187; Mon, 16 Jun 2025 17:53:13 +0200 (CEST) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a5123c1533so2700841f8f.2 for ; Mon, 16 Jun 2025 08:53:13 -0700 (PDT) Received: from gmail.com (140.red-213-97-47.staticip.rima-tde.net. [213.97.47.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a568a7e980sm11167447f8f.41.2025.06.16.08.53.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 08:53:12 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 029bd096-4aca-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750089193; x=1750693993; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vQZpCaGwN67bAjam9mj+oezbvKc88yCztRac3tGbr1g=; b=ahxNKTcviVI81Q0UnH+VcQFEzqJdtlZyL0ypHMUPhr2zUxbgapkJ6OxCRMmWVsas2w F1BxeSnNSErM9StaGhwHzXH5DzNGYknNe2zJ0ZHuFtY65msk6+Y9sIpc8F/cd/DC5hKP o0CFj39sPOariMkmytDz7snQZB5UaDM166YSo7RoVmfAPEeaiWyhuE89lC6S+rqba441 VP1+FMaIJTlP0t3tRo42KPrOT97bdOrJWSQrJjJkeodOFgrTOzYTjlXHsBAQieMgzWfk xV7y7dIxXIkJn39brr+a+3V7CTZae2YNIXq0Ka0nNnvTqbCs5DA9NiyF+5oqFEt6aYfn QGwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750089193; x=1750693993; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vQZpCaGwN67bAjam9mj+oezbvKc88yCztRac3tGbr1g=; b=bnQnLXJgUt5fXLDntMs7KoK6EQsdJy/S7Ti6GzZDV6DlOcCYDCo6tIeAiUTNQYj3Tj x3yuiH6de4BbZPulcI7WL0sjsXkLiHFsSpGs5hGwwtrSy+Zeb+1Jog8OjsmZl3eIvdis Tfz1XI2Pf2ocsScboVIFfmy5iuLfl3HLcbNkMER45qYGXqnm2zvmvxh9djaqH5dop/Y3 8rhvl4uWAJfTP7KVxLkPFXW9f65z/oNRZoJahxX87IM0LbTF7DJ1aLIs/SYGbv2mKiKw 4HdJxSG3ynCAvlqL/N/8pVFyHVC7B4wi//5JxO/MxTzvsHr5hXpreUOUvZ/4gOYjL9CV 2/Hw== X-Gm-Message-State: AOJu0YyTuCg02ID7Om98RX8bfTRNZi6zH1y/ZWRsN5NGei+K+dOiz/3U +titQAjVsUiUe7EaFflK23EmTscQkHh4B+c6YhqhYn1U8I7RAsQwN1eTLqVt5mb+mjs= X-Gm-Gg: ASbGncuZk5BRiKKBUDPjTbJRHXCBbG4MDUtBmEUNVRiHcUkWtWVUyU6EyKk5N06et6I szSW4YEh4MctgvpZfHGEyH8g9ZXW3QifAmKWzpamwHPBBIHq7oemeI7V61QIXXYf7V/vPENnwKs m8hszjo6rlhiWmUIqBRM8Ss0hub4YHtHa69T+D7LabtJDETTjl9Wfzq4+xEd4q81sGx8vmXagp+ wC2HGxBaa3y63ImzWgIozwhwj5jj9AqBhakRar7IgyRQmdm4Lx6PkRZri49FX7Qttmbu8Zt5ADO gxxU6Nq25ZGMAd20vDMK2X0D3GIsDyzyLDueAgiQnudx0Wheh6KG77p+lUytw1S/JVP3ks+p+8n d/x6frt2JgU4XXZKqmEXZ4gPW8NrbAs8fPVfcNJVU5tw= X-Google-Smtp-Source: AGHT+IHpvPp+/8SnXYZTtAz5euhAKk5EDZjL7senbpc2uPA0sxOxDiKrHxkM2fe273b0KhcegmhPuQ== X-Received: by 2002:a05:6000:402a:b0:3a5:2208:41e3 with SMTP id ffacd0b85a97d-3a572398dcfmr7650682f8f.4.1750089192632; Mon, 16 Jun 2025 08:53:12 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, julien@xen.org, bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech, rosbrookn@gmail.com, gwd@xenproject.org, edgar.iglesias@amd.com Subject: [PATCH v5 5/5] tools/golang: Regenerate bindings for trap_unmapped_accesses Date: Mon, 16 Jun 2025 17:53:06 +0200 Message-ID: <20250616155306.405257-3-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250616153826.404927-1-edgar.iglesias@gmail.com> References: <20250616153826.404927-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1750089216123116600 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Signed-off-by: Edgar E. Iglesias Acked-by: Nick Rosbrook --- tools/golang/xenlight/helpers.gen.go | 6 ++++++ tools/golang/xenlight/types.gen.go | 1 + 2 files changed, 7 insertions(+) diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/h= elpers.gen.go index 90846ea8e8..191be87297 100644 --- a/tools/golang/xenlight/helpers.gen.go +++ b/tools/golang/xenlight/helpers.gen.go @@ -1170,6 +1170,9 @@ x.Altp2M =3D Altp2MMode(xc.altp2m) x.VmtraceBufKb =3D int(xc.vmtrace_buf_kb) if err :=3D x.Vpmu.fromC(&xc.vpmu);err !=3D nil { return fmt.Errorf("converting field Vpmu: %v", err) +} +if err :=3D x.TrapUnmappedAccesses.fromC(&xc.trap_unmapped_accesses);err != =3D nil { +return fmt.Errorf("converting field TrapUnmappedAccesses: %v", err) } =20 return nil} @@ -1695,6 +1698,9 @@ xc.altp2m =3D C.libxl_altp2m_mode(x.Altp2M) xc.vmtrace_buf_kb =3D C.int(x.VmtraceBufKb) if err :=3D x.Vpmu.toC(&xc.vpmu); err !=3D nil { return fmt.Errorf("converting field Vpmu: %v", err) +} +if err :=3D x.TrapUnmappedAccesses.toC(&xc.trap_unmapped_accesses); err != =3D nil { +return fmt.Errorf("converting field TrapUnmappedAccesses: %v", err) } =20 return nil diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/typ= es.gen.go index e7667f1ce3..656933c6c9 100644 --- a/tools/golang/xenlight/types.gen.go +++ b/tools/golang/xenlight/types.gen.go @@ -606,6 +606,7 @@ MsrRelaxed Defbool Altp2M Altp2MMode VmtraceBufKb int Vpmu Defbool +TrapUnmappedAccesses Defbool } =20 type DomainBuildInfoTypeUnion interface { --=20 2.43.0