From patchwork Sun Mar 26 01:06:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ninad Palsule X-Patchwork-Id: 1761194 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=JNXbfUZp; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Pkd8c0095z1yYB for ; Sun, 26 Mar 2023 12:07:27 +1100 (AEDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pgEqF-0006eJ-P0; Sat, 25 Mar 2023 21:06:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgEqD-0006de-Vf for qemu-devel@nongnu.org; Sat, 25 Mar 2023 21:06:37 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgEqA-0003Wp-Az for qemu-devel@nongnu.org; Sat, 25 Mar 2023 21:06:37 -0400 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32PNcVna024566; Sun, 26 Mar 2023 01:06:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : mime-version; s=pp1; bh=vNuO9SPCObznwS/uGR/2eHNbcqKPOMQIbeJpXtrIx4s=; b=JNXbfUZpwH/L7dhg177Ml21eZDqyJzXnBtNdv5dK2maF4B2kHLtge9m2pX57p6yFf3zi b1H92kano7JEwcZSFNmL4dVbfeGpNEgQ63S4DFEJJgcbZnDgAC/+7he6E8jsvzsNsqkY HlkARt9ZFH0Nk8BvqLjs2ldqGYq6r+cn6e+tYD5XGHsKFguhvBAS6oqwNPG1nO89FOUq p34lzuAeqn6wT2uwNvdg3FdXQXkOzy6CYHFXlukqr7aaB/9PXDyWWW2ewqz68rUMhUg8 pd6fqKSZOrPE5ChyYh1UFsLQXy/QUiAfUIszW3EzwsTBHroo69hc4mejg7ViGoxc+9Qv Mw== Received: from ppma01dal.us.ibm.com (83.d6.3fa9.ip4.static.sl-reverse.com [169.63.214.131]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pjat6s3b2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 26 Mar 2023 01:06:17 +0000 Received: from pps.filterd (ppma01dal.us.ibm.com [127.0.0.1]) by ppma01dal.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 32Q128eq029011; Sun, 26 Mar 2023 01:06:16 GMT Received: from smtprelay04.dal12v.mail.ibm.com ([9.208.130.102]) by ppma01dal.us.ibm.com (PPS) with ESMTPS id 3phrk75af5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 26 Mar 2023 01:06:16 +0000 Received: from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com [10.241.53.100]) by smtprelay04.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 32Q16Fp812059322 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 26 Mar 2023 01:06:15 GMT Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2CF3958062; Sun, 26 Mar 2023 01:06:15 +0000 (GMT) Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1E7A758059; Sun, 26 Mar 2023 01:06:15 +0000 (GMT) Received: from gfwa601.aus.stglabs.ibm.com (unknown [9.3.62.226]) by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTPS; Sun, 26 Mar 2023 01:06:15 +0000 (GMT) Received: by gfwa601.aus.stglabs.ibm.com (Postfix, from userid 155676) id B87FE2E5674; Sat, 25 Mar 2023 20:06:14 -0500 (CDT) From: Ninad Palsule To: qemu-devel@nongnu.org Cc: Ninad Palsule , joel@jms.id.au, andrew@aj.id.au, stefanb@linux.ibm.com, clg@kaod.org Subject: [PATCH v5 0/3] Add support for TPM devices over I2C bus Date: Sat, 25 Mar 2023 20:06:10 -0500 Message-Id: <20230326010613.3810320-1-ninad@linux.ibm.com> X-Mailer: git-send-email 2.37.2 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: ETWA90AqhbBJnO3WRnx2GQqp3jRDzNlR X-Proofpoint-GUID: ETWA90AqhbBJnO3WRnx2GQqp3jRDzNlR X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-24_11,2023-03-24_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 phishscore=0 suspectscore=0 mlxlogscore=915 adultscore=0 malwarescore=0 bulkscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2303260006 Received-SPF: pass client-ip=148.163.158.5; envelope-from=ninad@us.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Hello, In V5, I have fixed issues reported by Stefan's test. This drop adds support for the TPM devices attached to the I2C bus. It only supports the TPM2 protocol. You need to run it with the external TPM emulator like swtpm. I have tested it with swtpm. I have refered to the work done by zhdaniel@meta.com but at the core level out implementation is different. https://github.com/theopolis/qemu/commit/2e2e57cde9e419c36af8071bb85392ad1ed70966 Based-on: $MESSAGE_ID Ninad Palsule (3): docs: Add support for TPM devices over I2C bus tpm: Extend common APIs to support TPM TIS I2C tpm: Add support for TPM device over I2C bus docs/specs/tpm.rst | 32 +++ hw/arm/Kconfig | 1 + hw/tpm/Kconfig | 7 + hw/tpm/meson.build | 1 + hw/tpm/tpm_tis.h | 3 + hw/tpm/tpm_tis_common.c | 28 +++ hw/tpm/tpm_tis_i2c.c | 485 ++++++++++++++++++++++++++++++++++++++++ hw/tpm/trace-events | 6 + include/hw/acpi/tpm.h | 28 +++ include/sysemu/tpm.h | 3 + 10 files changed, 594 insertions(+) create mode 100644 hw/tpm/tpm_tis_i2c.c