History log of /seL4-l4v-10.1.1/seL4/src/plat/imx31/machine/hardware.c
Revision Date Author Comments
# cddc4e6e 15-Nov-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Inline resetTimer for all platforms

- for arm generic timer platforms, we remove resetTimer ->
resetGenericTimer indirection and simply include generic_timer.h
- this reduces boiler plate for platforms that share timer drivers, as
they simply include the one header
- there is far more timer code in the RT kernel, which motivates this
change


# c89b9828 15-Nov-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Make TIMER_CLOCK_HZ available in timer.h for ARM

The RT kernel needs this value accessible to common functions.


# 91a82da3 15-Nov-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Refactor arm timer ticks calculations

- remove a lot of redundancy
- define TIMER_CLOCK_HZ for each platform (rather than inconsistenly
named variables with inconsist units)
- use the common calculation of TIMER_RELOAD


# 6448524d 15-Nov-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Refactor memory mapped arm timers

- make them consistent: struct, type and global vars
- typedef the struct definition as volatile
- separate struct, typedef and variable definition
- always cast the pointer as the timer type


# 57fa0e0f 07-Aug-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

Share linker.h between architectures


# cbe37757 17-Apr-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

kzm: fix timer reload overflow calculations


# b8f9dcac 27-Feb-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

ARM/IRQ: add a function to initialise local IRQ controller for CPUs

Similar to initIRQController(), cpu_initLocalIRQController() has to
be implemented for each platform. For those that are gonna support
SMP, it should be implemented proprely (if required), otherwise
it can be stubbed for single core implementations.


# f658276a 03-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Remove many DONT_TRANSLATE markers.

The vast majority of the DONT_TRANSLATE markers in the kernel are used
to hide __asm__ statements and builtin functions
(e.g. __builtin_unreachable ()) from the C-to-Isabelle parser.

The parser now supports underscore identifiers and many __asm__ statements,
and the builtin functions are prototyped, meaning the vast majority of the
DONT_TRANSLATE markers can be dropped. The remaining markers cover functions
that must be treated specially.


# 1f11cf70 27-Oct-2016 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# 40383a98 27-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix arm builds broken in 44ed6adb6


# 5a0bdb74 13-Sep-2016 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

Store active irq in global variable on kzm

The first time the irq number is read from the controller, the interrupt
is acknowledged. Subsequent reads of the irq number result in an invalid
irq number being read.

This modifies the kzm interrupt controller driver to save the current irq
number when it's first read from the interrupt controller, preventing the
need for future reads from the controller until the next interrupt arrives.


# ce2c058f 06-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-607: inline remaining irq path functions


# 4a486779 06-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-519: remove map_kernel_devices duplication

* move devices to static array in hardware.h
* use one higher level function to map them in.


# 9456b3e6 05-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-519: remove more duplication in hardware.c

* move p_reg functions up a level
* move p_reg definitions to hardware.h


# 935e8054 23-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-448 Benchmark: Add PMU IRQ support to ARM platforms

Currently supported boards are:
- imx6 (sabre)
- tk1 (Jeston)
- kzm


# c5b6a6a5 06-Jun-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

Refactor duplicated code in hardware.h

One copy to rule them all.


# 9a7b1aec 06-Jun-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

Trivial: move printfs in handleReservedIRQ up.

This wraps the printfs in CONFIG_IRQ_REPORTING
and reduces redundancy.


# 0ec5e937 06-Jun-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-402: remove isReservedIRQ

While provided by each hardware platform this function is never called.


# 541289a3 11-May-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Further separate 'release' and 'verification' builds

Originally building the kernel was largely considered to be done in
one of two ways
1. Release build with no assertions, no debug symbols and no printing.
This was generally considered to be a 'verified' build
2. Debug build with assertions, debug symbols and printing

Since then various options were added, such as the 'code injection'
option, which we wanted on builds that did not have assertions or
other options that affected performance. As such it did not depend
upon a debug build and had large warning signs saying that enabling
this in a release build would not give you a verified or trusted
kernel.

Most recently the ability to print from the kernel in release mode
was added. For the same reason that tying the ability to print with
the performance reduction of various debugging was not always desireable.

This change attempts to unify the current state and have a single top
level option to enable a 'verification friendly' build. All other
options (assertions, printing, code injection) then depend upon
this configuration not being set.


# 171824f7 07-Dec-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Change additional int->word_t due to interraction with the C parser to ease verification


# ec788900 24-Jul-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

xIntroduce RELEASE_PRINTF, which allows a renamed printf (release_printf) to be used in a release build of the kernel - userful for debugging tests that only fail on a release build of the kernel


# 86751e48 25-Feb-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

ARM: Set the XN bit on kernel mappings that do not need to be executable.

This covers the kernel stack, globals frame and device memory. We shouldn't be
executing in any of these pages, so functionality should be unaffected. This is
primarily a debugging aid.


# f896ffa0 27-Nov-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

XN: fix order of vm_attributes in init code and update apq8064


# 644dff49 19-Nov-2014 Matthew Fernandez <matthew.fernandez@nicta.com.au>

further support for XN bit on ARM


# 91b7da86 17-Jul-2014 TrusthworthySystems <gatekeeper@sel4.systems>

Release snapshot