cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

kgdb.h (1318B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * PA-RISC KGDB support
      4 *
      5 * Copyright (c) 2019 Sven Schnelle <svens@stackframe.org>
      6 *
      7 */
      8
      9#ifndef __PARISC_KGDB_H__
     10#define __PARISC_KGDB_H__
     11
     12#define BREAK_INSTR_SIZE		4
     13#define PARISC_KGDB_COMPILED_BREAK_INSN	0x3ffc01f
     14#define PARISC_KGDB_BREAK_INSN		0x3ffa01f
     15
     16
     17#define NUMREGBYTES			sizeof(struct parisc_gdb_regs)
     18#define BUFMAX				4096
     19
     20#define CACHE_FLUSH_IS_SAFE		1
     21
     22#ifndef __ASSEMBLY__
     23
     24static inline void arch_kgdb_breakpoint(void)
     25{
     26	asm(".word %0" : : "i"(PARISC_KGDB_COMPILED_BREAK_INSN) : "memory");
     27}
     28
     29struct parisc_gdb_regs {
     30	unsigned long gpr[32];
     31	unsigned long sar;
     32	unsigned long iaoq_f;
     33	unsigned long iasq_f;
     34	unsigned long iaoq_b;
     35	unsigned long iasq_b;
     36	unsigned long eiem;
     37	unsigned long iir;
     38	unsigned long isr;
     39	unsigned long ior;
     40	unsigned long ipsw;
     41	unsigned long __unused0;
     42	unsigned long sr4;
     43	unsigned long sr0;
     44	unsigned long sr1;
     45	unsigned long sr2;
     46	unsigned long sr3;
     47	unsigned long sr5;
     48	unsigned long sr6;
     49	unsigned long sr7;
     50	unsigned long cr0;
     51	unsigned long pid1;
     52	unsigned long pid2;
     53	unsigned long scrccr;
     54	unsigned long pid3;
     55	unsigned long pid4;
     56	unsigned long cr24;
     57	unsigned long cr25;
     58	unsigned long cr26;
     59	unsigned long cr27;
     60	unsigned long cr28;
     61	unsigned long cr29;
     62	unsigned long cr30;
     63
     64	u64 fr[32];
     65};
     66
     67#endif
     68#endif