From nobody Sun Feb 8 15:47:09 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+71345+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+71345+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1612511898; cv=none; d=zohomail.com; s=zohoarc; b=A8aHlr4nE2M4uxrH3TCF6Dp4LQ4sfE0EmrdbZmEM6vxqV01D8vbLktuRByyZhyefyBlkbaKzCEloMd1XTbw7FHhCrDmpbfgo/zDK4eXKtgpnmJNlfr9Hh2O+qseM3vwmef9jDC1pX0hDV0Cb36MlCzgrb8hkywD8x7aKVMOitR8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1612511898; 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=IuPBWzrKBDAB+0m5+5dLFGXEwFXdW9nVH9WkGAj5Ews=; b=G9ENd+ppyjMaJg9z1DKHoIOVp7BPUE1SApgNzEz6SYkGjgPaP4v/cEyX9+oL4sjqLLfru3py59KEikv5soSu/WrxMlL1i/GRGcYrDW/iGITCfH0zSrs5PRf65LcgCPSHxm2Hs4uL2L24mzLDs/SyVA+iCxsA5u598iOiQbi7Itc= 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+71345+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 16125118981091003.9036712915708; Thu, 4 Feb 2021 23:58:18 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 1UfoYY1788612xllJYQlYifP; Thu, 04 Feb 2021 23:58:17 -0800 X-Received: from mga06.intel.com (mga06.intel.com []) by mx.groups.io with SMTP id smtpd.web09.5115.1612511895936364606 for ; Thu, 04 Feb 2021 23:58:16 -0800 IronPort-SDR: AhrkeeQKOSC445ndQwRx0l35qNzv7WLte5fSAkFaq4oDNzpwfKiwf04UJrr+6jquUsGvOX5oQE EsC6NJkCqJTw== X-IronPort-AV: E=McAfee;i="6000,8403,9885"; a="242902235" X-IronPort-AV: E=Sophos;i="5.81,154,1610438400"; d="scan'208";a="242902235" X-Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2021 23:58:15 -0800 IronPort-SDR: 5hpWMCyZq9uGCg7ON7RzrGHqewkCw2Ywy4Ch8wc7yF7hqkuyaYzNtSqG0HsgYqL6aqebJLaist X/XVo/Bpl1/g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,154,1610438400"; d="scan'208";a="434322766" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by orsmga001.jf.intel.com with ESMTP; 04 Feb 2021 23:58:14 -0800 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v2 1/3] MdePkg/Nasm.inc: add macros for C types used in structure definition Date: Fri, 5 Feb 2021 15:58:08 +0800 Message-Id: <20210205075810.981-2-ray.ni@intel.com> In-Reply-To: <20210205075810.981-1-ray.ni@intel.com> References: <20210205075810.981-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: vHXxysm6mOYPdBxqTblGl7Kox1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1612511897; bh=EZYBQXIeddO+EuLepqnkFZ9KgtDUhXIYW1PVDoFuR7Q=; h=Cc:Date:From:Reply-To:Subject:To; b=uLz/wNY2VJGzU+kNZgOLJlK72QSjfDZTKtOGqQRGmqo5GCQ06uTyU2BS00jIEVK/GMf v0dZWN0wzv1LX/PyaYru0x+gpfFj+SgXWNik/hk/jY4yLPzxFlCP4O+08y39sYJhom/FA 5o0llvPuHWiVWrqffOHlcFmC88ZkgPA2HTs= 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: Laszlo Ersek --- 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 (#71345): https://edk2.groups.io/g/devel/message/71345 Mute This Topic: https://groups.io/mt/80401291/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-