Subversion Repositories HelenOS

Rev

Rev 1787 | 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()