History log of /seL4-camkes-master/projects/seL4_libs/libsel4platsupport/src/io.c
Revision Date Author Comments
# 2d74ed20 02-Dec-2019 Damon Lee <Damon.Lee@data61.csiro.au>

sel4platsupport: Remove dev-specific init calls

Not every platform requires or even has MUX or CLK drivers. Thus,
instead of initialising them for the user, we require the user to
explicitly initialise them after initialising the io_ops interface.


# 4a474d32 24-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4platsupport: Init FDT ops in 'new_io_ops'

Now that there is an implementation of the FDT ops, we add a call to the
blanket I/O ops initialisation function to also initialise the FDT ops
alongside all the other interfaces.


# 5ac18744 24-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4platsupport: Update 'new_io_ops'

This commit updates the 'new_io_ops' function in regards to the addition
of the IRQ interfaces in the I/O ops interface. An additional call has
been added to initialise the IRQ interface with the I/O mapper and
malloc interface. Also add in clean-up functionality when some of the
interfaces fail to initialise.


# 89360acc 25-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4platsupport: Fix 'new_fdt_ops'

Previously, we assumed that not being able to copy the FDT was a failure
condition. However, on some platforms, this is actually a valid
condition, e.g. x86 or platforms for which the kernel does not have a
DTS for. This commit fixes that assumption so that calling 'fdt_get'
with the interface returns a NULL pointer.


# 0cf1c707 25-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4platsupport: Add in safety checks

This commit adds in safety checks to check if we reach any invalid
state.


# 28c5fdd6 22-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4platsupport: Refactor IO-related interfaces

This refactoring is intended to bring these interface initialisation
functions more in line with the style of similar functions. Instead of
accepting an rvalue (or an expression) of the interfaces, we accept a
pointer to the interfaces themselves. Also add a warning regarding
lifetimes and concurrency.


# 8869a2c6 17-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libsel4platsupport: Add IO FDT ops implementation

This commit adds an implementation of the IO FDT ops interface in
libplatsupport.


# 3e7189ff 17-Jul-2019 Damon Lee <Damon.Lee@data61.csiro.au>

trivial: whitespace formatting


# e9a9ff4f 18-Jul-2019 Yu Hou <Yu.Hou@data61.csiro.au>

Trivial: Style fix

make the style checker happy


# e23dc54b 19-May-2019 Yu Hou <Yu.Hou@data61.csiro.au>

seL4_libs: remove autoconf.h from seL4_libs

this commit removes autoconf.h generation from each lib and
append '#include <<lib_name>/gen_config.h>' after each
'#include <autoconf.h>' since autoconf.h is only the for the
kernel config now. This is a temporarily solution, since we
currently don't have a way to tell which header files each file
is trying to include when it includes 'autoconf.h'


# ebee53eb 12-Mar-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

minor: use calloc instead of malloc

This data structure needs to be 0'd.


# d1ed16ab 14-Nov-2017 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

sel4platsupport: TK1: Support Mux and GPIO dependency changes on TK1


# c28e0d45 03-Oct-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4platsupport: add sel4platsupport_new_arch_ops

This allows for arch agnostic init of io_ops for arch specific
instructions.

It is a breaking change since sel4platsupport_new_io_ops
no longer initialises arm specific mux and clock interfaces. This is
mitigated slightly by zeroing the io_ops structure in
sel4platsupport_new_io_ops, which should cause faults in apps relying on
this behaviour.


# ef21299d 28-Sep-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4platsupport: migrate malloc ops to platsupport

not sel4 specific


# 887abc3b 16-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4platsupport: fix build


# 40c16d9b 16-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4platsupport: implement ps_malloc_ops


# 0016dfc6 13-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix all the whitespace

- remove trailing whitespace
- remove duplicate blank lines
- remove blank lines at end of files


# 9214341c 04-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses


# 32095095 25-May-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Use CONFIG_ variables instead of configuration definitions


# 76fcd2c0 04-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

libsel4platsupport: use HPET as default timer x86

This commit

* removes the legacy PIT as the default timer for x86,
replacing it with the HPET
* removes simple from the io mapper: this is a consequency of the
new device untyped feature in the kernel - device memory is now
allocated from the allocator, not simple, assuming that the
allocator has been given the relevant device memory (most sel4
apps immediately give all untypeds to the allocator)
* changes timer_common to allocate timer frames from the vka, not
simple (same reason as above)
* provides another method to initialise the HPET with a provided
physical address, such that a non-root task can be passed the
physical address and the corresponding untyped without needing to
parse acpi tables in order to find the HPET.


# 6899ede7 03-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: style


# f2887a59 30-Sep-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4platsupport: fix io_mapper for device untyped

Prior to device untyped, simple indexed all of the
device untyped from bootinfo and handed them out. Now,
device untyped are all added to the allocator and
treated similarly to normal untyped.

This change uses io_mappers vka to allocate and map
frames for physical addresses. This is more powerful, as
simple could only return untyped objects that started at the
paddr requested. Now, the vka implementation can break down the
untyped to get the frame for the exact paddr required.


# 9270216e 09-Jun-2016 Matthew Fernandez <matthew.fernandez@nicta.com.au>

libsel4platsupport: Remove some unnecessary #includes, and add some missing ones.


# 67c869cf 29-Mar-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

all: s/LOG_*/ZF_LOG*


# 5f4e7d12 02-Mar-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

libsel4platsupport: Remove 32-bit size assumptions


# 3a9da541 28-Feb-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

Rationalise dependencies.

This commit removes the dependency of libsel4platsupport on
libsel4utils, as libsel4utils is our top level library and should be
able to use the device drivers that libsel4platsupport provides.

The functionality that libsel4platsupport depended on from libsel4utils
has been moved to libsel4simple, as libsel4simple is basically an
extension of libsel4.


# 042bd89d 16-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

libsel4utils: Import page.h definitions from libutils

The page sizes supported by a system are a combination of both the
raw architecture, as well as how seL4 is configured. This makes these
definitions system specific, hence the need to move them

As a consequence of having these defined in libsel4utils it is no
longer possible for libsel4vspace to use them, as libsel4utils
already depends upon libsel4vspace, and we do not support dual
dependencies in the build system. To compensate these checks are
added to the vspace implementation in libsel4utils