From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web12.1492.1652747241499633275 for ; Mon, 16 May 2022 17:27:21 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Gv8KGGKF; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: chasel.chiu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652747241; x=1684283241; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3ePpkUg+rFUF4fZF80g1Scpu4F1n1BQEGSDLEd5px6E=; b=Gv8KGGKFnB3h+TkHGbC/hMFxAMT4o6YWh+Ucuf0NLNSAI+UhMBAIYzu1 QB6JV17at1LpklMwk2DjC6RMx7iGzz/QQHK4sKAE7ki94rrD6TKEfE4oy 0zhRuafYkxsOpQnhbY5nusLIc4mH1TxUfF2zlYuO7Q6/8FwOQPMjG8XXL YI3giWoEx103kDvHkp+BUf9MzJeaxP1dQ8yTwui3UG6HpYciDuaOg/jAt z0hAI1WHP8LfKLm1HKdxGvGp4Nv0uZMBCPx0pwaqEU3zgOC8fTPLboE1o cCjJU2ymNE0wNtP4URSh6dGJ//fug28Yku19Buu53kI22HxRmw968QYXj g==; X-IronPort-AV: E=McAfee;i="6400,9594,10349"; a="253056427" X-IronPort-AV: E=Sophos;i="5.91,231,1647327600"; d="scan'208";a="253056427" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 May 2022 17:27:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,231,1647327600"; d="scan'208";a="555513256" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga002.jf.intel.com with ESMTP; 16 May 2022 17:27:20 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 16 May 2022 17:27:19 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 16 May 2022 17:27:19 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 16 May 2022 17:27:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nkF0fPzrIi9pDY24nWCDGWLHyK9evhi5H4RR3CfomKpzl2vzpBR/tPXag7YFK2TWszJnvGIFJA7soaWjHNFJVSlzkRpEfa4ZYG0YXKf1zrVJEWMYrhGJLKYf4XTMk9lgy1OAeefiui9SQiIrRbvl8yDxN50M2y7hrrHJxC0pHeCcblywUpjp3JVLUv5dNW9dUOorBhKnPFMj+inbZIGqSIOopuF9nBgnpZhrIsB5NQJo3ZigyljnLb8q346oaVsFXTywxol0fNiqTc5mg/ZhdchO+yCGX3PMeYCbFUaauiji6Se1yugMzbk613wMFpBhRwbCFObaYUnxNHsq9HMhMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Hci+Hnasoax8hzEl4Fm+Vb5NRUemSvVPv6YkEXECLpc=; b=JsuybYom6ZrumUAhV618xf92s1XXylrHiKGdlWpKlF472x52VonnEpPPQAp/lM9K3DcLbFYciBmwSlkWn91CnQA/4RMKkH8fUjsFHpFwFWoMk6yBLdomZ15oO1mqZVCILISFzXkQL2HB3SetcFP/1SJyN+3i2pVZQMWZ71QahnWCFFXhXxR4GWfwUuEkdt1lcxzE93sfZ9BKkyhAZr69joPhzQrtHX+wccHbKk+wDl1n5hDun+hxksgQo3k2nJkLAwns/8nM93zWbW+c4w2222YposVEvSDlVkBurLaobIozuLjuNfKiONNnUvx487B+AiyQ2q92DJm0wQIg1wClAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by BL0PR11MB3234.namprd11.prod.outlook.com (2603:10b6:208:65::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.18; Tue, 17 May 2022 00:27:18 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::c076:6436:db8e:ee22]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::c076:6436:db8e:ee22%8]) with mapi id 15.20.5250.018; Tue, 17 May 2022 00:27:18 +0000 From: "Chiu, Chasel" To: "Duggapu, Chinni B" , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Zeng, Star" , "S, Ashraf Ali" Subject: Re: [PATCH v3] IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must follow X64 Calling Convention Thread-Topic: [PATCH v3] IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must follow X64 Calling Convention Thread-Index: AQHYaRNI26zNhv347kmBTQDsdxodha0hYvHQgABQCQCAAIP9YA== Date: Tue, 17 May 2022 00:27:17 +0000 Message-ID: References: <254311d0ac264a325dfe65d7c3b47950c374a604.1652698395.git.chinni.b.duggapu@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 88d8cef0-a78c-448c-352f-08da379bffe2 x-ms-traffictypediagnostic: BL0PR11MB3234:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 28DKinvngKpNFNZiWOBKrhIrQ82FGqQZrqZMBtS+kPPUCIfABo8gP/qhccCX7kglb4rQ71SQzbIKxnmjKutixRYOTgDW4rtZX+4T3NbLkO7bQ9yCR8t5PJS/AV+AvMLSt0FIWC2ov5uyW465na30UyiMEcbPc+tQJzGRtzWNQsq3jHroER/sdKNnhVRqHfkHTAKFmcu2xAftIOg04m7zluiRu01A2IdJvBaghECHTiZRjaTTTvugUUzXP6KP4BP1eICNbgB+Knmx2We9aBtdEd+61tPUVpaVp9Sbs7FAEN5epvTm4Q3KDzRdTUE/Uv0pkdXJT0j8u2CK5ZxAsdtGA5Uo7OPWni6jERTDK/qRjFNBryKVrWgxXsHxWIdza0tzEfVSraW+bTPk8gPYPODBwTkw6ff8FdF0O6pwBrVI9W9kkqb66j0Q/lzBZ4Y1nrO6L3SoCiWCUnN9+1wl8h89rkGY3U9ic4qU1eguF1zC0vYX5ljXviZcA+yLWytT4sOdVQ+rZwyU8Ru7AuG1636ABsSch/rwc1uIotxpmXeR/7gIMEx2LPro5MnAjhAcbXYTLmu09Cfrt5KDJzuvnQrPLz/bDjJ2eZ4vDcpc1HrdhR/r0FkE/MTHl1LdhYFMOMkOFwL14GKJm2UulDVhbO3ZZOZUKw4B4kUtgN6W0MKZStjw53tJs8MCo+yqbmKDW2sDOgVHnRS/BqOl8VRRd5AozDG2I6XTaVo7ii9L0ouNF0Fme5g6s+bstk1B9K4hdf3HO/3Rvf2n637/AL5HkM82vLEI5MacUa+I50xf/arwIMsKL9Gv5NCEq92ZFUPE5nO8 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(19627235002)(6506007)(186003)(316002)(71200400001)(2906002)(52536014)(508600001)(54906003)(110136005)(9686003)(82960400001)(53546011)(55016003)(26005)(38070700005)(38100700002)(7696005)(64756008)(76116006)(66946007)(66476007)(66446008)(8676002)(4326008)(66556008)(33656002)(122000001)(8936002)(5660300002)(83380400001)(107886003)(86362001)(11716005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?KWTU83VAuTtDsxTouqnbabTIoxAMpVhpjH3TWzvyetMOQxOd3uRO4lbcpYY7?= =?us-ascii?Q?4+IThTli+4wO9sLoeXqMZLkUHzsAdIU3qtVgjniSytnEsF6E5Tstwj8QU7DR?= =?us-ascii?Q?HnTm+DKvhy4edrXifWidw/lJzyny03MaZj8SgBl97RG1CDaJH1rQvYN3/k/7?= =?us-ascii?Q?tuw1yiIK51k8L0RvQmYkd9jOXE+PGRzjID/D95bubQX6kkUG2vwKZvkX314k?= =?us-ascii?Q?gbbuskfRvT6vTUZ+e3FmSRU0olo6S5C/VkL/D72XF4n3bhATWus3OXrawp6y?= =?us-ascii?Q?5CRGE3wfTQ14j/FNah9gv9HIdXEPSBduH5DYXXKadkWvlLwhOyv0PbOi6PYY?= =?us-ascii?Q?uO2/2+LkifrUzByWYcZG2oKT2VTEM5+S9lHSfFC7Skf7S0923tGg2fcmpjsU?= =?us-ascii?Q?Zi16fK/mHug+r17kB+gNXVVE+vVk7Z6+sQ2Ka1bCQOPa15IEWZ7PXoAQPMRc?= =?us-ascii?Q?vbnWQhM6QgsNiTrwd1riOOWQxHlc55za8XMKWrMJIZlXX6kNPbYynuRnQsDx?= =?us-ascii?Q?VbkyJ3f2wEFl/KgF/IPGP6U+DNindBbXMxWjZkVncKqUgKb/Nms7sB2SR5KR?= =?us-ascii?Q?vb3KkTYf6kkNGeTAfn8YUUYISusRMfYO+QHF32eg2iSy5unAFEHwshiiEPSJ?= =?us-ascii?Q?4ggvYOJOmu5RIg+JHXr1Vp0eWTM9sClPqPpNkdy2/Fae11Q2kZiRXTWF+fkm?= =?us-ascii?Q?+ap9O+P+gWEEcgeJC6I1aV2q9Mcmwt3wdIUA9avcSihHHapaFTvWkWEgY7jv?= =?us-ascii?Q?/rpq614OiLeUgtL5Cbm3w2/gWq3z+TTCgeEmLDZcGhaQTr76ddZYqR0kuFCn?= =?us-ascii?Q?8CGWN6Qt8Yi0o89YBMGOb7NJu7yPvSdZp/ta4+NKjvVN6l1hLri+QUqM8u76?= =?us-ascii?Q?PuZTi8ZFlLontX6ylY1yFyq6KSdBNtp4RJP9slLBXg/HNPNazkHwhowh/RaC?= =?us-ascii?Q?scox48fcsLTpVeEbsemy2naTGDH/xIShgAEATF8IbYykYXASQAt03Lhf5hOG?= =?us-ascii?Q?uq2qUcZQY+PKrMRH+L/sHQB9cRaHOGZO5Gu6cEXWR7YiYts5YODfWNAdqoWV?= =?us-ascii?Q?hPrOe+jzh2hZ/d9vfX/297uZSmQIAQ4qzue7Xn2WS2D5qhyr/tcsHejKUat0?= =?us-ascii?Q?AZQQXklp55iVtIuAhF41+4TXeJsB4i/W6rZzwGb06PQtdnAbp1e4DhGlDcAu?= =?us-ascii?Q?G5CcXHpMPU65OLrnYE2MY+F2qKtEDLTWzBkLAXapMewLQmgCGwj4ADtwopvz?= =?us-ascii?Q?HCBlwdtRpJuPxKeRTNzJ8kHrab7/3s/xbjJ4HTT4IULy+XkN81Sr4z7qSGUx?= =?us-ascii?Q?Mkql30slbbV7jEILn4DyGH82bevKk/xoUariZNEZQnPalhKs22008B2VWGT+?= =?us-ascii?Q?Hv6TisH725rn17wCYHX8zONy+8xg3SY2n3iyDSRCsSDkimB3t6lKLFkvgbDG?= =?us-ascii?Q?SOpoLMcj4K7hb/SfzRW0rxCqSPxfC29mr1wv7y+FZIF8H55FtGwjZ/DexwG7?= =?us-ascii?Q?cFfMgAazg/xL5i43LXUwsAGN/7mzns/qv04UprqCcwQg44JyFYA6jMdQofPk?= =?us-ascii?Q?xZiSgFr7+XVkdIL8s6RiqV1SODIIuYJjrJTMSTVqXhXZwNR5xdCPE2WKGViX?= =?us-ascii?Q?gF7WjMz8pozs7L4V4ecy5im1iiER4kIdj/IjTSlTz7IeHeiXw37QG3zGK7RG?= =?us-ascii?Q?Zwy8RLwPTbkaBCAPndlWmvZ6R5zFFpfwPEL2SmEjndNz885Uggn9oYfo5F5p?= =?us-ascii?Q?hHhmJC8f4w=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88d8cef0-a78c-448c-352f-08da379bffe2 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2022 00:27:17.8195 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2QvK5kY53na4pFL+V302Y8kknhxtHv73eAT+L5unmSZK+znUvoi51Ayhn7tyKkZ5JuBU4C78rEkL2RxZlBNyWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3234 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for clarification! In this case, please use "mov rsp, rcx" to support 64bit addressing. Thanks, Chasel > -----Original Message----- > From: Duggapu, Chinni B > Sent: Tuesday, May 17, 2022 12:33 AM > To: Chiu, Chasel ; devel@edk2.groups.io > Cc: Desimone, Nathaniel L ; Zeng, Star > ; S, Ashraf Ali > Subject: RE: [PATCH v3] IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must > follow X64 Calling Convention >=20 > HI Chasel, > Yes, we don't need to modify esp for LoadMicrocodeDefault. However, this > function does couple of MSR Accesses in b/w that would lead to modify RCX > anyway. > So, if not RSP, we need to use different register to save RCX and consume= in > the whole function. >=20 > That's why I have not changed the usage of RSP to hold the input paramete= r. >=20 >=20 >=20 > Thanks, > Chinni. >=20 > -----Original Message----- > From: Chiu, Chasel > Sent: Monday, May 16, 2022 5:38 PM > To: Duggapu, Chinni B ; > devel@edk2.groups.io > Cc: Desimone, Nathaniel L ; Zeng, Star > ; S, Ashraf Ali > Subject: RE: [PATCH v3] IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must > follow X64 Calling Convention >=20 >=20 > Thanks for correcting format and updating patch per feedbacks! > Just one more comment below inline and please also help to include patch > of > IntelFsp2WrapperPkg\Library\SecFspWrapperPlatformSecLibSample\X64\S > ecEntry.nasm for passing API parameter by RCX. > You might want to create a patch series: > [1/2] IntelFsp2Pkg patch > [2/2] IntelFsp2WrapperPkg patch >=20 > Thanks, > Chasel >=20 > > -----Original Message----- > > From: Duggapu, Chinni B > > Sent: Monday, May 16, 2022 6:54 PM > > To: devel@edk2.groups.io > > Cc: Chiu, Chasel ; Desimone, Nathaniel L > > ; Zeng, Star ; S, > > Ashraf Ali > > Subject: [PATCH v3] IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must follow > > X64 Calling Convention > > > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3926 > > This API accept one parameter using RCX and this is consumed in > > mutiple sub functions. > > > > Cc: Chasel Chiu > > Cc: Nate DeSimone > > Cc: Star Zeng > > Cc: Ashraf Ali S > > Signed-off-by: cbduggap > > --- > > IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm | 26 ++++++++--------- > > .../Include/SaveRestoreSseAvxNasm.inc | 28 > +++++++++++++++++++ > > 2 files changed, 41 insertions(+), 13 deletions(-) > > > > diff --git a/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm > > b/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm > > index a9f5f28ed7..9504c96b81 100644 > > --- a/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm > > +++ b/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm > > @@ -114,7 +114,7 @@ endstruc > > global ASM_PFX(LoadMicrocodeDefault) > > ASM_PFX(LoadMicrocodeDefault): ; Inputs:- ; rsp -> > > LoadMicrocodeParams pointer+ ; rcx -> LoadMicrocodeParams > pointer ; > > Register Usage: ; rsp Preserved ; All others destroyed@@ -13= 0,10 > > +130,9 @@ ASM_PFX(LoadMicrocodeDefault): > > cmp rsp, 0 jz ParamError- mov eax, dword [rsp + 8] = ; > > Parameter pointer- cmp eax, 0+ cmp ecx, 0 jz ParamErro= r- mov > > esp, eax+ mov esp, ecx >=20 >=20 >=20 > I think we do not need to modify esp because now esp/rsp only containing > return address initialized by caller. >=20 >=20 >=20 > ; skip loading Microcode if the > > MicrocodeCodeSize is zero ; and report error if size is less than 2k= @@ - > > 321,8 +320,7 @@ ASM_PFX(EstablishStackFsp): > > ; ; Save parameter pointer in rdx ;- mov rdx, qword [rsp = + 8]-+ > mov > > rdx, rcx ; ; Enable FSP STACK ;@@ -420,7 +418,10 @@ > > ASM_PFX(TempRamInitApi): > > ; ENABLE_SSE ENABLE_AVX-+ ;+ ; Save Input Parameter in > YMM10+ ;+ > > SAVE_RCX ; ; Save RBP, RBX, RSI, RDI and RSP in YMM7, YMM8 and > > YMM6 ;@@ -442,9 +443,8 @@ ASM_PFX(TempRamInitApi): > > ; ; Check Parameter ;- mov rax, qword [rsp + 8]- cmp = rax, 0- > > mov rax, 08000000000000002h+ cmp rcx, 0+ mov rcx, > > 08000000000000002h jz TempRamInitExit ;@@ -455,18 +455,18 > > @@ ASM_PFX(TempRamInitApi): > > jnz TempRamInitExit ; Load microcode- LOAD_RSP+ LOAD_RCX > > CALL_YMM ASM_PFX(LoadMicrocodeDefault) SAVE_UCODE_STATUS > > rax ; Save microcode return status in SLOT 0 in YMM9 (upper > > 128bits). ; @note If return value rax is not 0, microcode did not loa= d, but > > continue and attempt to boot. ; Call Sec CAR Init- LOAD_RSP+ > LOAD_RCX > > CALL_YMM ASM_PFX(SecCarInit) cmp rax, 0 jnz > TempRamInitExit > > - LOAD_RSP+ LOAD_RCX CALL_YMM ASM_PFX(EstablishStackFsp) > cmp > > rax, 0 jnz TempRamInitExitdiff --git > > a/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc > > b/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc > > index e8bd91669d..38c807a311 100644 > > --- a/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc > > +++ b/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc > > @@ -177,6 +177,30 @@ > > LXMMN xmm5, %1, 1 %endmacro +;+; Upper half = of > > YMM10 to save/restore RCX+;+;+; Save RCX to YMM10[128:191]+; > > Modified: XMM5 and YMM10+;++%macro SAVE_RCX 0+ LYMMN > > ymm10, xmm5, 1+ SXMMN xmm5, 0, rcx+ SYMMN > ymm10, > > 1, xmm5+ %endmacro++;+; Restore RCX from YMM10[128:191]+; > > Modified: XMM5 and RCX+;++%macro LOAD_RCX 0+ LYMMN > > ymm10, xmm5, 1+ movq rcx, xmm5+ %endmacro+ ; = ; > > YMM7[128:191] for calling stack ; arg 1:Entry@@ -231,6 +255,7 @@ > > NextAddress: > > ; Use CpuId instruction (CPUID.01H:EDX.SSE[bit 25] =3D 1) = to > > test ; whether the processor supports SSE instruction. = ;+ > > mov r10, rcx mov rax, 1 cpuid = bt rdx, 25@@ - > > 241,6 +266,7 @@ NextAddress: > > ; bt ecx, 19 jnc SseError= + mov rcx, > > r10 ; ; Set OSFXSR bit (bit #9) & OSXMMEXCPT b= it (bit > > #10)@@ -258,6 +284,7 @@ NextAddress: > > %endmacro %macro ENABLE_AVX 0+ mov r10, = rcx > > mov eax, 1 cpuid and ecx, 10000000h@@ -= 280,5 > +307,6 > > @@ EnableAvx: > > xgetbv ; result in edx:eax or = eax, 00000006h ; > Set > > XCR0 bit #1 and bit #2 to enable SSE state and AVX state xs= etbv+ > > mov rcx, r10 %endmacro -- > > 2.36.0.windows.1