History log of /seL4-camkes-master/projects/util_libs/libplatsupport/src/plat/hifive/ltimer.c
Revision Date Author Comments
# 21d4e03e 02-Jul-2020 Michael Yoo <Michael.Yoo@data61.csiro.au>

Revert "libplatsupport: hifive ltimer refactor"

This reverts commit c0c8ddcfac95a09b50e82cfa88367145d7aeaa5e.


# c0c8ddcf 18-May-2020 Michael Yoo <michael.yoo@data61.csiro.au>

libplatsupport: hifive ltimer refactor

- Introduce two new helper functions
`helper_fdt_alloc_simple`, `create_ltimer_simple`
These are only used when there's 1 reg and 1 irq
to register.
- Refactor hifive timers to use these helper functions.
- Nit: init time_h explicitly instead of being calloc'd


# ef47d09d 08-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Refactor the internal handle_irq

Now that the handle_irq functions are no longer externally visible, this
commits refactors the handle_irq functions so that they can be accessed
internally. Also add logic to invoke the user supplied callbacks after
handling the timer IRQ.


# 80c6eb35 08-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Remove handle_irq from ltimers

The 'handle_irq' function is no longer necessary and shouldn't be called
externally as the IRQs will be managed by the IRQ handling functions of
the IRQ interface.


# 6e800582 08-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Allow user callbacks for ltimer

With the IRQ changes to the ltimer, IRQs are now managed internally.
This poses a problem with the management of the time manager and other
services which rely on having known that an interrupt arrived for the
timers. This also isn't a good idea as it presents a leaky abstraction
in that the services infers events based on interrupts received.

This commit adds the ability to allow users to supply a callback
that'll be called when certain events occur for the timer, e.g. timeouts
and etc.


# 0431e3a2 01-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Add IRQ register logic to ltimers

This commit adds IRQ registration logic to the ltimer driver level.
Instead of treating interrupt allocation being a OS/environment specific
thing, this commit now uses the OS/environment agnostic IRQ interface to
register these interrupts. Also fix bugs/clean-up the logic of the init
and destroy functions.


# aafc51ff 08-Jul-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libplatsupport: Add hifive serial and pwm drivers

This implements the required drivers to pass sel4test