From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.63]) by mx.groups.io with SMTP id smtpd.web10.10780.1646926255462345717 for ; Thu, 10 Mar 2022 07:30:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=yMBXr+pM; spf=pass (domain: arm.com, ip: 40.107.6.63, 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=35uEg4TivI0x3363Km0egbOMB3A2sXaAdbzr/uOOZ5Q=; b=yMBXr+pM/CTegf6Cy+VzfgwWQaZ+9v2Ye/UVk8Igk65z8o62Xmwl22+B7NTYlA8PSxLUmopn6WTF6o79E/vLtDF0/4iBNl9ATYqQM5SVXwr5ttSeJLk8HIUVkrQGSQc6wFaM5zqnPSSAvyYAolLiySJFw/JbmYfzkX/hkB/qxWw= Received: from AM6P195CA0092.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::33) by DB7PR08MB4618.eurprd08.prod.outlook.com (2603:10a6:10:78::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.15; Thu, 10 Mar 2022 15:30:51 +0000 Received: from AM5EUR03FT063.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:86:cafe::e3) by AM6P195CA0092.outlook.office365.com (2603:10a6:209:86::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.29 via Frontend Transport; Thu, 10 Mar 2022 15:30:51 +0000 X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT063.mail.protection.outlook.com (10.152.16.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.26 via Frontend Transport; Thu, 10 Mar 2022 15:30:49 +0000 Received: ("Tessian outbound 31aeb3346a45:v113"); Thu, 10 Mar 2022 15:30:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1162755b337bdb19 X-CR-MTA-TID: 64aa7808 Received: from e13e81ce4709.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 302D2CF8-E95B-4857-A878-031EF3F6B049.1; Thu, 10 Mar 2022 15:30:38 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e13e81ce4709.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 10 Mar 2022 15:30:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S5q1Ub8NIPQ9dwMsF1/OLI5IqXftmZaT8Z3X5t8tViaZ6m9Tkr17cOrPUN8ep9U3D5zGvUNhVg1DqqQrGg9Q+yFQi6N0NC8g8zGQArNC6MU5qvtuXvUhaBnTkbRYqp0rbOVGcjwF7npJq9Whfm57MmU3neTZDSIkDoiWSCrgtniqK/KPewemr3WpPMbhK6YKzwK5eX7I+a11TJlFX94o8sCR1cZdEzw/uKrQdvBIL8TenygxxNPIUjhLbHnR8vPO8/F5Vx5g5tNdPT36WZKvVWUNuzR9kezqbHPFqUEbuByou/hFumfTrsfkTFItgUg+xOcNIjj73d9NfWUEsITfag== 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=35uEg4TivI0x3363Km0egbOMB3A2sXaAdbzr/uOOZ5Q=; b=lgMcYxYszAIwuDcupB7LByJWYNL7DmhF47/sIA4CyKGKy++xI2DNxaZp+m3zXj3OIDACtMU8cMUu5DJzxlT7VGXmrQ3V1nosq0AjgcJNpvThZHZk5vrIZrg0lEq2Y8tKKD8IgEjI16MQ5ABIeyGZzeUnzyYBWWvXXQO6Molrq3xdT4Ot2pa0Eft4W0afiUPVBM6W1zaK919dfuKn3SWovPHhJ+jwWrd6s4nZrjOPba+xyHhCqL0uk0RL/1cUg21CP2JPTxreTrxY7SGc2e1iWqhXY+8KcCiHbf//bNbA5cE+h2lVJaR5G8vXksKAwgQ52Si4NHZFP5Sy80zuU0Zofw== 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=35uEg4TivI0x3363Km0egbOMB3A2sXaAdbzr/uOOZ5Q=; b=yMBXr+pM/CTegf6Cy+VzfgwWQaZ+9v2Ye/UVk8Igk65z8o62Xmwl22+B7NTYlA8PSxLUmopn6WTF6o79E/vLtDF0/4iBNl9ATYqQM5SVXwr5ttSeJLk8HIUVkrQGSQc6wFaM5zqnPSSAvyYAolLiySJFw/JbmYfzkX/hkB/qxWw= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by VI1PR08MB5341.eurprd08.prod.outlook.com (2603:10a6:803:135::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Thu, 10 Mar 2022 15:30:36 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::8929:b37b:cb45:71da]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::8929:b37b:cb45:71da%3]) with mapi id 15.20.5061.022; Thu, 10 Mar 2022 15:30:36 +0000 Subject: Re: [edk2][PATCH V1 1/1] ArmPkg: Handle warm reboot request correctly To: Pranav Madhu , devel@edk2.groups.io Cc: Ard Biesheuvel , nd References: <20220310131037.22334-1-pranav.madhu@arm.com> From: "Sami Mujawar" Message-ID: <95e0263c-099c-c195-45e1-f8bfa5494d91@arm.com> Date: Thu, 10 Mar 2022 15:30:42 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20220310131037.22334-1-pranav.madhu@arm.com> X-ClientProxiedBy: LO2P265CA0171.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a::15) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: a3092084-fced-4878-5d14-08da02aaf45f X-MS-TrafficTypeDiagnostic: VI1PR08MB5341:EE_|AM5EUR03FT063:EE_|DB7PR08MB4618:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Ni+fppy7VQIur8hX0cpQEm5xDVRSpYK40XEvNV2EgatdhehvtBED6YtSwLZWerKykJhFcDy1et3/w87+nyYxVwMXn8WuokdSwiHm/JDUsr3fxfPnyLd//gVNHAibkHyhmGQQHxbrNO+McQj5Knqez7lltdH8WtHIEfU21SOmZP69+Y6QZGwQHdN/uQ7FMQL8YSIwBjDjTJssR5/OVErVQ88WnQp/jlA2YwzPDVXzh5uepnbAySTKR8hao5uO+tv7e7WfvpeaRRnN8C+t6kOT2VN9vLhSFqrcncYZxMrPs3l+R6ZEo9FYgTLDGuG0YHb5y8VxPiTcIHQa7WI3bxNAuJ/WTrpQCbrl44dea2cJOQkvffh4P5TThfkpV83zZKc1gvTxJYmdqWT2BWR/vBRZejIMF8iQXCkkTr5Xp82wyIjAJbW0qB0PyKEQnSBiExq4ZiGq4jVjeJcfkue8kq8o7Eij1n6zAEOOKDf2oSuCcIP3sX6DR1Xq1YiJC3iuEmXawsss9QLCXfUx/5NImcZm5R85UqqiHiK5SUWs6LrekmqCJpk0kMjzmhxEcbtWaRtqCmsGSlr7cus/PhJ3URGUdEdjHQBY1+FJ1/OGR5XD+cSETryS9weVoEuOxh2XzpfvAK9BMLAdIKuSt9ueiPd7IlK8rFfRmyMWKvaLMMJ+4RplBdwGoC2AKnu/aoDzoBoLha8JgZDOxv3/sBIoOVrVcJXhxJfSO9tCaBLU81cslzq7xi3Z7BVJtqR0VdCxHsiGJlupbETr7BK1bpS8fwwxOyI4whB1vgNQhmF+4t8CBWLJqatFb+j5ojvHXHKSzDgl2YxfxrONidMDHuDOSb06czyBmOM0eKXNRdIdDLrnAMk= 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:(13230001)(4636009)(366004)(86362001)(6512007)(2906002)(6506007)(6486002)(966005)(316002)(38100700002)(38350700002)(508600001)(2616005)(53546011)(66476007)(8676002)(6666004)(66946007)(4326008)(66556008)(8936002)(26005)(5660300002)(186003)(36756003)(31696002)(52116002)(83380400001)(44832011)(54906003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5341 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT063.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4016351f-fc86-46d6-0ddd-08da02aaeca4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hKgE1xBpgZLPEkPeyeyFSk6yhT+65PIQjc7oa0gsFTaJZpxY91r9yWfKDZmw0Z1u/oCm7nkI3LekF7KY6kZuvyYjqv99sBCjnSUuI+qwhgbBG9FXXqdf5/vO9S2aMwKnPY24dDSES/8/z0G2mYDp+J7d12jiWmTOLiBXtAhxnBJLBgtyEpjjGQoS3mSojrlA5KvdkrBH+DNfOXC3R88sIoDvUCSnTQE9uhRRhOJeuY3uSTYW4kouOJZ5yGZ6SPIbNBfVGUvXqH5h2iUdw7EICcYip/Z+ICKYwZmMzMk/xoWPrrE4DGohOpmNbXRsYNL7gp8TqxLqgtdrnuSJWmSJTBbN4rXSF/KEyhclgk0Mt34kvFfKB1ll+w4rACYmNBXg8oM7RPlPol7BG88ubNsp8cONLTcboHtlOiFr5N3d3+VKxStqsPiZH3mXpFP1g/EkA9YooMmFPXoyGlgk6xSzygtGLSijFp3ns3ECrrl6k0CrxEKYB/00twVUJETYdarTDWahAfzDynF+PGUFxoCndZaqnB6IhvEDFc88I00NRJTlb9/xpZymXukJ1LVVQmDEtC6iLmBZt5n4sEhTWOavFW+2WpNrkQ0Ooxw556AoLfh/GHZ0/Xnf+SYPKA7pJHUBtcrimORliftuVv3wkiQYZmx61PJjh8URKcjWahyqHTS0w4i77HmA8eteOpSc8MhK9qLXLOrVHQZDULCpCzDa13/oFgAzqe4e0/7cMA+JY2STJb+uwHWIU3ozbQxXYAdVdZAM9heEkBU+AHEvsYP8DsMkpFTEtCv1/5gzYnzSdpQMFKIBub4MRahfMKOlxROiUknUheN/3pVCzcjqnlu8/Q== 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:(13230001)(4636009)(40470700004)(46966006)(36840700001)(53546011)(6666004)(40460700003)(47076005)(966005)(6506007)(2616005)(4326008)(82310400004)(86362001)(81166007)(63350400001)(63370400001)(31686004)(83380400001)(36860700001)(6486002)(36756003)(54906003)(8676002)(356005)(2906002)(336012)(44832011)(8936002)(70586007)(70206006)(6512007)(508600001)(316002)(5660300002)(186003)(26005)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2022 15:30:49.3307 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a3092084-fced-4878-5d14-08da02aaf45f 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: AM5EUR03FT063.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4618 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Pranav, Thank you for this patch. Please find my response inline marked [SAMI]. Regards, Sami Mujawar On 10/03/2022 01:10 PM, Pranav Madhu wrote: > The warm reboot requests are mapped to cold reboot as the power control > module was not capable of handling the warm reboot requests in the > legacy implementation. The support for warm reboot support is added into > the power control module. To support warm reset, update > ArmPsciResetSystemLib, and there by invoke the PSCI call with parameters > for warm reboot. > > Signed-off-by: Pranav Madhu > --- > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 1 + > ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c | 7 +++++-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > Link to github branch for this patch - > https://github.com/Pranav-Madhu/edk2/tree/topics/warm_reboot > > diff --git a/ArmPkg/Include/IndustryStandard/ArmStdSmc.h b/ArmPkg/Include/IndustryStandard/ArmStdSmc.h > index 655edc21b205..c9059dead6e9 100644 > --- a/ArmPkg/Include/IndustryStandard/ArmStdSmc.h > +++ b/ArmPkg/Include/IndustryStandard/ArmStdSmc.h > @@ -93,6 +93,7 @@ > #define ARM_SMC_ID_PSCI_MIGRATE_AARCH32 0x84000005 > #define ARM_SMC_ID_PSCI_SYSTEM_OFF 0x84000008 > #define ARM_SMC_ID_PSCI_SYSTEM_RESET 0x84000009 > +#define ARM_SMC_ID_PSCI_SYSTEM_RESET2_AARCH64 0xc4000012 > > /* The current PSCI version is: 0.2 */ > #define ARM_SMC_PSCI_VERSION_MAJOR 0 > diff --git a/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c b/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c > index 7bcd34849507..27e048ba0f7a 100644 > --- a/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c > +++ b/ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c > @@ -45,10 +45,13 @@ LibResetSystem ( > ARM_SMC_ARGS ArmSmcArgs; > > switch (ResetType) { > + case EfiResetWarm: > + ArmSmcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET2_AARCH64; > + ArmSmcArgs.Arg1 = 0; > + ArmSmcArgs.Arg2 = 0; > + break; [SAMI] SYSTEM_RESET2 is an optional feature and if not supported would return NOT_SUPPORTED. So, if a platform does not support SYSTEM_RESET2, should the code here fall back to SYSTEM_RESET? According to the PSCI specification, it is the responsibility of the OS to check that SYSTEM_RESET2 is supported before calling SYSTEM_RESET2 (I believe this is applicable for the case where UEFI is not used to boot the OS). However, if the runtime service ResetSystem() is invoked by the OS requesting a warm reset, is it not the firmware's responsibility to ensure that SYSTEM_RESET2 is supported? Any thoughts? [/SAMI] > case EfiResetPlatformSpecific: > // Map the platform specific reset as reboot > - case EfiResetWarm: > - // Map a warm reset into a cold reset > case EfiResetCold: > // Send a PSCI 0.2 SYSTEM_RESET command > ArmSmcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET;