History log of /seL4-camkes-master/projects/camkes-tool/libsel4camkes/src/io.c
Revision Date Author Comments
# 134051b9 04-May-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

trivial: Add const modifier to type definition


# cec7e97a 28-Apr-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libsel4camkes: camkes_call_hardware_init_modules

Provide this public function for starting hardware modules that have
been registered.


# 0a689a92 16-Mar-2020 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Fix an assignment error

This commit fixes an assignment typo. malloc_ops doesn't exist inside
the ps_io_mapper_t structure.


# 90a9fb2c 04-Mar-2020 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Add seL4InitHardware init processes

This commit adds the code needed to properly initialise the device nodes
provided by the seL4InitHardware connector. The processes are bundled
with camkes_io_ops() and are intended to be used with the interface
registration services in libplatsupport (util_libs) and libsel4camkes
(this repo).


# 449a5b2e 09-Mar-2020 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Use malloc_ops in linked list

The original implementation of the simple linked list in libsel4camkes
uses the C standard library malloc and free functions directly. For the
sake of compatibilty in the future, this commit updates the
implementation to use the platsupport malloc operations.


# c33979d0 03-Mar-2020 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Add interface registration service

This commit adds an implementation for the interface registration
interface in libplatsupport in util_libs. Also, add a call in
camkes_io_ops to initialise the interface registration interface
alongside the other interfaces in the ps_io_ops_t structure.


# 0b5c20db 05-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

trivial: Fix misspelled header file


# 7b413d92 03-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Add camkes_irq_ops to camkes_io_ops

Following the change in libplatsupport in which the IRQ ops structure
was added to the IO ops structure, we do the same for libsel4camkes.
This commit adds a call to 'camkes_irq_ops' inside 'camkes_io_ops' to
initialise the IRQ ops structure.


# fbd3eae3 26-Jun-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Move ELF section externs to sources

Instead of leaving the ELF section extern declarations in header files
where it could be redefined each time it's included, we move the
declarations to the .c files.


# 1f8b853d 03-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: fix warning


# 874a4dab 19-Jun-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Change asserts to return -1

Since these are public functions of an interface, it would make sense to
return an error code with a messsage rather than just halt on error.


# ec6620a8 16-Jun-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Add implementations of DTB ps ops

This commit adds the implementation of the interfaces of the DTB
platsupport operations.


# 3d9f760f 25-Apr-2019 Damon Lee <Damon.Lee@data61.csiro.au>

trivial: style changed files in libsel4camkes

The style checker was only run over the files that were changed in the
refactoring of CAmkES connector template functionality into
libsel4camkes.


# 13afaa61 15-Apr-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Update io.c to call arch IO code

This commit removes the IO port function links to the common CAmkES
component template. In doing so, this commit also changes the
libsel4camkes IO port functions to call the new architectural IO port
code.


# 710bf27b 09-Apr-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4camkes: Move io map func into libsel4camkes

Instead of relying on the dataport paddr translation functions in the
dataport related connector templates, we use the exposed dataport frame
structures instead. Thus, this allows us to move this functionality away
from the CAmkES templates and into a shared library.


# 4955d8c3 05-Dec-2017 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

sel4camkes: Add support for ps_malloc_ops to camkes_new_io_ops

Just invokes the function already provided in libplatsupport for constructing
a ps_malloc_ops object.


# 8b2ec3e6 20-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses


# 59d8a52d 15-Jun-2016 Matthew Fernandez <matthew.fernandez@nicta.com.au>

libsel4camkes: Replace use of libutils' linked-list with an inline version.

The linked-list interface in libutils that we were using prior to this commit is
deprecated and only in use by CAmkES. This commit removes CAmkES' use of it to
pave the way for removing the libutils version. Note that, as prior to this
commit, this linked-list is only used when assertions are enabled.


# fe46e20e 17-Dec-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

libsel4camkes: Avoid relying on int being word-sized.

This commit fixes an issue where code was implicitly assuming that ints and
pointers were the same width. This is not true on, e.g., x86_64 where the cast
of a pointer subtraction to an int can have an unintended result.


# 35e6788c 16-Dec-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

libsel4camkes: Remove dependency on libgdsl.

This commit backs out 271477b461f4cf1bcdf57a79aeb2b28ebb3f7ee3 from
https://github.inside.nicta.com.au/mfernandez/project, reverting to using an
in-house linked-list implementation.


# bacfebce 27-Oct-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Refactored parser init commit.


# 2d348014 04-Feb-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

libsel4camkes: Separate IO functionality from DMA.

Prior to this commit, the DMA allocator functions incorrectly presumed that the
user would want to use ps_io functions to lookup DMA pages by their physical
address. These functions are actually intended to be used to lookup the virtual
addresses of memory-mapped IO devices. This commit separates this functionality
into a separate file and extends IO access functionality to cover IO ports as
well. This is primarily for interaction with libplatsupport. If you are not
using libplatsupport infrastructure, it will probably be simply to directly
invoke CAmkES interface functions.