vtop ==== :: NAME vtop - virtual to physical SYNOPSIS vtop [-c [pid | taskp]] [-u|-k] address ... DESCRIPTION This command translates a user or kernel virtual address to its physical address. Also displayed is the PTE translation, the vm_area_struct data for user virtual addresses, the mem_map page data associated with the physical page, and the swap location or file location if the page is not mapped. The -u and -k options specify that the address is a user or kernel virtual address; -u and -k are not necessary on processors whose virtual addresses self-define themselves as user or kernel. User addresses are translated with respect to the current context unless the -c option is used. Kernel virtual addresses are translated using the swapper_pg_dir as the base page directory unless the -c option is used. -u The address is a user virtual address; only required on processors with overlapping user and kernel virtual address spaces. -k The address is a kernel virtual address; only required on processors with overlapping user and kernel virtual address spaces. -c [pid | taskp] Translate the virtual address from the page directory of the specified PID or hexadecimal task_struct pointer. However, if this command is invoked from "foreach vtop", the pid or taskp argument should NOT be entered; the address will be translated using the page directory of each task specified by "foreach". address A hexadecimal user or kernel virtual address. EXAMPLES Translate user virtual address 80b4000: crash> vtop 80b4000 VIRTUAL PHYSICAL 80b4000 660f000 PAGE DIRECTORY: c37f0000 PGD: c37f0080 => e0d067 PMD: c37f0080 => e0d067 PTE: c0e0d2d0 => 660f067 PAGE: 660f000 PTE PHYSICAL FLAGS 660f067 660f000 (PRESENT|RW|USER|ACCESSED|DIRTY) VMA START END FLAGS FILE c773daa0 80b4000 810c000 77 PAGE PHYSICAL INODE OFFSET CNT FLAGS c0393258 660f000 0 17000 1 uptodate Translate kernel virtual address c806e000, first using swapper_pg_dir as the page directory base, and secondly, using the page table base of PID 1359: crash> vtop c806e000 VIRTUAL PHYSICAL c806e000 2216000 PAGE DIRECTORY: c0101000 PGD: c0101c80 => 94063 PMD: c0101c80 => 94063 PTE: c00941b8 => 2216063 PAGE: 2216000 PTE PHYSICAL FLAGS 2216063 2216000 (PRESENT|RW|ACCESSED|DIRTY) PAGE PHYSICAL INODE OFFSET CNT FLAGS c02e9370 2216000 0 0 1 crash> vtop -c 1359 c806e000 VIRTUAL PHYSICAL c806e000 2216000 PAGE DIRECTORY: c5caf000 PGD: c5cafc80 => 94063 PMD: c5cafc80 => 94063 PTE: c00941b8 => 2216063 PAGE: 2216000 PTE PHYSICAL FLAGS 2216063 2216000 (PRESENT|RW|ACCESSED|DIRTY) PAGE PHYSICAL INODE OFFSET CNT FLAGS c02e9370 2216000 0 0 1 Determine swap location of user virtual address 40104000: crash> vtop 40104000 VIRTUAL PHYSICAL 40104000 (not mapped) PAGE DIRECTORY: c40d8000 PGD: c40d8400 => 6bbe067 PMD: c40d8400 => 6bbe067 PTE: c6bbe410 => 58bc00 PTE SWAP OFFSET 58bc00 /dev/sda8 22716 VMA START END FLAGS FILE c7200ae0 40104000 40b08000 73 SWAP: /dev/sda8 OFFSET: 22716