From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from aserp2130.oracle.com (aserp2130.oracle.com [141.146.126.79]) by mx.groups.io with SMTP id smtpd.web10.751.1611256304459202997 for ; Thu, 21 Jan 2021 11:11:44 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@oracle.com header.s=corp-2020-01-29 header.b=oCM/AdlK; spf=pass (domain: oracle.com, ip: 141.146.126.79, mailfrom: ankur.a.arora@oracle.com) Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 10LJ8gB0023009; Thu, 21 Jan 2021 19:11:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc : references : from : message-id : date : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=4QrjLJLhEfbwGrq6wleh9eQDxGpNi88VgEoGDTKzsM0=; b=oCM/AdlK/FNavgBvIfFZyMhWZdeVS7yE3cRGfVLzx7P4Swv/GrFCteD2h432igE1v03S jK0D4soXaBisvhhLA1MLTDgIWGWHIUO35ivtgGVDyvpJprBH9FMTBxQ7qo6vqGBOKmhG vMJW+9FIlUKwQUobgfFTxlZ00FmFsDM21Pl7yciWW/sZgAl/L1bk1DRqqbaoxiOfwDVh YsCBEBPFHPpcMxqmlB4AQru5pOqg6GUGahLGzAfb/hxihefq+kihDVprhoT9OtHEEufg 7YwzXE76KteG9Yz1nDE9M4LRpJMbGHnIYqduhH/XGAUMEnZqswsGk1g6wqpzuXA0Rkdk Dg== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2130.oracle.com with ESMTP id 3668qrgxnh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Jan 2021 19:11:43 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 10LJ60F4093895; Thu, 21 Jan 2021 19:11:43 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by aserp3020.oracle.com with ESMTP id 3668rg8h0f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Jan 2021 19:11:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fuVeIFqdDnQYhqHKwnEbQkTEis8aIgcGB3sXLPXuRhfa8O1xzLfnBzZUom1uCgpEDjopoRg5rBQo69Ok3juPjted9vqP44ygMEnxJc42B7hwVwie2x7tC1+/fgQ8sTcKwPkBqwAGe+0vHVakVOL22ebg9RxDblfxDYDO8dnKwqYTIt9vr86MLYoAB/svvKRIRGGJ/WNCienEbU3hqeS7AyhUXfwgC1MoH4XY6j0kaagwecYIV5go3NzwiNwOgstXpYIXsaOGawVAjhyNT+j2+erbwIMtdk98sdii1WER61rajpk611jDr6Cak9Yw5DtpjAmaoWOZaPDqs4M/fXzcFQ== 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=4QrjLJLhEfbwGrq6wleh9eQDxGpNi88VgEoGDTKzsM0=; b=QrMjoK1lzY1ujuBtURh0nDUVxgZoIpqWNlB8R+3yciPusvkFu3ll8OiieGmjm8Pk6iz6YJkQhNKcEBBjYSl9aEs82rm7gzPHdCV9sq5/YrJYYTLpYtSffzclztRr+dPNkxeyEJaHuB3OXVwt5vQgiDi7OoMn6m/1gC7/zH3Rz6kX2z0F2+50/vQB0u8LellPH5Ny0eOkDmBSYRjqUZcTOPSUvE8nly2Nqv+tlkxrFMosIO3YBZBZ6T+kutNCMRGwkxkvc52zV4bzPCnuVn6N/hcnIbFbFphStzkY3pbkwzWipGafmIxLqvzVQ4u+GYA863yv4EXynldKCwTZg0E8Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4QrjLJLhEfbwGrq6wleh9eQDxGpNi88VgEoGDTKzsM0=; b=scFuS3QWnnvSlgWiJoVwS3dTYGkQascDuNFO/IGn05vOfHjRu1BwkWJzyjzHHQks4upPVqhHAKRgW0IXo7Ya+ImAkoLq4OGVMMrZPR7K4WE2waeCl7vb2PSjeQh5ks+iRPJG+yDa0L0bXwAQRXYuGusHebrydWN28i+Xgf8aM+g= Received: from CY4PR10MB1718.namprd10.prod.outlook.com (2603:10b6:910:9::17) by CY4PR10MB1590.namprd10.prod.outlook.com (2603:10b6:903:2c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Thu, 21 Jan 2021 19:11:41 +0000 Received: from CY4PR10MB1718.namprd10.prod.outlook.com ([fe80::39dc:6ba7:9397:cb6]) by CY4PR10MB1718.namprd10.prod.outlook.com ([fe80::39dc:6ba7:9397:cb6%6]) with mapi id 15.20.3763.014; Thu, 21 Jan 2021 19:11:40 +0000 Subject: Re: [edk2-devel] [PATCH v4 0/9] support CPU hot-unplug To: Laszlo Ersek , devel@edk2.groups.io Cc: imammedo@redhat.com, boris.ostrovsky@oracle.com References: <20210118063457.358581-1-ankur.a.arora@oracle.com> <5d932166-9413-d195-230f-8d7c9a70aa2e@oracle.com> <668b5faa-5c8b-97b5-f679-a431768d4f94@redhat.com> From: "Ankur Arora" Message-ID: <07470a7e-1e9c-e950-ae72-1e5ec45f22c7@oracle.com> Date: Thu, 21 Jan 2021 11:11:37 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 In-Reply-To: <668b5faa-5c8b-97b5-f679-a431768d4f94@redhat.com> X-Originating-IP: [148.87.23.11] X-ClientProxiedBy: CO2PR05CA0062.namprd05.prod.outlook.com (2603:10b6:102:2::30) To CY4PR10MB1718.namprd10.prod.outlook.com (2603:10b6:910:9::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.0.108] (148.87.23.11) by CO2PR05CA0062.namprd05.prod.outlook.com (2603:10b6:102:2::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.7 via Frontend Transport; Thu, 21 Jan 2021 19:11:40 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0cd2de57-3486-42ec-2b04-08d8be406229 X-MS-TrafficTypeDiagnostic: CY4PR10MB1590: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Z3iKM83epJHiD/N4INzGk7yjNq8XXnDq+SoLaudM6CgT4Opg9viV1efCpwARowUejtRxoeXWJQv2gJcsePTopt4LHtFiPsnw4XtIyujhKnhB+crwTKeOJYA+C9hJQgOhoA6MgArp3I6rvEnR1urtgtTq95fsbKYl+GelwBUowrDQJHY8qMHa6TPO3EN5XUSlCLYj7ILSA5PY5Tjatp9ID5o5d0wPNJpmW0GhqG3QKQy/OB9L9EvWs6kKpWKPZWAH5FFeGxmQyzU7S3WWn9sE5TLBiHzhJyWQIv7dtHT3udPOF3/0DvEY4mRJp08U588npYuU8PFwRWMeoIQjiTlWM+Lk3Nc9sPZRUo0LrTZQw1U3eBVNH2jfXk/eDaGXXT36yEhvAe0mJev3bCHaRYt+eS4Iso5/0+PRctaaSOyah0ItLURxYMAA0bE4vomOBtkv09OKyDlfdbx9l2/wI9uLKjIM2LT2/TxPSoXQfAioYbS5QpMEiF6V/Rg56Wzp5pySUZAybra6v5DJlzlEbvYryUeqgwwXzmP+aeICQounFbTcejDph7Sd3I2dZUPgPS7rIXFmSVQcizCkSuQJMDCj3Wyqz6Czg+A5xzNRoWyk14Piw2dJKqC9JU0NaAGHd+zmTy9QiDD8wvPugBBj75zsVaOrQ69sf64MI2leslYUn6K0RCAbry669QCKj2RCP/XQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR10MB1718.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(376002)(136003)(39860400002)(396003)(66476007)(4326008)(478600001)(66556008)(6666004)(16576012)(186003)(31686004)(966005)(8936002)(66946007)(316002)(53546011)(36756003)(83380400001)(26005)(5660300002)(31696002)(2906002)(8676002)(16526019)(6486002)(956004)(2616005)(86362001)(107886003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?Qm5KblRMLzIzai9PNjJEYnpFUjF5a0gyK0V5bjBtc3UzNFdCcUtoS1ZNL0Y4?= =?utf-8?B?OVpjMnJYa1VKeXJ4eWdoaVEyRnppYTIrOXl1N3pCUFIwVVRnSC9BN2FnVjJT?= =?utf-8?B?TVZZeXFKMGVYYU5WQVpSc1R0TUE1WllpeG16MDRDcitEOHhnVjJyWUF0VUQ4?= =?utf-8?B?eDhPa1ZXUkx5eGtKQkc0SlhGTzFIZnI2ZldVNTY5YnZhT0xBYzNpY3B3TC9J?= =?utf-8?B?MmpTSHBOc012Y082TkdZOFVlNENDenF2Q0xiRkgxNFI1eER0VFVuMy9GWCtK?= =?utf-8?B?a1JFRE5ZeHJHRXRLUkJNd0xzeWlYTGt5R3NkWmtXaG9VVGFlMURVTjMxUEhs?= =?utf-8?B?ajY1UGt0b0VNNFMwVXhDTmRscXpOUDBsQWhtNWpFTDZrR0RIYy8wVjR4R2ZF?= =?utf-8?B?TUgxbFYwS2RpZ1EwSllLU2ZWa0xQWStpSDFTT1VMell1T1dqOTRTQk13T1Fo?= =?utf-8?B?SWRaVXZpdGlvVEhpUnJGRGR1WE93c2l2RXNIczdaK3d2QXpHNnZsZURHRDlw?= =?utf-8?B?TE5ETlNsZ3BBYlE0R1FVanlxVjJkd3lWY2d3dUZwd0VCRHZvNCs5VHQ5cUlQ?= =?utf-8?B?dzFFQmtPdXEycG5CUHVKZ0xFMUVHY0pvSnl2Q2t4VGNYYkd5N0RuV0lYcjZR?= =?utf-8?B?dExaL1N6a2l3clJBWUg1VCtIRVU2YXhYUk0rR25MaitGR0ZoOUt6ZkZ6Nyth?= =?utf-8?B?ODE3VFVUTno1YnBFV0NjZDNrL3hrVnRNM294Wk8rSEp5akJFK0hvV0pVWVZl?= =?utf-8?B?VUNzUlZ6OVY1cW9pQjhCU0Rvbk9zL2U0TzhobHgzaE5lMFIrWHlrS1loNmY5?= =?utf-8?B?VnFBa3Q4SjVEWDZpOEZic1JOdWY1TzVFZjRXQ1JXMVBmWjRSWVpGMFh5YkJj?= =?utf-8?B?QkhRdy9OYkNTV29NenRobWk5OFUwSWFlcmdrYWR6dzZtMHJnd1RsV2tNNzJR?= =?utf-8?B?Sk1iVnByc3JqVHYwVVdncXpsWEVSQ09VYTlnQzFmcGtyak9NQ3RJRFcwc1lv?= =?utf-8?B?ZERnekp3VmZ5QTVwTXhBcmswUTNiTWs5dEk5Q3VEWGVZYi9qWGpxMS9HZ3ZS?= =?utf-8?B?cTNaOXB0UW5KR29nQ3cxZUdieDcya2wwM3BRSlZSYmhTUFA3bjN2Q1lBR0tK?= =?utf-8?B?aGgzRXRQNXVuUE5wekJjNUtCa0huUVBUVm51UmVZSUVGb1lTK1V0dCtSSy83?= =?utf-8?B?SDlCNmNpZStEV0dqcDR4a1R4NWVmaDdFeTEzdnFVZWlWZ05KOFlJaFNQZVZr?= =?utf-8?B?ajk5K3IxWTNRMjlYT0xKV2pIdUE3SkRyRHBuTHRZTHNQSHR1NFhoQTBWUERB?= =?utf-8?B?MDZnRk4rUzVkVmM4QVJZUmcybittSFpEQ0RYRlJnZFJpMGhvbEZmT09Fb0Qx?= =?utf-8?B?YzNSVnZ5Q2k4ejBYZCtPZUJoZWZvYWprYmhvMjB0UXlPRnVqYXlmcG95cktr?= =?utf-8?Q?YBb+ahnO?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0cd2de57-3486-42ec-2b04-08d8be406229 X-MS-Exchange-CrossTenant-AuthSource: CY4PR10MB1718.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2021 19:11:40.8524 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5ppazZPXR2lTG9WnJ7eJWrwIAdvszD8H5+IoVYJwXtTTokHOU2NXOdAjMnlLgNCZaqSq2V0a+IQa9cgxFvu8Nzuo4FkIMMytOSdnDabJUlk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR10MB1590 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9871 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101210097 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9871 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 spamscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101210097 X-MIME-Autoconverted: from 8bit to quoted-printable by aserp2130.oracle.com id 10LJ8gB0023009 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 2021-01-21 4:29 a.m., Laszlo Ersek wrote: > Hi Ankur, >=20 > On 01/18/21 19:35, Ankur Arora wrote: >> On 2021-01-18 9:09 a.m., Laszlo Ersek wrote: >>> On 01/18/21 07:34, Ankur Arora wrote: >>>> Hi, >>>> >>>> This series adds support for CPU hot-unplug with OVMF. >>>> >>>> Please see this in conjunction with the QEMU secureboot hot-unplug v= 2 >>>> series posted here (now upstreamed): >>>> =20 >>>> https://lore.kernel.org/qemu-devel/20201207140739.3829993-1-imammedo= @redhat.com/ >>>> >>>> >>>> Patches 1 and 3, >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: refactor hotplug logic") >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: add Qemu Cpu Status helper") >>>> are either refactors or add support functions. >>>> >>>> =C2=A0=C2=A0 OvmfPkg/CpuHotplugSmm: introduce UnplugCpus() >>>> =C2=A0=C2=A0 OvmfPkg/CpuHotplugSmm: add CpuEject() >>>> =C2=A0=C2=A0 OvmfPkg/CpuHotplugSmm: add worker to do CPU ejection >>>> >>>> Patch 2 and 9, >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: collect hot-unplug events") >>>> =C2=A0=C2=A0 ("OvmfPkg/SmmControl2Dxe: negotiate CPU hot-unplug") >>>> handle the QEMU protocol logic for collection of CPU hot-unplug even= ts >>>> or the protocol negotiation. >>>> >>>> Patch 4, >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: introduce UnplugCpus()") >>>> adds the MMI logic for CPU hot-unplug handling and informing >>>> the PiSmmCpuDxeSmm of CPU removal. >>>> >>>> Patches 5 and 6, >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: define CPU_HOT_EJECT_DATA") >>>> =C2=A0=C2=A0 ("OvmfPkg/SmmCpuFeaturesLib: init CPU ejection state") >>>> sets up state for doing the CPU ejection as part of hot-unplug. >>>> >>>> Patches 7, and 8, >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: introduce UnplugCpus()") >>>> =C2=A0=C2=A0 ("OvmfPkg/CpuHotplugSmm: add worker to do CPU ejection= ") >>>> add the CPU ejection logic. >>>> >>>> Testing (with QEMU 5.2.50): >>>> =C2=A0 - Stable with randomized CPU plug/unplug (guest maxcpus=3D1,= 8,128) >>>> =C2=A0 - Synthetic tests with simultaneous multi CPU hot-unplug >>>> =C2=A0 - Negotiation with/without CPU hotplug enabled >>>> >>>> Also at: >>>> =C2=A0=C2=A0 github.com/terminus/edk2/ hot-unplug-v4 >>>> >>>> Changelog: >>>> v4: >>>> =C2=A0=C2=A0 - Gets rid of unnecessary UefiCpuPkg changes >>>> >>>> v3: >>>> =C2=A0=C2=A0 - Use a saner PCD based interface to share state betwe= en >>>> PiSmmCpuDxeSmm >>>> =C2=A0=C2=A0=C2=A0=C2=A0 and OvmfPkg/CpuHotplugSmm >>>> =C2=A0=C2=A0 - Cleaner split of the hot-unplug code >>>> =C2=A0=C2=A0 URL: >>>> https://patchew.org/EDK2/20210115074533.277448-1-ankur.a.arora@oracl= e.com/ >>>> >>>> >>>> v2: >>>> =C2=A0=C2=A0 - Do the ejection via SmmCpuFeaturesRendezvousExit() >>>> =C2=A0=C2=A0 URL: >>>> https://patchew.org/EDK2/20210107195515.106158-1-ankur.a.arora@oracl= e.com/ >>>> >>>> >>>> RFC: >>>> =C2=A0=C2=A0 URL: >>>> https://patchew.org/EDK2/20201208053432.2690694-1-ankur.a.arora@orac= le.com/ >>>> >>>> >>>> >>>> Please review. >>> >>> I've got this series in my review queue (confirming). >>> >>> I'd like to finish review on the >>> series first, >>> since that's what I've got mostly in my mind at this point. >>> >>> I hope to start reviewing the unplug series in a few days. >> >> Sounds good. Thanks. >=20 > I apologize for coming back with more formalities. >=20 > The patches are somewhat incorrectly composed. Looking at the very firs= t > patch email for example, the quoted-printable encoding of the email sho= ws: >=20 > - a hard \r in each context line of the patch (encoded as "=3D0D"), > - no \r character in any newly added line of the patch. >=20 > This *inconsistency* is a problem -- once I apply the patch with git-am= , > it creates files with mixed LF / CRLF line terminators. >=20 > Every source file (new files in particular) should be purely CRLF. >=20 > Please update your editor's settings to stick with the line terminator > style of the file that's being edited. (When creating new files, you ma= y > have to switch to CRLF explicitly.) >=20 > Furthermore, please convert all of the patches to purely CRLF as follow= s: > - run a git-rebase with "edit" actions > - at each stage, determine the set of files updated/created by the comm= it > - run "unix2dos" on all those files > - squash the result into the commit > - continue >=20 > (You could script this too, using the "exec" git-rebase action, but > doing it manually could be tolerable as well.) >=20 > Now, of course I can do this myself with the patches, on my end, but > (assuming at least one more version of the patch set is going to be > necessary), fixing your settings and the patches both, for future > manipulation, would now be timely. >=20 > ... For reviewing non-trivial patch series, I tend to apply them first > on a local branch (nothing beats the power of the full git toolkit > during a review); that's how I found this. >=20 >=20 > For catching such issues early on, please run "PatchCheck.py" before > posting, e.g. as in: >=20 > $ python3 BaseTools/Scripts/PatchCheck.py master..topic_branch >=20 > (In the present case, PatchCheck reports lots of "not CRLF" errors.) >=20 PatchCheck.py is great. Thanks. >=20 > An even better idea is to push your topic branch (which you're about to > post to the list) to your edk2 fork on github.com, and then submit a > pull request against the "tianocore/edk2" project. The pull request wil= l > be auto-closed in the end (it will never be merged), but the goal is to > trigger a CI run on the patch set, and to give you the error messages i= f > any. PatchCheck runs as a part of CI, too. >=20 > (github.com PRs are used for actual merging by edk2 maintainers, but fo= r > that, they set the "push" label on the subject PRs, and the "push" labe= l > is restricted to maintainers.) >=20 > I apologize about the extra delay. Would you be OK posting v5? Sure. Just a side question which I should have asked you earlier: are the coding standards listed somewhere? I had looked for answers to similar questions but the "TianoCore C style guide" doesn't mention either PatchCheck.py or rules around CRLF. (Though now that I do look at it, the CRLF rules are listed in the "EDK II C Coding Standards_2.1 Draft.PDF".) Thanks for the comments and my apologies for making you review all of these non-substantive changes. Ankur >=20 > Thanks! > Laszlo >=20