From nobody Mon Feb 9 02:28:41 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+71518+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71518+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1612880213; cv=none; d=zohomail.com; s=zohoarc; b=ZpZA+DkmkUAFLINlkjlqesMaK8vPwvpKGu6wyJiHA2Bod5zB7lZvd2BVE8dehqbSYwaQLubt23zBM1AvBsAhcTq72r3iPpj0Bm/hJOnyPwtDi3tXkmh8I+723MzS5+sPLWt4AaVczmoJNWU+vVt0gCBwm3vUjDV55l9HaUTTVmU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1612880213; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=OWc8UGqdt8dVtlZ7Q9Qx9tZEhFnIhU/FX5iL7TQPKJQ=; b=bwG5OCH0jE8LSiNoVIncv9Wqgm7zm9EifrOcc+uhQWAfXNdObySPN8bWcQoIsfQoZBCZ0ug5mZ8aVVCOzDgmpcDRtWB0w3gOAEKyqdZQ47JdnHm0wOZUlJA7QupzMQy/abybqC15aSkW0uW91mcdquoRn3Tyjo5T52YNaeLzjXU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71518+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1612880213083281.48197926547937; Tue, 9 Feb 2021 06:16:53 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id oqW4YY1788612xLebjZCPNR7; Tue, 09 Feb 2021 06:16:52 -0800 X-Received: from mga01.intel.com (mga01.intel.com []) by mx.groups.io with SMTP id smtpd.web08.10652.1612880197811148740 for ; Tue, 09 Feb 2021 06:16:41 -0800 IronPort-SDR: AI5mbj53P9VIhScCkNDYjOITVuBPzxv6kKJFaEchEUdjdCcur7NqSG17lw3LK+dbjll9agA/W6 XNV40dj1MWdg== X-IronPort-AV: E=McAfee;i="6000,8403,9889"; a="200959149" X-IronPort-AV: E=Sophos;i="5.81,165,1610438400"; d="scan'208";a="200959149" X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2021 06:16:40 -0800 IronPort-SDR: KL17KKdctLme+k4uHW4zBB2ABQUD6tvN9EByUI8G/9hxJ0DU6SyG1K/lSqI4t50rwbdygrbzuw xO8CxFFF4J6g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,165,1610438400"; d="scan'208";a="374969184" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by orsmga002.jf.intel.com with ESMTP; 09 Feb 2021 06:16:39 -0800 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 2/4] MdePkg/Nasm.inc: add macros for C types used in structure definition Date: Tue, 9 Feb 2021 22:16:32 +0800 Message-Id: <20210209141634.1999-3-ray.ni@intel.com> In-Reply-To: <20210209141634.1999-1-ray.ni@intel.com> References: <20210209141634.1999-1-ray.ni@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com X-Gm-Message-State: W8D6TADB4PU86IYZLNX8COd9x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1612880212; bh=v5ixNSvapSaYYhxFWV99R8ww07roAwFnxWVfOzQf1uU=; h=Cc:Date:From:Reply-To:Subject:To; b=TtVUrN7fNiWdw446XxNsOQQmazz6WJXj2qmhGqvmtRkGRtehTDV1lBCWKWl90U24VcI bxYA2zKV6MqNMDCP+w60oE9d1ZvNY6BJabB4CoazE1Hd550dHbNow/oES33gJPy9Wb41x VEfJyI57LnLrv9XktiB39ndMNRa1jMakpwE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Signed-off-by: Ray Ni Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Reviewed-by: Liming Gao --- MdePkg/Include/Ia32/Nasm.inc | 38 ++++++++++++++++++++++++++++++++++++ MdePkg/Include/X64/Nasm.inc | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/MdePkg/Include/Ia32/Nasm.inc b/MdePkg/Include/Ia32/Nasm.inc index 31ce861f1e..017fe5ffd8 100644 --- a/MdePkg/Include/Ia32/Nasm.inc +++ b/MdePkg/Include/Ia32/Nasm.inc @@ -20,3 +20,41 @@ %macro INCSSP_EAX 0 DB 0xF3, 0x0F, 0xAE, 0xE8 %endmacro + +; NASM provides built-in macros STRUC and ENDSTRUC for structure definitio= n. +; For example, to define a structure called mytype containing a longword, +; a word, a byte and a string of bytes, you might code +; +; struc mytype=20 +; +; mt_long: resd 1=20 +; mt_word: resw 1=20 +; mt_byte: resb 1=20 +; mt_str: resb 32=20 +; +; endstruc +; +; Below macros are help to map the C types and the RESB family of pseudo-i= nstructions. +; So that the above structure definition can be coded as +; +; struc mytype=20 +; +; mt_long: CTYPE_UINT32 1=20 +; mt_word: CTYPE_UINT16 1=20 +; mt_byte: CTYPE_UINT8 1=20 +; mt_str: CTYPE_CHAR8 32=20 +; +; endstruc +%define CTYPE_UINT64 resq +%define CTYPE_INT64 resq +%define CTYPE_UINT32 resd +%define CTYPE_INT32 resd +%define CTYPE_UINT16 resw +%define CTYPE_INT16 resw +%define CTYPE_BOOLEAN resb +%define CTYPE_UINT8 resb +%define CTYPE_CHAR8 resb +%define CTYPE_INT8 resb + +%define CTYPE_UINTN resd +%define CTYPE_INTN resd diff --git a/MdePkg/Include/X64/Nasm.inc b/MdePkg/Include/X64/Nasm.inc index 42412735ea..b48d8680bb 100644 --- a/MdePkg/Include/X64/Nasm.inc +++ b/MdePkg/Include/X64/Nasm.inc @@ -20,3 +20,41 @@ %macro INCSSP_RAX 0 DB 0xF3, 0x48, 0x0F, 0xAE, 0xE8 %endmacro + +; NASM provides built-in macros STRUC and ENDSTRUC for structure definitio= n. +; For example, to define a structure called mytype containing a longword, +; a word, a byte and a string of bytes, you might code +; +; struc mytype=20 +; +; mt_long: resd 1=20 +; mt_word: resw 1=20 +; mt_byte: resb 1=20 +; mt_str: resb 32=20 +; +; endstruc +; +; Below macros are help to map the C types and the RESB family of pseudo-i= nstructions. +; So that the above structure definition can be coded as +; +; struc mytype=20 +; +; mt_long: CTYPE_UINT32 1=20 +; mt_word: CTYPE_UINT16 1=20 +; mt_byte: CTYPE_UINT8 1=20 +; mt_str: CTYPE_CHAR8 32=20 +; +; endstruc +%define CTYPE_UINT64 resq +%define CTYPE_INT64 resq +%define CTYPE_UINT32 resd +%define CTYPE_INT32 resd +%define CTYPE_UINT16 resw +%define CTYPE_INT16 resw +%define CTYPE_BOOLEAN resb +%define CTYPE_UINT8 resb +%define CTYPE_CHAR8 resb +%define CTYPE_INT8 resb + +%define CTYPE_UINTN resq +%define CTYPE_INTN resq --=20 2.27.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#71518): https://edk2.groups.io/g/devel/message/71518 Mute This Topic: https://groups.io/mt/80504937/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-