Skip to content

Commit

Permalink
README: various improvements regarding dependencies.
Browse files Browse the repository at this point in the history
Signed-off-by: Ivan-Velickovic <i.velickovic@unsw.edu.au>
  • Loading branch information
Ivan-Velickovic committed Nov 12, 2024
1 parent 7becfb7 commit 88a4bb2
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 14 deletions.
48 changes: 34 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,28 +27,48 @@ The latest design documentation can be found [here](https://trustworthy.systems/
More information about the sDDF project can be found on the Trustworthy Systems website
[here](https://trustworthy.systems/projects/drivers/).

## Building and running examples
## Dependencies

You can find examples making use of the sDDF in the `examples/` directory. Each example has its
own README for how to build and run it.
* Microkit SDK 1.4.1
* GNU Make
* Clang and LLVM bintools

## Dependencies
The Microkit SDK can be acquired from [here](https://github.com/seL4/microkit/releases/tag/1.4.1).

sDDF is primarily compiled via Makefiles, but the [Zig](https://ziglang.org) build system is also
available. If you are intending on using Zig instead of Make, please see https://ziglang.org/download/.

See the instructions below for installing the rest of the dependencies based on your
machine:

### Toolchain
### apt

Any C toolchain should work but most testing and experimentation is currently performed with
the `aarch64-none-elf` GCC toolchain distributed by ARM. You can download it from
[here](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads).
On apt based Linux distributions run the following commands:

The specific version used for testing is:
`aarch64-none-elf-gcc (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103`.
```sh
sudo apt install make llvm lld
```

### Microkit SDK
### Homebrew

The sDDF is built using the [seL4 Microkit](https://github.com/seL4/microkit) (version 1.4.1).
On macOS, you can install the dependencies via Homebrew:
```sh
brew install llvm lld make
```

### Nix

There is a Nix flake available in the repository, so you can get a development shell via:
```sh
nix develop
```

## Examples

You can find examples making use of the sDDF in the `examples/` directory. Each example has its
own README for how to build and run it.

You can download version 1.4.1 of Microkit SDK from
[here](https://github.com/seL4/microkit/releases/tag/1.4.1).
Note that some examples may have dependencies in addition to the ones listed in this README.

## Developing sDDF

Expand Down
10 changes: 10 additions & 0 deletions examples/echo_server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,17 @@

# Network echo server

## Dependencies

Due to the echo server relying on libc functionality, it currently only works with GCC
instead of LLVM like all the other examples.

The specific toolchain we use for testing and benchmarking the network sub-system is
the `aarch64-none-elf` GCC toolchain distributed by ARM. You can download it from
[here](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads).

## Building

```sh
make BUILD_DIR=<path/to/build> MICROKIT_SDK=<path/to/sdk> MICROKIT_CONFIG=(benchmark/release/debug)
```
Expand Down

0 comments on commit 88a4bb2

Please sign in to comment.