Commit graph

3983 commits

Author SHA1 Message Date
Axel Heider
70a8f8c29b boot: make loop variables unsigned
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
5aeee0784e boot: declare loop variables in loop header
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
4138e7e595 macros: avoid compiler warning for helper type
Avoid a warning if GCC parameter '-Wno-unused-local-typedefs' is used.

Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
8ecf358ba2 macros: improve SEL4_COMPILE_ASSERT
- Add underscored in name to improve readability.
- Add brackets to ensure parameters are atoms
- add comment clarifying c99 usage

Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
a16324a588 trivial: move macro definition
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
138e809e72 use const qualifier
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
5ef7dd32db mention macro parameter explicitly
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
abc2f1b0a6 align includes for platform_gen.h.in templates
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Axel Heider
fdb1f74509 trivial: improve code readability
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-07-01 10:48:47 +10:00
Gerwin Klein
15d2db1be5 add discourse and link to contacts
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-07-01 10:26:01 +10:00
Gerwin Klein
dce90836e7 make markdown lint happy
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-07-01 10:26:01 +10:00
Gerwin Klein
4da101ae24 add CI status badges
Currently only for GitHub actions (but these will be replacing Bamboo
tests in the coming weeks).

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-07-01 10:26:01 +10:00
Gerwin Klein
45469d3a92 add CII best practices badge
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-07-01 10:26:01 +10:00
Axel Heider
89e7d01ade trivial: use proper naming
Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
2021-06-30 09:51:30 +02:00
Curtis Millar
3bb899bc5f SchedControl_ConfigureFlags requires 3 + 2 args
The flags argument means that the call requires 2 time args (period,
budget) and 3 words (extra refills, badge, flags).

Signed-off-by: Curtis Millar <curtis@curtism.me>
2021-06-30 17:41:10 +10:00
Matthew Brecknell
8afebb55a0
meta: add vulnerability disclosure policy (#424)
This adds a simple vulnerability disclosure policy, loosely based on:
- Disclose.io materials.
- The OWASP Vulnerability Disclosure Cheat Sheet.

Signed-off-by: Matthew Brecknell <matthew@brecknell.net>
2021-06-30 15:28:52 +10:00
Gerwin Klein
c6238208bb github: run C parser on push/PR
This action runs the verification C parser on the main kernel
configurations to check that the code is in the C verification subset.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-06-30 14:04:00 +10:00
Axel Heider
9f90e39550 trivial: fix typo
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-06-25 10:00:20 +02:00
Curtis Millar
613352e832 Always use kpptr_to_paddr for kernel addresses
With this change, even architectures which do not use a distinct region
to map the kernel ELF will use the `kpptr_to_addr` to translate any
address from the kernel region.

This ensures that these accesses are correctly checked for bounds when
used and will make it easier to move the ELF mapping into a distinct
region of virtual address space.

Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
2021-06-25 16:30:48 +10:00
Curtis Millar
3b6a63bb47 Consolidate and update virt <-> phys translation
Move all of the virtual to physical translation functions into a single
common file and use the updated constants.

Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
2021-06-25 16:30:48 +10:00
Gerwin Klein
d1643774cd github: CI action to lint libsel4 IDL files
This will lint everything called `sel4*.xml` under `libsel4/`.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-06-22 11:26:17 +10:00
Kent McLeod
08d7cb9049 qemu-arm-virt: Use STATUS messages in cmake
Only emit non-STATUS level messages if there is an error or significant
warning condition during build configuration.

Signed-off-by: Kent McLeod <kent@kry10.com>
2021-06-22 10:30:42 +10:00
blackqbit
7a9cf4de10 Update util.h
delete #define FASTCALL     __attribute__((fastcall)) duplication
2021-06-20 12:02:04 +10:00
Axel Heider
d1fb5c01a7 use '#pragma once' include guards
Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
2021-06-20 11:53:58 +10:00
Indan Zupancic
106c63e687 Fix gic_dist_map->res9 size
Binary compatible with old code because of padding before iroutern.

Signed-off-by: Indan Zupancic <Indan.Zupancic@mep-info.com>
2021-06-19 11:46:46 +10:00
Axel Heider
7ac7e74400 CMake: clarify log message
Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
2021-06-19 11:39:34 +10:00
Axel Heider
c121896068 CMake: don't enforce std channels
According to the CMake documentation, this is intended for file
redirection. Since we don't redirect to files, but basically enforce
std channels, this conflicts with any existing redirection set up when
CMake is invoked. As a result the messages are lost.

Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
2021-06-19 11:39:34 +10:00
Axel Heider
4f9aeadb8b trivial: fix typos
Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
2021-06-18 09:33:52 +02:00
Gerwin Klein
95fda2bcc1 github: add a GitHub action to build the manual
This will build a PDF of the reference manual in draft mode
and upload that PDF as a build artifact.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-06-18 08:35:55 +10:00
Gernot Heiser
b1ee44f4b7 Update terminology: s/ARM/Arm/g
Signed-off-by: Gernot Heiser <gernot@unsw.edu.au>
2021-06-17 20:19:51 +10:00
Gerwin Klein
d07f028778 manual: replace old README
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-06-17 20:19:51 +10:00
Gerwin Klein
b545cec00f manual: use more modern draft package
The old draftcopy package doesn't seem to work on newer texlive
installations. We also don't want to pass `draft` to the `report`
style, because that will switch off images.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-06-17 20:19:51 +10:00
Gerwin Klein
34f0666806 manual: apply foundation branding
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-06-17 20:19:51 +10:00
Axel Heider
32728ecd1f trivial: fix typo
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-06-16 13:24:26 +02:00
Axel Heider
b5aac26d10 manual: update contributor list
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-06-16 17:47:31 +10:00
Axel Heider
2a06234dec manual: apply seL4 Foundation branding
Also update trademarks and copyrights statements.

Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-06-16 17:47:31 +10:00
Bamboo
eed10507ce Update VERSION file to 12.1.0-dev
Signed-off-by: Damon Lee <Damon.Lee@data61.csiro.au>
2021-06-10 16:59:48 +10:00
Bamboo
21c1a2ca7a Release 12.1.0
Update VERSION
Update CHANGES

Signed-off-by: Damon Lee <Damon.Lee@data61.csiro.au>
2021-06-10 16:59:48 +10:00
Kent McLeod
7b0602c5f7 cmake: Apply KernelAArch64SErrorIgnore setting
KernelAArch64SErrorIgnore needs to be saved into the cache in
seL4Config.cmake if it is set by any platform's config.cmake.

Signed-off-by: Kent McLeod <kent@kry10.com>
2021-06-10 11:08:13 +10:00
Indan Zupancic
1d573487c9 ARM64: Add option to ignore SErrors
By default any SError interrupt will halt the kernel. SErrors
may be caused by e.g. writes to read-only device registers or
uncorrectable ECC errors.

When this option is enabled SErrors will be ignored.

Enable this option for the TX2 platform.

Signed-off-by: Indan Zupancic <Indan.Zupancic@mep-info.com>
2021-06-09 17:45:51 +10:00
Axel Heider
e1e26c7ef8 CMake: cleanup KernelSel4ArchArmHyp
Don't create CONFIG_ARCH_AARCH32 on every platform and architecture.
Remove KernelSel4ArmHypAarch32.

Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
2021-06-09 09:51:07 +10:00
Axel Heider
9a4d3ae51d CMake/autoconf: remove unused AUTOCONF_INCLUDED
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-06-09 09:50:02 +10:00
Axel Heider
3f45ab38df use "#pragma once" include guard
Signed-off-by: Axel Heider <axelheider@gmx.de>
2021-06-09 09:50:02 +10:00
Damon Lee
db7bb41314 trivial: Extend !__ASSEMBLER__ preprocessor flag
The scheduler context flags enum should not be inside assembler-related
files.

Signed-off-by: Damon Lee <Damon.Lee@data61.csiro.au>
2021-06-02 12:46:01 +10:00
Ben Leslie
7dc6dffa0f Add support for iMX LP UART
Add support the i.MX low-power UART. This is available on
chipsets such as i.MX8QXP.

Note: This is a preliminary patch in advance of providing
full support for the i.MX8QXP platform.

Note: getchar is not implemented (current) for this platform.

Signed-off-by: Ben Leslie <benno@brkawy.com>
2021-06-02 11:43:48 +10:00
Ben Leslie
aee84c8cd1 Set KernelPaddrUserTop correctly on ARM platforms
On ARM platforms the code assumes the top phys addr is
exclusive, not inclusive (as is the case on other platforms).

While it would be good to make this consistent across platforms
that is a more invasive change. This simple fix makes the
confir correct for ARM. A more comprehensive consistency fix
can be applied at a later time.

Signed-off-by: Ben Leslie <benno@brkawy.com>
2021-06-02 11:39:46 +10:00
Kent McLeod
027a7c4a25 pc99: Remove PT_PHDR segment from linker script
This is to work around an issue in a variant of syslinux that treats a
PHDR segment as distinct from a PT_LOAD segment and rejects an ELF if
the two segments are overlapping.

Signed-off-by: Kent McLeod <kent@kry10.com>
2021-05-26 14:23:25 +10:00
Matthew Brecknell
72f323d961 arm: fix decodeARMMMUInvocation branch hint
A previous update added a disjunct to an `if` condition outside the
existing `unlikely` branch hint. This commit extends the hint to the
full `if` condition.

Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2021-05-20 11:52:33 +10:00
Nick Spinale
7bb2717e41 arm-hyp: read inactive cntv_ctl from saved context
Like SCTLR, CNTV_CTL is switched to/from hardware when we enable/disable
the VCPU, so it must be read from a saved VCPU context when that VCPU
isn't active.

Signed-off-by: Nick Spinale <nick@nickspinale.com>
2021-05-20 10:07:09 +10:00
Damon Lee
6477781221 trivial: Fix semicolon error and missing symbol
Signed-off-by: Damon Lee <Damon.Lee@data61.csiro.au>
2021-05-18 16:51:28 +10:00