From nobody Fri Oct 31 03:48:29 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=1751021531; cv=none; d=zohomail.com; s=zohoarc; b=f/HjfSTT2KQ89yUYuRM37xy9jmJ+jJtX7NtuPl9/pm7pC50DrqS6pSo9j2UphuWtNnhgxpEye9+002YvfyczzBEAzRw/aCkKIx6RxbSmHV8YfJHzbdWEuOYSaO3I2FJNdB3U/vdCujb8Oo/IO4M+iJzki+4yRrnCVO1RJgzoPxA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751021531; 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=lovaqz97Yz4C4ZS/M20yvmKKYHwyYhdSKNbqE+LHAXs=; b=GeTDXDx83VUiwb2POmCi+sR6NRUY8b07IBCYdxPI8vijvZ0/MCFjYeUWsM2g0vISSr1Q6VwRQSGbF8JzJ31qLwQ4Wsf2NXiLgGyf/IbTm9l/X30OtFoNnY1ZOy7VxyKxvbkNLXYM9RAsSmHQUMCSO8UklJYqUaPcKgPhp5jojjg= 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 1751021531372617.6568586997226; Fri, 27 Jun 2025 03:52:11 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1027509.1402147 (Exim 4.92) (envelope-from ) id 1uV6gV-0003Vr-Ef; Fri, 27 Jun 2025 10:51:55 +0000 Received: by outflank-mailman (output) from mailman id 1027509.1402147; Fri, 27 Jun 2025 10:51:55 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uV6gV-0003VM-8n; Fri, 27 Jun 2025 10:51:55 +0000 Received: by outflank-mailman (input) for mailman id 1027509; Fri, 27 Jun 2025 10:51:54 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uV6gU-0002k5-1O for xen-devel@lists.xenproject.org; Fri, 27 Jun 2025 10:51:54 +0000 Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [2a00:1450:4864:20::231]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id b900e327-5344-11f0-b894-0df219b8e170; Fri, 27 Jun 2025 12:51:47 +0200 (CEST) Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-32b49ac6431so17205961fa.1 for ; Fri, 27 Jun 2025 03:51:47 -0700 (PDT) Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32cd2dea1c0sm5235831fa.3.2025.06.27.03.51.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 03:51:45 -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: b900e327-5344-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751021507; x=1751626307; 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=lovaqz97Yz4C4ZS/M20yvmKKYHwyYhdSKNbqE+LHAXs=; b=aIdVh9Z8xCRfZPzxbVhXl2K/FhqpuyUOaWcJGm+nbmSxtn1mhLU4dymXDyRTP4LJ2t 1Imt5bXaVH5I7EJ84B6YmUuOdBu+jI4udrI53jNvMN5ZiHFPULFBpxnbHtDGXDRK8RZi X9gzE79SwMnALUmxU/60qOn7LiFQfT0FDJld/nUzHr8/8UXlNzBAz94ZoZpjwxEIS7QL JCAri1Nt9ksI2bDGGg3zyy5Qehl2wqznCC0oJI5im24cacOGj2WC49mOHYOv8wxjkj/0 gOHZ2ExlTaLPXhTbhUzyO798RY1RvxYobVWRbXPy1SHbDF3HTGIfQm8gJSh1+Nffihys eSgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751021507; x=1751626307; 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=lovaqz97Yz4C4ZS/M20yvmKKYHwyYhdSKNbqE+LHAXs=; b=bNlSR2asW6HRVK2Ttbls7Zygf7SNT7cDiZFOb5uMhzHtrfq41NhwmqjnCRoBhrCMu7 IPtTfyCMYms6VJG9YuHez/2Mxt4Jk8/L5cm/HWA1+9VBloEm8j4PgkVuT3V3YmYj04h9 XJGcv6j9wP1Lb3jFS2hXQQqu6esV4tEgLSUPQJlNlOHteDp4fg900jQGF4YweGOfRtjt HAmCwj5b4+xbCIE+ysyocWO3mSfNbRH/eHe9Uc3cR7q+Pu7TUwIkgwtlfUV2oWPz9W/I /yq+jht/PtSv1GgXWw1cRpQPQHT1vph5IgzccoTpxqxINTqGSbNj3ttm77jrn+yT8fah Yyhg== X-Gm-Message-State: AOJu0Yxi9wUb7AjFh807Rg4+1bBImXo0iLRm1ykP0iW57MPHteuoPDoA O8T0xebj80MObid1vlsC7W4/HUjH2j2+gwRkFB67a42C3YdekKByhm2BVMMeuM05 X-Gm-Gg: ASbGncvZHlNm5xx/KcFzFFUKLYPEnE+lGCwxOt36DO7dC0HglgIG8AIlZp2bXhudCLA ONVA1436zGf778V2s3M7z4JCRO3kUf9eeX7CypyHzioCilJ59oha5VsAG0RAKXmOLmNqGR+9E2/ qgg0ak02mGE2lGuimKnLNgH0Inf4LfCHIDO0KiVITG97YJ/JcGWZdjPFlqVaa6CPbjoB00FSV1A JC4tqHaokybGetzwOgk1a5fPVjGETMaZuDH+p2spOOdiPuvFBFuRQFGy+U1oD80nxUE3Uqi16Fb 6OAOKFMTPNlVb8LUaH66DCT5Y+PaZskh+zxfAV+Yz00YOWJwE0P4WwRrajKz+GNKvv3zg+6Mv7E GmTTntpUmxicEbBHemPW2/4lfZw== X-Google-Smtp-Source: AGHT+IE+AWmr/h1Db222u088W/zHOH1XMPOY1hr6Gerf2Dgjl13Ny0bypbRnPn8rL5wufyNsQgk8Yg== X-Received: by 2002:a05:651c:40d6:b0:32c:a097:41a8 with SMTP id 38308e7fff4ca-32cdc499336mr4607691fa.12.1751021506395; Fri, 27 Jun 2025 03:51:46 -0700 (PDT) From: Mykola Kvach To: xen-devel@lists.xenproject.org Cc: Mykola Kvach , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk Subject: [PATCH v5 1/4] xen/arm: Implement PSCI SYSTEM_SUSPEND call for guests Date: Fri, 27 Jun 2025 13:51:30 +0300 Message-ID: <072270e0940b6bcc2743d56a336363f4719ba60a.1751020456.git.mykola_kvach@epam.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1751021532325116600 Content-Type: text/plain; charset="utf-8" From: Mykola Kvach This patch adds support for the PSCI SYSTEM_SUSPEND function in the vPSCI (virtual PSCI) interface, allowing guests to request suspend via the PSCI v1.0 SYSTEM_SUSPEND call (both 32-bit and 64-bit variants). The implementation: - Adds SYSTEM_SUSPEND function IDs to PSCI definitions - Implements trapping and handling of SYSTEM_SUSPEND in vPSCI - Allows only non-hardware domains to invoke SYSTEM_SUSPEND; for the hardware domain, PSCI_NOT_SUPPORTED is returned to avoid halting the system in hwdom_shutdown() called from domain_shutdown - Ensures all secondary VCPUs of the calling domain are offline before allowing suspend due to PSCI spec - the domain is shut down with SHUTDOWN_suspend, and resumes execution at the address provided during suspend by guest Usage: For Linux-based guests, suspend can be initiated with: echo mem > /sys/power/state or via: systemctl suspend Resuming the guest is performed from control domain using: xl resume Signed-off-by: Mykola Kvach --- Changes in V5: - don't use standby mode, restore execution in a provided by guest point - move checking that all CPUs, except current one, are offline to after pausing the vCPUs - provide ret status from arch_domain_shutdown and handle it in domain_shutdown - adjust VPSCI_NR_FUNCS to reflect the number of newly added PSCI functions Changes in V4: Dropped all changes related to watchdog, domain is marked as shutting down in domain_shutdown and watchdog timeout handler won't trigger because of it. Previous versions included code to manage Xen watchdog timers during suspen= d, but this was removed. When a guest OS starts the Xen watchdog (either via t= he kernel driver or xenwatchdogd), it is responsible for managing that state across suspend/resume. On Linux, the Xen kernel driver properly stops the watchdog during suspend. However, when xenwatchdogd is used instead, suspend handling is incomplete, potentially leading to watchdog-triggered resets on resume. Xen leaves watchdog handling to the guest OS and its services. Dropped all changes related to VCPU context, because instead domain_shutdown is used, so we don't need any extra changes for suspending domain. Changes in V3: Dropped all domain flags and related code (which touched common functions l= ike vcpu_unblock), keeping only the necessary changes for Xen suspend/resume, i= .e. suspend/resume is now fully supported only for the hardware domain. Proper support for domU suspend/resume will be added in a future patch. This patch does not yet include VCPU context reset or domain context restoration in VCPU. --- xen/arch/arm/include/asm/perfc_defn.h | 1 + xen/arch/arm/include/asm/psci.h | 2 + xen/arch/arm/include/asm/vpsci.h | 2 +- xen/arch/arm/mmu/p2m.c | 6 +- xen/arch/arm/vpsci.c | 96 +++++++++++++++++++++++---- 5 files changed, 92 insertions(+), 15 deletions(-) diff --git a/xen/arch/arm/include/asm/perfc_defn.h b/xen/arch/arm/include/a= sm/perfc_defn.h index effd25b69e..8dfcac7e3b 100644 --- a/xen/arch/arm/include/asm/perfc_defn.h +++ b/xen/arch/arm/include/asm/perfc_defn.h @@ -33,6 +33,7 @@ PERFCOUNTER(vpsci_system_reset, "vpsci: system_res= et") PERFCOUNTER(vpsci_cpu_suspend, "vpsci: cpu_suspend") PERFCOUNTER(vpsci_cpu_affinity_info, "vpsci: cpu_affinity_info") PERFCOUNTER(vpsci_features, "vpsci: features") +PERFCOUNTER(vpsci_system_suspend, "vpsci: system_suspend") =20 PERFCOUNTER(vcpu_kick, "vcpu: notify other vcpu") =20 diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psc= i.h index 4780972621..48a93e6b79 100644 --- a/xen/arch/arm/include/asm/psci.h +++ b/xen/arch/arm/include/asm/psci.h @@ -47,10 +47,12 @@ void call_psci_system_reset(void); #define PSCI_0_2_FN32_SYSTEM_OFF PSCI_0_2_FN32(8) #define PSCI_0_2_FN32_SYSTEM_RESET PSCI_0_2_FN32(9) #define PSCI_1_0_FN32_PSCI_FEATURES PSCI_0_2_FN32(10) +#define PSCI_1_0_FN32_SYSTEM_SUSPEND PSCI_0_2_FN32(14) =20 #define PSCI_0_2_FN64_CPU_SUSPEND PSCI_0_2_FN64(1) #define PSCI_0_2_FN64_CPU_ON PSCI_0_2_FN64(3) #define PSCI_0_2_FN64_AFFINITY_INFO PSCI_0_2_FN64(4) +#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14) =20 /* PSCI v0.2 affinity level state returned by AFFINITY_INFO */ #define PSCI_0_2_AFFINITY_LEVEL_ON 0 diff --git a/xen/arch/arm/include/asm/vpsci.h b/xen/arch/arm/include/asm/vp= sci.h index 0cca5e6830..69d40f9d7f 100644 --- a/xen/arch/arm/include/asm/vpsci.h +++ b/xen/arch/arm/include/asm/vpsci.h @@ -23,7 +23,7 @@ #include =20 /* Number of function implemented by virtual PSCI (only 0.2 or later) */ -#define VPSCI_NR_FUNCS 12 +#define VPSCI_NR_FUNCS 14 =20 /* Functions handle PSCI calls from the guests */ bool do_vpsci_0_1_call(struct cpu_user_regs *regs, uint32_t fid); diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c index 67296dabb5..f9c09a49e2 100644 --- a/xen/arch/arm/mmu/p2m.c +++ b/xen/arch/arm/mmu/p2m.c @@ -6,6 +6,8 @@ #include #include =20 +#include + #include #include #include @@ -198,7 +200,9 @@ void dump_p2m_lookup(struct domain *d, paddr_t addr) */ void p2m_save_state(struct vcpu *p) { - p->arch.sctlr =3D READ_SYSREG(SCTLR_EL1); + if ( !(p->domain->is_shutting_down && + p->domain->shutdown_code =3D=3D SHUTDOWN_suspend) ) + p->arch.sctlr =3D READ_SYSREG(SCTLR_EL1); =20 if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) ) { diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c index 7ba9ccd94b..c6b9ac1fc8 100644 --- a/xen/arch/arm/vpsci.c +++ b/xen/arch/arm/vpsci.c @@ -10,28 +10,18 @@ =20 #include =20 -static int do_common_cpu_on(register_t target_cpu, register_t entry_point, +static int do_setup_vcpu_ctx(struct vcpu *v, register_t entry_point, register_t context_id) { - struct vcpu *v; struct domain *d =3D current->domain; struct vcpu_guest_context *ctxt; int rc; bool is_thumb =3D entry_point & 1; - register_t vcpuid; - - vcpuid =3D vaffinity_to_vcpuid(target_cpu); - - if ( (v =3D domain_vcpu(d, vcpuid)) =3D=3D NULL ) - return PSCI_INVALID_PARAMETERS; =20 /* THUMB set is not allowed with 64-bit domain */ if ( is_64bit_domain(d) && is_thumb ) return PSCI_INVALID_ADDRESS; =20 - if ( !test_bit(_VPF_down, &v->pause_flags) ) - return PSCI_ALREADY_ON; - if ( (ctxt =3D alloc_vcpu_guest_context()) =3D=3D NULL ) return PSCI_DENIED; =20 @@ -78,11 +68,32 @@ static int do_common_cpu_on(register_t target_cpu, regi= ster_t entry_point, if ( rc < 0 ) return PSCI_DENIED; =20 - vcpu_wake(v); - return PSCI_SUCCESS; } =20 +static int do_common_cpu_on(register_t target_cpu, register_t entry_point, + register_t context_id) +{ + int rc; + struct vcpu *v; + struct domain *d =3D current->domain; + register_t vcpuid; + + vcpuid =3D vaffinity_to_vcpuid(target_cpu); + + if ( (v =3D domain_vcpu(d, vcpuid)) =3D=3D NULL ) + return PSCI_INVALID_PARAMETERS; + + if ( !test_bit(_VPF_down, &v->pause_flags) ) + return PSCI_ALREADY_ON; + + rc =3D do_setup_vcpu_ctx(v, entry_point, context_id); + if ( rc =3D=3D PSCI_SUCCESS ) + vcpu_wake(v); + + return rc; +} + static int32_t do_psci_cpu_on(uint32_t vcpuid, register_t entry_point) { int32_t ret; @@ -197,6 +208,52 @@ static void do_psci_0_2_system_reset(void) domain_shutdown(d,SHUTDOWN_reboot); } =20 +static void do_resume_on_error(struct domain *d) +{ + struct vcpu *v; + + spin_lock(&d->shutdown_lock); + + d->is_shutting_down =3D d->is_shut_down =3D 0; + d->shutdown_code =3D SHUTDOWN_CODE_INVALID; + + for_each_vcpu ( d, v ) + { + if ( v->paused_for_shutdown ) + vcpu_unpause(v); + v->paused_for_shutdown =3D 0; + } + + spin_unlock(&d->shutdown_lock); +} + +static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t ci= d) +{ + int ret; + struct vcpu *v; + struct domain *d =3D current->domain; + + /* Drop this check once SYSTEM_SUSPEND is supported in hardware domain= */ + if ( is_hardware_domain(d) ) + return PSCI_NOT_SUPPORTED; + + domain_shutdown(d, SHUTDOWN_suspend); + + /* Ensure that all CPUs other than the calling one are offline */ + for_each_vcpu ( d, v ) + if ( v !=3D current && is_vcpu_online(v) ) + { + do_resume_on_error(d); + return PSCI_DENIED; + } + + ret =3D do_setup_vcpu_ctx(current, epoint, cid); + if ( ret !=3D PSCI_SUCCESS ) + do_resume_on_error(d); + + return ret; +} + static int32_t do_psci_1_0_features(uint32_t psci_func_id) { /* /!\ Ordered by function ID and not name */ @@ -214,6 +271,8 @@ static int32_t do_psci_1_0_features(uint32_t psci_func_= id) case PSCI_0_2_FN32_SYSTEM_OFF: case PSCI_0_2_FN32_SYSTEM_RESET: case PSCI_1_0_FN32_PSCI_FEATURES: + case PSCI_1_0_FN32_SYSTEM_SUSPEND: + case PSCI_1_0_FN64_SYSTEM_SUSPEND: case ARM_SMCCC_VERSION_FID: return 0; default: @@ -344,6 +403,17 @@ bool do_vpsci_0_2_call(struct cpu_user_regs *regs, uin= t32_t fid) return true; } =20 + case PSCI_1_0_FN32_SYSTEM_SUSPEND: + case PSCI_1_0_FN64_SYSTEM_SUSPEND: + { + register_t epoint =3D PSCI_ARG(regs,1); + register_t cid =3D PSCI_ARG(regs,2); + + perfc_incr(vpsci_system_suspend); + PSCI_SET_RESULT(regs, do_psci_1_0_system_suspend(epoint, cid)); + return true; + } + default: return false; } --=20 2.48.1 From nobody Fri Oct 31 03:48:29 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=1751021528; cv=none; d=zohomail.com; s=zohoarc; b=eOgVUuZQsdowaNE6E6VouKxmrn0H7o14pQQi8GuBRroGRsJPiaxh8ex6EOKCcxZcNHEq/KTqPIUcD76oLBdTXtTYVTldEVa+8vWoeThuRCmLAlmjbYtWXHmS170vL30+QwOU1I6FhnlfDN85RC0BvlBRUMMcf5T60SzdTKF/TVU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751021528; 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=DtDYb/sxb7EM69AJmP/RVzUWb9yGC1iN05GypUjWJS0=; b=nt67E/k9y6QuGWjGhK5pQQM/GxRoTeLprMI71t4WqFnjqrvLbxyVMt+q0omFhR5RZr+kVypaq2V4QzW7Q1VBBAe33knqCuLs1YQddcqx3GY+bTNx03qJFloh8NHKPAdDJEZVxlYDMD+47/EHOgYjutj6BNOBXhTC6y5Vlvkjs4Q= 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 1751021528346983.4008538995652; Fri, 27 Jun 2025 03:52:08 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1027506.1402119 (Exim 4.92) (envelope-from ) id 1uV6gR-0002nm-F7; Fri, 27 Jun 2025 10:51:51 +0000 Received: by outflank-mailman (output) from mailman id 1027506.1402119; Fri, 27 Jun 2025 10:51:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uV6gR-0002mb-9C; Fri, 27 Jun 2025 10:51:51 +0000 Received: by outflank-mailman (input) for mailman id 1027506; Fri, 27 Jun 2025 10:51:50 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uV6gQ-0002k5-AY for xen-devel@lists.xenproject.org; Fri, 27 Jun 2025 10:51:50 +0000 Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [2a00:1450:4864:20::236]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id b980649a-5344-11f0-b894-0df219b8e170; Fri, 27 Jun 2025 12:51:48 +0200 (CEST) Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-32adebb15c5so14914641fa.3 for ; Fri, 27 Jun 2025 03:51:48 -0700 (PDT) Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32cd2dea1c0sm5235831fa.3.2025.06.27.03.51.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 03:51:46 -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: b980649a-5344-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751021508; x=1751626308; 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=DtDYb/sxb7EM69AJmP/RVzUWb9yGC1iN05GypUjWJS0=; b=OsdN+uqfzF0qafwjHnmQgOq5Xf0lDZyN219zQ3t70GNuH+MShRRj0SWc66S0hAP+hs 8ViCuy0mWoC72AW1A5T88nfREpIClO8/F1zv6j2C1/AB15AziJrdMIgpQ8VEPnVN60NC oaCiEImSm41x1Jag+4KE4A+h3XhaT1LuGdzSrZme89G53/FNdNFcLNeENpKM/sPyIyc5 uReG8N6/DPC6yoI5534lkJJDElb/5e3+dax5ORK4pDIxfVLVzwXmZnd+y27/5kwAaUxb fSlYZkfpd3TpCigIfWalf/DeoQuR2/RA1txzrM9/B0ScFghMdrjZPjVJrqNBifO68Oau jYnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751021508; x=1751626308; 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=DtDYb/sxb7EM69AJmP/RVzUWb9yGC1iN05GypUjWJS0=; b=BTs7glbLtrVCSF1KAY0cPlgRUVt7BQ/V1nG0G73Q+fdEepQRKN5X+WQrmgzNJfWzTA uvy6zzCPxBgXQS0x4WfSBVINk1CRsVREn9D00myiu6XxhcMJIbpHvvcynDLp/weryRza VfaiZU6UfuhHShCz6ygZ/MJNViFMWOyDVpnN864faX3Bl/7PZI58sYLC2MooV2ywbQn/ 8dUlvNY1Vt56nEa9NaIVQrBKoZuyrBtDXWaC1nMTeI7JpffPdi4Y42/LPSx4sbxd/UXB g0zLtF10sF/nvROpBK4me+EOaUL4wdU2GEUhvynUtMVpKe/ugyXwhgHfFvKZmMDo72c8 KqLA== X-Gm-Message-State: AOJu0YxYwzOubZSUO0r0yAjHzWRpmj29cFjKba4dNshP4Xc4/80tgfJD 85Knac4HLQ97reTcUu12z5oHQqS2tIHs6ePehiF/hRc1MwQwJNOB3jbPU9nXygLl X-Gm-Gg: ASbGncs7TdUPL1yMJfqnTwaeWZXu4FWGQX2Fy6KL48j2J1M/WYft1I3UYypalV9+Q7M r+Hsn/dRTASN1fZQYRVX5qSQhRNBR1jbOdWSOetmdwiWUKyPS0UHeoTeOl7KjjRAjGMK+8pAEsJ gPsfuNxjIIvuMSrCaGFsNKKMzfLwDqQLY+udO3rCY2lhBomnvgr3ZbGaeo87PUZZWvaVgTyJ5WY IalF+nnSctb2bjHWCdTDtR6yaP96ZxhYn0ruCs2vC/UImU1GKOe7V4WGXpbeVWFbEOzApllu/Ro gffIJ7Te5/Avcf5mxm4Q35sCb2/IJgTPvMJEQGoy89IROdcMuy1jPdYhGRjaf7Q6fB3rJzSWRz5 h79Sa5quwpJtTuacoLuBmHXNocQ== X-Google-Smtp-Source: AGHT+IEkSp1AGDJtWZaTbK8GvkVKo++j2/3AogtoWI8j+NM2W8N1kPeEqWvYagulylssuiDC65QlxA== X-Received: by 2002:a05:651c:304b:b0:32a:84f6:a862 with SMTP id 38308e7fff4ca-32cdc481409mr6328681fa.3.1751021507206; Fri, 27 Jun 2025 03:51:47 -0700 (PDT) From: Mykola Kvach To: xen-devel@lists.xenproject.org Cc: Mykola Kvach , Anthony PERARD , Juergen Gross Subject: [PATCH v5 2/4] tools/xl: allow resume command compilation for arm Date: Fri, 27 Jun 2025 13:51:31 +0300 Message-ID: <00c495b471c09a84601156b2b74a1ba897f51755.1751020456.git.mykola_kvach@epam.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1751021530232116600 Content-Type: text/plain; charset="utf-8" From: Mykola Kvach The "xl resume" command was previously excluded from ARM builds because system suspend/resume (e.g., `SYSTEM_SUSPEND`) via vPSCI was not implemented. On x86, the command is used for ACPI S3 suspend/resume. This change enables compilation of `xl resume` on ARM regardless of the underlying implementation status, making the tool available for use in testing or for future support. The libxl infrastructure and handler functions are already present and usable. Note: This does not imply full system suspend/resume support on ARM. "xl suspend" command still not work for arm platforms. Signed-off-by: Mykola Kvach --- tools/include/libxl.h | 1 - tools/xl/xl.h | 2 +- tools/xl/xl_cmdtable.c | 2 +- tools/xl/xl_vmcontrol.c | 12 ++++++------ 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tools/include/libxl.h b/tools/include/libxl.h index a8704e0268..0fda8bb616 100644 --- a/tools/include/libxl.h +++ b/tools/include/libxl.h @@ -1134,7 +1134,6 @@ typedef struct libxl__ctx libxl_ctx; * restoring or migrating a domain. In this case the related functions * should be expected to return failure. That is: * - libxl_domain_suspend - * - libxl_domain_resume * - libxl_domain_remus_start */ #if defined(__arm__) || defined(__aarch64__) diff --git a/tools/xl/xl.h b/tools/xl/xl.h index 45745f0dbb..5b0a481456 100644 --- a/tools/xl/xl.h +++ b/tools/xl/xl.h @@ -130,8 +130,8 @@ int main_migrate_receive(int argc, char **argv); int main_save(int argc, char **argv); int main_migrate(int argc, char **argv); int main_suspend(int argc, char **argv); -int main_resume(int argc, char **argv); #endif +int main_resume(int argc, char **argv); int main_dump_core(int argc, char **argv); int main_pause(int argc, char **argv); int main_unpause(int argc, char **argv); diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c index 06a0039718..4f662a4189 100644 --- a/tools/xl/xl_cmdtable.c +++ b/tools/xl/xl_cmdtable.c @@ -198,12 +198,12 @@ const struct cmd_spec cmd_table[] =3D { "Suspend a domain to RAM", "", }, +#endif { "resume", &main_resume, 0, 1, "Resume a domain from RAM", "", }, -#endif { "dump-core", &main_dump_core, 0, 1, "Core dump a domain", diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c index c813732838..ebacde5482 100644 --- a/tools/xl/xl_vmcontrol.c +++ b/tools/xl/xl_vmcontrol.c @@ -38,11 +38,6 @@ static void suspend_domain(uint32_t domid) libxl_domain_suspend_only(ctx, domid, NULL); } =20 -static void resume_domain(uint32_t domid) -{ - libxl_domain_resume(ctx, domid, 1, NULL); -} - int main_suspend(int argc, char **argv) { int opt; @@ -55,6 +50,12 @@ int main_suspend(int argc, char **argv) =20 return EXIT_SUCCESS; } +#endif + +static void resume_domain(uint32_t domid) +{ + libxl_domain_resume(ctx, domid, 1, NULL); +} =20 int main_resume(int argc, char **argv) { @@ -68,7 +69,6 @@ int main_resume(int argc, char **argv) =20 return EXIT_SUCCESS; } -#endif =20 static void pause_domain(uint32_t domid) { --=20 2.48.1 From nobody Fri Oct 31 03:48:29 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=1751021528; cv=none; d=zohomail.com; s=zohoarc; b=JtZn++bzvdCJ5oCdnBRAQXqIKC58f4fL76AY0X2hFkW5qWm02dtcQVzPVI8DA2t9i8YiQf5k+u9uC93AepBvOgNOjRKetnmt5NxDuKram14iMu+nQcTL3m6Wy+nglIwukYNkvS7QTY+46a6GAxPyshVZtrDudzvv8MSJsi6Btgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751021528; 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=zvxUHn81TzPOxrckXPxoHks4QhxS4ztnhXtdUUKJDg8=; b=bSUBBJPcQRn7yHK1emaQJTMNt3vJVEtaCot9iZaLLrSknU8whdPMcvxShRAxDLzzz18uVgR+CTN73HQGvTWZWi552XK+xpYeOICk0ChhmzhKwUMnwqo3YMssRW+jA0kE2vY0seYfHlb+rrxb+IOJnkIugAGu4uS/UDF18kojpdI= 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 1751021528532606.8131326726958; Fri, 27 Jun 2025 03:52:08 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1027505.1402112 (Exim 4.92) (envelope-from ) id 1uV6gR-0002kP-50; Fri, 27 Jun 2025 10:51:51 +0000 Received: by outflank-mailman (output) from mailman id 1027505.1402112; Fri, 27 Jun 2025 10:51:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uV6gR-0002kI-1l; Fri, 27 Jun 2025 10:51:51 +0000 Received: by outflank-mailman (input) for mailman id 1027505; Fri, 27 Jun 2025 10:51:49 +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 1uV6gP-0002k0-Sa for xen-devel@lists.xenproject.org; Fri, 27 Jun 2025 10:51:49 +0000 Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [2a00:1450:4864:20::134]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b9d87d8a-5344-11f0-a30f-13f23c93f187; Fri, 27 Jun 2025 12:51:49 +0200 (CEST) Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-553b6a349ccso2267871e87.0 for ; Fri, 27 Jun 2025 03:51:49 -0700 (PDT) Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32cd2dea1c0sm5235831fa.3.2025.06.27.03.51.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 03:51:47 -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: b9d87d8a-5344-11f0-a30f-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751021508; x=1751626308; 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=zvxUHn81TzPOxrckXPxoHks4QhxS4ztnhXtdUUKJDg8=; b=GmA/6pSD+HhDckBRoZH094U0J2Aa8PNJj7bi0J6mvP4WfHuKf14gHjsKxuCIJKD8SZ ebE+3tpLQuuSAnmn2w4b51r9THFYXdDil1hD28gIZAGbJjhhB1SPdto36qj0CzkFOeMy ep7uwlG/IlSmTKPpEZW3ekTiR75cMrzsU6ohs3VZsK8HKQ3TtqWkDUpfy/3ynCny6jow iS8D2eEmfyCiXizz2lVNB81PonXkReecz5+ZKwDo/mjhkesgHyus/jdehxXxBBCrJoz1 XsKnAg5DCqe+jLJsTTAgdbdISHQlfNRnW1SJWhdrRFu78M+vgZs6CNYkP1ZUX5jI+sPu GtSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751021508; x=1751626308; 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=zvxUHn81TzPOxrckXPxoHks4QhxS4ztnhXtdUUKJDg8=; b=WHbEr+aQni4aY2EheqHbeNuZltehMmvNU0GiP++ufluo6ZE0gPxkC8TC7z8OGDKgq3 kFVHNBtWBm204YRfmLV6CIHj+kgj5iITCpvdECbvNnPFyV3d8ZxEnzLi7ImWed6ZYmSz nw8xt1Xu6RVXpn7KxNIiOiUbS1tMC4DWjwPIL7pVB7Bsbeuob/+HuKvjqoIhOCqolX3e pDhUnGz3rjgbF1KJzCMtQXRTi7Bsso4llISvJ2wkuXGhMk3eZc0hlNVlKyG4jcTI+vEN F0XeR+sQOitwrXc0ZThT+LO9F8JAB9YSCi3+EgelOAhc60h5hPR8mKgYvUExM5AuLEPV 3RKA== X-Gm-Message-State: AOJu0Yx0Te6me/ZLhPECQm0HsDtUPMFXXQ5NdpDhjBL1IysQQ7nKZUID ewPO8+XO+fOx2MTmpb8+XP3Zuil/kVi3dv2wmbP+gSaY0haVkwAgB8yzDPyG2TGd X-Gm-Gg: ASbGncvkRWJLM4h9Jf3a44nMWmo2D1L/OInY9QXKaRbXZQTeWAUOarbAY7E3CH5zG3f mARftQntsumuStPwCvyh1UMHq1lVigzAbHuJ8iLekcQ+h6ZckQazgERnRPx23AUP4M4+ePtnwtR oV0q4qPEY1ZJHIfWGoNaN7BDd3Svkgj5EdBYllCYWG86v/klkMHWpCqmsVQBt+KnMemlbkDrkFq lAD1ftJX1uC52RqsVrV11ImIdfgLkHLgyxyYjCZDGUIYC0+8P+EEYj43iWDVEjliCmkUQkcjCtg X8DCY1w10ZnTO3Zy8DhZVGxBnWtlTEHi6A54cvmNpZIQ8kkMBU/Fwebe7EAQnv0afX6zyP5toJy WfTRRoro/g5s1DMRhnNPMTe5Gbw== X-Google-Smtp-Source: AGHT+IHTTZvhZxX4sgrLSTAzgt1vLxbnS78lDzcGMMd1uy2hTeYFtwgODAbp9VVAPNSP/UmMmWP0Rw== X-Received: by 2002:a05:6512:32d4:b0:553:341f:12a3 with SMTP id 2adb3069b0e04-5550b8b053emr782425e87.39.1751021508126; Fri, 27 Jun 2025 03:51:48 -0700 (PDT) From: Mykola Kvach To: xen-devel@lists.xenproject.org Cc: Mykola Kvach , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH v5 3/4] SUPPORT.md: Add entry for guest PSCI SYSTEM_SUSPEND support Date: Fri, 27 Jun 2025 13:51:32 +0300 Message-ID: <401d3745a295812fef14a22b0c2a3c6017d588c1.1751020456.git.mykola_kvach@epam.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1751021530149116600 Content-Type: text/plain; charset="utf-8" From: Mykola Kvach Document support for the optional PSCI SYSTEM_SUSPEND function, exposed via the virtual PSCI (vPSCI) interface to guests. This allows non-hardware domain guests (domUs) to initiate system suspend operations via PSCI calls. The feature is currently marked as Experimental. Signed-off-by: Mykola Kvach --- Changes in v5: - Dropped ARM/PSCI entry: this refers to internal use of PSCI SMC calls, which is not relevant for SUPPORT.md - Added a dedicated entry for PSCI SYSTEM_SUSPEND instead of generic guest PSCI info; guest PSCI support was documented in a separate patch --- SUPPORT.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SUPPORT.md b/SUPPORT.md index f0b5718e84..659b9c3052 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -956,6 +956,13 @@ by hwdom. Some platforms use SCMI for access to system= -level resources. =20 Status: Supported =20 +### ARM: Guest PSCI SYSTEM_SUSPEND support + +Support for the optional PSCI SYSTEM_SUSPEND function exposed via vPSCI. +Allows non-hardware domain guests to initiate a system suspend. + + Status: Experimental + ## Virtual Hardware, QEMU =20 This section describes supported devices available in HVM mode using a --=20 2.48.1 From nobody Fri Oct 31 03:48:29 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=1751021525; cv=none; d=zohomail.com; s=zohoarc; b=EUv0fUQBC1D5bzRiZRDi4PzVO1g/qHur9oISJj7uoQibnHXALcRqW804oJVDRikTvSeiENZcXl+CozecSrGMdp34Mhv5sxI+VkF1SJRsawmRb4Cfkc/WHlZhFpLCAggeN6y2mXQlnP8ZaesZc2cmSdFnzOjiVsd5PIXlKhtIM8k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751021525; 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=Ua935WurpFjU8q1PTBY29dqBWcHnlgrzlb/sVrXtOkY=; b=bVfQ3fR1fAJu94J0Ky7Yxt5ME/z1Ky0UDovjKzlGi8EscIJ4L+rhmrmLRR8OUyhitj+wpgjsGN6ZrQg1lQ/A33/uwdRzGu6JwTVCeHanHGTrE0MewH3ojaQPE10qC1s1aqh2vXs01DskkQIqgGwcebX8p8fVClF2HgMj4p6wa6Q= 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 1751021525202671.0731052132651; Fri, 27 Jun 2025 03:52:05 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1027507.1402123 (Exim 4.92) (envelope-from ) id 1uV6gR-0002tr-N4; Fri, 27 Jun 2025 10:51:51 +0000 Received: by outflank-mailman (output) from mailman id 1027507.1402123; Fri, 27 Jun 2025 10:51:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uV6gR-0002rw-Hj; Fri, 27 Jun 2025 10:51:51 +0000 Received: by outflank-mailman (input) for mailman id 1027507; Fri, 27 Jun 2025 10:51:50 +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 1uV6gQ-0002k0-Nn for xen-devel@lists.xenproject.org; Fri, 27 Jun 2025 10:51:50 +0000 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [2a00:1450:4864:20::235]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id ba91903d-5344-11f0-a30f-13f23c93f187; Fri, 27 Jun 2025 12:51:50 +0200 (CEST) Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-32cd0dfbd66so15789881fa.3 for ; Fri, 27 Jun 2025 03:51:50 -0700 (PDT) Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32cd2dea1c0sm5235831fa.3.2025.06.27.03.51.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 03:51:48 -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: ba91903d-5344-11f0-a30f-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751021510; x=1751626310; 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=Ua935WurpFjU8q1PTBY29dqBWcHnlgrzlb/sVrXtOkY=; b=dWNiCKvTMyhgIWmQtW2A7yCBL61UgFyMf3Lf/PqtzzTa3kKw4Zl4gnjMGySMiHoDCJ Lqhz0BzLApGUZCmEt8+GlPWgJTzyVkS5yB5pldk88jPA7dJAPIi0ULgur/PP8DifG+SB Z21WKrQBYsrjaXLqJ3D17bIKpgQW+T7rXooxIv0LWxC3xb2DC2kOC7/X3XFYz5Hm2kzP QGDRfvv/YS1EPXyojlmIJRZ9UEi45W/RLCtStyg7nvPTNyU+9bziK2PjipfuNpUKr+k/ lMF2CA3OmxbqdID4k74alTOWjxxTezXtPjVTSu1N9TXVN24pSMUsqcNeFlulhHleZoqF VvTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751021510; x=1751626310; 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=Ua935WurpFjU8q1PTBY29dqBWcHnlgrzlb/sVrXtOkY=; b=rn81Dh6Xb0I3vA5JatHkTQdeJqpu5RUvU0jQlXOqnk03Hpq+aRJ87xZvqWybdzcw17 9tR5XpG/ht+hn8Cnp9uJpPrHaSUalvIntztCtaVsIQE+MoCLPxIcLOObjdVdg6SRe9zY FLuDIkkPVvXLZN/3PnbpOBsdRP9uMOAVMmaF7jlK6SYstIodyGdI5YJ1e5/UxNbCPdho 5LQGMUx6Kq+bEiA0snZhBKXYMtMtII6UxLspxY0nUdV9i9+Y3mjK4KP43nX4aCf1VR1x elenl0BFEqNtPMTMkTDXeMP8+Hm9ZjRjthYcq+NBO5GDM8aKLtRX2R5OpPsA2EJS5aNx M5qQ== X-Gm-Message-State: AOJu0Yy1152l1LYSAdgo2WDFSIbyguPg4ZfQCJro9PK7F/5xaoXV6Sla 7xZlsq67YKAMi9eLisjfNowIv3XRim4MIfOf+XFDgJlpiuQbKcXcavGTLsxrgewP X-Gm-Gg: ASbGnctjObi7X5m872tNCz2ABUgaMlnltDFkppKr1Fvl7zx3lMNbiOn6VNQU6ZQ4/73 2WoVNGMIUH6BwcMCPeryGoXyuR/uCzTF1M81VucJH0cCg/6Idt2C9HmLvsFmNjSYEG4f5/5R6Kj Er95OBnnUCNBW1ujoWENsbhIPifaI84icrBlGPY1wrgAWP6a/VQ0aOzJ781uSibT7zHF7fdFsRr nztE7zucghLk76xSizFVFFggbuOLjWaCR08yV/gkJgYtMbtfucKm1cEF6IotOypC/a/Wav1oJKr 3EpZVNeSCj9xyPznfgnWMVdJvzpg2OEr10wsCc4BBfcmnh4c51CW5Lkz6LXKWb76QXEVxEXC6TY UWQ/+Eh7Ba8O7k+1ZVNW47K2Ifw== X-Google-Smtp-Source: AGHT+IHFzWIUYlNlURrIMGK10ZsPPhDfk4HecC4VKN8XchkntZcY1UnimoehDaDa5ihpFEQInWjhXw== X-Received: by 2002:a05:651c:2041:b0:32a:6b23:d3cc with SMTP id 38308e7fff4ca-32cdc518517mr6690531fa.25.1751021509431; Fri, 27 Jun 2025 03:51:49 -0700 (PDT) From: Mykola Kvach To: xen-devel@lists.xenproject.org Cc: Mykola Kvach , Oleksii Kurochko , Community Manager Subject: [PATCH v5 4/4] CHANGELOG: Document guest suspend/resume to RAM support on Arm Date: Fri, 27 Jun 2025 13:51:33 +0300 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1751021526359116600 Content-Type: text/plain; charset="utf-8" From: Mykola Kvach Mention the newly added support for guest suspend and resume to/from RAM via vPSCI on Arm platforms (ARM32 and ARM64). This support is limited to non-hardware domain guests. Signed-off-by: Mykola Kvach --- Changes in v5: - adjustments to the commit title and message - expanded the changelog entry to include more context about suspend/resume support introduced in this patch series --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f31ca08fe..1c155f7ff2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ The format is based on [Keep a Changelog](https://keepach= angelog.com/en/1.0.0/) =20 - On Arm: - Ability to enable stack protector + - Support for guest suspend and resume to/from RAM via vPSCI (for both= ARM32 + and ARM64). Applies only to non-hardware domain guests. =20 ### Removed - On x86: --=20 2.48.1