File: addrxlat-linear

package info (click to toggle)
libkdumpfile 0.5.4-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,800 kB
  • sloc: ansic: 34,639; sh: 3,853; python: 1,490; makefile: 755
file content (37 lines) | stat: -rwxr-xr-x 850 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#! /bin/sh

#
# Check linear VTOP translation.
#

list="0x0:0x1234:0x1234"	      # Identity mapping
list="$list 0x100000:0x4567:0x104567" # Linear shift 0x100000
list="$list 0x1234:0x89ab:0x9bdf"     # True addition
list="$list -0x1000:0x2345:0x1345"    # Negative offset

totalrc=0
for tst in $list; do
    input="${tst%:*}"
    off="${input%:*}"
    input="${input#*:}"
    expect="${tst##*:}"
    echo -n "Checking $input... "
    output=$( ./addrxlat -l $off $input )
    rc=$?
    if [ $rc -gt 1 ]; then
        echo ERROR
        echo "Cannot translate $input" >&2
        exit $rc
    elif [ $rc -ne 0 ]; then
        echo FAILED
        totalrc=$rc
    elif [ "$output" != "$expect" ]; then
        echo FAILED
        echo "Result does not match for $input: $output" >&2
        totalrc=1
    else
        echo OK
    fi
done

exit $totalrc