From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (EUR02-AM5-obe.outbound.protection.outlook.com [40.107.0.61]) by mx.groups.io with SMTP id smtpd.web09.6793.1628003698508682095 for ; Tue, 03 Aug 2021 08:14:59 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=3XaS2iDf; spf=pass (domain: arm.com, ip: 40.107.0.61, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hqgCgOnniuAko1OLqJzlJbNzFUzManRnb+965RmxTWE=; b=3XaS2iDfzRCUcQKBEW05/UYGd34b1NWgdcODXbArcTttn1wDbdOU5m9yQip4njtlSYInepgspe+rRU5e6mR++gbjuG2Uy/jkZ08HktvmYp/KPcsfyjcVt9nwlrpdmJTjvZNrKqOHOkhO/PfRngdKt70Qa/BhwhsmmFjjj5i5QNs= Received: from DU2PR04CA0244.eurprd04.prod.outlook.com (2603:10a6:10:28e::9) by AM0PR08MB5332.eurprd08.prod.outlook.com (2603:10a6:208:17e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Tue, 3 Aug 2021 15:14:55 +0000 Received: from DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:28e:cafe::7b) by DU2PR04CA0244.outlook.office365.com (2603:10a6:10:28e::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 15:14:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT026.mail.protection.outlook.com (10.152.20.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 15:14:55 +0000 Received: ("Tessian outbound 79bfeeb089c1:v101"); Tue, 03 Aug 2021 15:14:55 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 425d26d8da0c8a20 X-CR-MTA-TID: 64aa7808 Received: from 0ffbe8e8bf5b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B5A439ED-2F86-4F81-8C10-27DC1BBAD8AB.1; Tue, 03 Aug 2021 15:14:44 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0ffbe8e8bf5b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 03 Aug 2021 15:14:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WZLzTaJXSH8LF32WKj4IkuWIUBKvzW80Gt7c2V03uouVC5Aw+hlSFNqujLqBkBvdsIGh/M2VqxnLq/EHxrUQXpaAhDr0kOQZfvqr0OSEoCj3NSw6uO0nDkAT1XXJABgzflP5oZf6Kk1S/7kdvpcQANIcDfaYnP3+MpYdeZBA3liziQQpcPlSWGgBpkp+LZKVuJdW6+quzGZm3NdwQI66T9JASkIKee5JgfNcTv3JIDPisuMZbvcosycZuJ+vFV/TDUskgDpumRlnPistbE1ecycHDpprgiuGRFEe4mIOnUDsOF9bPXTvQPOln/idgtTXr9+tyYW8+KcG3uYl1fTdcA== 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-SenderADCheck; bh=hqgCgOnniuAko1OLqJzlJbNzFUzManRnb+965RmxTWE=; b=b0BmL801DauGALNMAwqmJ4m3Bqjm+1Mvo6PO/CQAzdGBM0oKHQ72yOAKUACELIj5WacyIpELJN0SG5yyA4IjRi6oe/RhQ5CpVWpfEkGq+xEe8V+mXgy/0HPaG781HNnYo/e4tIs5s4qRzVqBzwOorvTTQTwv++Owz+4s5BzW1cN6UTerXl6oFTXfUyDZgaSVB+ckwTW/vSRhDqilGX0+8nTZtXNDj3CThJEcaFwy1nZlFDWUo5Xr8Zr6sE7Ckhz0U/AAK79m3XIViJDW8Vky1cp8LeLWuCFiaMRIm+6Eo8AiD1n4u1iwWDVmFm+xPkstiKF/DanDyYtmNiQWXZAMkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hqgCgOnniuAko1OLqJzlJbNzFUzManRnb+965RmxTWE=; b=3XaS2iDfzRCUcQKBEW05/UYGd34b1NWgdcODXbArcTttn1wDbdOU5m9yQip4njtlSYInepgspe+rRU5e6mR++gbjuG2Uy/jkZ08HktvmYp/KPcsfyjcVt9nwlrpdmJTjvZNrKqOHOkhO/PfRngdKt70Qa/BhwhsmmFjjj5i5QNs= Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM5PR0801MB1777.eurprd08.prod.outlook.com (2603:10a6:203:3a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Tue, 3 Aug 2021 15:14:43 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ca6:6171:e2f1:3d40]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ca6:6171:e2f1:3d40%4]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021 15:14:43 +0000 Subject: Re: [PATCH v2 0/4] ArmPlatformPkg: Add support to generate HEST ACPI table From: "Sami Mujawar" To: Omkar Anand Kulkarni , devel@edk2.groups.io Cc: Ard Biesheuvel , nd References: <20210710161831.30433-1-omkar.kulkarni@arm.com> <46e245b1-3aba-3950-bdc8-f50da7c57e3c@arm.com> Message-ID: Date: Tue, 3 Aug 2021 16:14:41 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <46e245b1-3aba-3950-bdc8-f50da7c57e3c@arm.com> X-ClientProxiedBy: LO2P265CA0138.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::30) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [10.1.196.43] (217.140.106.54) by LO2P265CA0138.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15 via Frontend Transport; Tue, 3 Aug 2021 15:14:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b37d2349-b9a6-46d8-e71c-08d956917369 X-MS-TrafficTypeDiagnostic: AM5PR0801MB1777:|AM0PR08MB5332: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: fhe67heU7+TZNK7UYN3GFPQZ1HR612WudS4kYkt1XJ3kDbutooLnQGWSNM1GYMZoswd5BmCjoZEkDEyhLMBrTPzK6LPMR8nrAEjNruXri7wB40VJBDp7DT2MX2dUgsuWM/+Ilx+IrVMzuM6VMtQp3holAF+1YQlq8k4pPBL8jCIZ+i/XBu86kdOs5PNxd/9zQXHM7vRUU+GSy5OeKSLvJwzRpqVFn2t7wcN6a+3KYhww+4N22iti57KEoF9IG7D4Iqr/OA/4g2SRzJPnXe1cfxFIuxjqGBJsnamzJQN+n/RYy4Q4h5vAUgtMMhvpqVShvOjjR5HDz7qUXSpWsl4BD3wpzqA1YV4KMOWLYVvcoWStafHwnp4Cq0bB09K7tmIJ58Z0vQ4/ptygQIFSxCQhBBedCk09AEanjoKgRdxJsVwkBlECNsmNPIYhfoEthzLn1hAyXaP3PRB1hRTQozg4YFz0U/oKxwD9N7Z9agM7IMEwbcVcvKfKka8Eb1vCP9A2fC31gU8LAydsZlnTAbEsPVxQAdN5waQS8E2izTDd5vjFssvQ8/N6hUX9J5SDQNtL0W6b3A0zjamHVbWKNz39vpUm1uU1c4+Rnf8vovcdKHvQ5x7vHA8Xl6Ikpr51gJF3F1KOM7p7yRhJxj/GrW9n4Umwk/Az2KK9Hy9M0gx2o/dDhnoI/ez2DV+LC6lthnsPxw5jLgMgWoV1y5C/nwh9k1ESc13PKayNoFFu1gZE2lpS4hReuR63fZu28U8FeQdEUY6X/a5HPVuhUxf+s073mzuFIJ03zTqWYSzcI/B3YWx4IOOP8fy6liD5vfLgSz+ct42I9Knfp1ZIGsu67j4nmLlizH3n2t06t3NWhYnPtj0= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(136003)(396003)(39860400002)(366004)(376002)(16576012)(316002)(44832011)(83380400001)(36756003)(8936002)(6486002)(52116002)(31686004)(54906003)(2616005)(38350700002)(2906002)(38100700002)(956004)(478600001)(5660300002)(186003)(66476007)(31696002)(53546011)(66556008)(66946007)(26005)(4326008)(966005)(86362001)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?emFIamFYQThRTERUM3ExSlZ5amsxaGtVdXdLTWxCMzhkc1dLcUJ1VUZwUnVK?= =?utf-8?B?ZzN2Mzl1bk5ISWRSNlRPQ2s1OExyRkx5T1NxSDM1UTFEOEdldU9UcFNxRjU1?= =?utf-8?B?Mzl6T3RrQUFqdHRWQ1FBNkF0dHJwSitBVjdJeXRsaERzZVZoclkxVUtnSWxI?= =?utf-8?B?R252SURxY3JGTWdQL05NbGkzMUcySE9hc0tNZmU1T0ZYVXlVeitsNFlqallR?= =?utf-8?B?azk1dlc3Y1crMGN5VG1zN0d4V0p1SHVXR3ZEZC9nVVdVSkgvQzFiN21IT1Qw?= =?utf-8?B?ZUpwREdEaGVHaXB6cjBUQUNUOW11aHJPMS9STFVNWEQ3cEFMeGVZUTA3eTB4?= =?utf-8?B?YkVobEFrUU9pcU1QTVdGMk1DblV4RFRLT0VZa2dld0s1RHN4enhSTnB5U1JL?= =?utf-8?B?eFlTOVRGUmUzQ2RJRTZ6THAwU29laW80ZHBDbno2MkJqZWtLNmNSZHVkMGdw?= =?utf-8?B?YTIwYk5hWmV5OURRcCt6M3RUajNzVWdaTk80Rlk3ZDdOZlZJYjlGb2RHRlRv?= =?utf-8?B?c3dzdVVMWlByZnp2VTduRUF3QjdmV0N0WFg0SkVNSVlBOXgwWG44cDNZa3do?= =?utf-8?B?ajUzMUdaYzR5K3JSdjBTcjFhK2x4RFRXWGpQRzY2Y1M2SS9xVDB1OXRVcWdz?= =?utf-8?B?U2RiTjVoMDF0VXVnb2JqbHpRRDJ4NHdMbi9jWDBJUWUxeHFjSHJTQWhxdnJk?= =?utf-8?B?d1c5cWtKNjhtdGhjcmhCOEpyeVpzSlN5WmhYZUdDOHFxbDlzQStzRjc3L3d2?= =?utf-8?B?MEtHMGVlOTYrQllyWEdhaGpoZnEyUURqUGVWYnNaV1NRZ3RzQlJHRlFHRzF1?= =?utf-8?B?Z1NyWE5jYnBQNXVZK0EwbjhJNGJQR2FTNm9wbzMwTnVaMGFHUTlvMUZReUIz?= =?utf-8?B?OTZEa2Jvc3FZdDZXQjQvYUtieXJlN2prU3MzUlZTWWh0UUpWc3VpbUZmMUhS?= =?utf-8?B?NVRoM05JRCswMTVDTS9WM0UvdStSbUVTaXpzeTBQMnJEKzZNOW1XNk10MHdZ?= =?utf-8?B?SEtIUDVBaTVCNGlJU3ZzeTJJQmhvTUxIV0R3dFNmYzNVN3lITmJZaEo1TWk3?= =?utf-8?B?UVF6MjhHeVpFbFpvak0zRmpwNEt5TkhlZnNISmUyLzBzVXB0M0dhejJRc1V4?= =?utf-8?B?RVlPYURDY1hUSDVBcTRwV3lSNFdkQVc2SzI3MEdoV09rQmNiK0FUZXVDd3BN?= =?utf-8?B?b25mSXpVUWo0SEFGcmY1VnJaY3N0cWVWOW1EVkxDV1FIeXRJWUVVZHBKSDMr?= =?utf-8?B?QStGa0d3Sk5QMk5OQXYyQ0w1S3dkYnpHWUEwd0RYMzVHeWlMMXlrVkkrMDZk?= =?utf-8?B?aEN4bUxsTUpTb3hDYVFKQ0xOREMzYURlK3IrWXN2cVZBY3NoM1BsQ2EyNDVE?= =?utf-8?B?anBMcmFOcFpaRUxBVW5SVVRPRXpwNjJqR0s4NDlMeU1ibGpPTStEbGdnNFhJ?= =?utf-8?B?T0ZLWUk3YlkrTytNaEZhQk80cDNMalVhY3AxUktOZUdKRzhweDRIUTBpT3B5?= =?utf-8?B?enJmdCtudUY0WFlJQWEwNGpwcXZILzV6RzhGWGcxUHQvL0daMzdVWmpudDJ5?= =?utf-8?B?Q0t6YytlbjVTQjR5TmFZTjRaVkhmTUZyUEg2QkVJcDNYWVVBZDhCNDArU3NN?= =?utf-8?B?UnBFbitnTnRPcmNxbGpDR1U3NXpNMnAvc1podmV6OXNiZUNpczVjajZGWjY2?= =?utf-8?B?SFY3cllwZUVPaGkzSUdhbEpKU2RUU2RYOCtQSXlGQzNpZ3N3U2NEUmVySGVr?= =?utf-8?Q?g855G8rIs9XZRC8YFakBydbR8l4g0J7krKdgZG4?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1777 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 5e757180-cb11-4f45-5b66-08d956916bba X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eT9BWec3+t/e0kBEqeRU4jzX3Z2w3woV/zkKjBCDrFfS6Pz/X/EPUf36laN+ho5AV50AA5nDq4plSGAjRmOSEIArL1/G3i5PibrkuwwA8pi6H3QnpCm8hUILcxIrQ8N/LB6AOsSs58US4yGbNMm6R51ixLxTuiIpcsbwzShiiVdp6HYMC1G5lyFQ+Ztr1mAc4jW6+zuBBpLGC4rzxdjpAOoBGF8ahOhjpj1vBxrAtqMzpEC2+cKc/pS2HFj0zQ5MI3Ucs49bmP66lSStDeShZkjsTGyh3NTxewM449pD30aX4PyO8SXs0l29BJgq5iFY1IdcxfSkEfigOIsHPyBcUTVzwNLRpljmjEmIW5evtCHjOermjtXztOneP7dclTOBXeXOP0gq+PqfJ1i6gZYn9S+dugZo9SpoQd58k+mddti0jh4YdUyHVcGfTVsBbBHjjP76bBl7copXGm6mlL5kzkClxtcVUbXrOMaMgilIUqU0blJ3eeL2nA1LxFwwfv8QpWE/jb65L15a1Fy215sCCAqKr6fkb9APlZZkiDtKyi22kb44rEypMJxbV7eQ9ntrn1/qnYtQ2YX95+EhIeAKjESfiXIU1uhjPLUSLuaL7g0TBXZKAbAyC9hk8+pc+gLir8CCKzyA1tlqBl+C36rTUKorLmBFWvuorUE26KeL4oJbX8U7pAt2sf82B3e6QmCpub9/YPUKGZeJxpAimnR4uCLZZFF9IcN/+NgMfPO/wq/+1LKN2zYFPgLpwGmq4AuFnR35Wb6/rQtayr632cnujAJg601pxTksh0/3cLU+dKhg7KNw25lObn8aTn/g7KPX X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(39850400004)(396003)(376002)(136003)(46966006)(36840700001)(36756003)(2906002)(956004)(5660300002)(4326008)(186003)(82310400003)(8936002)(83380400001)(8676002)(47076005)(82740400003)(53546011)(31696002)(44832011)(478600001)(54906003)(36860700001)(966005)(16576012)(316002)(31686004)(81166007)(356005)(6486002)(336012)(86362001)(70586007)(70206006)(2616005)(26005)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 15:14:55.6122 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b37d2349-b9a6-46d8-e71c-08d956917369 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5332 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Omkar, How did you check that the HEST table is populated correctly? There is no HEST parser in Acpiview at the moment. Do you plan to add an HEST parser to Acpiview? Regards, Sami Mujawar On 02/08/2021 01:49 PM, Sami Mujawar wrote: > Hi Omkar, > > Thank you for this patch series and for the clear explaination below. > > The explaination below is very useful for anyone who is trying to > understand the code. > > Since the cover letter will not be part of the patch commit messages, > would it be possible to include this explanation: > > 1. as part of a commit message for one of the patches in this series > (patch 2/4 or 3/4). > > Or > > 2. in a Readme.md file > > Regards, > > Sami Mujawar > > > On 10/07/2021 05:18 PM, Omkar Anand Kulkarni wrote: >> Changes since v1: >> - Helper added for HEST ACPI table generation. >> - Rebased to the latest upstream code. >> >> Hardware Error Source Table (HEST)[1] and Software Delegated >> Exception Interface >> (SDEI)[2] ACPI tables are used to acomplish firmware first error >> handling.This >> patch series introduces a framework to build and install the HEST >> ACPI table >> dynamically. >> >> The following figure illustrates the possible usage of the dyanamic >> generation of HEST ACPI table. >> >> NS | S >> +--------------------------------------+--------------------------------------+ >> >> | | | >> |+-------------------------------------+---------------------+ | >> || +---------------------+--------------------+| | >> || | | || | >> || +-----------+ |+------------------+ | +-----------------+|| >> +-------------+| >> || |HestTable | || HestErrorSource | | | HestErrorSource ||| | >> DMC-620 || >> || | DXE | || DXE | | | StandaloneMM ||| >> |Standalone MM|| >> || +-----------+ |+------------------+ | +-----------------+|| >> +-------------+| >> || |GHESv2 | || | >> || +---------------------+--------------------+| | >> || +--------------------+ | | | >> || |PlatformErrorHandler| | | | >> || | DXE | | | | >> || +--------------------+ | | | >> ||FF FWK | | | >> |+-------------------------------------+---------------------+ | >> | | | >> +--------------------------------------+--------------------------------------+ >> >> | >> Figure: Firmware First Error Handling approach. >> >> All the hardware error sources are added to HEST table as GHESv2[3] >> error source >> descriptors. The framework comprises of following DXE and MM drivers: >> >> - HestTableDxe: >> Builds HEST table header and allows appending error source >> descriptors to the >> HEST table. Also provides protocol interface to install the built >> HEST table. >> >> - HestErrorSourceDxe & HestErrorSourceStandaloneMM: >> These two drivers together retrieve all possible error source >> descriptors of >> type GHESv2 from the MM drivers implementing HEST Error Source >> Descriptor >> protocol. Once all the descriptors are collected >> HestErrorSourceDxe appends >> it to HEST table using HestTableDxe driver. >> - PlatformErrorHandlerDxe: >> Builds and installs SDEI ACPI table. This driver does not >> initialize(load) >> until HestErrorSourceDxe driver has finished appending all >> possible GHESv2 >> error source descriptors to the HEST table. Once that is complete >> using the >> HestTableDxe driver it installs the HEST table. >> >> This patch series provides reference implementation for DMC-620 >> Dynamic Memory >> Controller[4] that has RAS feature enabled. This is platform code >> implemented as Standalone MM driver in edk2-platforms. >> >> References: >> [1] : ACPI 6.3, Table 18-382, Hardware Error Source Table >> [2] : SDEI Platform Design Document, revision b, 10 Appendix C, ACPI >> table >> definitions for SDEI >> [3] : ACPI Reference Specification 6.3, Table 18-393 GHESv2 Structure >> [4] : DMC620 Dynamic Memory Controller, revision r1p0 >> [5] : UEFI Reference Specification 2.8, Appendix N - Common Platform >> Error >> Record >> [6] : UEFI Reference Specification 2.8, Section N.2.5 Memory Error >> Section >> >> Link to github branch with the patches in this series - >> https://github.com/omkkul01/edk2/tree/ras_firmware_first_edk2 >> >> Omkar Anand Kulkarni (4): >> ArmPlatformPkg: Allow dynamic generation of HEST ACPI table >> ArmPlatformPkg: add definition for MM_HEST_ERROR_SOURCE_DESC_PROTOCOL >> ArmPlatformPkg: retreive error source descriptors from MM >> ArmPlatformPkg: Add helpers for HEST table generation >> >> ArmPlatformPkg/ArmPlatformPkg.dec | 12 + >> .../Drivers/Apei/HestDxe/HestDxe.inf | 49 +++ >> .../HestMmErrorSources/HestErrorSourceDxe.inf | 44 +++ >> .../HestErrorSourceStandaloneMm.inf | 51 +++ >> .../HestMmErrorSourceCommon.h | 37 ++ >> ArmPlatformPkg/Include/HestAcpiHeader.h | 49 +++ >> .../Include/Protocol/HestErrorSourceInfo.h | 64 ++++ >> ArmPlatformPkg/Include/Protocol/HestTable.h | 71 ++++ >> ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c | 354 ++++++++++++++++++ >> .../HestMmErrorSources/HestErrorSourceDxe.c | 308 +++++++++++++++ >> .../HestErrorSourceStandaloneMm.c | 312 +++++++++++++++ >> 11 files changed, 1351 insertions(+) >> create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.inf >> create mode 100644 >> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf >> create mode 100644 >> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandaloneMm.inf >> create mode 100644 >> ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommon.h >> create mode 100644 ArmPlatformPkg/Include/HestAcpiHeader.h >> create mode 100644 >> ArmPlatformPkg/Include/Protocol/HestErrorSourceInfo.h >> create mode 100644 ArmPlatformPkg/Include/Protocol/HestTable.h >> create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c >> create mode 100644 >> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.c >> create mode 100644 >> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandaloneMm.c >> >