[Pdbg] [PATCH] p8chip: Enable SRESET for P8
Alistair Popple
alistair at popple.id.au
Tue Feb 5 13:17:59 AEDT 2019
How well does this actually work for you? I believe the reason SRESET was not
enabled for P8 is that there are HW limitations preventing it from working
correctly in all circumstances. The work around (which we have never had time
to implement) was going to use instructions to stop execution and emulate what
SRESET should do.
Nick do you remember where we got to with SRESET for triggering a kdump on P8?
- Alistair
On Monday, 4 February 2019 1:52:46 PM AEDT Artem Senichev wrote:
> Add possibility to use NMI SRESET signal to initiate memory dumping
> with kdump.
> Despite broken implementation of SRESET handler in OPAL it's possible to use
> this signal in case of crash of the host OS.
> https://lists.ozlabs.org/pipermail/openpower-firmware/2018-April/000220.html
>
> Signed-off-by: Artem Senichev <a.senichev at gmail.com>
> ---
> libpdbg/p8chip.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/libpdbg/p8chip.c b/libpdbg/p8chip.c
> index 914c335..5b52033 100644
> --- a/libpdbg/p8chip.c
> +++ b/libpdbg/p8chip.c
> @@ -29,6 +29,7 @@
> #define RAS_STATUS_TIMEOUT 100
>
> #define DIRECT_CONTROLS_REG 0x0
> +#define DIRECT_CONTROL_SP_SRESET PPC_BIT(60)
> #define DIRECT_CONTROL_SP_STEP PPC_BIT(61)
> #define DIRECT_CONTROL_SP_START PPC_BIT(62)
> #define DIRECT_CONTROL_SP_STOP PPC_BIT(63)
> @@ -339,8 +340,8 @@ static int p8_thread_start(struct thread *thread)
>
> static int p8_thread_sreset(struct thread *thread)
> {
> - /* Broken on p8 */
> - return 1;
> + CHECK_ERR(pib_write(&thread->target, DIRECT_CONTROLS_REG,
> DIRECT_CONTROL_SP_SRESET)); + return 0;
> }
>
> static int p8_ram_setup(struct thread *thread)
More information about the Pdbg
mailing list