From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2914743382; Wed, 22 Nov 2023 18:46:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A5145402C7; Wed, 22 Nov 2023 18:46:02 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2072.outbound.protection.outlook.com [40.107.223.72]) by mails.dpdk.org (Postfix) with ESMTP id 47F57402BE for ; Wed, 22 Nov 2023 18:46:01 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QgwNso8AWHm0yAKWpehs8HszuY/0hQ1LdqqmWzW4QAn0DNn0zOasoSxKKtemlXWBVviAU7M9wN4mE1F7XCnwr28K8Bvt4xv3ZpN1UeTblBMza4lnhC0pMOY13aASzVA+TY3HKQmVhGhFQzPYl9XhBV6sVUM1HFGRI/wuLiG0G68w+OPzK3bwNTfo6mF+LvvJ3xZRNyVvq4KKBjMpmxlEjZBqFb/owKytvMVIHhYni2et3lSMMItBsU3mgFq9Bpk5RD2Yl7PQeuJnBHEoxtp/PJuwXbZZ2X07pRTCCirryOlrpRRc2fhacxsqfRF5ex19axxD7Fx78NemY8bDo20DQg== 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=UAlDVrYdB+T1py7ZfOSS8tgHud5oJgbyjX8mV5rLMRA=; b=jU5JSnB6y5oD8CWu2gFEVINHBQ+j6IAGLi9KGcZ1OBX4EEKn45lxyFMNBdpwcSc57vH/PMqK36tU9gqBCwxNX/vh+1+O1xVotueqnRAe/fiDMDCBTLE6JXy4wX+ii21dJOoJtm2Yvh51nPMFgWQZfSK/A45ciksqi+SNynILeUTTAAA4L0xi/uonmId9guFsdnkaTjJQZqDmDsVaYR2Hltl9EDXgsJBO4iVWo9eK9UxI4WIvV9Af3ThHYfDZre/oqxDXSXRZK1sC2ccqPp5VKmuVV8F605k2W4QQkofEwUD9wgKC5gBRU+xA/4yPvmhzcOeIqiTQVZqAAViPAkztiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UAlDVrYdB+T1py7ZfOSS8tgHud5oJgbyjX8mV5rLMRA=; b=0jsYZx2mTrwDAjtwAddJU7IeQaZNAgQozPvnRzp82XK4SXECJzo2kDlmZVjy1IbD/dcSQH5PL5HJnuYenF7etnRyvx/NHTUlrnPJFQPZJit/sn1UxhWXBMLXW3aM8x1fWw2m3ac9S0z4dQU0QHGsq48tYQc/UuaB1l/lgW1IQRI= Received: from DM3PR12MB9286.namprd12.prod.outlook.com (2603:10b6:8:1ae::6) by PH7PR12MB6739.namprd12.prod.outlook.com (2603:10b6:510:1aa::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov 2023 17:45:58 +0000 Received: from DM3PR12MB9286.namprd12.prod.outlook.com ([fe80::2f17:4c1d:b750:cc44]) by DM3PR12MB9286.namprd12.prod.outlook.com ([fe80::2f17:4c1d:b750:cc44%4]) with mapi id 15.20.7025.017; Wed, 22 Nov 2023 17:45:58 +0000 From: "Tummala, Sivaprasad" To: "Yigit, Ferruh" , "bruce.richardson@intel.com" , "konstantin.v.ananyev@yandex.ru" CC: "dev@dpdk.org" , David Marchand Subject: RE: [PATCH] eal/x86: add vendor ID checks for specific implementation Thread-Topic: [PATCH] eal/x86: add vendor ID checks for specific implementation Thread-Index: AQHaEs2yW5m4UdxQdUqvJp1/3LubRbCGR5kAgABn79A= Date: Wed, 22 Nov 2023 17:45:58 +0000 Message-ID: References: <20231109052820.2129745-1-sivaprasad.tummala@amd.com> <66767370-5959-46b3-a58f-202d2411d266@amd.com> In-Reply-To: <66767370-5959-46b3-a58f-202d2411d266@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=4d9b66df-9bcc-4f89-98ae-9ac57503c0fc; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-11-22T17:37:30Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM3PR12MB9286:EE_|PH7PR12MB6739:EE_ x-ms-office365-filtering-correlation-id: f3d5c249-6723-403e-a1b5-08dbeb82e2d2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xYLx26CrsH3zN/srIfV3cM2DF8FBgWjiLFp7mGU8SOZsO6ypgWwMATyHcKsxswK2P4jqF8EZ+6ziEXIok6DzCsdxaXNdLf8Jjv59NC6BWe6Oj+PvrLYTvXpq6t+6fz/ySqUqPWpZ6P0aZkxtqgnxh+LyuNP+Jj9V2URPHC0R3AC7dVGE7El79SGjxSIl1Z/7e0BoZdqwHWJjw5CiKTfv1GuV7No0ohevrwGULg8Ol69N8Rc6WGbsAPF52+CQSCwqoxmDAlcNbIVeLaAmMQE6Z1M1NXBVQjx8pNoHR1ij+OigahwM39HdnFJDkX5TnyXHfQdZ8dWrDX0MGrElPRQ+7PRzbLFgiWqCX6KNIYRwA74G9FJmSH/Zsj5hz9oK+/a8Zqu12M/bAj8055YjhHQha3vOAhZVvlsBbYSWIqTbUuRLgNd/0H8WsPPJa7ORn7YG0MK+IR80hcbK5ZND51gR+hapzS309CAuw0aC9uYthBQDF7GVOap0H+WZIMvV1XZZeZwqyOsfef3V3xoUVsfDFCuGpiwhedLIlTg4cDgx/f9zDaiuMRJOhqlEtMkw4oG75nC/QerkuimSvi1snZaHBJifHjNVt/TgE0Qwh0w8su+oQw0kOux97gwN2lkf4kERqgwBHwIXB1rz8cxK4vG6tA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM3PR12MB9286.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(39860400002)(366004)(376002)(346002)(396003)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(55016003)(38070700009)(86362001)(66476007)(54906003)(110136005)(316002)(7696005)(6506007)(76116006)(71200400001)(66446008)(64756008)(66556008)(122000001)(66946007)(33656002)(9686003)(83380400001)(53546011)(26005)(2906002)(5660300002)(478600001)(966005)(52536014)(41300700001)(8936002)(8676002)(4326008)(38100700002)(23180200003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RGRsaFJUMFY5RUxSeUdTTUk1ZnphR2pFaWJzMk9qeGtqSnZ1ZXZvQ3hGRFVZ?= =?utf-8?B?bnYvR0ZPWVkzZDUwU1I1MDdLcHRmMVJnTnZOeGlWVVNWdkd2bzlCdzhHVXVP?= =?utf-8?B?THZ1ZlgvbjlsY1RiWlo4RXp3YU9YLzFPMHFoSldIblQzWkwrMVVOWnEwR2w4?= =?utf-8?B?N2lhUGpSTEE0MlFhNW1xNHIwNkxhRU1xSjVORUlPWWo4SzlhcExqSGxqWlZv?= =?utf-8?B?NTI3OXV3R0xNMHYrbjBwQktUeDB2cis5TW9SVlZuSDZmNk52TnB6K3FvQUlM?= =?utf-8?B?TDF0SFBhcTh5aUdxb3IyckwzelRLdTlIR1RMejVnNjZ5Z1lRVGpFQXhSUVJR?= =?utf-8?B?dGNSMkh6U1RQSiswZFBzUnRHa0tQcDN5cHlLUTlpTGlMOTI0M01FdXJKOTJR?= =?utf-8?B?TERMdko1MXgvVFNlbzJsdExSaVJFakJRRW5EaXdOcUNwU0Rna1llOXpvK2VZ?= =?utf-8?B?NmVMWXk3SXYrcEE2WFpRdG94eFo2L1YzQWE5aVZuOHdVNEdxQXlJd25UVW9z?= =?utf-8?B?MDRESHgwRFVvNzVKb3NuSXBqNnkzaU5RbkNlcC9GT3ROWTJUZEc2NmpRVTk0?= =?utf-8?B?RHQ3bFFtUWJtSTUwSXF4NUZpUURtbzQxVVhRV2xvQTJiamxNd0o0NUpZVEdT?= =?utf-8?B?dGZyZW9WK2FTMEhPOW43ekdydHhaT1BUcHVLYWJMK3RpcStNelZVeWFBZS9F?= =?utf-8?B?TkdYdlZYQVlsYlVwajBwcjg5TXczYVNwWTlOazJCSFZkTWF0cHg4c1E4S1Jh?= =?utf-8?B?emRhRVVrLzlySWNwSVVsQjhoTHU5aWs5WDRUZlNEalhENkRPSWNzTnNlNDZu?= =?utf-8?B?cDQyL3FUeFFzN2x1QWxuZW1LZGlIVjJPRXg3bmVmQkhuNmY1RHJWSXJ3OWdU?= =?utf-8?B?WDJaQWNmbVp5c3QzNUYzV0lYWHpMV3hCU0kyc3l6dDVNeW5HWjJjV0NEVGlL?= =?utf-8?B?TkxUZWRhWGdIYkQxYTYvS0N5WUh1VEZlUTQyUWsweWhQT1phbllWQTRZT2hz?= =?utf-8?B?Z0ZaYXM3Z3V0ZEFJM3lVb1hWend4eGdTR3Nna2kvWHVhemt1bzlhOHR1WkpW?= =?utf-8?B?ckhnT2J0Ymw5T3U1b0loc0xqVXN4RXVxdlozUTBmeFBlNHpocnl4UHRJTUJO?= =?utf-8?B?bU4vZ3N1eWNRRXNRcWNsalBLeE9KbURrTGJwY2p4eGd0MGl3czVNYXRSM3Bm?= =?utf-8?B?b2VEVXh1UEROT0ZmQjNQUitPQVdZOWZ0QWxnY1FiRVpuY0VhN3d5MjFmUUlL?= =?utf-8?B?QXREYWxVRE5LTkdpaVYxbHVXSEFaTk9QeXppNmlXUTBzYTJrTGo1aUh2MS9w?= =?utf-8?B?YVB2ZDJ4cnMvd2YvaC94UWx3dTlEelZPTklGcXV6V1ZueS9JVzE2ZExXeWh1?= =?utf-8?B?RmpIdzFTUWVSeW00NzF1Y0hPUUxoWnB6ODhqUTB2K2RpRGxhY2c2YllSTGFx?= =?utf-8?B?Y1F4K0hZWmFZUExwcC84NzhaSnphOHNkTk9NVlJHc296dkF5K0xlL0Y5V2Jr?= =?utf-8?B?MDNBVk5sc3lsNTIxNzVSQ2pId1poakplcnF5Y1kzWUZvM0h3dDNsejRKU2xF?= =?utf-8?B?ZDZORWJ5Z3pCNG5CTFZzWTQ2YmgvYkpPNGE4bWIveVNuK3VNMTdLMkNBUjdQ?= =?utf-8?B?NDhtTmtpNDM1WDhmcHRUeEFLMjJuSDU1VS8zQlUvL0Nybnc1R1llcVhZeUt2?= =?utf-8?B?K0x6VXpyTHEyZ2RGc3lVNnpTdG5vMG9mclJ1SmxRWVdiYnVCUENqdjR4cTVL?= =?utf-8?B?eUwrdHJaaVljMjZzRTFNeTJBeHpRcjM3a21POEtQOVhOeGZTRFh0SWpOaisv?= =?utf-8?B?L093eWRMbUZIdnhLV3A3bVZYTkVMNDdzeWZpam1wUnRpKzEzY2ExVjJUMkgx?= =?utf-8?B?TkJjcTdSOWNVbitndkxNR2J5eFNtTFcrRXhWSTcvUEk1NThHZ1hpT3BoNEVP?= =?utf-8?B?dW1BYXdiOUs4cDlPUk9obExMQzZ3MkVJV3NhbExyc1VJTm56bTZ6UXN6bjFi?= =?utf-8?B?NmpxeTdPMjlia1FZS0ZnNUp3SGw0NkRQMk5TaENkQk5CQSs5am5uQVBFYUFZ?= =?utf-8?B?ZEFTMjA5YmkxUTF1MW1XTmdNeFMyNk5lMENpMDlBZXczVlRicmZVV0NES2du?= =?utf-8?Q?yV2Y=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM3PR12MB9286.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f3d5c249-6723-403e-a1b5-08dbeb82e2d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 17:45:58.6668 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uyKiOyOng5RELO848MDUghfqiX6WPeSPU0Rl3WEPl67qin0lpM629TOhditkI3mCigWty2/xtufEGSzm6YwebA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6739 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCkhpIEZlcnJ1aCwNCg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZaWdpdCwgRmVycnVoIDxGZXJydWguWWln aXRAYW1kLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAyMiwgMjAyMyA0OjU2IFBN DQo+IFRvOiBUdW1tYWxhLCBTaXZhcHJhc2FkIDxTaXZhcHJhc2FkLlR1bW1hbGFAYW1kLmNvbT47 DQo+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyBrb25zdGFudGluLnYuYW5hbnlldkB5YW5k ZXgucnUNCj4gQ2M6IGRldkBkcGRrLm9yZzsgRGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5k QHJlZGhhdC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGVhbC94ODY6IGFkZCB2ZW5kb3Ig SUQgY2hlY2tzIGZvciBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbg0KPg0KPiBPbiAxMS85LzIwMjMg NToyOCBBTSwgU2l2YXByYXNhZCBUdW1tYWxhIHdyb3RlOg0KPiA+IEN1cnJlbnQgZ2V0X3RzY19m cmVxX2FyY2goKSBpbXBsZW1lbnRhdGlvbiBpcyBzcGVjaWZpYyBmb3IgSW50ZWwNCj4gPiBwcm9j ZXNzb3JzLg0KPiA+DQo+ID4gQWRkZWQgdmVuZG9yIGNoZWNrcyB0byBncmFjZWZ1bGx5IHJldHVy biBvbiBBTUQgRVBZQyBwcm9jZXNzb3JzLg0KPiA+DQo+DQo+IEhpIFNpdmEsDQo+DQo+IElzIHRo aXMgZml4aW5nIGFuIGlzc3VlIGluIEFNRCBwbGF0Zm9ybSwgaWYgc28gY2FuIHlvdSBwbGVhc2Ug ZGVzY3JpYmUgdGhlIGltcGFjdCBvZg0KPiB0aGUgaXNzdWUgYW5kIGFkZCBmaXhlcyB0YWc/DQpZ ZXMsIHRoaXMgcGF0Y2ggZml4ZXMgaW5jb3JyZWN0IFRTQyBpc3N1ZSBvbiBBTUQgcGxhdGZvcm1z LiBTdXJlLCB3aWxsIGFkZCB0aGUgZml4ZXMgdGFnIGluIG5leHQgdmVyc2lvbi4NCj4NCj4NCj4g PiBTaWduZWQtb2ZmLWJ5OiBTaXZhcHJhc2FkIFR1bW1hbGEgPHNpdmFwcmFzYWQudHVtbWFsYUBh bWQuY29tPg0KPiA+IC0tLQ0KPiA+ICBsaWIvZWFsL3g4Ni9ydGVfY3ljbGVzLmMgfCAxNiArKysr KysrKysrKysrKysrDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspDQo+ID4N Cj4gPiBkaWZmIC0tZ2l0IGEvbGliL2VhbC94ODYvcnRlX2N5Y2xlcy5jIGIvbGliL2VhbC94ODYv cnRlX2N5Y2xlcy5jIGluZGV4DQo+ID4gNjllZDU5YjRmMC4uZjE0N2E1MjMxZCAxMDA2NDQNCj4g PiAtLS0gYS9saWIvZWFsL3g4Ni9ydGVfY3ljbGVzLmMNCj4gPiArKysgYi9saWIvZWFsL3g4Ni9y dGVfY3ljbGVzLmMNCj4gPiBAQCAtMTAsNiArMTAsMTAgQEANCj4gPiAgI2luY2x1ZGUgPGNwdWlk Lmg+DQo+ID4gICNlbmRpZg0KPiA+DQo+ID4gKyNkZWZpbmUgeDg2X3ZlbmRvcl9hbWQodDEsIHQy LCB0MykgICAgICAgIFwNCj4gPiArICAgKCh0MSA9PSAweDY4NzQ3NTQxKSAmJiAvKiBodHVBICov ICAgXA0KPiA+ICsgICAgKHQyID09IDB4NDQ0ZDQxNjMpICYmIC8qIERNQWMgKi8gICBcDQo+ID4g KyAgICAodDMgPT0gMHg2OTc0NmU2NSkpICAgLyogaXRuZSAqLw0KPiA+DQo+ID4gICNpbmNsdWRl ICJlYWxfcHJpdmF0ZS5oIg0KPiA+DQo+ID4gQEAgLTExMCw2ICsxMTQsMTggQEAgZ2V0X3RzY19m cmVxX2FyY2godm9pZCkNCj4gPiAgICAgdWludDhfdCBtdWx0LCBtb2RlbDsNCj4gPiAgICAgaW50 MzJfdCByZXQ7DQo+ID4NCj4gPiArI2lmZGVmIFJURV9UT09MQ0hBSU5fTVNWQw0KPiA+ICsgICBf X2NwdWlkKGNwdWluZm8sIDApOw0KPiA+DQo+DQo+IFdlIGFscmVhZHkgZGlzY3Vzc2VkIGluIHRo ZSBwYXN0IHRvIGFic3RyYWN0IHRoZSBjcHVpZCgpLCBldmVuIERhdmlkIHNlbnQgYSBwYXRjaA0K PiBmb3IgaXQgWzFdLg0KPg0KPiBJZiB0aGlzIGlzIGN1c3RvbWVyIGZhY2luZyBpc3N1ZSwgT0sg dG8gZ2V0IGl0IGFzIGl0IGlzIGZvciB0aGUgcmVsZWFzZSwgYnV0IGluIGxvbmcgdGVybQ0KPiBJ IHRoaW5rIGJldHRlciBpZGVhIHRvIHN3aXRjaCB0byBhYnN0cmFjdC4NClllcywgdGhpcyBmaXhl cyBhIGN1c3RvbWVyIGlzc3VlLiBTdXJlLCB3aWxsIGxvb2sgaW50byB0aGlzIGluIHRoZSBsb25n IHRlcm0gYXMgdGhlIGJlbG93IHBhdGNoIHNlcmllcyBpbiAiRGVmZXJyZWQiDQoNCj4NCj4NCj4g WzFdDQo+IGh0dHBzOi8vcGF0Y2h3b3JrLmRwZGsub3JnL3Byb2plY3QvZHBkay9saXN0Lz9zZXJp ZXM9Mjk2MDUmc3RhdGU9Kg0KPg0KPg0KPiA+ICsgICBhID0gY3B1aW5mb1swXTsNCj4gPiArICAg YiA9IGNwdWluZm9bMV07DQo+ID4gKyAgIGMgPSBjcHVpbmZvWzJdOw0KPiA+ICsgICBkID0gY3B1 aW5mb1szXTsNCj4gPiArI2Vsc2UNCj4gPiArICAgX19jcHVpZCgwLCBhLCBiLCBjLCBkKTsNCj4g PiArI2VuZGlmDQo+ID4gKyAgIGlmICh4ODZfdmVuZG9yX2FtZChiLCBjLCBkKSkNCj4gPiArICAg ICAgICAgICByZXR1cm4gMDsNCj4gPiArDQo+ID4gICAgIC8qDQo+ID4gICAgICAqIFRpbWUgU3Rh bXAgQ291bnRlciBhbmQgTm9taW5hbCBDb3JlIENyeXN0YWwgQ2xvY2sNCj4gPiAgICAgICogSW5m b3JtYXRpb24gTGVhZg0KDQo=