├── .bundle └── config ├── .github └── workflows │ ├── build.yml │ ├── pr.yml │ └── push.yml ├── .gitignore ├── .gitmodules ├── .linkcheck-ignore.yml ├── .reuse └── dep5 ├── .ruby-version ├── .stylefilter ├── CMA34DBMC ├── CMA34CRD-thumb.jpg └── index.md ├── Gemfile ├── Gemfile.lock ├── Hardware ├── BeagleBoard.md ├── Beaglebone.md ├── CEI_TK1_SOM │ ├── CANBoard │ │ ├── CanBoardBOMDraft1.xlsx │ │ ├── Can_board_pins.png │ │ ├── Tegra_CANboard_tofab_v1.zip │ │ ├── bottom.jpg │ │ ├── canboard_v3.pdf │ │ ├── index.md │ │ ├── side.jpg │ │ ├── silk.png │ │ └── top.jpg │ ├── CEI_TK1_SOM_customer_pinmux_v11.xlsm │ ├── DaughterBoard │ │ ├── UART1.jpg │ │ ├── UARTS_board.jpg │ │ ├── assembly_cropped.jpg │ │ ├── battery_power.jpg │ │ ├── can.jpg │ │ ├── can2.jpg │ │ ├── daughterboard_bottom │ │ ├── daughterboard_bottom.jpg │ │ ├── daughterboard_r3a_schematic.pdf │ │ ├── daughterboard_top │ │ ├── daughterboard_top.jpg │ │ ├── daughterboard_top_strike.jpg │ │ ├── everything_connected.jpg │ │ ├── external_power.jpg │ │ ├── grounds.jpg │ │ ├── harness1.jpg │ │ ├── harness2.jpg │ │ ├── index.md │ │ ├── jumpered.jpg │ │ ├── pix_power.jpg │ │ ├── pix_power_in.jpg │ │ ├── quadcopter_on.jpg │ │ ├── radio.jpg │ │ ├── reset_jumpered.jpg │ │ ├── reset_pin_daughterboard.jpg │ │ ├── reset_pin_tk1.jpg │ │ ├── standoff.jpg │ │ ├── tegra_daughterboard_bom3.xls │ │ ├── tk1_1.jpg │ │ ├── tk1_2.jpg │ │ ├── tk1_disassemble.jpg │ │ ├── tk1_render_3.PNG │ │ ├── uart2.jpg │ │ └── uart_converter.jpg │ ├── L4TCan │ │ ├── bottom.jpg │ │ ├── front.jpg │ │ ├── index.md │ │ ├── jumper.jpg │ │ ├── mcp251x.c │ │ ├── tegra124-tk1-som-gpio-default.dtsi │ │ └── tegra124-tk1-som-pm375-000-c00-00.dts │ ├── LogicPro8 │ │ ├── CAN-multimessage-CS.png │ │ ├── CAN-singlemessage-CS.png │ │ ├── can.JPG │ │ ├── daughterboard.PNG │ │ ├── gpio.JPG │ │ ├── index.md │ │ ├── logic.png │ │ ├── logic1.png │ │ ├── logic2.png │ │ ├── logic3.png │ │ ├── logic4.png │ │ ├── logic5.png │ │ ├── logic6.png │ │ ├── logic7.png │ │ ├── logic8.png │ │ ├── saleae.JPG │ │ ├── setup.JPG │ │ └── spi.JPG │ ├── Tk1SomMods │ │ ├── 14191325_1125907080788649_54990137_o.jpg │ │ ├── 14202988_1125907050788652_1468451190_o.jpg │ │ ├── 14203013_1125907040788653_366710481_o.jpg │ │ ├── 14203078_1125907047455319_543597542_o.jpg │ │ ├── 14203586_1125907067455317_1649032044_o.jpg │ │ ├── clearance.jpg │ │ ├── connector.jpg │ │ ├── final.jpg │ │ ├── heatsink.jpg │ │ ├── index.md │ │ ├── jumper.jpg │ │ └── short.jpg │ ├── index.md │ └── tk1-som_pinmux_V2.4.xlsm ├── GeneralARM.md ├── HiKey │ ├── bl1_main.patch │ ├── edk2.patch │ ├── efi-stub.patch │ └── index.md ├── IA32.md ├── IF6410.md ├── JetsonTX2.md ├── Kzm.md ├── MaaXBoard.md ├── OdroidC2.md ├── OdroidC4.md ├── OdroidXU.md ├── OdroidXU4.md ├── Rpi3.md ├── Rpi4.md ├── VMware │ ├── index.md │ ├── seL4vmw.py │ └── vmware-serial.png ├── ZC706.md ├── ZCU102.md ├── ariane.md ├── arndale.md ├── cheshire.md ├── hifive.md ├── imx8mm.md ├── imx8mq.md ├── index.md ├── jetsontk1.md ├── jetsontx1.md ├── odroidx.md ├── polarfire.md ├── rocketchip-zcu102.md ├── rocketchip.md ├── rockpro64.md ├── sabreLite.md ├── spike.md └── ultra96v2.md ├── LICENSES ├── BSD-2-Clause.txt ├── CC-BY-SA-4.0.txt ├── GPL-2.0-only.txt ├── GPL-2.0-or-later.txt ├── LicenseRef-Trademark.txt └── MIT.txt ├── MaintainedRepositories.md ├── Makefile ├── README.md ├── Resources.md ├── SuggestedProjects.md ├── Tutorials ├── camkes-vm-crossvm.md ├── camkes-vm-linux.md ├── capabilities.md ├── fault-handlers.md ├── get-the-tutorials.md ├── hello-camkes-0.md ├── hello-camkes-1.md ├── hello-camkes-2.md ├── hello-camkes-timer.md ├── hello-world.md ├── how-to.md ├── index.md ├── interrupts.md ├── ipc.md ├── libraries-1.md ├── libraries-2.md ├── libraries-3.md ├── libraries-4.md ├── mapping.md ├── mcs.md ├── notifications.md ├── pathways.md ├── setting-up.md ├── threads.md └── untyped.md ├── _config.yml ├── _data ├── maintained.yml ├── projects │ ├── buildsystem.yml │ ├── camkes-vm.yml │ ├── camkes.yml │ ├── capdl.yml │ ├── dockerfiles.yml │ ├── docsite.yml │ ├── elfloader.yml │ ├── hardware_hacks.yml │ ├── l4v.yml │ ├── microkit.yml │ ├── rust.yml │ ├── sel4-tutorials.yml │ ├── sel4.yml │ ├── sel4_tools.yml │ ├── sel4bench.yml │ ├── sel4runtime.yml │ ├── sel4test.yml │ ├── sel4webserver.yml │ ├── user_libs.yml │ └── virtualization.yml ├── sidebar.yml └── tutorials-sidebar.yml ├── _includes ├── component_list.md ├── cond-wrap-link.md ├── custom-navbar.html ├── footer.html ├── generic_update_page.md ├── header.html ├── include_external_markdown.md ├── include_github_repo_markdown.md ├── nav-sidebar.html ├── pip-instructions.md ├── project-grid-element.html ├── project-sidebar.html ├── risc-v.md ├── sel4test.md ├── social.html ├── toc-sidebar.html ├── tutorial.md └── tutorials-sidebar.html ├── _layouts ├── api.html ├── basic.html ├── collection.html ├── default.html ├── home.html ├── overview.html ├── project.html ├── release.html └── tutorial.html ├── _plugins ├── breadcrumbs.rb ├── drops ├── include_absolute.rb └── jekyll-watcher-override.rb ├── assets ├── 404.html ├── css │ ├── highlighting │ └── style.scss ├── favicon.ico ├── favicon.ico.license ├── js │ └── toggle-markdown.js ├── logo-text-white.svg ├── logo-text-white.svg.license └── sitemap.md ├── content_collections ├── _dependencies │ ├── camkes.md │ ├── l4v.md │ └── sel4.md ├── _releases │ ├── camkes │ │ ├── camkes-2.0.0.md │ │ ├── camkes-2.1.0.md │ │ ├── camkes-2.2.0.md │ │ ├── camkes-2.3.0.md │ │ ├── camkes-2.3.1.md │ │ ├── camkes-3.0.0.md │ │ ├── camkes-3.1.0.md │ │ ├── camkes-3.10.0.md │ │ ├── camkes-3.11.0.md │ │ ├── camkes-3.2.0.md │ │ ├── camkes-3.3.0.md │ │ ├── camkes-3.4.0.md │ │ ├── camkes-3.5.0.md │ │ ├── camkes-3.6.0.md │ │ ├── camkes-3.7.0.md │ │ ├── camkes-3.8.0.md │ │ └── camkes-3.9.0.md │ ├── capdl │ │ ├── 0.1.0.md │ │ ├── 0.2.0.md │ │ ├── 0.2.1.md │ │ └── 0.3.0.md │ ├── microkit │ │ ├── 1.3.0.md │ │ ├── 1.4.0.md │ │ ├── 1.4.1.md │ │ ├── 2.0.0.md │ │ └── 2.0.1.md │ └── sel4 │ │ ├── 0.0.1-rt-dev.md │ │ ├── 1.0.0-rt-dev.md │ │ ├── 10.0.0.md │ │ ├── 10.1.0.md │ │ ├── 10.1.1-mcs.md │ │ ├── 10.1.1.md │ │ ├── 11.0.0.md │ │ ├── 12.0.0.md │ │ ├── 12.1.0.md │ │ ├── 13.0.0.md │ │ ├── 2.0.0.md │ │ ├── 2.1.0.md │ │ ├── 3.0.0.md │ │ ├── 3.0.1.md │ │ ├── 3.1.0.md │ │ ├── 3.2.0.md │ │ ├── 4.0.0.md │ │ ├── 5.0.0.md │ │ ├── 5.1.0.md │ │ ├── 5.2.0-mcs.md │ │ ├── 5.2.0.md │ │ ├── 6.0.0.md │ │ ├── 7.0.0.md │ │ ├── 8.0.0.md │ │ ├── 9.0.0-mcs.md │ │ ├── 9.0.0.md │ │ └── 9.0.1.md ├── _status │ ├── camkes.md │ ├── sel4.md │ ├── sel4bench.md │ ├── sel4test.md │ └── user_libs.md └── _updates │ ├── buildsystem │ └── 11.0.x.md │ ├── camkes-vm │ ├── camkes-3.8.x-arm-old.md │ └── camkes-3.8.x.md │ ├── elfloader │ └── 11.0.x.md │ ├── sel4-tutorials │ └── camkes-3.8.x.md │ ├── sel4bench │ └── 11.0.x.md │ ├── sel4runtime │ └── 11.0.x.md │ ├── sel4test │ └── 11.0.x.md │ ├── sel4webserver │ └── camkes-3.8.x.md │ └── user_libs │ └── 11.0.x.md ├── index.md ├── processes ├── code-review.md ├── conduct.md ├── contributing.md ├── docs-contributing.md ├── emails.md ├── git-conventions.md ├── index.md ├── irc-channel.md ├── licenses.md ├── release-process.md ├── rfc-process.md ├── roles.md ├── style-guide.md ├── test-status.md └── websites.md ├── projects ├── available-user-components.md ├── buildsystem │ ├── host-dependencies.md │ ├── incorporating.md │ ├── index.md │ ├── old │ │ ├── index.md │ │ └── menuconfig.png │ ├── repo-cheatsheet.md │ ├── standalone.md │ ├── updates.md │ └── using.md ├── camkes-vm │ ├── centos.md │ ├── index.md │ ├── updates.md │ └── zmq-samples.md ├── camkes │ ├── cli.md │ ├── differences.md │ ├── imgs │ ├── index.md │ ├── internals.md │ ├── manual.md │ ├── next.md │ ├── releases.md │ ├── seL4SharedDataWithCaps.md │ ├── terminology.md │ └── visual-camkes │ │ ├── VisualCAmkES_Layout_Example.png │ │ ├── VisualCAmkES_UML.png │ │ ├── VisualCAmkES_userButtons.png │ │ └── index.md ├── capdl │ ├── c-loader-app.md │ ├── cdl-utils.md │ ├── index.md │ ├── object-sizes.md │ ├── python-tool.md │ └── translator.md ├── dockerfiles │ └── index.md ├── docsite │ └── index.md ├── driver_framework │ ├── AddressingOtherDevices.md │ ├── ChildEnumeration.md │ └── DriverManagement.md ├── elfloader │ ├── index.md │ └── updates.md ├── hardware_hacks │ ├── index.md │ └── level-converter │ │ ├── index.md │ │ └── levelconverter-small.jpg ├── index.html ├── l4v │ └── index.md ├── microkit │ └── index.md ├── roadmap.md ├── rust │ └── index.md ├── sel4-tutorials │ ├── benchmarking-guide.md │ ├── debugging-guide.md │ ├── debugging-userspace.md │ └── updates.md ├── sel4 │ ├── api-doc.md │ ├── documentation.md │ ├── frequently-asked-questions.md │ ├── index.md │ ├── kernel-contribution.md │ ├── manual-api-generation.md │ ├── platf-owner.md │ ├── porting.md │ ├── releases.md │ └── verified-configurations.md ├── sel4_tools │ └── index.md ├── sel4bench │ ├── index.md │ └── updates.md ├── sel4runtime │ ├── index.md │ └── updates.md ├── sel4test │ ├── index.md │ └── updates.md ├── sel4webserver │ ├── index.md │ └── updates.md ├── user_libs │ ├── index.md │ └── updates.md └── virtualization │ ├── docs │ └── index.md │ ├── index.md │ ├── libsel4vm.md │ └── libsel4vmmplatsupport.md └── tools ├── Dockerfile ├── gen_markdown_api_doc.py ├── get_repos.py └── testWCAG.py /.bundle/config: -------------------------------------------------------------------------------- 1 | --- 2 | BUNDLE_PATH: "vendor/bundle" 3 | BUNDLE_DISABLE_SHARED_GEMS: "true" 4 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 2 | # 3 | # SPDX-License-Identifier: BSD-2-Clause 4 | 5 | # Build and deploy the site 6 | 7 | name: Build 8 | 9 | on: 10 | push: 11 | branches: 12 | - master 13 | pull_request: 14 | schedule: 15 | - cron: '7 3 * * *' 16 | workflow_dispatch: 17 | 18 | jobs: 19 | build: 20 | name: Site 21 | runs-on: ubuntu-24.04 22 | steps: 23 | - uses: actions/checkout@v4 24 | with: 25 | fetch-depth: 0 26 | submodules: true 27 | - uses: actions/setup-python@v5 28 | with: 29 | python-version: 3.9 30 | - uses: ruby/setup-ruby@v1 31 | with: 32 | bundler-cache: true 33 | - run: pip3 install -U camkes-deps 34 | - run: sudo apt-get install doxygen 35 | - run: make build JEKYLL_ENV=production 36 | - run: tar -cvf site.tar _site/ 37 | - uses: actions/upload-artifact@v4 38 | with: 39 | name: site 40 | path: site.tar 41 | 42 | deploy: 43 | if: ${{ github.repository_owner == 'seL4' && 44 | (github.event_name == 'push' || github.event_name == 'schedule' || 45 | github.event_name == 'workflow_dispatch') }} 46 | needs: build 47 | name: 'Deploy' 48 | runs-on: ubuntu-24.04 49 | steps: 50 | - uses: actions/checkout@v4 51 | with: 52 | ref: gh-pages 53 | token: ${{ secrets.GH_TOKEN }} 54 | # for removing files, we need to start fresh; this does not remove dot-files 55 | - run: rm -rf * 56 | - uses: actions/download-artifact@v4 57 | with: 58 | name: site 59 | - run: tar -xvf site.tar 60 | - run: cp -a _site/* . 61 | - run: rm -rf site.tar _site 62 | # recreate CNAME file for GitHub; not included in generated site 63 | - run: echo docs.sel4.systems > CNAME 64 | # add/remove everything 65 | - run: git add -A . 66 | - run: git diff --cached 67 | - run: git config user.name "CI" 68 | - run: git config user.email ci@sel4.systems 69 | - run: git commit -m "auto-deployed" 70 | - run: git push 71 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2025, Proofcraft Pty Ltd 2 | # 3 | # SPDX-License-Identifier: BSD-2-Clause 4 | 5 | # Actions to run on pull requests 6 | 7 | name: PR 8 | 9 | on: [pull_request, workflow_dispatch] 10 | 11 | jobs: 12 | pr-checks: 13 | name: Checks 14 | uses: seL4/ci-actions/.github/workflows/pr.yml@master 15 | -------------------------------------------------------------------------------- /.github/workflows/push.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 2 | # 3 | # SPDX-License-Identifier: BSD-2-Clause 4 | 5 | # Actions to run on Push and Pull Request 6 | name: CI 7 | 8 | on: 9 | push: 10 | branches: 11 | - master 12 | pull_request: 13 | workflow_dispatch: 14 | 15 | jobs: 16 | checks: 17 | name: Checks 18 | uses: seL4/ci-actions/.github/workflows/push.yml@master 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 2 | # SPDX-License-Identifier: BSD-2-Clause 3 | 4 | _data/generated.yml 5 | _site/ 6 | .sass-cache/ 7 | _repos/ 8 | projects/virtualization/docs/api/ 9 | .jekyll-cache/ 10 | vendor/ 11 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 2 | # SPDX-License-Identifier: BSD-2-Clause 3 | 4 | [submodule "dependencies/jekyll-breadcrumbs"] 5 | path = dependencies/jekyll-breadcrumbs 6 | url = https://github.com/git-no/jekyll-breadcrumbs.git 7 | [submodule "dependencies/pygments-high-contrast-stylesheets"] 8 | path = dependencies/pygments-high-contrast-stylesheets 9 | url = https://github.com/mpchadwick/pygments-high-contrast-stylesheets.git 10 | -------------------------------------------------------------------------------- /.linkcheck-ignore.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Proofcraft Pty Ltd 2 | # SPDX-License-Identifier: BSD-2-Clause 3 | 4 | # Ignore all files that are part of the website itself, they will get their own 5 | # link check. Only put admin files such as README.md into the standard PR check. 6 | files: 7 | - vendor 8 | - "_.*/.*" 9 | - ".*html" 10 | - ".*/.*/.*md" 11 | - CommunityProjects.md 12 | - SuggestedProjects.md 13 | - MaintainedRepositories.md 14 | - Resources.md 15 | - index.md 16 | 17 | urls: 18 | -------------------------------------------------------------------------------- /.reuse/dep5: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: seL4 docs site 3 | Upstream-Contact: seL4 team 4 | Source: https://docs.sel4.systems 5 | 6 | # Sample paragraph, commented out: 7 | # 8 | # Files: src/* 9 | # Copyright: $YEAR $NAME <$CONTACT> 10 | # License: ... 11 | 12 | Files: Gemfile.lock 13 | .ruby-version 14 | .bundle/config 15 | Hardware/HiKey/*.patch 16 | Hardware/CEI_TK1_SOM/CANBoard/Tegra_CANboard_tofab_v1.zip 17 | Copyright: 2020 seL4 Project a Series of LF Projects, LLC. 18 | License: BSD-2-Clause 19 | 20 | Files: _plugins/breadcrumbs.rb 21 | Copyright: 2016 No 22 | License: MIT 23 | 24 | Files: Hardware/CEI_TK1_SOM/*.jpg 25 | Hardware/CEI_TK1_SOM/CANBoard/*.jpg 26 | Hardware/CEI_TK1_SOM/DaughterBoard/*.jpg 27 | projects/buildsystem/old/menuconfig.png 28 | projects/camkes/visual-camkes/*.png 29 | projects/hardware_hacks/level-converter/levelconverter-small.jpg 30 | Hardware/VMware/vmware-serial.png 31 | Hardware/CEI_TK1_SOM/LogicPro8/*.png 32 | Hardware/CEI_TK1_SOM/LogicPro8/*.PNG 33 | Hardware/CEI_TK1_SOM/LogicPro8/*.JPG 34 | Hardware/CEI_TK1_SOM/CANBoard/silk.png 35 | Hardware/CEI_TK1_SOM/tk1-som_pinmux_V2.4.xlsm 36 | Hardware/CEI_TK1_SOM/DaughterBoard/tegra_daughterboard_bom3.xls 37 | Hardware/CEI_TK1_SOM/CEI_TK1_SOM_customer_pinmux_v11.xlsm 38 | Hardware/CEI_TK1_SOM/CANBoard/CanBoardBOMDraft1.xlsx 39 | Hardware/CEI_TK1_SOM/CANBoard/Can_board_pins.png 40 | Hardware/CEI_TK1_SOM/CANBoard/canboard_v3.pdf 41 | Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_bottom 42 | Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_r3a_schematic.pdf 43 | Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top 44 | Hardware/CEI_TK1_SOM/DaughterBoard/tk1_render_3.PNG 45 | CMA34DBMC/CMA34CRD-thumb.jpg 46 | License: CC-BY-SA-4.0 47 | Copyright: 2020 seL4 Project a Series of LF Projects, LLC. 48 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.7.8 2 | -------------------------------------------------------------------------------- /.stylefilter: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | # 4 | # SPDX-License-Identifier: BSD-2-Clause 5 | # 6 | 7 | # 3rd-party file 8 | *Hardware/CEI_TK1_SOM/L4TCan/mcp251x.c 9 | -------------------------------------------------------------------------------- /CMA34DBMC/CMA34CRD-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/CMA34DBMC/CMA34CRD-thumb.jpg -------------------------------------------------------------------------------- /CMA34DBMC/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | --- 5 | 6 | The CMA34D is an embedded i7 board. It needs 12V and 5V supplies. It 7 | does not have a BMC (Base Management Controller) so cannot be controlled 8 | remotely. 9 | 10 | We used a [Stellaris Connected Launchpad](http://www.ti.com/tool/ek-tm4c1294xl) connected to an 11 | [RS232 level converter](http://www.ebay.com.au/itm/New-RS232-To-TTL-COM-Serial-Board-MAX232CSE-Converter-Module-/190880940437) and a 2-way 12 | [Relay Module](http://www.ebay.com.au/itm/5V-Two-2-Channel-Relay-Module-With-Optocoupler-For-ARM-PIC-AVR-DSP-New-/181752994310), together with a suitable 13 | [Power Supply](http://www.ebay.com.au/itm/Regulated-Switching-DC-Power-Supply-Input-AC-100V-240V-to-Output-5V-6A-12V-2A-/151483601531). 14 | 15 | The exact parts don't matter, although I've given links to eBay stores 16 | where the ones we used can be seen. 17 | 18 | Photo of CMA34CRD setup 19 | 20 | In the picture, the CMA34D is at the left, with the TTL-to-RS232 21 | converter above it. The Launchpad is in the middle, with the relay board 22 | above it, partially obscured by the wiring harness. The power supply is 23 | on the right. All is mounted on a cheap polyethylene breadboard that has 24 | been covered in aluminium tape to provide a ground plane; all the boards 25 | and cables are mounted on 20mm standoffs. 26 | 27 | Software for the launchpad is available at 28 | Use the master branch, and the 29 | project is at 30 | packages/machine-tm4c1294-launchpad/projects/embedded_pc_testbed_src 31 | 32 | The relays are connected to pins PK6 and PK7 on the launchpad; the UART 33 | to pin PA0 (Rx) and PA1 (Tx). You'll need to swap the wires to the level 34 | converter (so Rx from teh launcpad connects to Tx on the level 35 | converter, and vice versa); and make sure jumpers J4 and J5 are set to 36 | `UART`. 37 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 4 | # SPDX-License-Identifier: BSD-2-Clause 5 | 6 | # Hello! This is where you manage which Jekyll version is used to run. 7 | # When you want to use a different version, change it below, save the 8 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 9 | # 10 | # bundle exec jekyll serve 11 | # 12 | # This will help ensure the proper Jekyll version is running. 13 | # Happy Jekylling! 14 | gem "jekyll" 15 | 16 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 17 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 18 | # gem "github-pages", group: :jekyll_plugins 19 | 20 | # If you have any plugins, put them here! 21 | # Look here for supported github plugins: https://pages.github.com/versions/ 22 | group :jekyll_plugins do 23 | gem "jekyll-titles-from-headings" 24 | gem "jekyll-relative-links" 25 | gem "jekyll-optional-front-matter" 26 | gem "jekyll-sitemap" 27 | gem 'jekyll-toc' 28 | gem 'jekyll-redirect-from' 29 | gem 'jekyll-remote-theme' 30 | end 31 | 32 | gem 'sass-embedded', '<=1.53' 33 | 34 | # Windows does not include zoneinfo files, so bundle the tzinfo-data gem 35 | gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 36 | 37 | -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/CanBoardBOMDraft1.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/CanBoardBOMDraft1.xlsx -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/Can_board_pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/Can_board_pins.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/Tegra_CANboard_tofab_v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/Tegra_CANboard_tofab_v1.zip -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/bottom.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/canboard_v3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/canboard_v3.pdf -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/side.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/side.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/silk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/silk.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CANBoard/top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CANBoard/top.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/CEI_TK1_SOM_customer_pinmux_v11.xlsm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/CEI_TK1_SOM_customer_pinmux_v11.xlsm -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/UART1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/UART1.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/UARTS_board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/UARTS_board.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/assembly_cropped.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/assembly_cropped.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/battery_power.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/battery_power.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/can.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/can.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/can2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/can2.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_bottom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_bottom -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_bottom.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_r3a_schematic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_r3a_schematic.pdf -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top_strike.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/daughterboard_top_strike.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/everything_connected.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/everything_connected.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/external_power.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/external_power.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/grounds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/grounds.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/harness1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/harness1.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/harness2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/harness2.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/jumpered.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/jumpered.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/pix_power.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/pix_power.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/pix_power_in.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/pix_power_in.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/quadcopter_on.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/quadcopter_on.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/radio.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/radio.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/reset_jumpered.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/reset_jumpered.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/reset_pin_daughterboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/reset_pin_daughterboard.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/reset_pin_tk1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/reset_pin_tk1.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/standoff.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/standoff.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/tegra_daughterboard_bom3.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/tegra_daughterboard_bom3.xls -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/tk1_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/tk1_1.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/tk1_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/tk1_2.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/tk1_disassemble.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/tk1_disassemble.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/tk1_render_3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/tk1_render_3.PNG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/uart2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/uart2.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/DaughterBoard/uart_converter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/DaughterBoard/uart_converter.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/L4TCan/bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/L4TCan/bottom.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/L4TCan/front.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/L4TCan/front.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/L4TCan/jumper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/L4TCan/jumper.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/L4TCan/tegra124-tk1-som-gpio-default.dtsi: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | /* SPDX-License-Identifier: GPL-2.0-or-later */ 20 | 21 | #include 22 | 23 | / { 24 | gpio: gpio@6000d000 { 25 | gpio-init-names = "default"; 26 | gpio-init-0 = <&gpio_default>; 27 | 28 | gpio_default: default { 29 | gpio-input = < 30 | TEGRA_GPIO(X, 4) 31 | TEGRA_GPIO(X, 1) 32 | TEGRA_GPIO(V, 0) 33 | TEGRA_GPIO(V, 1) 34 | TEGRA_GPIO(O, 1) 35 | TEGRA_GPIO(O, 4) 36 | TEGRA_GPIO(CC, 1) 37 | TEGRA_GPIO(CC, 2) 38 | TEGRA_GPIO(G, 0) 39 | TEGRA_GPIO(G, 1) 40 | TEGRA_GPIO(H, 4) 41 | TEGRA_GPIO(H, 7) 42 | TEGRA_GPIO(G, 2) 43 | TEGRA_GPIO(G, 3) 44 | TEGRA_GPIO(G, 4) 45 | TEGRA_GPIO(J, 0) 46 | TEGRA_GPIO(J, 2) 47 | TEGRA_GPIO(I, 6) 48 | TEGRA_GPIO(I, 1) 49 | TEGRA_GPIO(I, 4) 50 | TEGRA_GPIO(Q, 0) 51 | TEGRA_GPIO(Q, 3) 52 | TEGRA_GPIO(R, 0) 53 | TEGRA_GPIO(S, 2) 54 | TEGRA_GPIO(S, 5) 55 | TEGRA_GPIO(S, 7) 56 | TEGRA_GPIO(T, 1) 57 | TEGRA_GPIO(R, 4) 58 | TEGRA_GPIO(R, 6) 59 | TEGRA_GPIO(N, 7) 60 | TEGRA_GPIO(S, 6) 61 | TEGRA_GPIO(T, 0) 62 | >; 63 | gpio-output-low = < 64 | TEGRA_GPIO(BB, 3) 65 | TEGRA_GPIO(BB, 6) 66 | TEGRA_GPIO(I, 0) 67 | TEGRA_GPIO(R, 2) 68 | TEGRA_GPIO(K, 6) 69 | >; 70 | //RESET2, RESET1 71 | gpio-output-high = < 72 | TEGRA_GPIO(S, 3) 73 | TEGRA_GPIO(S, 4) 74 | >; 75 | 76 | // CSN1, CSN2 77 | gpio-to-sfio = < 78 | >; 79 | }; 80 | }; 81 | }; 82 | -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/CAN-multimessage-CS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/CAN-multimessage-CS.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/CAN-singlemessage-CS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/CAN-singlemessage-CS.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/can.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/can.JPG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/daughterboard.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/daughterboard.PNG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/gpio.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/gpio.JPG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic1.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic2.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic3.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic4.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic5.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic6.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic7.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/logic8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/logic8.png -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/saleae.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/saleae.JPG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/setup.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/setup.JPG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/LogicPro8/spi.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/LogicPro8/spi.JPG -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/14191325_1125907080788649_54990137_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/14191325_1125907080788649_54990137_o.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/14202988_1125907050788652_1468451190_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/14202988_1125907050788652_1468451190_o.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/14203013_1125907040788653_366710481_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/14203013_1125907040788653_366710481_o.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/14203078_1125907047455319_543597542_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/14203078_1125907047455319_543597542_o.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/14203586_1125907067455317_1649032044_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/14203586_1125907067455317_1649032044_o.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/clearance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/clearance.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/connector.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/connector.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/final.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/heatsink.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/heatsink.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/jumper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/jumper.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/Tk1SomMods/short.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/Tk1SomMods/short.jpg -------------------------------------------------------------------------------- /Hardware/CEI_TK1_SOM/tk1-som_pinmux_V2.4.xlsm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/CEI_TK1_SOM/tk1-som_pinmux_V2.4.xlsm -------------------------------------------------------------------------------- /Hardware/HiKey/bl1_main.patch: -------------------------------------------------------------------------------- 1 | --- /scratch/hikey3/arm-trusted-firmware/bl1/bl1_main.c 2016-12-07 10:53:30.222062392 +1100 2 | +++ /scratch/hikey/arm-trusted-firmware/bl1/bl1_main.c 2016-12-02 14:27:03.257171632 +1100 3 | @@ -113,6 +113,33 @@ 4 | NOTICE("BL1: %s\n", build_message); 5 | 6 | INFO("BL1: RAM 0x%lx - 0x%lx\n", BL1_RAM_BASE, BL1_RAM_LIMIT); 7 | + int ACTLR_EL3_EN, test; 8 | + 9 | + __asm__ volatile ( 10 | + "mrs %0, ACTLR_EL3" 11 | + : "=r" (ACTLR_EL3_EN) 12 | + : 13 | + ); 14 | + 15 | + NOTICE("Read: ACTLR_EL3 = %x\n", ACTLR_EL3_EN); 16 | + 17 | + ACTLR_EL3_EN |= 0x1; 18 | + 19 | + NOTICE("Modify and Write: ACTLR_EL3 = %x\n", ACTLR_EL3_EN); 20 | + 21 | + __asm__ volatile ( 22 | + "msr ACTLR_EL3, %0" 23 | + : 24 | + : "r" (ACTLR_EL3_EN) 25 | + ); 26 | + 27 | + __asm__ volatile ( 28 | + "mrs %0, ACTLR_EL3" 29 | + : "=r" (test) 30 | + : 31 | + ); 32 | + 33 | + NOTICE("Read again: ACTLR_EL3 = %x\n", test); 34 | 35 | #if DEBUG 36 | unsigned long sctlr_el3 = read_sctlr_el3(); 37 | -------------------------------------------------------------------------------- /Hardware/HiKey/efi-stub.patch: -------------------------------------------------------------------------------- 1 | --- /scratch/hikey3/linaro-edk2/MdeModulePkg/Application/noboot/efi-stub.S 2016-12-07 10:56:05.019616557 +1100 2 | +++ /scratch/hikey/linaro-edk2/MdeModulePkg/Application/noboot/efi-stub.S 2016-12-05 10:49:54.201610316 +1100 3 | @@ -57,6 +57,19 @@ 4 | msr sctlr_el2, x0 5 | isb 6 | 7 | +/* Enable us to write to CPUACTLR_EL1 8 | + * in EL1 unsecured mode */ 9 | + 10 | + mrs x0, ACTLR_EL2 11 | + orr x0, x0, #1 12 | + msr ACTLR_EL2, x0 13 | + 14 | +/* Set total outstanding prefetchs 15 | + * bic x0, x0, #7 << 13 clear the bits 16 | + * mov x1, #0 << 13 disable the prefetcher 17 | + * Valid numbers from 0-8 */ 18 | + 19 | + 20 | /* Set the exection state of the lower exception level 21 | * hcr_el2 = #(1 << 31) and spsr_el2 = #0x3c5 for 64-bit 22 | * hcr_el2 = 0 and spsr_el2 = #0x1d3 for 32-bit 23 | -------------------------------------------------------------------------------- /Hardware/IF6410.md: -------------------------------------------------------------------------------- 1 | --- 2 | arm_hardware: true 3 | xcompiler_arg: -DAARCH32=1 4 | platform: Inforce IFC6410 5 | arch: ARMv7A 6 | virtualization: "No" 7 | iommu: "No" 8 | soc: Snapdragon S4 Pro APQ8064 9 | cpu: Krait (Cortex-A15 like) 10 | Status: Unverified 11 | Contrib: Data61 12 | Maintained: "No" 13 | SPDX-License-Identifier: CC-BY-SA-4.0 14 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 15 | --- 16 | # Inforce 17 | 18 | **Warning: seL4 support for this platform is unmaintained. Using it would require fixing userlevel library support which is known to be broken.** 19 | 20 | 21 | This page contains info on building seL4 for the 22 | [Inforce IFC6410](http://www.inforcelive.com/index.php?route=product/product&product_id=53) development board, running a Qualcomm Krait processor that 23 | is like an A15. Krait is a Qualcomm reimplementation of ARMv7A. 24 | 25 | # Building for the Inforce IFC6410 26 | To use default build config, use 27 | "inforce_" configurations. 28 | 29 | To make a bootable image you will need the Android bootimg tool. On 30 | Debian, do 31 | 32 | ```bash 33 | apt-get install android-mkbootimg 34 | ``` 35 | Then when you have built your app, you can create a boot image with 36 | these commands (substituting the name of your output file for 37 | "sel4test-driver-image-arm-apq8064"): 38 | 39 | 40 | ```bash 41 | > ramdisk 42 | objcopy -O binary sel4test-driver-image-arm-apq8064 sel4test-driver-image-arm-apq8064.bin 43 | mkbootimg --kernel sel4test-driver-image-arm-apq8064.bin --ramdisk ramdisk --base "0x82000000" --output boot.img 44 | ``` 45 | ## Serial Console 46 | The serial port on the Inforce is at RS232 voltage levels. Connect to a 47 | normal serial port, then use minicom or screen to talk to it, at 115200 48 | baud, no parity, eight bits. 49 | 50 | # Booting seL4 51 | Force the board to boot into Fastboot mode by shorting 52 | pins 26 and 30 on the large header — see 53 | [This blog post](https://web.archive.org/web/20150526213626/http://mydragonboard.org/2013/forcing-ifc6410-into-fastboot) for details. 54 | 55 | You will see something like this on the serial port: 56 | ``` 57 | Android Bootloader - UART_DM Initialized!!! 58 | [0] welcome to lk 59 | 60 | [10] platform_init() 61 | [10] target_init() 62 | [130] USB init ept @ 0x88f4e000 63 | [170] fastboot_init() 64 | [170] udc_start() 65 | [300] -- reset -- 66 | [300] -- portchange -- 67 | [470] fastboot: processing commands 68 | ``` 69 | You can then do: 70 | 71 | ``` 72 | fastboot boot boot.img 73 | ``` 74 | and should then see the output from your 75 | app. 76 | 77 | # CAVEATS 78 | The timer driver is not complete, which means that two of 79 | the tests in seL4test will fail. 80 | -------------------------------------------------------------------------------- /Hardware/JetsonTX2.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | arm_hardware: true 4 | cmake_plat: tx2 5 | xcompiler_arg: -DAARCH64=1 6 | platform: TX2 7 | arch: ARMv8A, AArch64 only 8 | virtualization: "Yes" 9 | iommu: "Yes" 10 | soc: NVIDIA Tegra X2 11 | cpu: Cortex-A57 Quad, Dual NVIDIA Denver 12 | Status: "[FC complete, Integrity ongoing](/projects/sel4/verified-configurations.html#aarch64)" 13 | Contrib: Data61 14 | Maintained: seL4 Foundation 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | # Jetson TX2 19 | 20 | The Jetson TX2 is an embedded system-on-module (SOM) developed by NVIDIA. 21 | 22 | 23 | 24 | The seL4 kernel has a limited port to the TX2 which supports the SoM 25 | only in 64-bit mode. 26 | 27 | ## Building seL4test 28 | 29 | {% include sel4test.md %} 30 | 31 | ## Booting via PXE 32 | 33 | A U-Boot uImage will be created by the seL4 build system. This can be booted 34 | by U-Boot using PXE. 35 | -------------------------------------------------------------------------------- /Hardware/Kzm.md: -------------------------------------------------------------------------------- 1 | --- 2 | simulation_target: true 3 | cmake_plat: kzm 4 | xcompiler_arg: -DAARCH32=1 5 | platform: KZM 6 | arch: ARMv6A 7 | virtualization: "No" 8 | iommu: "No" 9 | soc: i.MX31 10 | cpu: ARM1136J 11 | Status: Unverified 12 | Contrib: Data61 13 | Maintained: "No" 14 | SPDX-License-Identifier: CC-BY-SA-4.0 15 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 16 | --- 17 | # KZM (Deprecated seL4 platform) 18 | 19 | **seL4 previously supported the KZM-ARM11-01 until version 12.1.0, which can also be simulated in qemu.** 20 | **Support for this platform has since been removed** 21 | 22 | The KZM is deprecated, ARMv11 Hardware which was used for the original seL4 verification. The latest 23 | verification platform is the [SabreLite](/Hardware/sabreLite). 24 | -------------------------------------------------------------------------------- /Hardware/MaaXBoard.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | arm_hardware: true 4 | cmake_plat: maaxboard 5 | xcompiler_arg: -DAARCH64=1 6 | platform: Avnet MaaXBoard 7 | arch: ARMv8A 8 | virtualization: "No" 9 | iommu: "No" 10 | soc: i.MX8MQ 11 | cpu: Cortex-A53 Quad 1.5 GHz 12 | Status: Unverified 13 | Contrib: "[Capgemini Engineering](https://capgemini-engineering.com)" 14 | Maintained: "[Capgemini Engineering](https://capgemini-engineering.com)" 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2022 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | # Avnet MaaXBoard 19 | 20 | ## Building seL4test 21 | 22 | {% include sel4test.md %} 23 | Also `-DAARCH32=1` is available. 24 | -------------------------------------------------------------------------------- /Hardware/OdroidC2.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | arm_hardware: true 4 | cmake_plat: odroidc2 5 | xcompiler_arg: -DAARCH64=1 6 | platform: Odroid-C2 7 | arch: ARMv8A, AArch64 only 8 | virtualization: "No" 9 | iommu: "No" 10 | soc: Amlogic S905 11 | cpu: Cortex-A53 12 | Status: "[FC complete, Integrity ongoing](/projects/sel4/verified-configurations.html#odroidc2)" 13 | Contrib: Data61 14 | Maintained: seL4 Foundation 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | 19 | # Odroid-C2 20 | 21 | The Odroid-C2 is a single board computer based on the Amlogic S905 22 | System-on-Chip. 23 | 24 | 25 | 26 | Only 64-bit mode is supported both with and without SMP. Hypervisor 27 | support has not been tested. 28 | 29 | ## U-Boot 30 | 31 | The default U-Boot will allocate DMA regions that can corrupt seL4 32 | kernel memory. 33 | Mainline U-Boot can be used instead on this board. 34 | Some Linux distributions include mainline U-Boot binaries compiled for 35 | this board, or you can compile U-Boot yourself. 36 | 37 | ## Building seL4test 38 | 39 | {% include sel4test.md %} 40 | 41 | ## Booting via TFTP 42 | 43 | Make sure you've set up a TFTP server to serve the seL4 image. 44 | 45 | ``` 46 | dhcp 47 | tftp 0x20000000 :sel4test-driver-image-arm-odroidc2 48 | go 0x20000000 49 | ``` 50 | -------------------------------------------------------------------------------- /Hardware/OdroidC4.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | arm_hardware: true 4 | cmake_plat: odroidc4 5 | xcompiler_arg: -DAARCH64=1 6 | platform: Odroid-C4 7 | arch: ARMv8A, AArch64 only 8 | virtualization: "Yes" 9 | iommu: "No" 10 | soc: Amlogic S905X3 11 | cpu: Cortex-A55 12 | Status: "[FC complete, Integrity ongoing](/projects/sel4/verified-configurations.html#odroidc4)" 13 | Contrib: Data61 14 | Maintained: seL4 Foundation 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | 19 | # Odroid-C4 20 | 21 | The Odroid-C4 is a single board computer based on the Amlogic S905X3 22 | System-on-Chip. 23 | 24 | 25 | 26 | Note that only 64-bit mode is supported. 27 | 28 | ## Building seL4test 29 | 30 | {% include sel4test.md %} 31 | 32 | ## Booting via TFTP 33 | 34 | Make sure you've set up a TFTP server to serve the seL4 image. 35 | 36 | ``` 37 | dhcp 38 | tftp 0x20000000 :sel4test-driver-image-arm-odroidc4 39 | go 0x20000000 40 | ``` 41 | -------------------------------------------------------------------------------- /Hardware/OdroidXU.md: -------------------------------------------------------------------------------- 1 | --- 2 | arm_hardware: true 3 | cmake_plat: exynos5410 4 | xcompiler_arg: -DAARCH32=1 5 | platform: OdroidXU 6 | arch: ARMv7A 7 | virtualization: ARM HYP 8 | iommu: limited SMMU 9 | soc: Exynos5 10 | cpu: Cortex-A15 11 | Status: "[Verified](/projects/sel4/verified-configurations.html#arm_hyp-exynos-5)" 12 | Contrib: Data61 13 | Maintained: seL4 Foundation 14 | SPDX-License-Identifier: CC-BY-SA-4.0 15 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 16 | --- 17 | # seL4 on the Odroid XU 18 | 19 | 20 | This page provides info on the 21 | [Odroid-XU](http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620) 22 | Exynos 5 board 23 | 24 | seL4 assumes that one boots in HYP mode. To do this, one needs a new 25 | signed bootloader. 26 | 27 | Follow the instructions 28 | [on the HardKernel Forum](http://forum.odroid.com/viewtopic.php?f=64&t=2778&sid=be659cc75c16e1ecf436075e3c548003&start=60#p33805) to get and flash the firmware 29 | 30 | The standard U-Boot will allow booting via Fastboot or by putting the 31 | bootable ELF file onto an SD card or the eMMC chip. 32 | 33 | ## Run seL4test using fastboot 34 | ### Get and build sel4test 35 | 36 | {% include sel4test.md %} 37 | 38 | ### Put seL4test onto the board 39 | Boot the Odroid, with serial cable 40 | attached, and a terminal emulator attached to the serial port. 41 | 42 | Interrupt U-Boot's autoboot by hitting SPACE 43 | 44 | Enter Fastboot mode by typing fastboot 45 | 46 | On the host, 47 | ```bash 48 | mkimage -A arm -a 0x48000000 -e 0x48000000 -C none -A arm -T kernel -O qnx -d images/sel4test-driver-image-arm-exynos5 image 49 | fastboot boot image 50 | ``` 51 | -------------------------------------------------------------------------------- /Hardware/OdroidXU4.md: -------------------------------------------------------------------------------- 1 | --- 2 | arm_hardware: true 3 | cmake_plat: exynos5422 4 | xcompiler_arg: -DAARCH32=1 5 | platform: OdroidXU4 6 | arch: ARMv7A 7 | virtualization: ARM HYP 8 | iommu: limited SMMU 9 | soc: Exynos5 10 | cpu: Cortex-A15 11 | Status: "[FC with HYP, no SMMU](/projects/sel4/verified-configurations.html#arm_hyp-exynos5)" 12 | Contrib: Data61 13 | Maintained: seL4 Foundation 14 | SPDX-License-Identifier: CC-BY-SA-4.0 15 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 16 | --- 17 | # seL4 on the Odroid XU4 18 | 19 | 20 | This page provides info on the 21 | [Odroid-XU4](https://www.hardkernel.com/main/products/prdt_info.php) 22 | Exynos 5 board 23 | 24 | ### Get and build sel4test 25 | 26 | {% include sel4test.md %} 27 | 28 | -------------------------------------------------------------------------------- /Hardware/VMware/vmware-serial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/Hardware/VMware/vmware-serial.png -------------------------------------------------------------------------------- /Hardware/ariane.md: -------------------------------------------------------------------------------- 1 | --- 2 | riscv_hardware: true 3 | cmake_plat: ariane 4 | xcompiler_arg: -DRISCV64=1 5 | platform: Ariane 6 | arch: RV64IMAC 7 | virtualization: "No" 8 | iommu: "No" 9 | simulation_target: false 10 | Status: "Unverified" 11 | Contrib: "Data61" 12 | Maintained: "Hensoldt Cyber" 13 | cpu: Ariane 14 | SPDX-License-Identifier: CC-BY-SA-4.0 15 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 16 | --- 17 | 18 | # Ariane 19 | 20 | Ariane is a 6-stage RISC-V CPU. For details, refer to 21 | [https://github.com/pulp-platform/ariane](https://github.com/pulp-platform/ariane) 22 | 23 | ## Building the GCC toolchain 24 | 25 | {% include risc-v.md %} 26 | 27 | ## Building seL4test 28 | 29 | {% include sel4test.md %} 30 | 31 | ## Running seL4test 32 | Ariane only provides support for the [Genesys 2 33 | board](https://reference.digilentinc.com/reference/programmable-logic/genesys-2/reference-manual) 34 | 35 | 1. Compile the bitstream from source or download the pre-build bitstream from 36 | [here](https://github.com/pulp-platform/ariane/releases). 37 | 38 | 2. Prepare the SD card 39 | ```sh 40 | sudo sgdisk --clear --new=1:2048:67583 --new=2 --typecode=1:3000 --typecode=2:8300 /dev/sdX 41 | sudo dd if=images/sel4test-driver-image-riscv-ariane of=/dev/sdX1 42 | ``` 43 | Note that the "sgdisk" command above also creates a second partition for 44 | Linux rootfs, you could download a pre-build Linux kernel from 45 | [here](https://github.com/pulp-platform/ariane-sdk/releases) to verify that 46 | the FPGA is working correctly. 47 | 48 | 3. Booting from the SD card and observing the output from the UART port. 49 | -------------------------------------------------------------------------------- /Hardware/hifive.md: -------------------------------------------------------------------------------- 1 | --- 2 | riscv_hardware: true 3 | cmake_plat: hifive 4 | xcompiler_arg: -DRISCV64=1 5 | platform: HiFive Unleashed 6 | arch: RV64IMAC, RV64GC 7 | virtualization: "No" 8 | iommu: "No" 9 | simulation_target: false 10 | Status: "[Verified](/projects/sel4/verified-configurations.html#riscv64)" 11 | Contrib: "Data61" 12 | Maintained: "seL4 Foundation" 13 | soc: Freedom U540 14 | cpu: U54-MC, E51 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | 19 | # HiFive Unleashed 20 | 21 | HiFive Unleashed is a RISC-V development board by SiFive. Check 22 | [here](https://www.sifive.com/boards/hifive-unleashed) for details. 23 | 24 | ## Building the GCC toolchain 25 | 26 | {% include risc-v.md %} 27 | 28 | ## Building seL4test 29 | 30 | {% include sel4test.md %} 31 | 32 | ## Booting via SD card 33 | 34 | 1. Set all DIP switches to 1(towards CPU). 35 | 36 | 2. Prepare the SD card 37 | ```sh 38 | sudo sgdisk --clear --new=1:2048:67583 --typecode=1:3000 /dev/sdX 39 | sudo dd if=images/sel4test-driver-image-riscv-hifive of=/dev/sdX1 40 | ``` 41 | 3. Insert the SD card and connect the micro USB port(J7). 42 | Note that the UART device node is /dev/ttyUSB1 43 | -------------------------------------------------------------------------------- /Hardware/imx8mm.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | arm_hardware: true 4 | cmake_plat: imx8mm-evk 5 | xcompiler_arg: -DAARCH64=1 6 | platform: Imx8mm 7 | arch: ARMv8A, AArch64 8 | virtualization: "No" 9 | iommu: "No" 10 | soc: IMX8MM-EVK 11 | cpu: Cortex-A53 Quad 1.8 GHz 12 | Status: "[FC](/projects/sel4/verified-configurations.html#imx8mm)" 13 | Contrib: Data61 14 | Maintained: seL4 Foundation 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | # Imx8mm 19 | 20 | ## Building seL4test 21 | 22 | {% include sel4test.md %} 23 | 24 | -------------------------------------------------------------------------------- /Hardware/imx8mq.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | arm_hardware: true 4 | cmake_plat: imx8mq-evk 5 | xcompiler_arg: -DAARCH64=1 6 | platform: imx8mq 7 | arch: ARMv8A 8 | virtualization: "No" 9 | iommu: "No" 10 | soc: MCIMX8M-EVKB 11 | cpu: Cortex-A53 Quad 1.5 GHz 12 | Status: Unverified 13 | Contrib: Data61 14 | Maintained: seL4 Foundation 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | # Imx8mq 19 | 20 | ## Building seL4test 21 | 22 | {% include sel4test.md %} 23 | 24 | -------------------------------------------------------------------------------- /Hardware/rocketchip.md: -------------------------------------------------------------------------------- 1 | --- 2 | riscv_hardware: true 3 | cmake_plat: rocketchip 4 | xcompiler_arg: -DRISCV64=1 5 | platform: Rocketchip 6 | arch: RV64IMAFDC 7 | virtualization: "No" 8 | iommu: "No" 9 | simulation_target: false 10 | Status: Unverified 11 | Contrib: Data61 12 | Maintained: seL4 Foundation 13 | cpu: Rocket 14 | SPDX-License-Identifier: CC-BY-SA-4.0 15 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 16 | --- 17 | # Rocketchip FPGA mapped to Zynq ZC706 18 | 19 | The current rocketchip implementation only tested on ZC706 FPGA, it should work 20 | for other Zynq FPGAs. Refer to 21 | [https://github.com/ucb-bar/fpga-zynq](https://github.com/ucb-bar/fpga-zynq) for 22 | details. 23 | 24 | ## Building the GCC toolchain 25 | 26 | {% include risc-v.md %} 27 | 28 | ## Building seL4test 29 | 30 | {% include sel4test.md %} 31 | -------------------------------------------------------------------------------- /Hardware/spike.md: -------------------------------------------------------------------------------- 1 | --- 2 | riscv_hardware: true 3 | cmake_plat: spike 4 | xcompiler_arg: -DRISCV64=1 5 | platform: Spike 6 | arch: RV32GC, RV64IMAFDC 7 | virtualization: "No" 8 | iommu: "No" 9 | simulation_target: true 10 | Status: "Unverified" 11 | Contrib: "Data61, [Hesham Almatary](https://github.com/heshamelmatary)" 12 | Maintained: "seL4 Foundation" 13 | redirect_from: 14 | - /Hardware/RISCV 15 | SPDX-License-Identifier: CC-BY-SA-4.0 16 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 17 | --- 18 | 19 | # Spike 20 | 21 | ## Building the GCC toolchain 22 | 23 | {% include risc-v.md %} 24 | 25 | ## Getting the Simulator 26 | You can use either [RISC-V ISA 27 | Simulator](https://github.com/riscv/riscv-isa-sim) or QEMU >= v4.2 shipped with 28 | your Linux distribution. 29 | 30 | If you prefer to build qemu from source, make sure you have the correct target 31 | enabled. 32 | 33 | ```sh 34 | git clone https://git.qemu.org/git/qemu.git 35 | cd qemu 36 | mkdir build 37 | cd build 38 | ../configure --prefix=/opt/riscv --target-list=riscv64-softmmu,riscv32-softmmu 39 | make 40 | ``` 41 | 42 | ## Building seL4test 43 | 44 | {% include sel4test.md %} 45 | 46 | You can also use run the tests on the 32-bit spike platform by replacing 47 | the `-DRISCV64=TRUE` option with `-DRISCV32=TRUE`. 48 | -------------------------------------------------------------------------------- /Hardware/ultra96v2.md: -------------------------------------------------------------------------------- 1 | --- 2 | cmake_plat: ultra96v2 3 | xcompiler_arg: -DAARCH64=1 4 | arm_hardware: true 5 | platform: Ultra96v2 Evaluation Kit 6 | arch: ARMv8A 7 | virtualization: ARM HYP 8 | iommu: SMMU 9 | soc: Zynq UltraScale+ MPSoC 10 | cpu: Cortex-A53 11 | Status: Unverified 12 | Contrib: "[DornerWorks](https://dornerworks.com)" 13 | Maintained: "[DornerWorks](https://dornerworks.com)" 14 | SPDX-License-Identifier: CC-BY-SA-4.0 15 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 16 | --- 17 | 18 | # Ultra96v2 19 | 20 | The board is an Avnet Ultra96v2, which is a low-cost Zynq MPSoC development platform developed by 21 | AVNET. 22 | 23 | AVNET maintains online material, including designs and documentation 24 | [here](https://www.avnet.com/wps/portal/us/products/new-product-introductions/npi/aes-ultra96-v2/). 25 | 26 | ## Building 27 | ### seL4test 28 | 29 | {% include sel4test.md %} 30 | 31 | The Ultra96v2 also supports AArch32 mode. If you choose to build the AArch32 kernel, 32 | please be sure to pass `-DAARCH32=1` instead of `-DAARCH64=1`. This requires modifications to u-boot 33 | to execute in 32-bit mode. See the ZCU102 page for instructions. 34 | 35 | ## Booting via SD Card 36 | 37 | The ultra96v2 comes with a pre-formatted SD card. Load the `sel4test-driver-image-arm-zynqmp` onto 38 | the SD card, then insert the SD card into the Ultra96v2 and power on the board, dropping into the 39 | U-boot prompt. When at the prompt, type the following to run sel4test: 40 | 41 | ```bash 42 | fatload mmc 0 0x10000000 sel4test-driver-image-arm-zynqmp 43 | bootelf 0x10000000 44 | ``` 45 | -------------------------------------------------------------------------------- /LICENSES/BSD-2-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, 7 | this list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 14 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 17 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 22 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /LICENSES/LicenseRef-Trademark.txt: -------------------------------------------------------------------------------- 1 | For license and usage guidelines on the seL4 trademark and logo, 2 | including the seL4 Foundation logo, see 3 | https://sel4.systems/Foundation/Trademark/ 4 | 5 | No further license is granted from use in this repository. 6 | -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 18 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 20 | OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /MaintainedRepositories.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | --- 5 | 6 | # Maintained repositories 7 | 8 | This page contains a list of the repositories on GitHub that we make an effor to maintain and keep up to date. 9 | 10 | All other repositories can be considered unmaintained. 11 | 12 | ---- 13 | 14 | {% for project in site.data.maintained.github %} 15 | - [{{project.name}}](https://github.com/{{project.name}}) 16 | {% for repo in project.repos %} 17 | - [{{repo}}](https://github.com/{{project.name}}/{{repo}}) 18 | {% endfor %} 19 | {% endfor %} 20 | -------------------------------------------------------------------------------- /Tutorials/camkes-vm-crossvm.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Camkes cross-VM connectors 4 | tutorial: camkes-vm-crossvm 5 | description: walkthrough of adding communication between Linux guests in separate VMs 6 | tutorial-order: vm-2 7 | layout: tutorial 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | {% include tutorial.md %} -------------------------------------------------------------------------------- /Tutorials/camkes-vm-linux.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Camkes VM Linux 4 | tutorial: camkes-vm-linux 5 | tutorial-order: vm-1 6 | layout: tutorial 7 | description: using Linux as a guest in the Camkes VM 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | {% include tutorial.md %} 12 | -------------------------------------------------------------------------------- /Tutorials/capabilities.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Capabilities 4 | tutorial: capabilities 5 | layout: tutorial 6 | description: an introduction to capabilities in the seL4 kernel API 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | 11 | {% include tutorial.md %} 12 | -------------------------------------------------------------------------------- /Tutorials/fault-handlers.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Faults 4 | tutorial: fault-handlers 5 | layout: tutorial 6 | description: fault (e.g virtual memory fault) handling and fault endpoints 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/get-the-tutorials.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Getting the tutorials 4 | layout: tutorial 5 | description: steps and code for getting tutorials 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2024 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | 10 | ## Python Dependencies 11 | 12 | *Hint:* This step only needs to be done once, i.e. before doing your first tutorial. 13 | 14 | The CAmkES python dependencies are required to build the [tutorials](ReworkedTutorials). To install you can run: 15 | 16 | ```sh 17 | pip3 install --user camkes-deps 18 | ``` 19 | 20 | {% include pip-instructions.md %} 21 | 22 | ## Get the code 23 | All code for the tutorials is described in the sel4-tutorials-manifest. Get the code with: 24 | ``` 25 | mkdir sel4-tutorials-manifest 26 | cd sel4-tutorials-manifest 27 | repo init -u https://github.com/seL4/sel4-tutorials-manifest 28 | repo sync 29 | ``` 30 | 31 | `repo sync` may take a few moments to run 32 | 33 | *Hint:* The **Get the code** step only needs to be done once, i.e. before doing your first tutorial. 34 | 35 |

36 | Next: Hello world 37 |

38 | -------------------------------------------------------------------------------- /Tutorials/hello-camkes-0.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Hello CAmkES 4 | tutorial: hello-camkes-0 5 | layout: tutorial 6 | description: an introduction to CAmkES concepts 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/hello-camkes-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Introduction to CAmkES 4 | tutorial: hello-camkes-1 5 | layout: tutorial 6 | description: an introduction to CAmkES concepts 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/hello-camkes-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Events in CAmkES 4 | tutorial: hello-camkes-2 5 | layout: tutorial 6 | description: an introduction to CAmkES concepts 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/hello-camkes-timer.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: CAmkES timer tutorial 4 | tutorial: hello-camkes-timer 5 | layout: tutorial 6 | description: introduce CAmkES hardware components 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/hello-world.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Hello, World! 4 | tutorial: hello-world 5 | layout: tutorial 6 | description: an introduction to seL4 projects and tutorials 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | 11 | {% include tutorial.md %} 12 | -------------------------------------------------------------------------------- /Tutorials/interrupts.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Interrupts 4 | tutorial: interrupts 5 | layout: tutorial 6 | description: receiving and handling interrupts 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/ipc.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: IPC 4 | tutorial: ipc 5 | layout: tutorial 6 | description: overview of interprocess communication (IPC) 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/libraries-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Libraries initialisation & threading 4 | tutorial: libraries-1 5 | layout: tutorial 6 | description: system initialisation & threading with seL4_libs. 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/libraries-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Libraries IPC 4 | tutorial: libraries-2 5 | layout: tutorial 6 | description: IPC with seL4_libs 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/libraries-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Libraries processes & ELF loading 4 | tutorial: libraries-3 5 | layout: tutorial 6 | description: process management with seL4_libs 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/libraries-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Libraries timer tutorial 4 | tutorial: libraries-4 5 | layout: tutorial 6 | description: timers and timeouts with seL4_libs 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/mapping.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Mapping 4 | tutorial: mapping 5 | layout: tutorial 6 | description: virtual memory in seL4 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/mcs.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: MCS 4 | tutorial: mcs 5 | layout: tutorial 6 | description: an introduction to the seL4 MCS extensions. 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/notifications.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Notifications 4 | tutorial: notifications 5 | layout: tutorial 6 | description: using notification objects and signals 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/pathways.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Pathways 4 | layout: tutorial 5 | description: pathways through tutorials depending on learning objectives 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | 10 | # Pathways through tutorials 11 | The tutorials can be approached in a number of different ways. Our recommended approach for newcomers is to begin the [Microkit](https://trustworthy.systems/projects/microkit/tutorial/), bearing in mind that the Microkit hides many of the seL4 mechanisms - it is designed that way, to make building on top of seL4 easier. Having built a small system on top of seL4, the developer can delve into the concepts in the order list in the navigation bar to the left. 12 | 13 | ## Alternate pathways 14 | Alternate pathways through the tutorials depend on development goals. 15 | 16 | ### Evaluation 17 | Goals 18 | - to understand seL4 and its benefits 19 | - to learn how to use seL4 to develop trustworthy systems 20 | - to see, compile, and run some code 21 | 22 | Recommended tutorials 23 | - [Setting up your machine](setting-up.md) 24 | - [Getting the tutorials](get-the-tutorials.md) 25 | - [Hello world](hello-world.md) 26 | 27 | ### System Building 28 | Goals 29 | - to build systems based on seL4 30 | - to know which tools are available to build systems, and how to use those tools 31 | - to build trustworthy systems 32 | 33 | Recommended tutorials 34 | - [Setting up your machine](setting-up.md) 35 | - [Getting the tutorials](get-the-tutorials.md) 36 | - [Hello world](hello-world.md) 37 | - [MCS](mcs.md) 38 | - The CAmkES tutorials beginning with [Hello CAmkES](hello-camkes-0.md) 39 | - Virtualisation tutorials 40 | - [CAmkES VM](../CAmkES/camkes-vm-linux) using Linux as a guest in the CAmkES VM; and 41 | - [CAmkES Cross-VM communication](camkes-vm-crossvm.md) walkthrough of adding communication between Linux guests in separate VMs 42 | 43 | 44 | ### Platform Development 45 | Goals 46 | - to contribute to development of the seL4 (user-level) platform 47 | - to develop operating system services and device drivers 48 | - to develop seL4-based frameworks and operating systems 49 | 50 | Recommended tutorials 51 | To gain a comprehensive understanding of seL4, we recommend that you go through all the tutorials in the order listed in the default pathway. 52 | 53 | 54 | ### Kernel Development 55 | Goals 56 | - to contribute to the seL4 kernel itself 57 | - to port seL4 to a new platform 58 | - to add new features to the kernel 59 | 60 | Recommended reading 61 | - [Contributing to kernel code](../../projects/sel4/kernel-contribution) 62 | 63 | Recommended tutorials 64 | - Follow the tutorial in the default pathway up to and including MCS. 65 | -------------------------------------------------------------------------------- /Tutorials/threads.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Threads 4 | tutorial: threads 5 | layout: tutorial 6 | description: how to start a thread using the seL4 API 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /Tutorials/untyped.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | title: Untyped 4 | tutorial: untyped 5 | layout: tutorial 6 | description: user-level memory management 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | {% include tutorial.md %} 11 | -------------------------------------------------------------------------------- /_data/maintained.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | github: 5 | - name: seL4 6 | repos: 7 | - l4v 8 | - seL4 9 | - seL4_tools 10 | - seL4_libs 11 | - seL4-CAmkES-L4v-dockerfiles 12 | - musllibc 13 | - util_libs 14 | - sel4test 15 | - sel4bench 16 | - sel4bench-manifest 17 | - sel4test-manifest 18 | - sel4-tutorials 19 | - sel4-tutorials-manifest 20 | - seL4-CAmkES-L4v-dockerfiles 21 | - seL4_projects_libs 22 | - global-components 23 | - cakeml_libs 24 | - capdl 25 | - camkes 26 | - camkes-manifest 27 | - camkes-tool 28 | - camkes-vm 29 | - camkes-vm-apps 30 | - camkes-vm-examples 31 | - camkes-vm-examples-manifest 32 | - camkes-vm-linux 33 | - camkes-vm-images 34 | - rumprun-sel4-demoapps 35 | - rumprun-packages 36 | - pruner 37 | - verification-manifest 38 | - projects_libs 39 | - sel4webserver 40 | - sel4webserver-manifest 41 | - sel4runtime 42 | - rumprun 43 | - graph-refine 44 | - picotcp 45 | - picotcp-bsd 46 | - isabelle 47 | - HOL 48 | - polyml 49 | 50 | repo_projects: 51 | - sel4test-manifest 52 | - sel4bench-manifest 53 | - camkes-manifest 54 | - camkes-vm-examples-manifest 55 | - sel4webserver-manifest 56 | - sel4-tutorials-manifest 57 | - rumprun-sel4-demoapps 58 | - verification-manifest 59 | 60 | -------------------------------------------------------------------------------- /_data/projects/buildsystem.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: buildsystem 5 | display_name: seL4 Buildsystem 6 | description: System configuration and building using mostly CMake 7 | project_order: 5 8 | repositories: 9 | - org: sel4 10 | repo: sel4 11 | - org: sel4 12 | repo: sel4_tools 13 | -------------------------------------------------------------------------------- /_data/projects/dockerfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: dockerfiles 5 | display_name: Dockerfiles 6 | description: Dockerfiles defining the dependencies required to build seL4, CAmkES, and L4v 7 | project_order: 9 8 | 9 | repositories: 10 | - org: sel4proj 11 | repo: seL4-CAmkES-L4v-dockerfiles 12 | -------------------------------------------------------------------------------- /_data/projects/docsite.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: docsite 5 | display_name: seL4 Documentation website 6 | description: For cooperatively developing and sharing documentation on seL4 7 | project_order: 9 8 | -------------------------------------------------------------------------------- /_data/projects/hardware_hacks.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: hardware_hacks 5 | display_name: Hardware Hacks 6 | description: Various bits and pieces to enable easier use of our hardware 7 | project_order: 10 8 | -------------------------------------------------------------------------------- /_data/projects/l4v.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: l4v 5 | display_name: L4.verified 6 | description: seL4 specification and proofs 7 | project_order: 2 8 | 9 | repositories: 10 | - org: seL4 11 | repo: l4v 12 | 13 | useful_urls: 14 | - label: "Trustworthy Systems seL4 verification project" 15 | url: "https://trustworthy.systems/projects/seL4-verification/" 16 | - label: "Commercial verification services (Proofcraft)" 17 | url: "https://proofcraft.systems" 18 | 19 | roadmap: 20 | - name: MCS 21 | display_name: MCS Kernel extensions 22 | description: Functional correctness proofs for a new scheduling model to support trustworthy mixed-criticality real-time systems. 23 | assigned: Proofcraft 24 | status: C verification ongoing 25 | roadmap_type: in-progress 26 | - name: AARCH64 27 | display_name: AArch64 port 28 | description: Functional correctness proofs for the AArch64 port of seL4 completed. Integrity (access control) ongoing. 29 | assigned: Proofcraft 30 | status: Integrity verification to complete Q1/25 31 | roadmap_type: in-progress 32 | -------------------------------------------------------------------------------- /_data/projects/rust.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: rust 5 | display_name: Rust 6 | description: seL4 Rust support 7 | project_order: 11 8 | -------------------------------------------------------------------------------- /_data/projects/sel4_tools.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: sel4_tools 5 | display_name: seL4_tools 6 | description: Provides tools used to build seL4 projects 7 | project_order: 9 8 | 9 | repositories: 10 | - org: seL4 11 | repo: sel4_tools 12 | -------------------------------------------------------------------------------- /_data/projects/sel4runtime.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: sel4runtime 5 | display_name: The seL4 run-time 6 | description: A minimal runtime for running a C or C-compatible process in a minimal seL4 environment 7 | project_order: 6 8 | 9 | repositories: 10 | - org: seL4proj 11 | repo: sel4runtime 12 | 13 | components: 14 | - name: sel4runtime 15 | display_name: "The seL4 C run-time" 16 | description: "A minimal C run-time for use with ELF processes on seL4" 17 | maintainer: "seL4 Foundation" 18 | status: "active" 19 | component_type: sel4runtime 20 | - name: libsel4runtime 21 | display_name: "The seL4 C run-time library" 22 | description: "Library to interface with the seL4 C run-time" 23 | maintainer: "seL4 Foundation" 24 | status: "active" 25 | component_type: sel4runtime-library 26 | - name: Findsel4runtime 27 | display_name: "Findsel4runtime" 28 | description: "CMake module for sel4runtime" 29 | maintainer: "seL4 Foundation" 30 | status: "active" 31 | component_type: cmake-module 32 | - name: sel4runtimeConfig 33 | display_name: "sel4runtime Configuration library" 34 | description: "Configuration library containing sel4runtime build configuration values." 35 | maintainer: "seL4 Foundation" 36 | status: "active" 37 | component_type: config-library 38 | -------------------------------------------------------------------------------- /_data/projects/sel4webserver.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | name: sel4webserver 5 | display_name: seL4webserver 6 | description: A reference for implementing applications on seL4 7 | project_order: 7 8 | 9 | repositories: 10 | - org: seL4proj 11 | repo: sel4webserver 12 | - org: seL4proj 13 | repo: sel4webserver-manifest 14 | 15 | components: 16 | - name: Finddocsite 17 | display_name: "Finddocsite" 18 | description: "CMake module for building and installing an instance of the docsite in the vm filesystem, to be served by lighttpd." 19 | maintainer: "UNSW" 20 | status: "active" 21 | component_type: cmake-module 22 | - name: Findlighttpd 23 | display_name: "Findlighttpd" 24 | description: "CMake module for building and installing lighttpd in the VM filesystem." 25 | maintainer: "UNSW" 26 | status: "active" 27 | component_type: cmake-module 28 | - name: main 29 | display_name: "main" 30 | description: "CAmkES main module for running a single VM with lighttpd serving the docsite." 31 | maintainer: "UNSW" 32 | status: "active" 33 | component_type: camkes-module 34 | - name: exynos-devices 35 | display_name: "exynos-devices" 36 | description: "CAmkES description of exynos5422 devices for single VM webserver" 37 | maintainer: "UNSW" 38 | status: "active" 39 | component_type: camkes-module 40 | - name: exynos-multi-devices 41 | display_name: "exynos-multi-devices" 42 | description: "CAmkES description of exynos5422 devices for multi VM webserver" 43 | maintainer: "UNSW" 44 | status: "active" 45 | component_type: camkes-module 46 | - name: qemu-arm-virt-devices 47 | display_name: "qemu-arm-virt-devices" 48 | description: "CAmkES description of qemu-arm-virt devices for single VM webserver" 49 | maintainer: "UNSW" 50 | status: "active" 51 | component_type: camkes-module 52 | - name: overlay-files 53 | display_name: "overlay-files" 54 | description: "Files to be added to the VM filesystem overlay, mostly network setup" 55 | maintainer: "UNSW" 56 | status: "active" 57 | component_type: init-script 58 | -------------------------------------------------------------------------------- /_data/sidebar.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # Copyright 2020 seL4 Project a Series of LF Projects, LLC. 3 | 4 | toc: 5 | - title: Resources 6 | url: /Resources.html 7 | subfolderitems: 8 | - page: Resources 9 | url: /Resources.html 10 | - page: seL4 Documentation 11 | url: https://sel4.systems/Learn/ 12 | - page: seL4 FAQ 13 | url: https://sel4.systems/About/FAQ.html 14 | - page: Set up your machine 15 | url: /projects/buildsystem/host-dependencies.html 16 | - page: Supported platforms 17 | url: /Hardware/ 18 | - page: Available components 19 | url: /projects/available-user-components.html 20 | - page: Roadmap 21 | url: https://sel4.systems/roadmap.html 22 | - page: Release Notes 23 | url: /releases/sel4 24 | - page: libsel4 API 25 | url: /projects/sel4/api-doc.html 26 | - page: Current Manual 27 | url: https://sel4.systems/Info/Docs/seL4-manual-latest.pdf 28 | - page: Verified Configurations 29 | url: /projects/sel4/verified-configurations.html 30 | 31 | - title: Contributing 32 | url: https://sel4.systems/Contribute/ 33 | subfolderitems: 34 | - page: Code of Conduct 35 | url: https://sel4.systems/Contribute/conduct.html 36 | - page: Contributing 37 | url: https://sel4.systems/Contribute/ 38 | - page: Licensing 39 | url: https://sel4.systems/Legal/ 40 | - page: Style Guide 41 | url: https://sel4.systems/Contribute/style.html 42 | - page: Git Conventions 43 | url: https://sel4.systems/Contribute/git-conventions.html 44 | - page: Pull requests 45 | url: https://sel4.systems/Contribute/pull-requests.html 46 | - page: Release process 47 | url: /processes/release-process.html 48 | - page: RFC process 49 | url: https://sel4.systems/Contribute/rfc-process.html 50 | - page: Test Status 51 | url: /processes/test-status.html 52 | - page: Websites 53 | url: /processes/websites.html 54 | - page: Emails 55 | url: /processes/emails.html 56 | - page: Maintained Repositories 57 | url: /MaintainedRepositories.html 58 | -------------------------------------------------------------------------------- /_data/tutorials-sidebar.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: CC-BY-SA-4.0 2 | # Copyright 2024 seL4 Project a Series of LF Projects, LLC. 3 | 4 | # nav side bar for tutorials 5 | # 6 | # refers to sections from projects/sel4-tutorials.yml via the "section" field 7 | # there, and "include" field here. 8 | 9 | - name: Getting started 10 | type: header 11 | - name: Overview 12 | file: "" 13 | type: file 14 | - name: Tutorial pathways 15 | file: pathways 16 | type: file 17 | 18 | - name: seL4 19 | type: header 20 | - name: Setting up your machine 21 | file: setting-up 22 | type: file 23 | - name: Getting the tutorials 24 | file: get-the-tutorials 25 | type: file 26 | - name: sel4 27 | type: include 28 | 29 | - name: C Libraries 30 | type: header 31 | - name: libraries 32 | type: include 33 | 34 | - name: Microkit 35 | type: header 36 | - name: Tutorial 37 | url: https://trustworthy.systems/projects/microkit/tutorial/ 38 | type: url 39 | 40 | - name: CAmkES 41 | type: header 42 | - name: camkes 43 | type: include 44 | 45 | - name: Rust 46 | type: header 47 | - name: GitHub 48 | url: https://github.com/seL4/rust-sel4 49 | type: url 50 | 51 | - name: Resources 52 | type: header 53 | - name: seL4 Manual 54 | url: https://sel4.systems/Info/Docs/seL4-manual-latest.pdf 55 | type: url 56 | - name: seL4 API reference 57 | url: /projects/sel4/api-doc.html 58 | type: url 59 | - name: "How to: a quick solutions guide" 60 | file: how-to 61 | type: file 62 | - name: Debugging guide 63 | url: /projects/sel4-tutorials/debugging-guide 64 | type: url 65 | - name: Help contacts 66 | url: "/Resources#contact" 67 | type: url 68 | -------------------------------------------------------------------------------- /_includes/component_list.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | {%- assign project = site.data.projects[include.project] %} 6 | {%- assign list = include.list | default: 'components' %} 7 | {%- assign ignore_title_row = include.no_title | default: false %} 8 | {%- assign end_table = include.continue_table | default: false %} 9 | {%- for component in project[list] %} 10 | {%- if list != 'roadmap' %} 11 | {%- if forloop.first == true and ignore_title_row == false %} 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {%- endif %} 23 | {%- if include.type and include.type != component.component_type -%} 24 | {%- continue %} 25 | {%- endif %} 26 | {%- capture link_text %}{{component.display_name_url}}{% endcapture %} 27 | {%- capture display_text %}{{component.display_name}}{% endcapture %} 28 | 29 | 30 | 31 | 32 | 33 | 34 | {%- else %} 35 | {%- if forloop.first == true and ignore_title_row == false %} 36 |
{{list | capitalize}}DescriptionStatusMaintained by
{% include cond-wrap-link.md text=display_text link=link_text %}{{component.description}}{{component.status}}{{component.maintainer}}
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | {%- endif %} 47 | {%- if include.type and include.type != component.roadmap_type -%} 48 | {%- continue %} 49 | {%- endif %} 50 | {%- capture link_text %}{{component.display_name_url}}{% endcapture %} 51 | {%- capture display_text %}{{component.display_name}}{% endcapture %} 52 | 53 | 54 | 55 | 56 | 57 | 58 | {%- endif -%} 59 | {%- endfor -%} 60 | {%- if end_table == false %} 61 | 62 |
FeatureDescriptionAssignedStatus
{% include cond-wrap-link.md text=display_text link=link_text %}{{component.description}}{{component.assigned}}{{component.status}}
63 | {%- endif -%} 64 | -------------------------------------------------------------------------------- /_includes/cond-wrap-link.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | {%- if include.link != '' %}[{{include.text}}]({{include.link}}){% else %}{{include.text}}{% endif -%} 6 | -------------------------------------------------------------------------------- /_includes/custom-navbar.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 44 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | {% comment %} 6 | This file was inspired by the file of the same name in the minima template. 7 | {% endcomment %} 8 | 9 |
10 | 11 | 12 | 13 | 54 | 55 |
56 | -------------------------------------------------------------------------------- /_includes/generic_update_page.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | {% assign update_where_exp = "item.url contains '/updates/" | append: include.project | append: "/'" %} 6 | {% assign updates = site['updates'] | where_exp:"item", update_where_exp %} 7 | {% for update in updates | sort: "date" %} 8 | [{{ update.title }}]({{ update.url }}) 9 | {% endfor %} 10 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | {% comment %} 7 | This header is responsible for the seL4 logo and top h2 links. 8 | {% endcomment %} 9 | 10 |
11 | 27 |
28 | {% include custom-navbar.html %} 29 | 30 |
31 | -------------------------------------------------------------------------------- /_includes/include_external_markdown.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | {% capture file %} 6 | {% include_absolute {{include.file}} %} 7 | {% endcapture %} 8 | {% assign file = file | replace: site.static_url, '' %} 9 | 10 | {% if include.indent_headings %} 11 | {% assign file = file | replace: '# ', '## ' %} 12 | {% endif %} 13 | {{ file }} 14 | -------------------------------------------------------------------------------- /_includes/include_github_repo_markdown.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | {% assign repo = include.repo | downcase %} 7 | {% assign file = '_repos/' | append: repo | append: "/" | append: include.file %} 8 | {% assign view_url = 'https://github.com/' | append: repo | append: '/blob/master/' | append: include.file %} 9 | {% assign edit_url = 'https://github.com/' | append: repo | append: '/edit/master/' | append: include.file %} 10 | 11 | {% include include_external_markdown.md file=file indent_headings=include.indent_headings %} 12 | 13 | *File included from [github repo]({{view_url}}) [edit]({{edit_url}})* 14 | -------------------------------------------------------------------------------- /_includes/nav-sidebar.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | {% assign page_url = page.url | split: "/" %} 6 | 7 | -------------------------------------------------------------------------------- /_includes/pip-instructions.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: Copyright 2025 UNSW, Sydney 4 | {% endcomment %} 5 | {% assign deps = include.deps | default: "camkes-deps" %} 6 | {% assign venv = include.venv | default: "seL4-venv" %} 7 | 8 |
9 | Error: Python environment is externally managed 10 |
11 | 12 | Some Linux distributions have changed how Python is managed. If you get an error 13 | saying the Python 'environment is externally managed' follow the instructions 14 | below. The first two steps are needed only once for setup. 15 | 16 | ```sh 17 | python3 -m venv {{venv}} 18 | ./{{venv}}/bin/pip install {{deps}} 19 | ``` 20 | 21 | The following step is needed every time you start using the build environment 22 | in a new shell. 23 | 24 | ```sh 25 | source ./{{venv}}/bin/activate 26 | ``` 27 | 28 | It is not important where the `{{venv}}` directory is located. 29 |
30 |
31 | -------------------------------------------------------------------------------- /_includes/project-grid-element.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | {% assign project = site.data.projects[include.project] %} 7 | {% assign status = site.status | where: "project", project.name | first %} 8 | 9 |
10 |
11 |
12 |
13 |

{{project.display_name}}

14 |
15 |
16 | {% if status %} 17 | 18 |

Status

19 |
20 | {% endif %} 21 |
22 |
23 |
24 |
25 |

26 | {% if include.description %} 27 | {{include.description}} 28 | {% else %} 29 | {{project.description}}. 30 | {% endif %} 31 |
32 | See more information. 33 |

34 |
35 | 36 |
37 | -------------------------------------------------------------------------------- /_includes/risc-v.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | 1. It is recommended to build the toolchain from source. 7 | 8 | ```sh 9 | git clone https://github.com/riscv/riscv-gnu-toolchain.git 10 | cd riscv-gnu-toolchain 11 | git submodule update --init --recursive 12 | export RISCV=/opt/riscv 13 | ./configure --prefix="${RISCV}" --enable-multilib 14 | make linux 15 | ``` 16 | 17 | After it is built, add the `$RISCV/bin` folder to your PATH. The built 18 | toolchain works for both 32-bit and 64-bit. 19 | 20 | 2. Alternatively, any pre-built toolchain with multilib enabled should work. 21 | -------------------------------------------------------------------------------- /_includes/sel4test.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | {% comment %} 7 | This include generates commands for checking out and building sel4test for a particular platorm. 8 | The platform defines what config it uses, and if it specifies a simulation target, then a simulation command will be added. 9 | {% endcomment %} 10 | 11 | Checkout the sel4test project using repo as per [seL4Test](/seL4Test) 12 | ```bash 13 | repo init -u https://github.com/seL4/sel4test-manifest.git 14 | repo sync 15 | mkdir cbuild 16 | cd cbuild 17 | ../init-build.sh -DPLATFORM={{ page.cmake_plat }} {{page.xcompiler_arg}} 18 | # The default cmake wrapper sets up a default configuration for the target platform. 19 | # To change individual settings, run `ccmake` and change the configuration 20 | # parameters to suit your needs. 21 | ninja 22 | 23 | {%- if page.simulation_target %} 24 | # If your target binaries can be executed in an emulator/simulator, and if 25 | # our build system happens to support that target emulator, then this script 26 | # might work for you: 27 | ./simulate 28 | {%- endif %} 29 | 30 | ``` 31 | 32 | {%- if page.simulation_target %} 33 | If you plan to use the ./simulate script, please be sure to add the 34 | `-DSIMULATION=1` argument when running cmake. 35 | {%- endif %} 36 | 37 | Generated binaries can be found in the `images/` directory. 38 | -------------------------------------------------------------------------------- /_includes/social.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | {% comment %} 7 | This file was inspired by the file of the same name in the minima template. 8 | {% endcomment %} 9 | 10 | 13 | -------------------------------------------------------------------------------- /_includes/toc-sidebar.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 8 | -------------------------------------------------------------------------------- /_includes/tutorial.md: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | {% include_absolute _repos/tutes/{{page.tutorial}}.md %} 7 | -------------------------------------------------------------------------------- /_includes/tutorials-sidebar.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2024 seL4 Project a Series of LF Projects, LLC. 4 | {% endcomment %} 5 | 6 | 24 | -------------------------------------------------------------------------------- /_layouts/api.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: basic 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 |
8 | 12 |
13 | {{ content }} 14 |
15 | 16 | {% include toc-sidebar.html %} 17 |
18 | -------------------------------------------------------------------------------- /_layouts/basic.html: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | {{ page.title }} | {{ site.title }} 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | {%- if jekyll.environment == 'production' -%} 24 | 26 | {%- endif -%} 27 | 28 | 29 | 30 | 31 | {% include header.html %} 32 |
33 | {{ content }} 34 |
35 | {% include footer.html %} 36 | 37 | 38 | -------------------------------------------------------------------------------- /_layouts/collection.html: -------------------------------------------------------------------------------- 1 | --- 2 | # Just use default layout for now 3 | layout: default 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | {{ content }} 9 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: basic 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 |
7 | 11 |
12 | {% if page.toc %} 13 | 16 | {% endif %} 17 |
18 | {{ content }} 19 |
20 |
21 |
22 | -------------------------------------------------------------------------------- /_layouts/home.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: basic 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 |
8 |
9 | {{ content }} 10 |
11 | 12 | 13 |
14 | -------------------------------------------------------------------------------- /_layouts/overview.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: basic 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 |
8 | 12 |
13 | {{ content }} 14 |
15 | 16 | {% assign url = page.url | split: "/" %} 17 | {% capture project_name %} 18 | {% if page.project %} 19 | {{page.project}} 20 | {% elsif url[1] == "projects" %} 21 | {{url[2]}} 22 | {% endif %} 23 | {% endcapture %} 24 | 25 | {% assign project_name = project_name | strip %} 26 | {% assign project = site.data.projects[project_name] %} 27 | 28 |
29 | -------------------------------------------------------------------------------- /_layouts/project.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: basic 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 |
8 | 12 |
13 | {{ content }} 14 |
15 | 16 | {% assign url = page.url | split: "/" %} 17 | {% capture project_name %} 18 | {% if page.project %} 19 | {{page.project}} 20 | {% elsif url[1] == "projects" %} 21 | {{url[2]}} 22 | {% endif %} 23 | {% endcapture %} 24 | 25 | {% assign project_name = project_name | strip %} 26 | {% assign project = site.data.projects[project_name] %} 27 | 28 | {% if page.toc %} 29 | {% include toc-sidebar.html %} 30 | {% endif %} 31 | {% include project-sidebar.html project=project %} 32 | 33 |
34 | -------------------------------------------------------------------------------- /_layouts/release.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | {{ content }} 7 | -------------------------------------------------------------------------------- /_plugins/breadcrumbs.rb: -------------------------------------------------------------------------------- 1 | ../dependencies/jekyll-breadcrumbs/source/_plugins/breadcrumbs.rb -------------------------------------------------------------------------------- /_plugins/drops: -------------------------------------------------------------------------------- 1 | ../dependencies/jekyll-breadcrumbs/source/_plugins/drops -------------------------------------------------------------------------------- /_plugins/jekyll-watcher-override.rb: -------------------------------------------------------------------------------- 1 | # Copyright 2018 Thomes Darde 2 | # SPDX-License-Identifier: MIT 3 | 4 | # Obtained from: 5 | # https://github.com/guard/listen/wiki/Duplicate-directory-errors 6 | require 'listen/record/symlink_detector' 7 | module Listen 8 | class Record 9 | class SymlinkDetector 10 | def _fail(_, _) 11 | fail Error, "Don't watch locally-symlinked directory twice" 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /assets/404.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | permalink: 404.html 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | 9 |

404

10 | 11 |

Page not found :(

12 |

The requested page could not be found.

13 | -------------------------------------------------------------------------------- /assets/css/highlighting: -------------------------------------------------------------------------------- 1 | ../../dependencies/pygments-high-contrast-stylesheets/ -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/assets/favicon.ico -------------------------------------------------------------------------------- /assets/favicon.ico.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 2 | SPDX-License-Identifier: LicenseRef-Trademark 3 | -------------------------------------------------------------------------------- /assets/js/toggle-markdown.js: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: CC-BY-SA-4.0 2 | // Copyright 2024 seL4 Project a Series of LF Projects, LLC. 3 | 4 | // Expand all solutions 5 | let param = new URLSearchParams(window.location.search); 6 | 7 | if (param.has('tut_expand')) { 8 | document.body.querySelectorAll('details').forEach((e) => { 9 | e.setAttribute('open', true); 10 | }) 11 | } 12 | -------------------------------------------------------------------------------- /assets/logo-text-white.svg.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 2 | SPDX-License-Identifier: LicenseRef-Trademark 3 | -------------------------------------------------------------------------------- /assets/sitemap.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: sitemap.html 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | # Sitemap 7 | 8 | 9 | {% assign pages = page.static_files | where_exp:'page','page.name != "404.html"' %} 10 | {% assign collections = site.collections | where_exp:'collection','collection.output != false' %} 11 | {% for collection in collections %} 12 | {% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %} 13 | {% assign pages = pages | concat: docs %} 14 | {% endfor %} 15 | 16 | 17 | {% assign site_pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %} 18 | {% assign pages = pages | concat: site_pages | sort: "url" %} 19 | {% for page in pages %} 20 | - [{{ page.url }}]({{ page.url | replace:'/index.html','/' }}) 21 | {% endfor %} 22 | 23 | -------------------------------------------------------------------------------- /content_collections/_dependencies/camkes.md: -------------------------------------------------------------------------------- 1 | --- 2 | order_priority: 2 3 | project: camkes 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | ## CAmkES Build Dependencies 8 | 9 | To build a CAmkES based project on seL4, additional dependencies need to be installed on your host machine. Projects using CAmkES (the seL4 component system) need Haskell and some extra Python libraries in addition to the standard build tools. The following instructions cover the CAmkES build dependencies for Ubuntu/Debian. Please ensure you have installed the dependencies listed in sections [seL4 Build Dependencies](#sel4-build-dependencies) and [Get Google's Repo tool](#get-googles-repo-tool) prior to building a CAmkES project. 10 | 11 | ### Python Dependencies 12 | 13 | The Python dependencies required by the CAmkES build toolchain can be installed via pip: 14 | 15 | ```sh 16 | pip3 install --user camkes-deps 17 | ``` 18 | 19 | {% include pip-instructions.md %} 20 | 21 | ### Haskell Dependencies 22 | 23 | The CAmkES build toolchain additionally requires Haskell. You can install the [Haskell stack](https://haskellstack.org) on your distribution by running: 24 | ``` 25 | curl -sSL https://get.haskellstack.org/ | sh 26 | ``` 27 | If you prefer not to bypass your distribution's package manager, you can do 28 | ``` 29 | sudo apt-get install haskell-stack 30 | ``` 31 | 32 | ### Build Dependencies 33 | 34 | #### Ubuntu 35 | 36 | These instructions are intended for Ubuntu LTS versions 20.04 and 22.04. 37 | 38 | Install the following packages: 39 | 40 | ```sh 41 | sudo apt-get install clang gdb 42 | sudo apt-get install libssl-dev libclang-dev libcunit1-dev libsqlite3-dev 43 | sudo apt-get install qemu-kvm 44 | ``` 45 | 46 | #### Debian 47 | 48 | ##### For Debian Stretch or later 49 | 50 | The dependencies listed in our docker files [repository](https://github.com/seL4/seL4-CAmkES-L4v-dockerfiles) will work for a Debian installation. You can refer to this repository for an up-to-date list of base build dependencies. Specifically refer to the dependencies listed in the: 51 | 52 | * [CAmkES Dockerfile](https://github.com/seL4/seL4-CAmkES-L4v-dockerfiles/blob/master/camkes.dockerfile) 53 | -------------------------------------------------------------------------------- /content_collections/_dependencies/l4v.md: -------------------------------------------------------------------------------- 1 | --- 2 | order_priority: 3 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include_absolute _repos/sel4/l4v/docs/setup.md %} 8 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-2.0.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-2.0.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_2.0.0/ 5 | - /camkes_release/CAmkES_2.0.0.html 6 | title: camkes-2.0.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES 2.0.0 Release Notes 12 | 13 | 14 | The new release updates CAmkES to be compatible with seL4 version 2.0.0. 15 | It also marks the transition to more frequent and regular releases, as 16 | well as switching our release process to semantic versioning, so it's 17 | easy to tell which CAmkES releases are source-compatible, or will 18 | require updates to user-level code, and also with which seL4 versions 19 | they will be compatible. 20 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-2.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-2.1.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_2.1.0/ 5 | - /camkes_release/CAmkES_2.1.0.html 6 | title: camkes-2.1.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES 2.1.0 Release Notes 12 | 13 | 14 | ## New Features 15 | 16 | 17 | - runner takes an `--architecture` command line argument which selects 18 | the target architecture. Valid arguments are: aarch32, arm_hyp, 19 | ia32 20 | - added the ability to specify a hardware dataport as cached. 21 | Previously all hardware dataports were mapped uncached. This 22 | feature is intended to be used on dataports backed by DMA-able 23 | memory to improve access times. Functions to flush dataports from 24 | the cache are also provided. 25 | - support for seL4 3.0.0 26 | 27 | ## Removed Features 28 | 29 | 30 | - `--hyp` command line argument is replaced with 31 | `--architecture arm_hyp` 32 | 33 | ## API Removals 34 | 35 | 36 | ### Unmarshalling Helpers 37 | These were intended for use in templates, but are no longer used in any internal templates: 38 | * `camkes_marshal` 39 | * `camkes_marshal_string` 40 | * `camkes_unmarshal` 41 | * `camkes_unmarshal_string` 42 | 43 | ### DMA Utilities 44 | These had been deprecated for a long period and are now being removed: 45 | * `camkes_dma_page_alloc` 46 | * `camkes_dma_page_free` 47 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-2.2.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-2.2.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_2.2.0/ 5 | - /camkes_release/CAmkES_2.2.0.html 6 | title: camkes-2.2.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES 2.2.0 Release Notes 12 | 13 | 14 | ## New Features 15 | 16 | 17 | * realtime extensions: CAmkES systems can now run on [realtime seL4](/sel4_release/seL4_1.0.0-rt-dev). It is possible to configure the realtime properties of systems built to run on realtime seL4. 18 | - For more details, see the 19 | [Realtime Extensions section of the CAmkES Manual](https://github.com/seL4/camkes-tool/blob/master/docs/index.md#realtime-extensions). 20 | 21 | - support for seL4 3.1.0 22 | 23 | ## Documentation Additions 24 | 25 | 26 | - "Keywords" section in manual 27 | 28 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-2.3.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-2.3.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_2.3.0/ 5 | - /camkes_release/CAmkES_2.3.0.html 6 | title: camkes-2.3.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES 2.3.0 Release Notes 12 | 13 | 14 | ## New Features 15 | 16 | 17 | - support for seL4 4.0.0 18 | - new dependency: [Haskell Stack](http://haskellstack.org) 19 | - Haskell Stack is a haskell version and package manager. It 20 | takes care of installing an appropriate version of ghc and 21 | cabal for building the capDL translator - part of CAmkES' 22 | build system. 23 | 24 | 25 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-2.3.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-2.3.1 3 | redirect_from: 4 | - /camkes_release/CAmkES_2.3.1/ 5 | - /camkes_release/CAmkES_2.3.1.html 6 | title: camkes-2.3.1 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES 2.3.1 Release Notes 12 | 13 | 14 | ## New Features 15 | 16 | 17 | - support for seL4 5.2.0 18 | 19 | 20 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.1.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_3.1.0/ 5 | - /camkes_release/CAmkES_3.1.0.html 6 | title: camkes-3.1.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES 3.1.0 Release Notes 12 | 13 | 14 | ## Default Values for Attributes 15 | 16 | 17 | It's now possible to give a default value when specifying an attribute 18 | of a component in a `component { ... }` block. 19 | 20 | Specific details from manual: 21 | 22 | * It is possible to give an attribute a default value when it 23 | is declared. If there are no settings for an attribute, the default 24 | setting will be used. If an attribute is aliased to a different 25 | attribute that also has a default, then the different attribute's 26 | default will override the original default. 27 | 28 | ### Meaningful Thread Names 29 | 30 | 31 | In seL4 threads can be named. A thread's name appears in the kernel's 32 | debugging printouts when the thread faults. Names of threads created by 33 | CAmkES are now named 34 | `:` for interface 35 | threads, and `:control` for control 36 | threads. 37 | 38 | ### Scheduling Context Size Bits Attribute 39 | 40 | 41 | When using CAmkES realtime extensions, the `size_bits` field of a 42 | scheduling context can be set in CAmkES ADL. For interface threads, 43 | specify the size bits of bound scheduling contexts with 44 | `._sc_size_bits = ...;`. 45 | For control threads, specify the size bits of bound scheduling contexts 46 | with `._sc_size_bits = ...;`. 47 | 48 | ### Documentation Fixes 49 | 50 | 51 | - Removed outdated information about dependencies 52 | 53 | ### Bug Fixes 54 | 55 | 56 | - Fixed bug in parser preventing empty lists of the form `[]` from 57 | parsing correctly 58 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.10.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.10.0 3 | title: camkes-3.10.0 4 | project: camkes 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2021 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # CAmkES Version camkes-3.10.0 Release 9 | 10 | Announcing the release of `camkes-3.10.0` with the following changes: 11 | 12 | camkes-3.10.0 2021-06-10 13 | Using seL4 version 12.1.0 14 | 15 | ## Changes 16 | 17 | * Fixed new line generation in `show_attribute_value`. 18 | * Added const expression attributes to help convert CAmkES attributes to literals. 19 | * Fixed broken Python nosetests that weren't updated when moving to Python3 from Python2. 20 | * Added caching when querying DMA frame physical addresses to avoid unnecessary kernel context switch overheads. 21 | * Changed templates and libraries to be DMA cache-aware and to not ignore requests for cache-able memory 22 | allocations. 23 | * Added a macro function for every dataport to query its size. 24 | * Changed DMA bookkeeping to keep track of pools of frames and not individual frames. 25 | * Added code to sanitize the names of nested components for the naming of a components' DMA pool. 26 | * Converted the repository to use SPDX license tags. 27 | * Fixed the passing of LD flags to the linker from CAmkES generation tools. 28 | * Added the failing C pre-processor command to an exception in the CAmkES parser tools for easier diagnosis. 29 | * Moved the CAmkES component interface header contents away from `camkes.h` and into separate header files that is 30 | included by `camkes.h`. 31 | * Simplified the `sys_uname` library function. 32 | * Fix handling of array parameters for the CAmkES templates. 33 | * Sped up proofs for cdl-refine. 34 | * Fixed a CMake argument marshalling bug in the `execute_process_with_stale_check` function. 35 | 36 | ### Upgrade Notes 37 | 38 | * DMA pools now require an option to be set explicitly to be made to be cache-able. In a `.camkes` CAmkES assembly 39 | file, add the following `.dma_pool_cached = True;` in the 'configuration' block to make a component's 40 | DMA pool to be cached. Additionally, use `camkes_dma_alloc` in libsel4camkes with the correct arguments to allocate 41 | cached DMA memory from that pool. 42 | 43 | # Full changelog 44 | Use `git log camkes-3.9.0..camkes-3.10.0` in 45 | 46 | 47 | # More details 48 | See the 49 | [documentation](https://github.com/seL4/camkes-tool/blob/camkes-3.10.0/docs/index.md) 50 | or ask on the mailing list! 51 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.3.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.3.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_3.3.0/ 5 | - /camkes_release/CAmkES_3.3.0.html 6 | title: camkes-3.3.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES Version camkes-3.3.0 Release 12 | 13 | 14 | Announcing the release of `camkes-3.3.0` with the following changes: 15 | 16 | camkes-3.3.0 2018-04-11 17 | 18 | Using seL4 version 9.0.0 19 | 20 | ## Changes 21 | * Hardware dataport with large frame sizes issue has been fixed 22 | * Bug fix: Enumerating connections for hierarchical components with custom connection types is now done correctly 23 | * Bug fix: Data structure caching is now correctly invalidated between builds 24 | * Initial CMake implementation for CAmkES. See the CAmkES test apps for examples. 25 | 26 | ## Upgrade notes 27 | * No special upgrade requirements. 28 | 29 | ## Known issues 30 | * Hierarchical components that export dataport connectors create compilation errors as the templates cannot accurately 31 | tell that the connector of the parent component is exported from the child and no code should be generated. A 32 | temporary workaround involves making the dataport connection explicitly available to the parent component. 33 | 34 | --- 35 | 36 | 37 | 38 | # Full changelog 39 | Use `git log camkes-3.2.0..camkes-3.3.0` in 40 | 41 | 42 | # More details 43 | See the 44 | [documentation](https://github.com/seL4/camkes-tool/blob/camkes-3.3.0/docs/index.md) 45 | or ask on the mailing list! 46 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.4.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.4.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_3.4.0/ 5 | - /camkes_release/CAmkES_3.4.0.html 6 | title: camkes-3.4.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES Version camkes-3.4.0 Release 12 | 13 | 14 | Announcing the release of `` with the following changes: 15 | 16 | camkes-3.4.0 2018-04-18 17 | 18 | Using seL4 version 9.0.1 19 | 20 | ## Changes 21 | 22 | 23 | ## Upgrade Notes 24 | --- 25 | 26 | 27 | # Full changelog 28 | Use `git log camkes-3.3.0..camkes-3.4.0` in 29 | 30 | 31 | # More details 32 | See the 33 | [documentation](https://github.com/seL4/camkes-tool/blob/camkes-3.4.0/docs/index.md) 34 | or ask on the mailing list! 35 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.5.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.5.0 3 | redirect_from: 4 | - /camkes_release/CAmkES_3.5.0/ 5 | - /camkes_release/CAmkES_3.5.0.html 6 | title: camkes-3.5.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES Version camkes-3.5.0 Release 12 | 13 | Announcing the release of `camkes-3.5.0` with the following changes: 14 | 15 | camkes-3.5.0 2018-05-28 16 | Using seL4 version 10.0.0 17 | 18 | This release is the last release with official support for Kbuild based projects. 19 | This release and future releases use CMake as the build system for building applications. 20 | 21 | ## Changes 22 | * Remove `crit` and `max_crit` fields from TCB CapDL Object 23 | These fields were previously added to support an earlier version of seL4-mcs that gave threads criticality fields. 24 | This feature was removed from seL4-mcs. This also means that the arguments to camkes-tool, `--default-criticality` 25 | and `--default-max-criticality`, have also been removed. 26 | 27 | ## Upgrade Notes 28 | * Calls to `camkes.sh` that used the above arugments will need to be updated. 29 | 30 | 31 | 32 | # Full changelog 33 | Use `git log camkes-3.4.0..camkes-3.5.0` in 34 | 35 | 36 | # More details 37 | See the 38 | [documentation](https://github.com/seL4/camkes-tool/blob/camkes-3.5.0/docs/index.md) 39 | or ask on the mailing list! 40 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.6.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.6.0 3 | redirect_from: 4 | - /camkes_release/Camkes_3.6.0/ 5 | - /camkes_release/Camkes_3.6.0.html 6 | title: camkes-3.6.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # Camkes Version camkes-3.6.0 Release 12 | 13 | Announcing the release of `camkes-3.6.0` with the following changes: 14 | 15 | camkes-3.6.0 2018-11-07 16 | Using seL4 version 10.1.0 17 | 18 | ## Changes 19 | 20 | * AARCH64 is now supported. 21 | * CakeML components are now supported. 22 | * Added `query` type to Camkes ADL to allow for querying plugins for component configuration values. 23 | * Components can now make dtb queries to parse device information from dts files. 24 | * Component definitions for serial and timer added on exynos5422, exynos5410, pc99. 25 | * Preliminary support for Isabelle verification of generated capDL. 26 | - See cdl-refine-tests/README for more information 27 | * Simplify and refactor the alignment and section linking policy for generated Camkes binaries. 28 | * Dataports are now required to declare their size in the ADL. 29 | * Templates now use seL4_IRQHandler instead of seL4_IRQControl, which is consistent with the seL4 API. 30 | - This change is BREAKING. 31 | * Remove Kbuild based build system. 32 | * Remove caches that optimised the Kbuild build system, which are not required with the new Cmake build system. 33 | * Added virtqueue infrastructure to libsel4camkes, which allows virtio style queues between components. 34 | 35 | 36 | ## Upgrade Notes 37 | 38 | * Any dataport definitions that did not specify a size must be updated to use a size. 39 | * Any template that used seL4_IRQControl must be updated to use seL4_IRQHandler. 40 | * Projects must now use the new Cmake based build system. 41 | 42 | 43 | 44 | # Full changelog 45 | Use `git log camkes-3.5.0..camkes-3.6.0` in 46 | 47 | 48 | # More details 49 | See the 50 | [documentation](https://github.com/seL4/camkes-tool/blob/camkes-3.6.0/docs/index.md) 51 | or ask on the mailing list! 52 | -------------------------------------------------------------------------------- /content_collections/_releases/camkes/camkes-3.7.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: camkes-3.7.0 3 | redirect_from: 4 | - /camkes_release/Camkes_3.7.0/ 5 | - /camkes_release/Camkes_3.7.0.html 6 | title: camkes-3.7.0 7 | project: camkes 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # CAmkES Version camkes-3.7.0 Release 12 | 13 | Announcing the release of `camkes-3.7.0` with the following changes: 14 | 15 | camkes-3.7.0 2018-11-12 16 | Using seL4 version 10.1.1 17 | 18 | ## Changes 19 | 20 | 21 | ## Upgrade Notes 22 | 23 | 24 | # Full changelog 25 | Use `git log camkes-3.6.0..camkes-3.7.0` in 26 | 27 | 28 | # More details 29 | See the 30 | [documentation](https://github.com/seL4/camkes-tool/blob/camkes-3.7.0/docs/index.md) 31 | or ask on the mailing list! 32 | -------------------------------------------------------------------------------- /content_collections/_releases/capdl/0.2.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 0.2.1 3 | title: 0.2.1 4 | project: capdl 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2021 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # capDL Version 0.2.1 Release 9 | 10 | Announcing the release of `0.2.1` with the following changes: 11 | 12 | 0.2.1 2021-06-10 13 | Using seL4 version 12.1.0 14 | 15 | ## Changes 16 | 17 | * Added page-upper-directory caps to the valid TCB check for platforms like QEMU arm-virt as they use different paging 18 | structures. 19 | * Added const qualifiers to the capdl-loader-app to avoid compiler warnings against other libraries. 20 | * Improved the README for the capdl-loader-app. 21 | 22 | ## Upgrade Notes 23 | 24 | * None to be aware of. This is not a source-breaking or binary-breaking release. 25 | 26 | # Full changelog 27 | Use `git log capdl-0.2.0..0.2.1` in 28 | 29 | 30 | # More details 31 | See the 32 | [documentation](https://github.com/seL4/capdl/tree/master/capDL-tool/doc) 33 | or ask on the mailing list! 34 | -------------------------------------------------------------------------------- /content_collections/_releases/capdl/0.3.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 0.3.0 3 | title: 0.3.0 4 | project: capdl 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2024 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # capDL Version 0.3.0 Release 10 | 11 | #### 2024-07-01 12 | 13 | Announcing the release of `0.3.0`, using seL4 version 13.0.0. 14 | 15 | ### Changes 16 | 17 | * add support for SMC capability 18 | * add support for binding notifications to TCBs 19 | * enable MCS build; use `seL4_TCB_SetAffinity` only for non-MCS kernels 20 | * allow `SchedControlCap` to refer to a secondary core 21 | * minimal update for seL4 AArch64 VSpace API change, removing `seL4_ARM_PageGlobalDirectoryObject` 22 | * `object_sizes`: add include for deprecated constants, because some definitions 23 | that `object_sizes` depends on are now found in a `deprecated.h` header file. 24 | * Clean up and clarify `arm11` usage in capDL despite ARMv6 removal 25 | * `cdl_utils`: remove `simpleeval` python dependency 26 | * Run GitHub tests with python 3.9 27 | * added vulnerability reporting policy 28 | 29 | #### capdl-loader 30 | 31 | * use `seL4_BootInfoFrameSize` instead of hard-coded page size 32 | * python + loader: Add support for generating fault handler caps with specific 33 | rights. Behaviour is unchanged (`seL4_AllRights`) if no rights are provided. 34 | * ensure heap is aligned 35 | 36 | #### capDL-tool 37 | 38 | * update to LTS Haskell 20.25, ghc-9.2.8 39 | * fix several cases in `validObjPars`: `Period`, `IOAPIC`, `MSIHandle`, `CBNumber` 40 | 41 | ### Upgrade Notes 42 | 43 | * existing capDL specs should continue to work 44 | * AArch64 VSpace changes may allow simplification of some capDL specs 45 | 46 | 47 | ## Full changelog 48 | 49 | Use `git log 0.2.1..0.3.0` in 50 | 51 | ## More details 52 | 53 | See the [documentation](https://github.com/seL4/capdl/tree/master/capDL-tool/doc) 54 | or ask on the mailing list! 55 | -------------------------------------------------------------------------------- /content_collections/_releases/microkit/1.4.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1.4.1 3 | title: 1.4.1 4 | project: microkit 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2024 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # Microkit Release 1.4.1 10 | 11 | #### 2024-08-16 12 | 13 | This release contains various bug fixes. It does not include any new features. 14 | 15 | * Fixed two bugs in the tool that lead to initialisation failure on larger Microkit systems. 16 | * Disabled the `KernelArmVtimerUpdateVOffset` kernel configuration option by default. 17 | * This is necessary for Microkit VMs where they rely on knowing the actual surpassed time. 18 | More details are in the [pull request](https://github.com/seL4/microkit/pull/202). 19 | * Enabled FPU for QEMU RISC-V virt and Pine64 Star64. 20 | * libmicrokit builds with hardware floating point enabled and, while it does not use the FPU, 21 | it means that every object linked with libmicrokit must also build with hardware floating 22 | point enabled. Previously using floating point operations would cause a crash in user-space. 23 | * Fixed the loader link address for the MaaXBoard. 24 | * This does mean that if you target the MaaxBoard you will have to load Microkit images at 25 | a different address. See the manual for details. 26 | * Added error checking for overlapping memory regions. 27 | * Included every TCB register in the monitor logs when a fault occurs. 28 | * Made the tool compile from source with a Rust version lower that 1.79.0. 29 | * Specified a minimum Rust version for the tool (1.73.0). 30 | * Fixed typo in the `--help` output of the tool. 31 | * Minor README fixes. 32 | * Updated PyYAML dependency in requirements.txt to 6.0.2 (from 6.0). 33 | 34 | ## Full changelog 35 | 36 | Use `git log 1.4.0..1.4.1` in 37 | 38 | ## More details 39 | 40 | See the [documentation](https://github.com/seL4/microkit/blob/main/docs/manual.md) 41 | or ask on the mailing list! 42 | -------------------------------------------------------------------------------- /content_collections/_releases/microkit/2.0.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2.0.1 3 | title: 2.0.1 4 | project: microkit 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # Microkit Release 2.0.1 10 | 11 | #### 2025-03-20 12 | 13 | This release contains various bug fixes. It does not include any new features. 14 | 15 | * Fixed a regression introduced in 2.0.0 when using channel numbers greater than 32. 16 | * Fixed building SDK on Linux AArch64 hosts. 17 | * Fixed loader output to always output return character before newline. 18 | * Fixed loader to initialise UART for QEMU virt AArch64 to silence warnings 19 | when using `-d guest_errors`. 20 | * Report error when user-specified PD mappings overlap with it's own ELF 21 | or stack region. 22 | * Included kernel bug-fix that prevented Raspberry Pi 4B booting correctly. 23 | 24 | ## Full changelog 25 | 26 | Use `git log 2.0.0..2.0.1` in 27 | 28 | ## More details 29 | 30 | See the [documentation](https://github.com/seL4/microkit/blob/main/docs/manual.md) 31 | or ask on the mailing list! 32 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/10.0.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 10.0.0 3 | version_digits: 2 4 | redirect_from: 5 | - /sel4_release/seL4_10.0.0/ 6 | - /sel4_release/seL4_10.0.0.html 7 | title: seL4 10.0.0 8 | project: sel4 9 | SPDX-License-Identifier: CC-BY-SA-4.0 10 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 11 | --- 12 | 13 | # seL4 Version 10.0.0 Release 14 | Announcing the release of `seL4 10.0.0` with the following changes: 15 | 16 | 10.0.0 2018-05-28: BREAKING 17 | 18 | - Final version of the kernel which supports integration with Kbuild based projects 19 | - Future versions, including this one, provide a CMake based build system 20 | 21 | For more information see [Building](/Developing/Building). 22 | 23 | ## Changes 24 | 25 | * x86 IO ports now have an explicit IOPortControl capability to gate their creation. IOPort capabilities may now only 26 | be created through the IOPortControl capability that is passed to the rootserver. Additionally IOPort capabilities 27 | may not be derived to have smaller ranges and the IOPortControl will not issue overlapping IOPorts 28 | * 32-bit support added for the initial prototype RISC-V architecture port 29 | 30 | ## Upgrade Notes 31 | 32 | * A rootserver must now create IOPort capabilities from the provided IOPortControl capability. As IOPorts can not 33 | have their ranges further restricted after creation it must create capabilities with the final desired granularity, 34 | remembering that since ranges cannot overlap you cannot issue a larger and smaller range that have any IO ports 35 | in common. 36 | 37 | 38 | 39 | # Full changelog 40 | Refer to the git log in 41 | using `git log 9.0.1..10.0.0` 42 | 43 | # More details 44 | See the 45 | [10.0.0 manual](http://sel4.systems/Info/Docs/seL4-manual-10.0.0.pdf) included in the release or ask on the mailing list! 46 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/10.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 10.1.0 3 | version_digits: 2 4 | redirect_from: 5 | - /sel4_release/seL4_10.1.0/ 6 | - /sel4_release/seL4_10.1.0.html 7 | title: seL4 10.1.0 8 | project: sel4 9 | SPDX-License-Identifier: CC-BY-SA-4.0 10 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 11 | --- 12 | 13 | # seL4 Version 10.1.0 Release 14 | Announcing the release of `seL4 10.1.0` with the following changes: 15 | 16 | 10.1.0 2018-11-07: SOURCE COMPATIBLE 17 | 18 | ## Changes 19 | 20 | * structures in the boot info are not declared 'packed' 21 | - these were previously packed (in the GCC attribute sense) 22 | - some field lengths are tweaked to avoid padding 23 | - this is a source-compatible change 24 | * ARM platforms can now set the trigger of an IRQ Handler capability 25 | - seL4_IRQControl_GetTrigger allows users to obtain an IRQ Handler capability 26 | and set the trigger (edge or level) in the interrupt controller. 27 | * Initial support for NVIDIA Jetson TX2 (ARMv8a, Cortex A57) 28 | * AARCH64 support added for raspberry pi 3 platform. 29 | * Code generation now use jinja2 instead of tempita. 30 | * AARCH32 HYP support added for running multiple ARM VMs 31 | * AARCH32 HYP VCPU registers updated. 32 | * A new invocation for setting TLSBase on all platforms. 33 | - seL4_TCB_SetTLSBase 34 | * Kbuild/Kconfig/Makefile build system removed. 35 | 36 | 37 | 38 | # Full changelog 39 | Refer to the git log in 40 | using `git log 10.0.0..10.1.0` 41 | 42 | # More details 43 | See the 44 | [10.1.0 manual](http://sel4.systems/Info/Docs/seL4-manual-10.1.0.pdf) included in the release or ask on the mailing list! 45 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/10.1.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 10.1.1 3 | version_digits: 2 4 | redirect_from: 5 | - /sel4_release/seL4_10.1.1/ 6 | - /sel4_release/seL4_10.1.1.html 7 | title: seL4 10.1.1 8 | project: sel4 9 | SPDX-License-Identifier: CC-BY-SA-4.0 10 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 11 | --- 12 | 13 | # seL4 Version 10.1.1 Release 14 | Announcing the release of `seL4 10.1.1` with the following changes: 15 | 16 | 10.1.1 2018-11-12: BINARY COMPATIBLE 17 | 18 | ## Changes 19 | * Remove theoretical uninitialised variable use in infer_cpu_gic_id for binary translation validation 20 | 21 | ## Upgrade Notes 22 | * 10.1.0 has a known broken test in the proofs. 10.1.1 fixes this test. 23 | 24 | 25 | 26 | # Full changelog 27 | Refer to the git log in 28 | using `git log 10.1.0..10.1.1` 29 | 30 | # More details 31 | See the 32 | [10.1.1 manual](http://sel4.systems/Info/Docs/seL4-manual-10.1.1.pdf) included in the release or ask on the mailing list! 33 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/2.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: seL4 2.1.0 3 | version: 2.1.0 4 | redirect_from: 5 | - /sel4_release/seL4_2.1.0/ 6 | - /sel4_release/seL4_2.1.0.html 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # seL4 2.1.0 Release Notes 12 | ## New Features 13 | 14 | - ability to generate libsel4 system calls without inlining them 15 | - new kernel debugging feature added, which allows developers to 16 | call debug_printKernelEntryReason anywhere in the kernel which 17 | will output the entry reason and relevant arguments. 18 | 19 | ## Implementation improvements 20 | 21 | 22 | - Some duplication between kernel and libsel4 removed. 23 | - Many changes refactoring the x86 code base in preparation for the 24 | upcoming x86_64 platform port. 25 | 26 | ## API Additions 27 | 28 | 29 | - `seL4_MappingFailedLookupLevel()` - get the page table level a 30 | frame mapping failed at. This will always return 2 (second level 31 | page table) for currently supported 32 bit platforms. 32 | - `seL4_NumInitialCaps` constant added to `bootinfo.h` to track the 33 | first free slot in the initial task's cspace. 34 | 35 | ## Upgrade notes 36 | 37 | 38 | Source compatible, some API additions. 39 | 40 | ## Full changelog 41 | 42 | 43 | Use `git log 2.0.0..2.1.0` 44 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/3.0.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: seL4 3.0.1 3 | version: 3.0.1 4 | redirect_from: 5 | - /sel4_release/seL4_3.0.1/ 6 | - /sel4_release/seL4_3.0.1.html 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # seL4 3.0.1 Release Notes 12 | 13 | 14 | This release adds support for the NVIDIA Tegra K1, along with other 15 | minor improvements. 16 | 17 | ## Implementation improvements 18 | 19 | 20 | - Support for NVIDIA Nvidia Tegra K1 added. 21 | - more reduction of duplication between kernel and libsel4. 22 | - Beagle now uses GPT9 instead of GPT11 as the kernel timer, which 23 | is much more accurate. 24 | - Fixes a bug where x86 would fault when built using -O0. 25 | 26 | ## Upgrade notes 27 | 28 | 29 | This change is source and binary compatible. 30 | 31 | ## Full changelog 32 | 33 | 34 | Use `git log 3.0.0..3.0.1` 35 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/3.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 3.1.0 3 | redirect_from: 4 | - /sel4_release/seL4_3.1.0/ 5 | - /sel4_release/seL4_3.1.0.html 6 | title: seL4 3.1.0 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # Introducing seL4 3.1.0 12 | 13 | 14 | - Adds single-core support for HiKey cortex-a53 board, in 32 bit 15 | mode (non-verified). This is the first armv8 platform 16 | seL4 supports. 17 | - haskell kernel moved to verification repos (used to be in seL4 18 | repo, available here now: 19 | 20 | 21 | # Implementation improvements 22 | 23 | 24 | - kernel now has debug feature which outputs part of the user stack 25 | on a double fault 26 | 27 | # API Changes 28 | 29 | 30 | ## API Additions 31 | 32 | 33 | - `X86PageDirectoryGetStatusBits` allows users to get the status 34 | bits of a virtual address mapping. This is not supported on PAE. 35 | 36 | # Upgrade notes 37 | 38 | 39 | - This release is source compatible. 40 | 41 | # Full changelog 42 | 43 | 44 | Use `git log 3.0.1..3.1.0` in 45 | 46 | # More details 47 | 48 | 49 | See the 50 | [3.1.0 manual](http://sel4.systems/Info/Docs/seL4-manual-3.1.0.pdf) included in the release for detailed descriptions of the new 51 | features. Or ask on the mailing list! 52 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/3.2.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 3.2.0 3 | redirect_from: 4 | - /sel4_release/seL4_3.2.0/ 5 | - /sel4_release/seL4_3.2.0.html 6 | title: seL4 3.2.0 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # Introducing seL4 3.2.0 12 | 13 | 14 | - ARM Hypervisor support. 15 | - ARM Jetson-TK1: Cleanup. 16 | - Benchmarking now supports tracking of syscalls. 17 | - Support for XSAVE feature set for x86 CPUs. 18 | - Simplified ARM platform selection during configuration. 19 | 20 | # Implementation improvements 21 | 22 | 23 | - Several enhancements for both `x86` and `ARM` have 24 | been made. Please see the commit log for details. 25 | 26 | # API Changes 27 | 28 | 29 | - No API changes in this release. 30 | 31 | # ABI Changes 32 | 33 | 34 | - `seL4_BootInfo` has a new entry for IOSpace caps for 35 | ARM SMMU. 36 | 37 | # Upgrade notes 38 | 39 | 40 | - This release is source compatible. 41 | 42 | # Full changelog 43 | 44 | 45 | Use `git log 3.1.0..3.2.0` in 46 | 47 | # More details 48 | 49 | 50 | See the 51 | [3.2.0 manual](http://sel4.systems/Info/Docs/seL4-manual-3.2.0.pdf) included in the release for detailed descriptions of the new 52 | features. Or ask on the mailing list! 53 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/5.0.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 5.0.0 3 | redirect_from: 4 | - /sel4_release/seL4_5.0.0/ 5 | - /sel4_release/seL4_5.0.0.html 6 | title: seL4 5.0.0 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # Introducing seL4 5.0.0 12 | Announcing the release of `seL4 5.0.0` 13 | with the following changes: 14 | 15 | Below are the changes to the seL4 ABI and API: 16 | 17 | ## Generic changes: 18 | 19 | - Add missing case to `seL4_getFault` (`seL4_Fault_DebugException`) 20 | - Explicitly pack bootinfo data structures 21 | - Modify `FinalizeLog` syscall - Now returns a number of entries in the log 22 | - Extend bootinfo to support potentially arbitrary additional structures 23 | - Deprecate bootinfo management in libsel4 - a replacement, `platsupport_get_bootinfo` can be found in `libsel4platsupport` 24 | 25 | ## x86 specific changes: 26 | 27 | - Pass VBE information from multiboot through bootinfo 28 | - Remove PAE support 29 | 30 | ## x86-64 specific changes: 31 | 32 | - VT-x related cap and object definitions added 33 | - seL4_VMEnter syscall added 34 | 35 | ## ARM specific changes: 36 | 37 | - ARM-HYP: VCPU interface for manipulating banked registers added 38 | - plat: added nvidia tx1 support 39 | - ARM-HYP: Add support for save/restore of debug registers 40 | - Add aarch64 implementation 41 | 42 | # Upgrade notes 43 | 44 | 45 | - This release breaks both API and ABI and is not source compatible 46 | with the earlier versions. 47 | 48 | # Full changelog 49 | 50 | 51 | Use `git log 4.0.0..5.0.0` in 52 | 53 | # More details 54 | 55 | 56 | See the 57 | [5.0.0 manual](http://sel4.systems/Info/Docs/seL4-manual-5.0.0.pdf) included in the release for detailed descriptions of the new 58 | features. Or ask on the mailing list! 59 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/5.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 5.1.0 3 | redirect_from: 4 | - /sel4_release/seL4_5.1.0/ 5 | - /sel4_release/seL4_5.1.0.html 6 | title: seL4 5.1.0 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # Introducing seL4 5.1.0 12 | Announcing the release of `seL4 5.1.0` 13 | with the following changes: 14 | 15 | Below are the changes to the seL4 ABI: 16 | 17 | ## x86-64 specific changes: 18 | 19 | - implement `seL4_BenchmarkFlushCaches` debug syscall. 20 | 21 | Below are other changes that do not affect the seL4 ABI: 22 | 23 | ## ARM specific changes: 24 | - ARM-HYP: internal changes to support ARM-HYP verification work. 25 | - kzm: fix timer reload overflow calculations 26 | 27 | # Upgrade notes 28 | 29 | 30 | - This release potentially breaks ABI with the earlier versions if 31 | using benchmarking kernel configurations. 32 | 33 | # Full changelog 34 | 35 | 36 | Use `git log 5.0.0..5.1.0` in 37 | 38 | # More details 39 | 40 | 41 | See the 42 | [5.1.0 manual](http://sel4.systems/Info/Docs/seL4-manual-5.1.0.pdf) included in the release or ask on the mailing list! 43 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/5.2.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 5.2.0 3 | redirect_from: 4 | - /sel4_release/seL4_5.2.0/ 5 | - /sel4_release/seL4_5.2.0.html 6 | title: seL4 5.2.0 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | # Introducing seL4 5.2.0 12 | Announcing the release of `seL4 5.2.0` 13 | with the following changes: 14 | 15 | Below are the changes to libsel4: 16 | 17 | - Add `seL4_FastMessageRegisters`: Exposes number of registers used 18 | in IPC for more optimised user-level IPC stubs. 19 | - Additional kernel entry types `VMExit` and `VCPUFault` added for 20 | benchmarking kernel entries. 21 | 22 | x86 specific changes: 23 | 24 | - multiboot memory map information passed to user-level through 25 | bootinfo extended regions 26 | - Expose more seL4 constants 27 | 28 | # Upgrade notes 29 | 30 | 31 | - This release potentially breaks ABI with the earlier versions if 32 | using benchmarking kernel configurations. 33 | 34 | # Full changelog 35 | 36 | 37 | Use `git log 5.1.0..5.2.0` in 38 | 39 | # More details 40 | 41 | 42 | See the 43 | [5.2.0 manual](http://sel4.systems/Info/Docs/seL4-manual-5.2.0.pdf) included in the release or ask on the mailing list! 44 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/8.0.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 8.0.0 3 | redirect_from: 4 | - /sel4_release/seL4_8.0.0/ 5 | - /sel4_release/seL4_8.0.0.html 6 | title: seL4 8.0.0 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | 12 | # seL4 Version 8.0.0 Release 13 | Announcing the release of `seL4 8.0.0` with the following changes: 14 | 15 | # Changes 16 | 17 | 18 | - Support for additional zynq platform Zynq UltraScale+ MPSoC 19 | (Xilinx ZCU102, ARMv8a, Cortex A53) 20 | - Support for multiboot2 bootloaders on x86 (contributed change 21 | from Genode Labs) 22 | - Deprecate `seL4_CapData_t` type and functions related to it 23 | - A fastpath improvement means that when there are two runnable 24 | threads and the target thread is the highest priority in the 25 | scheduler, the fastpath will be hit. 26 | Previously the fastpath would not be used on IPC from a 27 | high priority thread to a low priority thread. 28 | - As a consequence of the above change, scheduling behaviour 29 | has changed in the case where a non-blocking IPC is sent between two 30 | same priority threads: the sender will be scheduled, rather than the 31 | destination. 32 | - Benchmarking support for armv8/aarch64 is now available. 33 | - Additional x86 extra bootinfo type for retrieving frame buffer 34 | information from multiboot 2 35 | - Debugging option to export x86 Performance-Monitoring Counters to user level 36 | 37 | # Upgrade notes 38 | 39 | 40 | - `seL4_CapData_t` should be replaced with just seL4_Word. 41 | Construction of badges should just be x instead 42 | of `seL4_CapData_Badge_new(x)` and guards should 43 | be `seL4_CNode_CapData_new(x, y)` instead 44 | of `seL4_CapData_Guard_new(x, y)` 45 | - Code that relied on non-blocking IPC to switch between threads 46 | of the same priority may break. 47 | 48 | # Full changelog 49 | Refer to the git log in 50 | using `git log 7.0.0..8.0.0` 51 | 52 | # More details 53 | See the 54 | [8.0.0 manual](http://sel4.systems/Info/Docs/seL4-manual-8.0.0.pdf) included in the release or ask on the mailing list! 55 | -------------------------------------------------------------------------------- /content_collections/_releases/sel4/9.0.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: 9.0.1 3 | redirect_from: 4 | - /sel4_release/seL4_9.0.1/ 5 | - /sel4_release/seL4_9.0.1.html 6 | title: seL4 9.0.1 7 | project: sel4 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | 12 | # seL4 Version 9.0.1 Release 13 | Announcing the release of `seL4 9.0.1` with the following changes: 14 | 15 | 9.0.1 2018-04-18: BINARY COMPATIBLE 16 | 17 | ## Changes 18 | * On 64-bit architectures, the `label` field of `seL4_MessageInfo` is now 52 bits wide. User-level programs 19 | which use any of the following functions may break, if the program relies on these functions to mask the 20 | `label` field to the previous width of 20 bits. For more detail, see our 21 | [explanation on the seL4 mailing list](https://sel4.systems/pipermail/devel/2018-April/001934.html). 22 | - `seL4_MessageInfo_new` 23 | - `seL4_MessageInfo_get_label` 24 | - `seL4_MessageInfo_set_label` 25 | * Initial prototype RISC-V architecture port. This port currently only supports running in 64-bit mode without FPU or 26 | or multicore support on the Spike simulation platform. There is *no verification* for this platform. 27 | 28 | ## Upgrade Notes 29 | --- 30 | 31 | 32 | # Full changelog 33 | Refer to the git log in 34 | using `git log 9.0.0..9.0.1` 35 | 36 | # More details 37 | See the 38 | [9.0.1 manual](https://sel4.systems/Info/Docs/seL4-manual-9.0.1.pdf) included in the release or ask on the mailing list! 39 | -------------------------------------------------------------------------------- /content_collections/_status/camkes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Project Status 3 | project: camkes 4 | toc: true 5 | permalink: projects/camkes/status.html 6 | redirect_from: 7 | - status/camkes.html 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | 12 | # Camkes Project Status 13 | 14 | This status page currently shows the status of CAmkES features and supplied components. 15 | The feature list currently only tracks features of the CAmkES Architecture Description Language. 16 | Other CAmkES features that are currently not tracked here include: Plugins, Templating engine, 17 | CAmkES component runtime environments, Procedure IDL interfaces, CDL refine verification, Tooling 18 | and VisualCamkes. 19 | 20 | 21 | ## Features 22 | 23 | ### Camkes Architecture Description Language (ADL) 24 | 25 | Features of the CAmkES ADL are listed below. Features that are more experimental 26 | may not be compatible with the CDL-refinement CAmkES tooling. The Status field for 27 | each feature aims to indicate any known compatiblility issues related to a feature. 28 | 29 | {% include component_list.md project='camkes' list='features' type='adl-feature' %} 30 | 31 | 32 | ## Components 33 | 34 | ### Example Applications 35 | 36 | {% include component_list.md project='camkes' type='camkes-application' %} 37 | 38 | ### Reusable components 39 | 40 | {% include component_list.md project='camkes' type='camkes-component' %} 41 | 42 | 43 | ### Camkes Connectors 44 | 45 | {% include component_list.md project='camkes' type='camkes-connector' %} 46 | 47 | ## Project manifests 48 | 49 | ### Camkes project manifests 50 | These manifests are available for checking out the example CAmkES applications. 51 | 52 | {% include component_list.md project='camkes' type='repo-manifest' %} 53 | 54 | 55 | 56 | ## Configurations 57 | 58 | ### Camkes sample apps 59 | 60 | The project containing all of the CAmkES example applications has a couple of configuration 61 | options for selecting the example app and seL4 platform it runs on. 62 | 63 | {% include component_list.md project='camkes' list='configurations' type='camkes-option' %} 64 | -------------------------------------------------------------------------------- /content_collections/_status/user_libs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Project Status 3 | project: user_libs 4 | toc: true 5 | permalink: projects/user_libs/status.html 6 | redirect_from: 7 | - status/user_libs.html 8 | SPDX-License-Identifier: CC-BY-SA-4.0 9 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 10 | --- 11 | 12 | # user_libs Project Status 13 | 14 | ## Libraries 15 | 16 | ### util_libs 17 | 18 | {% include component_list.md project='user_libs' type='util_libs' %} 19 | 20 | ### projects_libs 21 | 22 | {% include component_list.md project='user_libs' type='projects_libs' %} 23 | 24 | ### seL4_libs 25 | 26 | {% include component_list.md project='user_libs' type='seL4_libs' %} 27 | 28 | ### seL4_projects_libs 29 | 30 | {% include component_list.md project='user_libs' type='seL4_projects_libs' %} 31 | 32 | 33 | 34 | ## libplatsupport 35 | 36 | 37 | ### Components 38 | 39 | #### Serial 40 | 41 | {% include component_list.md project='user_libs' type='user-driver-serial' %} 42 | 43 | 44 | #### Timer 45 | {% include component_list.md project='user_libs' type='user-driver-timer' %} 46 | 47 | 48 | #### Clock 49 | {% include component_list.md project='user_libs' type='user-driver-clock' %} 50 | 51 | #### I2C 52 | {% include component_list.md project='user_libs' type='user-driver-i2c' %} 53 | 54 | #### Pinmux 55 | {% include component_list.md project='user_libs' type='user-driver-pinmux' %} 56 | 57 | #### Reset 58 | {% include component_list.md project='user_libs' type='user-driver-reset' %} 59 | 60 | #### GPIO 61 | 62 | {% include component_list.md project='user_libs' type='user-driver-gpio' %} 63 | 64 | #### ltimer 65 | {% include component_list.md project='user_libs' type='user-driver-ltimer' %} 66 | 67 | #### ethernet 68 | {% include component_list.md project='user_libs' type='user-driver-ethernet' %} 69 | 70 | #### Other 71 | {% include component_list.md project='user_libs' type='user-driver-other' %} 72 | 73 | -------------------------------------------------------------------------------- /content_collections/_updates/camkes-vm/camkes-3.8.x.md: -------------------------------------------------------------------------------- 1 | --- 2 | project: camkes-vm 3 | title: "camkes-3.8.x-compatible" 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | # Updates to camkes-vm from camkes-3.7.x to camkes-3.8.0 8 | 9 | 10 | ## camkes-vm 11 | 12 | - `FileServer`: Move `fsclient` to `libFileServer-client`. 13 | `libFileServer-client` is now a library bundled with the `FileServer` 14 | component. Components that are clients of the RPC interface provided by 15 | the `FileServer` can now link this client library and initialise it with 16 | the name of the local-client interface binding (`fs` for `Init`) to set up 17 | the `muslc` syscall bindings. 18 | - Update RPC templates with new `grantreply` right (rather than `grant`). 19 | - `Ethdriver`: Fix DMA physical and virtual DMA address assumption. 20 | Previously, the component assumed that the physical and virtual DMA 21 | addresses are the same. This is supposedly the case on x86 platforms but 22 | not on ARM platforms. This commit fixes this assumption and correctly 23 | passes the physical DMA addresses down to the Ethernet device driver. 24 | - `Ethdriver`: Add ARM `Ethdriver` component and platform specific definitions 25 | - Add PicoServer component for providing a UDP/TCP socket client interface and 26 | consuming a `seL4Ethernet` interface. 27 | - `Ethdriver`: Use new `seL4DTBHardware` connector. 28 | This commit updates the ARM versions of the `Ethdriver` component to use 29 | the new `seL4DTBHardware` connector. This is done to remove the additional 30 | boilerplate code needed to initialise hardware resources. 31 | - Move `Ethdriver` and `PicoServer` components, templates and interfaces to `global-components` repository. 32 | - remove global `Configuration` library. 33 | - Update `virtio_net_switch` to new `libvirtqueue`. 34 | Introduces the necessary changes for the `virtio_net_switch` to work with 35 | the new multi buffer virtqueue. 36 | - CMake: Add Findcamkes-vm.cmake module 37 | 38 | 39 | ## camkes-vm-examples 40 | 41 | - Add griddle support for easy project configuration and building. 42 | - CMake: Update project to use CMake modules 43 | -------------------------------------------------------------------------------- /content_collections/_updates/sel4-tutorials/camkes-3.8.x.md: -------------------------------------------------------------------------------- 1 | --- 2 | project: sel4-tutorials 3 | title: "camkes-3.8.x-compatible" 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | # Updates to sel4-tutorials from camkes-3.7.x to camkes-3.8.0 8 | 9 | ## External 10 | 11 | - Add `fault-handlers` tutorial for learning about fault handlers. 12 | - `mcs`: Add section describing difference between mainline and mcs kernel APIs 13 | for registering fault handlers. 14 | - `hello-camkes-timer` tutorial: Fix init script to pick the correct tutorial. 15 | - `hello-camkes-[1-2]`: Hide tutorial files from instructions 16 | - `interrupts`: Remove sample output that doesn't appear in practice. 17 | - `hello-camkes-2`: Update exit text test to match actual output. 18 | - `mcs`: reduce spinner budget for final task to ensure timeout behavior happens correctly. 19 | - `libraries-4`: Correctly initalize a stack variable. 20 | - `hello-camkes-timer`: Use device tree for binding timer component to device and update tutorial. 21 | - `hello-camkes-timer`: Add part-2 to tutorial for describing how to use new seL4DTBHardware camkes connector. 22 | - `camkes-vm-crossvm`: Add error message if build configuration is incorrect. 23 | - `dynamic-4`: Remove duplicate vspace init function. 24 | - `hello-camkes-2`: Fix error in hint in task 8. 25 | - Refactor tutorial build system to better match typical usage in other project. Previously the tutorials indicated 26 | that their build scripts shouldn't be used outside of the tutorial project, but this is no longer the case. 27 | - `libraries-4`: Update platform timer API's to use ltimer interface. 28 | - `mcs`: Support running tutorial on kernel master branch since mcs branch was merged. 29 | - `mapping`: Remove seL4_X86_Page_Remap invocation from tutorial as kernel function had been removed. 30 | - `libraries-1`: fix completion text for task-3. 31 | - `hello-camkes-1`: Update instructions to match source code layout. 32 | - `untyped`: Make sure that untyped being used in tutorial doesn't correspond to a device. 33 | 34 | ## Internal 35 | - Update usage of `capdl_linker` tool to newer API. 36 | - Specify TCB CapDL attributes at allocation point. 37 | - `capdl-ld`: Add newly required `--keys` argument. 38 | - add `.stylefilter` for style tooling. 39 | - Style scripts. 40 | - Update scripts from `python2` to `python3`. 41 | - `hello-camkes-timer`: Correctly configure device tree tooling. 42 | - Port tutorials to use new `sel4runtime`. 43 | - Add support for custom build configuration `settings.cmake` files for each tutorial. 44 | - Remove dependence on global `Configuration` library. 45 | -------------------------------------------------------------------------------- /content_collections/_updates/sel4bench/11.0.x.md: -------------------------------------------------------------------------------- 1 | --- 2 | project: sel4bench 3 | title: "seL4 11.0.x-compatible" 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | # Updates to seL4Bench from seL4 10.1.x to 11.0.x 8 | 9 | ## External 10 | 11 | - Add new VCPU benchmarks. This new benchmark app benchmarks the following overheads: 12 | - The overhead of a `HVC` privilege escalation from EL1 to EL2. 13 | - The overhead of an `ERET` privilege de-escalation from EL2 to EL1. 14 | - The overhead of a `NULL` hypercall into the seL4 EL2 kernel. 15 | - The overhead of an `seL4_Call` syscall. 16 | - The overhead of an `seL4_Reply` syscall. 17 | - Add griddle support with `easy-settings.cmake` file. 18 | - Force FPU state to only be restored when used. 19 | This ensures that during benchmarks where the FPU state isn't being used 20 | that the FPU state does not get restored. This ensures that context 21 | switches in benchmarks accurately show the case where FPU restore is not 22 | performed. 23 | - Allow for platform counters to be enabled in IPC benchmark. 24 | - Update `page_mapping` benchmark to remap pages using the changed kernel API. 25 | 26 | ## Internal 27 | 28 | - `sel4bench`: make `plat_setup` a weak symbol and remove stub functions for each platform 29 | - `sel4bench`: Add newlines to `printf` calls. 30 | `printf` buffering the output makes debugging harder as output becomes 31 | ordered differently. 32 | - Update usages of `libcpio` to match new api. 33 | - Style files. 34 | - `smp`: use `SEL4BENCH_RESET_CCNT`. This is a generic function for achieving what the code was hardcoded to 35 | armv7 for. 36 | - `sel4bench`: start looking for untyped at `seL4_MaxUntypedBits`. 37 | - Use `sel4runtime`. 38 | - `libsel4benchsupport`: fix child process stack init by ensuring `benchmark_spawn_process` leaves the stack top 39 | intact. 40 | - `sel4bench`: remove `autoconf.h` and global `Configuration` library and link configuration libraries explicitly. 41 | - Rename configuration libraries to follow a consistent naming convention. 42 | - Use `sel4rpc` library for allocating untypeds. 43 | - Remove `sel4platsupport_timer` usages and replace with `ltimer` and new `ps_io_irq_t` interfaces. 44 | - Rename `CONFIG_KERNEL_RT` to `CONFIG_KERNEL_MCS`. 45 | - Fix SMP thread checkpointing. This fixes breakage in SMP x86_64 benchmark. 46 | - Refactor buildsystem to keep up with underlying changes. Try to also make configuration scripts easier to follow. 47 | - Use device tree for binding drivers to devices on Arm. 48 | -------------------------------------------------------------------------------- /content_collections/_updates/sel4runtime/11.0.x.md: -------------------------------------------------------------------------------- 1 | --- 2 | project: sel4runtime 3 | title: "seL4 11.0.x-compatible" 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # Updates to sel4runtime from seL4 10.1.x to 11.0.x 9 | 10 | - Created `sel4runtime` project to be a runtime for running a C or C-compatible process, i.e. one with a C-like main, in a minimal seL4 environment. 11 | - Added seL4 roottask runtime entry points for: AARCH32, AARCH64, IA32, x86_64, RISC-V 32-bit and RISC-V 64-bit with supporting documentation for calling conventions. 12 | - Added regular runtime entry points for non-roottask new processes for the above architectures. 13 | - Added CMake rules for replacing musllibc's CRT files with a CMake object library. 14 | - Added CMake configuration option, `Sel4RuntimeRootStack`, for setting Roottask's initial stack size. 15 | - Create runtime datastructure containing: 16 | - process name likely read from `argv[0]`. 17 | - AUX vector with additional seL4 specific AUX values: 18 | - `AT_SEL4_BOOT_INFO`: `seL4_BootInfo` pointer in current vspace. 19 | - `AT_SEL4_IPC_BUFFER_PTR`: IPC buffer pointer in current vspace of initial thread. 20 | - `AT_SEL4_TCB`: TCP capability `seL4_CPtr` to initial thread's TCB object. 21 | - Environment vector. 22 | - Bootinfo pointer to be initialized with bootinfo address from AUX vector. 23 | - ELF headers to be initialized with info from AUX vectors. 24 | - Initial thread information: 25 | - Thread local storage image information. 26 | - Cap to TCB if given in AUX vectors. 27 | - IPC buffer: if given in AUX vectors. 28 | - Add support for calling constructors and destructors. 29 | - Add support for managing threads' static TLS regions. 30 | - set a global `__sysinfo` pointer if `AT_SYSINFO` is set in AUX vector. 31 | - Call `main()` with required `argc` and `argv` arguments. 32 | - Support for setting TLS variables of threads remotely. 33 | - Call `seL4_DebugNameThread` if the runtime has a process name and the initial thread has a TCB cap 34 | and IPC buffer set. 35 | - Add `Findsel4runtime.cmake` module for importing as CMake module. 36 | -------------------------------------------------------------------------------- /content_collections/_updates/sel4webserver/camkes-3.8.x.md: -------------------------------------------------------------------------------- 1 | --- 2 | project: sel4webserver 3 | title: "camkes-3.8.x-compatible" 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # Updates to sel4webserver from camkes-3.7.x to camkes-3.8.0 9 | 10 | - Created `sel4webserver` project containing an seL4 webserver application. Its purpose is to be a reference for implementing applications on seL4. 11 | - This project currently builds an odroid-xu4 VM that runs linux and gets some devices passed through to it. 12 | - Add `lighttpd` module. This module will build and install a static binary of the `lighttpd` 13 | webserver into a VM overlay. It is currently configured to serve a 14 | static site on port `3000` out of `/run/site` in the VM. 15 | - Add `docsite` package that downloads, builds and packages a 16 | `docs.sel4.systems` static website. It is intended for being served by the 17 | `lighttpd` webserver added previously. 18 | -------------------------------------------------------------------------------- /processes/code-review.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/pull-requests.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/conduct.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/conduct.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/contributing.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/ 5 | --- 6 | -------------------------------------------------------------------------------- /processes/emails.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | --- 5 | 6 | # Contactable Email addresses 7 | 8 | This page attempts to be a directory of relevant email addresses relating to seL4. 9 | Public mailing lists allow anyone to sign-up to receive emails. 10 | Private mailing lists have a restricted set of receivers. 11 | 12 | ## Public mailing lists: 13 | 14 | - [announce@sel4.systems](https://lists.sel4.systems/postorius/lists/announce.sel4.systems/): For announcements about seL4. 15 | Sending to this list is restricted. 16 | - [devel@sel4.systems](https://lists.sel4.systems/postorius/lists/devel.sel4.systems/): For asking questions about seL4. 17 | 18 | ## Private mailing lists 19 | 20 | - [moderation@sel4.systems](mailto:moderation@sel4.systems): For requests or queries about community moderation. 21 | See [seL4 Code of Conduct](https://sel4.systems/Contribute/conduct.html). 22 | - [webmaster@sel4.systems](mailto:webmaster@sel4.systems): For website issues. 23 | - [support@sel4.systems](mailto:support@sel4.systems): For enquiries about professional (paid-for) support contracts. 24 | -------------------------------------------------------------------------------- /processes/git-conventions.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/git-conventions.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/irc-channel.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | --- 5 | -------------------------------------------------------------------------------- /processes/licenses.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Legal/license.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/rfc-process.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/rfc-process.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/roles.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/roles.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/style-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/style.html 5 | --- 6 | -------------------------------------------------------------------------------- /processes/websites.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 4 | --- 5 | 6 | # Websites 7 | 8 | This page attempts to be a directory of relevant websites relating to seL4. 9 | 10 | - [seL4 Homepage](https://sel4.systems) 11 | - [seL4 Documentation](https://docs.sel4.systems) 12 | - [GitHub.com/seL4](https://github.com/sel4/) 13 | - [GitHub.com/sel4proj](https://github.com/sel4proj) 14 | - [seL4 Discourse](https://sel4.discourse.group) 15 | - [seL4 Mattermost](https://mattermost.trustworthy.systems/sel4-external/) 16 | - [seL4 RFCs](https://sel4.github.io/rfcs/) 17 | - [seL4 Jira](https://sel4.atlassian.net) 18 | - [Trustworthy Systems: seL4](https://trustworthy.systems/projects/seL4/) 19 | - [Trustworthy Systems seL4 blog](https://research.csiro.au/tsblog) 20 | -------------------------------------------------------------------------------- /projects/available-user-components.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | layout: api 4 | redirect_from: 5 | - /UserlandComponents 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | # Available userlevel components 10 | 11 | This page serves as an index of components that are available across all projects. 12 | 13 | 14 | ## Native component libraries 15 | 16 | {% include component_list.md project='user_libs' type='util_libs' no_title=false continue_table=true %} 17 | {%- include component_list.md project='user_libs' type='projects_libs' no_title=true continue_table=true %} 18 | {%- include component_list.md project='user_libs' type='seL4_libs' no_title=true continue_table=true %} 19 | {%- include component_list.md project='user_libs' type='seL4_projects_libs' no_title=true %} 20 | 21 | 22 | 23 | ## Camkes reusable components 24 | 25 | {% include component_list.md project='camkes' type='camkes-component' %} 26 | 27 | ## Device drivers 28 | 29 | 30 | #### Serial 31 | 32 | {% include component_list.md project='user_libs' type='user-driver-serial' %} 33 | 34 | 35 | #### Timer 36 | {% include component_list.md project='user_libs' type='user-driver-timer' %} 37 | 38 | 39 | #### Clock 40 | {% include component_list.md project='user_libs' type='user-driver-clock' %} 41 | 42 | #### I2C 43 | {% include component_list.md project='user_libs' type='user-driver-i2c' %} 44 | 45 | #### Pinmux 46 | {% include component_list.md project='user_libs' type='user-driver-pinmux' %} 47 | 48 | #### Reset 49 | {% include component_list.md project='user_libs' type='user-driver-reset' %} 50 | 51 | #### GPIO 52 | 53 | {% include component_list.md project='user_libs' type='user-driver-gpio' %} 54 | 55 | #### ltimer 56 | {% include component_list.md project='user_libs' type='user-driver-ltimer' %} 57 | 58 | #### ethernet 59 | {% include component_list.md project='user_libs' type='user-driver-ethernet' %} 60 | 61 | #### Other 62 | {% include component_list.md project='user_libs' type='user-driver-other' %} 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /projects/buildsystem/host-dependencies.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | redirect_from: 4 | - /HostDependencies 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # Host Dependencies 10 | 11 | This page describes how to set up your host machine to build and run seL4 and its supported projects. To compile and use seL4 you can either: 12 | 13 | * *Recommended:* Use Docker to isolate the dependencies from your machine. Detailed instructions for using Docker for building seL4, Camkes, and L4v can be found [here](/projects/dockerfiles/). 14 | * Install the following dependencies on your local OS 15 | 16 | The following instructions describe how to set up the required dependencies on your local OS. This page assumes you are building in a Linux OS. We however encourage site [contributions](https://docs.sel4.systems/processes/docs-contributing.html) for building in alternative OSes (e.g. macOS). 17 | 18 | ## Get Google's Repo tool 19 | 20 | The primary way of obtaining and managing seL4 project source is through the use of Google's repo tool. To get repo, follow the instructions described in the section “Install” [here](https://gerrit.googlesource.com/git-repo#install). 21 | 22 | See the [RepoCheatsheet](repo-cheatsheet) page for a quick explanation of how we use Repo. 23 | 24 | {% assign items = site.dependencies | sort: 'order_priority' %} 25 | {% for project in items %} 26 | 27 | {{ project.content }} 28 | 29 | {% endfor %} 30 | -------------------------------------------------------------------------------- /projects/buildsystem/old/menuconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/projects/buildsystem/old/menuconfig.png -------------------------------------------------------------------------------- /projects/buildsystem/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/buildsystem 4 | project: buildsystem 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # seL4 Buildsystem Recent Updates 9 | 10 | {% include generic_update_page.md project='buildsystem' %} 11 | -------------------------------------------------------------------------------- /projects/camkes-vm/centos.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | redirect_from: 4 | - /VM/CAmkESVMCentOS 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # Boot CentOS on the CAmkES VM 10 | 11 | {% include include_github_repo_markdown.md repo='sel4/camkes-vm-examples' file='apps/x86/cma34cr_centos/README.md' indent_headings=true %} 12 | -------------------------------------------------------------------------------- /projects/camkes-vm/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/camkes-vm 4 | project: camkes-vm 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # camkes-vm Recent Updates 9 | 10 | {% include generic_update_page.md project='camkes-vm' %} 11 | -------------------------------------------------------------------------------- /projects/camkes-vm/zmq-samples.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ZeroMQ examples 3 | toc: true 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | {% include include_github_repo_markdown.md repo='sel4/camkes-vm-examples' file='apps/x86/zmq_samples/README.md' %} 9 | -------------------------------------------------------------------------------- /projects/camkes/cli.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /CAmkESCLI 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # CAmkES CLI 9 | 10 | 11 | The CAmkES CLI is a command line tool for initialising and managing 12 | CAmkES projects. It's loosely based on the rust build tool "cargo". It's 13 | structured as a command line tool with numerous subcommands. Usage for 14 | each can be viewed with `camkes-cli --help`. 15 | 16 | For an example project that can be managed by the CLI, see: 17 | 18 | 19 | ## Examples 20 | 21 | 22 | ### Create a new project from a template (creates new directory named 23 | "hello") 24 | 25 | 26 | ``` 27 | camkes-cli new hello --template hello_world 28 | ``` 29 | 30 | ### Initialise a fresh checkout of existing project 31 | ``` 32 | git clone https://github.com/SEL4PROJ/camkes-cli-example 33 | cd camkes-cli-example 34 | camkes-cli init 35 | ``` 36 | 37 | ### Build a project for x86 (run from inside project directory) 38 | 39 | 40 | ``` 41 | camkes-cli build x86 42 | ``` 43 | 44 | ### Run a project in qemu-system-i386 (builds first) 45 | 46 | 47 | ``` 48 | camkes-cli run x86 49 | ``` 50 | 51 | ### Generate boilerplate for a component named BlahServer with some 52 | interfaces 53 | ``` 54 | camkes-cli component BlahServer --dataport Buf b --consumes Signal sig 55 | ``` 56 | -------------------------------------------------------------------------------- /projects/camkes/imgs: -------------------------------------------------------------------------------- 1 | ../../_repos/sel4/camkes-tool/docs/imgs/ -------------------------------------------------------------------------------- /projects/camkes/manual.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CAmkES Manual 3 | toc: true 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | {% include include_github_repo_markdown.md repo='sel4/camkes-tool' file='docs/index.md' %} 9 | -------------------------------------------------------------------------------- /projects/camkes/releases.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | title: CAmkES Releases 4 | permalink: /releases/camkes 5 | redirect_from: 6 | - /camkes_release 7 | SPDX-License-Identifier: CC-BY-SA-4.0 8 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 9 | --- 10 | # CAmkES releases 11 | {% assign coll = site['releases'] | where: "project", "camkes" | reversed %} 12 | 13 | {% for release in coll %} 14 | 15 | [{{ release.title }}]({{ release.url }}) 16 | 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /projects/camkes/seL4SharedDataWithCaps.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /seL4SharedDataWithCaps 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # seL4SharedDataWithCaps 9 | 10 | 11 | `seL4SharedDataWithCaps` is a CAmkES connector for connecting dataport 12 | interfaces, where one side of the interface has caps to the frames 13 | backing the dataport. This is different from the common dataport 14 | connector `seL4SharedData`, in which neither side has caps to the frames. 15 | `seL4SharedData` is used in the CAmkES VM to implement Cross VM Dataports, 16 | which require the VMM to map memory backing a dataport into the VM's 17 | address space - an operation which requires caps to the frames. 18 | 19 | The templates and connector definition for `seL4SharedDataWithCaps` is in 20 | [global-components](https://github.com/seL4/global-components). 21 | 22 | For an example of this connector in action, see the 23 | [CAmkES VM](https://github.com/seL4/camkes-vm-examples/blob/master/apps/x86/optiplex9020/optiplex9020.camkes#L46). 24 | 25 | ### Usage 26 | 27 | 28 | Connect a pair of dataport interfaces, as with `seL4SharedData`. The `to` 29 | component instance on the side of the connection will have caps to the 30 | dataport frames in its cspace. The connector implements the following 31 | interface, which provides access to the caps mapping the dataport: 32 | [dataport_caps.h](https://github.com/seL4/camkes-vm/blob/3883770209ba2bfb4f85ed2b7d387731e2601b7d/common/include/dataport_caps.h). 33 | 34 | The interface on the `to` side of each `seL4SharedDataWithCaps` connection 35 | must be configured with a unique id and size: 36 | ``` 37 | ._id = = 1>; 38 | ._size = ; 39 | ``` 40 | 41 | Specifying a non-unique or non-positive id is an error. Specifying a 42 | size other than the size of the type of the dataport is an error. 43 | Omitting this configuration for an interface connected with 44 | `seL4SharedDataWithCaps` is an error. 45 | -------------------------------------------------------------------------------- /projects/camkes/visual-camkes/VisualCAmkES_Layout_Example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/projects/camkes/visual-camkes/VisualCAmkES_Layout_Example.png -------------------------------------------------------------------------------- /projects/camkes/visual-camkes/VisualCAmkES_UML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/projects/camkes/visual-camkes/VisualCAmkES_UML.png -------------------------------------------------------------------------------- /projects/camkes/visual-camkes/VisualCAmkES_userButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/projects/camkes/visual-camkes/VisualCAmkES_userButtons.png -------------------------------------------------------------------------------- /projects/capdl/c-loader-app.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: capdl-loader-app 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4/capdl' file='capdl-loader-app/README.md' %} 8 | -------------------------------------------------------------------------------- /projects/capdl/cdl-utils.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: cdl_utils 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4/capdl' file='cdl_utils/README.md' %} 8 | -------------------------------------------------------------------------------- /projects/capdl/object-sizes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: object-sizes CMake target 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4/capdl' file='object_sizes/README.md' %} 8 | -------------------------------------------------------------------------------- /projects/capdl/python-tool.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Python CapDL module 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4/capdl' file='python-capdl-tool/README.md' %} 8 | -------------------------------------------------------------------------------- /projects/capdl/translator.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CapDL translator 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4/capdl' file='capDL-tool/README.md' %} 8 | -------------------------------------------------------------------------------- /projects/docsite/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Meta Docsite 3 | toc: true 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | {% include include_external_markdown.md file='README.md' %} 9 | -------------------------------------------------------------------------------- /projects/driver_framework/AddressingOtherDevices.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc: true 3 | redirect_from: 4 | - /seL4DriverAPI/AddressingOtherDevices 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # seL4 Driver API Persistent Device Naming Scheme 10 | 11 | 12 | Recommended prior reading for this page is the seL4 Driver API's 13 | [location-based device addressing scheme](/seL4DriverAPI/ChildEnumeration#addressing-names). 14 | 15 | ## Constants 16 | 17 | 18 | ## Functions 19 | ```c 20 | seL4drv_connection_t *seL4drv_external_connect(); 21 | ``` 22 | ## Data structures 23 | ```c 24 | typedef void seL4drv_connection_t; 25 | ``` 26 | 27 | ## Description 28 | 29 | 30 | The seL4 Driver API requires the use of a persistent naming scheme which 31 | forms the basis of the IPC connection system between device instances. 32 | It is through this naming scheme that a device instance can call to its 33 | parent devices, and communicate with devices with which it has lateral 34 | dependencies. 35 | 36 | Devices' addressable names are generated by the parent driver that 37 | enumerates them. Child device enumeration is discussed in detail in the 38 | [Child Enumeration](/seL4DriverAPI/ChildEnumeration#addressing-names) article. 39 | 40 | A driver connects to an external device that it depends on by calling 41 | `seL4drv_external_connect()`, passing in the addressable name of the 42 | particular device that it wishes to connect to. The environment shall 43 | search its device tree for a device which has that name, and return a 44 | handle of type `seL4drv_connection_t *`. Notice that 45 | `seL4drv_connection_t` is of type `void` (see [above](#data-structures)): 46 | this is because it is an opaque handle, and the 47 | driver is not meant to dereference this handle after receiving it. This 48 | handle is meant to be passed to subsequent function calls to the 49 | particular API that was connected to in order to maintain context 50 | between the driver and the target device. 51 | 52 | If the environment is unable to locate a device whose addressable name 53 | matches the one supplied in the call to `seL4drv_external_connect()`, it 54 | shall return **NULL**. The calling driver shall take this to mean that 55 | the device is trying to connect to does not exist, or that it exists but 56 | the environment does not have a driver that can drive it, and so is 57 | unusable. 58 | -------------------------------------------------------------------------------- /projects/elfloader/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Elfloader 3 | toc: true 4 | project: elfloader 5 | layout: project 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | {% include include_github_repo_markdown.md repo='sel4/sel4_tools' file='elfloader-tool/README.md' %} 10 | -------------------------------------------------------------------------------- /projects/elfloader/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/elfloader 4 | project: elfloader 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # Elfloader Recent Updates 9 | 10 | {% include generic_update_page.md project='elfloader' %} 11 | -------------------------------------------------------------------------------- /projects/hardware_hacks/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /HardwareHacks 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # Hardware Hacks 9 | We have built various bits and pieces to enable easier use of our 10 | hardware. Some of these are documented here in case others might find 11 | them useful. The issue is that we want our embedded hardware to be 12 | shareable between multiple users and an automated test harness. The 13 | manufacturers of most of our gadgets assume we're going to be using a 14 | TTL to USB serial converter and Fastboot; this doesn't scale, as when 15 | you have several plugged in, the enumeration order is not fixed, so 16 | there's no way to tell which of many gadgets you are talking to. 17 | 18 | The general approach we take is: 19 | 20 | 1. As far as possible, boot everything on power-up via DHCP and 21 | TFTP 22 | 2. Connect a debug serial port via a [Level Converter](level-converter) to a Lantronix 23 | serial concentrator. An ETS16P for example provides 16 24 | RS422/RS232 ports, and can be obtained for less than $100 25 | on eBay. 26 | 3. Connect power for each device via a network-controllable switch. 27 | For most of our gadgets we're using a cubieTruck and an pair of 28 | arduino-connected 8-way relay boards, hooked up to an old AT 29 | power supply top give 5V or 12V depending on each 30 | board's requirements. It doesn't matter much provided that via 31 | the network, one can turn on, turn off, and query the power 32 | state of a particular port. 33 | 34 | We use a set of MachineQueue scripts to arbitrate access to the various 35 | gadgets. 36 | 37 | A few machines already have a base-management-controller; if they have 38 | it we use it. 39 | 40 | One machine, the CMA34D, needed some extras; they are documented on 41 | [CMA34DBMC](/CMA34DBMC). 42 | -------------------------------------------------------------------------------- /projects/hardware_hacks/level-converter/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /LevelConverter 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # Level Converter 9 | 10 | Most of our gadgets have serial ports that work at 1V8 or 3V3 11 | single-ended; our serial concentrator expects true RS422 or RS232, at 12 | ±12 to ±25V. So we need to provide a level converter/driver to convert 13 | between the low level single-ended signals on the boards, and the 14 | high-level differential voltages for transmission to the serial 15 | concentrator. 16 | 17 | We used the suggested circuit in the 18 | [Manufacturer's Datasheet](http://datasheets.maximintegrated.com/en/ds/MAX218.pdf), laid out on a piece of perfboard. 19 | 20 | Image of Level convertor circuit on prototype board 21 | 22 |

This picture shows one wired to convert a single channel; because most 23 | of our gadgets need only a three-wire interface, you can convert two 24 | channels with one chip. The converter is powered from the gadget: 25 | provide 1V8 or 3V3 depending on the signalling level.

26 | -------------------------------------------------------------------------------- /projects/hardware_hacks/level-converter/levelconverter-small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seL4/docs/9f8ce8e8210bfe7ee1fdf34be5cdc172f0d3b110/projects/hardware_hacks/level-converter/levelconverter-small.jpg -------------------------------------------------------------------------------- /projects/l4v/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: The Proofs 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | # The seL4 Proofs 8 | 9 | The formal proofs for seL4 are hosted at . 10 | 11 | They are written in the [Isabelle/HOL][1] theorem prover, and some 12 | familiarity with this tool is required to understand them. There are many 13 | learning resources available for Isabelle -- see the Isabelle website for 14 | tutorials and reference manuals, and [this blog][2] post for a list of what 15 | you'd need to really get deep into the proofs. 16 | 17 | There are also many publications about these proofs, some of which are fairly 18 | complex. A comprehensive technical overview is available in the [2014 TOCS 19 | paper][4]. It's been a few years since then, but the technical concepts are 20 | still current. 21 | 22 | The repository [README file][3] shows which proofs are where, and how to set 23 | up your machine to run them. You can run and check that the proofs work for a 24 | specific version of seL4 without a deep understanding of their content -- 25 | that is one of the advantages of machine-checked proofs. 26 | 27 | We're planning to add more pointers to this page on how to get started on 28 | smaller contributions. Stay tuned for updates and feel free to raise pull 29 | requests to add more information yourself! 30 | 31 | [1]: http://isabelle.in.tum.de 32 | [2]: http://proofcraft.org/blog/proof-engineer-reading.html 33 | [3]: https://github.com/seL4/l4v/blob/master/README.md 34 | [4]: https://trustworthy.systems/publications/nictaabstracts/Klein_AEMSKH_14.abstract 35 | -------------------------------------------------------------------------------- /projects/microkit/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Microkit 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | # The seL4 Microkit 8 | 9 | The seL4 Microkit is an operating system framework on top of seL4 provides a small set of simple abstractions that ease the design and implementation of statically structured systems on seL4, while still leveraging the kernel’s benefits of security and performance. 10 | 11 | The Microkit is distributed as an SDK that integrates with the build system of your choice, significantly reducing the barrier to entry for new users of seL4. 12 | 13 | ## More information 14 | - [Microkit GitHub repository](https://github.com/sel4/microkit) 15 | {% assign project = site.data.projects["microkit"] %} 16 | {% for link in project.useful_urls %} 17 | - [{{ link.label }}]({{ link.url }}) 18 | {% endfor %} 19 | -------------------------------------------------------------------------------- /projects/roadmap.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/roadmap.html 5 | --- 6 | -------------------------------------------------------------------------------- /projects/rust/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /Rust 4 | SPDX-License-Identifier: CC-BY-SA-4.0 5 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 6 | --- 7 | 8 | # Rust 9 | 10 | Support for the Rust programming language in seL4 userspace can be found in the [seL4/rust-sel4 repository on GitHub](https://github.com/sel4/rust-sel4). 11 | -------------------------------------------------------------------------------- /projects/sel4-tutorials/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/sel4-tutorials 4 | project: sel4-tutorials 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # seL4 tutorials Recent Updates 9 | 10 | {% include generic_update_page.md project='sel4-tutorials' %} 11 | -------------------------------------------------------------------------------- /projects/sel4/api-doc.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: api 3 | toc: true 4 | redirect_from: 5 | - /ApiDoc 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | 10 | # API Reference 11 | _Note: This page is auto-generated from the libsel4 API_ 12 | 13 | ## System Calls 14 | ------ 15 | 16 | ### General System Calls 17 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/GeneralSystemCalls.md %} 18 | 19 | ### Debugging System Calls 20 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/DebuggingSystemCalls.md %} 21 | 22 | ### Benchmarking System Calls 23 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/BenchmarkingSystemCalls.md %} 24 | 25 | ### X86 System Calls 26 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/X86SystemCalls.md %} 27 | 28 | ## Architecture-Independent Object Methods 29 | ------ 30 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApi.md %} 31 | 32 | ## x86-Specific Object Methods 33 | ------ 34 | 35 | ### General x86 Object Methods 36 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiX86.md %} 37 | 38 | ### IA32-Specific Object Methods 39 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiIa32.md %} 40 | 41 | ### x86_64-Specific Object Methods 42 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiX64.md %} 43 | 44 | ## ARM-Specific Object Methods 45 | ------ 46 | 47 | ### General ARM Object Methods 48 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiArm.md %} 49 | 50 | ### Aarch32-Specific Object Methods 51 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiAarch32.md %} 52 | 53 | ### Aarch64-Specific Object Methods 54 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiAarch64.md %} 55 | 56 | ## RISCV-Specific Object Methods 57 | ------ 58 | 59 | {% include_absolute _repos/sel4/sel4/manual/generated_markdown/ObjectApiRISCV.md %} 60 | -------------------------------------------------------------------------------- /projects/sel4/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Learn/ 5 | --- 6 | -------------------------------------------------------------------------------- /projects/sel4/frequently-asked-questions.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/About/FAQ.html 5 | --- 6 | -------------------------------------------------------------------------------- /projects/sel4/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: The seL4 microkernel 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | {% include include_github_repo_markdown.md repo='sel4/sel4' file='README.md' %} 7 | -------------------------------------------------------------------------------- /projects/sel4/platf-owner.md: -------------------------------------------------------------------------------- 1 | --- 2 | SPDX-License-Identifier: CC-BY-SA-4.0 3 | SPDX-FileCopyrightText: 2025 seL4 Project a Series of LF Projects, LLC. 4 | redirect_to: https://sel4.systems/Contribute/platform-ports.html 5 | --- 6 | -------------------------------------------------------------------------------- /projects/sel4_tools/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: seL4_tools 3 | layout: project 4 | project: sel4_tools 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | # seL4_tools 10 | 11 | seL4_tools contains the [Elfloader](/projects/elfloader) and [CMake build system](/projects/buildsystem) as well as a series of miscellaneous scripts. 12 | 13 | {% include include_github_repo_markdown.md repo='sel4/sel4_tools' file='misc/README.md' indent_headings=true %} 14 | -------------------------------------------------------------------------------- /projects/sel4bench/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sel4bench 3 | layout: project 4 | project: sel4bench 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | 9 | {% include include_github_repo_markdown.md repo='sel4/sel4bench' file='README.md' %} 10 | -------------------------------------------------------------------------------- /projects/sel4bench/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/sel4bench 4 | project: sel4bench 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # sel4bench Recent Updates 9 | 10 | {% include generic_update_page.md project='sel4bench' %} 11 | -------------------------------------------------------------------------------- /projects/sel4runtime/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: The seL4 run-time 3 | toc: true 4 | layout: project 5 | project: sel4runtime 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | {% include include_github_repo_markdown.md repo='sel4proj/sel4runtime' file='README.md' %} 10 | 11 | 12 | {% include include_github_repo_markdown.md repo='sel4proj/sel4runtime' file='crt/README.md' indent_headings=true %} 13 | -------------------------------------------------------------------------------- /projects/sel4runtime/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/sel4runtime 4 | project: sel4runtime 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # seL4 run-time Recent Updates 9 | 10 | {% include generic_update_page.md project='sel4runtime' %} 11 | -------------------------------------------------------------------------------- /projects/sel4test/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/sel4test 4 | project: sel4test 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # seL4test Recent Updates 9 | 10 | {% include generic_update_page.md project='sel4test' %} 11 | -------------------------------------------------------------------------------- /projects/sel4webserver/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: seL4webserver reference application 3 | toc: true 4 | layout: project 5 | project: sel4webserver 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | {% include include_github_repo_markdown.md repo='sel4proj/sel4webserver' file='README.md' %} 10 | -------------------------------------------------------------------------------- /projects/sel4webserver/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/sel4webserver 4 | project: sel4webserver 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # seL4webserver Recent Updates 9 | 10 | {% include generic_update_page.md project='sel4webserver' %} 11 | -------------------------------------------------------------------------------- /projects/user_libs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /SeL4Libraries 4 | layout: project 5 | project: user_libs 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | 10 | # Internal Libraries 11 | 12 | 13 | We have four major collections of libraries developed in house: 14 | 15 | - **[seL4_libs](https://github.com/seL4/seL4_libs)**: 16 | seL4 specific libs that were started before the open sourcing of 17 | seL4 18 | - **[util_libs](https://github.com/seL4/util_libs)**: OS 19 | independent libs that were started before the open sourcing of 20 | seL4 21 | - **[seL4_projects_libs](https://github.com/seL4/seL4_projects_libs)**: 22 | seL4 specific libs that were started after the open sourcing of 23 | seL4 - new libraries should go here. 24 | - **[projects_libs](https://github.com/seL4/projects_libs)**: 25 | OS independent libs that were started after the open source of 26 | seL4 - new OS independent libs should go here. 27 | 28 | Please see the specific readmes of each library collection for more 29 | detail. 30 | 31 | # External libraries 32 | 33 | 34 | We keep external libraries in non-condensed repos so that it is trivial 35 | to pull in upstream changes. 36 | 37 | - **[libmuslc](https://github.com/seL4/libmuslc)** - the 38 | c library we use. 39 | - ... 40 | 41 | -------------------------------------------------------------------------------- /projects/user_libs/updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | permalink: /updates/user_libs 4 | project: user_libs 5 | SPDX-License-Identifier: CC-BY-SA-4.0 6 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 7 | --- 8 | # user_libs Recent Updates 9 | 10 | {% include generic_update_page.md project='user_libs' %} 11 | -------------------------------------------------------------------------------- /projects/virtualization/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_from: 3 | - /VM/ 4 | layout: project 5 | project: virtualization 6 | SPDX-License-Identifier: CC-BY-SA-4.0 7 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 8 | --- 9 | 10 | # Virtualisation on seL4 11 | 12 | 13 | ## Virtualisation Libraries 14 | 15 | Virtualisation support on seL4 is underpinned by two libraries. These being: 16 | * [libsel4vm](/projects/virtualization/libsel4vm): A guest hardware virtualisation library for x86 (ia32) and ARM (ARMv7/w virtualization extensions & ARMv8) 17 | * [libsel4vmmplatsupport](/projects/virtualization/libsel4vmmplatsupport): A library containing various VMM utilities and drivers that can be used to construct a guest VM on a supported platform 18 | 19 | These libraries can be utilized to construct VMM servers through providing useful interfaces to create VM(+VCPU) instances, manage *guest* physical address spaces and provide virtual device support (among multiple other things). 20 | Refer to each library to see further documentation regarding their features and APIs. 21 | 22 | ## Reference VMMs 23 | 24 | Multiple projects exist that make use of our virtualisation infrastructure on seL4. These include: 25 | 26 | * [x86 and Arm virtualisation](/projects/camkes-vm) 27 | * [CentOS](/projects/camkes-vm/centos) 28 | 29 | -------------------------------------------------------------------------------- /projects/virtualization/libsel4vm.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: libsel4vm 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4proj/sel4_projects_libs' file='libsel4vm/README.md' %} 8 | -------------------------------------------------------------------------------- /projects/virtualization/libsel4vmmplatsupport.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: libsel4vmmplatsupport 3 | SPDX-License-Identifier: CC-BY-SA-4.0 4 | SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC. 5 | --- 6 | 7 | {% include include_github_repo_markdown.md repo='sel4proj/sel4_projects_libs' file='libsel4vmmplatsupport/README.md' %} 8 | -------------------------------------------------------------------------------- /tools/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Data61, CSIRO 2 | # SPDX-License-Identifier: BSD-2-Clause 3 | 4 | FROM ruby:2 5 | 6 | RUN apt-get update -q \ 7 | && apt-get install -y --no-install-recommends \ 8 | doxygen \ 9 | python3-dev \ 10 | python3-bs4 \ 11 | python3-lxml \ 12 | python3-six \ 13 | python3-jinja2 \ 14 | python3-sh \ 15 | python3-pip \ 16 | python3-pyelftools \ 17 | && apt-get clean autoclean \ 18 | && apt-get autoremove --yes \ 19 | && pip3 install setuptools camkes-deps \ 20 | && rm -rf /var/lib/{apt,dpkg,cache,log}/ 21 | 22 | # Init bundle dependencies 23 | RUN git clone https://github.com/seL4/docs.git \ 24 | && cd docs \ 25 | && bundle install \ 26 | && cd / \ 27 | && rm -rf docs 28 | 29 | # Jekyll will be serving on 127.0.0.1:4000 30 | EXPOSE 4000 31 | -------------------------------------------------------------------------------- /tools/gen_markdown_api_doc.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | # Copyright 2020 Data61, CSIRO 4 | # SPDX-License-Identifier: BSD-2-Clause 5 | 6 | import sys 7 | import os 8 | import argparse 9 | 10 | parser = argparse.ArgumentParser() 11 | parser.add_argument("-f", "--file", dest="file", type=str, 12 | help="Markdown location (within repository)") 13 | parser.add_argument("-o", "--output", dest="output", type=str, 14 | help="Output docsite file") 15 | args = parser.parse_args() 16 | 17 | base = os.path.basename(args.file) 18 | title = os.path.splitext(base)[0] 19 | output = '''--- 20 | title: {0} 21 | --- 22 | 23 | {{% include_absolute {1} %}} 24 | '''.format(title, args.file) 25 | with open(args.output, "w") as output_file: 26 | output_file.write(output) 27 | -------------------------------------------------------------------------------- /tools/get_repos.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | # Copyright 2020 Data61, CSIRO 4 | # SPDX-License-Identifier: BSD-2-Clause 5 | 6 | import sys 7 | from yaml import load, dump 8 | 9 | # Try use libyaml C bindings first for parsing. Fall back to python implementations 10 | # otherwise. 11 | try: 12 | from yaml import CLoader as Loader 13 | except ImportError: 14 | from yaml import Loader 15 | 16 | # Parse yaml file from stdin and output a newline separated list of repositories 17 | data = load(sys.stdin, Loader=Loader) 18 | try: 19 | if "repositories" in data: 20 | for repo in data["repositories"]: 21 | print(("%s/%s" % (repo["org"], repo["repo"])).lower()) 22 | except: 23 | pass 24 | --------------------------------------------------------------------------------