Re: Running Mezzano in bhyve
- Reply: Vasily Postnicov : "Re: Running Mezzano in bhyve"
- In reply to: Vasily Postnicov : "Running Mezzano in bhyve"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Oct 2024 11:20:17 UTC
> Hi! Mezzano is an operating system written in Common lisp. I would like > to test it in bhyve. When I launch it, it spins infinitely in a loop > measuring how many CPU cycles it makes in a unit of time (I understood > it by adding various debug messages). > > The timer it uses is something called a PIT: > https://wiki.osdev.org/Programmable_Interval_Timer > <https://wiki.osdev.org/Programmable_Interval_Timer> > > The problem is, once the timer is configured it fires an interrupt only > once, while it obviously must fire interrupts constantly at some > frequency (100 Hz, as I understand from the code). > > Is the PIT supported by bhyve? Does FreeBSD use it anywhere in its kernel? Yes, though mode 3 of the timer isn't supported by the device emulation. It appears that Mezzano uses that mode https://github.com/froggey/Mezzano/blob/master/supervisor/x86-64/time.lisp#L20 Try this patch to the PIT code to see if it helps https://people.freebsd.org/~grehan/bhyve_vatpit.diff later, Peter.