From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) by mx.groups.io with SMTP id smtpd.web11.366.1630604263895775083 for ; Thu, 02 Sep 2021 10:37:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=avB0Y4LZ; spf=pass (domain: gmail.com, ip: 209.85.222.178, mailfrom: benjamin.doron00@gmail.com) Received: by mail-qk1-f178.google.com with SMTP id c10so2965364qko.11 for ; Thu, 02 Sep 2021 10:37:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=oBD9/fdT7c0xZX4j4Ir0abcWBqsumCZpaUGqUBusDtQ=; b=avB0Y4LZlOFVD0sDDt2IEeN4qCXnRPjI1+37Yheti1u/rbGyyjlYmGZ4LLcg6B+iOY zwLNc6/7aQg9rXCh8Y9/W4kWbvc5VuFA7e0RE8qJWeVfZlTPvUCX6NHYfJ8eyEUSJA7G qVc2hcZI6VRNsGCZYtPp+NN0aCHfQFz9g8FPB6XOWSU7NmEMjYgGeXoQn40caEbUO77/ 5rV2mHv+3ZzkpTZL55/II8UM7T08ANCMXFlDuVm+PeUdb2GABHK/gJZ+SBuOuInn6KH9 XoZnHK9dsMX+iRLZvzPDdBuhdDGG+m600S79mhG6140WwqfiUbyZCiHyERJlly7f1ar8 5xpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=oBD9/fdT7c0xZX4j4Ir0abcWBqsumCZpaUGqUBusDtQ=; b=QcXBx21rrKRXecp3QrOupJCv915PMlb6TZBoEp8Spoan+C/WHLZK42y9DfyG5/jCt2 KKuKz89wOprnffRv7zSeeCWu3UZvnxYo0dt1CiVElwt9t+tL7+rfH+tjQAA9hqBAbf9k FBLpmh/riud5SHABBf9nTxshET5FZNZm97r88InBnu5kt+7jGQxzdpDcKIPv4FqL9ApL dSz9FnoBTAA3kGu9sHtd5eSlSnFViJheWwUFSkhKl64NqzeWtWcu1Q0a3ZuhJ0j9l1Oa 5w6UmWR9oW3qTjn4Dck03b8ViE/NBGTv2wqASKalNEDoy6FEUkznSXQctqyPx7KzXzVN wTkQ== X-Gm-Message-State: AOAM531Pve/enat5MBplHtQ80hoPErlIUD9hkiRobYPhIHmTBJyv39V3 pmpU97TIPV9nmaDgjN+6bK6U1S/2Ew8= X-Google-Smtp-Source: ABdhPJxluKTqCKBI/BujzuwfOw8+rFdXDjQLg/lqUQ32diK5vDWWBRaUZstDeWcopb5rIgifWkXRKQ== X-Received: by 2002:a37:a405:: with SMTP id n5mr4364872qke.218.1630604262928; Thu, 02 Sep 2021 10:37:42 -0700 (PDT) Return-Path: Received: from benjamind-benjamindomain.. ([2607:f2c0:e98c:24:56bd:6598:f34d:ffdf]) by smtp.gmail.com with ESMTPSA id 10sm1493301qtu.66.2021.09.02.10.37.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Sep 2021 10:37:42 -0700 (PDT) From: "Benjamin Doron" To: devel@edk2.groups.io Cc: Sai Chaganty , Eric Dong , Liming Gao , Nate DeSimone Subject: [edk2-platforms][PATCH v1 1/2] AcpiDebugFeaturePkg: Included modules are mutually exclusive Date: Thu, 2 Sep 2021 13:37:07 -0400 Message-Id: <20210902173708.4289-1-benjamin.doron00@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable The DXE and SMM versions of AcpiDebug perform the same functions, and are therefore mutually exclusive. Including both modules results in a duplicate ACPI table, resulting in the feature not working at all. Therefore, we add a new PCD to determine which module will be included. Now, either version successfully write to the debug buffer. Cc: Sai Chaganty Cc: Eric Dong Cc: Liming Gao Cc: Nate DeSimone Signed-off-by: Benjamin Doron --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc = | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc = | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c = | 4 ++++ Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec = | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc = | 3 +++ Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf = | 4 +++- 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Fea= tures/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 0c7a29cc75ae..e9fabaade16f 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -45,6 +45,7 @@ ##########################################################################= ######=0D [PcdsFeatureFlag]=0D gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |TRUE=0D + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion = |FALSE=0D gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |TRUE=0D gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable = |TRUE=0D gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable = |TRUE=0D diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.= dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index ad248de80087..3a6556cb0936 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -33,6 +33,7 @@ #=0D [PcdsFeatureFlag]=0D gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |FALSE=0D + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion = |FALSE=0D gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |FALSE=0D gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable = |FALSE=0D gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable = |FALSE=0D diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/A= cpiDebug.c b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/A= cpiDebug.c index 4caeffc7dec9..0b28e2f7a6d5 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebu= g.c +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebu= g.c @@ -483,6 +483,10 @@ InitializeAcpiDebugSmm ( EFI_SMM_BASE2_PROTOCOL *SmmBase2;=0D BOOLEAN InSmm;=0D =0D + if (!PcdGetBool (PcdAcpiDebugFeatureActive)) {=0D + return EFI_SUCCESS;=0D + }=0D +=0D Status =3D gBS->LocateProtocol (&gEfiSmmBase2ProtocolGuid, NULL, (VOID *= *) &SmmBase2);=0D ASSERT_EFI_ERROR (Status);=0D if (EFI_ERROR (Status)) {=0D diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeatureP= kg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d= ec index c3bd89fe2b9d..94e894d211ef 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec @@ -28,6 +28,7 @@ =0D [PcdsFeatureFlag]=0D gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLE= AN|0xA0000001=0D + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion|FALSE|BOOLEAN|0xA000= 0002=0D =0D [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]=0D ## This PCD specifies the ACPI debug message buffer size.=0D diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebug= Feature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebu= gFeature.dsc index 856222a53d2a..ca2d86080c26 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature= .dsc +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature= .dsc @@ -109,8 +109,11 @@ # in the package build.=0D =0D # Add components here that should be included in the package build.=0D +!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion =3D=3D FALSE=0D Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf=0D +!else=0D Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf=0D +!endif=0D =0D ##########################################################################= #########################=0D #=0D diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemor= y.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf index bbd6eca87b0c..e2ff3907a702 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf @@ -6,6 +6,8 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent=0D #=0D ##=0D -=0D +!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion =3D=3D FALSE=0D INF RuleOverride =3D DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/Acpi= DebugDxeSmm/AcpiDebugDxe.inf=0D +!else=0D INF RuleOverride =3D DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/Acpi= DebugDxeSmm/AcpiDebugSmm.inf=0D +!endif=0D --=20 2.31.1