From nobody Wed Apr 24 17:17:03 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.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; Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1556837765; cv=none; d=zoho.com; s=zohoarc; b=bdY95QeTEzncopQxH2LAyoSYPGt+Y+3OcXKTPmFENGw/fiwxw8pgpHTYzPlhKMZrC09GGXgWu8DinthgUphYMwyhNlE7SlZAQVso31e2sX+71ojNw3dOtTPETMODzRAHSYTpOtIOeq4Qsm3F8Rr9dcB7Vdf2hnjYqVna2CId+Jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1556837765; 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:ARC-Authentication-Results; bh=0rbfRyzhFGaufz8MvEEjAoCv0EOHkL+YCoUMdoe0CJk=; b=TIC75xOR0C2tOW98XUumV73b/4bqpOlYBSxYuMNPY7Mn/omnP1gRo0y+Z6pvwJ0sVXAR64QG6a9rAQhdt6wLoERzKCD3HCt86zGMDa3nCZgaQDjfy5q1DaXOEK+u6gCqTtQWDraRiKb1u/werI1b8bkXRMjd4tbDzc6V/iQOkbA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1556837765683916.8048881934202; Thu, 2 May 2019 15:56:05 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hMKb8-0002Rg-Tf; Thu, 02 May 2019 22:54:38 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hMKb7-0002Rb-Ua for xen-devel@lists.xenproject.org; Thu, 02 May 2019 22:54:37 +0000 Received: from mail-it1-f195.google.com (unknown [209.85.166.195]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 42548909-6d2d-11e9-843c-bc764e045a96; Thu, 02 May 2019 22:54:36 +0000 (UTC) Received: by mail-it1-f195.google.com with SMTP id l140so6363810itb.0 for ; Thu, 02 May 2019 15:54:36 -0700 (PDT) Received: from localhost.localdomain (c-71-205-12-124.hsd1.co.comcast.net. [71.205.12.124]) by smtp.gmail.com with ESMTPSA id d4sm182121ioh.35.2019.05.02.15.54.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 May 2019 15:54:34 -0700 (PDT) X-Inumbo-ID: 42548909-6d2d-11e9-843c-bc764e045a96 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=zad7UzS0oSrKwD0UNNX35x5OxLouSQ7/e9qF9sRHK3w=; b=PRtUfyjsST3AGWIT4bmxhg15frocn82Fr85ACneaZciWhtDru8dVYYuQZt8ufjSot7 9XZBEuSGaYBTOaEFAUTq+M4HVHd5jTIp4s5N41vtlSiMpU7vzTdFCC1csunSRNnXIVbL zRy8ZJ5WF45uSNFcFBQG+2wHMfEuGx8iJWw4V67oTA9Wl/EceqawgUS8GBewFNo+eFnR n5MqLyCLZd5RQ7c37cjIeCGnGntCRAXSTKCjwDnPN5flVRMBR55qTVMtd5SB8R4g+3FG zkWHpjcYCdEEqS+/u5en5MsZDBv8EGbBIS+DgHr94uQo3cyse6UsWsv3tmcJ+t4OXQIi RpgQ== X-Gm-Message-State: APjAAAUNx//Dq2f2Aiw/MSmmKvzmpJJkUx79Vspf/+FjxqkvHg4flU6Y MROO0eet3DFiPUeKr5AMW7Oh14vb X-Google-Smtp-Source: APXvYqwG4qy69OE+8tMltb2lDDNYi0zykIrPmM5h7BMJE34R0/3zkcs/2CPvOUlBQP/B6B0yLyNGXw== X-Received: by 2002:a24:1a4e:: with SMTP id 75mr4246720iti.131.1556837675985; Thu, 02 May 2019 15:54:35 -0700 (PDT) From: Tamas K Lengyel To: xen-devel@lists.xenproject.org Date: Thu, 2 May 2019 16:54:30 -0600 Message-Id: <20190502225430.5565-1-tamas@tklengyel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v3] x86/vm_event: add gdtr_base to the vm_event structure 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: Tamas K Lengyel , Wei Liu , Razvan Cojocaru , Andrew Cooper , 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" Receiving this register is useful for introspecting 32-bit Windows when the event being trapped happened while in ring3. Signed-off-by: Tamas K Lengyel Cc: Razvan Cojocaru Cc: Tamas K Lengyel Cc: Jan Beulich Cc: Andrew Cooper Cc: Wei Liu Cc: Roger Pau Monne --- v2: add gdtr limit v3: use uint32_t to fit the 20 bits --- xen/arch/x86/vm_event.c | 6 ++++++ xen/include/public/vm_event.h | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c index 51c3493b1d..52c2a71fa0 100644 --- a/xen/arch/x86/vm_event.c +++ b/xen/arch/x86/vm_event.c @@ -179,6 +179,11 @@ static void vm_event_pack_segment_register(enum x86_se= gment segment, reg->es_sel =3D seg.sel; break; =20 + case x86_seg_gdtr: + reg->gdtr_base =3D seg.base; + reg->gdtr_limit =3D seg.limit; + break; + default: ASSERT_UNREACHABLE(); } @@ -238,6 +243,7 @@ void vm_event_fill_regs(vm_event_request_t *req) vm_event_pack_segment_register(x86_seg_ss, &req->data.regs.x86); vm_event_pack_segment_register(x86_seg_ds, &req->data.regs.x86); vm_event_pack_segment_register(x86_seg_es, &req->data.regs.x86); + vm_event_pack_segment_register(x86_seg_gdtr, &req->data.regs.x86); =20 req->data.regs.x86.shadow_gs =3D ctxt.shadow_gs; req->data.regs.x86.dr6 =3D ctxt.dr6; diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h index b2bafc0d77..448c7d5ab9 100644 --- a/xen/include/public/vm_event.h +++ b/xen/include/public/vm_event.h @@ -29,7 +29,7 @@ =20 #include "xen.h" =20 -#define VM_EVENT_INTERFACE_VERSION 0x00000004 +#define VM_EVENT_INTERFACE_VERSION 0x00000005 =20 #if defined(__XEN__) || defined(__XEN_TOOLS__) =20 @@ -198,6 +198,7 @@ struct vm_event_regs_x86 { uint64_t msr_efer; uint64_t msr_star; uint64_t msr_lstar; + uint64_t gdtr_base; uint32_t cs_base; uint32_t ss_base; uint32_t ds_base; @@ -211,13 +212,13 @@ struct vm_event_regs_x86 { struct vm_event_x86_selector_reg fs; struct vm_event_x86_selector_reg gs; uint64_t shadow_gs; + uint32_t gdtr_limit; uint16_t cs_sel; uint16_t ss_sel; uint16_t ds_sel; uint16_t es_sel; uint16_t fs_sel; uint16_t gs_sel; - uint32_t _pad; }; =20 /* --=20 2.20.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel