From 74423d887dc3d519456a28141fe5823b3b9ca85c Mon Sep 17 00:00:00 2001 From: Fernando Garcia Date: Thu, 4 Jan 2024 22:19:26 +0100 Subject: [PATCH] Update repos, update CPUID to v1.0.6 --- CHANGELOG.md | 12 +- README.txt | 190 +++++++------- .../CpuidLeafContent.md | 6 +- .../CpuidLeafContent/Equals.md | 12 +- .../CpuidLeafContent/GetHashCode.md | 6 - .../CpuidLeafContent/ToString.md | 6 - .../CpuidLeafContent/op_Equality.md | 2 +- .../CpuidLeafContent/op_Inequality.md | 2 +- .../CpuidLeafDictionary/GetProperties.md | 2 +- .../CpuidLeafDictionary/GetProperty.md | 2 +- .../LeafBase.md | 4 +- .../LeafBase/GetProperty.md | 2 +- .../LeafBase/InvokeResult.md | 4 +- .../LeafBase/ToString.md | 6 - .../CreateErrorResult.md | 8 +- iCPUID.sln | 31 +-- nuget/README.md | 2 +- nuget/iCPUID.1.0.6.nuspec | 2 +- .../SafeCpuidNativeMethods.cs | 12 +- ...n.Core.Hardware.CrossPlatform.Cpuid.csproj | 2 +- .../uProcessor/CPUID/NativeMethods.cs | 16 +- .../CPUID/Structures/CpuidResult.cs | 19 +- ...in.Core.Interop.CrossPlatform.Cpuid.csproj | 4 +- .../CPUID.cs | 18 +- .../CPUID/ComponentModel/CpuidLeafContent.cs | 37 +-- .../ComponentModel/CpuidLeafDictionary.cs | 24 +- .../CPUID/ComponentModel/CpuidLeafFactory.cs | 25 +- .../CPUID/ComponentModel/CpuidLeafsCache.cs | 6 +- .../CPUID/Leafs/Base/LeafBase.cs | 37 ++- .../CPUID/Leafs/Enumerations/SubLeaf.cs | 2 +- .../Leaf00000000 [Basic CPUID Information].cs | 5 +- ...f00000001 [Processor Info and Features].cs | 15 +- ... [Cache and TLB Descriptor information].cs | 238 +++++++++--------- .../Leaf00000003 [Processor Serial Number].cs | 5 +- ...000004 [Deterministic Cache Parameters].cs | 29 +-- .../Items/Leaf00000005 [MONITOR-MWAIT].cs | 25 +- ...00000006 [Thermal and Power Management].cs | 7 +- ...tended Feature Enumeration Information].cs | 7 +- ...00009 [Direct Cache Access Information].cs | 7 +- ...ctural Performance Monitoring Features].cs | 17 +- ...000000B [Extended Topology Information].cs | 17 +- ...xtended States Enumeration Information].cs | 23 +- ...DT) Monitoring Enumeration Information].cs | 11 +- ...DT) Allocation Enumeration Information].cs | 11 +- ...012 [Intel SGX Enumeration Information].cs | 23 +- ...rocessor Trace Enumeration Information].cs | 15 +- ...Nominal Core Crystal Clock Information].cs | 11 +- ...00016 [Processor Frequency Information].cs | 11 +- ...af00000017 [System-On-Chip Information].cs | 15 +- ...[Highest Extended Function Implemented].cs | 7 +- ... [Extended Processor Info And Features].cs | 5 +- .../Leaf80000002 [Processor Brand String].cs | 7 +- ...0003 [Processor Brand String continued].cs | 7 +- ...0004 [Processor Brand String continued].cs | 7 +- ...80000005 [L1 Cache and TLB Identifiers].cs | 7 +- ...af80000006 [Extended L2 Cache Features].cs | 9 +- ...[Advanced Power Management Information].cs | 7 +- ...08 [Virtual and Physical address Sizes].cs | 9 +- .../Items/Leaf8FFFFFFFF [AMD Easter Egg].cs | 7 +- .../QuerySubLeafPropertyCollectionResult.cs | 183 +++++++------- .../GlobalSuppressions.cs | 11 - .../iTin.Hardware.Specification.Cpuid.csproj | 4 +- .../iCPUID.ConsoleApp/app.config | 2 +- .../iCPUID.ConsoleApp.csproj | 6 +- .../iCPUID.ConsoleAppCore31/Program.cs | 186 -------------- .../iCPUID.ConsoleAppCore31.csproj | 36 --- .../iCPUID.ConsoleAppCore31.sln | 17 -- .../iCPUID.ConsoleAppCoreNuget.csproj | 2 +- 68 files changed, 614 insertions(+), 898 deletions(-) delete mode 100644 src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/GlobalSuppressions.cs delete mode 100644 src/test/NetCore/iCPUID.ConsoleAppCore31/Program.cs delete mode 100644 src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.csproj delete mode 100644 src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.sln diff --git a/CHANGELOG.md b/CHANGELOG.md index f3fc835..1ca57c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog All notable changes to this project will be documented in this file. -## 1.0.6 - +## 1.0.6 - 2024-04-01 ### Fixes @@ -21,11 +21,11 @@ All notable changes to this project will be documented in this file. | Library | Version | Description| |:--------|:--------|:-----------| - |iTin.Core| **2.0.0.7** | Base library containing various extensions, helpers, common constants | - |iTin.Core.Hardware.Common| **1.0.0.5** | Common Hardware Infrastructure | - |iTin.Core.Hardware.CrossPlatform.Cpuid | **1.0.0.1** | Cross-Platform Generic Hardware Calls (CPUID) | - |iTin.Core.Interop.CrossPlatform.Cpuid | **1.0.0.1** |Generic Cross-Platform Interop Calls (CPUID) | - |iTin.Core.Interop.Shared| **1.0.0.4** | Generic Shared Interop Definitions, Data Structures, Constants... | + |iTin.Core| **2.0.0.8** | Base library containing various extensions, helpers, common constants | + |iTin.Core.Hardware.Common| **1.0.0.6** | Common Hardware Infrastructure | + |iTin.Core.Hardware.CrossPlatform.Cpuid | **1.0.0.2** | Cross-Platform Generic Hardware Calls (CPUID) | + |iTin.Core.Interop.CrossPlatform.Cpuid | **1.0.0.2** |Generic Cross-Platform Interop Calls (CPUID) | + |iTin.Core.Interop.Shared| **1.0.0.5** | Generic Shared Interop Definitions, Data Structures, Constants... | |iTin.Hardware.Specification.Cpuid | **1.0.0.3** | CPUID Specification Implementation | |iTin.Logging | **1.0.0.3** | Logging library | diff --git a/README.txt b/README.txt index f031698..831afa8 100644 --- a/README.txt +++ b/README.txt @@ -17,23 +17,23 @@ Changes in this version (v1.0.6) - Library versions for this version - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core 2.0.0.7 Base library containing various extensions, helpers, common constants | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.Common 1.0.0.5 Common Hardware Infrastructure | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.1 Cross-Platform Generic Hardware Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.1 Generic Cross-Platform Interop Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.Shared 1.0.0.4 Generic Shared Interop Definitions, Data Structures, Constants... | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Hardware.Specification.Cpuid 1.0.0.3 CPUID Specification Implementation | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Logging 1.0.0.3 Logging library | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core 2.0.0.8 Base library containing various extensions, helpers, common constants | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.Common 1.0.0.6 Common Hardware Infrastructure | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.2 Cross-Platform Generic Hardware Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.2 Generic Cross-Platform Interop Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.Shared 1.0.0.5 Generic Shared Interop Definitions, Data Structures, Constants... | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Hardware.Specification.Cpuid 1.0.0.3 CPUID Specification Implementation | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Logging 1.0.0.3 Logging library | + ---------------------------------------------------------------------------------------------------------------------------------- v1.0.5 ====== @@ -51,23 +51,23 @@ v1.0.5 - Library versions for this version - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core 2.0.0.5 Base library containing various extensions, helpers, common constants | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.Common 1.0.0.4 Common Hardware Infrastructure | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.0 Cross-Platform Generic Hardware Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.0 Generic Cross-Platform Interop Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.Shared 1.0.0.3 Generic Shared Interop Definitions, Data Structures, Constants... | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Hardware.Specification.Cpuid 1.0.0.2 CPUID Specification Implementation | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Logging 1.0.0.1 Logging library | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core 2.0.0.5 Base library containing various extensions, helpers, common constants | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.Common 1.0.0.4 Common Hardware Infrastructure | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.0 Cross-Platform Generic Hardware Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.0 Generic Cross-Platform Interop Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.Shared 1.0.0.3 Generic Shared Interop Definitions, Data Structures, Constants... | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Hardware.Specification.Cpuid 1.0.0.2 CPUID Specification Implementation | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Logging 1.0.0.1 Logging library | + ---------------------------------------------------------------------------------------------------------------------------------- v1.0.4 ====== @@ -95,23 +95,23 @@ v1.0.4 - Library versions for this version - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core 2.0.0.4 Base library containing various extensions, helpers, common constants | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.Common 1.0.0.3 Common Hardware Infrastructure | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.0 Cross-Platform Generic Hardware Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.0 Generic Cross-Platform Interop Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.Shared 1.0.0.2 Generic Shared Interop Definitions, Data Structures, Constants... | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Hardware.Specification.Cpuid 1.0.0.2 CPUID Specification Implementation | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Logging 1.0.0.1 Logging library | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core 2.0.0.4 Base library containing various extensions, helpers, common constants | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.Common 1.0.0.3 Common Hardware Infrastructure | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.0 Cross-Platform Generic Hardware Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.0 Generic Cross-Platform Interop Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.Shared 1.0.0.2 Generic Shared Interop Definitions, Data Structures, Constants... | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Hardware.Specification.Cpuid 1.0.0.2 CPUID Specification Implementation | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Logging 1.0.0.1 Logging library | + ---------------------------------------------------------------------------------------------------------------------------------- v1.0.3 ====== @@ -264,65 +264,65 @@ v1.0.2 - Library documentation. - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core 2.0.0.1 Base library containing various extensions, helpers, common constants | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.Common 1.0.0.1 Common Hardware Infrastructure | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.0 Cross-Platform Generic Hardware Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.0 Generic Cross-Platform Interop Calls (CPUID) | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.Shared 1.0.0.0 Generic Shared Interop Definitions, Data Structures, Constants... | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Hardware.Specification.Cpuid 1.0.0.1 CPUID Specification Implementation | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Logging 1.0.0.0 Logging library | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core 2.0.0.1 Base library containing various extensions, helpers, common constants | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.Common 1.0.0.1 Common Hardware Infrastructure | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.CrossPlatform.Cpuid 1.0.0.0 Cross-Platform Generic Hardware Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.CrossPlatform.Cpuid 1.0.0.0 Generic Cross-Platform Interop Calls (CPUID) | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.Shared 1.0.0.0 Generic Shared Interop Definitions, Data Structures, Constants... | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Hardware.Specification.Cpuid 1.0.0.1 CPUID Specification Implementation | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Logging 1.0.0.0 Logging library | + ---------------------------------------------------------------------------------------------------------------------------------- · Removed ------- - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.CrossPlatform 1.0.0.0 Hardware Cross-Platform Interop Calls | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.CrossPlatform 1.0.0.0 Generic Cross-Platform Interop Calls | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.CrossPlatform 1.0.0.0 Hardware Cross-Platform Interop Calls | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.CrossPlatform 1.0.0.0 Generic Cross-Platform Interop Calls | + ---------------------------------------------------------------------------------------------------------------------------------- v1.0.1 ====== Library versions - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core 2.0.0.0 Base library containing various extensions, helpers, common constants | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.Common 1.0.0.0 Common Hardware Infrastructure | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Hardware.CrossPlatform 1.0.0.0 Hardware Cross-Platform Interop Calls | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Core.Interop.CrossPlatform 1.0.0.0 Generic Cross-Platform Interop Calls | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Hardware.Specification.Cpuid 1.0.0.0 CPUID Specification Implementation | - --------------------------------------------------------------------------------------------------------------------------------- - |iTin.Logging 1.0.0.0 Logging library | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core 2.0.0.0 Base library containing various extensions, helpers, common constants | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.Common 1.0.0.0 Common Hardware Infrastructure | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Hardware.CrossPlatform 1.0.0.0 Hardware Cross-Platform Interop Calls | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Core.Interop.CrossPlatform 1.0.0.0 Generic Cross-Platform Interop Calls | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Hardware.Specification.Cpuid 1.0.0.0 CPUID Specification Implementation | + ---------------------------------------------------------------------------------------------------------------------------------- + | iTin.Logging 1.0.0.0 Logging library | + ---------------------------------------------------------------------------------------------------------------------------------- Native library versions ======================= - --------------------------------------------------------------------------------------------------------------------------------- - | Library Version Description | - --------------------------------------------------------------------------------------------------------------------------------- - |cpuid 0.0.1.0 Native calls (CPUID instruction calls) | - --------------------------------------------------------------------------------------------------------------------------------- + ---------------------------------------------------------------------------------------------------------------------------------- + | Library Version Description | + ---------------------------------------------------------------------------------------------------------------------------------- + | cpuid 0.0.1.0 Native calls (CPUID instruction calls) | + ---------------------------------------------------------------------------------------------------------------------------------- The code of the native cpuid library, is available in the github repository at the following link: https://github.com/iAJTin/iCPUID/tree/master/src/lib/rust/cpuid diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent.md index fd3eaa2..3aea77e 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent.md @@ -13,9 +13,9 @@ public struct CpuidLeafContent | [CpuidLeafContent](CpuidLeafContent/CpuidLeafContent.md)(…) | Initializes a new instance of the [`CpuidLeafContent`](./CpuidLeafContent.md) struct. | | [Leaf](CpuidLeafContent/Leaf.md) { get; } | Gets the [`Leaf`](./CpuidLeafContent/Leaf.md) value. | | [Equals](CpuidLeafContent/Equals.md)(…) | Indicates whether the current object is equal to another object of the same type. | -| override [Equals](CpuidLeafContent/Equals.md)(…) | Determines whether the specified Object is equal to this instance. | -| override [GetHashCode](CpuidLeafContent/GetHashCode.md)() | Returns a hash code for this instance. | -| override [ToString](CpuidLeafContent/ToString.md)() | Returns a String that represents this instance. | +| override [Equals](CpuidLeafContent/Equals.md)(…) | | +| override [GetHashCode](CpuidLeafContent/GetHashCode.md)() | | +| override [ToString](CpuidLeafContent/ToString.md)() | | | [operator ==](CpuidLeafContent/op_Equality.md) | Implements the == operator. | | [operator !=](CpuidLeafContent/op_Inequality.md) | Implements the != operator. | diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/Equals.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/Equals.md index 6a0e108..959fd34 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/Equals.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/Equals.md @@ -12,7 +12,7 @@ public bool Equals(CpuidLeafContent other) ## Return Value -true if the current object is equal to the parameter *other*; Otherwise, false. +`true` if the current object is equal to the parameter *other*; Otherwise, `false`. ## See Also @@ -23,20 +23,10 @@ true if the current object is equal to the parameter *other*; Otherwise, false. # CpuidLeafContent.Equals method (2 of 2) -Determines whether the specified Object is equal to this instance. - ```csharp public override bool Equals(object obj) ``` -| parameter | description | -| --- | --- | -| obj | Another object with which the comparison is to be made. | - -## Return Value - -true if the specified Object is equal to this instance; otherwise, false. - ## See Also * struct [CpuidLeafContent](../CpuidLeafContent.md) diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/GetHashCode.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/GetHashCode.md index 6a4ea39..22cf259 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/GetHashCode.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/GetHashCode.md @@ -1,15 +1,9 @@ # CpuidLeafContent.GetHashCode method -Returns a hash code for this instance. - ```csharp public override int GetHashCode() ``` -## Return Value - -A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - ## See Also * struct [CpuidLeafContent](../CpuidLeafContent.md) diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/ToString.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/ToString.md index 9f263da..10b3d31 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/ToString.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/ToString.md @@ -1,15 +1,9 @@ # CpuidLeafContent.ToString method -Returns a String that represents this instance. - ```csharp public override string ToString() ``` -## Return Value - -A String that represents this instance. - ## See Also * struct [CpuidLeafContent](../CpuidLeafContent.md) diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Equality.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Equality.md index e772e9d..a1135fb 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Equality.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Equality.md @@ -13,7 +13,7 @@ public static bool operator ==(CpuidLeafContent right, CpuidLeafContent left) ## Return Value -Returns true if right is equal to left; false otherwise. +Returns `true` if right is equal to left; otherwise `false`. ## See Also diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Inequality.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Inequality.md index e48eadf..f75b5ab 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Inequality.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafContent/op_Inequality.md @@ -13,7 +13,7 @@ public static bool operator !=(CpuidLeafContent right, CpuidLeafContent left) ## Return Value -Returns true if right is not equal to left; false otherwise. +Returns `true` if right is not equal to left; otherwise `false`. ## See Also diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperties.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperties.md index 9e41d17..ca42f7f 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperties.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperties.md @@ -12,7 +12,7 @@ public QuerySubLeafPropertyCollectionResult GetProperties(IPropertyKey propertyK ## Return Value -A [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) reference that contains the result of the operation, to check if the operation is correct, the Success property will be true and the Value property will contain the value; Otherwise, the the Success property will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. +A [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) reference that contains the result of the operation, to check if the operation is correct, the Success property will be `true` and the Value property will contain the value; otherwise, the Success property will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. The type of the Value property is [`CpuidSubLeafDictionary`](../CpuidSubLeafDictionary.md). Contains the result of the operation. diff --git a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperty.md b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperty.md index f89a12e..46b181a 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperty.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/CpuidLeafDictionary/GetProperty.md @@ -12,7 +12,7 @@ public QueryPropertyResult GetProperty(IPropertyKey propertyKey) ## Return Value -A QueryPropertyResult reference that contains the result of the operation, to check if the operation is correct, the Success property will be true and the Value property will contain the value; Otherwise, the the Success property will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. +A QueryPropertyResult reference that contains the result of the operation, to check if the operation is correct, the Success property will be `true` and the Value property will contain the value; otherwise, the Success property will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. The type of the Value property is PropertyItem. diff --git a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase.md b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase.md index ce350f2..dee64f7 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase.md @@ -14,14 +14,14 @@ public abstract class LeafBase | [Leaf](LeafBase/Leaf.md) { get; } | Gets the [`Leaf`](./LeafBase/Leaf.md) value. | | [SubLeaf](LeafBase/SubLeaf.md) { get; } | Gets the [`SubLeaf`](./LeafBase/SubLeaf.md) value. | | [GetProperty](LeafBase/GetProperty.md)(…) | Returns the value of specified property. Always returns the first appearance of the property. | -| override [ToString](LeafBase/ToString.md)() | Returns a String that represents this instance. | +| override [ToString](LeafBase/ToString.md)() | | ## Protected Members | name | description | | --- | --- | | [LeafBase](LeafBase/LeafBase.md)(…) | Initializes a new instance of the class [`LeafBase`](./LeafBase.md). | -| [InvokeResult](LeafBase/InvokeResult.md) { get; set; } | Gets or sets the result of executes the CPUID instruction with given leaf and optional subleaf. | +| [InvokeResult](LeafBase/InvokeResult.md) { get; set; } | Gets or sets the result of executes the CPUID instruction with given leaf and optional sub-leaf. | | virtual [PopulateProperties](LeafBase/PopulateProperties.md)(…) | Populates the property collection for this leaf. | ## See Also diff --git a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/GetProperty.md b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/GetProperty.md index 79af7fd..799b7b8 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/GetProperty.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/GetProperty.md @@ -12,7 +12,7 @@ public QueryPropertyResult GetProperty(IPropertyKey propertyKey) ## Return Value -A QueryPropertyResult reference that contains the result of the operation, to check if the operation is correct, the Success property will be true and the Value property will contain the value; Otherwise, the the Success property will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. +A QueryPropertyResult reference that contains the result of the operation, to check if the operation is correct, the Success property will be `true` and the Value property will contain the value; otherwise, the Success property will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. The type of the Value property is PropertyItem. Contains the result of the operation. diff --git a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/InvokeResult.md b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/InvokeResult.md index 1743ebd..6207a49 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/InvokeResult.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/InvokeResult.md @@ -1,6 +1,6 @@ # LeafBase.InvokeResult property -Gets or sets the result of executes the CPUID instruction with given leaf and optional subleaf. +Gets or sets the result of executes the CPUID instruction with given leaf and optional sub-leaf. ```csharp protected CpuidResult InvokeResult { get; set; } @@ -8,7 +8,7 @@ protected CpuidResult InvokeResult { get; set; } ## Property Value -A CpuidResult structure which contains the result of executes the CPUID instruction with given leaf and optional subleaf. +A CpuidResult structure which contains the result of executes the CPUID instruction with given leaf and optional sub-leaf. ## See Also diff --git a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/ToString.md b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/ToString.md index 078eb2d..d588304 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/ToString.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/LeafBase/ToString.md @@ -1,15 +1,9 @@ # LeafBase.ToString method -Returns a String that represents this instance. - ```csharp public override string ToString() ``` -## Return Value - -A String that represents this instance. - ## See Also * class [LeafBase](../LeafBase.md) diff --git a/documentation/iTin.Hardware.Specification.Cpuid/QuerySubLeafPropertyCollectionResult/CreateErrorResult.md b/documentation/iTin.Hardware.Specification.Cpuid/QuerySubLeafPropertyCollectionResult/CreateErrorResult.md index be3d8dc..0b0e385 100644 --- a/documentation/iTin.Hardware.Specification.Cpuid/QuerySubLeafPropertyCollectionResult/CreateErrorResult.md +++ b/documentation/iTin.Hardware.Specification.Cpuid/QuerySubLeafPropertyCollectionResult/CreateErrorResult.md @@ -1,6 +1,6 @@ # QuerySubLeafPropertyCollectionResult.CreateErrorResult method (1 of 4) -Returns a new [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors collection. +Returns a new [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors' collection. ```csharp public static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultError[] errors) @@ -12,7 +12,7 @@ public static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultErro ## Return Value -A new invalid [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors collection. +A new invalid [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors' collection. ## See Also @@ -23,7 +23,7 @@ A new invalid [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCo # QuerySubLeafPropertyCollectionResult.CreateErrorResult method (2 of 4) -Returns a new [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors collection. +Returns a new [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors' collection. ```csharp public static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultError[] errors, @@ -37,7 +37,7 @@ public static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultErro ## Return Value -A new invalid [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors collection. +A new invalid [`QuerySubLeafPropertyCollectionResult`](../QuerySubLeafPropertyCollectionResult.md) with specified detailed errors' collection. ## See Also diff --git a/iCPUID.sln b/iCPUID.sln index 96eb3d7..62a3a16 100644 --- a/iCPUID.sln +++ b/iCPUID.sln @@ -55,8 +55,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NetCore", "NetCore", "{46DC EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iCPUID.ConsoleApp", "src\test\FullFramework\iCPUID.ConsoleApp\iCPUID.ConsoleApp.csproj", "{212B28B4-CD31-4B9E-BB45-82A8F34940C8}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iCPUID.ConsoleAppCore31", "src\test\NetCore\iCPUID.ConsoleAppCore31\iCPUID.ConsoleAppCore31.csproj", "{44086DA6-21AF-440C-BE21-EBC50B404CB8}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iCPUID.ConsoleAppCore60", "src\test\NetCore\iCPUID.ConsoleAppCore60\iCPUID.ConsoleAppCore60.csproj", "{9B3AC995-5841-4FE1-9209-E65404138EF3}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Hardware.Specification.Cpuid", "src\lib\net\iTin.Hardware\iTin.Hardware.Specification.Cpuid\iTin.Hardware.Specification.Cpuid.csproj", "{94391F2E-D57E-4284-8D57-FB8EE9730757}" @@ -65,9 +63,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Logging", "..\iTin\iTi EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Core", "..\iTin\iTin.Core\iTin.Core\src\iTin.Core.csproj", "{ADE5D508-BA17-4757-B7E2-8CDFAF151140}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Core.Interop.Shared", "..\iTin\iTin.Core\iTin.Core.Interop.Shared\src\iTin.Core.Interop.Shared.csproj", "{165AC5C6-10DC-47F6-B3BD-9E5D390EAEA8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Core.Hardware.Common", "..\iTin\iTin.Core\iTin.Core.Hardware\iTin.Core.Hardware.Common\src\iTin.Core.Hardware.Common.csproj", "{8A97A25B-0AF9-400A-93A0-D88D7FF38C55}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Core.Hardware.Common", "..\iTin\iTin.Core\iTin.Core.Hardware.Common\src\iTin.Core.Hardware.Common.csproj", "{7FD11BC8-5B3B-4CA4-85A1-5F90CA3495C0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iTin.Core.Interop.Shared", "..\iTin\iTin.Core\iTin.Core.Interop\iTin.Core.Interop.Shared\src\iTin.Core.Interop.Shared.csproj", "{41E300EE-A663-48A7-9B38-2EFA7CE978A2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -87,10 +85,6 @@ Global {212B28B4-CD31-4B9E-BB45-82A8F34940C8}.Debug|Any CPU.Build.0 = Debug|Any CPU {212B28B4-CD31-4B9E-BB45-82A8F34940C8}.Release|Any CPU.ActiveCfg = Release|Any CPU {212B28B4-CD31-4B9E-BB45-82A8F34940C8}.Release|Any CPU.Build.0 = Release|Any CPU - {44086DA6-21AF-440C-BE21-EBC50B404CB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44086DA6-21AF-440C-BE21-EBC50B404CB8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44086DA6-21AF-440C-BE21-EBC50B404CB8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44086DA6-21AF-440C-BE21-EBC50B404CB8}.Release|Any CPU.Build.0 = Release|Any CPU {9B3AC995-5841-4FE1-9209-E65404138EF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B3AC995-5841-4FE1-9209-E65404138EF3}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B3AC995-5841-4FE1-9209-E65404138EF3}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -107,14 +101,14 @@ Global {ADE5D508-BA17-4757-B7E2-8CDFAF151140}.Debug|Any CPU.Build.0 = Debug|Any CPU {ADE5D508-BA17-4757-B7E2-8CDFAF151140}.Release|Any CPU.ActiveCfg = Release|Any CPU {ADE5D508-BA17-4757-B7E2-8CDFAF151140}.Release|Any CPU.Build.0 = Release|Any CPU - {165AC5C6-10DC-47F6-B3BD-9E5D390EAEA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {165AC5C6-10DC-47F6-B3BD-9E5D390EAEA8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {165AC5C6-10DC-47F6-B3BD-9E5D390EAEA8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {165AC5C6-10DC-47F6-B3BD-9E5D390EAEA8}.Release|Any CPU.Build.0 = Release|Any CPU - {7FD11BC8-5B3B-4CA4-85A1-5F90CA3495C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7FD11BC8-5B3B-4CA4-85A1-5F90CA3495C0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7FD11BC8-5B3B-4CA4-85A1-5F90CA3495C0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7FD11BC8-5B3B-4CA4-85A1-5F90CA3495C0}.Release|Any CPU.Build.0 = Release|Any CPU + {8A97A25B-0AF9-400A-93A0-D88D7FF38C55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8A97A25B-0AF9-400A-93A0-D88D7FF38C55}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8A97A25B-0AF9-400A-93A0-D88D7FF38C55}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8A97A25B-0AF9-400A-93A0-D88D7FF38C55}.Release|Any CPU.Build.0 = Release|Any CPU + {41E300EE-A663-48A7-9B38-2EFA7CE978A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {41E300EE-A663-48A7-9B38-2EFA7CE978A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {41E300EE-A663-48A7-9B38-2EFA7CE978A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {41E300EE-A663-48A7-9B38-2EFA7CE978A2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -142,13 +136,12 @@ Global {36EE8C99-8A50-4B89-AB85-62889B7736EE} = {9CC3D223-429B-4F9C-AFB1-62DB5C7AA537} {46DC7660-8AC5-496D-A9AC-CC32176C9D7D} = {9CC3D223-429B-4F9C-AFB1-62DB5C7AA537} {212B28B4-CD31-4B9E-BB45-82A8F34940C8} = {36EE8C99-8A50-4B89-AB85-62889B7736EE} - {44086DA6-21AF-440C-BE21-EBC50B404CB8} = {46DC7660-8AC5-496D-A9AC-CC32176C9D7D} {9B3AC995-5841-4FE1-9209-E65404138EF3} = {46DC7660-8AC5-496D-A9AC-CC32176C9D7D} {94391F2E-D57E-4284-8D57-FB8EE9730757} = {2B59E4F2-63ED-451E-A129-0F1BB120C489} {7EF7A3AA-D7FF-46FB-BE67-3627A57E1279} = {3B26CD98-6EFC-4C82-A943-76F4DD9E5104} {ADE5D508-BA17-4757-B7E2-8CDFAF151140} = {CA765D0F-855F-47AE-94FB-F87F977BF6F9} - {165AC5C6-10DC-47F6-B3BD-9E5D390EAEA8} = {EBA7075B-AF98-4C89-905F-FE3010B8D3FA} - {7FD11BC8-5B3B-4CA4-85A1-5F90CA3495C0} = {4E03C3BF-2594-42DB-A37B-21EC35A99CB5} + {8A97A25B-0AF9-400A-93A0-D88D7FF38C55} = {4E03C3BF-2594-42DB-A37B-21EC35A99CB5} + {41E300EE-A663-48A7-9B38-2EFA7CE978A2} = {EBA7075B-AF98-4C89-905F-FE3010B8D3FA} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {865B30D7-C009-4E5F-AF69-2873D9859C1F} diff --git a/nuget/README.md b/nuget/README.md index 33231a2..e5e21c5 100644 --- a/nuget/README.md +++ b/nuget/README.md @@ -1,5 +1,5 @@ # What is iCPUID? -iCPUID is a lightweight cross-platform implementation that allows us to obtain the CPUID information. +**iCPUID** is a lightweight cross-platform implementation that allows us to obtain the **CPUID** information. Works on Windows, Mac and Linux diff --git a/nuget/iCPUID.1.0.6.nuspec b/nuget/iCPUID.1.0.6.nuspec index 9ef845b..30e0ade 100644 --- a/nuget/iCPUID.1.0.6.nuspec +++ b/nuget/iCPUID.1.0.6.nuspec @@ -13,7 +13,7 @@ https://raw.githubusercontent.com/iAJTin/iCPUID/master/nuget/iCPUID.png false iCPUID is a lightweight cross-platform implementation that allows us to obtain the CPUID information. Works on Windows, Mac and Linux - Copyright © 2022 iAJTin + Copyright © 2024 iAJTin CPUID CPU hardware iTin diff --git a/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/SafeCpuidNativeMethods.cs b/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/SafeCpuidNativeMethods.cs index 4879630..5f6e93c 100644 --- a/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/SafeCpuidNativeMethods.cs +++ b/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/SafeCpuidNativeMethods.cs @@ -4,7 +4,7 @@ namespace iTin.Core.Hardware.CrossPlatform.Cpuid; /// -/// Methods for handle CPUID microprocessor features. +/// Methods for handle CPUID microprocessor features. /// public static class SafeCpuidNativeMethods { @@ -12,17 +12,17 @@ public static class SafeCpuidNativeMethods /// Gets a value that indicates whether there is support for the CPUID function of the microprocessor. /// /// - /// Returns true in case the CPUID instruction is supported; false otherwise. + /// Returns in case the CPUID instruction is supported; otherwise . /// public static bool CpuidIsSupported() => NativeMethods.cpuid_is_supported(); /// - /// Returns the result of the CPUID instruction for a given and . + /// Returns the result of the CPUID instruction for a given and . /// - /// A which defines the value of the eax register. - /// A which defines the value of the ecx register. + /// A which defines the value of the eax register. + /// A which defines the value of the ecx register. /// /// Returns a structure that contains the result of the operation. /// - public static CpuidResult Invoke(uint leaf, uint subleaf = 0x00) => NativeMethods.cpuid_with_subleaf(leaf, subleaf); + public static CpuidResult Invoke(uint leaf, uint subLeaf = 0x00) => NativeMethods.cpuid_with_subleaf(leaf, subLeaf); } diff --git a/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/iTin.Core.Hardware.CrossPlatform.Cpuid.csproj b/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/iTin.Core.Hardware.CrossPlatform.Cpuid.csproj index 509758f..b203bc3 100644 --- a/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/iTin.Core.Hardware.CrossPlatform.Cpuid.csproj +++ b/src/lib/net/iTin.Core/iTin.Core.Hardware/iTin.Core.Hardware.CrossPlatform/iTin.Core.Hardware.CrossPlatform.Cpuid/iTin.Core.Hardware.CrossPlatform.Cpuid.csproj @@ -7,7 +7,7 @@ true iTin.Core.Hardware.CrossPlatform.Cpuid iTin.Core.Hardware.CrossPlatform.Cpuid - 1.0.0.1 + 1.0.0.2 iTin iTin iTin.Core.Hardware.CrossPlatform.Cpuid diff --git a/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/NativeMethods.cs b/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/NativeMethods.cs index adedc96..fd8778f 100644 --- a/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/NativeMethods.cs +++ b/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/NativeMethods.cs @@ -6,23 +6,23 @@ namespace iTin.Core.Interop.CrossPlatform.Development.Hardware.uProcessor.CPUID; /// -/// Functions for handle CPUID microprocessor features. +/// Functions for handle CPUID microprocessor features. /// public static class NativeMethods { /// - /// Gets a value that indicates whether there is support for the CPUID function of the microprocessor. + /// Gets a value that indicates whether there is support for the CPUID function of the microprocessor. /// /// - /// Returns true in case the CPUID instruction is supported; false otherwise. + /// Returns in case the CPUID instruction is supported; otherwise . /// [DllImport(ExternDll.Cpuid)] public static extern bool cpuid_is_supported(); /// - /// Returns the result of the CPUID instruction for a given . + /// Returns the result of the CPUID instruction for a given . /// - /// A which defines the value of the `eax` register. + /// A which defines the value of the eax register. /// /// Returns a structure that contains the result of the operation. /// @@ -30,10 +30,10 @@ public static class NativeMethods public static extern CpuidResult cpuid(uint leaf); /// - /// Returns the result of the CPUID instruction for a given and . + /// Returns the result of the CPUID instruction for a given and . /// - /// A which defines the value of the eax register. - /// A which defines the value of the ecx register. + /// A which defines the value of the eax register. + /// A which defines the value of the ecx register. /// /// Returns a structure that contains the result of the operation. /// diff --git a/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/Structures/CpuidResult.cs b/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/Structures/CpuidResult.cs index 7bae536..43f9903 100644 --- a/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/Structures/CpuidResult.cs +++ b/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/Development/Hardware/uProcessor/CPUID/Structures/CpuidResult.cs @@ -13,22 +13,22 @@ public struct CpuidResult #region public members /// - /// eax register. + /// eax register. /// public UInt32 eax; /// - /// ebx register. + /// ebx register. /// public UInt32 ebx; /// - /// ecx register. + /// ecx register. /// public UInt32 ecx; /// - /// edx register. + /// edx register. /// public UInt32 edx; @@ -40,20 +40,15 @@ public struct CpuidResult /// Gets a value indicating whether all registers have a value of 0. /// /// - /// true if all values are 0; otherwise false. + /// if all values are 0; otherwise . /// - public bool IsEmpty => eax == 0 && ebx == 0 && ecx == 0 & edx == 0; + public readonly bool IsEmpty => eax == 0 && ebx == 0 && ecx == 0 & edx == 0; #endregion #region public override methods - /// - /// Returns a that represents this instance. - /// - /// - /// A that represents this instance. - /// + /// public override string ToString() => $"eax={eax:X8}, ebx={ebx:X8}, ecx={ecx:X8}, edx={edx:X8}"; #endregion diff --git a/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/iTin.Core.Interop.CrossPlatform.Cpuid.csproj b/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/iTin.Core.Interop.CrossPlatform.Cpuid.csproj index db64c63..1343ec9 100644 --- a/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/iTin.Core.Interop.CrossPlatform.Cpuid.csproj +++ b/src/lib/net/iTin.Core/iTin.Core.Interop/iTin.Core.Interop.CrossPlatform/iTin.Core.Interop.CrossPlatform.Cpuid.csproj @@ -7,7 +7,7 @@ true iTin.Core.Interop.CrossPlatform.Cpuid iTin.Core.Interop.CrossPlatform.Cpuid - 1.0.0.1 + 1.0.0.2 iTin iTin iTin.Core.Interop.CrossPlatform.Cpuid @@ -42,7 +42,7 @@ - + diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID.cs index bcba167..4fb60ca 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID.cs @@ -20,8 +20,6 @@ namespace iTin.Hardware.Specification; public sealed class CPUID { #region private readonly members - [DebuggerBrowsable(DebuggerBrowsableState.Never)] - private string _processorName; [DebuggerBrowsable(DebuggerBrowsableState.Never)] private Leaf _validHighestLeafBasic; @@ -58,7 +56,7 @@ private CPUID() /// Gets a unique instance of this class. /// /// - /// A unique reference that contains CPUID information. + /// A unique reference that contains CPUID information. /// public static readonly CPUID Instance = new(); @@ -75,15 +73,15 @@ private CPUID() public ReadOnlyCollection ImplementedLeafs => _leafTable.Keys.ToList().AsReadOnly(); /// - /// Gets a value that indicates whether the CPUID instruction is available for this system. + /// Gets a value that indicates whether the CPUID instruction is available for this system. /// /// - /// true if the CPUID instruction is available for this system; Otherwise, false. + /// true if the CPUID instruction is available for this system; Otherwise, false. /// public bool IsAvailable { get; } /// - /// Gets a value that indicates whether the CPUID instruction is available for this system. + /// Gets a value that indicates whether the CPUID instruction is available for this system. /// /// /// A that contains the current processor name. @@ -105,12 +103,12 @@ public CpuidLeafDictionary Leafs } /// - /// Gets a value that indicates whether the CPUID instruction is available for this system. + /// Gets a value that indicates whether the CPUID instruction is available for this system. /// /// /// A that contains the current processor name. /// - public string ProcessorName => _processorName; + public string ProcessorName { get; private set; } #endregion @@ -149,7 +147,7 @@ private void PopulatesLeafTables() _leafTable.Add(currentLeaf, currentLeafInfo); } - for (uint leaf = (uint)Leaf.HighestExtendedFunctionImplemented; leaf < (uint)_validHighestLeafExtended; leaf++) + for (var leaf = (uint)Leaf.HighestExtendedFunctionImplemented; leaf < (uint)_validHighestLeafExtended; leaf++) { var validLeaf = Enum.IsDefined(typeof(Leaf), leaf); if (!validLeaf) @@ -179,7 +177,7 @@ private void PopulatesProcessorName() var brandString2Result = SafeCpuidNativeMethods.Invoke((uint)Leaf.ProcessorBrandString2); builder.Append($"{LogicHelper.Word2Str((int)brandString2Result.eax)}{LogicHelper.Word2Str((int)brandString2Result.ebx)}{LogicHelper.Word2Str((int)brandString2Result.ecx)}{LogicHelper.Word2Str((int)brandString2Result.edx)}"); - _processorName = builder.ToString().Trim('\0'); + ProcessorName = builder.ToString().Trim('\0'); } #endregion diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafContent.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafContent.cs index def7274..f3cabf8 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafContent.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafContent.cs @@ -1,8 +1,5 @@  -using System.Collections.Generic; - using iTin.Core.Hardware.CrossPlatform.Cpuid; - using iTin.Core.Interop.CrossPlatform.Development.Hardware.uProcessor.CPUID; namespace iTin.Hardware.Specification.Cpuid; @@ -45,7 +42,7 @@ internal CpuidSubLeafCollection SubLeafs { get { - IEnumerable structures = CpuidLeafFactory.Create(this); + var structures = CpuidLeafFactory.Create(this); var collection = new CpuidSubLeafCollection(structures); return collection; @@ -62,7 +59,7 @@ internal CpuidSubLeafCollection SubLeafs /// The right leaf info. /// The left leaf info. /// - /// Returns true if right is equal to left; false otherwise. + /// Returns if right is equal to left; otherwise . /// public static bool operator ==(CpuidLeafContent right, CpuidLeafContent left) => right.Equals(left); @@ -72,7 +69,7 @@ internal CpuidSubLeafCollection SubLeafs /// The right leaf info. /// The left leaf info. /// - /// Returns true if right is not equal to left; false otherwise. + /// Returns if right is not equal to left; otherwise . /// public static bool operator !=(CpuidLeafContent right, CpuidLeafContent left) => !right.Equals(left); @@ -85,7 +82,7 @@ internal CpuidSubLeafCollection SubLeafs /// /// Object to be compared to this object. /// - /// true if the current object is equal to the parameter ; Otherwise, false. + /// if the current object is equal to the parameter ; Otherwise, . /// public bool Equals(CpuidLeafContent other) => other.Equals((object)this); @@ -94,10 +91,10 @@ internal CpuidSubLeafCollection SubLeafs #region internal methods /// - /// Returns a value that contains the result of executes the CPUID instruction with given leaf and subleaf. + /// Returns a value that contains the result of executes the CPUID instruction with given leaf and sub-leaf. /// /// - /// A structure which contains the result of executes the CPUID instruction with given leaf and subleaf. + /// A structure which contains the result of executes the CPUID instruction with given leaf and sub-leaf. /// internal CpuidResult Invoke(SubLeaf subLeaf = SubLeaf.Main) => SafeCpuidNativeMethods.Invoke((uint)Leaf, (uint)subLeaf); @@ -105,21 +102,10 @@ internal CpuidSubLeafCollection SubLeafs #region public override methods - /// - /// Returns a hash code for this instance. - /// - /// - /// A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - /// + /// public override int GetHashCode() => Leaf.GetHashCode(); - /// - /// Determines whether the specified is equal to this instance. - /// - /// Another object with which the comparison is to be made. - /// - /// true if the specified is equal to this instance; otherwise, false. - /// + /// public override bool Equals(object obj) { if (obj is not CpuidLeafContent other) @@ -130,12 +116,7 @@ public override bool Equals(object obj) return other.Leaf == Leaf; } - /// - /// Returns a that represents this instance. - /// - /// - /// A that represents this instance. - /// + /// public override string ToString() => $"Leaf={Leaf}, SubLeafs={SubLeafs.Count}"; #endregion diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafDictionary.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafDictionary.cs index 1cf976d..5d53a00 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafDictionary.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafDictionary.cs @@ -17,12 +17,12 @@ public sealed class CpuidLeafDictionary : DictionaryKey to the property to obtain /// /// - /// A reference that contains the result of the operation, to check if the operation is correct, the Success - /// property will be true and the Value property will contain the value; Otherwise, the the Success property - /// will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. + /// A reference that contains the result of the operation, to check if the operation is correct, the Success + /// property will be and the Value property will contain the value; otherwise, the Success property + /// will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. /// /// - /// The type of the Value property is . + /// The type of the Value property is . /// /// /// @@ -32,19 +32,19 @@ public QueryPropertyResult GetProperty(IPropertyKey propertyKey) var propertyId = propertyKey.StructureId; var subLeafs = this[(Leaf)propertyId]; - bool hasItems = subLeafs.Any(); + var hasItems = subLeafs.Any(); if (!hasItems) { - return QueryPropertyResult.CreateErroResult("Can not found specified property key"); + return QueryPropertyResult.CreateErrorResult("Can not found specified property key"); } - bool onlyOneItem = subLeafs.Count == 1; + var onlyOneItem = subLeafs.Count == 1; if (onlyOneItem) { return subLeafs.FirstOrDefault()?.GetProperty(propertyKey); } - return QueryPropertyResult.CreateErroResult("Can not found specified property key"); + return QueryPropertyResult.CreateErrorResult("Can not found specified property key"); } /// @@ -53,9 +53,9 @@ public QueryPropertyResult GetProperty(IPropertyKey propertyKey) /// Key to the property to obtain /// /// - /// A reference that contains the result of the operation, to check if the operation is correct, the Success - /// property will be true and the Value property will contain the value; Otherwise, the the Success property - /// will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. + /// A reference that contains the result of the operation, to check if the operation is correct, the Success + /// property will be and the Value property will contain the value; otherwise, the Success property + /// will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. /// /// /// The type of the Value property is . Contains the result of the operation. @@ -73,7 +73,7 @@ public QuerySubLeafPropertyCollectionResult GetProperties(IPropertyKey propertyK return QuerySubLeafPropertyCollectionResult.CreateErrorResult("Can not found specified property key"); } - int i = 0; + var i = 0; foreach (var subLeaf in subLeafs) { properties.Add((SubLeaf)i, subLeaf.GetProperty(propertyKey).Result); diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafFactory.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafFactory.cs index 337aeb5..0989d25 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafFactory.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafFactory.cs @@ -4,7 +4,6 @@ using iTin.Core; using iTin.Core.Hardware.CrossPlatform.Cpuid; using iTin.Core.Helpers.Enumerations; -using iTin.Core.Interop.CrossPlatform.Development.Hardware.uProcessor.CPUID; namespace iTin.Hardware.Specification.Cpuid; @@ -23,8 +22,8 @@ internal static class CpuidLeafFactory public static IEnumerable Create(CpuidLeafContent data) { var parseProperties = new List(); - var subleafsNumber = DetermineSubLeafs(data.Leaf); - for (var i = 1; i <= subleafsNumber; i++) + var subLeafsNumber = DetermineSubLeafs(data.Leaf); + for (var i = 1; i <= subLeafsNumber; i++) { var subLeaf = (SubLeaf)(i - 1); switch (data.Leaf) @@ -169,7 +168,7 @@ private static uint DetermineSubLeafs(Leaf leaf) uint subLeaf = 0; while (true) { - CpuidResult result = SafeCpuidNativeMethods.Invoke((uint) leaf, subLeaf); + var result = SafeCpuidNativeMethods.Invoke((uint) leaf, subLeaf); if (result.IsEmpty) { break; @@ -186,8 +185,8 @@ private static uint DetermineSubLeafs(Leaf leaf) uint subLeaf = 0; while (true) { - CpuidResult result = SafeCpuidNativeMethods.Invoke((uint)leaf, subLeaf); - if (result.eax == 0 && result.ebx == 0) + var result = SafeCpuidNativeMethods.Invoke((uint)leaf, subLeaf); + if (result is { eax: 0, ebx: 0 }) { break; } @@ -200,14 +199,14 @@ private static uint DetermineSubLeafs(Leaf leaf) case Leaf.ResourceDirectorTechnologyMonitoring: { - CpuidResult result = SafeCpuidNativeMethods.Invoke((uint)leaf); + var result = SafeCpuidNativeMethods.Invoke((uint)leaf); return result.edx.CheckBit(Bits.Bit01) ? (uint) 2 : (uint) 1; } case Leaf.ResourceDirectorTechnologyAllocation: { uint resId = 1; - CpuidResult result = SafeCpuidNativeMethods.Invoke((uint)leaf); + var result = SafeCpuidNativeMethods.Invoke((uint)leaf); var supportL3CacheAllocation = result.ebx.CheckBit(Bits.Bit01); if (supportL3CacheAllocation) @@ -231,15 +230,15 @@ private static uint DetermineSubLeafs(Leaf leaf) case Leaf.Sgx: { uint subLeaf = 1; - CpuidResult result = SafeCpuidNativeMethods.Invoke((uint)leaf); - var supportSGX1 = result.eax.CheckBit(Bits.Bit00); - if (supportSGX1) + var result = SafeCpuidNativeMethods.Invoke((uint)leaf); + var supportSgx1 = result.eax.CheckBit(Bits.Bit00); + if (supportSgx1) { subLeaf++; } - var supportSGX2 = result.eax.CheckBit(Bits.Bit01); - if (supportSGX2) + var supportSgx2 = result.eax.CheckBit(Bits.Bit01); + if (supportSgx2) { subLeaf++; } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafsCache.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafsCache.cs index 6dcd5a3..09954c8 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafsCache.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/ComponentModel/CpuidLeafsCache.cs @@ -10,15 +10,19 @@ namespace iTin.Hardware.Specification.Cpuid; internal sealed class CpuidLeafsCache { #region private readonly members + [DebuggerBrowsable(DebuggerBrowsableState.Never)] private readonly Dictionary _leafDictionary; + #endregion #region public static readonly memebrs + /// /// Gets a reference to the available leafs cache. /// public static readonly CpuidLeafsCache Cache = new(); + #endregion #region constructor/s @@ -28,7 +32,7 @@ internal sealed class CpuidLeafsCache /// private CpuidLeafsCache() { - _leafDictionary = new Dictionary(); + _leafDictionary = new(); } #endregion diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Base/LeafBase.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Base/LeafBase.cs index 0f8e58a..d93a1c8 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Base/LeafBase.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Base/LeafBase.cs @@ -16,11 +16,13 @@ namespace iTin.Hardware.Specification.Cpuid; public abstract class LeafBase { #region private readonly members + [DebuggerBrowsable(DebuggerBrowsableState.Never)] private readonly CpuidLeafContent _content; [DebuggerBrowsable(DebuggerBrowsableState.Never)] private readonly CpuidPropertiesTable _cpuidPropertiesTable = new(); + #endregion #region constructor/s @@ -70,13 +72,13 @@ protected LeafBase(CpuidLeafContent content, SubLeaf subLeaf = SubLeaf.Main) #endregion - #region protected readonly properties + #region protected properties /// - /// Gets or sets the result of executes the CPUID instruction with given leaf and optional subleaf. + /// Gets or sets the result of executes the CPUID instruction with given leaf and optional sub-leaf. /// /// - /// A structure which contains the result of executes the CPUID instruction with given leaf and optional subleaf. + /// A structure which contains the result of executes the CPUID instruction with given leaf and optional sub-leaf. /// [DebuggerBrowsable(DebuggerBrowsableState.Never)] protected CpuidResult InvokeResult { get; set; } @@ -91,49 +93,44 @@ protected LeafBase(CpuidLeafContent content, SubLeaf subLeaf = SubLeaf.Main) /// Key to the property to obtain /// /// - /// A reference that contains the result of the operation, to check if the operation is correct, the Success - /// property will be true and the Value property will contain the value; Otherwise, the the Success property - /// will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. + /// A reference that contains the result of the operation, to check if the operation is correct, the Success + /// property will be and the Value property will contain the value; otherwise, the Success property + /// will be false and the Errors property will contain the errors associated with the operation, if they have been filled in. /// /// - /// The type of the Value property is . Contains the result of the operation. + /// The type of the Value property is . Contains the result of the operation. /// /// /// /// public QueryPropertyResult GetProperty(IPropertyKey propertyKey) { - object result = _cpuidPropertiesTable[propertyKey]; + var result = _cpuidPropertiesTable[propertyKey]; if (result is not List itemList) { - return QueryPropertyResult.CreateErroResult("Can not found specified property key"); + return QueryPropertyResult.CreateErrorResult("Can not found specified property key"); } - bool hasItems = itemList.Any(); + var hasItems = itemList.Any(); if (!hasItems) { - return QueryPropertyResult.CreateErroResult("Can not found specified property key"); + return QueryPropertyResult.CreateErrorResult("Can not found specified property key"); } - bool onlyOneItem = itemList.Count == 1; + var onlyOneItem = itemList.Count == 1; if (onlyOneItem) { return QueryPropertyResult.CreateSuccessResult(itemList.FirstOrDefault()); } - return QueryPropertyResult.CreateErroResult("Can not found specified property key"); + return QueryPropertyResult.CreateErrorResult("Can not found specified property key"); } #endregion #region public override methods - /// - /// Returns a that represents this instance. - /// - /// - /// A that represents this instance. - /// + /// public override string ToString() => $"SubLeaf={SubLeaf}"; #endregion @@ -189,7 +186,7 @@ internal ulong CreateUnsignedLongFromValues(uint left, uint right) /// /// Convert a into . /// - /// Valor a convertir. + /// Value to convert. /// /// Returns value. /// diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Enumerations/SubLeaf.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Enumerations/SubLeaf.cs index dff4f5c..91c69c0 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Enumerations/SubLeaf.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Enumerations/SubLeaf.cs @@ -72,5 +72,5 @@ public enum SubLeaf : uint /// Ten sub-leaf /// [EnumDescription("10")] - Ten, + Ten } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000000 [Basic CPUID Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000000 [Basic CPUID Information].cs index 4b59335..bf584e4 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000000 [Basic CPUID Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000000 [Basic CPUID Information].cs @@ -59,7 +59,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Basic CPUID Information. +/// Specialization of the class that contains the logic to decode the Basic CPUID Information. /// internal sealed class Leaf00000000 : LeafBase { @@ -70,7 +70,8 @@ internal sealed class Leaf00000000 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000000(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000000(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000001 [Processor Info and Features].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000001 [Processor Info and Features].cs index b270296..35f832e 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000001 [Processor Info and Features].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000001 [Processor Info and Features].cs @@ -118,7 +118,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Info and Feature Bits. +/// Specialization of the class that contains the logic to decode the Processor Info and Feature Bits. /// internal sealed class Leaf00000001 : LeafBase { @@ -126,7 +126,7 @@ internal sealed class Leaf00000001 : LeafBase #region register ECX definition [DebuggerBrowsable(DebuggerBrowsableState.Never)] private const Bits SSE3 = Bits.Bit00; // 00 - SSE3 extensions - [DebuggerBrowsable(DebuggerBrowsableState.Never)] private const Bits PCLMULQDQ = Bits.Bit01; // 01 - Instrucción PCLMULQDQ + [DebuggerBrowsable(DebuggerBrowsableState.Never)] private const Bits PCLMULQDQ = Bits.Bit01; // 01 - PCLMULQDQ instruction [DebuggerBrowsable(DebuggerBrowsableState.Never)] private const Bits DTES64 = Bits.Bit02; // 02 - DTES64 [DebuggerBrowsable(DebuggerBrowsableState.Never)] private const Bits MONITOR = Bits.Bit03; // 03 - MONITOR/MWAIT instructions [DebuggerBrowsable(DebuggerBrowsableState.Never)] private const Bits DS_CPL = Bits.Bit04; // 04 - CPL Qualified Debug Store @@ -203,7 +203,8 @@ internal sealed class Leaf00000001 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -212,7 +213,7 @@ public Leaf00000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Cpu Signature field. + /// Gets a value representing the CPU Signature field. /// /// /// Property value. @@ -221,7 +222,7 @@ public Leaf00000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private string CpuSignature => $"{InvokeResult.eax:X8}"; /// - /// Gets a value representing the Brand Index field. + /// Gets a value representing the Brand Index field. /// /// /// Property value. @@ -230,7 +231,7 @@ public Leaf00000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte BrandIndex => InvokeResult.ebx.GetByte(Bytes.Byte00); /// - /// Gets a value representing the CLFLUSH Cache Line Size field. + /// Gets a value representing the CLFLUSH Cache Line Size field. /// /// /// Property value. @@ -239,7 +240,7 @@ public Leaf00000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte CLFLUSH_CacheLineSize => InvokeResult.ebx.GetByte(Bytes.Byte01); /// - /// Gets a value representing the Local APIC ID field. + /// Gets a value representing the Local APIC ID field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000002 [Cache and TLB Descriptor information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000002 [Cache and TLB Descriptor information].cs index 3713577..35f6a54 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000002 [Cache and TLB Descriptor information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000002 [Cache and TLB Descriptor information].cs @@ -35,7 +35,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Cache and TLB Descriptor information. +/// Specialization of the class that contains the logic to decode the Cache and TLB Descriptor information. /// internal sealed class Leaf00000002 : LeafBase { @@ -46,7 +46,8 @@ internal sealed class Leaf00000002 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000002(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000002(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -79,20 +80,20 @@ private static string GetCacheDescription(byte value) { var cacheTable = new Collection> { - new Tuple(0x00, "General", "Null descriptor"), - new Tuple(0x01, "TLB", "Instruction TLB: 4 KByte pages, 4-way set associative, 32 entries"), - new Tuple(0x02, "TLB", "Instruction TLB: 4 MByte pages, fully associative, 2 entries"), - new Tuple(0x03, "TLB", "Data TLB: 4 KByte pages, 4-way set associative, 64 entries"), - new Tuple(0x04, "TLB", "Data TLB: 4 MByte pages, 4-way set associative, 8 entries"), - new Tuple(0x05, "TLB", "Data TLB1: 4 MByte pages, 4-way set associative, 32 entries"), - new Tuple(0x06, "Cache", "1st-level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size"), - new Tuple(0x08, "Cache", "1st-level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size"), - new Tuple(0x09, "Cache", "1st-level instruction cache: 32KBytes, 4-way set associative, 64 byte line size"), - new Tuple(0x0A, "Cache", "1st-level data cache: 8 KBytes, 2-way set associative, 32 byte line size"), - new Tuple(0x0B, "TLB", "Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries"), - new Tuple(0x0C, "Cache", "1st-level data cache: 16 KBytes, 4-way set associative, 32 byte line size"), - new Tuple(0x0D, "Cache", "1st-level data cache: 16 KBytes, 4-way set associative, 64 byte line size"), - new Tuple(0x0E, "Cache", "1st-level data cache: 24 KBytes, 6-way set associative, 64 byte line size"), + new(0x00, "General", "Null descriptor"), + new(0x01, "TLB", "Instruction TLB: 4 KByte pages, 4-way set associative, 32 entries"), + new(0x02, "TLB", "Instruction TLB: 4 MByte pages, fully associative, 2 entries"), + new(0x03, "TLB", "Data TLB: 4 KByte pages, 4-way set associative, 64 entries"), + new(0x04, "TLB", "Data TLB: 4 MByte pages, 4-way set associative, 8 entries"), + new(0x05, "TLB", "Data TLB1: 4 MByte pages, 4-way set associative, 32 entries"), + new(0x06, "Cache", "1st-level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size"), + new(0x08, "Cache", "1st-level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size"), + new(0x09, "Cache", "1st-level instruction cache: 32KBytes, 4-way set associative, 64 byte line size"), + new(0x0A, "Cache", "1st-level data cache: 8 KBytes, 2-way set associative, 32 byte line size"), + new(0x0B, "TLB", "Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries"), + new(0x0C, "Cache", "1st-level data cache: 16 KBytes, 4-way set associative, 32 byte line size"), + new(0x0D, "Cache", "1st-level data cache: 16 KBytes, 4-way set associative, 64 byte line size"), + new(0x0E, "Cache", "1st-level data cache: 24 KBytes, 6-way set associative, 64 byte line size"), // 0x0F // 0x10 // 0x11 @@ -107,26 +108,26 @@ private static string GetCacheDescription(byte value) // 0x1A // 0x1B // 0x1C - new Tuple(0x1D, "Cache", "2nd-level cache: 128 KBytes, 2-way set associative, 64 byte line size"), + new(0x1D, "Cache", "2nd-level cache: 128 KBytes, 2-way set associative, 64 byte line size"), // 0x1E // 0x1F // 0x20 - new Tuple(0x21, "Cache", "2nd-level cache: 256 KBytes, 8-way set associative, 64 byte line size"), - new Tuple(0x22, "Cache", "3rd-level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector"), - new Tuple(0x23, "Cache", "3rd-level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector"), - new Tuple(0x24, "Cache", "2nd-level cache: 1 MBytes, 16-way set associative, 64 byte line size"), - new Tuple(0x25, "Cache", "3rd-level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x21, "Cache", "2nd-level cache: 256 KBytes, 8-way set associative, 64 byte line size"), + new(0x22, "Cache", "3rd-level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector"), + new(0x23, "Cache", "3rd-level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x24, "Cache", "2nd-level cache: 1 MBytes, 16-way set associative, 64 byte line size"), + new(0x25, "Cache", "3rd-level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector"), // 0x26 // 0x27 // 0x28 - new Tuple(0x29, "Cache", "3rd-level cache: 4 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x29, "Cache", "3rd-level cache: 4 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector"), // 0x2A // 0x2B - new Tuple(0x2C, "Cache", "1st-level data cache: 32 KBytes, 8-way set associative, 64 byte line size"), + new(0x2C, "Cache", "1st-level data cache: 32 KBytes, 8-way set associative, 64 byte line size"), // 0x2D // 0x2E // 0x2F - new Tuple(0x30, "Cache", "1st-level instruction cache: 32 KBytes, 8-way set associative, 64 byte line size"), + new(0x30, "Cache", "1st-level instruction cache: 32 KBytes, 8-way set associative, 64 byte line size"), // 0x31 // 0x32 // 0x33 @@ -142,78 +143,78 @@ private static string GetCacheDescription(byte value) // 0x3D // 0x3E // 0x3F - new Tuple(0x40, "Cache", "No 2nd-level cache or, if processor contains a valid 2nd-level cache, no 3rd-level cache"), - new Tuple(0x41, "Cache", "2nd-level cache: 128 KBytes, 4-way set associative, 32 byte line size"), - new Tuple(0x42, "Cache", "2nd-level cache: 256 KBytes, 4-way set associative, 32 byte line size"), - new Tuple(0x43, "Cache", "2nd-level cache: 512 KBytes, 4-way set associative, 32 byte line size"), - new Tuple(0x44, "Cache", "2nd-level cache: 1 MByte, 4-way set associative, 32 byte line size"), - new Tuple(0x45, "Cache", "2nd-level cache: 2 MByte, 4-way set associative, 32 byte line size"), - new Tuple(0x46, "Cache", "3rd-level cache: 4 MByte, 4-way set associative, 64 byte line size"), - new Tuple(0x47, "Cache", "3rd-level cache: 8 MByte, 8-way set associative, 64 byte line size"), - new Tuple(0x48, "Cache", "2nd-level cache: 3MByte, 12-way set associative, 64 byte line size"), - new Tuple(0x49, "Cache", "3rd-level cache: 4MB, 16-way set associative, 64-byte line size (Intel Xeon processor MP, Family 0FH, Model 06H); 2nd-level cache: 4 MByte, 16-way set associative, 64 byte line size"), - new Tuple(0x4A, "Cache", "3rd-level cache: 6MByte, 12-way set associative, 64 byte line size"), - new Tuple(0x4B, "Cache", "3rd-level cache: 8MByte, 16-way set associative, 64 byte line size"), - new Tuple(0x4C, "Cache", "3rd-level cache: 12MByte, 12-way set associative, 64 byte line size"), - new Tuple(0x4D, "Cache", "3rd-level cache: 16MByte, 16-way set associative, 64 byte line size"), - new Tuple(0x4E, "Cache", "2nd-level cache: 6MByte, 24-way set associative, 64 byte line size"), - new Tuple(0x4F, "TLB", "Instruction TLB: 4 KByte pages, 32 entries"), - new Tuple(0x50, "TLB", "Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 64 entries"), - new Tuple(0x51, "TLB", "Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 128 entries"), - new Tuple(0x52, "TLB", "Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 256 entries"), + new(0x40, "Cache", "No 2nd-level cache or, if processor contains a valid 2nd-level cache, no 3rd-level cache"), + new(0x41, "Cache", "2nd-level cache: 128 KBytes, 4-way set associative, 32 byte line size"), + new(0x42, "Cache", "2nd-level cache: 256 KBytes, 4-way set associative, 32 byte line size"), + new(0x43, "Cache", "2nd-level cache: 512 KBytes, 4-way set associative, 32 byte line size"), + new(0x44, "Cache", "2nd-level cache: 1 MByte, 4-way set associative, 32 byte line size"), + new(0x45, "Cache", "2nd-level cache: 2 MByte, 4-way set associative, 32 byte line size"), + new(0x46, "Cache", "3rd-level cache: 4 MByte, 4-way set associative, 64 byte line size"), + new(0x47, "Cache", "3rd-level cache: 8 MByte, 8-way set associative, 64 byte line size"), + new(0x48, "Cache", "2nd-level cache: 3MByte, 12-way set associative, 64 byte line size"), + new(0x49, "Cache", "3rd-level cache: 4MB, 16-way set associative, 64-byte line size (Intel Xeon processor MP, Family 0FH, Model 06H); 2nd-level cache: 4 MByte, 16-way set associative, 64 byte line size"), + new(0x4A, "Cache", "3rd-level cache: 6MByte, 12-way set associative, 64 byte line size"), + new(0x4B, "Cache", "3rd-level cache: 8MByte, 16-way set associative, 64 byte line size"), + new(0x4C, "Cache", "3rd-level cache: 12MByte, 12-way set associative, 64 byte line size"), + new(0x4D, "Cache", "3rd-level cache: 16MByte, 16-way set associative, 64 byte line size"), + new(0x4E, "Cache", "2nd-level cache: 6MByte, 24-way set associative, 64 byte line size"), + new(0x4F, "TLB", "Instruction TLB: 4 KByte pages, 32 entries"), + new(0x50, "TLB", "Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 64 entries"), + new(0x51, "TLB", "Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 128 entries"), + new(0x52, "TLB", "Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 256 entries"), // 0x53 // 0x54 - new Tuple(0x55, "TLB", "Instruction TLB: 2-MByte or 4-MByte pages, fully associative, 7 entries"), - new Tuple(0x56, "TLB", "Data TLB0: 4 MByte pages, 4-way set associative, 16 entries"), - new Tuple(0x57, "TLB", "Data TLB0: 4 KByte pages, 4-way associative, 16 entries"), + new(0x55, "TLB", "Instruction TLB: 2-MByte or 4-MByte pages, fully associative, 7 entries"), + new(0x56, "TLB", "Data TLB0: 4 MByte pages, 4-way set associative, 16 entries"), + new(0x57, "TLB", "Data TLB0: 4 KByte pages, 4-way associative, 16 entries"), // 0x58 - new Tuple(0x59, "TLB", "Data TLB0: 4 KByte pages, fully associative, 16 entries"), - new Tuple(0x5A, "TLB", "Data TLB0: 2 MByte or 4 MByte pages, 4-way set associative, 32 entries"), - new Tuple(0x5B, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 64 entries"), - new Tuple(0x5C, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 128 entries"), - new Tuple(0x5D, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 256 entries"), + new(0x59, "TLB", "Data TLB0: 4 KByte pages, fully associative, 16 entries"), + new(0x5A, "TLB", "Data TLB0: 2 MByte or 4 MByte pages, 4-way set associative, 32 entries"), + new(0x5B, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 64 entries"), + new(0x5C, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 128 entries"), + new(0x5D, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 256 entries"), // 0x5E // 0x5F - new Tuple(0x60, "Cache", "1st-level data cache: 16 KByte, 8-way set associative, 64 byte line size"), - new Tuple(0x61, "TLB", "Instruction TLB: 4 KByte pages, fully associative, 48 entries"), + new(0x60, "Cache", "1st-level data cache: 16 KByte, 8-way set associative, 64 byte line size"), + new(0x61, "TLB", "Instruction TLB: 4 KByte pages, fully associative, 48 entries"), // 0x62 - new Tuple(0x63, "TLB", "Data TLB: 2 MByte or 4 MByte pages, 4-way set associative, 32 entries and a separate array with 1 GByte pages, 4-way set associative, 4 entries"), - new Tuple(0x64, "TLB", "Data TLB: 4 KByte pages, 4-way set associative, 512 entries"), + new(0x63, "TLB", "Data TLB: 2 MByte or 4 MByte pages, 4-way set associative, 32 entries and a separate array with 1 GByte pages, 4-way set associative, 4 entries"), + new(0x64, "TLB", "Data TLB: 4 KByte pages, 4-way set associative, 512 entries"), // 0x65 - new Tuple(0x66, "Cache", "1st-level data cache: 8 KByte, 4-way set associative, 64 byte line size"), - new Tuple(0x67, "Cache", "1st-level data cache: 16 KByte, 4-way set associative, 64 byte line size"), - new Tuple(0x68, "Cache", "1st-level data cache: 32 KByte, 4-way set associative, 64 byte line size"), + new(0x66, "Cache", "1st-level data cache: 8 KByte, 4-way set associative, 64 byte line size"), + new(0x67, "Cache", "1st-level data cache: 16 KByte, 4-way set associative, 64 byte line size"), + new(0x68, "Cache", "1st-level data cache: 32 KByte, 4-way set associative, 64 byte line size"), // 0x69 - new Tuple(0x6A, "Cache", "uTLB: 4 KByte pages, 8-way set associative, 64 entries"), - new Tuple(0x6B, "Cache", "DTLB: 4 KByte pages, 8-way set associative, 256 entries"), - new Tuple(0x6C, "Cache", "DTLB: 2M/4M pages, 8-way set associative, 128 entries"), - new Tuple(0x6D, "Cache", "DTLB: 1 GByte pages, fully associative, 16 entries"), + new(0x6A, "Cache", "uTLB: 4 KByte pages, 8-way set associative, 64 entries"), + new(0x6B, "Cache", "DTLB: 4 KByte pages, 8-way set associative, 256 entries"), + new(0x6C, "Cache", "DTLB: 2M/4M pages, 8-way set associative, 128 entries"), + new(0x6D, "Cache", "DTLB: 1 GByte pages, fully associative, 16 entries"), // 0x6E // 0x6F - new Tuple(0x70, "Cache", "Trace cache: 12 K-μop, 8-way set associative"), - new Tuple(0x71, "Cache", "Trace cache: 16 K-μop, 8-way set associative"), - new Tuple(0x72, "Cache", "Trace cache: 32 K-μop, 8-way set associative"), + new(0x70, "Cache", "Trace cache: 12 K-μop, 8-way set associative"), + new(0x71, "Cache", "Trace cache: 16 K-μop, 8-way set associative"), + new(0x72, "Cache", "Trace cache: 32 K-μop, 8-way set associative"), // 0x73 // 0x74 // 0x75 - new Tuple(0x76, "TLB", "Instruction TLB: 2M/4M pages, fully associative, 8 entries"), + new(0x76, "TLB", "Instruction TLB: 2M/4M pages, fully associative, 8 entries"), // 0x77 - new Tuple(0x78, "Cache", "2nd-level cache: 1 MByte, 4-way set associative, 64byte line size"), - new Tuple(0x79, "Cache", "2nd-level cache: 128 KByte, 8-way set associative, 64 byte line size, 2 lines per sector"), - new Tuple(0x7A, "Cache", "2nd-level cache: 256 KByte, 8-way set associative, 64 byte line size, 2 lines per sector"), - new Tuple(0x7B, "Cache", "2nd-level cache: 512 KByte, 8-way set associative, 64 byte line size, 2 lines per sector"), - new Tuple(0x7C, "Cache", "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size, 2 lines per sector"), - new Tuple(0x7D, "Cache", "2nd-level cache: 2 MByte, 8-way set associative, 64byte line size"), + new(0x78, "Cache", "2nd-level cache: 1 MByte, 4-way set associative, 64byte line size"), + new(0x79, "Cache", "2nd-level cache: 128 KByte, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x7A, "Cache", "2nd-level cache: 256 KByte, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x7B, "Cache", "2nd-level cache: 512 KByte, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x7C, "Cache", "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size, 2 lines per sector"), + new(0x7D, "Cache", "2nd-level cache: 2 MByte, 8-way set associative, 64byte line size"), // 0x7E - new Tuple(0x7F, "Cache", "2nd-level cache: 512 KByte, 2-way set associative, 64-byte line size"), - new Tuple(0x80, "Cache", "2nd-level cache: 512 KByte, 8-way set associative, 64-byte line size"), + new(0x7F, "Cache", "2nd-level cache: 512 KByte, 2-way set associative, 64-byte line size"), + new(0x80, "Cache", "2nd-level cache: 512 KByte, 8-way set associative, 64-byte line size"), // 0x81 - new Tuple(0x82, "Cache", "2nd-level cache: 256 KByte, 8-way set associative, 32 byte line size"), - new Tuple(0x83, "Cache", "2nd-level cache: 512 KByte, 8-way set associative, 32 byte line size"), - new Tuple(0x84, "Cache", "2nd-level cache: 1 MByte, 8-way set associative, 32 byte line size"), - new Tuple(0x85, "Cache", "2nd-level cache: 2 MByte, 8-way set associative, 32 byte line size"), - new Tuple(0x86, "Cache", "2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size"), - new Tuple(0x87, "Cache", "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size"), + new(0x82, "Cache", "2nd-level cache: 256 KByte, 8-way set associative, 32 byte line size"), + new(0x83, "Cache", "2nd-level cache: 512 KByte, 8-way set associative, 32 byte line size"), + new(0x84, "Cache", "2nd-level cache: 1 MByte, 8-way set associative, 32 byte line size"), + new(0x85, "Cache", "2nd-level cache: 2 MByte, 8-way set associative, 32 byte line size"), + new(0x86, "Cache", "2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size"), + new(0x87, "Cache", "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size"), // 0x88 // 0x89 // 0x8A @@ -238,7 +239,7 @@ private static string GetCacheDescription(byte value) // 0x9D // 0x9E // 0x9F - new Tuple(0xA0, "DTLB", "DTLB: 4k pages, fully associative, 32 entries"), + new(0xA0, "DTLB", "DTLB: 4k pages, fully associative, 32 entries"), // 0xA1 // 0xA2 // 0xA3 @@ -254,72 +255,72 @@ private static string GetCacheDescription(byte value) // 0xAD // 0xAE // 0xAF - new Tuple(0xB0, "TLB", "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries"), - new Tuple(0xB1, "TLB", "Instruction TLB: 2M pages, 4-way, 8 entries or 4M pages, 4-way, 4 entries"), - new Tuple(0xB2, "TLB", "Instruction TLB: 4KByte pages, 4-way set associative, 64 entries"), - new Tuple(0xB3, "TLB", "Data TLB: 4 KByte pages, 4-way set associative, 128 entries"), - new Tuple(0xB4, "TLB", "Data TLB1: 4 KByte pages, 4-way associative, 256 entries"), - new Tuple(0xB5, "TLB", "Instruction TLB: 4KByte pages, 8-way set associative, 64 entries"), - new Tuple(0xB6, "TLB", "Instruction TLB: 4KByte pages, 8-way set associative, 128 entries"), + new(0xB0, "TLB", "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries"), + new(0xB1, "TLB", "Instruction TLB: 2M pages, 4-way, 8 entries or 4M pages, 4-way, 4 entries"), + new(0xB2, "TLB", "Instruction TLB: 4KByte pages, 4-way set associative, 64 entries"), + new(0xB3, "TLB", "Data TLB: 4 KByte pages, 4-way set associative, 128 entries"), + new(0xB4, "TLB", "Data TLB1: 4 KByte pages, 4-way associative, 256 entries"), + new(0xB5, "TLB", "Instruction TLB: 4KByte pages, 8-way set associative, 64 entries"), + new(0xB6, "TLB", "Instruction TLB: 4KByte pages, 8-way set associative, 128 entries"), // 0xB7 // 0xB8 // 0xB9 - new Tuple(0xBA, "TLB", "Data TLB1: 4 KByte pages, 4-way associative, 64 entries"), + new(0xBA, "TLB", "Data TLB1: 4 KByte pages, 4-way associative, 64 entries"), // 0xBB // 0xBC // 0xBD // 0xBE // 0xBF - new Tuple(0xC0, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 4-way associative, 8 entries"), - new Tuple(0xC1, "STLB", "Shared 2nd-Level TLB: 4 KByte/2MByte pages, 8-way associative, 1024 entries"), - new Tuple(0xC2, "DTLB", "DTLB: 4 KByte/2 MByte pages, 4-way associative, 16 entries"), - new Tuple(0xC3, "STLB", "Shared 2nd-Level TLB: 4 KByte /2 MByte pages, 6-way associative, 1536 entries. Also 1GBbyte pages, 4-way, 16 entries"), - new Tuple(0xC4, "DTLB", "DTLB: 2M/4M Byte pages, 4-way associative, 32 entries"), + new(0xC0, "TLB", "Data TLB: 4 KByte and 4 MByte pages, 4-way associative, 8 entries"), + new(0xC1, "STLB", "Shared 2nd-Level TLB: 4 KByte/2MByte pages, 8-way associative, 1024 entries"), + new(0xC2, "DTLB", "DTLB: 4 KByte/2 MByte pages, 4-way associative, 16 entries"), + new(0xC3, "STLB", "Shared 2nd-Level TLB: 4 KByte /2 MByte pages, 6-way associative, 1536 entries. Also 1GBbyte pages, 4-way, 16 entries"), + new(0xC4, "DTLB", "DTLB: 2M/4M Byte pages, 4-way associative, 32 entries"), // 0xC5 // 0xC6 // 0xC7 // 0xC8 // 0xC9 - new Tuple(0xCA, "STLB", "Shared 2nd-Level TLB: 4 KByte pages, 4-way associative, 512 entries"), + new(0xCA, "STLB", "Shared 2nd-Level TLB: 4 KByte pages, 4-way associative, 512 entries"), // 0xCB // 0xCC // 0xCD // 0xCE // 0xCF - new Tuple(0xD0, "Cache", "3rd-level cache: 512 KByte, 4-way set associative, 64 byte line size"), - new Tuple(0xD1, "Cache", "3rd-level cache: 1 MByte, 4-way set associative, 64 byte line size"), - new Tuple(0xD2, "Cache", "3rd-level cache: 2 MByte, 4-way set associative, 64 byte line size"), + new(0xD0, "Cache", "3rd-level cache: 512 KByte, 4-way set associative, 64 byte line size"), + new(0xD1, "Cache", "3rd-level cache: 1 MByte, 4-way set associative, 64 byte line size"), + new(0xD2, "Cache", "3rd-level cache: 2 MByte, 4-way set associative, 64 byte line size"), // 0xD3 // 0xD4 // 0xD5 - new Tuple(0xD6, "Cache", "3rd-level cache: 1 MByte, 8-way set associative, 64 byte line size"), - new Tuple(0xD7, "Cache", "3rd-level cache: 2 MByte, 8-way set associative, 64 byte line size"), - new Tuple(0xD8, "Cache", "3rd-level cache: 4 MByte, 8-way set associative, 64 byte line size"), + new(0xD6, "Cache", "3rd-level cache: 1 MByte, 8-way set associative, 64 byte line size"), + new(0xD7, "Cache", "3rd-level cache: 2 MByte, 8-way set associative, 64 byte line size"), + new(0xD8, "Cache", "3rd-level cache: 4 MByte, 8-way set associative, 64 byte line size"), // 0xD9 // 0xDA // 0xDB - new Tuple(0xDC, "Cache", "3rd-level cache: 1.5 MByte, 12-way set associative, 64 byte line size"), - new Tuple(0xDD, "Cache", "3rd-level cache: 3 MByte, 12-way set associative, 64 byte line size"), - new Tuple(0xDE, "Cache", "3rd-level cache: 6 MByte, 12-way set associative, 64 byte line size"), + new(0xDC, "Cache", "3rd-level cache: 1.5 MByte, 12-way set associative, 64 byte line size"), + new(0xDD, "Cache", "3rd-level cache: 3 MByte, 12-way set associative, 64 byte line size"), + new(0xDE, "Cache", "3rd-level cache: 6 MByte, 12-way set associative, 64 byte line size"), // 0xDF // 0xE0 // 0xE1 - new Tuple(0xE2, "Cache", "3rd-level cache: 2 MByte, 16-way set associative, 64 byte line size"), - new Tuple(0xE3, "Cache", "3rd-level cache: 4 MByte, 16-way set associative, 64 byte line size"), - new Tuple(0xE4, "Cache", "3rd-level cache: 8 MByte, 16-way set associative, 64 byte line size"), + new(0xE2, "Cache", "3rd-level cache: 2 MByte, 16-way set associative, 64 byte line size"), + new(0xE3, "Cache", "3rd-level cache: 4 MByte, 16-way set associative, 64 byte line size"), + new(0xE4, "Cache", "3rd-level cache: 8 MByte, 16-way set associative, 64 byte line size"), // 0xE5 // 0xE6 // 0xE7 // 0xE8 // 0xE9 - new Tuple(0xEA, "Cache", "3rd-level cache: 12MByte, 24-way set associative, 64 byte line size"), - new Tuple(0xEB, "Cache", "3rd-level cache: 18MByte, 24-way set associative, 64 byte line size"), - new Tuple(0xEC, "Cache", "3rd-level cache: 24MByte, 24-way set associative, 64 byte line size"), + new(0xEA, "Cache", "3rd-level cache: 12MByte, 24-way set associative, 64 byte line size"), + new(0xEB, "Cache", "3rd-level cache: 18MByte, 24-way set associative, 64 byte line size"), + new(0xEC, "Cache", "3rd-level cache: 24MByte, 24-way set associative, 64 byte line size"), // 0xED // 0xEE // 0xEF - new Tuple(0xF0, "Prefetch", "64-Byte prefetching"), - new Tuple(0xF1, "Prefetch", "128-Byte prefetching"), + new(0xF0, "Prefetch", "64-Byte prefetching"), + new(0xF1, "Prefetch", "128-Byte prefetching"), // 0xF2 // 0xF3 // 0xF4 @@ -333,15 +334,14 @@ private static string GetCacheDescription(byte value) // 0xFC // 0xFD // 0xFE - new Tuple(0xFF, "General", "No information") + new(0xFF, "General", "No information") }; var match = cacheTable.FirstOrDefault(entry => entry.Item1 == value); - return - match == null - ? string.Empty - : match.Item3; + return match == null + ? string.Empty + : match.Item3; } /// @@ -421,7 +421,7 @@ private static ReadOnlyCollection GetCacheDescriptions(CpuidResult info) var edxValues = info.edx.ToArray(); foreach (var value in edxValues) { - if (value == 0x00 || value == 0xFF) + if (value is 0x00 or 0xFF) { continue; } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000003 [Processor Serial Number].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000003 [Processor Serial Number].cs index ee32c18..56d8f0f 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000003 [Processor Serial Number].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000003 [Processor Serial Number].cs @@ -37,7 +37,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Serial Number. +/// Specialization of the class that contains the logic to decode the Processor Serial Number. /// internal sealed class Leaf00000003 : LeafBase { @@ -48,7 +48,8 @@ internal sealed class Leaf00000003 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000003(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000003(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000004 [Deterministic Cache Parameters].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000004 [Deterministic Cache Parameters].cs index e2aa47a..20cc3b7 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000004 [Deterministic Cache Parameters].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000004 [Deterministic Cache Parameters].cs @@ -72,7 +72,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Deterministic Cache Parameters. +/// Specialization of the class that contains the logic to decode the Deterministic Cache Parameters. /// internal sealed class Leaf00000004 : LeafBase { @@ -102,7 +102,8 @@ internal sealed class Leaf00000004 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -111,7 +112,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Cache Level field. + /// Gets a value representing the Cache Level field. /// /// /// Property value. @@ -120,7 +121,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte CacheLevel => (byte)((InvokeResult.eax >> 5) & 0x07); /// - /// Gets a value representing the Cache Size field. + /// Gets a value representing the Cache Size field. /// /// /// Property value. @@ -129,7 +130,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint CacheSize => (w + 1) * (p + 1) * (l + 1) * (s + 1); /// - /// Gets a value representing the Cache Type field. + /// Gets a value representing the Cache Type field. /// /// /// Property value. @@ -138,7 +139,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte CacheType => (byte)(InvokeResult.eax & 0x1f); /// - /// Gets a value representing the System Coherency Line Size field. + /// Gets a value representing the System Coherency Line Size field. /// /// /// Property value. @@ -147,7 +148,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint l => InvokeResult.ebx & 0xfff; /// - /// Gets a value representing the Physical Line partitions field. + /// Gets a value representing the Physical Line partitions field. /// /// /// Property value. @@ -156,7 +157,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint p => (InvokeResult.ebx >> 12) & 0x3ff; /// - /// Gets a value representing the Ways of associativity field. + /// Gets a value representing the Ways of associativity field. /// /// /// Property value. @@ -165,7 +166,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint w => (InvokeResult.ebx >> 22) & 0x3ff; /// - /// Gets a value representing the Number of Sets field. + /// Gets a value representing the Number of Sets field. /// /// /// Property value. @@ -174,7 +175,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint s => InvokeResult.ecx; /// - /// Gets a value representing the Maximum Number Addressable Logical Processors field. + /// Gets a value representing the Maximum Number Addressable Logical Processors field. /// /// /// Property value. @@ -183,7 +184,7 @@ public Leaf00000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte MaximumLogicalProcessorCores => (byte)((InvokeResult.eax >> 14) & 0xfff); /// - /// Gets a value representing the Maximum Number Addressable Processor Cores Physical field. + /// Gets a value representing the Maximum Number Addressable Processor Cores Physical field. /// /// /// Property value. @@ -223,17 +224,17 @@ protected override void PopulateProperties(CpuidPropertiesTable properties) /// /// Value to analyze /// - /// A containing the cahe type. + /// A containing the cache type. /// private static string GetCacheType(byte code) { string[] cacheType = - { + [ "No more caches.", // 00 "Data Cache", "Instruction Cache", "Unified Cache" // 03 - }; + ]; return code > 0x03 ? "Reserved" diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000005 [MONITOR-MWAIT].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000005 [MONITOR-MWAIT].cs index 3fa6b34..39b8cf4 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000005 [MONITOR-MWAIT].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000005 [MONITOR-MWAIT].cs @@ -58,7 +58,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the MONITOR/MWAIT. +/// Specialization of the class that contains the logic to decode the MONITOR/MWAIT. /// internal sealed class Leaf00000005 : LeafBase { @@ -78,7 +78,8 @@ internal sealed class Leaf00000005 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -87,7 +88,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the C0 field. + /// Gets a value representing the C0 field. /// /// /// Property value. @@ -96,7 +97,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C0 => InvokeResult.edx.GetByte(Bytes.Byte00).ToArray()[0]; /// - /// Gets a value representing the C1 field. + /// Gets a value representing the C1 field. /// /// /// Property value. @@ -105,7 +106,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C1 => InvokeResult.edx.GetByte(Bytes.Byte00).ToArray()[1]; /// - /// Gets a value representing the C2 field. + /// Gets a value representing the C2 field. /// /// /// Property value. @@ -114,7 +115,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C2 => InvokeResult.edx.GetByte(Bytes.Byte01).ToArray()[0]; /// - /// Gets a value representing the C3 field. + /// Gets a value representing the C3 field. /// /// /// Property value. @@ -123,7 +124,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C3 => InvokeResult.edx.GetByte(Bytes.Byte01).ToArray()[1]; /// - /// Gets a value representing the C4 field. + /// Gets a value representing the C4 field. /// /// /// Property value. @@ -132,7 +133,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C4 => InvokeResult.edx.GetByte(Bytes.Byte02).ToArray()[0]; /// - /// Gets a value representing the C5 field. + /// Gets a value representing the C5 field. /// /// /// Property value. @@ -141,7 +142,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C5 => InvokeResult.edx.GetByte(Bytes.Byte02).ToArray()[1]; /// - /// Gets a value representing the C6 field. + /// Gets a value representing the C6 field. /// /// /// Property value. @@ -150,7 +151,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C6 => InvokeResult.edx.GetByte(Bytes.Byte03).ToArray()[0]; /// - /// Gets a value representing the C7 field. + /// Gets a value representing the C7 field. /// /// /// Property value. @@ -159,7 +160,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte C7 => InvokeResult.edx.GetByte(Bytes.Byte03).ToArray()[1]; /// - /// Gets a value representing the Smallest monitor-line size field. + /// Gets a value representing the Smallest monitor-line size field. /// /// /// Property value. @@ -168,7 +169,7 @@ public Leaf00000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint SmallestMonitorLineSize => InvokeResult.eax & 0xffff; /// - /// Gets a value representing the Largest monitor-line size field. + /// Gets a value representing the Largest monitor-line size field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000006 [Thermal and Power Management].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000006 [Thermal and Power Management].cs index 713f209..535a8b4 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000006 [Thermal and Power Management].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000006 [Thermal and Power Management].cs @@ -62,7 +62,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Thermal and Power Management. +/// Specialization of the class that contains the logic to decode the Thermal and Power Management. /// internal sealed class Leaf00000006 : LeafBase { @@ -105,7 +105,8 @@ internal sealed class Leaf00000006 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -114,7 +115,7 @@ public Leaf00000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Interrupt Number Thresholds field. + /// Gets a value representing the Interrupt Number Thresholds field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000007 [Structured Extended Feature Enumeration Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000007 [Structured Extended Feature Enumeration Information].cs index 254a43f..ec9db72 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000007 [Structured Extended Feature Enumeration Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000007 [Structured Extended Feature Enumeration Information].cs @@ -151,7 +151,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Structured Extended Feature Enumeration Information. +/// Specialization of the class that contains the logic to decode the Structured Extended Feature Enumeration Information. /// internal sealed class Leaf00000007 : LeafBase { @@ -271,7 +271,8 @@ internal sealed class Leaf00000007 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000007(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000007(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -280,7 +281,7 @@ public Leaf00000007(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the MAWAU field. + /// Gets a value representing the MAWAU field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000009 [Direct Cache Access Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000009 [Direct Cache Access Information].cs index e561761..816c539 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000009 [Direct Cache Access Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000009 [Direct Cache Access Information].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Direct Cache Access Information. +/// Specialization of the class that contains the logic to decode the Direct Cache Access Information. /// internal sealed class Leaf00000009 : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf00000009 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000009(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000009(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf00000009(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the IA32_PLATFORM_DCA_CAP field. + /// Gets a value representing the IA32_PLATFORM_DCA_CAP field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000A [Architectural Performance Monitoring Features].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000A [Architectural Performance Monitoring Features].cs index da492b1..e86bc6b 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000A [Architectural Performance Monitoring Features].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000A [Architectural Performance Monitoring Features].cs @@ -52,7 +52,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Architectural Performance Monitoring Features. +/// Specialization of the class that contains the logic to decode the Architectural Performance Monitoring Features. /// internal sealed class Leaf0000000A : LeafBase { @@ -79,7 +79,8 @@ internal sealed class Leaf0000000A : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -88,7 +89,7 @@ public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Version ID of architectural performance monitoring field. + /// Gets a value representing the Version ID of architectural performance monitoring field. /// /// /// Property value. @@ -97,7 +98,7 @@ public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint VersionId => InvokeResult.eax & 0xff; /// - /// Gets a value representing the Number of general-purpose performance monitoring counter per logical processor field. + /// Gets a value representing the Number of general-purpose performance monitoring counter per logical processor field. /// /// /// Property value. @@ -106,7 +107,7 @@ public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint NumberOfGeneralPurposeCounterPerLogicalProcessor => (InvokeResult.eax >> 0x08) & 0xff; /// - /// Gets a value representing the Bit width of general-purpose, performance monitoring counter field. + /// Gets a value representing the Bit width of general-purpose, performance monitoring counter field. /// /// /// Property value. @@ -115,7 +116,7 @@ public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint BitWidth => (InvokeResult.eax >> 0x10) & 0xff; /// - /// Gets a value representing the Length of EBX bit vector to enumerate architectural performance monitoring events field. + /// Gets a value representing the Length of EBX bit vector to enumerate architectural performance monitoring events field. /// /// /// Property value. @@ -124,7 +125,7 @@ public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint LenghtBitVector => (InvokeResult.eax >> 0x18) & 0xff; /// - /// Gets a value representing the Number of fixed-function performance counters field. + /// Gets a value representing the Number of fixed-function performance counters field. /// /// /// Property value. @@ -133,7 +134,7 @@ public Leaf0000000A(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte NumberFixFunctionsCounters => (byte)(InvokeResult.edx & 0xf); /// - /// Gets a value representing the Bit width of fixed-function performance counters field. + /// Gets a value representing the Bit width of fixed-function performance counters field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000B [Extended Topology Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000B [Extended Topology Information].cs index 4756d84..e4c81b5 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000B [Extended Topology Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000B [Extended Topology Information].cs @@ -68,7 +68,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Extended Topology Information. +/// Specialization of the class that contains the logic to decode the Extended Topology Information. /// internal sealed class Leaf0000000B : LeafBase { @@ -79,7 +79,8 @@ internal sealed class Leaf0000000B : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf0000000B(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf0000000B(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -88,7 +89,7 @@ public Leaf0000000B(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Bits Shift Right x2APIC ID field. + /// Gets a value representing the Bits Shift Right x2APIC ID field. /// /// /// Property value. @@ -97,7 +98,7 @@ public Leaf0000000B(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint BitsShiftRightx2APICID => InvokeResult.eax & 0x1f; /// - /// Gets a value representing the Number Of Logical Processors This Level field. + /// Gets a value representing the Number Of Logical Processors This Level field. /// /// /// Property value. @@ -106,7 +107,7 @@ public Leaf0000000B(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint NumberOfLogicalProcessorsThisLevel => InvokeResult.ebx & 0xffff; /// - /// Gets a value representing the Level Number field. + /// Gets a value representing the Level Number field. /// /// /// Property value. @@ -115,7 +116,7 @@ public Leaf0000000B(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint LevelNumber => InvokeResult.ecx & 0xff; /// - /// Gets a value representing the x2APIC ID field. + /// Gets a value representing the x2APIC ID field. /// /// /// Property value. @@ -154,11 +155,11 @@ protected override void PopulateProperties(CpuidPropertiesTable properties) private static string GetLevelType(uint code) { string[] levelType = - { + [ "Invalid", "SMT", "Core" - }; + ]; return code > 0x02 ? "Reserved" diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000D [Processor Extended States Enumeration Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000D [Processor Extended States Enumeration Information].cs index 2d822bb..a1a2d5f 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000D [Processor Extended States Enumeration Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000D [Processor Extended States Enumeration Information].cs @@ -125,7 +125,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Extended States Enumeration Information. +/// Specialization of the class that contains the logic to decode the Processor Extended States Enumeration Information. /// internal sealed class Leaf0000000D : LeafBase { @@ -188,7 +188,8 @@ internal sealed class Leaf0000000D : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -197,7 +198,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the MPX State field. + /// Gets a value representing the MPX State field. /// /// /// Property value. @@ -206,7 +207,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte MPXState => (byte)(InvokeResult.eax >> 3 & 0x03); /// - /// Gets a value representing the AVX-512 state field. + /// Gets a value representing the AVX-512 state field. /// /// /// Property value. @@ -215,7 +216,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte AVX512State => (byte)(InvokeResult.eax >> 5 & 0x03); /// - /// Gets a value representing the Maximum size enabled features XCRO field. + /// Gets a value representing the Maximum size enabled features XCRO field. /// /// /// Property value. @@ -224,7 +225,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaximumSizeEnabledFeaturesXCR0 => InvokeResult.ebx; /// - /// Gets a value representing the Maximum size all supported features field. + /// Gets a value representing the Maximum size all supported features field. /// /// /// Property value. @@ -233,7 +234,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaximumSizeAllSupportedFeatures => InvokeResult.ecx; /// - /// Gets a value representing the Size all states enabled field. + /// Gets a value representing the Size all states enabled field. /// /// /// Property value. @@ -242,7 +243,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint SizeAllStatesEnabled => InvokeResult.ebx; /// - /// Gets a value representing the Lower 32 Bits IA32_XSS field. + /// Gets a value representing the Lower 32 Bits IA32_XSS field. /// /// /// Property value. @@ -251,7 +252,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint Lower32Bits_IA32_XSS => InvokeResult.ecx; /// - /// Gets a value representing the Upper 32 Bits IA32_XSS field. + /// Gets a value representing the Upper 32 Bits IA32_XSS field. /// /// /// Property value. @@ -260,7 +261,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint Upper32Bits_IA32_XSS => InvokeResult.edx; /// - /// Gets a value representing the Size Save Area Extended State Feature field. + /// Gets a value representing the Size Save Area Extended State Feature field. /// /// /// Property value. @@ -269,7 +270,7 @@ public Leaf0000000D(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint SizeSaveAreaExtendedStateFeature => InvokeResult.eax; /// - /// Gets a value representing the Offset This Extennded State Component field. + /// Gets a value representing the Offset This Extennded State Component field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000F [Intel Resource Director Technology (Intel RDT) Monitoring Enumeration Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000F [Intel Resource Director Technology (Intel RDT) Monitoring Enumeration Information].cs index 2518804..6823ab0 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000F [Intel Resource Director Technology (Intel RDT) Monitoring Enumeration Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf0000000F [Intel Resource Director Technology (Intel RDT) Monitoring Enumeration Information].cs @@ -66,7 +66,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Intel Resource Director Technology (Intel RDT) Monitoring Enumeration Information. +/// Specialization of the class that contains the logic to decode the Intel Resource Director Technology (Intel RDT) Monitoring Enumeration Information. /// internal sealed class Leaf0000000F : LeafBase { @@ -103,7 +103,8 @@ internal sealed class Leaf0000000F : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf0000000F(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf0000000F(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -112,7 +113,7 @@ public Leaf0000000F(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Maximum range field. + /// Gets a value representing the Maximum range field. /// /// /// Property value. @@ -121,7 +122,7 @@ public Leaf0000000F(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaximumRangeAllTypes => InvokeResult.ebx; /// - /// Gets a value representing the Conversion factor from reported IA32_QM_CTR field. + /// Gets a value representing the Conversion factor from reported IA32_QM_CTR field. /// /// /// Property value. @@ -130,7 +131,7 @@ public Leaf0000000F(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint ConversionFactorThis => InvokeResult.ebx; /// - /// Gets a value representing the Maximum range field. + /// Gets a value representing the Maximum range field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000010 [Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000010 [Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information].cs index 264afd3..e8082f6 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000010 [Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000010 [Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information].cs @@ -112,7 +112,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information. +/// Specialization of the class that contains the logic to decode the Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information. /// internal sealed class Leaf00000010 : LeafBase { @@ -149,7 +149,8 @@ internal sealed class Leaf00000010 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000010(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000010(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -158,7 +159,7 @@ public Leaf00000010(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Length Bit Mask field. + /// Gets a value representing the Length Bit Mask field. /// /// /// Property value. @@ -167,7 +168,7 @@ public Leaf00000010(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint LengthBitMask => InvokeResult.eax & 0x1f; /// - /// Gets a value representing the Bit Granular Map field. + /// Gets a value representing the Bit Granular Map field. /// /// /// Property value. @@ -176,7 +177,7 @@ public Leaf00000010(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint BitGranularMap => InvokeResult.ebx; /// - /// Gets a value representing the Highest COS field. + /// Gets a value representing the Highest COS field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000012 [Intel SGX Enumeration Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000012 [Intel SGX Enumeration Information].cs index 45bc3e8..1973129 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000012 [Intel SGX Enumeration Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000012 [Intel SGX Enumeration Information].cs @@ -125,7 +125,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Intel SGX Enumeration Information. +/// Specialization of the class that contains the logic to decode the Intel SGX Enumeration Information. /// internal sealed class Leaf00000012 : LeafBase { @@ -157,7 +157,8 @@ internal sealed class Leaf00000012 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -166,7 +167,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the MaxEnclaveSize_Not64 field. + /// Gets a value representing the MaxEnclaveSize_Not64 field. /// /// /// Property value. @@ -175,7 +176,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaxEnclaveSize_Not64 => InvokeResult.edx & 0xff; /// - /// Gets a value representing the MaxEnclaveSize_64 field. + /// Gets a value representing the MaxEnclaveSize_64 field. /// /// /// Property value. @@ -184,7 +185,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaxEnclaveSize_64 => (InvokeResult.edx >> 0x08) & 0xff; /// - /// Gets a value representing the SECS ATTRIBUTES ADDRESS field. + /// Gets a value representing the SECS ATTRIBUTES ADDRESS field. /// /// /// Property value. @@ -193,7 +194,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private string SecsAttributesAddress => $"{InvokeResult.edx:X8}{InvokeResult.ecx:X8}{InvokeResult.ebx:X8}{InvokeResult.eax:X8}"; /// - /// Gets a value representing the Sub Leaf Type field. + /// Gets a value representing the Sub Leaf Type field. /// /// /// Property value. @@ -202,7 +203,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint SubLeafType => InvokeResult.eax & 0x0f; /// - /// Gets a value representing the Physical Address EPC Section field. + /// Gets a value representing the Physical Address EPC Section field. /// /// /// Property value. @@ -211,7 +212,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private string PhysicalAddressEpcSection => $"{InvokeResult.ebx & 0xfffff}{(InvokeResult.eax >> 0x0c) & 0xfffff}"; /// - /// Gets a value representing the EPC Section Size field. + /// Gets a value representing the EPC Section Size field. /// /// /// Property value. @@ -220,7 +221,7 @@ public Leaf00000012(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private ulong EpcSectionSize => CreateUnsignedLongFromValues(InvokeResult.edx & 0xfffff, (InvokeResult.ecx >> 0x0c) & 0xfffff); /// - /// Gets a value representing the EPC Section Encoding field. + /// Gets a value representing the EPC Section Encoding field. /// /// /// Property value. @@ -289,10 +290,10 @@ protected override void PopulateProperties(CpuidPropertiesTable properties) private static string GetEpcSectionEncoding(byte code) { string[] epcSectionEncoding = - { + [ "No encoding information", "This section has confidentiality and integrity protection" - }; + ]; return code > 0x01 ? "Reserved" diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000014 [Intel Processor Trace Enumeration Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000014 [Intel Processor Trace Enumeration Information].cs index b9bf310..d2367fc 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000014 [Intel Processor Trace Enumeration Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000014 [Intel Processor Trace Enumeration Information].cs @@ -87,7 +87,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Intel Processor Trace Enumeration Information. +/// Specialization of the class that contains the logic to decode the Intel Processor Trace Enumeration Information. /// internal sealed class Leaf00000014 : LeafBase { @@ -127,7 +127,8 @@ internal sealed class Leaf00000014 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -136,7 +137,7 @@ public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Maximum sub-leafs field. + /// Gets a value representing the Maximum sub-leafs field. /// /// /// Property value. @@ -145,7 +146,7 @@ public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaximumSubLeafs => InvokeResult.eax; /// - /// Gets a value representing the Number Of Configurable Address field. + /// Gets a value representing the Number Of Configurable Address field. /// /// /// Property value. @@ -154,7 +155,7 @@ public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint NumberConfigurableAddress => InvokeResult.eax & 0x7; /// - /// Gets a value representing the Bitmap of supported MTC period encodings field. + /// Gets a value representing the Bitmap of supported MTC period encodings field. /// /// /// Property value. @@ -163,7 +164,7 @@ public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint BitmapMTC => (InvokeResult.eax >> 10) & 0xffff; /// - /// Gets a value representing the Bitmap of supported Cycle Threshold value encodings field. + /// Gets a value representing the Bitmap of supported Cycle Threshold value encodings field. /// /// /// Property value. @@ -172,7 +173,7 @@ public Leaf00000014(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint BitmapCycle => InvokeResult.ebx & 0xffff; /// - /// Gets a value representing the Bitmap of supported Configurable PSB frequency encodings. field. + /// Gets a value representing the Bitmap of supported Configurable PSB frequency encodings. field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000015 [Time Stamp Counter and Nominal Core Crystal Clock Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000015 [Time Stamp Counter and Nominal Core Crystal Clock Information].cs index a8d12ae..db37235 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000015 [Time Stamp Counter and Nominal Core Crystal Clock Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000015 [Time Stamp Counter and Nominal Core Crystal Clock Information].cs @@ -38,7 +38,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Time Stamp Counter and Nominal Core Crystal Clock Information. +/// Specialization of the class that contains the logic to decode the Time Stamp Counter and Nominal Core Crystal Clock Information. /// internal sealed class Leaf00000015 : LeafBase { @@ -49,7 +49,8 @@ internal sealed class Leaf00000015 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000015(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000015(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -58,7 +59,7 @@ public Leaf00000015(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Denominator of the TSC/core crystal clock ratio field. + /// Gets a value representing the Denominator of the TSC/core crystal clock ratio field. /// /// /// Property value. @@ -67,7 +68,7 @@ public Leaf00000015(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint Denominator => InvokeResult.eax; /// - /// Gets a value representing the Numerator of the TSC/core crystal clock ratio field. + /// Gets a value representing the Numerator of the TSC/core crystal clock ratio field. /// /// /// Property value. @@ -76,7 +77,7 @@ public Leaf00000015(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint Numerator => InvokeResult.ebx; /// - /// Gets a value representing the Nominal Frequency in Hz field. + /// Gets a value representing the Nominal Frequency in Hz field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000016 [Processor Frequency Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000016 [Processor Frequency Information].cs index 589f5ff..a294ab9 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000016 [Processor Frequency Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000016 [Processor Frequency Information].cs @@ -53,7 +53,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Frequency Information. +/// Specialization of the class that contains the logic to decode the Processor Frequency Information. /// internal sealed class Leaf00000016 : LeafBase { @@ -64,7 +64,8 @@ internal sealed class Leaf00000016 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000016(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000016(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -73,7 +74,7 @@ public Leaf00000016(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Processor Base Frequency field. + /// Gets a value representing the Processor Base Frequency field. /// /// /// Property value. @@ -82,7 +83,7 @@ public Leaf00000016(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint ProcessorBaseFrequency => InvokeResult.eax & 0xffff; /// - /// Gets a value representing the Maximum Frequency field. + /// Gets a value representing the Maximum Frequency field. /// /// /// Property value. @@ -91,7 +92,7 @@ public Leaf00000016(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaximumFrequency => InvokeResult.ebx & 0xffff; /// - /// Gets a value representing the Bus Reference Frequency field. + /// Gets a value representing the Bus Reference Frequency field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000017 [System-On-Chip Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000017 [System-On-Chip Information].cs index 4d80f15..23acf85 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000017 [System-On-Chip Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf00000017 [System-On-Chip Information].cs @@ -70,7 +70,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the System-On-Chip Information. +/// Specialization of the class that contains the logic to decode the System-On-Chip Information. /// internal sealed class Leaf00000017 : LeafBase { @@ -95,7 +95,8 @@ internal sealed class Leaf00000017 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -104,7 +105,7 @@ public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the MaxSOCID field. + /// Gets a value representing the MaxSOCID field. /// /// /// Property value. @@ -113,7 +114,7 @@ public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint MaxSOCID => InvokeResult.eax; /// - /// Gets a value representing the SOC Vendor Id field. + /// Gets a value representing the SOC Vendor Id field. /// /// /// Property value. @@ -122,7 +123,7 @@ public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint SocVendorId => InvokeResult.ebx & 0xffff; /// - /// Gets a value representing the Project ID field. + /// Gets a value representing the Project ID field. /// /// /// Property value. @@ -131,7 +132,7 @@ public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint ProjectID => InvokeResult.ecx; /// - /// Gets a value representing the Stepping ID field. + /// Gets a value representing the Stepping ID field. /// /// /// Property value. @@ -140,7 +141,7 @@ public Leaf00000017(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private uint SteppingID => InvokeResult.edx; /// - /// Gets a value representing the Processor Brand String field. + /// Gets a value representing the Processor Brand String field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000000 [Highest Extended Function Implemented].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000000 [Highest Extended Function Implemented].cs index 00196a5..34aee51 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000000 [Highest Extended Function Implemented].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000000 [Highest Extended Function Implemented].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Highest Extended Function Implemented. +/// Specialization of the class that contains the logic to decode the Highest Extended Function Implemented. /// internal sealed class Leaf80000000 : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf80000000 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000000(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000000(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf80000000(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Maximum Input Value for Extended Function CPUID Information field. + /// Gets a value representing the Maximum Input Value for Extended Function CPUID Information field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000001 [Extended Processor Info And Features].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000001 [Extended Processor Info And Features].cs index 6f9b0d1..81198db 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000001 [Extended Processor Info And Features].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000001 [Extended Processor Info And Features].cs @@ -51,7 +51,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Extended Processor Info And Features. +/// Specialization of the class that contains the logic to decode the Extended Processor Info And Features. /// internal sealed class Leaf80000001 : LeafBase { @@ -80,7 +80,8 @@ internal sealed class Leaf80000001 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000001(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000002 [Processor Brand String].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000002 [Processor Brand String].cs index 7c7ad5a..bf08b27 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000002 [Processor Brand String].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000002 [Processor Brand String].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Brand String. +/// Specialization of the class that contains the logic to decode the Processor Brand String. /// internal sealed class Leaf80000002 : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf80000002 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000002(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000002(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf80000002(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Processor Brand String field. + /// Gets a value representing the Processor Brand String field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000003 [Processor Brand String continued].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000003 [Processor Brand String continued].cs index 2fcc57c..ce382df 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000003 [Processor Brand String continued].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000003 [Processor Brand String continued].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Brand String Continued. +/// Specialization of the class that contains the logic to decode the Processor Brand String Continued. /// internal sealed class Leaf80000003 : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf80000003 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000003(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000003(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf80000003(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Processor Brand String field. + /// Gets a value representing the Processor Brand String field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000004 [Processor Brand String continued].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000004 [Processor Brand String continued].cs index e595212..28f86d6 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000004 [Processor Brand String continued].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000004 [Processor Brand String continued].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Processor Brand String Continued. +/// Specialization of the class that contains the logic to decode the Processor Brand String Continued. /// internal sealed class Leaf80000004 : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf80000004 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf80000004(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Processor Brand String field. + /// Gets a value representing the Processor Brand String field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000005 [L1 Cache and TLB Identifiers].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000005 [L1 Cache and TLB Identifiers].cs index 7a1a213..3cad648 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000005 [L1 Cache and TLB Identifiers].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000005 [L1 Cache and TLB Identifiers].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the L1 Cache and TLB Identifiers. +/// Specialization of the class that contains the logic to decode the L1 Cache and TLB Identifiers. /// internal sealed class Leaf80000005 : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf80000005 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf80000005(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value that indicates if the CPUID call is valid. + /// Gets a value that indicates if the CPUID call is valid. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000006 [Extended L2 Cache Features].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000006 [Extended L2 Cache Features].cs index 2956292..e5acb36 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000006 [Extended L2 Cache Features].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000006 [Extended L2 Cache Features].cs @@ -36,7 +36,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Extended L2 Cache Features. +/// Specialization of the class that contains the logic to decode the Extended L2 Cache Features. /// internal sealed class Leaf80000006 : LeafBase { @@ -55,7 +55,8 @@ internal sealed class Leaf80000006 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -64,7 +65,7 @@ public Leaf80000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Cache Line Size field. + /// Gets a value representing the Cache Line Size field. /// /// /// Property value. @@ -73,7 +74,7 @@ public Leaf80000006(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte CacheLineSize => InvokeResult.ecx.GetByte(Bytes.Byte00); /// - /// Gets a value representing the Cache Size field. + /// Gets a value representing the Cache Size field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000007 [Advanced Power Management Information].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000007 [Advanced Power Management Information].cs index 4895396..94d99dd 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000007 [Advanced Power Management Information].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000007 [Advanced Power Management Information].cs @@ -36,7 +36,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Advanced Power Management Information. +/// Specialization of the class that contains the logic to decode the Advanced Power Management Information. /// internal sealed class Leaf80000007 : LeafBase { @@ -55,7 +55,8 @@ internal sealed class Leaf80000007 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000007(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000007(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -64,7 +65,7 @@ public Leaf80000007(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Invariant TSC field. + /// Gets a value representing the Invariant TSC field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000008 [Virtual and Physical address Sizes].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000008 [Virtual and Physical address Sizes].cs index 2a72351..86c029b 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000008 [Virtual and Physical address Sizes].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf80000008 [Virtual and Physical address Sizes].cs @@ -36,7 +36,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the Virtual and Physical address Sizes. +/// Specialization of the class that contains the logic to decode the Virtual and Physical address Sizes. /// internal sealed class Leaf80000008 : LeafBase { @@ -47,7 +47,8 @@ internal sealed class Leaf80000008 : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf80000008(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf80000008(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -56,7 +57,7 @@ public Leaf80000008(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas #region private readonly properties /// - /// Gets a value representing the Physical Address Size field. + /// Gets a value representing the Physical Address Size field. /// /// /// Property value. @@ -65,7 +66,7 @@ public Leaf80000008(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : bas private byte PhysicalAddressSize => InvokeResult.eax.GetByte(Bytes.Byte00); /// - /// Gets a value representing the Linear Address Bits field. + /// Gets a value representing the Linear Address Bits field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf8FFFFFFFF [AMD Easter Egg].cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf8FFFFFFFF [AMD Easter Egg].cs index 0048dac..bdceed2 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf8FFFFFFFF [AMD Easter Egg].cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Leafs/Items/Leaf8FFFFFFFF [AMD Easter Egg].cs @@ -28,7 +28,7 @@ namespace iTin.Hardware.Specification.Cpuid; // •———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————• /// -/// Specialization of the class that contains the logic to decode the AMD Easter Egg. +/// Specialization of the class that contains the logic to decode the AMD Easter Egg. /// internal sealed class Leaf8FFFFFFFF : LeafBase { @@ -39,7 +39,8 @@ internal sealed class Leaf8FFFFFFFF : LeafBase /// /// Current leaf information. /// Current sub-leaf information. - public Leaf8FFFFFFFF(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : base(data, subLeaf) + public Leaf8FFFFFFFF(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) + : base(data, subLeaf) { } @@ -48,7 +49,7 @@ public Leaf8FFFFFFFF(CpuidLeafContent data, SubLeaf subLeaf = SubLeaf.Main) : ba #region private readonly properties /// - /// Gets a value representing the AMD Easter Egg String field. + /// Gets a value representing the AMD Easter Egg String field. /// /// /// Property value. diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Results/QuerySubLeafPropertyCollectionResult.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Results/QuerySubLeafPropertyCollectionResult.cs index 087b774..fb39709 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Results/QuerySubLeafPropertyCollectionResult.cs +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/CPUID/Results/QuerySubLeafPropertyCollectionResult.cs @@ -1,107 +1,106 @@  +using System; using System.Collections.Generic; using iTin.Core.ComponentModel; -namespace iTin.Hardware.Specification.Cpuid +namespace iTin.Hardware.Specification.Cpuid; + +/// +/// Specialization of interface.
+/// Where T is .
+/// Represents result after query operation. +///
+public class QuerySubLeafPropertyCollectionResult : ResultBase { /// - /// Specialization of interface.
- /// Where T is .
- /// Represents result after query operation. + /// Returns a new with specified detailed error. ///
- public class QuerySubLeafPropertyCollectionResult : ResultBase - { - /// - /// Returns a new with specified detailed error. - /// - /// Error message - /// Error code - /// - /// A new invalid with specified detailed error. - /// - public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(string message, string code = "") => CreateErrorResult(new IResultError[] { new ResultError { Code = code, Message = message } }); + /// Error message + /// Error code + /// + /// A new invalid with specified detailed error. + /// + public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(string message, string code = "") => CreateErrorResult( + [new ResultError { Code = code, Message = message }]); - /// - /// Returns a new with specified detailed error. - /// - /// Error message - /// Result Result - /// Error code - /// - /// A new invalid with specified detailed error. - /// - public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(string message, CpuidSubLeafDictionary result, string code = "") => CreateErrorResult(new IResultError[] { new ResultError { Code = code, Message = message } }, result); + /// + /// Returns a new with specified detailed error. + /// + /// Error message + /// Result Result + /// Error code + /// + /// A new invalid with specified detailed error. + /// + public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(string message, CpuidSubLeafDictionary result, string code = "") => CreateErrorResult( + [new ResultError { Code = code, Message = message }], result); - /// - /// Returns a new with specified detailed errors collection. - /// - /// A errors collection - /// - /// A new invalid with specified detailed errors collection. - /// - public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultError[] errors) => - new() - { - Result = default, - Success = false, - Errors = (IResultError[])errors.Clone() - }; + /// + /// Returns a new with specified detailed errors' collection. + /// + /// A errors collection + /// + /// A new invalid with specified detailed errors' collection. + /// + public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultError[] errors) => new() + { + Result = default, + Success = false, + Errors = (IResultError[])errors.Clone() + }; - /// - /// Returns a new with specified detailed errors collection. - /// - /// A errors collection - /// Result Result - /// - /// A new invalid with specified detailed errors collection. - /// - public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultError[] errors, CpuidSubLeafDictionary result) => - new() - { - Result = result, - Success = false, - Errors = (IResultError[])errors.Clone() - }; + /// + /// Returns a new with specified detailed errors' collection. + /// + /// A errors collection + /// Result Result + /// + /// A new invalid with specified detailed errors' collection. + /// + public new static QuerySubLeafPropertyCollectionResult CreateErrorResult(IResultError[] errors, CpuidSubLeafDictionary result) => new() + { + Result = result, + Success = false, + Errors = (IResultError[])errors.Clone() + }; - /// - /// Returns a new success result. - /// - /// Result Result - /// - /// A new valid . - /// - public new static QuerySubLeafPropertyCollectionResult CreateSuccessResult(CpuidSubLeafDictionary result) => - new() - { - Result = result, - Success = true, - Errors = new List() - }; + /// + /// Returns a new success result. + /// + /// Result Result + /// + /// A new valid . + /// + public new static QuerySubLeafPropertyCollectionResult CreateSuccessResult(CpuidSubLeafDictionary result) => new() + { + Result = result, + Success = true, + Errors = Array.Empty() + }; - /// - /// Creates a new instance from known exception. - /// - /// Target exception. - /// - /// A new instance for specified exception. - /// - public new static QuerySubLeafPropertyCollectionResult FromException(System.Exception exception) => FromException(exception, default); + /// + /// Creates a new instance from known exception. + /// + /// Target exception. + /// + /// A new instance for specified exception. + /// + public new static QuerySubLeafPropertyCollectionResult FromException(Exception exception) => + FromException(exception, default); - /// - /// Creates a new instance from known exception. - /// - /// Target exception. - /// Result Result - /// - /// A new instance for specified exception. - /// - public new static QuerySubLeafPropertyCollectionResult FromException(System.Exception exception, CpuidSubLeafDictionary result) => - new() - { - Result = result, - Success = false, - Errors = new List { new ResultExceptionError { Exception = exception } } - }; - } + /// + /// Creates a new instance from known exception. + /// + /// Target exception. + /// Result Result + /// + /// A new instance for specified exception. + /// + public new static QuerySubLeafPropertyCollectionResult FromException(Exception exception, CpuidSubLeafDictionary result) => new() + { + Result = result, + Success = false, + Errors = new List { new ResultExceptionError { Exception = exception } } + }; } diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/GlobalSuppressions.cs b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/GlobalSuppressions.cs deleted file mode 100644 index b9a37bf..0000000 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/GlobalSuppressions.cs +++ /dev/null @@ -1,11 +0,0 @@ -// This file is used by Code Analysis to maintain SuppressMessage -// attributes that are applied to this project. -// Project-level suppressions either have no target or are given -// a specific target and scoped to a namespace, type, member, etc. - -using System.Diagnostics.CodeAnalysis; - -[assembly: SuppressMessage("Style", "IDE1006:Estilos de nombres", Justification = "", Scope = "member", Target = "~P:iTin.Hardware.Specification.Cpuid.LeafProperty.ProcessorInfoAndFeatures.Features.x2APIC")] -[assembly: SuppressMessage("Style", "IDE1006:Estilos de nombres", Justification = "", Scope = "member", Target = "~P:iTin.Hardware.Specification.Cpuid.LeafProperty.ProcessorInfoAndFeatures.Features.xTPR")] -[assembly: SuppressMessage("Style", "IDE1006:Estilos de nombres", Justification = "", Scope = "member", Target = "~P:iTin.Hardware.Specification.Cpuid.LeafProperty.ProcessorExtendedStatesInformation.x87State")] -[assembly: SuppressMessage("Style", "IDE1006:Estilos de nombres", Justification = "", Scope = "member", Target = "~P:iTin.Hardware.Specification.Cpuid.LeafProperty.ExtendedTopologyInformation.x2APICID")] diff --git a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/iTin.Hardware.Specification.Cpuid.csproj b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/iTin.Hardware.Specification.Cpuid.csproj index f0013f1..5178d56 100644 --- a/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/iTin.Hardware.Specification.Cpuid.csproj +++ b/src/lib/net/iTin.Hardware/iTin.Hardware.Specification.Cpuid/iTin.Hardware.Specification.Cpuid.csproj @@ -7,7 +7,7 @@ true iTin.Hardware.Specification.Cpuid iTin.Hardware.Specification.Cpuid - 1.0.0.3 + 1.0.0.6 iTin iTin iTin.Hardware.Specification.Cpuid @@ -23,7 +23,7 @@ - + diff --git a/src/test/FullFramework/iCPUID.ConsoleApp/app.config b/src/test/FullFramework/iCPUID.ConsoleApp/app.config index 3dbff35..3e0e37c 100644 --- a/src/test/FullFramework/iCPUID.ConsoleApp/app.config +++ b/src/test/FullFramework/iCPUID.ConsoleApp/app.config @@ -1,3 +1,3 @@ - + diff --git a/src/test/FullFramework/iCPUID.ConsoleApp/iCPUID.ConsoleApp.csproj b/src/test/FullFramework/iCPUID.ConsoleApp/iCPUID.ConsoleApp.csproj index 9f0ffb2..d14a55c 100644 --- a/src/test/FullFramework/iCPUID.ConsoleApp/iCPUID.ConsoleApp.csproj +++ b/src/test/FullFramework/iCPUID.ConsoleApp/iCPUID.ConsoleApp.csproj @@ -9,7 +9,7 @@ Properties iCPUID.ConsoleApp iCPUID.ConsoleApp - v4.6.1 + v4.8 512 publish\ true @@ -81,8 +81,8 @@ - - {7fd11bc8-5b3b-4ca4-85a1-5f90ca3495c0} + + {8A97A25B-0AF9-400A-93A0-D88D7FF38C55} iTin.Core.Hardware.Common diff --git a/src/test/NetCore/iCPUID.ConsoleAppCore31/Program.cs b/src/test/NetCore/iCPUID.ConsoleAppCore31/Program.cs deleted file mode 100644 index d0bf7ce..0000000 --- a/src/test/NetCore/iCPUID.ConsoleAppCore31/Program.cs +++ /dev/null @@ -1,186 +0,0 @@ - -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; - -using iTin.Core.Hardware.Common; - -using iTin.Hardware.Specification; -using iTin.Hardware.Specification.Cpuid; - -namespace iCPUID.ConsoleAppCore -{ - class Program - { - static void Main(string[] args) - { - CPUID cpuid = CPUID.Instance; - Console.WriteLine(@" ======================="); - Console.WriteLine(@" CPUID"); - Console.WriteLine(@" ======================="); - Console.WriteLine($@" Is Available > {cpuid.IsAvailable}"); - Console.WriteLine($@" Processor Name > {cpuid.ProcessorName}"); - - Console.WriteLine(); - Console.WriteLine(@" ================="); - Console.WriteLine(@" Implemented leafs"); - Console.WriteLine(@" ================="); - ReadOnlyCollection implementedleafs = cpuid.ImplementedLeafs; - foreach (Leaf leaf in implementedleafs) - { - Console.WriteLine($@" {(int)leaf:X8}-{leaf}"); - } - - Console.WriteLine(); - Console.WriteLine(@" ================================"); - Console.WriteLine(@" All leafs > subleafs implemented"); - Console.WriteLine(@" ================================"); - var leafs = cpuid.Leafs; - foreach (var (leaf, subLeafs) in leafs) - { - Console.WriteLine($@" > {leaf} (EAX={(int)leaf:X8})"); - - foreach (var subLeaf in subLeafs) - { - Console.WriteLine($@" > {subLeaf.SubLeaf} (ECX={(int)subLeaf.SubLeaf:X8})"); - } - - Console.WriteLine(); - } - - Console.WriteLine(@" =================================================================="); - Console.WriteLine(@" All properties implementes by leafs / subleafs (shows description)"); - Console.WriteLine(@" =================================================================="); - foreach (var (leaf, subLeafs) in leafs) - { - Console.WriteLine($@" > {leaf} (EAX={(int)leaf:X8})"); - - foreach (var subLeaf in subLeafs) - { - Console.WriteLine($@" > {subLeaf.SubLeaf} (ECX={(int)subLeaf.SubLeaf:X8})"); - IEnumerable properties = subLeaf.ImplementedProperties; - foreach (var property in properties) - { - PropertyUnit unit = property.PropertyUnit; - string friendlyName = property.GetPropertyName(); - string description = property.GetPropertyDescription(); - - Console.WriteLine($@" > {friendlyName} {(unit == PropertyUnit.None ? string.Empty : $"({unit})")}: {description}"); - } - } - - Console.WriteLine(); - } - - Console.WriteLine(@" ======================================================="); - Console.WriteLine(@" All properties implementes by leafs / subleafs (values)"); - Console.WriteLine(@" ======================================================="); - foreach (var (leaf, subLeafs) in leafs) - { - Console.WriteLine($@" > {leaf} (EAX={(int)leaf:X8})"); - - foreach (var subLeaf in subLeafs) - { - Console.WriteLine($@" > {subLeaf.SubLeaf} (ECX={(int)subLeaf.SubLeaf:X8})"); - IEnumerable properties = subLeaf.ImplementedProperties; - foreach (IPropertyKey property in properties) - { - QueryPropertyResult queryResult = subLeaf.GetProperty(property); - PropertyItem propertyItem = queryResult.Result; - object value = propertyItem.Value; - PropertyUnit valueUnit = property.PropertyUnit; - string friendlyName = property.GetPropertyName(); - string unit = valueUnit == PropertyUnit.None ? string.Empty : valueUnit.ToString(); - - if (value == null) - { - Console.WriteLine($@" > {friendlyName}: NULL"); - continue; - } - - if (value is bool) - { - Console.WriteLine($@" > {friendlyName}: {value} [{((bool)value ? 1 : 0)}]"); - } - else if (value is string) - { - Console.WriteLine($@" > {friendlyName}: {value} {unit}"); - } - else if (value is byte) - { - Console.WriteLine($@" > {friendlyName}: {value} {unit} [{value:X2}h]"); - } - else if (value is int) - { - Console.WriteLine($@" > {friendlyName}: {value} {unit} [{value:X4}h]"); - } - else if (value is uint) - { - Console.WriteLine($@" > {friendlyName}: {value} {unit} [{value:X4}h]"); - } - else if (value is ulong) - { - Console.WriteLine($@" > {friendlyName}: {value} {unit} [{value:X8}h]"); - } - else if (value.GetType() == typeof(ReadOnlyCollection)) - { - Console.WriteLine($@" > {friendlyName}"); - var collection = (ReadOnlyCollection)value; - foreach (var entry in collection) - { - Console.WriteLine($@" > {entry} {unit}"); - } - } - else - { - Console.WriteLine($@" > {friendlyName}: {value} {unit}"); - } - } - } - - Console.WriteLine(); - } - - Console.WriteLine(@" ==============================="); - Console.WriteLine(@" Gets a single property directly"); - Console.WriteLine(@" ==============================="); - - QueryPropertyResult manufacturerQueryResult = cpuid.Leafs.GetProperty(LeafProperty.BasicInformation.Manufacturer); - if (manufacturerQueryResult.Success) - { - Console.WriteLine($@" > Manufacturer: {manufacturerQueryResult.Result.Value}"); - } - - QueryPropertyResult avx2 = cpuid.Leafs.GetProperty(LeafProperty.ExtendedFeatures.AVX2); - if (avx2.Success) - { - Console.WriteLine($@" > AVX2: {avx2.Result.Value}"); - } - - Console.WriteLine(); - Console.WriteLine(@" ==================================="); - Console.WriteLine(@" Gets a multiple properties directly"); - Console.WriteLine(@" ==================================="); - QuerySubLeafPropertyCollectionResult cacheSizesQueryResult = leafs.GetProperties(LeafProperty.DeterministicCacheParameters.CacheSize); - if (cacheSizesQueryResult.Success) - { - CpuidSubLeafDictionary cacheSizes = cacheSizesQueryResult.Result; - bool hasCacheSizesEntries = cacheSizes.Any(); - if (!hasCacheSizesEntries) - { - Console.WriteLine($@" > Sorry, The 'LeafProperty.DeterministicCacheParameters.CacheSize' property has not implementes on this system"); - } - else - { - foreach (var (subLeaf, propertyItem) in cacheSizes) - { - Console.WriteLine($@" > Cache Size: ({subLeaf}) > {propertyItem.Value} {propertyItem.Key.PropertyUnit}"); - } - } - } - - Console.ReadLine(); - } - } -} diff --git a/src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.csproj b/src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.csproj deleted file mode 100644 index 2edc2e6..0000000 --- a/src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.csproj +++ /dev/null @@ -1,36 +0,0 @@ - - - - Exe - netcoreapp3.1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.sln b/src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.sln deleted file mode 100644 index 6353745..0000000 --- a/src/test/NetCore/iCPUID.ConsoleAppCore31/iCPUID.ConsoleAppCore31.sln +++ /dev/null @@ -1,17 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iCPUID.Interop.Rust.ConsoleApp", "iCPUID.Interop.Rust.ConsoleApp.csproj", "{B43B6CD7-6786-4316-A080-A9BC2BB82C5F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B43B6CD7-6786-4316-A080-A9BC2BB82C5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B43B6CD7-6786-4316-A080-A9BC2BB82C5F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B43B6CD7-6786-4316-A080-A9BC2BB82C5F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B43B6CD7-6786-4316-A080-A9BC2BB82C5F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/test/NetCore/iCPUID.ConsoleAppCoreNuget/iCPUID.ConsoleAppCoreNuget.csproj b/src/test/NetCore/iCPUID.ConsoleAppCoreNuget/iCPUID.ConsoleAppCoreNuget.csproj index af59ff8..e2ad20b 100644 --- a/src/test/NetCore/iCPUID.ConsoleAppCoreNuget/iCPUID.ConsoleAppCoreNuget.csproj +++ b/src/test/NetCore/iCPUID.ConsoleAppCoreNuget/iCPUID.ConsoleAppCoreNuget.csproj @@ -37,7 +37,7 @@ - +