From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from walk.intel-email.com (walk.intel-email.com [101.227.64.242]) by mx.groups.io with SMTP id smtpd.web09.20967.1661913136052897826 for ; Tue, 30 Aug 2022 19:32:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@byosoft.com.cn header.s=cloud-union header.b=H8kpnocm; spf=pass (domain: byosoft.com.cn, ip: 101.227.64.242, mailfrom: gaoliming@byosoft.com.cn) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id AE775CD1F7D1 for ; Wed, 31 Aug 2022 10:32:13 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=byosoft.com.cn; s=cloud-union; t=1661913133; bh=np9OT1Nqg8171WziPlWxxFTGeukY0Q46RQsZYZOtLRc=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=H8kpnocmhCVmG7uQco4eSHkVX7e4aVL7un+AWPTmYdPwgagnUSnCiUIVULanuygdr 6h/kbWl68bwd9kqS/yVQefSjhBajRrsAY3+H4bdBPUGfVyfcplEX4p+mz3lk9pF3DL gJtUu65ngr1QJC/qjvTxI7Tgur8wUzPHnxYAvaw4= Received: from localhost (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id AA1C5CD1F7C1 for ; Wed, 31 Aug 2022 10:32:13 +0800 (CST) X-Virus-Scanned: by SpamTitan at intel-email.com Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 749B6CD1F7AF for ; Wed, 31 Aug 2022 10:32:13 +0800 (CST) Authentication-Results: walk.intel-email.com; none Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by walk.intel-email.com (Postfix) with SMTP id 067C5CD1F7BA for ; Wed, 31 Aug 2022 10:32:10 +0800 (CST) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Wed, 31 Aug 2022 10:32:06 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , , "'Abdul Lateef Attar'" Cc: "'Ni, Ray'" References: <20220809064910.4350-1-abdattar@amd.com> <20220809064910.4350-2-abdattar@amd.com> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gU2hlbGxQa2c6IEFkZHMgTG9jYWwgQVBJQyBwYXJzZXIgdG8gQWNwaVZpZXc=?= Date: Wed, 31 Aug 2022 10:32:07 +0800 Message-ID: <033701d8bce1$dd60ed10$9822c730$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQGfd+zsOCRQAc5WpRwMDxB3ib8mSwFRB7leAb+I8mmuIk8sYA== Sender: "gaoliming" Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Abdul: This patch is merged again into edk2 at 3c06953fd76ca2d1372ce5b0df14608de53cd148.=20 Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io =B4=FA=B1= =ED Gao, Zhichao > =B7=A2=CB=CD=CA=B1=BC=E4: 2022=C4=EA8=D4=C222=C8=D5 17:19 > =CA=D5=BC=FE=C8=CB: Abdul Lateef Attar ; devel@edk2.gro= ups.io > =B3=AD=CB=CD: Ni, Ray > =D6=F7=CC=E2: Re: [edk2-devel] [PATCH v1 1/1] ShellPkg: Adds Local APIC p= arser to > AcpiView >=20 > It is better to file a BZ for this change. Anyway, > Reviewed-by: Zhichao Gao >=20 > Thanks, > Zhichao >=20 > > -----Original Message----- > > From: Abdul Lateef Attar > > Sent: Tuesday, August 9, 2022 2:49 PM > > To: devel@edk2.groups.io > > Cc: Ni, Ray ; Gao, Zhichao > > Subject: [PATCH v1 1/1] ShellPkg: Adds Local APIC parser to AcpiView > > > > Parse Type 0 or Local APIC structure. > > Also parse the Local APIC Flags as bitfields. > > > > Cc: Ray Ni > > Cc: Zhichao Gao > > Signed-off-by: Abdul Lateef Attar > > --- > > > > > ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser. > > c | 74 ++++++++++++++++++-- > > 1 file changed, 67 insertions(+), 7 deletions(-) > > > > diff --git > > > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > > er.c > > > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > > er.c > > index aaa68c99f514..41edcb9ffd1d 100644 > > --- > > > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > > er.c > > +++ > > > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > > er.c > > @@ -2,6 +2,7 @@ > > MADT table parser > > > > > > > > Copyright (c) 2016 - 2020, ARM Limited. All rights reserved. > > > > + Copyright (c) 2022, AMD Incorporated. All rights reserved. > > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > > > > > @par Reference(s): > > > > @@ -206,17 +207,65 @@ STATIC CONST ACPI_PARSER > > InterruptSourceOverride[] =3D { > > { L"Flags", 2, 8, L"0x%x", NULL, NULL, NULL, > NULL } > > > > }; > > > > > > > > +STATIC CONST ACPI_PARSER LocalApicFlags[] =3D { > > > > + { L"Enabled", 1, 0, L"%d", NULL, NULL, NULL, NULL }, > > > > + { L"Online Capable", 1, 1, L"%d", NULL, NULL, NULL, NULL }, > > > > + { L"Reserved", 30, 2, L"%d", NULL, NULL, NULL, NULL } > > > > +}; > > > > + > > > > +/** > > > > + This function traces Bit Flags fields. > > > > + If no format string is specified the Format must be NULL. > > > > + > > > > + @param [in] Format Optional format string for tracing the data. > > > > + @param [in] Ptr Pointer to the start of the buffer. > > > > +**/ > > > > +VOID > > > > +EFIAPI > > > > +DumpLocalApicBitFlags ( > > > > + IN CONST CHAR16 *Format OPTIONAL, > > > > + IN UINT8 *Ptr > > > > + ) > > > > +{ > > > > + if (Format !=3D NULL) { > > > > + Print (Format, *(UINT32 *)Ptr); > > > > + return; > > > > + } > > > > + > > > > + Print (L"0x%X\n", *(UINT32 *)Ptr); > > > > + ParseAcpiBitFields ( > > > > + TRUE, > > > > + 2, > > > > + NULL, > > > > + Ptr, > > > > + 4, > > > > + PARSER_PARAMS (LocalApicFlags) > > > > + ); > > > > +} > > > > + > > > > +/** > > > > + An ACPI_PARSER array describing the Processor Local APIC Structure. > > > > + **/ > > > > +STATIC CONST ACPI_PARSER ProcessorLocalApic[] =3D { > > > > + { L"Type", 1, 0, L"0x%x", NULL, > NULL, NULL, NULL }, > > > > + { L"Length", 1, 1, L"%d", NULL, > NULL, NULL, NULL }, > > > > + > > > > + { L"ACPI Processor UID", 1, 2, L"0x%x", NULL, > NULL, NULL, NULL }, > > > > + { L"APIC ID", 1, 3, L"0x%x", NULL, > NULL, NULL, NULL }, > > > > + { L"Flags", 4, 4, NULL, DumpLocalApicBitFlags, > NULL, NULL, NULL } > > > > +}; > > > > + > > > > /** > > > > An ACPI_PARSER array describing the Processor Local x2APIC Structure= . > > > > **/ > > > > STATIC CONST ACPI_PARSER ProcessorLocalX2Apic[] =3D { > > > > - { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, > > > > - { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, > > > > - { L"Reserved", 2, 2, L"0x%x", NULL, NULL, NULL, NULL }, > > > > + { L"Type", 1, 0, L"0x%x", NULL, > NULL, NULL, NULL }, > > > > + { L"Length", 1, 1, L"%d", NULL, > NULL, NULL, NULL }, > > > > + { L"Reserved", 2, 2, L"0x%x", NULL, > NULL, NULL, NULL }, > > > > > > > > - { L"X2APIC ID", 4, 4, L"0x%x", NULL, NULL, NULL, NULL }, > > > > - { L"Flags", 4, 8, L"0x%x", NULL, NULL, NULL, NULL }, > > > > - { L"ACPI Processor UID", 4, 12, L"0x%x", NULL, NULL, NULL, NULL } > > > > + { L"X2APIC ID", 4, 4, L"0x%x", NULL, > NULL, NULL, NULL }, > > > > + { L"Flags", 4, 8, NULL, DumpLocalApicBitFlags, > NULL, NULL, NULL }, > > > > + { L"ACPI Processor UID", 4, 12, L"0x%x", NULL, > NULL, NULL, NULL } > > > > }; > > > > > > > > /** > > > > @@ -441,7 +490,18 @@ ParseAcpiMadt ( > > ); > > > > break; > > > > } > > > > - > > > > + case EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC: > > > > + { > > > > + ParseAcpi ( > > > > + TRUE, > > > > + 2, > > > > + "PROCESSOR LOCAL APIC", > > > > + InterruptContollerPtr, > > > > + *MadtInterruptControllerLength, > > > > + PARSER_PARAMS (ProcessorLocalApic) > > > > + ); > > > > + break; > > > > + } > > > > case EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC: > > > > { > > > > ParseAcpi ( > > > > -- > > 2.25.1 >=20 >=20 >=20 >=20 >=20