From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.2496.1676622270105587880 for ; Fri, 17 Feb 2023 00:24:30 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HBzMJxzg; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: william2.wang@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676622270; x=1708158270; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=DF11eDKGeCPsVVrtlSkO2Q/5EPb1UWTnGZ0I2LwM570=; b=HBzMJxzgLgZ2mvmcot87pUIuJ5cM5IMhTD5uSEZlSJpvuy1HtIPt2jjh BO0eKB6goXo2vTIoCef5PHGX7ys6x38+A2rfAn7QwW2wMV0pUJzmrWm0H 3BfoEXzfi5ME4yz68kr0HKS0kPgy07Luya6I17LmqrE6iwdQI8L+qecNe oRr4jzNrgU9B5flE7zn/i2OsOe6sl1LtpyJEbJkKtE+78xvYLPdF0rg4L te4n8JF1aG3cJxOv7+nedMTo+Fv2hGOtjnVcTYwUQxFFj+KRTqLV1YRfJ N43LAdPU0dAMshWkXVn2gf+D6lF1Gz3Anj/YoZY8v/XGIpTnR8I1rTk6V A==; X-IronPort-AV: E=McAfee;i="6500,9779,10623"; a="394415552" X-IronPort-AV: E=Sophos;i="5.97,304,1669104000"; d="scan'208";a="394415552" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Feb 2023 00:24:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10623"; a="813296361" X-IronPort-AV: E=Sophos;i="5.97,304,1669104000"; d="scan'208";a="813296361" Received: from william4-desk.gar.corp.intel.com ([10.5.215.176]) by fmsmga001.fm.intel.com with ESMTP; 17 Feb 2023 00:24:21 -0800 From: "Wang, William2" To: devel@edk2.groups.io Cc: William2 Wang , Michael D Kinney , Liming Gao , Ray Ni , Donald Kuo , Chandana C Kumar Subject: [PATCH v6] Update CPUID Leaf 06H to follow latest SDM. Date: Fri, 17 Feb 2023 16:24:17 +0800 Message-Id: <20230217082417.732-1-william2.wang@intel.com> X-Mailer: git-send-email 2.34.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: William2 Wang REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4262 Update CPUID Leaf 06H to follow latest SDM. Cc: Michael D Kinney Cc: Liming Gao Cc: Ray Ni Cc: Donald Kuo Cc: Chandana C Kumar --- MdePkg/Include/Register/Intel/Cpuid.h | 65 ++++++++++++++++++-- 1 file changed, 59 insertions(+), 6 deletions(-) diff --git a/MdePkg/Include/Register/Intel/Cpuid.h b/MdePkg/Include/Registe= r/Intel/Cpuid.h index 350bf60252..a8d25671bd 100644 --- a/MdePkg/Include/Register/Intel/Cpuid.h +++ b/MdePkg/Include/Register/Intel/Cpuid.h @@ -1195,12 +1195,24 @@ typedef union { /// [Bit 18] Fast access mode for the IA32_HWP_REQUEST MSR is supporte= d if set.=0D ///=0D UINT32 FastAccessMode : 1;=0D - UINT32 Reserved4 : 1;=0D + ///=0D + /// [Bit 19] IA32_HW_FEEDBACK_PTR MSR, IA32_HW_FEEDBACK_CONFIG MSR,=0D + /// IA32_PACKAGE_THERM_STATUS MSR bit 26, and IA32_PACKAGE_THERM_INTER= RUPT MSR bit 25 are supported if set.=0D + UINT32 HW_FEEDBACK : 1;=0D ///=0D /// [Bit 20] Ignoring Idle Logical Processor HWP request is supported = if set.=0D ///=0D UINT32 IgnoringIdleLogicalProcessorHWPRequest : 1;=0D - UINT32 Reserved5 : 11;=0D + UINT32 Reserved6 : 2;=0D + ///=0D + /// [Bit 23] Intel Thread Director supported if set. IA32_HW_FEEDBACK_= CHAR and=0D + /// IA32_HW_FEEDBACK_THREAD_CONFIG MSRs are supported if set.=0D + UINT32 ThreadDirector : 1;=0D + ///=0D + /// [Bit 24] IA32_THERM_INTERRUPT MSR bit 25 is supported if set.=0D + ///=0D + UINT32 IA32_THERM_INTERRUPT : 1;=0D + UINT32 Reserved7 : 7;=0D } Bits;=0D ///=0D /// All bit fields as a 32-bit value=0D @@ -1244,15 +1256,21 @@ typedef union { /// processor performance (since last reset of the counters), as a per= centage=0D /// of the expected processor performance when running at the TSC freq= uency.=0D ///=0D - UINT32 HardwareCoordinationFeedback : 1;=0D - UINT32 Reserved1 : 2;=0D + UINT32 HardwareCoordinationFeedback : 1;=0D + UINT32 Reserved1 : 2;=0D ///=0D /// [Bit 3] If this bit is set, then the processor supports performanc= e-energy=0D /// bias preference and the architectural MSR called IA32_ENERGY_PERF_= BIAS=0D /// (1B0H).=0D ///=0D - UINT32 PerformanceEnergyBias : 1;=0D - UINT32 Reserved2 : 28;=0D + UINT32 PerformanceEnergyBias : 1;=0D + UINT32 Reserved3 : 4;=0D + ///=0D + /// {Bit 15:8] Number of Intel Thread Director classes supported by th= e processor. Information for that=0D + /// many classes is written into the Intel Thread Director Table by th= e hardware.=0D + ///=0D + UINT32 NumberOfThreadDirectorClasses : 8;=0D + UINT32 Reserved4 : 16;=0D } Bits;=0D ///=0D /// All bit fields as a 32-bit value=0D @@ -1260,6 +1278,41 @@ typedef union { UINT32 Uint32;=0D } CPUID_THERMAL_POWER_MANAGEMENT_ECX;=0D =0D +/**=0D + CPUID Thermal and Power Management Information returned in EDX for CPUID= leaf=0D + #CPUID_THERMAL_POWER_MANAGEMENT.=0D +**/=0D +typedef union {=0D + ///=0D + /// Individual bit fields=0D + ///=0D + struct {=0D + ///=0D + /// {Bits 7:0] Bitmap of supported hardware feedback interface capabil= ities.=0D + /// 0 =3D When set to 1, indicates support for performance capabilit= y reporting.=0D + /// 1 =3D When set to 1, indicates support for energy efficiency cap= ability reporting.=0D + /// 2-7 =3D Reserved=0D + ///=0D + UINT32 InterfaceCapability : 8;=0D + ///=0D + /// {Bits 11:8] Enumerates the size of the hardware feedback interface= structure in number of 4 KB pages;=0D + /// add one to the return value to get the result.=0D + ///=0D + UINT32 InterfaceStructureSize4K : 4;=0D + UINT32 Reserved : 4;=0D + ///=0D + /// {Bits 31:16] : Index (starting at 0) of this logical processor's r= ow in the hardware feedback interface structure.=0D + /// Note that on some parts the index may be same for multiple logical= processors. On some parts the=0D + /// indices may not be contiguous, i.e., there may be unused rows in t= he hardware feedback interface structure.=0D + ///=0D + UINT32 LogicalProcessorRowIndex : 16;=0D + } Bits;=0D + ///=0D + /// All bit fields as a 32-bit value=0D + ///=0D + UINT32 Uint32;=0D +} CPUID_THERMAL_POWER_MANAGEMENT_EDX;=0D +=0D /**=0D CPUID Structured Extended Feature Flags Enumeration=0D =0D --=20 2.34.1.windows.1