From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web09.2256.1631154244332776434 for ; Wed, 08 Sep 2021 19:24:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=qfsOzsaE; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: zhichao.gao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10101"; a="242959456" X-IronPort-AV: E=Sophos;i="5.85,279,1624345200"; d="scan'208";a="242959456" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2021 19:23:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,279,1624345200"; d="scan'208";a="606554024" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga001.fm.intel.com with ESMTP; 08 Sep 2021 19:23:59 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 8 Sep 2021 19:23:58 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 8 Sep 2021 19:23:58 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 8 Sep 2021 19:23:58 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Wed, 8 Sep 2021 19:23:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l527Cf0S+Pi5qUldGCRhmQlk3WukS0gZOrDGDQ4Usk4EXRi/ESIxsdfChOLH91Em0sOBVjkIOuttryItmsWsgKk5g6y44ELsHNiz4hK1u2ffGX/BR08cDs2Sq197ciriqf/EdiBExS7SZt1AakdoCaOovV5JwYBfOJLD9gEsB4AsJ4RnJCJiaEN53Uoqf5mY08XxJlko7dQdgLLVXtFUyEz3HeGa7w1y9SvdTnDJhgk1LTjMsAomjBJ2ZTHlbUe5zaXOorI9zy3/il5HYIoQNwvjDMUZa14Zyk1JxWawzgEV2U4rJ4AdGScnf4+mloseu9ChLLh9pvPq04VRWJX5fw== 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; bh=G7xkjN8ajj6pZU9tGb8+xBBGN55WaI6Q3mqQN9Oycdk=; b=j1Ys6yoUqVIsHWXqrLjxqW6P8UAJqfraVTHX0vHtyWe/5DgiPaLM6v1KjTkW1tTOdyCfI7VdZmSrQlu0HV+WBSKrCHFUaqwpVrJL1KtikWJATJYr8qRBK3vLTW4qYSMlc0wD2V0c5wUhAKRZrNr+fhXOxhVAWM3cBBm9csOj87h5wVWFgqdLjLvrUVs1HTlpoXEi2B8C4yHJNHVZ03gFvRisFoBSU70kfuNCBh6Iez+AZFTCAv8qbQpQUN5OCK8B+tKLAanrI49i7tRAZPw2DN9VtT5MAXb/Rquu3fZeMNqKrUieg5G7y5Z11p7Mun0Lyn2SnowS5Rt/4NaNwjc6pQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G7xkjN8ajj6pZU9tGb8+xBBGN55WaI6Q3mqQN9Oycdk=; b=qfsOzsaEXEW0HIs+A6qPbHE5h/Sh1GJe1mkUXVmW8+2exO+2RlG/DKRG8Ni6KGQpX5yHCfzPyOnlO+KmZoT2OjVcLtm8h4mdfK1Fhi//mVBYwXZI+30Qol6pbueeYwuV0+BqWYBv77IvHbgtxL2RM9w5+Epj/ClTqI07dek4vrM= Received: from DM4PR11MB5277.namprd11.prod.outlook.com (2603:10b6:5:388::23) by DM5PR1101MB2268.namprd11.prod.outlook.com (2603:10b6:4:53::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.16; Thu, 9 Sep 2021 02:23:57 +0000 Received: from DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::fcab:50dd:7598:3b40]) by DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::fcab:50dd:7598:3b40%4]) with mapi id 15.20.4478.025; Thu, 9 Sep 2021 02:23:57 +0000 From: "Gao, Zhichao" To: Abdul Lateef Attar , "devel@edk2.groups.io" CC: "Ni, Ray" Subject: Re: [edk2-devel] [PATCH] ShellPkg: Parse I/O APIC and x2APIC structure Thread-Topic: [edk2-devel] [PATCH] ShellPkg: Parse I/O APIC and x2APIC structure Thread-Index: AQHXmP0LzehBDP1XaUenLMIgivkTraubEWkg Date: Thu, 9 Sep 2021 02:23:57 +0000 Message-ID: References: <20210824153013.30144-1-AbdulLateef.Attar@amd.com> In-Reply-To: <20210824153013.30144-1-AbdulLateef.Attar@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7d278115-f789-4fcc-2cda-08d97338e0c3 x-ms-traffictypediagnostic: DM5PR1101MB2268: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1468; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZSmRc2cSuYdxmcq9fmCJq0x6EPhMHr3Nr85CVCxHoRP2eRKxn7ZSpv2X26Sj7Krlx9OSoJZSmdfMqEf8mjB3vIu08hcu4Z2D/SNO+yDFEdVL/63Vjsq/nNaoFEj4Y3qzqdsXuY5fwj1vXHNWXNdismA9dNXOw7tlr20ZrWzoH2uiKZLEhHxyjNdqdOjthx9uunb9IilIirydsK0u094/4TEbHBeuYivuQaQTwS5h+ScDSAqbAwkIqpYdJPSTE/ZYwCI6eFkJdqDStunC3illgBADQ0Bi2b7NgLIGoiGE8jHCHR13F+Jlyr5HrFs/RE6iORW6hLnuUUEZGfO5cwcRnE4yhfBdFILTTZ23gfbj3Gz/uqAje/xVh9UH62dhNHffKjZk411yNNtHbNPsvdCbnSxlxDxZ5ElL/73GdKQKRPdxJ5vUT60RPB3woguiM+TR/U9EN5vYmw128F4gg9wXEw+HF6xnPSxr2D725A4AX0iKJAMJYxK7OJEYTdASxm9Ckt66Gun4gCQ44/pIJ1XwzEobAr8NzQBJRqY2Y6fChzngdLSa9iX6hYpJTyoFWWhYZbGXUwQ5m2KNBC+ZyzDT/i8Lvtjxc9wAiDKtIUKPC0MJTq5KXlLxqQEqDWZeEVPbPq+VySPz63IZJdAk9pk9btx8q61Gon4kSpJODou+VaJ5a7lEiaCO+jH+k7Zuk7EzLx1p4rzz65qiJfbC/PwA6w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5277.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(38070700005)(55016002)(8936002)(478600001)(2906002)(5660300002)(9686003)(186003)(110136005)(33656002)(83380400001)(4326008)(86362001)(316002)(66946007)(66446008)(52536014)(8676002)(64756008)(66476007)(76116006)(66556008)(26005)(71200400001)(122000001)(107886003)(38100700002)(53546011)(7696005)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?I+3A/LRofG2fh8z62Tu5vnk4M+AjdpDqCDIcB3vfmWCOemq+2MAgk7UDtgUL?= =?us-ascii?Q?lNWn5K7kEU4Hzj4DhoXUJpzSFdE/gbGXfZWHUKyEsUfD6m9JdJ5rbX0Dl5gK?= =?us-ascii?Q?GgoTC5QMwz3yrZeW2gNUeBGKE8Crdt9xdNhV5I6y7mbAXgi0V+iRR/lmsdJo?= =?us-ascii?Q?9nsLgeV631/iUO/Zj544twys5ET+dikV9EGP9Iaa77wHtUdaqEAj3OXc7vEk?= =?us-ascii?Q?RxJrzS+lW+FtfeBmRrRT45THDDuOCBdgJ5iXEV+rwdhvC3diCBzt7E0VCe8c?= =?us-ascii?Q?9oY+cUjun7ILy8BEyB/f4vr36yMobOvmCacn1aAujDfFsTUugKqlfhnvuTuX?= =?us-ascii?Q?6/Kv7U/6W5RrXwOBROoTR4u5Az5zT2DUgoG0vIqF8FRR+t94lsqe7ZjQuYUT?= =?us-ascii?Q?BctKar1pIteCUPmaNcW+kcGnrvziC0uRBcbMY09R1phG5vcfbZlmmIEH3lpu?= =?us-ascii?Q?Hu6PjK/YQSOIWYW9gLTdjUyahcCWFvB6awWhNH6uFRwdfJSX6RRYjchu3xoc?= =?us-ascii?Q?pnJmiS+XvM274ka4TNZzihkqUXQa+gQXt86M3UA9JmM9zz0nfZAO9Z0GfEBe?= =?us-ascii?Q?hE7+p/bnWx4cp9iwQvIAujWHYYDXacYSY1tWnXYrFFuxrErBAVx5Ts9MOv5C?= =?us-ascii?Q?HXETcA9xih/QJbN+4CANkq8UsNT8+dwsDLSjvQammsaZuILIfqAeGBYwTT0m?= =?us-ascii?Q?VgmRLmlGr0d8ZY64k4AM9GdvZuSbpt1gia/Fs9YW7HEgSH5NH/aKpPugkuqb?= =?us-ascii?Q?0fX/mj93CHN5///FBQTAqNBtAPrIPnqbwScEymgn17T4tFu9zVe1lrKy+rRp?= =?us-ascii?Q?3orCn2bB1M0rFRkLHEEYlXfDlvJr62F0gL9wXG4KeyCyW2IWx1bSf09GdCBP?= =?us-ascii?Q?7Vevo4jTQGJup+C0STK/KlI4nTvLvNRIwt047xIrwTaNlM9I7CRqWxDK3mde?= =?us-ascii?Q?HofdGsaWo4OibMgk4VKKc/SfY2t68wjGNG0E3DJLMhhNpoy1IeqfsXbT0ZGx?= =?us-ascii?Q?sJshPPpvY0jJN+0dilsLR16QuSu8fAanqt7mTxWO8B6/qsI6ZGn1TG1716ZL?= =?us-ascii?Q?0KXqk1rms9f5x18IoNKro2IHbCWgJ1ajTSnfmnn8/x9wSoBcyS+UJpwQzwYx?= =?us-ascii?Q?Oj1eYgRj6fHOHsjsQa4Hbq1XcqQlQ6pJ354OXos8+GtoyvL6OtrNutJm/a5d?= =?us-ascii?Q?YSSLpy6/M7jH25iRJ1FJGnOvj5ON6naoX8MGtQVaq0A9L+0oGlr2pLcheN/H?= =?us-ascii?Q?x5CRLsXIvmc4EG7b4Mt41kIUTdAISz1x7TZks82f5fW0hYRAGdCYLLLJ+ON/?= =?us-ascii?Q?4hDrh+fW8Cw/13nkYHK0grUd?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5277.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d278115-f789-4fcc-2cda-08d97338e0c3 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2021 02:23:57.4930 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LOQst+cbE9A5QMWBLR0KNWH86LGf33S00bb4f8HWNsi1jx8/OUQDCgDIyX67ta9nT58gqssWbhvWyPhvafd55A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2268 Return-Path: zhichao.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Zhichao Gao Thanks, Zhichao > -----Original Message----- > From: Abdul Lateef Attar > Sent: Tuesday, August 24, 2021 11:30 PM > To: devel@edk2.groups.io > Cc: Ni, Ray ; Gao, Zhichao ; > Abdul Lateef Attar > Subject: [edk2-devel] [PATCH] ShellPkg: Parse I/O APIC and x2APIC structu= re >=20 > Parse and print the below interrupt structures > - I/O APIC Structure > - Interrupt Source Override Structure > - Processor Local x2APIC Structure > - Local x2APIC NMI Structure >=20 > Signed-off-by: Abdul Lateef Attar > --- > .../Parsers/Madt/MadtParser.c | 99 +++++++++++++++++++ > 1 file changed, 99 insertions(+) >=20 > diff --git > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > er.c > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > er.c > index 15aa2392b6..2ba8c9ae52 100644 > --- > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > er.c > +++ > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > +++ er.c > @@ -181,6 +181,57 @@ STATIC CONST ACPI_PARSER GicITSParser[] =3D { > {L"Reserved", 4, 16, L"0x%x", NULL, NULL, NULL, NULL} }; >=20 > +/** > + An ACPI_PARSER array describing the IO APIC Structure. > +**/ > +STATIC CONST ACPI_PARSER IoApic[] =3D { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"I/O APIC ID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Reserved", 1, 3, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"I/O APIC Address", 4, 4, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Global System Interrupt Base", 4, 8, L"0x%x", NULL, NULL, NULL, > +NULL} }; > + > +/** > + An ACPI_PARSER array describing the Interrupt Source Override Structur= e. > +**/ > +STATIC CONST ACPI_PARSER InterruptSourceOverride[] =3D { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"Bus", 1, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Source", 1, 3, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Global System Interrupt", 4, 4, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Flags", 2, 8, L"0x%x", NULL, 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"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} }; > + > +/** > + An ACPI_PARSER array describing the Local x2APIC NMI Structure. > +**/ > +STATIC CONST ACPI_PARSER LocalX2ApicNmi[] =3D { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"Flags", 2, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + > + {L"ACPI Processor UID", 4, 4, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Local x2APIC LINT#", 1, 8, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Reserved", 3, 9, L"0x%x%x%x", Dump3Chars, NULL, NULL, NULL} }; > + > /** > An ACPI_PARSER array describing the ACPI MADT Table. > **/ > @@ -357,6 +408,54 @@ ParseAcpiMadt ( > break; > } >=20 > + case EFI_ACPI_6_3_IO_APIC: { > + ParseAcpi ( > + TRUE, > + 2, > + "IO APIC", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (IoApic) > + ); > + break; > + } > + > + case EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE: { > + ParseAcpi ( > + TRUE, > + 2, > + "INTERRUPT SOURCE OVERRIDE", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (InterruptSourceOverride) > + ); > + break; > + } > + > + case EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC: { > + ParseAcpi ( > + TRUE, > + 2, > + "PROCESSOR LOCAL X2APIC", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (ProcessorLocalX2Apic) > + ); > + break; > + } > + > + case EFI_ACPI_6_3_LOCAL_X2APIC_NMI: { > + ParseAcpi ( > + TRUE, > + 2, > + "LOCAL x2APIC NMI", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (LocalX2ApicNmi) > + ); > + break; > + } > + > default: { > IncrementErrorCount (); > Print ( > -- > 2.25.1