From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: ** X-Spam-Status: No, score=2.5 required=3.0 tests=BAYES_00, CHARSET_FARAWAY_HEADER,HEADER_FROM_DIFFERENT_DOMAINS,HTML_FONT_FACE_BAD, HTML_MESSAGE,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65857C2D0A3 for ; Thu, 22 Oct 2020 03:03:41 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 70D49208C3 for ; Thu, 22 Oct 2020 03:03:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 70D49208C3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=zhaoxin.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:46466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVQt9-0007A7-8z for qemu-devel@archiver.kernel.org; Wed, 21 Oct 2020 23:03:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35550) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kVQsI-0006WU-2S for qemu-devel@nongnu.org; Wed, 21 Oct 2020 23:02:46 -0400 Received: from zxshcas1.zhaoxin.com ([203.148.12.81]:44287) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kVQsE-0006mS-Ea for qemu-devel@nongnu.org; Wed, 21 Oct 2020 23:02:45 -0400 Received: from zxbjmbx3.zhaoxin.com (10.29.252.165) by ZXSHCAS1.zhaoxin.com (10.28.252.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Thu, 22 Oct 2020 11:02:33 +0800 Received: from zxbjmbx1.zhaoxin.com (10.29.252.163) by zxbjmbx3.zhaoxin.com (10.29.252.165) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Thu, 22 Oct 2020 11:02:32 +0800 Received: from zxbjmbx1.zhaoxin.com ([fe80::290a:f538:51e7:1416]) by zxbjmbx1.zhaoxin.com ([fe80::290a:f538:51e7:1416%16]) with mapi id 15.01.1979.003; Thu, 22 Oct 2020 11:02:32 +0800 From: FelixCui-oc To: Paolo Bonzini , Alex Williamson Subject: =?gb2312?B?tPC4tDogW1BBVENIIDEvMV0gU2tpcCBmbGF0dmlld19zaW1wbGlmeSgpIGZv?= =?gb2312?Q?r_cpu_vendor_zhaoxin?= Thread-Topic: [PATCH 1/1] Skip flatview_simplify() for cpu vendor zhaoxin Thread-Index: AQHWo6+lIFwCGFufXkSJFIAohPLGXamZlV6AgAUx0wCAAPEVAIAA32uAgACU/oCAALuMAIAAEROAgADx78s= Date: Thu, 22 Oct 2020 03:02:32 +0000 Message-ID: <0e275d4de640431cb07de7fafb4d9ef1@zhaoxin.com> References: <20201016112933.14856-1-FelixCui-oc@zhaoxin.com> <20201016112933.14856-2-FelixCui-oc@zhaoxin.com> <20201019130206.1d3baffc@w520.home> <4d2b96cb-8f7f-2598-39e6-4cf0f61d567b@redhat.com> <20201020164437.5e3cb4ce@w520.home> <783b5ef0-277c-363d-f342-7c0351f9ac16@redhat.com> <20201021124908.53c7a98b@w520.home>, In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.29.8.40] Content-Type: multipart/alternative; boundary="_000_0e275d4de640431cb07de7fafb4d9ef1zhaoxincom_" MIME-Version: 1.0 Received-SPF: pass client-ip=203.148.12.81; envelope-from=FelixCui-oc@zhaoxin.com; helo=ZXSHCAS1.zhaoxin.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/21 23:02:34 X-ACL-Warn: Detected OS = Windows 7 or 8 [fuzzy] X-Spam_score_int: 38 X-Spam_score: 3.8 X-Spam_bar: +++ X-Spam_report: (3.8 / 5.0 requ) BAYES_00=-1.9, CHARSET_FARAWAY_HEADER=3.2, HTML_FONT_FACE_BAD=0.001, HTML_MESSAGE=0.001, MIME_CHARSET_FARAWAY=2.45, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: CobeChen-oc , "qemu-devel@nongnu.org" , Tony W Wang-oc , RockCui-oc , Richard Henderson , Eduardo Habkost Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" --_000_0e275d4de640431cb07de7fafb4d9ef1zhaoxincom_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 aGkgICwNCg0KPkkgYXNzdW1lIGl0J3MgdGhlIEJJT1MncyBkcml2ZXIgYW5kIGl0J3MgY2hvb3Np bmcgYSByYW5nZSBpbiBsb3cgbWVtb3J5LA0KPmJ1dCBzdGlsbCBJJ20gbm90IHN1cmUgd2h5IGl0 cyBETUEgaXMgcmFjaW5nIGFnYWluc3QgdGhlIFBBTSB1cGRhdGUNCj4od2hpY2ggaXMgZG9uZSB2 ZXJ5IGVhcmx5KS4gIEZlbGl4LCBkbyB5b3Uga25vdyB0aGUgYW5zd2VyPw0KDQoNClRoaXMgYnVn IGlzIHRyaWdnZXJlZCBieSBtYWtlX2Jpb3NfcmVhZG9ubHkoKSBpbiBzZWFiaW9zLiBNYWtlX2Jp b3NfcmVhZG9ubHkoKSB3aWxsIHdyaXRlIHBhbSByZWdpc3Rlci4NCg0KQW5kIGVoY2lfc2V0dXAo KSBpcyBleGVjdXRlZCBiZWZvcmUgbWFrZV9iaW9zX3JlYWRvbmx5KCkuIEFmdGVyIGluaXRpYWxp emluZyBFSENJIGluIHNlYWJpb3MsIGl0IHdpbGwNCg0KY29udGludW91c2x5IHNlbmQgZG1hIGN5 Y2xlcy4gU28gd2hlbiB3cml0ZSBwYW0gcmVnaXN0ZXIsIHRoaXMgYnVnIGFwcGVhcmVkLg0KDQoN CkluIGFkZGl0aW9uLCBiZWZvcmUgd3JpdGUgcGFtIHJlZ2lzdGVycywgZmxhdHZpZXdfc2ltcGxp ZnkoKSBoYXMgbWVyZ2VkIGEgdmVyeSBsYXJnZSByYW5nZS5Gb3IgZXhhbXBsZSwNCg0KdGhpcyBs YXJnZSByYW5nZSBpcyAweGMwMDAwLTB4YmZmZmZmZmYuIFNvIGV2ZW4gaWYgRUhDSSBpcyBjb25m aWd1cmVkIHRvIG5vdCBhbGxvY2F0ZSBidWZmZXJzIGluIGxvdyBtZW1vcnksDQoNCnRoaXMgYnVn IHdpbGwgc3RpbGwgb2NjdXIuVGhhbmtzLg0KDQoNCkJlc3QgcmVnYXJkcw0KDQpGZWxpeGN1aS1v Yw0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0Kt6K8/sjLOiBQYW9sbyBCb256 aW5pIDxwYm9uemluaUByZWRoYXQuY29tPg0Kt6LLzcqxvOQ6IDIwMjDE6jEw1MIyMsjVIDM6NTA6 MTUNCsrVvP7IyzogQWxleCBXaWxsaWFtc29uDQqzrcvNOiBGZWxpeEN1aS1vYzsgUmljaGFyZCBI ZW5kZXJzb247IEVkdWFyZG8gSGFia29zdDsgcWVtdS1kZXZlbEBub25nbnUub3JnOyBSb2NrQ3Vp LW9jOyBUb255IFcgV2FuZy1vYzsgQ29iZUNoZW4tb2MNCtb3zOI6IFJlOiBbUEFUQ0ggMS8xXSBT a2lwIGZsYXR2aWV3X3NpbXBsaWZ5KCkgZm9yIGNwdSB2ZW5kb3Igemhhb3hpbg0KDQpPbiAyMS8x MC8yMCAyMDo0OSwgQWxleCBXaWxsaWFtc29uIHdyb3RlOg0KPiBJIGNhbiB1bmRlcnN0YW5kIHRo ZSBnZW5lcmFsIGJlbmVmaXQgb2YgZmxhdHZpZXdfc2ltcGxpZnkoKSwgYnV0IEkNCj4gd29uZGVy IGlmIHRoZSBiZXN0IHNob3J0IHRlcm0gc29sdXRpb24gaXMgdG8gc2tpcCBvcGVyYXRpbmcgb24g dGhlIHg4Ng0KPiBQQU0gcmFuZ2UsIHdoaWNoIEkgdW5kZXJzdGFuZCB0byBiZSBhIHNtYWxsIG51 bWJlciBvZiBtZW1vcnkgY2h1bmtzDQo+IGJlbG93IDFNQi4NCg0KSSdkIHJhdGhlciByZW1vdmUg ZmxhdHZpZXdfc2ltcGxpZnkgYWx0b2dldGhlciwgaXQgcHJvYmFibHkgdHJpZ2dlcnMNCnJlbGF0 aXZlbHkgcmFyZWx5LiAgUG9zc2libHkgZG8gbm90IGxldCBpdCBvcGVyYXRlIG9uIFJBTS9ST00g cmVnaW9ucywNCm9ubHkgb24gSS9PIHJlZ2lvbnMuDQoNCj4gSSBtaWdodCBhbHNvIHdvbmRlciB3 aHkgdGhlIEVIQ0kgY29udHJvbGxlciBvbiB0aGlzDQo+IHBsYXRmb3JtIGlzIGNob29zaW5nIHRo YXQgcmFuZ2UgZm9yIERNQS4NCg0KSSBhc3N1bWUgaXQncyB0aGUgQklPUydzIGRyaXZlciBhbmQg aXQncyBjaG9vc2luZyBhIHJhbmdlIGluIGxvdyBtZW1vcnksDQpidXQgc3RpbGwgSSdtIG5vdCBz dXJlIHdoeSBpdHMgRE1BIGlzIHJhY2luZyBhZ2FpbnN0IHRoZSBQQU0gdXBkYXRlDQood2hpY2gg aXMgZG9uZSB2ZXJ5IGVhcmx5KS4gIEZlbGl4LCBkbyB5b3Uga25vdyB0aGUgYW5zd2VyPw0KDQpQ YW9sbw0KDQo= --_000_0e275d4de640431cb07de7fafb4d9ef1zhaoxincom_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

hi  ,

>I assume it's t= he BIOS's driver and it's choosing a range in low memory,
>but still I'm not = sure why its DMA is racing against the PAM update
>(which is done ver= y early).  Felix, do you know the answer?


This bug is trigger= ed by make_bios_readonly() in seabios. Make_bios_readonly() will write pam = register.

And ehci_setup= () is executed before make_bios_readonly(). After initializing EHCI in= seabios, it will

continuously send d= ma cycles. So when write pam register, this bug appeared.


= In addition, before write pam registers= , flatview_simplify() has merged a very large range.For example,

= this large range is 0xc0000-0xbfffffff.=  So even if EHCI is configured to not allocate buffers in low memory,<= /span>

= this bug will still occur.Thanks.

=

= Best regards

= Felixcui-oc


=B7=A2=BC=FE=C8=CB: Paolo= Bonzini <pbonzini@redhat.com>
=B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA10=D4=C222=C8=D5 3:50:15
=CA=D5=BC=FE=C8=CB: Alex Williamson
=B3=AD=CB=CD: FelixCui-oc; Richard Henderson; Eduardo Habkost; qemu-= devel@nongnu.org; RockCui-oc; Tony W Wang-oc; CobeChen-oc
=D6=F7=CC=E2: Re: [PATCH 1/1] Skip flatview_simplify() for cpu vendo= r zhaoxin
 
On 21/10/20 20:49, Alex Williamson wrote:
> I can understand the general benefit of flatview_simplify(), but I
> wonder if the best short term solution is to skip operating on the x86=
> PAM range, which I understand to be a small number of memory chunks > below 1MB.

I'd rather remove flatview_simplify altogether, it probably triggers
relatively rarely.  Possibly do not let it operate on RAM/ROM regions,=
only on I/O regions.

> I might also wonder why the EHCI controller on this
> platform is choosing that range for DMA.

I assume it's the BIOS's driver and it's choosing a range in low memory, but still I'm not sure why its DMA is racing against the PAM update
(which is done very early).  Felix, do you know the answer?

Paolo

--_000_0e275d4de640431cb07de7fafb4d9ef1zhaoxincom_--