• Michael Ellerman's avatar
    powerpc: Add an xmon command to dump one or all pacas · ddadb6b8
    Michael Ellerman authored
    This was originally motivated by a desire to see the mapping between
    logical and hardware cpu numbers.
    
    But it seemed that it made more sense to just add a command to dump
    (most of) the paca.
    
    With no arguments "dp" will dump the paca for the current cpu.
    
    It also takes an argument, eg. "dp 3" which is the logical cpu number
    in hex. This form does not check if the cpu is possible, but displays
    the paca regardless, as well as the cpu's state in the possible, present
    and online masks.
    
    Thirdly, "dpa" will display the paca for all possible cpus. If there are
    no possible cpus, like early in boot, it will tell you that.
    
    Sample output, number in brackets is the offset into the struct:
    
    2:mon> dp 3
    paca for cpu 0x3 @ c00000000ff20a80:
     possible         = yes
     present          = yes
     online           = yes
     lock_token       = 0x8000            	(0x8)
     paca_index       = 0x3               	(0xa)
     kernel_toc       = 0xc00000000144f990	(0x10)
     kernelbase       = 0xc000000000000000	(0x18)
     kernel_msr       = 0xb000000000001032	(0x20)
     stab_real        = 0x0               	(0x28)
     stab_addr        = 0x0               	(0x30)
     emergency_sp     = 0xc00000003ffe4000	(0x38)
     data_offset      = 0xa40000          	(0x40)
     hw_cpu_id        = 0x9               	(0x50)
     cpu_start        = 0x1               	(0x52)
     kexec_state      = 0x0               	(0x53)
     __current        = 0xc00000007e568680	(0x218)
     kstack           = 0xc00000007e5a3e30	(0x220)
     stab_rr          = 0x1a              	(0x228)
     saved_r1         = 0xc00000007e7cb450	(0x230)
     trap_save        = 0x0               	(0x240)
     soft_enabled     = 0x0               	(0x242)
     irq_happened     = 0x0               	(0x243)
     io_sync          = 0x0               	(0x244)
     irq_work_pending = 0x0               	(0x245)
     nap_state_lost   = 0x0               	(0x246)
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    ddadb6b8
xmon.c 68.1 KB