From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mx.groups.io with SMTP id smtpd.web10.4478.1623289392070083845 for ; Wed, 09 Jun 2021 18:43:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20161025 header.b=vElOKV2P; spf=pass (domain: gmail.com, ip: 209.85.214.170, mailfrom: kuqin12@gmail.com) Received: by mail-pl1-f170.google.com with SMTP id h12so121994plf.4 for ; Wed, 09 Jun 2021 18:43:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yqD5aL+JeQC6zt2aGkALHSOppD6kbo7gAG+OXz9lKWE=; b=vElOKV2PkEHDpxwD4xT5EIXKqRcA+/U/AhnbFCIJ33tjrJJEF1itIbrWSNBDNR59QM DSotwNAUd+ZAJ/XafWfa9wsJsQzrcvWIg68B9DnrF1esV1mILeF+jQVNMSKVy5suOlRd f6bC7A94XF/zgU/CX/aX03pEXHFHWfhp9BlywdPWDtMy3ku4WmgpZ2SuiGzB9KHBppno N35IZBA5G1yP7hb81dVS5dt3lZekTyMbSPZ/xNoT77pVx4duv5glK+MPI3Hk1L9P+a/l ZPO9s4mm/n+BSB3hrfzNNeDlMxjbGLPRnp1539tpP/isleZJEHssv1Vcg64pwNsu6UtM afdA== 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=yqD5aL+JeQC6zt2aGkALHSOppD6kbo7gAG+OXz9lKWE=; b=nG+IAQWzdN8PS93WMlEMheJnYfIB5Ws7IZk48mWa8ORMOSF8KmwCRoA876/xNJJrBH kM/d9QRXYravzD4wcsOGk7S1Z98TPm+iOoi3e6qwl/Vmv3pj3t+qxCQMDboAv56tMTCU 7P2q8psPlnJDXmcZZPDCd4Yzk88PTgMfduZpin5nzARHo0hnAFdOVTOeirKRUT2ISpPh 2BoBqJNujI1lXouq4LL4baKUwUtuaL3xS9mXV+yswf616cENUwI7vywk6yH/JDIxw7eh j929rxH8s9Mu/z98MArtQWKMT5T8QstdS8Rnsn5ZuoDHouOtCozTCJAciHUwYTSqi5an 9Knw== X-Gm-Message-State: AOAM532Zv6Yfcvi6/QBWj+68hNFe+buzDeMZUhAu/oBupl32iQ8I4Ke/ VmpnW0RHoGvXZ22N5pL02uMnn03Oiz2w4A== X-Google-Smtp-Source: ABdhPJz/kxypfzNc77Rp5Z+Ks0zYUfc8dIHGgoY3tZx6ZR7pKDjpNUgT5PHYwOZC/gjDF54H9s4/Rg== X-Received: by 2002:a17:90a:2a08:: with SMTP id i8mr701411pjd.122.1623289391222; Wed, 09 Jun 2021 18:43:11 -0700 (PDT) Return-Path: Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id p20sm624990pff.204.2021.06.09.18.43.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 18:43:10 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Eric Dong , Ray Ni , Michael D Kinney , Liming Gao , Zhiguang Liu , Andrew Fish , Laszlo Ersek , Leif Lindholm Subject: [PATCH v1 0/5] EDK2 Code First: PI Specification: Update EFI_MM_COMMUNICATE_HEADER Date: Wed, 9 Jun 2021 18:42:54 -0700 Message-Id: <20210610014259.1151-1-kuqin12@gmail.com> X-Mailer: git-send-email 2.31.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3430 In PI Spec v1.7 Errata A, Vol.4, Sec 5.7 MM Communication Protocol, the MessageLength field of EFI_MM_COMMUNICATE_HEADER (also derived as EFI_SMM_COMMUNICATE_HEADER) is currently defined as type UINTN. But this structure, as a generic definition, could be used for both PEI and DXE MM communication. Thus for a system that supports PEI MM launch, but operates PEI in 32bit mode and MM foundation in 64bit, the current EFI_MM_COMMUNICATE_HEADER definition will cause structure parse error due to UINTN being used. The suggested change is to make the MessageLength field defined with definitive size as below: ``` typedef struct { EFI_GUID HeaderGuid; UINT64 MessageLength; UINT8 Data[ANYSIZE_ARRAY]; } EFI_MM_COMMUNICATE_HEADER; ``` Patch v1 branch: https://github.com/kuqin12/edk2/tree/BZ3398-MmCommunicate-Length Cc: Jian J Wang Cc: Hao A Wu Cc: Eric Dong Cc: Ray Ni Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Andrew Fish Cc: Laszlo Ersek Cc: Leif Lindholm Kun Qin (5): EDK2 Code First: PI Specification: EFI_MM_COMMUNICATE_HEADER Update MdeModulePkg: PiSmmIpl: Update MessageLength calculation for MmCommunicate MdeModulePkg: MemoryProfileInfo: Updated MessageLength calculation MdeModulePkg: SmiHandlerProfileInfo: Updated MessageLength calculation MdePkg: MmCommunication: Extend MessageLength field size to UINT64 MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c | 20 +++-- MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c | 8 +- MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 13 ++- BZ3430-SpecChange.md | 88 ++++++++++++++++++++ MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 1 + MdePkg/Include/Protocol/MmCommunication.h | 3 +- 6 files changed, 124 insertions(+), 9 deletions(-) create mode 100644 BZ3430-SpecChange.md -- 2.31.1.windows.1