This project is mirrored from https://github.com/seL4/seL4.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Nov 28, 2017
-
-
Bamboo authored
-
Anna Lyons authored
- 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
-
Anna Lyons authored
-
Anna Lyons authored
This prepares to inline the resetTimer definition from generic_timer.h without creating a mess of circular includes
-
Anna Lyons authored
This prepares for inlinining the generic timer in header files, which will reduce the redundancy for all platforms that use it. Since mct.c shared code with the generic timer, both could not define a resetTimer function. This commit splits the logic and definitions used by exynos4 and exynos4* into common definitions in mct.h, with the unique code for both in hardware.c
-
Anna Lyons authored
The RT kernel needs this value accessible to common functions.
-
Anna Lyons authored
-
Anna Lyons authored
- 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
-
Anna Lyons authored
- 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
-
Anna Lyons authored
Only platforms that use it should include the code
-
Anna Lyons authored
initTimer does not exist on x86
-
Anna Lyons authored
-
Anna Lyons authored
-
Adrian Danis authored
Instead of switching to the thread contained in `ksSchedulerAction` on a `schedule` we instead decide between the 'candidate' contained in `ksSchedulerAction`, the current thread or potentially neither if the candidate is deemed invalid and the current thread is blocked. A consequence of this change is that it is no longer meaningful to have a distinction between `switchIfRequiredTo` and `attemptSwitchTo`. Now both these cases simply identify a candidate, which may or may not be picked in `schedule`. Part of the distinction of `switchIfRequiredTo` was to not avoid switching if possible when performing notifications. This is now handled by prefering the current thread over the candidate if the current thread has not blocked. This change is largely semantic preserving overall, with the exception of non-blocking synchronous sends now acting like notifications and also preferring to resume running the current thread. The motivation for this change was to make it much easier for verification to show correspondence between the fastpath changes introduced in the previous commit and the slowpath scheduler.
-
Adrian Danis authored
Changes the fastpath to check if the destination thread is the highest priority thread in the scheduler, even if it is lower priority than the calling thread.
-
Adrian Danis authored
-
Adrian Danis authored
Provides better cache performance for high priority threads
-
Adrian Danis authored
Moves the logic from chooseThread into a dedicated helper function
-
Adrian Danis authored
This corrects the calculation of the L2 bitmap size to correctly handle cases where the requested num priorities is not a clean multiple of the wordBits
-
Anna Lyons authored
Implement configs which export the physical and or virtual generic timer count register to use level. This brings it inline with armv8 (aarch32) and armv7.
-
Anna Lyons authored
- add timestamp(), timestamp_t for aarch64 - implement CONFIG_EXPORT_PMU_USER
-
Anna Lyons authored
Use SYSTEM_READ_WORD, each platform defines the CCNT constant.
-
Anna Lyons authored
it was causing circular references in files where it is defined and hardware macros are also used.
-
- Nov 23, 2017
-
-
Hesham Almatary authored
-
Anna Lyons authored
DANGEROUS_CODE_INJECTION does not work on the Hikey due to the current state of the vspace implementation.
-
- Nov 22, 2017
-
-
Adrian Danis authored
The GetStatusBits invocation is only implemented on ia32. Adding the condition to the XML list prevents the invocation from being in the list of invocations on x86_64, when it has no implementation.
-
- Nov 20, 2017
-
-
Anna Lyons authored
Previously both aarch32 and aarch64 duplicated common generic timer code. Unify them in include/arch/arm/machine/timer.h
-
Anna Lyons authored
-
Anna Lyons authored
This check checks the TIMER_RELOAD fits in the wordsize. Use UINTPTR_MAX instead of 0xffffffff so the check can be moved to mode agnostic code.
-
Anna Lyons authored
This brings the aarch64 generic timer into exactly the same code as the aarch32 generic timer.
-
Anna Lyons authored
-
Anna Lyons authored
This commit generalises 32 and 64 bit configuration for arm: 32bit uses coprocessor access through mrc/mcr, 64bit system configuration through msr,mrs - SYSTEM_READ|WRITE_WORD: read or write configuration word - SYSTEM_READ|WRITE_64 : read or write 64bits of configuration
-
- Nov 17, 2017
-
-
Anna Lyons authored
- UINTPTR_MAX - UINT64_MAX - UINT32_MAX - INT64_MAX - INT32_MAX
-
- Nov 15, 2017
-
-
Adrian Danis authored
-
Adrian Danis authored
TOPLEVELTYPES is not intended to be configurable by the user, rather is a reflection on the types defined by the source. This changes the TOPLEVELTYPES argument to be a property, allowing it to be constructed as a generator expression when generating BF files. By being a property, and not something like a global property, it removes the need to ensure that additions to TOPLEVELTYPES are done prior to any bitfield target definitions.
-
Adrian Danis authored
Defines an empty custom target whose purpose is to hold properties and configuration data that can be retrieved using generator expressions in the build phase.
-
Adrian Danis authored
Uses the COMMAND_EXPAND_LISTS flag to allow for generator expressions in parameters to GenBFCommand. As lists are now being expanded the 'args' variable must also be quoted.
-
Claudia Tu authored
-
- Nov 10, 2017
-
-
Adrian Danis authored
`Arch_checkIRQ` already prints an error message in the case of x86. Printing the additional error message is both unnecessary, confusing as the message makes no sense on x86. As the error does make sense on ARM this commit moves the message to the arm `Arch_checkIRQ`
-
- Nov 09, 2017
-
-
Adrian Danis authored
These functions are referenced from code that is not guarded by an #ifdef CONFIG_IRQ_PIC, which was only working due to the optimizer being able to elide the calls prior to linking.
-