Received: by 2002:a05:7412:d008:b0:f9:6acb:47ec with SMTP id bd8csp288809rdb; Tue, 19 Dec 2023 17:40:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IHO+oNuCrSxUWnnNaODURyV/l/jAdWQ6KqGoVuHOFDc1HbXWo5MHyUIt6MzzHae7vWk8QBm X-Received: by 2002:a05:620a:4953:b0:781:1ac:fc52 with SMTP id vz19-20020a05620a495300b0078101acfc52mr1723001qkn.70.1703036410784; Tue, 19 Dec 2023 17:40:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703036410; cv=none; d=google.com; s=arc-20160816; b=ede5TSl6UbaJcuaIh9lkL25aj37p1+Bo+drPgLuxgZYbofWoAunqE+myqkQc7gHssk TuqR2/CMC5tcbJuXYB+dbDr5ywCOrI+oA8lWrV5/XzC18CIqGssCaMYr0GVWNJ3YMkLE 25v68NVGtd8+nHY2+YUYsDVyQneCkbv0tv5kckiVUEqrY0Tev9sr3T14NwwI06ONWors eASQYSpCtp24wSITu+znQ7KpWbfl1va632/7YOfy+jMNQLdVXXVet27IZoT4cbau/f6p lwd6HbNomte8fzCqWc/fYNotVuZBYGsXaS8lGhF31eRK+UzUqhDxLUwllBpSDngqko6j as1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=JZVpq3yG8DnNQBwDDkD6CZJfbJCrRreEZIvptnuJepk=; fh=cu3GA/J1cG/KmCGAkiut6mqpHPPoktRPIvnSROTiWWI=; b=BfQhOrO8qJ//ZNu7SjP2nBsSuokHHU6OqSwmPrNQte/9lszOqL38iVkCtZla9LBIge h5cOWgeQBuOQXlESDHhDIt1nz/+59OCpPOSZUmYhotU1nRvZ42gUz5z2PK80VuO3M+IM aHCd1BFUU2vV6pph9Zqwa0/Sl5RmE/fay+22HDh/qeqtU04VK09ko4oYO+/Khl4HLICk wdaSDNjfdCIG99a8O+dKBdS705ec5++d2Lme4HRdNPhGDKQhYww9pTyGOH9WDKh/hiJZ kZQ7qcavF6kZhTeB6wcY9exPDSDyPOpyPvyKf87/h0UqWOk+2ZBUwCuj3VkhSCdhlznr UiXA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-6259-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-6259-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id v22-20020ae9e316000000b0077fafbac98dsi10621329qkf.785.2023.12.19.17.40.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Dec 2023 17:40:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-6259-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-6259-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-6259-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7758A1C255B4 for ; Wed, 20 Dec 2023 01:40:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4A3D1746A; Wed, 20 Dec 2023 01:40:03 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A273ABE4C; Wed, 20 Dec 2023 01:39:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com Received: from EXMBX165.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX165", Issuer "EXMBX165" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id 1B9EC8008; Wed, 20 Dec 2023 09:39:58 +0800 (CST) Received: from EXMBX172.cuchost.com (172.16.6.92) by EXMBX165.cuchost.com (172.16.6.75) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 20 Dec 2023 09:39:58 +0800 Received: from EXMBX066.cuchost.com (172.16.7.66) by EXMBX172.cuchost.com (172.16.6.92) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 20 Dec 2023 09:39:36 +0800 Received: from EXMBX066.cuchost.com ([fe80::5947:9245:907e:339f]) by EXMBX066.cuchost.com ([fe80::5947:9245:907e:339f%17]) with mapi id 15.00.1497.044; Wed, 20 Dec 2023 09:39:36 +0800 From: JeeHeng Sia To: Emil Renner Berthing , "kernel@esmil.dk" , "conor@kernel.org" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "paul.walmsley@sifive.com" , "palmer@dabbelt.com" , "aou@eecs.berkeley.edu" , "mturquette@baylibre.com" , "sboyd@kernel.org" , "p.zabel@pengutronix.de" , "Hal Feng" , Xingyu Wu CC: "linux-riscv@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-clk@vger.kernel.org" , Leyfoon Tan Subject: RE: [PATCH v1 06/16] clk: starfive: Add JH8100 System clock generator driver Thread-Topic: [PATCH v1 06/16] clk: starfive: Add JH8100 System clock generator driver Thread-Index: AQHaKDp8qa+gHWDJHkGDh0MGWRuwVrCfD58AgAXCtdCAAc4FgIAK2SJw Date: Wed, 20 Dec 2023 01:39:36 +0000 Message-ID: <07a8ac42184f440fae1b0d13db4e43cc@EXMBX066.cuchost.com> References: <20231206115000.295825-1-jeeheng.sia@starfivetech.com> <20231206115000.295825-7-jeeheng.sia@starfivetech.com> <9ae86c6786bc4ac7b93c971ba00084a6@EXMBX066.cuchost.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-yovoleruleagent: yovoleflag Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRW1pbCBSZW5uZXIgQmVy dGhpbmcgPGVtaWwucmVubmVyLmJlcnRoaW5nQGNhbm9uaWNhbC5jb20+DQo+IFNlbnQ6IFdlZG5l c2RheSwgRGVjZW1iZXIgMTMsIDIwMjMgNzo1NyBQTQ0KPiBUbzogSmVlSGVuZyBTaWEgPGplZWhl bmcuc2lhQHN0YXJmaXZldGVjaC5jb20+OyBFbWlsIFJlbm5lciBCZXJ0aGluZyA8ZW1pbC5yZW5u ZXIuYmVydGhpbmdAY2Fub25pY2FsLmNvbT47IGtlcm5lbEBlc21pbC5kazsNCj4gY29ub3JAa2Vy bmVsLm9yZzsgcm9iaCtkdEBrZXJuZWwub3JnOyBrcnp5c3p0b2Yua296bG93c2tpK2R0QGxpbmFy by5vcmc7IHBhdWwud2FsbXNsZXlAc2lmaXZlLmNvbTsgcGFsbWVyQGRhYmJlbHQuY29tOw0KPiBh b3VAZWVjcy5iZXJrZWxleS5lZHU7IG10dXJxdWV0dGVAYmF5bGlicmUuY29tOyBzYm95ZEBrZXJu ZWwub3JnOyBwLnphYmVsQHBlbmd1dHJvbml4LmRlOyBIYWwgRmVuZw0KPiA8aGFsLmZlbmdAc3Rh cmZpdmV0ZWNoLmNvbT47IFhpbmd5dSBXdSA8eGluZ3l1Lnd1QHN0YXJmaXZldGVjaC5jb20+DQo+ IENjOiBsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnOyBkZXZpY2V0cmVlQHZnZXIua2Vy bmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtY2xrQHZnZXIua2Vy bmVsLm9yZzsgTGV5Zm9vbiBUYW4NCj4gPGxleWZvb24udGFuQHN0YXJmaXZldGVjaC5jb20+DQo+ IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjEgMDYvMTZdIGNsazogc3RhcmZpdmU6IEFkZCBKSDgxMDAg U3lzdGVtIGNsb2NrIGdlbmVyYXRvciBkcml2ZXINCj4gDQo+IEplZUhlbmcgU2lhIHdyb3RlOg0K PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEVtaWwgUmVubmVy IEJlcnRoaW5nIDxlbWlsLnJlbm5lci5iZXJ0aGluZ0BjYW5vbmljYWwuY29tPg0KPiA+ID4gU2Vu dDogU2F0dXJkYXksIERlY2VtYmVyIDksIDIwMjMgMTI6MjUgQU0NCj4gPiA+IFRvOiBKZWVIZW5n IFNpYSA8amVlaGVuZy5zaWFAc3RhcmZpdmV0ZWNoLmNvbT47IGtlcm5lbEBlc21pbC5kazsgY29u b3JAa2VybmVsLm9yZzsgcm9iaCtkdEBrZXJuZWwub3JnOw0KPiA+ID4ga3J6eXN6dG9mLmtvemxv d3NraStkdEBsaW5hcm8ub3JnOyBwYXVsLndhbG1zbGV5QHNpZml2ZS5jb207IHBhbG1lckBkYWJi ZWx0LmNvbTsgYW91QGVlY3MuYmVya2VsZXkuZWR1Ow0KPiA+ID4gbXR1cnF1ZXR0ZUBiYXlsaWJy ZS5jb207IHNib3lkQGtlcm5lbC5vcmc7IHAuemFiZWxAcGVuZ3V0cm9uaXguZGU7IGVtaWwucmVu bmVyLmJlcnRoaW5nQGNhbm9uaWNhbC5jb207IEhhbCBGZW5nDQo+ID4gPiA8aGFsLmZlbmdAc3Rh cmZpdmV0ZWNoLmNvbT47IFhpbmd5dSBXdSA8eGluZ3l1Lnd1QHN0YXJmaXZldGVjaC5jb20+DQo+ ID4gPiBDYzogbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZzsgZGV2aWNldHJlZUB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWNsa0B2Z2Vy Lmtlcm5lbC5vcmc7IExleWZvb24NCj4gVGFuDQo+ID4gPiA8bGV5Zm9vbi50YW5Ac3RhcmZpdmV0 ZWNoLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEgMDYvMTZdIGNsazogc3RhcmZp dmU6IEFkZCBKSDgxMDAgU3lzdGVtIGNsb2NrIGdlbmVyYXRvciBkcml2ZXINCj4gPiA+DQo+ID4g PiBTaWEgSmVlIEhlbmcgd3JvdGU6DQo+ID4gPiA+IEFkZCBzdXBwb3J0IGZvciBKSDgxMDAgU3lz dGVtIGNsb2NrIGdlbmVyYXRvci4NCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogU2lh IEplZSBIZW5nIDxqZWVoZW5nLnNpYUBzdGFyZml2ZXRlY2guY29tPg0KPiA+ID4gPiBSZXZpZXdl ZC1ieTogTGV5IEZvb24gVGFuIDxsZXlmb29uLnRhbkBzdGFyZml2ZXRlY2guY29tPg0KPiA+ID4g PiAtLS0NCj4gPiA+ID4gIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgOCArDQo+ID4gPiA+ICBkcml2ZXJzL2Nsay9zdGFyZml2ZS9LY29uZmlnICAgICAg ICAgICAgICAgICAgfCAgIDkgKw0KPiA+ID4gPiAgZHJpdmVycy9jbGsvc3RhcmZpdmUvTWFrZWZp bGUgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gPiA+ID4gIGRyaXZlcnMvY2xrL3N0YXJmaXZl L2Nsay1zdGFyZml2ZS1jb21tb24uaCAgICB8ICAgOSArLQ0KPiA+ID4gPiAgZHJpdmVycy9jbGsv c3RhcmZpdmUvamg4MTAwL01ha2VmaWxlICAgICAgICAgIHwgICAzICsNCj4gPiA+ID4gIC4uLi9j bGsvc3RhcmZpdmUvamg4MTAwL2Nsay1zdGFyZml2ZS1qaDgxMDAuaCB8ICAxMSArDQo+ID4gPiA+ ICBkcml2ZXJzL2Nsay9zdGFyZml2ZS9qaDgxMDAvY2xrLXN5cy5jICAgICAgICAgfCA0NTUgKysr KysrKysrKysrKysrKysrDQo+ID4gPiA+ICA3IGZpbGVzIGNoYW5nZWQsIDQ5NSBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9j bGsvc3RhcmZpdmUvamg4MTAwL01ha2VmaWxlDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9jbGsvc3RhcmZpdmUvamg4MTAwL2Nsay1zdGFyZml2ZS1qaDgxMDAuaA0KPiA+ID4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL3N0YXJmaXZlL2poODEwMC9jbGstc3lz LmMNCj4gLi4uDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zdGFyZml2ZS9NYWtl ZmlsZSBiL2RyaXZlcnMvY2xrL3N0YXJmaXZlL01ha2VmaWxlDQo+ID4gPiA+IGluZGV4IDAxMmY3 ZWU4M2Y4ZS4uNmNiM2NlODIzMzMwIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2Nsay9z dGFyZml2ZS9NYWtlZmlsZQ0KPiA+ID4gPiArKysgYi9kcml2ZXJzL2Nsay9zdGFyZml2ZS9NYWtl ZmlsZQ0KPiA+ID4gPiBAQCAtMTAsMyArMTAsNCBAQCBvYmotJChDT05GSUdfQ0xLX1NUQVJGSVZF X0pINzExMF9BT04pCSs9IGNsay1zdGFyZml2ZS1qaDcxMTAtYW9uLm8NCj4gPiA+ID4gIG9iai0k KENPTkZJR19DTEtfU1RBUkZJVkVfSkg3MTEwX1NURykJKz0gY2xrLXN0YXJmaXZlLWpoNzExMC1z dGcubw0KPiA+ID4gPiAgb2JqLSQoQ09ORklHX0NMS19TVEFSRklWRV9KSDcxMTBfSVNQKQkrPSBj bGstc3RhcmZpdmUtamg3MTEwLWlzcC5vDQo+ID4gPiA+ICBvYmotJChDT05GSUdfQ0xLX1NUQVJG SVZFX0pINzExMF9WT1VUKQkrPSBjbGstc3RhcmZpdmUtamg3MTEwLXZvdXQubw0KPiA+ID4gPiAr b2JqLSQoQ09ORklHX0NMS19TVEFSRklWRV9KSDgxMDBfU1lTKQkrPSBqaDgxMDAvDQo+ID4gPg0K PiA+ID4gSSBkb24ndCByZWFsbHkgc2VlIHdoeSBkbyB5b3UgbmVlZCBhIHNwZWNpYWwgc3ViZGly ZWN0b3J5IGZvciB0aGUgSkg4MTAwPyBUaGUNCj4gPiA+IEpINzExMCBkcml2ZXJzIGRvIGZpbmUg d2l0aG91dCBpdC4NCj4gPiBFYWNoIHN1YmZvbGRlciBjYW4gcmVwcmVzZW50IGEgZGlmZmVyZW50 IHBsYXRmb3JtLCBtYWtpbmcgaXQgZWFzaWVyIHRvDQo+ID4gbG9jYXRlIGFuZCBtYWludGFpbiBw bGF0Zm9ybS1zcGVjaWZpYyBjb2RlLiBTaW5jZSB0aGUgY29kZSBpcyBleHBlY3RlZA0KPiA+IHRv IGdyb3cgaW4gdGhlIGZ1dHVyZSwgbGV0J3Mgc3RhcnQgb3JnYW5pemluZyBpdCBpbiBhIGZvbGRl ci1iYXNlZCBzdHJ1Y3R1cmUNCj4gPiBmb3IgZWFzaWVyIG1haW50ZW5hbmNlIGF0IGEgbGF0ZXIg c3RhZ2UuDQo+IA0KPiBZZXMsIGJ1dCB0aGF0J3Mgbm90IHdoYXQgeW91J3JlIGRvaW5nIGhlcmUu IFlvdSdyZSBtYWtpbmcganVzdCBvbmUgb2YgdGhlIDMNCj4gYWxtb3N0IGlkZW50aWNhbCBkcml2 ZXJzIGJlIGRpZmZlcmVudCBmb3Igbm8gZ29vZCByZWFzb24uDQo+IA0KPiA+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9jbGsvc3RhcmZpdmUvY2xrLXN0YXJmaXZlLWNvbW1vbi5oIGIvZHJpdmVy cy9jbGsvc3RhcmZpdmUvY2xrLXN0YXJmaXZlLWNvbW1vbi5oDQo+ID4gPiA+IGluZGV4IGZlZDQ1 MzExMzYwYy4uZWMzMGFmMDY1OGNmIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2Nsay9z dGFyZml2ZS9jbGstc3RhcmZpdmUtY29tbW9uLmgNCj4gPiA+ID4gKysrIGIvZHJpdmVycy9jbGsv c3RhcmZpdmUvY2xrLXN0YXJmaXZlLWNvbW1vbi5oDQo+ID4gPiA+IEBAIC0xMDMsNiArMTAzLDEz IEBAIHN0cnVjdCBzdGFyZml2ZV9jbGtfZGF0YSB7DQo+ID4gPiA+ICAJLnBhcmVudHMgPSB7IFsw XSA9IF9wYXJlbnQgfSwJCQkJCQlcDQo+ID4gPiA+ICB9DQo+ID4gPiA+DQo+ID4gPiA+ICsjZGVm aW5lIFNUQVJGSVZFX0dJTlYoX2lkeCwgX25hbWUsIF9mbGFncywgX3BhcmVudClbX2lkeF0gPSB7 CQkJXA0KPiA+ID4gPiArCS5uYW1lID0gX25hbWUsCQkJCQkJCQlcDQo+ID4gPiA+ICsJLmZsYWdz ID0gX2ZsYWdzLAkJCQkJCQlcDQo+ID4gPiA+ICsJLm1heCA9IFNUQVJGSVZFX0NMS19FTkFCTEUg fCBTVEFSRklWRV9DTEtfSU5WRVJULAkJCVwNCj4gPiA+ID4gKwkucGFyZW50cyA9IHsgWzBdID0g X3BhcmVudCB9LAkJCQkJCVwNCj4gPiA+ID4gK30NCj4gPiA+ID4gKw0KPiA+ID4gPiAgc3RydWN0 IHN0YXJmaXZlX2NsayB7DQo+ID4gPiA+ICAJc3RydWN0IGNsa19odyBodzsNCj4gPiA+ID4gIAl1 bnNpZ25lZCBpbnQgaWR4Ow0KPiA+ID4gPiBAQCAtMTE0LDcgKzEyMSw3IEBAIHN0cnVjdCBzdGFy Zml2ZV9jbGtfcHJpdiB7DQo+ID4gPiA+ICAJc3BpbmxvY2tfdCBybXdfbG9jazsNCj4gPiA+ID4g IAlzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+ID4gPiA+ICAJdm9pZCBfX2lvbWVtICpiYXNlOw0KPiA+ ID4gPiAtCXN0cnVjdCBjbGtfaHcgKnBsbFszXTsNCj4gPiA+ID4gKwlzdHJ1Y3QgY2xrX2h3ICpw bGxbOF07DQo+ID4gPg0KPiA+ID4gVGhlc2UgZXh0cmEgc2xvdHMgYXJlIGp1c3QgdXNlZCBmb3Ig Zml4ZWQgZmFjdG9yIGR1bW15IFBMTHMgcmlnaHQgbm93LCBzaW1pbGFyDQo+ID4gPiB0byBob3cg dGhlIEpINzExMCBmaXJzdCB1c2VkIHRoZW0gYW5kIGxhdGVyIGhhZCB0byByZXdvcmsgZHJpdmVy cyBhbmQgZGV2aWNlDQo+ID4gPiB0cmVlcyBmb3IgdGhlIHByb3BlciBQTEwgZHJpdmVyLg0KPiA+ IFllcywgaXRzIGludGVudGlvbiBpcyBzaW1pbGFyIHRvIEpIODEwMC4gV2Ugd2lsbCBzdWJtaXQg b3RoZXIgY2xvY2sNCj4gPiBkb21haW5zIGFuZCBQTEwgYXQgbGF0ZXIgc3RhZ2UgYnV0IG5vdCBz byBzb29uLg0KPiA+ID4NCj4gPiA+IFRoaXMgdGltZSBhcm91bmQgSSdkIG11Y2ggcmF0aGVyIHlv dSB3b3JrIG9uIGdldHRpbmcgdGhlIFBMTCBkcml2ZXIgaW4gZmlyc3QsDQo+ID4gPiBzbyB3ZSBk b24ndCBuZWVkIGFsbCB0aGF0IGNodXJuLg0KPiA+IEkgYW0gc29ycnkgYnV0IHdlIHN0YXJ0ZWQg ZGV2ZWxvcG1lbnQgb24gRlBHQS4gVW5mb3J0dW5hdGVseSwgdGhlIFBMTCBkcml2ZXINCj4gPiBh bmQgb3RoZXIgZG9tYWlucyBhcmUgcGxhbm5lZCB0byBiZSBmaW5pc2hlZCBhdCBhIGxhdGVyIHN0 YWdlLiBJIGhhdmUgdHJpZWQNCj4gPiB0byBtaW5pbWl6ZSB0aGUgY2h1cm4gYXMgbXVjaCBhcyBw b3NzaWJsZS4NCj4gDQo+IEl0J3MgYXdlc29tZSB0aGF0IHlvdSdyZSBiZWdpbm5pbmcgdXBzdHJl YW1pbmcgZWFybHksIGJ1dCBpZiB5b3UgZG9uJ3QgaGF2ZQ0KPiB0aGlzIGluIHNpbGljb24geWV0 LCBob3cgZG8geW91IGV2ZW4ga25vdyB0aGF0IHRoaXMgZHJpdmVyIHdvcmtzPw0KPiANCj4gSWYg eW91J3JlIGp1c3QgdXNpbmcgdGhpcyBmb3IgdGVzdGluZyBvbiBGUEdBcyB5b3UgY2FuIGNyZWF0 ZSBkdW1teSBmaXhlZA0KPiBjbG9ja3MgaW4gdGhlIGRldmljZSB0cmVlIGZvciB0aGUgUExMcyB0 aGF0IHRoaXMgZHJpdmVyIGNhbiBjb25zdW1lLiAgVGhlbg0KPiBsYXRlciB3aGVuIHlvdSBoYXZl IGEgUExMIGRyaXZlciB5b3UgY2FuIHJlcGxhY2UgdGhvc2UgZml4ZWQgY2xvY2tzIHdpdGggdGhl DQo+IG91dHB1dCBvZiB0aGF0IGRyaXZlci4NClRoZSBQTEwgZml4ZWQgY2xvY2tzIHdlcmUgY3Jl YXRlZCBpbiB0aGUgQyBjb2RlLiBJIGludGVycHJldCB0aGlzIG1lc3NhZ2UNCmFzIGEgc3VnZ2Vz dGlvbiB0byBjcmVhdGUgYSBQTEwgZml4ZWQgY2xvY2sgaW4gdGhlIERUPw0KPiANCj4gL0VtaWwN Cg==