From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (NAM12-MW2-obe.outbound.protection.outlook.com [40.107.244.61]) by mx.groups.io with SMTP id smtpd.web11.169.1629819035698529885 for ; Tue, 24 Aug 2021 08:30:36 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=wCv/6R07; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.244.61, mailfrom: abdullateef.attar@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Helsjtk5VcLK06EkDBH6rXRdXN/f/2MDM4Nq/sjgvs9jIne03rmlobmPPv45LB2OUJ4oVC9y8Sk4k6UQ1ZykiDabH3N/DUs65OVF1EmcGbCpgpjw8FrZ5jvwZMdLsEtl4R6nzliWwPsQZm9kvTSCS6qJ5x96OtSTo7itTyQZXDneasf4LSKV9d/nVsFRvTmAq6g/WcvbXJcwCUwz60F0r/1m+B3tBWYF8pV4OxHlCUCBx8mUpfXkjXgtm71cnoN6RLkOQKJAnu52ir76TyTy/PD9W9y15kV0WxKVdmLknMoA3EogwkOuxTXd+FEjwMBoTfCjJ4LaRBMd4HKxxmv8vg== 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-SenderADCheck; bh=xBvyIhHF0a+cT7/nkY2h/BSPKzsCEY8GT1spHpYqOXA=; b=dQGPA9ox+qtya+dZNmLRTwsM1GdE3hVkzOgfXCiVLC+Tk+eC8XVX6nPiVZndC1mYTzacX3EFCql/CgTCkKgPuZc/fFM6qFFzHioXCj2uABIqjZb93BrDIShi13RmFclM5+bweapZELFqsBhSsjCXV1AMZ8SQT9Vu/c40Vrp7Yhji3KvoLoRy3Dr//CV6qnB/dzM0HMgi4dKG6BTo+S5bHC1NlmrsT2vHUoBfV/XyaxQ6LwtJ37lfOU+elHPGakdL6l2FOqx3WzsmrgJqfjYb6Q1//z4QMHG6/700CgvEY/Ar5j3YF+RudZy4BU8NfmCkwxplLlt71A5xpGZEvgIxtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=xBvyIhHF0a+cT7/nkY2h/BSPKzsCEY8GT1spHpYqOXA=; b=wCv/6R07DCtNi5/ygAO1xCux1ypH1ZrcegA5DakXsdv+lVScsIxzyqNrIS95Rn25YEPGt/Ap8F1DrjCUxcEvMrcYSkW44aYr1OCwu+mWy9C0l5gUKUSKbKmR+5BAI3rT8HohgKXhlASBNCSUM2oPYYLlWghVCmL0QkXFxFJ6PiE= Received: from MW4PR03CA0135.namprd03.prod.outlook.com (2603:10b6:303:8c::20) by BL0PR12MB2579.namprd12.prod.outlook.com (2603:10b6:207:4d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug 2021 15:30:32 +0000 Received: from CO1NAM11FT055.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8c:cafe::ef) by MW4PR03CA0135.outlook.office365.com (2603:10b6:303:8c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 15:30:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1NAM11FT055.mail.protection.outlook.com (10.13.175.129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 15:30:31 +0000 Received: from BLR-LAB-SFW01.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 24 Aug 2021 10:30:29 -0500 From: Abdul Lateef Attar To: CC: , , Abdul Lateef Attar Subject: [edk2-devel] [PATCH] ShellPkg: Parse I/O APIC and x2APIC structure Date: Tue, 24 Aug 2021 21:00:13 +0530 Message-ID: <20210824153013.30144-1-AbdulLateef.Attar@amd.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Return-Path: AbdulLateef.Attar@amd.com X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 35ec08f7-54bd-4934-9e95-08d967141c13 X-MS-TrafficTypeDiagnostic: BL0PR12MB2579: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:913; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oWmGTOmE04bZN7PJVAKmOhrRkwFRPt3+lIF3OTwNOMqSVZThL+lg6ljcqP4lxCRzxyou1Fcnf2go8IbsDnaDRW+0ynMBvlp98WgDwMGSDsYTEydo61eY5JjuePqM3QZoV16hIBQTgI0XM/MnJB6w/NeEWe0iwmsbwCSAgiHN25pwuvtDXYYVvz3fmlGSskEilOsAC78BxLpUh8UV3A48fbXGtDXR32GXZgplAiSmQfF6SWwwcYfLVcYSosuT329txNgG6ZmEcLvbB5Lhly/lgW96hvP6zJ89cHuRZUZTYwKFHyhd9/FBnCXd8NnKrLxSQ1UcS7+Jh8hRVfga0b2j0DPdqYqF1m8xBLulRARvVvktD1li6mmAifrRP/sRhUI2sbc8A4M6sBly/hR7NrmPk/xj2NyNBv0oNGlVAfEPefAuHfCZ0RlyZ0itxHaJXVPxGV5Pcbn/ta8RUPCmNLWGZgI0Ojltp996oNjaKpvLitEsrxN+JXOWrCXEd4KYaDsG5jHuThFVHaL1AxLIgL8FTQBMbS+i49GRdLF0aiA0Sh1XlNNINfU5QhsMuqNfsdbgrlWC4QstYtlFqITyxK8o/1unmQelFxwXILLsIOOF+45F7QE9WyZ2KpdXBlTkguQf0htvaNSS0wdu5I7AWtCMm2UeWsxv7LukjCQGai8FGLQ0ogeFCgwUNS2zJvbfm3z+g40lzxNOeNwYvMh3vPGNZaHvFchGtfro/9iyRS4HJFlIr3EG5Br3yc5RceQ6STN2ZHNck7F89d8DnUZgpRNihg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(39860400002)(396003)(346002)(376002)(46966006)(36840700001)(54906003)(6666004)(6916009)(1076003)(47076005)(4326008)(36756003)(82740400003)(16526019)(186003)(426003)(356005)(26005)(70586007)(82310400003)(34020700004)(70206006)(5660300002)(86362001)(336012)(478600001)(2906002)(8676002)(36860700001)(8936002)(316002)(2616005)(7696005)(81166007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:30:31.6051 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35ec08f7-54bd-4934-9e95-08d967141c13 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT055.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB2579 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Parse and print the below interrupt structures - I/O APIC Structure - Interrupt Source Override Structure - Processor Local x2APIC Structure - Local x2APIC NMI Structure Signed-off-by: Abdul Lateef Attar --- .../Parsers/Madt/MadtParser.c | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/Madt= Parser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPa= rser.c index 15aa2392b6..2ba8c9ae52 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.= c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.= 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 Structure. +**/ +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 ( --=20 2.25.1