Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
0xf3f5f3f5f3f5f3f5-0xf3f5f3f5f3f5f3f5-NOPAN-NOWXN.txt
0xf3f5f3f5f3f5f3f5-0xf3f5f3f5f3f5f3f5-NOPAN-WXN.txt
0xf3f5f3f5f3f5f3f5-0xf3f5f3f5f3f5f3f5-PAN-NOWXN.txt
0xf3f5f3f5f3f5f3f5-0xf3f5f3f5f3f5f3f5-PAN-WXN.txt
0xfff0fff0fff0fff0-0xfff0fff0fff0fff0-NOPAN-NOWXN.txt
0xfff0fff0fff0fff0-0xfff0fff0fff0fff0-NOPAN-WXN.txt
0xfff0fff0fff0fff0-0xfff0fff0fff0fff0-PAN-NOWXN.txt
0xfff0fff0fff0fff0-0xfff0fff0fff0fff0-PAN-WXN.txt
0xfff0fff0fff0fff0-0xffffffffffffffff-NOPAN-NOWXN.txt
0xfff0fff0fff0fff0-0xffffffffffffffff-NOPAN-WXN.txt
0xfff0fff0fff0fff0-0xffffffffffffffff-PAN-NOWXN.txt
0xfff0fff0fff0fff0-0xffffffffffffffff-PAN-WXN.txt
0xfff5fff5fff5fff5-0xfff5fff5fff5fff5-NOPAN-NOWXN.txt
0xfff5fff5fff5fff5-0xfff5fff5fff5fff5-NOPAN-WXN.txt
0xfff5fff5fff5fff5-0xfff5fff5fff5fff5-PAN-NOWXN.txt
0xfff5fff5fff5fff5-0xfff5fff5fff5fff5-PAN-WXN.txt
0xfffff3f3fffff3f3-0xfffff3f3fffff3f3-NOPAN-NOWXN.txt
0xfffff3f3fffff3f3-0xfffff3f3fffff3f3-NOPAN-WXN.txt
0xfffff3f3fffff3f3-0xfffff3f3fffff3f3-PAN-NOWXN.txt
0xfffff3f3fffff3f3-0xfffff3f3fffff3f3-PAN-WXN.txt
0xffffffffffffffff-0xffffffffffffffff-NOPAN-NOWXN.txt
0xffffffffffffffff-0xffffffffffffffff-NOPAN-WXN.txt
0xffffffffffffffff-0xffffffffffffffff-PAN-NOWXN.txt
0xffffffffffffffff-0xffffffffffffffff-PAN-WXN.txt
README.md

README.md

Results

The results are generated by the parse utility working on a memory dump of a successful run of the aprr.bin. The tests are done with a single page of memory mapped with all 16 different possible TTE permissions. These 16 mappings are then each inserted in page tables with all 16 different possible HPD permissions. Then all of those mappings are tested for read, write and execute permission from EL1 and EL0 respectively. This entire test cycle is run four times, with PAN and WXN on and off each. The file names are:

[APRR0_MASK]-[APRR1_MASK]-(NO)PAN-(NO)WXN.txt

The first result block has 7 columns like this:

EL1R EL1W EL0R EL0W KRN/USR (HPD/HPD) APRR

The first four columns are obtained via the at instruction, which translated virtual to physical addresses for reads and writes from EL1 and EL0 respectively. If the translation succeeded, an okok is emitted, otherwise ----. Following that are the permissions specified in the TTE, then the HPD permissions specified for the page table, and finally the permissions granted by the APRR registers.

The second result block has four columns like this:

[ACTUAL]  TTE     (HPD)     APRR

The last 3 columns are the same as above, and the first is simply the actual permissions observed when attempting to read from, write to, or execute the page in question fron EL1/EL0.

You can’t perform that action at this time.