Rev 566 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
566 | palkovsky | 1 | #!/usr/bin/env python |
2 | """ |
||
3 | Decode 64-bit address into components |
||
4 | """ |
||
5 | import sys |
||
6 | |||
7 | def main(): |
||
8 | if len(sys.argv) != 2 or not sys.argv[1].startswith('0x'): |
||
9 | print "%s 0x..." % sys.argv[0] |
||
10 | sys.exit(1) |
||
11 | |||
12 | address = int(sys.argv[1],16) |
||
13 | offset = address & 0xfff |
||
14 | ptl3 = (address >> 12) & 0x1ff |
||
15 | ptl2 = (address >> 21) & 0x1ff |
||
16 | ptl1 = (address >> 30) & 0x1ff |
||
17 | ptl0 = (address >> 39) & 0x1ff |
||
18 | print "Ptl0: %3d" % ptl0 |
||
19 | print "Ptl1: %3d" % ptl1 |
||
20 | print "Ptl2: %3d" % ptl2 |
||
21 | print "Ptl3: %3d" % ptl3 |
||
22 | print "Offset: 0x%x" % offset |
||
23 | |||
24 | if __name__ == '__main__': |
||
25 | main() |