parisc: add KGDB support
This patch add KGDB support to PA-RISC. It also implements single-stepping utilizing the recovery counter. Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:

committed by
Helge Deller

parent
620a53d522
commit
eacbfce19d
68
arch/parisc/include/asm/kgdb.h
Normal file
68
arch/parisc/include/asm/kgdb.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* PA-RISC KGDB support
|
||||
*
|
||||
* Copyright (c) 2019 Sven Schnelle <svens@stackframe.org>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __PARISC_KGDB_H__
|
||||
#define __PARISC_KGDB_H__
|
||||
|
||||
#define BREAK_INSTR_SIZE 4
|
||||
#define PARISC_KGDB_COMPILED_BREAK_INSN 0x3ffc01f
|
||||
#define PARISC_KGDB_BREAK_INSN 0x3ffa01f
|
||||
|
||||
|
||||
#define NUMREGBYTES sizeof(struct parisc_gdb_regs)
|
||||
#define BUFMAX 4096
|
||||
|
||||
#define CACHE_FLUSH_IS_SAFE 1
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
static inline void arch_kgdb_breakpoint(void)
|
||||
{
|
||||
asm(".word %0" : : "i"(PARISC_KGDB_COMPILED_BREAK_INSN) : "memory");
|
||||
}
|
||||
|
||||
struct parisc_gdb_regs {
|
||||
unsigned long gpr[32];
|
||||
unsigned long sar;
|
||||
unsigned long iaoq_f;
|
||||
unsigned long iasq_f;
|
||||
unsigned long iaoq_b;
|
||||
unsigned long iasq_b;
|
||||
unsigned long eiem;
|
||||
unsigned long iir;
|
||||
unsigned long isr;
|
||||
unsigned long ior;
|
||||
unsigned long ipsw;
|
||||
unsigned long __unused0;
|
||||
unsigned long sr4;
|
||||
unsigned long sr0;
|
||||
unsigned long sr1;
|
||||
unsigned long sr2;
|
||||
unsigned long sr3;
|
||||
unsigned long sr5;
|
||||
unsigned long sr6;
|
||||
unsigned long sr7;
|
||||
unsigned long cr0;
|
||||
unsigned long pid1;
|
||||
unsigned long pid2;
|
||||
unsigned long scrccr;
|
||||
unsigned long pid3;
|
||||
unsigned long pid4;
|
||||
unsigned long cr24;
|
||||
unsigned long cr25;
|
||||
unsigned long cr26;
|
||||
unsigned long cr27;
|
||||
unsigned long cr28;
|
||||
unsigned long cr29;
|
||||
unsigned long cr30;
|
||||
|
||||
u64 fr[32];
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
Reference in New Issue
Block a user