From nobody Sun May 19 07:11:57 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591884103; cv=none; d=zohomail.com; s=zohoarc; b=UFt9B3G0DMGxOq1Q9ahyekv/xG3xCVvTKHtXTSBgnGCI23Eh0Nnh0kkgOO9W6uaGw8oUyIfAM2EZmwxzSJxOYwPwTkV2Aq85AN+QRsVWLDvW4KgPq7oCwat/OdkNM/ZZt8b84zW/MHPNatdAEk9UO5gHBXE6jCw3xmalRSLOVcw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591884103; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=u2ZwDqBhLE/jAL775l2qv2t5H2xr+fSUtwHIc08DgoA=; b=UYP7mG9HxKdoNS0UcyMf//DsJOMmKtL6xmEWro7CRqTP7agJD6/H6bpWWDM4AJrV1RW/hY2B1ILA6rjQlNX8k1MKw+oox1oYNTq0gMutJxpKNkMKiL6i2i44vQIM7E4n0gFhf2uUaIUC/A9qDc/bxOqf05UG2QKeBGPAOwgbnUw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159188410302827.8169658510634; Thu, 11 Jun 2020 07:01:43 -0700 (PDT) Received: from localhost ([::1]:58356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjNm1-0003VT-0W for importer@patchew.org; Thu, 11 Jun 2020 10:01:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51752) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjNk6-00024E-6Y for qemu-devel@nongnu.org; Thu, 11 Jun 2020 09:59:42 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:58701 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jjNk4-00028p-O0 for qemu-devel@nongnu.org; Thu, 11 Jun 2020 09:59:41 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-192-XUhi_seiOi2nutEEZy1zMQ-1; Thu, 11 Jun 2020 09:59:38 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9F1B0461; Thu, 11 Jun 2020 13:59:36 +0000 (UTC) Received: from laptop.redhat.com (ovpn-114-197.ams2.redhat.com [10.36.114.197]) by smtp.corp.redhat.com (Postfix) with ESMTP id 938415D9DC; Thu, 11 Jun 2020 13:59:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591883979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=u2ZwDqBhLE/jAL775l2qv2t5H2xr+fSUtwHIc08DgoA=; b=YhA57T4ADbRK5hlZT0qxP6FRqzcMbrQdd/FCM3ibICMUyctQbaTveYsOsX7qJxk1Bcrudf Cr+MQJ3WIGOcu+ph6lCEiM3eoy2yAnzzNem8BJt0hdUPSkC/WLp9DvQDxOQg67Zuy/isgG ktl4AcIz8wGDpGGZYa0KQeAyEFHLyuU= X-MC-Unique: XUhi_seiOi2nutEEZy1zMQ-1 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, stefanb@linux.ibm.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, mst@redhat.com, shannon.zhaosl@gmail.com, imammedo@redhat.com Subject: [PATCH v4 1/5] acpi: Convert build_tpm2() to build_append* API Date: Thu, 11 Jun 2020 15:59:13 +0200 Message-Id: <20200611135917.18300-2-eric.auger@redhat.com> In-Reply-To: <20200611135917.18300-1-eric.auger@redhat.com> References: <20200611135917.18300-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=eric.auger@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/11 03:29:33 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, drjones@redhat.com, lersek@redhat.com, ardb@kernel.org, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" In preparation of its move to the generic acpi code, let's convert build_tpm2() to use build_append API. This latter now is prefered in place of direct ACPI struct field settings with manual endianness conversion. Signed-off-by: Eric Auger Reviewed-by: Stefan Berger --- v3 -> v4: - Don't use Acpi20TPM2 *tpm2_ptr anymore - Use variables for control area start address and start method - Simplified arg values passed to bios_linker_loader_add_pointer - use g_assert_not_reached() --- hw/i386/acpi-build.c | 49 +++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index b5669d6c65..f150d95ecc 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2298,35 +2298,52 @@ build_tpm_tcpa(GArray *table_data, BIOSLinker *link= er, GArray *tcpalog) static void build_tpm2(GArray *table_data, BIOSLinker *linker, GArray *tcpalog) { - Acpi20TPM2 *tpm2_ptr =3D acpi_data_push(table_data, sizeof *tpm2_ptr); - unsigned log_addr_size =3D sizeof(tpm2_ptr->log_area_start_address); - unsigned log_addr_offset =3D - (char *)&tpm2_ptr->log_area_start_address - table_data->data; + uint8_t start_method_params[12] =3D {}; + unsigned log_addr_offset, tpm2_start; + uint64_t control_area_start_address; + uint32_t start_method; + void *tpm2_ptr; =20 - tpm2_ptr->platform_class =3D cpu_to_le16(TPM2_ACPI_CLASS_CLIENT); + tpm2_start =3D table_data->len; + tpm2_ptr =3D acpi_data_push(table_data, sizeof(AcpiTableHeader)); + + /* Platform Class */ + build_append_int_noprefix(table_data, TPM2_ACPI_CLASS_CLIENT, 2); + /* Reserved */ + build_append_int_noprefix(table_data, 0, 2); if (TPM_IS_TIS_ISA(tpm_find())) { - tpm2_ptr->control_area_address =3D cpu_to_le64(0); - tpm2_ptr->start_method =3D cpu_to_le32(TPM2_START_METHOD_MMIO); + control_area_start_address =3D 0; + start_method =3D TPM2_START_METHOD_MMIO; } else if (TPM_IS_CRB(tpm_find())) { - tpm2_ptr->control_area_address =3D cpu_to_le64(TPM_CRB_ADDR_CTRL); - tpm2_ptr->start_method =3D cpu_to_le32(TPM2_START_METHOD_CRB); + control_area_start_address =3D TPM_CRB_ADDR_CTRL; + start_method =3D TPM2_START_METHOD_CRB; } else { - g_warn_if_reached(); + g_assert_not_reached(); } + /* Address of Control Area */ + build_append_int_noprefix(table_data, control_area_start_address, 8); + /* Start Method */ + build_append_int_noprefix(table_data, start_method, 4); =20 - tpm2_ptr->log_area_minimum_length =3D - cpu_to_le32(TPM_LOG_AREA_MINIMUM_SIZE); + /* Platform Specific Parameters */ + g_array_append_vals(table_data, &start_method_params, + ARRAY_SIZE(start_method_params)); =20 - acpi_data_push(tcpalog, le32_to_cpu(tpm2_ptr->log_area_minimum_length)= ); + /* Log Area Minimum Length */ + build_append_int_noprefix(table_data, TPM_LOG_AREA_MINIMUM_SIZE, 4); + + acpi_data_push(tcpalog, TPM_LOG_AREA_MINIMUM_SIZE); bios_linker_loader_alloc(linker, ACPI_BUILD_TPMLOG_FILE, tcpalog, 1, false); =20 - /* log area start address to be filled by Guest linker */ + log_addr_offset =3D table_data->len; + build_append_int_noprefix(table_data, 0, 8); + /* Log Area Start Address to be filled by Guest linker */ bios_linker_loader_add_pointer(linker, ACPI_BUILD_TABLE_FILE, - log_addr_offset, log_addr_size, + log_addr_offset, 8, ACPI_BUILD_TPMLOG_FILE, 0); build_header(linker, table_data, - (void *)tpm2_ptr, "TPM2", sizeof(*tpm2_ptr), 4, NULL, NUL= L); + tpm2_ptr, "TPM2", table_data->len - tpm2_start, 4, NULL, = NULL); } =20 #define HOLE_640K_START (640 * KiB) --=20 2.20.1 From nobody Sun May 19 07:11:57 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591884240; cv=none; d=zohomail.com; s=zohoarc; b=BpFO8jRQbjaNRYZOpKHcKXyzHVgFLxzKEx8weR7Ys7y7go+MNNGTvMKtZZl2zodnD4sGoGBJ5fKDfCPTq3fZFj43KC0GEjK9sHB6ZoEWhGtO6mPy7J2x96HT2JF3k9Qsji8mG0gpK9QKjZKR5yMwDf3JpbcnRvE6D78sKdpXrEQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591884240; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Vfn8PEYJwv5gpdW+8cLkQ+SzSoDxtmh4V9PWHKDoHb0=; b=MjJiPJQ1oK8B8+Dlanvxnn7cRq9vNDaA23xb1ZKaHWuesBdFqGILV+2U9C2jaqX47JTj49bDLCzsjQPEvwXpBLdZ7KiQn6/HsUfHOabeicqfWTEn4Ju426Bey+drRK0qhVw4jNAfZCcuQV78ABo/bWCdcp+XWm2Gmsjq2RXzqeA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1591884240078729.7255674215296; Thu, 11 Jun 2020 07:04:00 -0700 (PDT) Received: from localhost ([::1]:36232 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjNoE-0006Nb-7a for importer@patchew.org; Thu, 11 Jun 2020 10:03:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51782) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjNk9-0002BP-RA for qemu-devel@nongnu.org; Thu, 11 Jun 2020 09:59:45 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:35335 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jjNk8-00029R-QD for qemu-devel@nongnu.org; Thu, 11 Jun 2020 09:59:45 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-281-FTZZBi9YOrGffb5T9LhY1w-1; Thu, 11 Jun 2020 09:59:42 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 11A40107ACCA; Thu, 11 Jun 2020 13:59:40 +0000 (UTC) Received: from laptop.redhat.com (ovpn-114-197.ams2.redhat.com [10.36.114.197]) by smtp.corp.redhat.com (Postfix) with ESMTP id 02E365D9DC; Thu, 11 Jun 2020 13:59:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591883984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Vfn8PEYJwv5gpdW+8cLkQ+SzSoDxtmh4V9PWHKDoHb0=; b=Gejp3q2Vrvdg+oQyQMAt1ACHvrPtsWvSDqkcfFTX4YdpCeCx+zS8WCzufcAOZFTOymYhpv 8PIq+tkyNYrXrIwYmxCjG69oOPCUAUbaFRp/V7aS8WSlLd21pT1KNHxRr0D1B4NVlPtI29 gjfv1g1yG7uCBM+q22iM7q6F5K8TaAI= X-MC-Unique: FTZZBi9YOrGffb5T9LhY1w-1 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, stefanb@linux.ibm.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, mst@redhat.com, shannon.zhaosl@gmail.com, imammedo@redhat.com Subject: [PATCH v4 2/5] acpi: Move build_tpm2() in the generic part Date: Thu, 11 Jun 2020 15:59:14 +0200 Message-Id: <20200611135917.18300-3-eric.auger@redhat.com> In-Reply-To: <20200611135917.18300-1-eric.auger@redhat.com> References: <20200611135917.18300-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=eric.auger@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/11 08:37:10 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, drjones@redhat.com, lersek@redhat.com, ardb@kernel.org, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" We plan to build the TPM2 table on ARM too. In order to reuse the generation code, let's move build_tpm2() to aml-build.c. No change in the implementation. Signed-off-by: Eric Auger Reviewed-by: Stefan Berger --- include/hw/acpi/aml-build.h | 2 ++ hw/acpi/aml-build.c | 51 +++++++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 51 ------------------------------------- 3 files changed, 53 insertions(+), 51 deletions(-) diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h index ed7c89309e..d27da03d64 100644 --- a/include/hw/acpi/aml-build.h +++ b/include/hw/acpi/aml-build.h @@ -437,4 +437,6 @@ void build_slit(GArray *table_data, BIOSLinker *linker,= MachineState *ms); =20 void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f, const char *oem_id, const char *oem_table_id); + +void build_tpm2(GArray *table_data, BIOSLinker *linker, GArray *tcpalog); #endif diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 3681ec6e3d..2a1d9fc839 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -26,6 +26,7 @@ #include "qemu/bitops.h" #include "sysemu/numa.h" #include "hw/boards.h" +#include "hw/acpi/tpm.h" =20 static GArray *build_alloc_array(void) { @@ -1877,6 +1878,56 @@ build_hdr: "FACP", tbl->len - fadt_start, f->rev, oem_id, oem_table_= id); } =20 +void build_tpm2(GArray *table_data, BIOSLinker *linker, GArray *tcpalog) +{ + uint8_t start_method_params[12] =3D {}; + unsigned log_addr_offset, tpm2_start; + uint64_t control_area_start_address; + uint32_t start_method; + void *tpm2_ptr; + + tpm2_start =3D table_data->len; + tpm2_ptr =3D acpi_data_push(table_data, sizeof(AcpiTableHeader)); + + /* Platform Class */ + build_append_int_noprefix(table_data, TPM2_ACPI_CLASS_CLIENT, 2); + /* Reserved */ + build_append_int_noprefix(table_data, 0, 2); + if (TPM_IS_TIS_ISA(tpm_find())) { + control_area_start_address =3D 0; + start_method =3D TPM2_START_METHOD_MMIO; + } else if (TPM_IS_CRB(tpm_find())) { + control_area_start_address =3D TPM_CRB_ADDR_CTRL; + start_method =3D TPM2_START_METHOD_CRB; + } else { + g_assert_not_reached(); + } + /* Address of Control Area */ + build_append_int_noprefix(table_data, control_area_start_address, 8); + /* Start Method */ + build_append_int_noprefix(table_data, start_method, 4); + + /* Platform Specific Parameters */ + g_array_append_vals(table_data, &start_method_params, + ARRAY_SIZE(start_method_params)); + + /* Log Area Minimum Length */ + build_append_int_noprefix(table_data, TPM_LOG_AREA_MINIMUM_SIZE, 4); + + acpi_data_push(tcpalog, TPM_LOG_AREA_MINIMUM_SIZE); + bios_linker_loader_alloc(linker, ACPI_BUILD_TPMLOG_FILE, tcpalog, 1, + false); + + log_addr_offset =3D table_data->len; + build_append_int_noprefix(table_data, 0, 8); + /* Log Area Start Address to be filled by Guest linker */ + bios_linker_loader_add_pointer(linker, ACPI_BUILD_TABLE_FILE, + log_addr_offset, 8, + ACPI_BUILD_TPMLOG_FILE, 0); + build_header(linker, table_data, + tpm2_ptr, "TPM2", table_data->len - tpm2_start, 4, NULL, = NULL); +} + /* ACPI 5.0: 6.4.3.8.2 Serial Bus Connection Descriptors */ static Aml *aml_serial_bus_device(uint8_t serial_bus_type, uint8_t flags, uint16_t type_flags, diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index f150d95ecc..b7c7583b5f 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2295,57 +2295,6 @@ build_tpm_tcpa(GArray *table_data, BIOSLinker *linke= r, GArray *tcpalog) (void *)tcpa, "TCPA", sizeof(*tcpa), 2, NULL, NULL); } =20 -static void -build_tpm2(GArray *table_data, BIOSLinker *linker, GArray *tcpalog) -{ - uint8_t start_method_params[12] =3D {}; - unsigned log_addr_offset, tpm2_start; - uint64_t control_area_start_address; - uint32_t start_method; - void *tpm2_ptr; - - tpm2_start =3D table_data->len; - tpm2_ptr =3D acpi_data_push(table_data, sizeof(AcpiTableHeader)); - - /* Platform Class */ - build_append_int_noprefix(table_data, TPM2_ACPI_CLASS_CLIENT, 2); - /* Reserved */ - build_append_int_noprefix(table_data, 0, 2); - if (TPM_IS_TIS_ISA(tpm_find())) { - control_area_start_address =3D 0; - start_method =3D TPM2_START_METHOD_MMIO; - } else if (TPM_IS_CRB(tpm_find())) { - control_area_start_address =3D TPM_CRB_ADDR_CTRL; - start_method =3D TPM2_START_METHOD_CRB; - } else { - g_assert_not_reached(); - } - /* Address of Control Area */ - build_append_int_noprefix(table_data, control_area_start_address, 8); - /* Start Method */ - build_append_int_noprefix(table_data, start_method, 4); - - /* Platform Specific Parameters */ - g_array_append_vals(table_data, &start_method_params, - ARRAY_SIZE(start_method_params)); - - /* Log Area Minimum Length */ - build_append_int_noprefix(table_data, TPM_LOG_AREA_MINIMUM_SIZE, 4); - - acpi_data_push(tcpalog, TPM_LOG_AREA_MINIMUM_SIZE); - bios_linker_loader_alloc(linker, ACPI_BUILD_TPMLOG_FILE, tcpalog, 1, - false); - - log_addr_offset =3D table_data->len; - build_append_int_noprefix(table_data, 0, 8); - /* Log Area Start Address to be filled by Guest linker */ - bios_linker_loader_add_pointer(linker, ACPI_BUILD_TABLE_FILE, - log_addr_offset, 8, - ACPI_BUILD_TPMLOG_FILE, 0); - build_header(linker, table_data, - tpm2_ptr, "TPM2", table_data->len - tpm2_start, 4, NULL, = NULL); -} - #define HOLE_640K_START (640 * KiB) #define HOLE_640K_END (1 * MiB) =20 --=20 2.20.1 From nobody Sun May 19 07:11:57 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591884141; cv=none; d=zohomail.com; s=zohoarc; b=KafBw3o9BHZqy10zJlnDoaKvh4kMNA8trnIcLUp2qbGzG8q8CmCGK52sFgvOMxAMWTvWxsxmifyiOMO/pQniRj7FaLauLDNuUp2K6UvDGEOIqhF1dp0ft5pOgpJAZw6CML8OlCxqlxL2JHRS60zLxwEt0AIKxPWI+6aSQ1/QTEQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591884141; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=l/tsqs0CV87SZ1ggKjgE+gFxoq7g2D7z8Ikszig2jYc=; b=F/JhND11dMROQpw4w+ogfdepBSK1YKWPM52WzKJW+uPP7WAsk8xLDH/jdXgWHZxWcZDU7XPLQUx4/9oeUIwLWfqoBvwC5W5ZBGAJr3pN6RSxNtvemJffpU9hBk83ABKNwew8yaFm9TKD0PonWTA6YMZmmKK0BBpb59bLjNYUx/w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1591884141253321.69493248992876; Thu, 11 Jun 2020 07:02:21 -0700 (PDT) Received: from localhost ([::1]:60106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjNmd-0004Di-6P for importer@patchew.org; Thu, 11 Jun 2020 10:02:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51934) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjNkL-0002YB-IE for qemu-devel@nongnu.org; Thu, 11 Jun 2020 09:59:57 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:42053 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jjNkK-0002Bi-1h for qemu-devel@nongnu.org; Thu, 11 Jun 2020 09:59:57 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-225-zQf7JofQNBSF6NrVhN50HQ-1; Thu, 11 Jun 2020 09:59:53 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8751D1005513; Thu, 11 Jun 2020 13:59:52 +0000 (UTC) Received: from laptop.redhat.com (ovpn-114-197.ams2.redhat.com [10.36.114.197]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6A5785D9DC; Thu, 11 Jun 2020 13:59:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591883995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l/tsqs0CV87SZ1ggKjgE+gFxoq7g2D7z8Ikszig2jYc=; b=BtMhGgC/SdQlBoSpOXzkhY73qRGaNihb11Cp7/wnn7yhuI9PoJsnkD1yo0JCnbXnq21Y3f OHuPnmkCEANr+pT+YzroJ3DbuH7hDJ8ga1QbaFYPdL0LGF69sX/LM5ojjuiOMX2/g4C7xy p0Ldq6rfEpu5Xd/cFguIC2RZ0wwI+Pw= X-MC-Unique: zQf7JofQNBSF6NrVhN50HQ-1 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, stefanb@linux.ibm.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, mst@redhat.com, shannon.zhaosl@gmail.com, imammedo@redhat.com Subject: [PATCH v4 3/5] arm/acpi: TPM2 ACPI table support Date: Thu, 11 Jun 2020 15:59:15 +0200 Message-Id: <20200611135917.18300-4-eric.auger@redhat.com> In-Reply-To: <20200611135917.18300-1-eric.auger@redhat.com> References: <20200611135917.18300-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=eric.auger@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/11 03:29:33 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, drjones@redhat.com, lersek@redhat.com, ardb@kernel.org, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Add a TPM2 ACPI table if a TPM2.0 sysbus device has been dynamically instantiated. Signed-off-by: Eric Auger --- v2 -> v3: - do not to need to create the log area anymore v1 -> v2: - reuse generic build_tpm2() and alloc log area externally - call tpm_find() once in build_tpm2() --- include/sysemu/tpm.h | 2 ++ hw/acpi/aml-build.c | 5 +++-- hw/arm/virt-acpi-build.c | 7 +++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h index f37851b1aa..03fb25941c 100644 --- a/include/sysemu/tpm.h +++ b/include/sysemu/tpm.h @@ -50,6 +50,8 @@ typedef struct TPMIfClass { =20 #define TPM_IS_TIS_ISA(chr) \ object_dynamic_cast(OBJECT(chr), TYPE_TPM_TIS_ISA) +#define TPM_IS_TIS_SYSBUS(chr) \ + object_dynamic_cast(OBJECT(chr), TYPE_TPM_TIS_SYSBUS) #define TPM_IS_CRB(chr) \ object_dynamic_cast(OBJECT(chr), TYPE_TPM_CRB) #define TPM_IS_SPAPR(chr) \ diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 2a1d9fc839..a0c4d71fe9 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -1883,6 +1883,7 @@ void build_tpm2(GArray *table_data, BIOSLinker *linke= r, GArray *tcpalog) uint8_t start_method_params[12] =3D {}; unsigned log_addr_offset, tpm2_start; uint64_t control_area_start_address; + TPMIf *tpmif =3D tpm_find(); uint32_t start_method; void *tpm2_ptr; =20 @@ -1893,10 +1894,10 @@ void build_tpm2(GArray *table_data, BIOSLinker *lin= ker, GArray *tcpalog) build_append_int_noprefix(table_data, TPM2_ACPI_CLASS_CLIENT, 2); /* Reserved */ build_append_int_noprefix(table_data, 0, 2); - if (TPM_IS_TIS_ISA(tpm_find())) { + if (TPM_IS_TIS_ISA(tpmif) || TPM_IS_TIS_SYSBUS(tpmif)) { control_area_start_address =3D 0; start_method =3D TPM2_START_METHOD_MMIO; - } else if (TPM_IS_CRB(tpm_find())) { + } else if (TPM_IS_CRB(tpmif)) { control_area_start_address =3D TPM_CRB_ADDR_CTRL; start_method =3D TPM2_START_METHOD_CRB; } else { diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 1b0a584c7b..6d152ab481 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -41,12 +41,14 @@ #include "hw/acpi/pci.h" #include "hw/acpi/memory_hotplug.h" #include "hw/acpi/generic_event_device.h" +#include "hw/acpi/tpm.h" #include "hw/pci/pcie_host.h" #include "hw/pci/pci.h" #include "hw/arm/virt.h" #include "hw/mem/nvdimm.h" #include "sysemu/numa.h" #include "sysemu/reset.h" +#include "sysemu/tpm.h" #include "kvm_arm.h" #include "migration/vmstate.h" #include "hw/acpi/ghes.h" @@ -844,6 +846,11 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildT= ables *tables) build_iort(tables_blob, tables->linker, vms); } =20 + if (tpm_get_version(tpm_find()) =3D=3D TPM_VERSION_2_0) { + acpi_add_table(table_offsets, tables_blob); + build_tpm2(tables_blob, tables->linker, tables->tcpalog); + } + /* XSDT is pointed to by RSDP */ xsdt =3D tables_blob->len; build_xsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); --=20 2.20.1 From nobody Sun May 19 07:11:57 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591884406; cv=none; d=zohomail.com; s=zohoarc; b=ONS/FRaCf26AmB0gW4jMpXsrA3NPCfZWXOOIIxWQgiNL0lbCmAE4jQNs7p0M1aFsFELUaEsoXAEgAUPk95TY+6/cx+wg9Y18ImipKtSC6dMBjkNz2Tx/f3I2UApGn1ymsECyrYhL+upi+CaKe6+esK0O0YiAh2LydbBAPA9lU68= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591884406; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ntfG//GL1YECO3Gr8H+WJTmhryn3WPZswXVXiuSUlM0=; b=W35xyiflFIs/jgL+kU6lorOFClv4VWQqxa0Zu9je6Si49MubqL/DI/BzrEft4AnVFgsGxGbpVG+tfgOoIyhAWzHmYy8LMUqpzWi2LtgHHVIk9eCGbQq7WPGPCK03q5H1Z0YrwnUoJpMDxegcVSV0LpiyRRbaXiZNXIVEPv5oY7E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1591884406273413.9775559527068; Thu, 11 Jun 2020 07:06:46 -0700 (PDT) Received: from localhost ([::1]:41500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjNqu-0001gc-8j for importer@patchew.org; Thu, 11 Jun 2020 10:06:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjNkR-0002hY-KF for qemu-devel@nongnu.org; Thu, 11 Jun 2020 10:00:03 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:37758 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jjNkQ-0002CB-AU for qemu-devel@nongnu.org; Thu, 11 Jun 2020 10:00:03 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-420-51YW-kWENCm7rRCE0IqFGQ-1; Thu, 11 Jun 2020 09:59:57 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 084EF801503; Thu, 11 Jun 2020 13:59:56 +0000 (UTC) Received: from laptop.redhat.com (ovpn-114-197.ams2.redhat.com [10.36.114.197]) by smtp.corp.redhat.com (Postfix) with ESMTP id DE4205D9DC; Thu, 11 Jun 2020 13:59:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591884001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ntfG//GL1YECO3Gr8H+WJTmhryn3WPZswXVXiuSUlM0=; b=FjvYEXfsAZX0BiOUAi2987L8/AS+H77N5ziDMWE7d3UIhVoNpFWaUaLylFpaC/qFsYDiG7 +T7phkcnHjm2g1CZkNLdjSfWsu/Gt4u4XHWqxadJ4bDfNHg1KUwHr181Fi3EK17bWiZZbU 64Zpha37AvFpWGyfvMvn5+NV9Kku/bI= X-MC-Unique: 51YW-kWENCm7rRCE0IqFGQ-1 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, stefanb@linux.ibm.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, mst@redhat.com, shannon.zhaosl@gmail.com, imammedo@redhat.com Subject: [PATCH v4 4/5] arm/acpi: Add the TPM2.0 device under the DSDT Date: Thu, 11 Jun 2020 15:59:16 +0200 Message-Id: <20200611135917.18300-5-eric.auger@redhat.com> In-Reply-To: <20200611135917.18300-1-eric.auger@redhat.com> References: <20200611135917.18300-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=eric.auger@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/11 03:29:33 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, drjones@redhat.com, lersek@redhat.com, ardb@kernel.org, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" In case it is dynamically instantiated, add the TPM 2.0 device object under the DSDT table in the ACPI namespace. Its HID is MSFT0101 while its current resource settings (CRS) property is initialized with the guest physical address and MMIO size of the device. Signed-off-by: Eric Auger Reviewed-by: Stefan Berger --- v3 -> v4: - check the presence of the tpm in acpi_dsdt_add_tpm as it was done in v2 v2 -> v3: - use SYS_BUS_DEVICE() instead of (SysBusDevice *)object_dynamic_cast(OBJECT()) v1 -> v2: - use memory_region_size - fix mingw compilation issue by casting to uint32_t - added Stefan's R-b --- hw/arm/virt-acpi-build.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 6d152ab481..b7277233b3 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -46,6 +46,7 @@ #include "hw/pci/pci.h" #include "hw/arm/virt.h" #include "hw/mem/nvdimm.h" +#include "hw/platform-bus.h" #include "sysemu/numa.h" #include "sysemu/reset.h" #include "sysemu/tpm.h" @@ -364,6 +365,38 @@ static void acpi_dsdt_add_power_button(Aml *scope) aml_append(scope, dev); } =20 +static void acpi_dsdt_add_tpm(Aml *scope, VirtMachineState *vms) +{ + PlatformBusDevice *pbus =3D PLATFORM_BUS_DEVICE(vms->platform_bus_dev); + hwaddr pbus_base =3D vms->memmap[VIRT_PLATFORM_BUS].base; + SysBusDevice *sbdev =3D SYS_BUS_DEVICE(tpm_find()); + MemoryRegion *sbdev_mr; + hwaddr tpm_base; + + if (!sbdev) { + return; + } + + tpm_base =3D platform_bus_get_mmio_addr(pbus, sbdev, 0); + assert(tpm_base !=3D -1); + + tpm_base +=3D pbus_base; + + sbdev_mr =3D sysbus_mmio_get_region(sbdev, 0); + + Aml *dev =3D aml_device("TPM0"); + aml_append(dev, aml_name_decl("_HID", aml_string("MSFT0101"))); + aml_append(dev, aml_name_decl("_UID", aml_int(0))); + + Aml *crs =3D aml_resource_template(); + aml_append(crs, + aml_memory32_fixed(tpm_base, + (uint32_t)memory_region_size(sbdev_mr), + AML_READ_WRITE)); + aml_append(dev, aml_name_decl("_CRS", crs)); + aml_append(scope, dev); +} + static void build_iort(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) { @@ -758,6 +791,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, Virt= MachineState *vms) } =20 acpi_dsdt_add_power_button(scope); + acpi_dsdt_add_tpm(scope, vms); =20 aml_append(dsdt, scope); =20 --=20 2.20.1 From nobody Sun May 19 07:11:57 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591884356; cv=none; d=zohomail.com; s=zohoarc; b=fHOnAQy/186dzVuN7JI51myPiCXNi/UYQODtyvnmQnlCekOMh+4mZ58IDl30NQMyIBhFrJ32ImSo3FFchHYGgJHrkDdN4YMNhLGOJymOVofqklrpu/AswRaWSZBXlg00DxgqQ9NI8HlaYvtzFvmfIwTvAilRCmttIhG8S/tIY/4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591884356; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qDNBig6IWQiFeyOxhMViPcQxZlm7fNfvrCXicg2128w=; b=GnMOwWnFIDfQ6Z0LVK1een85/w4DH6qXcaGMAdsPINPzQ4rZFwozhEWEGeuasaFPxbF9QbQYvifE9l68OloCN0c+sNSFVcVCM2q8SJtoGwtXVU+cn/3lgcOTBw4Mpsrwje5tbPCjKLBJNu8naGRrSSb4iIUm/VuPQrOn3cCjOX8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1591884356524354.37188515200603; Thu, 11 Jun 2020 07:05:56 -0700 (PDT) Received: from localhost ([::1]:39558 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjNq7-0000mg-4X for importer@patchew.org; Thu, 11 Jun 2020 10:05:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjNkU-0002js-8Q for qemu-devel@nongnu.org; Thu, 11 Jun 2020 10:00:09 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:33990 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jjNkT-0002Eg-CR for qemu-devel@nongnu.org; Thu, 11 Jun 2020 10:00:05 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-67-Gi3LDhk_PUODY9vPMY3jeA-1; Thu, 11 Jun 2020 10:00:00 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6F4F3107ACCD; Thu, 11 Jun 2020 13:59:59 +0000 (UTC) Received: from laptop.redhat.com (ovpn-114-197.ams2.redhat.com [10.36.114.197]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5FAF35D9DC; Thu, 11 Jun 2020 13:59:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591884004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qDNBig6IWQiFeyOxhMViPcQxZlm7fNfvrCXicg2128w=; b=gxnfnRZr+DkezsBGlzzCmHoQlr2B1Ix12IZrJ+OH6324ZRMz0Kb12Gu+X48YU/HNIfZeGK 66NcJ4JiNMM8kq+tQkYKc54if+IR8cos2Ki3AlQapmuMCzlYZLCKGCeC1dgfZkug6lOK7h 1UdTC25HJ/kTqpB49sWjHqw9O9JrKQM= X-MC-Unique: Gi3LDhk_PUODY9vPMY3jeA-1 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, stefanb@linux.ibm.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, mst@redhat.com, shannon.zhaosl@gmail.com, imammedo@redhat.com Subject: [PATCH v4 5/5] docs/specs/tpm: ACPI boot now supported for TPM/ARM Date: Thu, 11 Jun 2020 15:59:17 +0200 Message-Id: <20200611135917.18300-6-eric.auger@redhat.com> In-Reply-To: <20200611135917.18300-1-eric.auger@redhat.com> References: <20200611135917.18300-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=eric.auger@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/11 08:37:10 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, drjones@redhat.com, lersek@redhat.com, ardb@kernel.org, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" ACPI boot now is supported. Let's remove the comment saying it is not. Signed-off-by: Eric Auger --- docs/specs/tpm.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/specs/tpm.rst b/docs/specs/tpm.rst index 5e61238bc5..eeeb93730a 100644 --- a/docs/specs/tpm.rst +++ b/docs/specs/tpm.rst @@ -346,8 +346,6 @@ In case an Arm virt machine is emulated, use the follow= ing command line: -drive if=3Dpflash,format=3Draw,file=3Dflash0.img,readonly \ -drive if=3Dpflash,format=3Draw,file=3Dflash1.img =20 - On Arm, ACPI boot with TPM is not yet supported. - In case SeaBIOS is used as firmware, it should show the TPM menu item after entering the menu with 'ESC'. =20 --=20 2.20.1