From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 57CF5740038 for ; Tue, 4 Jun 2024 01:12:08 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=FnZTvyW6gIyUu/UE2Ds41qiSh1Rz3U9aZfYwZMaS8eQ=; c=relaxed/simple; d=groups.io; h=Date:From:To:Subject:References:Mime-Version:Message-ID:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type; s=20240206; t=1717463528; v=1; b=pbBOTlPtlPXXHFk8L5DOC46YJQ8hi48r2U34OWdhauDymUo5PhYup7qug7QhJUPOh9/NTHoC IeRz+PP6NRsTyB1i2IReI9vFa+PH4b86w0snRyTgcX0DYnMt6snYaaoz9duO0ZTPsDFgANURCLk CBqppNGbajosCnIbHId8JvcgwXhCdsQ1PKP2xsQkcUeitsK+G93/zzFPwWzju0CeVDYL5Ao8bM+ DByqDf+LTUTWk/Mm8OOLRXpvuJ10tMIk+75dfjI7s0R/2yC6lJu10N+sH0HNwPZGIt08N013hC4 0ivkvHYmSByul2IqiWBXOyoUdYuBnImmmMynR4m9qUIbw== X-Received: by 127.0.0.2 with SMTP id 3L4ZYY7687511xTGLerwVJYM; Mon, 03 Jun 2024 18:12:06 -0700 X-Received: from cxsh.intel-email.com (cxsh.intel-email.com [121.46.250.151]) by mx.groups.io with SMTP id smtpd.web10.10875.1717463524202384408 for ; Mon, 03 Jun 2024 18:12:06 -0700 X-Received: from cxsh.intel-email.com (localhost [127.0.0.1]) by cxsh.intel-email.com (Postfix) with ESMTP id 2EEB4DDA870 for ; Tue, 4 Jun 2024 09:11:56 +0800 (CST) X-Received: from localhost (localhost [127.0.0.1]) by cxsh.intel-email.com (Postfix) with ESMTP id 2AC5ADDA85B for ; Tue, 4 Jun 2024 09:11:56 +0800 (CST) X-Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by cxsh.intel-email.com (Postfix) with SMTP id CC2E9DDA859 for ; Tue, 4 Jun 2024 09:11:53 +0800 (CST) X-Received: from DESKTOP-M5NI163 ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP(SSL) for ; Tue, 04 Jun 2024 09:11:48 +0800 X-WM-Sender: fanjianfeng@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: fanjianfeng@byosoft.com.cn Date: Tue, 4 Jun 2024 09:11:50 +0800 From: "Jeff Fan via groups.io" To: yoshinoyatoko , "devel@edk2.groups.io" Subject: =?UTF-8?B?5Zue5aSNOiBSZTogW2VkazItZGV2ZWxdIElzIERFQlVHIG91dHB1dCBmdW5jdGlvbiBzYWZlIGZvciBNUCBjYXNlPw==?= References: <2d8e2935.5b57.18fcd506481.Coremail.yoshinoyatoko@163.com>, <2024053114334025493514@byosoft.com.cn>, <4ba43421.8f62.18fdd334dbc.Coremail.yoshinoyatoko@163.com> X-Priority: 3 X-Has-Attach: no Mime-Version: 1.0 Message-ID: <2024060409114975134835@byosoft.com.cn> Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Mon, 03 Jun 2024 18:12:06 -0700 Resent-From: fanjianfeng@byosoft.com.cn Reply-To: devel@edk2.groups.io,fanjianfeng@byosoft.com.cn List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: StMPCDmQPQAp67u4zNFvewICx7686176AA= Content-Type: multipart/alternative; boundary="----=_001_NextPart037824145511_=----" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=pbBOTlPt; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io ------=_001_NextPart037824145511_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 QXMgQW5kcmV3IG1lbnRpb25lZCwgREVCVUcoKSBpcyBOT1Qgc2FmZSBmb3IgTVAuIA0KDQpHZW5l cmFsbHksIGtlcm5lbCBtb2R1bGVzIGFyZSBub3Qgc3VnZ2VzdGVkIHRvIHVzZSBERUJVRygpIGlu IEFQIGNvZGUgYmVjYXN1ZSB0aGV5IGFyZSBub3QgdGhlIGRlY2lzaW9uIG1ha2VyIG9uIHRoZSBm aW5hbCBEZWJ1TGliIGluc3RhbmNlLg0KSWYgeW91IGNvdWxkIG1ha2Ugc3VyZSB0aGUgRGVidWdM aWIgaW5zdGFuY2UgcGxhdGZvcm0gc2VsZWN0ZWQgb25seSBiYXNlZCBvbiBJL08gb3IgTU1JTyBv cGVyYXRpb25zLCB5b3UgY291bGQgdXNlIERFQlVHKCkgaW4gQVAgZm9yIGRlYnVnaW5nIG9yIHRl c3RpbmcgcHVycG9zZS4NClRvIGF2b2lkIG1lc3Mgb3V0cHV0IG1lc3NhZ2UgZHVlIHRvIG11bHRp cGxlIEFQcywgeW91IG1heSB1c2Ugc3BpbmxvY2sgdG8gcHJvdGVjdCBERUJVRygpIGludm9raW5n Lg0KDQpGb3IgcnVudGltZSAoZm9yIGV4YW1wbGUgU01NIEFQIGNvZGUpLCAgdGhlIHVwcGVyIG1l dGhvZCBtYXkgbm90IHdvcmsgYmVjYXNldSBPUyBtYXkgdGFrZSBjb250cm9sIG9uIFNlcmlhbCBQ b3J0LiAgDQoNCg0KDQoNCmZhbmppYW5mZW5nQGJ5b3NvZnQuY29tLmNuDQogDQq3orz+yMujuiBZ b3NoaW5veWENCreiy83Ksbzko7ogMjAyNC0wNi0wMyAxNjoyNA0KytW8/sjLo7ogZGV2ZWw7IGZh bmppYW5mZW5nDQrW98zio7ogUmU6u9i4tDogW2VkazItZGV2ZWxdIElzIERFQlVHIG91dHB1dCBm dW5jdGlvbiBzYWZlIGZvciBNUCBjYXNlPw0KSGksIEplZmY6DQpJZiBBUCBjb2RlIHVzZSBiYXNl LXR5cGVkIGRlYnVnbGliLCB0aGVuIGl0J3MgbXAgc2FmZT8NCg0KVGhhbmtzDQoNCg0KDQoNCg0K QXQgMjAyNC0wNS0zMSAxNDozMzo0MCwgIkplZmYgRmFuIHZpYSBncm91cHMuaW8iIDxmYW5qaWFu ZmVuZz1ieW9zb2Z0LmNvbS5jbkBncm91cHMuaW8+IHdyb3RlOg0KQVAgY2Fubm90IHJ1biBhbnkg VUVGSSBTZXJ2aWNlLiBQbGVhc2UgbWFrZSBzdXJlIEFQIGNvZGUgdXNlIGJhc2UtdHlwZWQgRGVi dWdMaWIgaW5zdGFuY2UgKFN1Y2ggYXMgQmFzZURlYnVnTGliU2VyaWFscG9ydC5pbmYgZnJvbSBN ZGVQa2cpDQoNCg0KDQoNCmZhbmppYW5mZW5nQGJ5b3NvZnQuY29tLmNuDQogDQq3orz+yMujuiBZ b3NoaW5veWENCreiy83Ksbzko7ogMjAyNC0wNS0zMSAxNDoyMg0KytW8/sjLo7ogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCtb3zOKjuiBbZWRrMi1kZXZlbF0gSXMgREVCVUcgb3V0cHV0IGZ1bmN0aW9u IHNhZmUgZm9yIE1QIGNhc2U/DQpIZWxsbw0KSSBhc2sgZm9yIGhlbHAgZm9yIGRlYnVnIG91dHB1 dCBpbiBtdWx0aS1jb3JlIGNhc2UuDQoNCklzIHRoZSBjdXJyZW50IERFQlVHIG1hcmNvIHNhZmUg Zm9yIEFQIENvcmVzIHRvIG91dHB1dCBtZXNzYWdlPw0KSWYgdGhlIG91dHB1dCBtZXNzYWdlIGlz IHRvbyBsb25nLCBpdCB0YWtlcyB0b28gbXVjaCB0aW1lLCB3aWxsIGl0IGNhdXNlIHNvbWUgYWJu b3JtYWwgZXhjZXB0aW9uPw0KDQpUaGFua3MNCg0KDQoKLT0tPS09LT0tPS09LT0tPS09LT0tPS0K R3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdy b3VwLgpWaWV3L1JlcGx5IE9ubGluZSAoIzExOTQ0MSk6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8v Zy9kZXZlbC9tZXNzYWdlLzExOTQ0MQpNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlv L210LzEwNjQ3NTA4MC83Njg2MTc2Ckdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vw cy5pbwpVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFty ZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0tPS09LT0tPS09LT0tPS0KCg0K ------=_001_NextPart037824145511_=---- Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: quoted-printable
As Andrew mentioned, DEBUG() is NOT safe for MP. 

Generally, kernel modules are not suggested to use D= EBUG() in AP code becasue they are not the decision maker on the final Debu= Lib instance.
If you could make sure the DebugLib instance p= latform selected only based on I/O or MMIO operations, you could = use DEBUG() in AP for debuging or testing purpose.
To avoid mess output message due to multip= le APs, you may use spinlock to protect DEBUG() invoking.
=
For runtime (for example SMM AP code),  the upper metho= d may not work becaseu OS may take control on Serial Port.  



fanjianfeng@byosoft.com.cn
 
= =B7=A2=BC=FE=C8=CB=A3=BA = Yoshinoya
=B7=A2=CB=CD=CA=B1=BC=E4=A3=BA 2024-06-= 03 16:24
=CA=D5=BC=FE=C8=CB=A3=BA devel; fanjianfeng
=D6=F7=CC=E2=A3=BA Re:=BB=D8= =B8=B4: [edk2-devel] Is DEBUG output function safe for MP case?
=

Hi, Jeff:

If A= P code use base-typed debuglib, then it's mp safe?


Thanks






At 2024-05-31 14:33:40, "Jeff = Fan via groups.io" <fanjianfeng=3Dbyosoft.com.cn@groups.io> wrote:

AP cannot run any UEFI Service. Please make sure AP = code use base-typed DebugLib instance (Such as BaseDebugLibSerialport.inf&n= bsp;from MdePkg)



fanjianfeng@byosoft.com.cn
 
= =B7=A2=BC=FE=C8=CB=A3=BA = Yoshinoya
=B7=A2=CB=CD=CA=B1=BC=E4=A3=BA 2024-05-= 31 14:22
=CA=D5=BC=FE=C8=CB=A3=BA devel@edk2.groups.io
=D6=F7=CC= =E2=A3=BA [edk2-devel] Is DEBUG output function safe for MP case?<= /div>
Hello
I ask for help for de= bug output in multi-core case.

Is the current DEBUG marco safe for AP Cores to output= message?
If the output message is too long, = it takes too much time, will it cause some abnormal exception?

Thanks
_._,_._,_

Groups.io Links:

=20 You receive all messages sent to this group. =20 =20

View/Reply Online (#119441) | =20 | Mute= This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_
------=_001_NextPart037824145511_=------