Hi,
We would like to have a way to have a clock tree inside QEMU:
* models can have clock outputs and/or clock inputs.
* changing the clock rate of propagates in the clock tree through
callbacks which will be implemented in the model (eg: like qemu_irq)
* would be nice to be able to visualize the rate of a clock in the
monitor.
There is already an implementation in QEMU (in omap*) but:
* it's not generic/usable in the whole QEMU tree.
* it's not using QOM.
So the proposition are either to construct one new framework or to
extract and reuse the old one:
* new types must be created eg: qemu_clk_in, qemu_clk_out.
* I think it shouldn't use qemu_irq (because this is confusing) but
maybe use a simple qom link to bound them.
* The model which have the clock input will need to implement the
clock update/enable/disable callback.
So for example PLL or some clock gate units will just have one input and
some outputs.
Then the outputs can be controlled by the output callbacks (for example
the input rate change or the clock is gated).
Does that makes sense?
Do you have any opinion about that?
Thanks,
Fred