From patchwork Tue Aug 29 09:23:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lombard X-Patchwork-Id: 1827183 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=AqXF+0Xw; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=patchwork.ozlabs.org) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RZhsl5Vpnz1yZs for ; Tue, 29 Aug 2023 19:27:39 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=AqXF+0Xw; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4RZhsl4PqWz3byW for ; Tue, 29 Aug 2023 19:27:39 +1000 (AEST) X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Authentication-Results: lists.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=AqXF+0Xw; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com; envelope-from=clombard@linux.ibm.com; receiver=lists.ozlabs.org) Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4RZhnq3xhVz30Nr for ; Tue, 29 Aug 2023 19:24:15 +1000 (AEST) Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37T9A0fL017064 for ; Tue, 29 Aug 2023 09:24:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : subject : date : message-id : mime-version : content-transfer-encoding; s=pp1; bh=YmbfwnCzC1Q7k343jDQfHmbQBlRoWPumu/jiXIQci4Q=; b=AqXF+0XwVpF38IqsVwVlR/GqnbdLkgTr6gVemTFmV+1qM0WOqFNspCC4pK6KI3zfftQl RhMm948qNTRnwg2nopDdk0hJJiHC9YnbrKcfeVT0bnb5ZRM0NbxbmtoAFItH5sqL5Fem KO6Epa77Ucejo2PaqQ9l3XO1qhBFQoKzqG0QkHQe28uGjOcBZaLVRgYJzu9pQhdU9fc1 dK5hcakuOih3Ji3trOP5Be9DkkiKUvz5UWXUcR0Hr6h9COPo7QZFgDpw1cCM776RZ8R5 L3IMzEMXSFRIHrz5VLXtuOBjNopNdT91QthjTXZRfDOaEG6K0fyOiCoRZzoqKR4QlkPw 9g== Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3ssdjm8mmm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 29 Aug 2023 09:24:13 +0000 Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 37T7bbOk009989 for ; Tue, 29 Aug 2023 09:24:12 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3sqw7ka3ba-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 29 Aug 2023 09:24:12 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 37T9OAMb20578908 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 29 Aug 2023 09:24:10 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6A3BF20043 for ; Tue, 29 Aug 2023 09:24:10 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 30A6820040 for ; Tue, 29 Aug 2023 09:24:10 +0000 (GMT) Received: from li-ac0ca24c-3330-11b2-a85c-93224c50ad7a.home (unknown [9.171.88.232]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP for ; Tue, 29 Aug 2023 09:24:10 +0000 (GMT) From: Christophe Lombard To: skiboot@lists.ozlabs.org Date: Tue, 29 Aug 2023 11:23:54 +0200 Message-ID: <20230829092409.75899-1-clombard@linux.ibm.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: xCqpqjgGMstQo8dWYH-Rj6fqocqsbQuA X-Proofpoint-GUID: xCqpqjgGMstQo8dWYH-Rj6fqocqsbQuA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-08-29_06,2023-08-28_04,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 clxscore=1015 mlxscore=0 mlxlogscore=988 impostorscore=0 malwarescore=0 lowpriorityscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2308290078 Subject: [Skiboot] [PATCH V6 00/15] Complete PLDM responder and enable PLDM support X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" This set of patches allows to complete platform responder to handle platform events (set events, event messages, state sensors reading, state effecters) and fru messages from the BMC. Specific astbmc features (watchdog timer, Real Time Clock, Opal IPMI calls) are also supported. To enable the new PLDM features, add CONFIG_PLDM as a parameter: make .... CONFIG_PLDM=1 This patch set should be applied on top of these previous sets: - Implement virtual flash content using PLDM. - Import external libraries for MCTP/PLDM protocols. - Implement MCTP and PLDM features. Changelog[v6] - Rebase to latest upstream. - patch14: - Add new comment. Changelog[v5] - Rebase to latest upstream. - patch1 : - Change trace type. - patch8 : - Rename add_states_sensor_pdr. - Rename global paramter state_sensor_id. - Add new api add_sensor_sw_term_pdr(). - Add new api add_state_effecter_pdr(). - patch12: - Ann new api find_sensor_id_by_state_set_Id(). Changelog[v4] - Rebase to latest upstream. - patch1 : - Add a poller to regular send heartbeats. - patch2 : - Update debug message. - patch3 : - Do not poll when we respond to a BMC request. - patch4 : - Do not poll when we respond to a BMC request. - patch5 : - Handle all state effecters. - patch6 : - Find record only if available. - patch8 : - Remove global values. - patch9 : - Do not poll when we respond to a BMC request. - patch10: - Rename pldm_fru_add_record(). - Do not poll when we respond to a BMC request. - patch11: - Do not poll when we respond to a BMC request. - patch13: - Change returned value. - patch15: - Do not call ipmi in case of pldm failure. Changelog[v3] - Rebase to latest upstream. - patch1 : - Use new pldm requests queue handler. - patch13: - Use new pldm requests queue handler. - patch14: - Use new pldm requests queue handler. - Handle GET_DEVICE_ID_CMD and GET_DEVICE_GUID_CMD. - patch15: - Remove Rainier System part. Changelog[v2] - Rebase to latest upstream. - patch1 : - Update some comments. - Decrement sequence_number in case of issue. - patch2 : - Invoke the appropriate callback handler. - patch5 : - occ reset for default chip. - patch7 : - Update some comments. - patch8 : - Rework adding hosted PDRs. - Add boot progress PDR. - patch9 : - Add free buffer. - patch11: - Add free buffer. - patch12: - Add sensor state changed event. - patch15: - Add boot progress change. Christophe Lombard (15): core/pldm: Handle Watchdog timer. core/pldm: Decode the SetEventReceiver request core/pldm: Decode the PlatformEventMessage request core/pldm: Decode the GetStateSensorReadings request core/pldm: Decode the SetStateEffecterStates request core/pldm: Find PDR record by record handle core/pldm: Encode PLDM PDR Repository Change eventData core/pldm: Create boot progress and terminus locator in the given repo core/pldm: Decode the GetPDR request core/pldm: Decode the GetFRURecordTableMetadata request core/pldm: Decode the GetFruRecordTable request core/pldm: Update boot progress state core/pldm: Register OPAL_RTC_READ/WRITE calls back core/pldm: Register OPAL_IPMI_SEND/RECV calls back platforms/astbmc: Enable PLDM support core/init.c | 16 +- core/pldm/Makefile.inc | 1 + core/pldm/pldm-fru-requests.c | 70 +++ core/pldm/pldm-opal.c | 298 ++++++++++++ core/pldm/pldm-platform-requests.c | 749 +++++++++++++++++++++++++++++ core/pldm/pldm-responder.c | 710 ++++++++++++++++++++++++++- core/pldm/pldm-rtc.c | 260 ++++++++++ core/pldm/pldm-watchdog.c | 142 ++++++ core/pldm/pldm.h | 28 ++ include/pldm.h | 27 ++ platforms/astbmc/astbmc.h | 4 + platforms/astbmc/common.c | 34 ++ platforms/astbmc/pnor.c | 25 + platforms/qemu/qemu.c | 6 + 14 files changed, 2368 insertions(+), 2 deletions(-) create mode 100644 core/pldm/pldm-opal.c create mode 100644 core/pldm/pldm-rtc.c create mode 100644 core/pldm/pldm-watchdog.c