1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#! /bin/sh
#
# Check invalid VTOP translation for AArch64 with 64k pages.
#
pf="aarch64:16,13,13,6"
ptes="-e 0x00000:0x20003" # PUD[0] -> 20000
ptes="$ptes -e 0x00008:0xd0002" # PUD[1] -> INVALID
ptes="$ptes -e 0x00010:0xc0000000001" # PUD[2] -> BLOCK (not allowed here)
ptes="$ptes -e 0x20000:0x30003" # PUD[0] -> PMD[0] -> 30000
ptes="$ptes -e 0x20010:0xe0000790" # PUD[0] -> PMD[2] -> INVALID
ptes="$ptes -e 0x30000:0xa0792" # PUD[0] -> PMD[0] -> PTE[0] -> INVALID
ptes="$ptes -e 0x30008:0xb0791" # PUD[0] -> PMD[0] -> PTE[1] -> RESERVED
list="0x1234" # PUD[0] -> PMD[0] -> PTE[0]
list="$list 0x12345" # PUD[0] -> PMD[0] -> PTE[1]
list="$list 0x41234567" # PUD[0] -> PMD[2]
list="$list 0x400400389ab" # PUD[1]
list="$list 0x80040039abc" # PUD[2]
. "$srcdir"/addrxlat-invalid
|