HPET: 64-bit main counter #224
Comments
|
Could anyone please weigh in on it? Would you be interested in a pull request to enhance hpet clock functionality in hyperkit to support 64-bit counters? |
|
I general PRs are always welcome, yes. Why do you need a 64 -bit HPET though, are you seeing an issue? |
|
While trying to make OSv unikernel to boot on hyperkit I discovered that the assert https://github.com/cloudius-systems/osv/blob/master/drivers/hpet.cc#L55 to verify the counter is 64-bit breaks. I actually disabled the assert which made OSv boot and run but eventually fail in another place after roughly 8 minutes. I am not really familiar with HPET but I am guessing disabling the assert is not the right way to fix it on OSv side. |
|
If FreeBSD bhyve supports 64bit HPET it should be relatively easier to backport. I would check that
… On 5 Mar 2019, at 03:32, WALDEMAR KOZACZUK ***@***.***> wrote:
While trying to make OSv unikernel to boot on hyperkit I discovered that the assert https://github.com/cloudius-systems/osv/blob/master/drivers/hpet.cc#L55 to verify the counter is 64-bit breaks. I actually disabled the assert which made OSv boot and run but eventually fail in another place after roughly 8 minutes. I am not really familiar with HPET but I am guessing disabling the assert is not the right way to fix it on OSv side.
So I was wondering if it might be easier to support 64-bit counter on hyperkit side same way as QEMU supports. Looking at Linux implementation - https://github.com/torvalds/linux/blob/master/arch/x86/kernel/hpet.c - it seems that properly supporting HPET in both 32 and 64 bit mode might be pretty tricky judging the lines of code (1300) and some comments in there https://github.com/torvalds/linux/blob/master/arch/x86/kernel/hpet.c#L362-L384.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
What would it take to implement 64-bit main counter -
hyperkit/src/lib/vmm/io/vhpet.c
Line 96 in 8975f80
The text was updated successfully, but these errors were encountered: