public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: dakota.chiang@intel.com
To: devel@edk2.groups.io
Cc: Dakota Chiang <dakota.chiang@intel.com>,
	Bob Feng <bob.c.feng@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Jason1 Lin <jason1.lin@intel.com>,
	Rahul R Kumar <rahul.r.kumar@intel.com>
Subject: [PATCH] S-ACM entry ver 0x200 does not contain requested FMS&mask
Date: Tue, 27 Dec 2022 17:23:29 +0800	[thread overview]
Message-ID: <6999c9cfb4e13e2883ec19e7671b171ad64abb6f.1672132941.git.dakota.chiang@intel.com> (raw)

From: Dakota Chiang <dakota.chiang@intel.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4198

After commit 1e1e35bb3b2fceea75ad97968da4b31f059dcb4c,
FIT Type 2 ACM entry is not generated as expected with given -I arguments.
FMS/FMS value is overridden by GetAcmFms().

This patch detects whether FMS/FMS Mask is already assigned
with -I argument. If it's not zero, skip invoking GetAcmFms().

Signed-off-by: Dakota Chiang <dakota.chiang@intel.com>

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Jason1 Lin <jason1.lin@intel.com>
Cc: Rahul R Kumar <rahul.r.kumar@intel.com>
---
 Silicon/Intel/Tools/FitGen/FitGen.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/Silicon/Intel/Tools/FitGen/FitGen.c b/Silicon/Intel/Tools/FitGen/FitGen.c
index 4ba07945a6..16c8b9b026 100644
--- a/Silicon/Intel/Tools/FitGen/FitGen.c
+++ b/Silicon/Intel/Tools/FitGen/FitGen.c
@@ -3745,9 +3745,14 @@ FitGen (
             DumpAcm((ACM_FORMAT *)AcmBuffer);
 
             if (gFitTableContext.StartupAcm[Index].Version >= 0x200) {
-              GetAcmFms((ACM_FORMAT *)AcmBuffer, &gFitTableContext.StartupAcm[Index].FMS, &gFitTableContext.StartupAcm[Index].FMSMask);
-              printf("ACM FMS:%08x\n", gFitTableContext.StartupAcm[Index].FMS);
-              printf("ACM FMS Mask:%08x\n", gFitTableContext.StartupAcm[Index].FMSMask);
+              if ((gFitTableContext.StartupAcm[Index].FMS == 0) && (gFitTableContext.StartupAcm[Index].FMSMask == 0)) {
+                //
+                // FMS and FMSMask is not assigned via -I argument. Get it from ACM
+                //
+                GetAcmFms((ACM_FORMAT *)AcmBuffer, &gFitTableContext.StartupAcm[Index].FMS, &gFitTableContext.StartupAcm[Index].FMSMask);
+                printf("ACM FMS:%08x\n", gFitTableContext.StartupAcm[Index].FMS);
+                printf("ACM FMS Mask:%08x\n", gFitTableContext.StartupAcm[Index].FMSMask);
+              }
             }
           }
           else {
-- 
2.38.1.windows.1


             reply	other threads:[~2022-12-27  9:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-27  9:23 dakota.chiang [this message]
2022-12-29  9:05 ` [PATCH] S-ACM entry ver 0x200 does not contain requested FMS&mask Bob Feng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6999c9cfb4e13e2883ec19e7671b171ad64abb6f.1672132941.git.dakota.chiang@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox