Page 1 of 1

HPET Comparator seems to not work

Posted: Wed Sep 05, 2018 7:18 am
by ShukantPal
Working on my HPET kernel driver, I found that the comparator wasn't responding to the value I put in it. To would generate an interrupt after about 10000 to 20000 ticks every time. Everything else works - disabling & enabling interrupts, monotonic counter, interrupt routing through IOAPIC (LegacyIRQ Replacement used) too.

Check out this : https://github.com/SukantPal/Silcos-Kernel

Files required:

ExecutionManager > Timer > HPET.cpp
HAL > ACPI > HPET.cpp

What could be the cause of the comparator not responding to my values? (Please check how I grouped the registered in structs and union in the header Interface/Executable/Timer/HPET.hpp)