From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.122]) by mx.groups.io with SMTP id smtpd.web11.123046.1683014984442095699 for ; Tue, 02 May 2023 01:09:44 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="no key for verify" header.i=@amperemail.onmicrosoft.com header.s=selector1-amperemail-onmicrosoft-com header.b=zPCzqA2+; spf=pass (domain: os.amperecomputing.com, ip: 40.107.94.122, mailfrom: tinhnguyen@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=grUt8GRWSbw5mJojagH7axl8++ZEh8NP135CN6F7Hzfzg0J9P/1HUAGZB3/HWCKG8U2DVcIpeHwmrrsBr0b3kkP2cinJBiJFG+kKeoGpXJ/eOdFrIgnxB5n1WSaeNVlVCHfR7/Qz7RJAk+k3GVRJ2mxTUucDjFVHb1CE/0znHSQSpmvliTYSA42nuWGTvy8pCRDYVPYIF253+YuWbcuKJ/JEdl5VSvb07AY+J2ycdf+1O5xJugRyybtUhYcHR1qh6bK8Gn/P13Z3BaaMg6icML8PKOUz4jeYfXCYx8amNlS/EOxShVDqjlM/ERt4aDCheouOAdXUezehsGo+fR2Eyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9wMwDT+jjfiTzv3Lzmrn+n/INgr8M2yFQeA+W5vt34o=; b=naGyCG4trFz1Ln2Edq6R6h/yi6HxgSmiGq3UVZkGdX4uX3uj9WIsrjgpMwchp5p/78rQsYic2IJTslRTqvfu8PhWBX6cNNUwq2d5V8vcc///sDr8kwz2C7bxZxzNDdYPO+/Rc3Ue+VrvwM63XJP2zOwZdZisV5VChN9YCi9D+Ft2Z8gzLSGZdtaLZ5E6qAEQkdA3R5coOFSxGhCwUyeD6bOtuGQ65Kn+FutNRIJgB1vCgyt7zOAGWDPX3OYNbfu1YNFeY9CC4XrV3nj4USk2UpBr7uojI9y1nOYmLx3KpANF+fKZxb3uXypqSA7ogCx8ccyzmSIQkcygMCxKiiuo+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=amperemail.onmicrosoft.com; dkim=pass header.d=amperemail.onmicrosoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amperemail.onmicrosoft.com; s=selector1-amperemail-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9wMwDT+jjfiTzv3Lzmrn+n/INgr8M2yFQeA+W5vt34o=; b=zPCzqA2+laypRp69HAnUewNUoJMrUAvzIfuJnGfsUs5x9geRv6JKncQnZfoGYYdz++dIwN1sejv1KiVlm1WTftdHlqlqZeL7oAsWM4lJ/7iNQwuaWtIildaBXKYLDiROeUqgrvjwqyTRiyQE9PzYGynjetslwSMugaQefRme+t8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amperemail.onmicrosoft.com; Received: from DM5PR0102MB3336.prod.exchangelabs.com (2603:10b6:4:9f::11) by BL0PR0102MB3506.prod.exchangelabs.com (2603:10b6:207:1a::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.30; Tue, 2 May 2023 08:09:40 +0000 Received: from DM5PR0102MB3336.prod.exchangelabs.com ([fe80::bb9e:46d1:ae4b:caf2]) by DM5PR0102MB3336.prod.exchangelabs.com ([fe80::bb9e:46d1:ae4b:caf2%7]) with mapi id 15.20.6340.030; Tue, 2 May 2023 08:09:40 +0000 Message-ID: <517169d4-095b-d574-879e-1356f191ee23@amperemail.onmicrosoft.com> Date: Tue, 2 May 2023 15:09:32 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: [PATCH 1/2] MdePkg/IndustryStandard: Adds definitions for IPMI SSIF To: "Chang, Abner" , Tinh Nguyen , "devel@edk2.groups.io" Cc: "patches@amperecomputing.com" , "michael.d.kinney@intel.com" , "gaoliming@byosoft.com.cn" , "zhiguang.liu@intel.com" References: <20230428035940.1765700-1-tinhnguyen@os.amperecomputing.com> <20230428035940.1765700-2-tinhnguyen@os.amperecomputing.com> From: "Tinh Nguyen" In-Reply-To: X-ClientProxiedBy: SI1PR02CA0043.apcprd02.prod.outlook.com (2603:1096:4:1f6::19) To DM5PR0102MB3336.prod.exchangelabs.com (2603:10b6:4:9f::11) Return-Path: tinhnguyen@os.amperecomputing.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR0102MB3336:EE_|BL0PR0102MB3506:EE_ X-MS-Office365-Filtering-Correlation-Id: dc94683a-8152-4749-86d4-08db4ae49448 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cJSEEFarSoAVDRbNdwXk1+Nm3OhFsnSuVxAvJvpy4PoM3c+yg147o7pxDWpF34ro0ZJOY48VFZqtebTgaSB2Tr3W3nja7g9Qjw26GqKIMerleSuuhbB/GcKYoL/85+dG6pKdZZ0WBunqT5N9Z0dJspZmgrzrJdZIU/3YvO2vXqst4Ky6eCCQw8B1nDYhiQ26wZbMu4zBGs6WK7FxIGfHVB+0QhZTDiB5VRE7Y2DKEhQAccczE+5wahw+3PmLNaWZQL5ghilAbvXaq++yDkZ483EwkjHpCrUHPOdUbKsPQeLpiAmRbaCARKynIAor+FmVbubCrv6nAZKCEYV5FZ04bMb+WXIcy5urpZvkiIDtYVdT/cAACEW5UHqjbsYYrfBGKdUTEQebLjNcdImvHIV+7P16bw0PfauuXDpxZAi5Gv4zj23KACFrD29GJtNaSdiEs/c1YHRhMqzZSny8i0DYpla7iKFff/gRS44C3vftqBlm4QvUB4Fm+HkvILWFxYOGsqcdSz4P20vsjwxAM/s/UdU8zX9MlSOOEczzU1UMl9GjQJLzgYHLmK59TKHYbD36ldFqTKvo1bjFFC8/XqJB20SumYXmxBbq0grWWwn6YVU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR0102MB3336.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39850400004)(136003)(366004)(396003)(346002)(376002)(451199021)(2616005)(83380400001)(478600001)(31686004)(186003)(54906003)(4326008)(66476007)(66946007)(66556008)(110136005)(42882007)(966005)(53546011)(6666004)(6486002)(6512007)(6506007)(26005)(316002)(83170400001)(8936002)(8676002)(5660300002)(41300700001)(2906002)(38100700002)(31696002)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cUNGQ2dTYVFQbmdCNXpSUzdob1UraEJhcjdFMllDWU1scTlGaXFtN3BCTkpM?= =?utf-8?B?azJQM3lOR3BWK0VndFhlOTdmb3hYUjg0NWxZS2s1bGV1T1YwTE5ld3NKcWhS?= =?utf-8?B?SWQwWVc4S3N3ckhsUStOMTZlMkthaU5yQjlkODVIVG5zaUxHODBDMTRJTk5x?= =?utf-8?B?Wk1RK255akd3UGhUR3R1Y2ttODd3TnVUTksyQzlyTkdrQTB6UnNISnNUK2U4?= =?utf-8?B?dXJITnJLNS9mT2RVTHQ2YSs5VTk5cUFuTlhTd21JREhhNXBlWlFEcXJpR1Vs?= =?utf-8?B?cVBSbk9iSGRacXJEWnJYb3drdnFZc1VwWkhRU2ZxVmpEdFZycTd0dXBYQ0VK?= =?utf-8?B?dWlqODJ0V21qMFJza3lwMEdmZGNHdDhhekNMN0xsVjR1R2ZSNEhwU29XaDVW?= =?utf-8?B?dURmQ2JkeW8yTis4Nk05cGQvbEo5REtKYXdIUHhDWkxobmhhandKaEw3cWpD?= =?utf-8?B?bGI2Y1NNTVFyUmJtR2svc2NwZlJBQXJKTzZ4V21mY1RwK3d0QzVOWU9oK0Jm?= =?utf-8?B?emRPVlI4YzdUK1FIZnhVaHZQL0x5MTJ6OUdUbTRTd1hJR3lraFNmQUdYWlQv?= =?utf-8?B?dm1pMHg3NVdiOGorVCtrUUIzOVhkSkNGNUtYbkxPOXBOaXF4cGRVQVdIa3g1?= =?utf-8?B?ODZlZVM5Z0QxTjhsZFdva21ieXVJMHVmZUdyMGEvbGhrK0lPcmU1YVI1eEJP?= =?utf-8?B?Q0l0TVl3WDJoeUNyMU9rL2F5THAzOWJoQXZuTjZaQSt5c0FuTnR4ZlEzRElr?= =?utf-8?B?SU5oN3htR1NDZWgzNExzNGNULzRzWjcwU2x3b2ROVHpFbCtzQU1PYndzcmsy?= =?utf-8?B?bW5JWVBoWUVPMTZoY1pJZ0JXZFJYWHJhdURxTGRWMmtJYXovbHpmTzBabjFI?= =?utf-8?B?c1lHNlVCSzNJNTlveEZseWJQNEVHMHMxS0J2ay9nc0QvQUY1Y20xN1VxRmg2?= =?utf-8?B?WlZTUHlIR05QRERlWU1YbW11blMvZDFCZUllVHBoQ2NwajZKUzMrN2Voemgx?= =?utf-8?B?akZDTlVFcHBUS2lwTjRHcVM1c2hWV0t0VUEraGRTTVpHQWNsbGpzdGVLWFVp?= =?utf-8?B?c0xhWlVTWXpNMnNoOWFGYjVaT1l3eUVKZmZvWVRlbk9xWGJXMmlpMEJmbEhi?= =?utf-8?B?NUhkQUYvaVQvS0hudjVpL0lhQXNPNTk2R2hQUzBGR21WcForMHRKNm05T3Rs?= =?utf-8?B?WFM2ZWw3OTNWZFI3Mkg3czdSakhaNS9Hb0pKZnNvQkx2NENmUXpvQUxGQ0tD?= =?utf-8?B?S1pSYVFOdjlzdExraHNkNFVUd0lrRTVMR0c5Z1lTQkJKbU5aZTQ4c1laNkxR?= =?utf-8?B?dXB3YitaeTNtOHVvNXBVZXRVRHBUTmtHcmF0UlRjV29Ha3ZrZ0FHZ0ZmNDlu?= =?utf-8?B?RTl6UStUSndoSFU0ejh5bjRtc0tCUUthTDlUaUVpMzM2NW03R0c4ZUw4Zy9R?= =?utf-8?B?U1Bnem80aHhWb1VCSmlJSE5QRjJBZ3lRNTFUQnJFYTZvcXFhT1UxeTltblo0?= =?utf-8?B?VStydHJNWFRLQlBVL0Y2NDdGZ1V4NlBGR0dFRDBzcTV1b29HZWdQeWdxMC95?= =?utf-8?B?M1ltQ2lqSGRvemZLck9IUTgwKzhEM1VpeDZ1TXQxYTRFZk5vMkcvbGFBYWxq?= =?utf-8?B?NGZKRStvc2wremY5K2w5VUZRbWVkZVlwb0x0RjVxK20rdWpKdU5tVVd1UEhI?= =?utf-8?B?UXpZcDFxbW5HRmlRUUNBU1VxMFRQdG5yN3hqL2l4eUxGRmF0OE16Z2ZWcWd4?= =?utf-8?B?V21aak9sZHlnM3JueURQcENvc05HMzJXdE1YL2VwY2hqSXJWRTlpajlNZGZR?= =?utf-8?B?OG9JOWZ4THM3VjVBclNtVkxFMEt0TVZnZHhzOEIrY0ZucDh0TnRRY1dNVGs2?= =?utf-8?B?NHdYM1Z2ekNjTEo4RXdkS0tNU0dTNE1tbDhOOUUxMko4UlZwN2dlRC9scnFV?= =?utf-8?B?QVVSZThCc0ZUTHcwd1ZXSVIwTURCOTRvcDI3Y0R6bmpxVGsyOEJkeWkyWmV2?= =?utf-8?B?ZExob2hUU24rUHVXR1JZSWlZdVRaRUxzRnRCVEZ5YnZNWi9nU0tHRWd0Zkh0?= =?utf-8?B?UGtWSTNNYjdTQjVMVTNLSUlBUCt4UXdEdjdxWTFFM2dqYzhnNnFFM2FmNWRt?= =?utf-8?B?cXNOOXVVUVAyOXFMcGVUVWQxUExIemN2b1FHYzlGa1JlWFoyZDZOZytUV2Ix?= =?utf-8?Q?i/gcms96AzGPkR49RCLDtH4=3D?= X-OriginatorOrg: amperemail.onmicrosoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc94683a-8152-4749-86d4-08db4ae49448 X-MS-Exchange-CrossTenant-AuthSource: DM5PR0102MB3336.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2023 08:09:40.7833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EP+0eHKEw3dSzSR7MQIRN6yEx9wrNegUydBZFoUouAqLKpBNUPWkh2uprPDFgIY3SlC5dcm8UBdCvfujqlKe/+QtJ6xUfvzWYVZHUwTvgOmsyywjuX/VkTtXpputh8LD X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR0102MB3506 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Abner, On 29/04/2023 10:22, Chang, Abner wrote: > [AMD Official Use Only - General] > > > Hi Tinh, > Below is my comments, > >> -----Original Message----- >> From: Tinh Nguyen >> Sent: Friday, April 28, 2023 12:00 PM >> To: devel@edk2.groups.io >> Cc: patches@amperecomputing.com; michael.d.kinney@intel.com; >> gaoliming@byosoft.com.cn; zhiguang.liu@intel.com; Chang, Abner >> ; Tinh Nguyen >> >> Subject: [PATCH 1/2] MdePkg/IndustryStandard: Adds definitions for IPMI >> SSIF >> >> Caution: This message originated from an External Source. Use proper >> caution when opening attachments, clicking links, or responding. >> >> >> Specification reference: >> https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/i >> pmi-second-gen-interface-spec-v2-rev1-1.html >> >> Signed-off-by: Tinh Nguyen >> --- >> MdePkg/MdePkg.dec | 26 ++++++ >> MdePkg/Include/IndustryStandard/IpmiSsif.h | 98 >> ++++++++++++++++++++ >> 2 files changed, 124 insertions(+) >> >> diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index >> 7488ccda7a00..518e4200e9af 100644 >> --- a/MdePkg/MdePkg.dec >> +++ b/MdePkg/MdePkg.dec >> @@ -10,6 +10,7 @@ >> # Copyright (c) 2022, Loongson Technology Corporation Limited. All rights >> reserved.
# Copyright (c) 2021 - 2022, Arm Limited. All rights >> reserved.
# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights >> reserved.
>> +# Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
>> # >> # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -2353,6 +2354,31 @@ >> [PcdsFixedAtBuild,PcdsPatchableInModule] >> # @Prompt IPMI KCS Interface I/O Base Address >> >> gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress|0xca2|UINT16|0x00 >> 000031 >> >> + ## This is SMBus slave address for the SSIF to the BMC. >> + # The recommended value defined by IPMI specification is 0x20 (section >> 12.12). >> + # @Prompt IPMI SSIF SMBus slave address >> + >> gEfiMdePkgTokenSpaceGuid.PcdIpmiSmbusSlaveAddr|0x20|UINT8|0x00000 >> 032 >> + >> + ## This is the maximum number of IPMI SSIF request retries. >> + # The IPMI specification specified min value is 5 (section 12.17). >> + # @Prompt Number of IPMI SSIF request retries. >> + >> + >> gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifRequestRetryCount|0x05|UINT8|0 >> x000 >> + 00033 >> + >> + ## This is the required interval for each IPMI request retry. >> + # The IPMI specification specified a time range of 60ms to 250ms (section >> 12.17). >> + # The default setting is min. >> + # @Prompt Time between IPMI SSIF request retries. >> + >> + >> gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifRequestRetryInterval|60000|UINT3 >> 2| >> + 0x00000034 > Please give the unit to PCD name, for example PcdIpmiSsifRequestRetryIntervalMicrosecond that looks more clear to readers. > Yeah, it looks good when adding this >> + >> + ## This value is the maximum retries of an IPMI SSIF response # >> + @Prompt Number of IPMI SSIF response retries. >> + >> + >> gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifResponseRetryCount|250|UINT8|0 >> x000 >> + 00035 > Is 250 times of retry defined in spec? Seems to me it is too many? The specification does not define this value. But the current SSIF driver into Linux is using 250. We should use the same value with Linux; it helps BMC handle the retry from the host easier. > >> + >> + ## This is the required interval for each IPMI response retry. >> + # The IPMI specification specified min value is 60ms (section 12.17). >> + # @Prompt Time-out for a response, internal >> + >> + >> gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifResponseRetryInterval|60000|UINT >> 32 >> + |0x00000036 >> + >> [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] >> ## This value is used to set the base address of PCI express hierarchy. >> # @Prompt PCI Express Base Address. >> diff --git a/MdePkg/Include/IndustryStandard/IpmiSsif.h >> b/MdePkg/Include/IndustryStandard/IpmiSsif.h >> new file mode 100644 >> index 000000000000..4a97438109a9 >> --- /dev/null >> +++ b/MdePkg/Include/IndustryStandard/IpmiSsif.h >> @@ -0,0 +1,98 @@ >> +/** @file >> + IPMI SSIF Definitions >> + >> + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
>> + SPDX-License-Identifier: BSD-2-Clause-Patent >> + >> + @par Revision Reference: >> + - IPMI Specification >> + Version 2.0, Rev. 1.1 >> + >> + >> +https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ >> ipmi >> +-second-gen-interface-spec-v2-rev1-1.html >> +**/ >> + >> +#ifndef IPMI_SSIF_H_ >> +#define IPMI_SSIF_H_ > An additional whitespace between "#define" and "IPMI_SSIF_H_". will add in v2 > >> + >> +/// >> +/// Definitions for SMBUS Commands for SSIF /// Table 12 - Summary of >> +SMBUS Commands for SSIF /// >> + >> +// Write block > Please have a consist comment format "///". > thanks for remind - Tinh >> +#define IPMI_SSIF_SMBUS_CMD_SINGLE_PART_WRITE 0x02 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_START 0x06 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_MIDDLE 0x07 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_END 0x08 >> + >> +// Read block > Please have a consist comment format "///". > > > Thanks > Abner > >> +#define IPMI_SSIF_SMBUS_CMD_SINGLE_PART_READ 0x03 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_START 0x03 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_MIDDLE 0x09 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_END 0x09 >> +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_RETRY 0x0A >> + >> +/// >> +/// Definitions for Multi-Part Read Transactions /// Section 12.5 /// >> +#define IPMI_SSIF_MULTI_PART_READ_START_SIZE 0x1E >> +#define IPMI_SSIF_MULTI_PART_READ_START_PATTERN1 0x00 #define >> +IPMI_SSIF_MULTI_PART_READ_START_PATTERN2 0x01 >> +#define IPMI_SSIF_MULTI_PART_READ_END_PATTERN 0xFF >> + >> +/// >> +/// IPMI SSIF maximum message size >> +/// >> +#define IPMI_SSIF_INPUT_MESSAGE_SIZE_MAX 0xFF >> +#define IPMI_SSIF_OUTPUT_MESSAGE_SIZE_MAX 0xFF >> + >> +/// >> +/// IPMI SMBus system interface maximum packet size in byte /// #define >> +IPMI_SSIF_MAXIMUM_PACKET_SIZE_IN_BYTES 0x20 >> + >> +typedef enum { >> + IpmiSsifPacketStart = 0, >> + IpmiSsifPacketMiddle, >> + IpmiSsifPacketEnd, >> + IpmiSsifPacketSingle, >> + IpmiSsifPacketMax >> +} IPMI_SSIF_PACKET_ATTRIBUTE; >> + >> +#pragma pack (1) >> +/// >> +/// IPMI SSIF Interface Request Format >> +/// Section 12.2 and 12.3 >> +/// >> +typedef struct { >> + UINT8 NetFunc; >> + UINT8 Command; >> +} IPMI_SSIF_REQUEST_HEADER; >> + >> +/// >> +/// IPMI SSIF Interface Response Format /// Section 12.4 and 12.5 /// >> +typedef struct { >> + UINT8 StartPattern[2]; >> + UINT8 NetFunc; >> + UINT8 Command; >> +} IPMI_SSIF_RESPONSE_PACKET_START; >> + >> +typedef struct { >> + UINT8 BlockNumber; >> +} IPMI_SSIF_RESPONSE_PACKET_MIDDLE; >> + >> +typedef struct { >> + UINT8 EndPattern; >> +} IPMI_SSIF_RESPONSE_PACKET_END; >> + >> +typedef struct { >> + UINT8 NetFunc; >> + UINT8 Command; >> +} IPMI_SSIF_RESPONSE_SINGLE_PACKET; >> + >> +#pragma pack () >> + >> +#endif /* IPMI_SSIF_H_ */ >> -- >> 2.40.0