| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
XXX: have to ensure this still does the right thing on P9
|
|
|
|
|
|
| |
This reverts commit f795d2904010c0b2e2ad8d8163dffc906ce8cef7.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
| |
XXX: have to ensure this still does the right thing on P9
|
|
|
|
| |
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
|
|
|
|
|
|
|
|
| |
I have changed a few bits here and there but this patch is largely
authored by Alistair Popple.
Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
| |
Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
Reviewed-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
| |
Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
|
|
|
|
|
|
| |
We have them in libpdbg.h already.
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
|
|
|
|
|
| |
... and avoid duplicate definitions
Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This uses ramming to pull out most registers. There are more
SPRs to left to add.
Ramming remains set over all register extraction, by keeping
ram_is_setup target attribut. This helps to speed things up
and minimise disturbance to the host.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
|
|
|
|
|
|
| |
Like the sreset change, this allows rammers to use !expert mode.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
|
|
|
|
|
|
|
| |
Using P9_TTYPE_CI_PARTIAL_WRITE instead of P9_TTYPE_CI_PARTIAL_OOO_WRITE
because that is what cronus does.
Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thread status can return the current hardware smt state of a thread
pretty easily, the information is in POW_STATUS_REG which we already
read.
It should be noted that the value read by the scom has nothing to do
with the ppc64_cpu --smt value. The value returned by the hardware is
really how the hardware is operating, it will happy be in SMT1 and
having a thread using the entire core. The other threads to not need to
be asleep for SMT1 to be reported, something like the Linux idle loop
(but without sleep states) will do it. This means that an SMT1 thread
with three others active threads spinning could at any time jump report
SMT4 depending on the load of the system.
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The existing API between libpdbg and pdbg was poorly defined. Other
programs are beginning to utilise libpdbg so a more strictly defined API
would be beneficial. This patch introduces a new header (libpdbg.h) which
includes the definition of a public API for libpdbg and updates pdbg to
only depend on this.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
| |
In preparation for a better defined libpdbg API rename "struct target" to
something less generic so that we can export the name.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is not Hardware Transactional Memory, rather it is the Hardware Trace
Macro (HTM) which can be used to gather data about hardware activity.
Currently only Nest HTM is implemented.
Only runs on a PPC host on a kernel built with CONFIG_PPC_MEMTRACE and
CONFIG_PPC_SCOM.
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
| |
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
| |
This patch adds support for starting and stopping threads on POWER9 as well as
instruction ramming which is required to read/write GPRs, etc.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
|
|
| |
The previous implementation of targeting was hardcoded, cumbersome
and difficult to reconfigure for different chip types. This moves to a
method of configuring targets using device-tree which is much easier
to maintain and allows methods to be added to support operations like
getmem on POWER9.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creatively named 'kernel', this uses the SoftFSI aka OpenFSI aka fsi
kernel driver.
This backend triggers a probe of all attached FSI devices by the
kernel. This assumes a single slave appears in sysfs, and uses the
'raw' device to perform reads and writes directly to the CFAM address
space and SCOM space.
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
|
|
|
| |
Signed-off-by: Xo Wang <xow@google.com>
|
|
|
|
| |
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
| |
Support detecting different chip types so we enable chip type
dependent behaviour.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
| |
Different boards have different FSI GPIO mappings. This adds support
for selecting a board variant by passing -d to the bmcfsi backend.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instructions can only be rammed into a thread is all threads on a
chiplet are quiesced or sleeping. This was not properly enforced which
leads to system checkstops when ramming threads if the chip isn't
fully quiesced. This adds a check to ensure all threads are quiesced.
It also changes the startchip/stopchip behaviour to stop all threads
on the given chiplet regards of which threads are selected.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
| |
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
|
| |
Adds a command to read a 64-bit word from a given virtual address. The
address is read in the current thread context and may cause an
exception. In the case of exception it will be raised on the host when
thread execution is resumed.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
| |
This includes better support for selecting targets, probing thread
status and a number of other minor bugfixes. Also adds an option to
print version numbers.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
|
| |
The ADU always seems to return data in 8-byte chunks so rework the
code to only read 8-byte data chunks and reformat into correct size in
the output array.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
|
|
|
|
|
| |
Adds the -p option to select secondary processors and the 'probe'
command to detect which processors and threads are present.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|
|
pdbg is a tool to access P8 host registers and memory from the BMC for
kernel and firmware debugging purposes.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
|