From nobody Sun May 5 17:28:38 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1575914873; cv=none; d=zohomail.com; s=zohoarc; b=a8IAD3cQ6Quc8nnc4eoQRqvoXirr34ZC3i428oWEa1CN5HJsRCGLFiAVYJyq9NAKmfGnB4yMADWkizuHCU1ZC624s13lmuFqapEjqUGnj7tvpI+3OggMNaptP2JQwC+BrR0qgx1fEychycqkYMa2O7QLH5ZUEQV+xUrjCrvUwms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575914873; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=54njxA4JBf/jIJH2pPE131NUvOOEA9uwc+fVc/WPO4Y=; b=ZLD+R1oRDR/psJuo+HU0uumm849QuCU5iaBj/6BZK366sGOhBErlGS9kDmeAtD57QNXTH2+R1TfY66pEOjDY154Y2WO0DzOAbMS+lFmrmzipu+/7fw75z/o34AF3WN3N0cd1f+OD2XAlKS7j1f+6XeUDuOX2DUoJAJTAADqbxzs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1575914873405998.4462010455154; Mon, 9 Dec 2019 10:07:53 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ieNR4-0004JP-GR; Mon, 09 Dec 2019 18:07:06 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ieNR3-0004JK-5E for xen-devel@lists.xenproject.org; Mon, 09 Dec 2019 18:07:05 +0000 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id b3929291-1aae-11ea-883f-12813bfff9fa; Mon, 09 Dec 2019 18:07:03 +0000 (UTC) X-Inumbo-ID: b3929291-1aae-11ea-883f-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1575914823; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=0zeRvfytI4Dzk3ZZSs+zZZe4qQ5t9nDHuodQX0YYsLA=; b=VWbdPbkMfMDYr3jqfuIfYCTRj9ExW5mn5aPRDl5/mrZAJppJWcsccCNI qaLuFcFmrv9+hiJJa91h3KBRPdYDE41saiatrEZGlC2/GcIGQTkio1mDX X6ewP2TbnFvCR8S4w+GS41y354UNENteUIak1dR/J0GDf0/RrLWyf4lW1 U=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 1RaazgY9P2k0YLGdT9VwCHLiMaR2zzKXlyUqBYiDlTleCkaWiwAajGDjeWiNWYOWGL79MK0kkh lhNDTxh88sRmhZJFkbJfznRFadL7fMzxDna4TMgrSS46EaV2QJI4xuQbgbNJTyXVBPVjVpEH3Q 3WxWvE17HrJkwpDgUexM/9zzTUSD8YzcTfB5Ra2uvSIFqh6/2yZvUTy8/nyK+ISki44FDA0xHf +HKjKaVwEaW+ICe/f2sKQ9rjWAUC4okWu0Ekjbug9t8S0akMQBdOzRg13IcBKASTuSAbYiJ/ZO lIc= X-SBRS: 2.7 X-MesageID: 9972149 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.69,296,1571716800"; d="scan'208";a="9972149" From: Roger Pau Monne To: Date: Mon, 9 Dec 2019 19:06:38 +0100 Message-ID: <20191209180638.47305-1-roger.pau@citrix.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH] x86: store cr4 during suspend/resume X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Wei Liu , Jan Beulich , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Currently cr4 is not cached before suspension, and mmu_cr4_features is used in order to restore the expected cr4 value. This is correct so far because the tasklet that executes the suspend/resume code is running in the idle vCPU context. In order to make the code less fragile, explicitly save the current cr4 value before suspension, so that it can be restored afterwards. This ensures that the cr4 value cached in the cpu_info doesn't get out of sync after resume from suspension. Suggested-by: Jan Beulich Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- xen/arch/x86/acpi/wakeup_prot.S | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/acpi/wakeup_prot.S b/xen/arch/x86/acpi/wakeup_pro= t.S index 74261cb4f1..57431e4e2d 100644 --- a/xen/arch/x86/acpi/wakeup_prot.S +++ b/xen/arch/x86/acpi/wakeup_prot.S @@ -40,6 +40,9 @@ ENTRY(do_suspend_lowlevel) mov %cr3, GREG(ax) mov GREG(ax), REF(saved_cr3) =20 + mov %cr4, GREG(ax) + mov GREG(ax), REF(saved_cr4) + call save_rest_processor_state =20 mov $3, %rdi @@ -53,8 +56,7 @@ ENTRY(do_suspend_lowlevel) ENTRY(__ret_point) lgdt boot_gdtr(%rip) =20 - /* mmu_cr4_features contains latest cr4 setting */ - mov REF(mmu_cr4_features), GREG(ax) + mov REF(saved_cr4), GREG(ax) mov GREG(ax), %cr4 =20 mov REF(saved_cr3), GREG(ax) @@ -124,3 +126,4 @@ DECLARE_GREG(15) =20 saved_cr0: .quad 0 saved_cr3: .quad 0 +saved_cr4: .quad 0 --=20 2.24.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel