Skip to content

Try and migrate the old GigabyteController stuff with PawnIO#2014

Merged
PhyxionNL merged 28 commits into
LibreHardwareMonitor:masterfrom
Rem0o:feature/isa-bridge-ec-gigabyte
Nov 20, 2025
Merged

Try and migrate the old GigabyteController stuff with PawnIO#2014
PhyxionNL merged 28 commits into
LibreHardwareMonitor:masterfrom
Rem0o:feature/isa-bridge-ec-gigabyte

Conversation

@Rem0o

@Rem0o Rem0o commented Nov 5, 2025

Copy link
Copy Markdown
Collaborator

THIS IS A DRAFT/INTEGRATION ATTEMPT


I do not have access to a board to test, so this will need testers.


TEST PROTOCOL

  1. Download the x64 binary from here: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/actions/runs/19244215466
  2. See if LHM sees two super io chips (ITE)
  3. See if there are sensors available on that second super IO chip
  4. Try and set a speed (right click) on any control of that second super IO chip
  5. Report if that works with your motherboard model + a screenshot where we can see LHM running with the name of both chips and send any DEBUG logs if any of this doesn't work

Changes:

  • Bring back WinRing0 era GigabyteController stuff
  • ISABridge use the PawnIO module with its built-in logic
  • Ecio uses LpcIO directly (not sure about the initialization logic in TryCreate() to make this work)

[NEED REVIEW] ISA Bridge

As per @namazso here, based the enable/disable on setting the MMIO_Enabled4E state.

[NEED REVIEW] For the ECIO stuff

For now did It87Enter -> FindBars() -> It87Exit as stated here
However not sure about the exit since there is a comment in IT87Exit which states

// Do not exit config mode for secondary super IO.

* Bring back WinRing0 era GigabyteController stuff
* ISABridge use the PawnIO module with its built-in logic
* Ecio uses LpcIO directly (not sure about the initialization logic in TryCreate() to make this work)
@Squadella

Copy link
Copy Markdown

I have a Gigabyte board that doesn't work with the current LHM.

I can test it for you if you want.

@PhyxionNL PhyxionNL requested a review from Copilot November 5, 2025 09:28
@PhyxionNL PhyxionNL marked this pull request as ready for review November 5, 2025 09:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for a Gigabyte controller present on some motherboards that uses memory-mapped I/O via the ISA Bridge to control the 2nd ITE EC. The changes introduce new classes to detect and manage this controller, with fallback logic for ECIO port-based controllers on AMD systems.

  • Adds IsaBridgeGigabyteController and EcioPortGigabyteController implementations
  • Extends IGigabyteController interface with IDisposable for proper resource cleanup
  • Integrates detection logic into LpcIO to automatically find and use the appropriate controller

Reviewed Changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
LibreHardwareMonitorLib/Resources/PawnIo/IsaBridgeEC.bin Binary resource for PawnIO driver module supporting ISA Bridge EC operations
LibreHardwareMonitorLib/PawnIo/IsaBridgeEc.cs Wrapper class for ISA Bridge EC operations including state management
LibreHardwareMonitorLib/LibreHardwareMonitorLib.csproj Adds IsaBridgeEC.bin as embedded resource
LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs Integrates Gigabyte controller detection and vendor detection logic
LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Controller implementation using ISA Bridge MMIO for fan control
LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs Updates Close() method to dispose of Gigabyte controller
LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT879xEcioPort.cs Low-level port communication class for IT879x EC I/O operations
LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IGigabyteController.cs Extends interface with IDisposable
LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EcioPortGigabyteController.cs Alternative controller implementation using ECIO ports for AMD systems

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/PawnIo/IsaBridgeEc.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IsaBridgeGigabyteController.cs Outdated
@Levminer

Levminer commented Nov 5, 2025

Copy link
Copy Markdown

I have a Gigabyte board that doesn't work with the current LHM.

I can test it for you if you want.

If anyone wants to test it:

logged in to GitHub:
https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/actions/runs/19089693441?pr=2014

not logged in to GitHub: https://nightly.link/LibreHardwareMonitor/LibreHardwareMonitor/actions/runs/19089693441/LibreHardwareMonitor.zip

Rem0o added 2 commits November 5, 2025 08:53
* Fix inverted logic
* Remove IsaBridgeEc field init
* Format document
@Squadella

Copy link
Copy Markdown

I have tried the last build of the library.

I'm seeing my RPM of my water pump.

{32697C99-D9BA-49C3-8797-EAEE22CEB175}

I tried to replace the LibreHardwareMonitorLib.* with the new one in the FanControl installation folder and it doesn't do anything (idk if it should work or not).

@Rem0o

Rem0o commented Nov 5, 2025

Copy link
Copy Markdown
Collaborator Author

What we are looking for is if the control work on those secondary ITE chips.

@namazso

namazso commented Nov 5, 2025

Copy link
Copy Markdown
Contributor

The ISA bridge impl here will just enable the address translation. You still need to perform the write to the fan disable byte, similar to how the old implementation did, except with the ioctls.

For reference, this was my "untitled5.exe" code: https://gist.github.com/namazso/8e25fc78f35a588e2b923fad5745c2cd

Though you may want to look at the pre-PawnIO LHM implementation for actual implementing, I think I'm missing some version checks and whatnot.

As for the ECIO stuff, I meant reusing the LpcPort instance you already have from LpcIO. That's why Dispose-correctness is important, because you don't want your parent LpcIO to dispose the Pawn module before GigabyteController is destroyed.

@Rem0o

Rem0o commented Nov 6, 2025

Copy link
Copy Markdown
Collaborator Author

Is there a reason why when you set the MMIO state, if it's the index 0 you set 2E and when it's index 1 you set 4E? Not to sure I understand that logic. What about the "Both" option? Can I just set both all the time?

Otherwise I gave it another go, as I understand much better what's going on. Used your gist for the "initialization" of the MMIO stuff, mapping, setting the state, then used the original LHM stuff for the actual FanControl byte in the mapped memory (offset 0x900 + 0x047).

Also reused the existing LpcPort of the ITE chip when doing creating the ECIO stuff.

@Squadella

Copy link
Copy Markdown

I'll test the new code tonight or tomorrow.

@Rem0o Rem0o marked this pull request as draft November 6, 2025 15:01
@namazso

namazso commented Nov 6, 2025

Copy link
Copy Markdown
Contributor

Is there a reason why when you set the MMIO state, if it's the index 0 you set 2E and when it's index 1 you set 4E?

Yes, the first superio chip is on port 2E/2F while the second is on 4E/4F. For the fan disable thing you only want to care about the second chip, my implementation is just based on GCC and matches capabilities including support for first chip.

What about the "Both" option? Can I just set both all the time?

AMD supports only one translation at a time, so Both isn’t going to work there. You want to first check if the current / original state is 4E or Both, and only do any changes if it isn’t, to avoid conflicting GCC or others. I believe the original GCC code also did something like that.

@Rem0o

Rem0o commented Nov 6, 2025

Copy link
Copy Markdown
Collaborator Author

Sorry to ask, but you keep mentioning GCC, I guess you mean Gigabyte Control Center? Is the source available somewhere or some reverse engineering work?

So in my IsaBridgeEC.cs findmmio call, I should only return/care about the second chip if its available?
And then from there only manage the "4E/Both" state as you said if and only if the original is not "4E/Both".
For manual fan control to work, the byte should be "disabled" I guess? Because right now I think I got it the other way arround, and I enable it.

TLDR:

  1. Try and find the second chip MMIO.
  2. Get original MMIO state -> enable it to 4E if it's not 4E or Both.
  3. Map MMIO
  4. Start playing with the 0x947 bit, set it to "false/0" to enable manual fancontrol
  5. Do the opposite steps in backward order when closing the app

@EriIaz

EriIaz commented Nov 6, 2025

Copy link
Copy Markdown

Thank you for the effort!
Naively replacing the LHM files in the Fan Control folder with the contents of any folder from the latest experimental LHM build (used x64) doesn't work for me yet.

The application either fails to start at all (net9 or net8)
11/6/2025 11:04:47 PM: Startup - Autofac.Core.DependencyResolutionException: An exception was thrown while activating FanControl.IPC.FanControlRPCService -> FanControl.Domain.ComputerAccessLayer. ---> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(FanControl.Domain.ILogger, FanControl.Domain.IPluginService, FanControl.Domain.IApplicationClock)' on type 'ComputerAccessLayer'. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Не удается найти указанный файл.
   at FanControl.Domain.BackendProviders.LHM.LHMBackendProvider..ctor(ILogger logger)
   at FanControl.Domain.ComputerAccessLayer..ctor(ILogger logger, IPluginService pluginService, IApplicationClock applicationClock)
   at lambda_method(Closure , Object[] )
   at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
   --- End of inner exception stack trace ---
   at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
   at Autofac.Core.Activators.Reflection.ReflectionActivator.<>c__DisplayClass14_0.<UseSingleConstructorActivation>b__0(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   --- End of inner exception stack trace ---
   at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context)
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest& request)
   at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest& request)
   at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest& request)
   at Autofac.Core.Container.Autofac.IComponentContext.ResolveComponent(ResolveRequest& request)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable`1 parameters)
   at FanControl.Bootstrap.<Startup>d__17.MoveNext()

or

or fails to access the controller (net472 or netstandard)
11/6/2025 11:11:10 PM: LibreHardwareMonitor could not initialize or has no sensors.
06.11.2025 23:11:17: Open - System.IO.FileLoadException: Не удалось загрузить файл или сборку "System.Threading.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" либо одну из их зависимостей. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Имя файла: 'System.Threading.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   в LibreHardwareMonitor.Hardware.Mutexes.<Open>g__CreateOrOpenExistingMutex|4_0(String name)
   в LibreHardwareMonitor.Hardware.Mutexes.Open() в D:\a\LibreHardwareMonitor\LibreHardwareMonitor\LibreHardwareMonitorLib\Hardware\Mutexes.cs:строка 20
   в LibreHardwareMonitor.Hardware.Computer.Open() в D:\a\LibreHardwareMonitor\LibreHardwareMonitor\LibreHardwareMonitorLib\Hardware\Computer.cs:строка 490
   в FanControl.Domain.BackendProviders.LHM.LHMBackendProvider.Open()

Предупреждение: регистрация привязки сборок выключена.
Чтобы включить регистрацию ошибок привязки сборок, установите значение параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) в 1.
Примечание. Регистрация ошибок привязки сборок может привести к некоторому снижению производительности.
Чтобы отключить эту функцию, удалите параметр реестра [HKLM\Software\Microsoft\Fusion!EnableLog].

11/6/2025 11:13:27 PM: Sensor validation failed: The following sensors are missing:
/lpc/it8792e/control/2
/lpc/it8792e/control/0
/lpc/it8792e/control/1
/lpc/it8792e/fan/2
/lpc/it8792e/fan/0
/lpc/it8792e/fan/1
11/6/2025 11:13:27 PM: Startup - System.Exception: Sensor validation failed: The following sensors are missing:
/lpc/it8792e/control/2
/lpc/it8792e/control/0
/lpc/it8792e/control/1
/lpc/it8792e/fan/2
/lpc/it8792e/fan/0
/lpc/it8792e/fan/1

Granted, I didn't have the time to doublecheck if I am doing the correct thing today yet. It might as well be an honest mistake on my end. Would appreciate if you tell what version I am supposed to grab for FanControl_245_net_8_0 to test properly, or I should to downgrade something.
Will return on the weekend for further testing!

@namazso

namazso commented Nov 7, 2025

Copy link
Copy Markdown
Contributor

I guess you mean Gigabyte Control Center?

Yes.

Is the source available somewhere or some reverse engineering work?

It's reverse engineering.

So in my IsaBridgeEC.cs findmmio call, I should only return/care about the second chip if its available?

Yeah. I don't know what the first chip does.

For manual fan control to work, the byte should be "disabled" I guess? Because right now I think I got it the other way arround, and I enable it.

I'm not sure actually, but I think the behavior is the same across ECIO and ISA bridge, and in the ECIO code you seem to be disabling with writing 0? I think the original LHM code also was doing it like that.

@Rem0o

Rem0o commented Nov 7, 2025

Copy link
Copy Markdown
Collaborator Author

Alright pushed some changes. I think this looks more like it.

@Squadella

Copy link
Copy Markdown

The results with my board :

{059D2E8E-DB12-4161-90D2-8A5A9EFBE79E}

@Squadella

Copy link
Copy Markdown

After a restart the missing headers were displayed in FanControl. But after another restart they all disappeared.

{B520F247-FEDE-4505-9570-6EF1F5658E7C}

I'll try to make them display again.

@Rem0o

Rem0o commented Nov 7, 2025

Copy link
Copy Markdown
Collaborator Author

If it doesn't see the ITE chip itself, that's a problem before it even hits the new code I put in.

@Squadella

Squadella commented Nov 7, 2025

Copy link
Copy Markdown

Ok, so I have tried some things and found a way to display the missing headers.

If there is nothing connected to any of the fan headers it displays. Otherwise it doesn't.

{AC02B714-BD62-4612-BBBC-DAD8A090464C}

EDIT:

After plugging back the fan header, the ITE chip seems to stay detected. I'll try rebooting multiple times.

EDIT2:

The ITE chip disappeared and won't show up after multiple reboot.

@Squadella

Copy link
Copy Markdown

Here is the logs of yesterday night when the chip disappeared.

It is quite underwhelming and I don't think this log file will help a lot :

PawnIo_IsaBridgeEc_DebugLog.txt

[2025-11-15 18:05:06.281] ReadMmio statusCode: 0, Read Value: 0x1 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 18:05:06.281] WriteMmio statusCode: 0, Written Value: 0x0 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 18:05:06.783] TrySetState to MMIO_Original statusCode: 0
[2025-11-15 18:05:06.783] Unmap statusCode: 0
[2025-11-15 20:19:03.850] Map statusCode: 0
[2025-11-15 20:19:03.855] TrySetState to MMIO_Enabled4E statusCode: 0
[2025-11-15 20:19:03.855] WriteMmio statusCode: 0, Written Value: 0x1 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 20:19:04.356] TrySetState to MMIO_Original statusCode: 0
[2025-11-15 20:19:04.356] Unmap statusCode: 0
[2025-11-15 22:16:33.901] FindSuperIoMMIO statusCode: 0
[2025-11-15 22:16:33.907] First MMIO - BaseAddress: 0xFE000000, SuperIoSize: 0x2000, ChipId: 0x8696
[2025-11-15 22:16:33.907] Second MMIO - BaseAddress: 0xFE010000, SuperIoSize: 0x2000, ChipId: 0x8695
[2025-11-15 22:16:33.908] GetOriginalState statusCode: 0
[2025-11-15 22:16:33.909] Original MMIO State: MMIO_Original
[2025-11-15 22:16:33.909] Map statusCode: 0
[2025-11-15 22:16:33.909] TrySetState to MMIO_Enabled4E statusCode: 0
[2025-11-15 22:16:33.910] ReadMmio statusCode: 0, Read Value: 0x1 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 22:16:33.910] TrySetState to MMIO_Original statusCode: 0
[2025-11-15 22:16:33.910] Unmap statusCode: 0

The "hole" between 20h and 22h was all the restarts and doing the process described in my previous message.

I also checked the FanControl general logs and linked the file at the time I restarted the app with the new version of the library

log_FC.txt

@Rem0o

Rem0o commented Nov 16, 2025

Copy link
Copy Markdown
Collaborator Author

@Squadella the log I need is a different one named : PawnIo_IsaBridgeEc_DebugLog.txt

@Squadella

Copy link
Copy Markdown

I provided it collapsed, I put it again here:

[2025-11-15 18:05:06.281] ReadMmio statusCode: 0, Read Value: 0x1 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 18:05:06.281] WriteMmio statusCode: 0, Written Value: 0x0 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 18:05:06.783] TrySetState to MMIO_Original statusCode: 0
[2025-11-15 18:05:06.783] Unmap statusCode: 0
[2025-11-15 20:19:03.850] Map statusCode: 0
[2025-11-15 20:19:03.855] TrySetState to MMIO_Enabled4E statusCode: 0
[2025-11-15 20:19:03.855] WriteMmio statusCode: 0, Written Value: 0x1 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 20:19:04.356] TrySetState to MMIO_Original statusCode: 0
[2025-11-15 20:19:04.356] Unmap statusCode: 0
[2025-11-15 22:16:33.901] FindSuperIoMMIO statusCode: 0
[2025-11-15 22:16:33.907] First MMIO - BaseAddress: 0xFE000000, SuperIoSize: 0x2000, ChipId: 0x8696
[2025-11-15 22:16:33.907] Second MMIO - BaseAddress: 0xFE010000, SuperIoSize: 0x2000, ChipId: 0x8695
[2025-11-15 22:16:33.908] GetOriginalState statusCode: 0
[2025-11-15 22:16:33.909] Original MMIO State: MMIO_Original
[2025-11-15 22:16:33.909] Map statusCode: 0
[2025-11-15 22:16:33.909] TrySetState to MMIO_Enabled4E statusCode: 0
[2025-11-15 22:16:33.910] ReadMmio statusCode: 0, Read Value: 0x1 at SuperIoIndex 1, offset 2375, size 1
[2025-11-15 22:16:33.910] TrySetState to MMIO_Original statusCode: 0
[2025-11-15 22:16:33.910] Unmap statusCode: 0

@TsunamiMommy

Copy link
Copy Markdown

@Squadella Is that with the chip missing from lhm? As it's very clearly being detected in those logs.

@Squadella

Squadella commented Nov 16, 2025

Copy link
Copy Markdown

I tried to upgrade FanControl around 21h. See this message

Between 21h and 22h16 I restarted multiple times and no data was logged.

At 22h16 I started FanControl with the previous version and it found the chip.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 8 out of 9 changed files in this pull request and generated 12 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread LibreHardwareMonitorLib/PawnIo/IsaBridgeEc.cs
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs Outdated
Comment thread LibreHardwareMonitorLib/PawnIo/IsaBridgeEc.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EcioPortGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EcioPortGigabyteController.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT879xEcioPort.cs Outdated
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs Outdated
Comment thread LibreHardwareMonitorLib/PawnIo/IsaBridgeEc.cs Outdated
@PhyxionNL

Copy link
Copy Markdown
Collaborator

Check copilot things as well, my feedback was repeated below.

@Rem0o Rem0o requested a review from PhyxionNL November 20, 2025 16:20
Comment thread LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EcioPortGigabyteController.cs Outdated
@Rem0o Rem0o requested a review from PhyxionNL November 20, 2025 17:54
@PhyxionNL PhyxionNL merged commit f6c2c70 into LibreHardwareMonitor:master Nov 20, 2025
1 check passed
@PhyxionNL

Copy link
Copy Markdown
Collaborator

Thanks, now AMD Family 10 left and we're largely back to WinRing0 version :)

@Rem0o

Rem0o commented Nov 20, 2025

Copy link
Copy Markdown
Collaborator Author

Thanks everyone!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.