From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.136]) by mx.groups.io with SMTP id smtpd.web11.93193.1679629400038898857 for ; Thu, 23 Mar 2023 20:43:20 -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=YLqHrPm1; spf=pass (domain: os.amperecomputing.com, ip: 40.107.220.136, mailfrom: tinhnguyen@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YAHjJVDHwbq4wIBgR2iwcV2GK2Go14OeAt5XxAL5ZtWpiK+IYar0dz0CDt6Gxz1E6fi7nQde9g6f09DnHNhfOdYmfACUo5qbiOerIuv5tU7VyyUWds/exD1NRWizzKAmLYJH5LkGxhdov7h/Ag8lwlF5J+HFw07JoN7ffPiwwlgLDYtCrFDmX179JN+n7gzYLtKsGCqDRVZyFQA1jin2bJ7x/Iw8+WI8WgyjPOuC75gWfQvMzDET5eamB9nRlpZCZWvdAM4WA3h0ZGuRggnJcz4ojetpzKYsIjntQZp0Jsrwvrtc5X+iw2hI1djB0rL4WNQ5Fel0wZVGYqPr+fKr9A== 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=GlPXe+eyzc6Ag8TQpBBnWPqAE89OeOFqmuaoDqJCBlQ=; b=PPHSRZgsEUSt22tI7OU2WCqy0REe6ahCv7J/YBnQCB/gcIfukrWUZZxwR2tMUqbkt99Ps8nJRKBBNXqff6rQfpQUy1XpEY2A0p+JwLxKVtSqQDel0iDZxL/bm3kRcFl8UGbToIZjhyHWLOtn0mK50LkXZ9LK7rEIKUwdREsUzUGnXvxE6tkwbWP+hpkoTagQY+/qMO7mzmb4nxra2UuGlz+wPipESGBixj8oYmz0EiEf3hWn1Ej7VzR1uHclJIuC69ipch013Qeu1SdSRXiXpcuRpAjmEGo6xSXkQdtSXZObWqAKMz+l1MloZ5vaZAY/tPYs2THMJAy8yWoPaZFbAA== 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=GlPXe+eyzc6Ag8TQpBBnWPqAE89OeOFqmuaoDqJCBlQ=; b=YLqHrPm10xRi0ii7L8IqJlohq+3+tsWWZlc1qjB4XAiiCk5XAHqbGetHRAyTWklY4NAQYjaKE/xN/PLRQKShFprzKrBh/JvAhK0W84CVPKv8XK52rJZoVnHrPPOowuKTtVVuq455GEIBkZ5YFP8c0prR5S+4E0Id6BXpa/oYveY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amperemail.onmicrosoft.com; Received: from MWHPR0101MB2942.prod.exchangelabs.com (2603:10b6:301:2e::14) by MN2PR01MB5645.prod.exchangelabs.com (2603:10b6:208:158::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Fri, 24 Mar 2023 03:43:15 +0000 Received: from MWHPR0101MB2942.prod.exchangelabs.com ([fe80::1d06:a51a:ca3d:c2f6]) by MWHPR0101MB2942.prod.exchangelabs.com ([fe80::1d06:a51a:ca3d:c2f6%4]) with mapi id 15.20.6178.024; Fri, 24 Mar 2023 03:43:15 +0000 Message-ID: Date: Fri, 24 Mar 2023 10:43:06 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [edk2-devel] [PATCH v4] MdePkg/Include: Add IPMI KCS definitions To: devel@edk2.groups.io, abner.chang@amd.com Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Nickle Wang , Igor Kulchytskyy , Isaac Oram , Abdul Lateef Attar References: <20230324031554.264-1-abner.chang@amd.com> From: "Tinh Nguyen" In-Reply-To: <20230324031554.264-1-abner.chang@amd.com> X-ClientProxiedBy: SI2P153CA0002.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::16) To MWHPR0101MB2942.prod.exchangelabs.com (2603:10b6:301:2e::14) Return-Path: tinhnguyen@os.amperecomputing.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR0101MB2942:EE_|MN2PR01MB5645:EE_ X-MS-Office365-Filtering-Correlation-Id: 3dcb548b-0fa2-47bd-8804-08db2c19e619 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qT1D2RL230taOBPbLJl+BYi+d/CM1LaRtbERx5UFf1HX7H1tvtOJQeoIgoBSiKKEUxZLpfF18yWjeqiyhEK5T1ZDlYD4KB3Eu5mlFjYbipNaA2wIaHMon71zs0DM8D9MIF2gGrdJdduJXNk1ESYdElRq/0eMKhLDnpGZPKEX7JQcSy0a6F7DV2fpoARtGuLGGEunrbhX7ri3KMFRR+3v2DJwKS2K4r7aj11oyeC8ClGON95FYQLYI6HD7FsxUHyk5KMwwkLkKFZCFMFzLqcnYOvG7JZlrz17Q08EuWVnpf12nCFgYdozW5sS8GT+CKc/4M9ie8rdBgIBkuhyDZycZkl7LAtdbxerUWtyq5ZvPknPm4GVA4vIKQM2XMzoR6L5cdwA7kJcpTsxclTwrUAoKzqaRGxCj6Yr8w4UFLAUXyDUcNNsFUDgKuuMqHLfgOkf5sgWRZ0OPstq12G53nRYzgIL0Y6uKRPx3khfp81xKC+bUefGdZRQE2DjrYTrap2cSZDneXqm4/w7DMH0lA2FRPzcXbi9E2YryJWAkHbKdgdW+U5YGlM9CL/7mUBSvOVWurclxJtv7vQjQ8U6GDJc1v8OQBp8yn7xNBB786iPFNBFH/tfYRzTPJmD2aF7rexypIDaTXPjoPTagwmHJzxzHTTCajQJ1lUcaRj00ygx0HrgNiB7IArG0GJKKZ/E1qCDGNhgK4/DWyVlQ1eNDCKBvqnNE33doCVyJ5hoCHbYcsU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR0101MB2942.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(39850400004)(346002)(396003)(376002)(451199018)(478600001)(83380400001)(2616005)(186003)(26005)(42882007)(966005)(6486002)(83170400001)(52116002)(6666004)(54906003)(316002)(66476007)(8676002)(66556008)(4326008)(53546011)(66946007)(6506007)(31686004)(6512007)(41300700001)(8936002)(5660300002)(2906002)(38100700002)(38350700002)(31696002)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b1IveHFkTUdtck9kdXRHYVZ0MlpNWm9HVVF1N0tWSkNncS9pMnhCZUZJMmli?= =?utf-8?B?Uk5heTZTREZndUZHT0kwVFBtRGtNWlkzdXhaQjErc3BoWW9VbGo5TkY5MVZF?= =?utf-8?B?MVBDQk52RytDSEtHRWg1QjhIMXgzaXpkUFRyTm9XM3BTYzlzVVFkRkJPVGZQ?= =?utf-8?B?YWk4WGFsL0poOHdpeExraXFseVEyKzJveDFuRnNSNEJjOG9BUitlSTZMbVl0?= =?utf-8?B?N2grbndaNWYxa3BBLzBrN1FoUm93c2NCOXBlT0NEVnZzZFBRaFZ6MmpuNEpy?= =?utf-8?B?UHVWWTlER2s4WllzMXVYOTUwOW1aNDZOMXI5VCtzM3kzQXpxVWR1UGNlREhi?= =?utf-8?B?TjU2ekVOV2lBdjF3aG93Yk0wNUtRbEJFb2F6ZHBsZDI3V0s5dEQ4RFpGY0pn?= =?utf-8?B?dFhDdHN2K2c2SWErVUQyQWNYeFczMmJZYXcvNG5YS2JHNlhLZFg5ZnZXTk1F?= =?utf-8?B?VmprbERsdVU0L2Z2bzhibHdwdUdKR2lqMWk0cjV0eExoNmRuVlpaZXdlQUE5?= =?utf-8?B?aWhGUXRnYnNXa0xaUEh1NnkzbFljYlRGc1VkNW0zTWpaR3dVSDlKdUZER3N6?= =?utf-8?B?OHhWcFVtWkZnaDNQd05HWGJxM0tmQnFrLzZHNTcvZUNjakpaVDlEV2tJUGtl?= =?utf-8?B?K1p4enpxUGZkQkZvcU5mdjRxK2hsYTJDMEV0dlNxSzBFVHBEOFNsc2tLd0JV?= =?utf-8?B?VHMvcDhMWUhvdm0rck5lSFJhcC84WituWE1CcXZkaXJsZ1RKcDdzTUpBT2xT?= =?utf-8?B?aStxa0xHMTVUWEgwb1BKVU56NzZOQ3NXUmRwaWFmTi8wSDg0b0ZXRlNWOEU2?= =?utf-8?B?MzExN1V6eDVsajd0OFMxVTRxOWowNE51VnkwMGxMN1d5djkzYVRZdGVEWXpl?= =?utf-8?B?Zmk4cmhpWGlDVjJGSTB6RG1xRGdQT2RyQVRxNGpVTHV2NXg1L3RKeVVOM1Rj?= =?utf-8?B?M05GamllMHAwejJsWWdHWGwwZ2ZndCtpbzlLRGJPRGkxaEhGdmZDYmxobzla?= =?utf-8?B?VCtySHZTRU9xcXF5NGFDczhmUGY5VGd5Y2JQL1lpbHV3ZUhHUmhjT25QZWdX?= =?utf-8?B?aXUwcS9BT3R2eFFjcjV4VDBDSXBXd1V1TEFpdTNQYUVHTnB4cHYvUkxBSUUx?= =?utf-8?B?UFFUZmFyc1hVaUZDNFdRb1h6QURqbTRyYjlQTmIwM1JTRi9oUjhjcXQyMERW?= =?utf-8?B?R0FIaVNSRUVDZ0pQUjZYYnoxR1J2RHZxY2ZZNGtCK2kzeEpmNFJsUHErKzAz?= =?utf-8?B?MlZIV2lkNzBlUGZ1TzdTZEs2VkRKaVBPNHN4VzNSTEk1S3VXNnVseE5UOXlq?= =?utf-8?B?enl3Ylkwbmg3dUNhMkNGWmZaMnN6S2h0WWRwQ1ZRcm5yT2p5TWE5OFd5VEls?= =?utf-8?B?MU5xczdpUmdGVlVib3MwelVFRVV5ei9yVE1tVkF2TjhxMW1XQ0lPQmc1OGhX?= =?utf-8?B?VWVnS2tJS1lrS1RTTWxmSk8raDJld082dVJWRmZYRVNLc3pqYlZMS2hjQ1Ns?= =?utf-8?B?U0NaU3BZeUpudzlWVU5GRlpvaTd0Vmx3ZEdOam14RkJNOU81WTVvZkl4Wk1h?= =?utf-8?B?ZzY5ejV5MzV5cGJKTEhKQStUUFlOZFlaMzhiOElzMnh1MHBqcnRMTlNmc1FR?= =?utf-8?B?OGg5ZnZJQ3p2SjhzY1ZwMFJHelJTejdKV01SSiszUk9udnFyVFpoYzFuQzF4?= =?utf-8?B?SURrRTBBclRjUHE5Ykl3Y2czZDdnV1V0OW1ESVZpWEpDRE9xMldzK3AxMmx5?= =?utf-8?B?eXRmYkdyZVhIMHNMOTFvMkhpa3RocUpEanc5QzB3L3hwUk9nZlhWY3QrUkhD?= =?utf-8?B?WEhGY3VOczd6a3MySWw4WHVmcnAxRVYrS3NPK2FLZXM2ZVZXSDU3L0dtbFFM?= =?utf-8?B?bmo5YUlxWjJCTzRCS1h2MkFoN1I4ZUIzaTgrOFlFZndpT05kWitXekZ1M0hH?= =?utf-8?B?L04vd2hEV251WXJGVXFGNWdaSmN0ZDY5SVUxcUxGS2pUdGV1R1hwSnU2R3dR?= =?utf-8?B?bGhlQ3lYREcxSXVSZEhuMU12NkhMelpkMVBqcnZxTWttWEJmeXMwdEhQdFRK?= =?utf-8?B?MWZUYUZhRUZwY2RmNzl2MC9LZ3RxenN2MmptZlFtN3dDRVRhWGxNUGlvMlVN?= =?utf-8?B?S2tLckNsa1pMRUVwQkx6cjYxNFdFN3E3dEJQZHkvZXFxYkFDTDAvblgrSTNs?= =?utf-8?Q?7RyRpfIgZuGgyyaMa0YsVW/MZXbnBuq3WPNmR0hnbjmZ?= X-OriginatorOrg: amperemail.onmicrosoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3dcb548b-0fa2-47bd-8804-08db2c19e619 X-MS-Exchange-CrossTenant-AuthSource: MWHPR0101MB2942.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 03:43:15.2419 (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: 39McGMVdVKsvQtTL+4SkMh1BZcrdQF26mdi0LcDx1xfdTFRF3KcjJU3jb9BHU9NwdyrtmAD8YW6e4FWPLmtQBeJPhQGjagg2Cw9Y555P7mbPRNkYNpJTuv79J6EvNZbw X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR01MB5645 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 24/03/2023 10:15, Chang, Abner via groups.io wrote: > From: Abner Chang > > BZ #4354 > This change adds definitions for IPMI KCS. > > Spec ref: > https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html > > Signed-off-by: Abner Chang > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Nickle Wang > Cc: Igor Kulchytskyy > Cc: Isaac Oram > Cc: Abdul Lateef Attar > Acked-by: Isaac Oram > --- > MdePkg/MdePkg.dec | 6 ++ > MdePkg/Include/IndustryStandard/IpmiKcs.h | 76 +++++++++++++++++++++++ > 2 files changed, 82 insertions(+) > create mode 100644 MdePkg/Include/IndustryStandard/IpmiKcs.h > > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec > index 2d643bede1d..5cf04bc0cb6 100644 > --- a/MdePkg/MdePkg.dec > +++ b/MdePkg/MdePkg.dec > @@ -9,6 +9,7 @@ > # (C) Copyright 2016 - 2021 Hewlett Packard Enterprise Development LP
> # 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.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -2342,6 +2343,11 @@ > # @Prompt Memory Address of GuidedExtractHandler Table. > gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|0x1000000|UINT64|0x30001015 > > + ## This value is the IPMI KCS Interface I/O base address used to transmit IPMI commands. > + # The value of 0xca2 is the default I/O base address defined in IPMI specification. > + # @Prompt IPMI KCS Interface I/O Base Address > + gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress|0xca2|UINT16|0x00000031 > + > [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/IpmiKcs.h b/MdePkg/Include/IndustryStandard/IpmiKcs.h > new file mode 100644 > index 00000000000..1e1be787617 > --- /dev/null > +++ b/MdePkg/Include/IndustryStandard/IpmiKcs.h > @@ -0,0 +1,76 @@ > +/** @file > + IPMI KCS Register Definitions > + > + Copyright (C) 2023 Advanced Micro Devices, Inc. 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_KCS_H_ > +#define IPMI_KCS_H_ > + > +#define IPMI_KCS_STATUS_REGISTER_OFFSET 1 > +#define IPMI_KCS_COMMAND_REGISTER_OFFSET 1 > +#define IPMI_KCS_DATA_OUT_REGISTER_OFFSET 0 > +#define IPMI_KCS_DATA_IN_REGISTER_OFFSET 0 > + > +/// > +/// IPMI KCS Interface Status Bits > +/// > +#define IPMI_KCS_OBF BIT0 > +#define IPMI_KCS_IBF BIT1 > +#define IPMI_KCS_SMS_ATN BIT2 > +#define IPMI_KCS_COMMAND_DATA BIT3 > +#define IPMI_KCS_OEM1 BIT4 > +#define IPMI_KCS_OEM2 BIT5 > +#define IPMI_KCS_S0 BIT6 > +#define IPMI_KCS_S1 BIT7 > + > +/// > +/// IPMI KCS Interface Control Codes > +/// > +#define IPMI_KCS_CONTROL_CODE_GET_STATUS_ABORT 0x60 > +#define IPMI_KCS_CONTROL_CODE_WRITE_START 0x61 > +#define IPMI_KCS_CONTROL_CODE_WRITE_END 0x62 > +#define IPMI_KCS_CONTROL_CODE_READ 0x68 > + > +/// > +/// Status Codes > +/// > +#define IPMI_KCS_STATUS_NO_ERROR 0x00 > +#define IPMI_KCS_STATUS_ABORT 0x01 > +#define IPMI_KCS_STATUS_ILLEGAL 0x02 > +#define IPMI_KCS_STATUS_LENGTH_ERROR 0x06 > +#define IPMI_KCS_STATUS_UNSPECIFIED 0xFF > + > +/// > +/// KCS Interface State Bit > +/// > +typedef enum { > + IPMI_KCS_IDLE_STATE = 0, > + IPMI_KCS_READ_STATE, > + IPMI_KCS_WRITE_STATE, > + IPMI_KCS_ERROR_STATE > +} IPMI_KCS_STATE; > + > +/// > +/// IPMI KCS Interface Request Format > +/// > +typedef struct { > + UINT8 NetFunc; > + UINT8 Command; > + UINT8 Data[]; > +} IPMI_KCS_RESQUEST_HEADER; I mean, there's a typo here, IPMI_KCS_REQUEST_HEADER > + > +/// > +/// IPMI KCS Interface Response Format > +/// > +typedef struct { > + UINT8 NetFunc; > + UINT8 Command; > +} IPMI_KCS_RESPONSE_HEADER; > +#endif