Commit graph

868 commits

Author SHA1 Message Date
Anna Lyons
ce2c058f3d SELFOUR-607: inline remaining irq path functions 2016-08-09 16:18:34 +10:00
Adrian Danis
3b85582e7b SELFOUR-609: Introduce virq type in bitfield
Introduces a bitfield defined virq type that is then used to replace
manual bit packing of virtual irqs in the vcpu/vgic LR registers
2016-08-09 13:57:02 +10:00
Adrian Danis
adb0c08e23 arm/tk1: Explicitly define device region sizes
ARMSectionBits is variable depending on the current virtual addres space
scheme
2016-08-09 11:21:34 +10:00
Anna Lyons
0fd41318f1 trivial: fix tk1 release build 2016-08-09 09:52:26 +10:00
Anna Lyons
d727922b97 trivial: fix a few arm builds 2016-08-09 09:52:26 +10:00
Anna Lyons
652cafd729 trivial: fix beagle release build 2016-08-08 11:53:52 +10:00
Anna Lyons
4a486779ac SELFOUR-519: remove map_kernel_devices duplication
* move devices to static array in hardware.h
* use one higher level function to map them in.
2016-08-06 17:53:04 +10:00
Anna Lyons
ed61b3030c SELFOUR-607: remove stray irqInvalid def 2016-08-06 17:53:03 +10:00
Anna Lyons
9456b3e690 SELFOUR-519: remove more duplication in hardware.c
* move p_reg functions up a level
* move p_reg definitions to hardware.h
2016-08-06 17:53:03 +10:00
Anna Lyons
8d8cdba302 trivial: fix bbone build 2016-08-05 17:08:21 +10:00
Anna Lyons
859091b414 SELFOUR-519: remove duplicated constants
* rename physBaseMapping to BASE_OFFSET
* because physBaseMapping was only used explicity in a few places
* move duplicated arm definions up a level
    - PPTR_TOP
    - PADDR_TOP
    - BASE_OFFSET
2016-08-05 17:08:21 +10:00
Rafal Kolanski
e105053581 Update prototype of maskInterrupt to match implementations.
The prototype will ultimately be removed, but the mismatch is presently
breaking verification.
2016-08-05 16:42:04 +10:00
Anna Lyons
6859e3bbd9 SELFOUR-607: unify irqInvalid for arm gic_pl390.h 2016-08-05 10:45:32 +10:00
Anna Lyons
ef2fca4bc1 SELFOUR-607: gic_pl390: inline and cleanup.
Inline non-boot irq functions called on the irq path.
This improves performance of interrupt paths through code locality.

Additionally, remove unused functions and use the BIT macro
rather than redefining it.
2016-08-04 16:10:11 +10:00
Anna Lyons
95a0f9ef12 trivial: fix typo 2016-08-04 10:21:55 +10:00
Adrian Danis
28175f77f9 x86: Split some arch functions in mode headers into arch and mode portions 2016-08-01 11:43:59 +10:00
Hesham Almatary
36a419eafe Merge pull request #302 in SEL4/sel4 from ~HALMATARY/sel4:SELFOUR-526 to master
* commit 'c6247d36a36d211ecb26ff906c37fcfbda0e4f99':
  SELFOUR-526: Refactor benchmark/debug syscall kernel entry
2016-07-28 04:06:05 +00:00
Adrian Danis
500bdd038a arm: Remove unused arm_swi_undefined_syscall 2016-07-28 11:47:38 +10:00
Hesham Almatary
c6247d36a3 SELFOUR-526: Refactor benchmark/debug syscall kernel entry 2016-07-28 10:29:42 +10:00
Adrian Danis
a5690c444b SELFOUR-551: Prevent vcpu_boot_init appearing to verification
When hypervisor extensions are not enabled the boot code cannot
actually call vcpu_boot_init as the symbol names do not even
exist. This is fixed be defining macros that expand to nothing
2016-07-28 09:01:22 +10:00
Bamboo
b4caa7e9d1 [STYLE_FIX] 2016-07-27 17:03:11 +10:00
Adrian Danis
6d891b0a48 SELFOUR-551: Remove direct accesses to machine data structures
This commit wraps accesses to the vgic in functions that are marked as
DONT_TRANSLATE and uses a global constant (that is determined at boot time)
for the number of LR registers to prevent loops that have undefined bounds
2016-07-27 12:03:06 +10:00
Adrian Danis
8e0315f443 SELFOUR-551: Standardize VCPU capitalization
For acronyms seL4 other does CAPS or caps, this changes some functions
that were doing Caps
2016-07-27 11:23:36 +10:00
Adrian Danis
d1b2b421ba SELFOUR-551: Do setThreadState in perform functions
Move some instances of setThreadState from decode functions into
perform functions
2016-07-26 16:01:44 +10:00
Adrian Danis
e4a732d53c SELFOUR-551: Remove unused arguments from decodeVCPUSetTCB 2016-07-26 16:01:18 +10:00
Adrian Danis
a185335e62 SELFOUR-551: Swap argument order of [di|a]ssociateVcpuTcb
Attempts to create some consistently across other functions that have
VCPU first in the name and also VCPU first in the argument list
2016-07-26 15:57:16 +10:00
Adrian Danis
9d7f36c876 SELFOUR-575: Remove unnecessary deriveCap in decodeVCPUSetTCB 2016-07-26 15:49:23 +10:00
Adrian Danis
98f8172ba4 SELFOUR-574: Remove schedule from VGICMaintenance
All call paths of VGICMaintenance will call schedule and
activeThread themselves. The operation is therefore redundant
here and is confusing for verification
2016-07-26 15:42:19 +10:00
Adrian Danis
ea9ebc28cc SELFOUR-562: Update caps before calling perform
It is preferable for verification to update the information in a cap,
and pass the updated cap to the perform functions, than to pass all
the information and have the perform function update the cap
2016-07-26 15:38:59 +10:00
Adrian Danis
2399465494 SELFOUR-561: s/ARM_HYP/CONFIG_ARM_HYPERVISOR_SUPPORT/ 2016-07-26 15:31:34 +10:00
Adrian Danis
9d356b1ac7 Remove .arch directive from intermediate build file
Due to limitations in certain compilers in reported architecture
support the kernel needs to be compiled (to assembler) with one
architecture and assembled with another architecture.
Unfortunately when generating the kernel_final.s file the
architecture passed for compilation gets inserted as a '.arch'
directive. This directive overrides the architecture later
passed to the assembler.

This commit is an ugly work around that just strips out any
.arch directives from the assembler file
2016-07-26 10:39:23 +10:00
Hesham Almatary
c4de796da1 Merge pull request #292 in SEL4/sel4 from ~HALMATARY/sel4:fix/ARMHypTraps to master
* commit '3ffa58aa1fb75c65fac4d1351bc6e014bdda2b64':
  Verification: don't translate functions that are re-implemented from assembly to C
  ARM Hyp: Fix fastpath_restore on ARM Hyp and implement slowpath and restore in C
  SELFOUR-526: ARM - Implement slowpath and restore_user_context in C
2016-07-23 04:06:01 +00:00
Hesham Almatary
3ffa58aa1f Verification: don't translate functions that are re-implemented from assembly to C 2016-07-22 17:07:26 +10:00
Adrian Danis
abaf3dfcfb Merge pull request #245 in SEL4/sel4 from ~CRICHARDSON/sel4:configurable-python to master
* commit '9f9bbc5b89fac99c0d5e132ad5ca3dcfa494e4dc':
  SELFOUR-418: Allow overriding python executable used with PYTHON env var
2016-07-22 04:35:24 +00:00
Adrian Danis
9c7f178f9f Merge pull request #274 in SEL4/sel4 from ~MFERNANDEZ/sel4:8dafd43a-daa8-4d38-ad7e-3ac425d50087 to master
* commit 'd36447b35f88705f796e17f47bf9033918fd2ed0':
  Mark strncmp as a pure function.
  Fix: Make VISIBLE expand to nothing for Clang.
2016-07-21 05:03:02 +00:00
Stephen Sherratt
85e70f02e0 Merge pull request #294 in SEL4/sel4 from ~SSHERRATT/sel4:6cff0b6e-92d8-4997-a625-e85f9bf709d9 to master
* commit '91718da4a286f625b4101945abe8f897bd2f9869':
  Fixed clobbered register in Signal syscall stub
2016-07-20 05:24:17 +00:00
Hesham Almatary
778043a73c ARM Hyp: Fix fastpath_restore on ARM Hyp and implement slowpath and restore in C 2016-07-19 15:27:26 +10:00
Stephen Sherratt
91718da4a2 Fixed clobbered register in Signal syscall stub 2016-07-19 14:20:04 +10:00
Hesham Almatary
5bd5d9cfca SELFOUR-526: ARM - Implement slowpath and restore_user_context in C 2016-07-18 10:54:59 +10:00
Kofi Doku Atuah
56030fc3cc x86: Fix cpuid family/model composition
Fixes a bug where previously MODEL_ID() was defined as:
    `#define MODEL_ID(x) ( ((x & 0xf0000) >> 16) + (x & 0xf0) )`

This was incorrect because (1) it didn't take into account the conditional
nature of the extended_model_ID, and (2) it's actually shifting the
extended_model_ID into the low bits and keeping the model_ID in the high bits,
when it should be the other way around.

This patch also introduces a foundation for more sane testing of CPU vendor,
family, model and brand_ID.
2016-07-15 17:12:25 +10:00
Hesham Almatary
d97603bd84 SELFOUR-566: Decouble seL4_DebugNameThread from CONFIG_PRINTING 2016-07-15 12:30:17 +10:00
Partha Susarla
4f5ad9d8f3 Merge branch 'master' of ssh://bitbucket.keg.ertos.in.nicta.com.au:7999/sel4/seL4 2016-07-13 17:54:46 +10:00
Partha Susarla
8e02adc344 update VERSION file to 3.2.0-dev 2016-07-13 17:31:47 +10:00
Partha Susarla
e70cd7613b update VERSION file to 3.2.0 2016-07-13 17:31:47 +10:00
Anna Lyons
bb4bda4b7f Merge pull request #286 in SEL4/sel4 from ~ALYONS/sel4:29e0070 to master
* commit '69f140a2268532523b4f52f26d2692963e61b468':
  trivial: remove duplicated setMRs_syscall_error
2016-07-13 01:33:13 +00:00
Hesham Almatary
62b8cf1eea Merge pull request #287 in SEL4/sel4 from ~HALMATARY/sel4:astyle2.04 to master
* commit '2f163e27b7f7a95a63f0f1c9d1d64c069036243b':
  astyle: Make comments compatible with both 2.03 and 2.04 astyle versions
2016-07-12 05:32:20 +00:00
Hesham Almatary
2f163e27b7 astyle: Make comments compatible with both 2.03 and 2.04 astyle versions 2016-07-12 14:54:28 +10:00
Anna Lyons
69f140a226 trivial: remove duplicated setMRs_syscall_error 2016-07-12 14:44:14 +10:00
Hesham Almatary
11916d7601 Merge pull request #278 in SEL4/sel4 from ~HALMATARY/sel4:UnifiedCEntry to master
* commit 'cee1268e9bf9619b60bd85cfda0a5d5306e8cf8a':
  [VER-619] Pass verification related to newly added built-in unreachable
  SELFOUR-545: x86 - cleanup c_traps.c file and use new traps.h
  SELFOUR-526: ARM - dummy unreachable statements after fastpath calls
  SELFOUR-526: ARM - Unify C entry point for system calls
2016-07-12 04:37:44 +00:00
Alejandro Gomez-Londono
cee1268e9b [VER-619] Pass verification related to newly added built-in unreachable 2016-07-12 14:32:47 +10:00