Skip to content

Commit

Permalink
Project and build guidance update
Browse files Browse the repository at this point in the history
* Noted specific kernel and development tree on main page.
* Updated main page repository layout.
* Noted distro compatibility with Debian trixie/sid and
  kernel testing range.
* Additional clarity on patch versioning.
  • Loading branch information
chuckwolber authored and whentojump committed Aug 14, 2024
1 parent 741c9a0 commit f1b9450
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 23 deletions.
47 changes: 28 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,49 @@
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/xlab-uiuc/linux-mcdc/llvm-trunk.yml?label=LLVM%20trunk)](https://github.com/xlab-uiuc/linux-mcdc/actions/workflows/llvm-trunk.yml)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/xlab-uiuc/linux-mcdc/llvm-18.yml?label=LLVM%2018)](https://github.com/xlab-uiuc/linux-mcdc/actions/workflows/llvm-18.yml)

This project demonstrates MC/DC coverage on the 5.15.y Linux kernel source tree
using [llvm-cov](https://llvm.org/docs/CommandGuide/llvm-cov.html). Primary
development of the kernel patch set is being performed in the [xlab-uiuc/llvm-cov](https://github.com/xlab-uiuc/linux-cov)
project.

Follow the instructions [here](docs/measure-kernel-mcdc.md) to get started.

Example text coverage report: [link](https://github.com/xlab-uiuc/linux-mcdc/actions/runs/10013137034/job/27681036852#step:8:7) (login with any GitHub account required)

Example HTML coverage report:

<img src="screenshot.png" width="70%">

[[Get started (LLVM trunk)](https://github.com/xlab-uiuc/linux-mcdc/blob/llvm-trunk/docs/measure-kernel-mcdc.md)]
[[(LLVM 18)](https://github.com/xlab-uiuc/linux-mcdc/blob/llvm-18/docs/measure-kernel-mcdc.md)]

More materials will be posted here as soon as they are approved. Please stay
tuned!

Tentative repository structure:

```text
linux-mcdc
|
├── ci
│   ├── 1_install_deps.sh
│   ├── 2_pull_source.sh
│   ├── 3_get_llvm.sh
│   ├── 4_build_kernel.sh
│   └── 5_boot_kernel_and_collect_coverage.sh
|
├── docs
│ ├── elisa-slides.pdf
│ └── measure-kernel-mcdc.md
├── scripts
│ ├── build-llvm.sh
│ └── q
│   ├── elisa-slides.pdf
│   └── measure-kernel-mcdc.md
|
├── patches
│ ├── README.md
│ └── {v0.4,v0.5,v0.6}
│   ├── README.md
│   └── {v0.4,v0.5,v0.6}
|
├── README.md
|
├── screenshot.png
└── README.md
|
└── scripts
├── build-llvm.sh
└── q
```

We gave an ELISA seminar titled "Making Linux Fly: Towards Certified Linux
We gave an [ELISA](https://elisa.tech/) seminar titled "Making Linux Fly: Towards Certified Linux
Kernel".
[[recording](https://elisa.tech/blog/2024/05/28/making-linux-fly-towards-certified-linux-kernel/)]
[[slides](./docs/elisa-slides.pdf)]
Expand Down
4 changes: 2 additions & 2 deletions docs/measure-kernel-mcdc.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

- The following instructions are tested with:
- Architecture: x86_64
- Distro: Ubuntu 22.04
- Kernel: 5.15.0-86-generic
- Distro: Ubuntu 22.04 and Debian trixie/sid
- Kernel: 5.15.0 to 5.15.153

Other settings (e.g. Arm) can possibly work, but they are not fully tested.

Expand Down
4 changes: 2 additions & 2 deletions patches/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Version numbers less than 1.0 indicate internal circulation before being sent
out to the mailing list.
Version numbers less than 1.0 indicates internal circulation before being
submitted to the broader Linux Kernel development community.

0 comments on commit f1b9450

Please sign in to comment.