Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp571194pxb; Wed, 3 Nov 2021 08:48:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9aKNRA9sSDScVFWM778cNwQEt8MizNu9qki2TNcVb4M32G7blewyhI5xZqs1Ad6B/H9gn X-Received: by 2002:a05:6402:152:: with SMTP id s18mr60501886edu.314.1635954535041; Wed, 03 Nov 2021 08:48:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635954535; cv=none; d=google.com; s=arc-20160816; b=HuXAd8ZxB2FZ6CvnAsiz15JsjubphnjUULpeY1WajnNDCcUIFPCx+WENQ9Be6wEXOO pIluUtUn1kyyuDIC04uDuu34jSI+x2mnMvdBQpbw80thBeqCd7RhX1aU5FABnjC1foeU mQtC9SrD3lgT+M223XPlRLQLLRLgI96WjpQf7SYavWaAI/TlrEDDO99CSbHP0z4SrVwC 8bDUDmpY4vwqkr68E/dXGxGOLNqdeLmMJJFxDQSDox8Wok1GB4A0OpW/AlGjQf7stjeD OESw51CZhRUHovlGrA0YSsqYP229P6LVXvOmCX3mynskJS6u3yl2qK9K5jNHz+UV3S3T RYhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=LUFgqV2BeqlQdLiPN9gxuMdCmao9D8TOC5wrMIKCTOc=; b=Msbdy3XuTGJEIx3zfkameqqMMIBesU8T/6fMtc/4y0smSGAZ63LTVdsYU9rFnQhpwD DEkAwS0zt5D5ypJ0aXlLKhaWVJ24KML6s3+fvryAf82PxyVGZP43ysFD1lQkujdVnZdM 33AqAuk4A/fqb5hDaR1Uoor7d0HRIy3HLNrTxDIe3LNhoZUANJaoBXQYT5SOSbnEKwsg 1NBDm7GTV1y/hZGd7reX8dCXfQ4vETcJYAeU9aJ/s+zD2p+rtckbkUnBt3y1Lj9IY5+d CRX+0Aw60g3Q1ZWdhudbfWZwGrsfW2naeTlpIfaCJYV18rIR8oL05+7KLcaPEQfMXP2G l0kw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@shutemov-name.20210112.gappssmtp.com header.s=20210112 header.b=fVf+NMzo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id oz38si5199473ejc.210.2021.11.03.08.48.17; Wed, 03 Nov 2021 08:48:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@shutemov-name.20210112.gappssmtp.com header.s=20210112 header.b=fVf+NMzo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231765AbhKCPs7 (ORCPT + 99 others); Wed, 3 Nov 2021 11:48:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229635AbhKCPs6 (ORCPT ); Wed, 3 Nov 2021 11:48:58 -0400 Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5FA0C061714 for ; Wed, 3 Nov 2021 08:46:21 -0700 (PDT) Received: by mail-lf1-x132.google.com with SMTP id i3so6051518lfu.4 for ; Wed, 03 Nov 2021 08:46:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov-name.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LUFgqV2BeqlQdLiPN9gxuMdCmao9D8TOC5wrMIKCTOc=; b=fVf+NMzoGPq6KGTd45BRfVLWum48YsEIdLDF4TVmL8K7f2Bgz0yhgBdMyc4tdIITvY QBLrcAIHT9im5JHhnMTJnmVFDPraqJd/sqs2Xj1119W0XZIMm0wUGYcoY5g/dchxNRBa OPI+s9A3mVx3jJV7ZGqFdTbahHreInlzxr7Amw/npcXyDuKjTjWNWEaXrR6EU/S77hGR kGTkugp6VeJuy/7CD1xHucS7slzZPFtw8JeUjpenFyPerURoldrnBUjez03gSXVf2aBR jQgrzIWt/xUsO8GnZ20f+E5N4jCDK0dMsCwJsFPDTtUGB0REWWrNjMt7jBhIvV1m7thd 42eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LUFgqV2BeqlQdLiPN9gxuMdCmao9D8TOC5wrMIKCTOc=; b=TTl53rh93lyNnrsiW/ZKqIMdHQcfRy5OM/CsdLsBAhpyeomZFKwAkgVWarB0ZgC2jH zQBOvRRn8H5jaKX6VAmJykHYlcbGNgSToA4eYbQru1Mm13x+cZV8WxO8jCcFsgnvEWA6 mbAVZz2MZjXqGyqk67hyZCMUfx9M27HCmpe1p+JodvB5C5wnsst6o0UOxbO6PIj5vgM6 IkhoF9MiC4NrDetGffOvP15lhNTqQkxhW6KVWjNkdKyGsWt6uMectSBskNlPlOijYQeW BHu9w62pPwYdZ23HM6zoZgI1kTUS/I9b/2TK++p6AGBvl7IsuXi8uTgtCX5YmQlqGKMX b4wA== X-Gm-Message-State: AOAM533Pw860zgeXDQu9las0XmpIUIzdzirOCbIC1QgF0P8YzNDdWt/3 Xm/sZD9B9JpOSlazKrO8OaPWzQl7xitRoQ== X-Received: by 2002:a05:6512:3988:: with SMTP id j8mr32944575lfu.533.1635954380093; Wed, 03 Nov 2021 08:46:20 -0700 (PDT) Received: from box.localdomain ([86.57.175.117]) by smtp.gmail.com with ESMTPSA id i1sm209022lfr.178.2021.11.03.08.46.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Nov 2021 08:46:19 -0700 (PDT) From: "Kirill A. Shutemov" X-Google-Original-From: "Kirill A. Shutemov" Received: by box.localdomain (Postfix, from userid 1000) id 90EB31033EB; Wed, 3 Nov 2021 18:46:18 +0300 (+03) To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Tom Lendacky , Joerg Roedel Cc: Kuppuswamy Sathyanarayanan , Andi Kleen , Dave Hansen , Sean Christopherson , Peter Zijlstra , x86@kernel.org, linux-kernel@vger.kernel.org, "Kirill A. Shutemov" Subject: [PATCHv3 0/4] Add generic MMIO instruction deconding to be used in SEV and TDX Date: Wed, 3 Nov 2021 18:45:51 +0300 Message-Id: <20211103154555.23729-1-kirill.shutemov@linux.intel.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Both AMD SEV and Intel TDX has to decode MMIO instruction to be able to handle MMIO. Extract insn_decode_mmio() from SEV code. TDX will also use this helper. v3: - Handle insn_get_opcode() in is_string_insn() v2: - insn_get_modrm_reg_ptr() returns unsigned long pointer now (PeterZ); - Handle insn_get_opcode() failure in insn_decode_mmio() (PeterZ); Kirill A. Shutemov (4): x86/insn-eval: Handle insn_get_opcode() failure x86/insn-eval: Introduce insn_get_modrm_reg_ptr() x86/insn-eval: Introduce insn_decode_mmio() x86/sev-es: Use insn_decode_mmio() for MMIO implementation arch/x86/include/asm/insn-eval.h | 13 +++ arch/x86/kernel/sev.c | 171 ++++++++----------------------- arch/x86/lib/insn-eval.c | 109 +++++++++++++++++++- 3 files changed, 160 insertions(+), 133 deletions(-) -- 2.32.0