private void FillSupportedFeatures() { _SupportedFeatures[(int)StateFeature.NativeCommandQueuing] = LogicHelper.CheckBit(word076, Bits.Bit08); _SupportedFeatures[(int)StateFeature.PhyEventCounters] = LogicHelper.CheckBit(word076, Bits.Bit10); _SupportedFeatures[(int)StateFeature.DmaSetupAutoActivate] = LogicHelper.CheckBit(word078, Bits.Bit02); _SupportedFeatures[(int)StateFeature.InOrderDataDelivery] = LogicHelper.CheckBit(word078, Bits.Bit04); _SupportedFeatures[(int)StateFeature.SoftwareSettingsPreservation] = LogicHelper.CheckBit(word078, Bits.Bit06); _SupportedFeatures[(int)StateFeature.Smart] = LogicHelper.CheckBit(word082, Bits.Bit00); _SupportedFeatures[(int)StateFeature.SecurityMode] = LogicHelper.CheckBit(word082, Bits.Bit01); _SupportedFeatures[(int)StateFeature.WriteCache] = LogicHelper.CheckBit(word082, Bits.Bit05); _SupportedFeatures[(int)StateFeature.ReadLookAhead] = LogicHelper.CheckBit(word082, Bits.Bit06); _SupportedFeatures[(int)StateFeature.ReleaseInterrupt] = LogicHelper.CheckBit(word082, Bits.Bit07); _SupportedFeatures[(int)StateFeature.AdvancedPowerManagement] = LogicHelper.CheckBit(word083, Bits.Bit03); _SupportedFeatures[(int)StateFeature.PowerUpInStandby] = LogicHelper.CheckBit(word083, Bits.Bit05); _SupportedFeatures[(int)StateFeature.AutomaticAcousticManagement] = LogicHelper.CheckBit(word083, Bits.Bit09); _SupportedFeatures[(int)StateFeature.Bit48Lba] = LogicHelper.CheckBit(word083, Bits.Bit10); _SupportedFeatures[(int)StateFeature.DeviceConfigurationOverlay] = LogicHelper.CheckBit(word083, Bits.Bit11); _SupportedFeatures[(int)StateFeature.SmartErrorLogging] = LogicHelper.CheckBit(word084, Bits.Bit00); _SupportedFeatures[(int)StateFeature.SmartSelfTest] = LogicHelper.CheckBit(word084, Bits.Bit01); _SupportedFeatures[(int)StateFeature.Streaming] = LogicHelper.CheckBit(word084, Bits.Bit04); _SupportedFeatures[(int)StateFeature.PowerManagement] = LogicHelper.CheckBit(word085, Bits.Bit03); _SupportedFeatures[(int)StateFeature.HostProtectedArea] = LogicHelper.CheckBit(word085, Bits.Bit10); _SupportedFeatures[(int)StateFeature.GeneralPurposeLogging] = LogicHelper.CheckBit(word087, Bits.Bit05); _SupportedFeatures[(int)StateFeature.TaggedCommandQueuing] = false; }
/// <summary> /// Gets a <see cref="T:System.String"/> that represents the cache size in Kb. /// </summary> /// <param name="code">Value to analyze.</param> /// <returns>The cache size in Kb.</returns> private static uint GetSize(uint code) { uint size = code & 0x7ffff; bool granularity64Kb = LogicHelper.CheckBit(code, Bits.Bit31); if (granularity64Kb) { return(size << 6); } return(size); }