Experiments on the Arm Cortex-A76.
Experiments with RAMINDEX and the L1I cache on the Arm Cortex-A76.
.
├── harness/ # Harness library crate
├── l1ifun/ # L1I RAMINDEX experiment
├── python/ # Scripts for analyzing data
└── README.md # (You are here)
In order to reproduce these experiments, you need the following:
-
The Raspberry Pi 5
-
eigenform/pirite, a bootloader that immediately halts for an external debugger -
eigenform/daphne, a CMSIS-DAP server and library for interacting with the target machine over SWD
See the pirite README
for more information on building the bootloader, preparing an appropriate
configuration for the target machine, and serving the bootloader over PXE.
See the daphne README
for more information on building and running the server.
The general idea here is:
- Connect debug probe to the host and Raspberry Pi
- Start serving
piriteover PXE to the Raspberry Pi - Start
daphne-server - Plug in the Raspberry Pi
- Wait for
daphne-serverto connect, then run thel1ifuncrate
After daphne-server has connected to the target, run an experiment:
$ cargo run --release --bin l1ifun
...