From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by mx.groups.io with SMTP id smtpd.web12.30878.1658769142878338758 for ; Mon, 25 Jul 2022 10:12:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=IjzWOHIL; spf=pass (domain: gmail.com, ip: 209.85.160.182, mailfrom: benjamin.doron00@gmail.com) Received: by mail-qt1-f182.google.com with SMTP id u12so8749698qtk.0 for ; Mon, 25 Jul 2022 10:12:22 -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=CARe0SvXG8pLl9PyNJFsIYubucxUzikZ589ywu/4vZY=; b=IjzWOHILB8efW6ot1lOQi4PNJSFQMKb3U6Cfu99d36yzDQ3NG6LPzeWpDh12yAID9Q RUvi+PTSncqAr8Zoq06ZRgJqV3CifRWVWZIxzJzV6ZrWsthQMBo/AXokC0I5U1+yW1WN 3C+lcQUlPd86HHXwUDnyOLmKogKxhfIiWI6wXskPFu877TP+iK4m+LpioP/LaXegOJMJ VHhuU2rpfioOOVAfjYYPoR9Uaa7Dfus5SwPu2ALo54no6otsIqyvovWptI2HAZbZNrej /IBI6M43YR1m/HXi3o19rWpbJtIVIRdUVtHw2zQDEfXadnulymt9DNitHyoiyF1JE5oX TxQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=CARe0SvXG8pLl9PyNJFsIYubucxUzikZ589ywu/4vZY=; b=ZWGJUyb2yoVjXuC2xDMhKEwuFeFJ0jjOSZ1WLJs0MfRDcS1Ai+pN1c2q7EhvDu+mzS o0J700c+WINdIvds4XFli8fZVx+0F9TbbmmV4FJMT5WTCyqSqyxHpU4AQwTMPfKktBfn m6MAQZCk0CW/q2W0Si3NuZtER6USGtK7GYDOkz6G/U5oLFCbuNpzzDdVzTHZ/NU6keJ0 y4HlduODayUAC4JOsdJQOvAv0v4runAKgjS4uQxCU2Nq1rMpbXVByqrt/vYGLdDD7dL6 6CCRKvYY+16AuVMjJLmwD3s1Mb2yEJCpIAHsznE0VZeOfbNDQE9ruR8ju3EHIHVqoCjC hbaA== X-Gm-Message-State: AJIora8OrTqvJE48yEAmMVuUIf2nBZvpKseDJcfataI++lR9C1/PC591 bpg3U3ZTrfQ6xBECdU/L1+EyebV6Cvzbgw== X-Google-Smtp-Source: AGRyM1uyIbDgOKZMWl+rYv5GDKJHgLM388ZJ7BVNU3NivGyAz3622XuATttpflmFqahsGlPglrheiA== X-Received: by 2002:a05:622a:1387:b0:31f:25ba:224c with SMTP id o7-20020a05622a138700b0031f25ba224cmr11244155qtk.338.1658769141765; Mon, 25 Jul 2022 10:12:21 -0700 (PDT) Return-Path: Received: from aturtleortwo-benjamindomain.. ([2607:f2c0:e98c:e:a64b:352b:84cb:57f4]) by smtp.gmail.com with ESMTPSA id x7-20020ac87307000000b0031ee34ca176sm7716456qto.59.2022.07.25.10.12.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jul 2022 10:12:21 -0700 (PDT) From: "Benjamin Doron" To: devel@edk2.groups.io Cc: Sai Chaganty , Isaac Oram , Nate DeSimone , Ankit Sinha , Liming Gao , Eric Dong Subject: [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Date: Mon, 25 Jul 2022 13:12:05 -0400 Message-Id: <20220725171207.3154408-1-benjamin.doron00@gmail.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable The DXE and SMM versions of AcpiDebug perform the same task and are therefore mutually exclusive. Including both modules results in a duplicate ACPI table, resulting in the feature not working at all. Therefore, add a new PCD to determine which module will be included. Now, either version successfully write to the debug buffer. Cc: Sai Chaganty Cc: Isaac Oram Cc: Nate DeSimone Cc: Ankit Sinha Cc: Liming Gao Cc: Eric Dong 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 = | 7 +++++-- 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Fea= tures/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 28530b8c674b..908fe4d1f7a9 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -48,6 +48,7 @@ # Debugging features=0D #=0D gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |TRUE=0D + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion = |FALSE=0D gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable = |TRUE=0D gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = |TRUE=0D gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable = |TRUE=0D diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.= dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index e214175edaf7..d59e3e61b9b9 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -59,6 +59,7 @@ #=0D [PcdsFeatureFlag]=0D gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |FALSE=0D + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion = |FALSE=0D gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable = |FALSE=0D gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable = |FALSE=0D gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable = |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 915923100731..1a290bab29d9 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 f5b8bacee039..684549bbdd78 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature= .dsc +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature= .dsc @@ -54,5 +54,8 @@ # 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 AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf=0D +!else=0D AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf=0D +!endif=0D diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemor= y.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf index 855826292cb5..e904a2f8fbf2 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf @@ -7,5 +7,8 @@ #=0D ##=0D =0D -INF RuleOverride =3D DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/= AcpiDebugDxe.inf=0D -INF RuleOverride =3D DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/= AcpiDebugSmm.inf=0D +!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion =3D=3D FALSE=0D + INF RuleOverride =3D DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSm= m/AcpiDebugDxe.inf=0D +!else=0D + INF RuleOverride =3D DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSm= m/AcpiDebugSmm.inf=0D +!endif=0D --=20 2.36.1