Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/sparc/include/asm/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  kdebug_32.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * kdebug.h:  Defines and definitions for debugging the Linux kernel
 *            under various kernel debuggers.
 *
 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
 */

#ifndef _SPARC_KDEBUG_H
#define _SPARC_KDEBUG_H

#include <asm/openprom.h>
#include <asm/vaddrs.h>

/* Breakpoints are enter through trap table entry 126.  So in sparc assembly
 * if you want to drop into the debugger you do:
 *
 * t DEBUG_BP_TRAP
 */


#define DEBUG_BP_TRAP     126

#ifndef __ASSEMBLY__
/* The debug vector is passed in %o1 at boot time.  It is a pointer to
 * a structure in the debuggers address space.  Here is its format.
 */


typedef unsigned int (*debugger_funct)(void);

struct kernel_debug {
 /* First the entry point into the debugger.  You jump here
 * to give control over to the debugger.
 */

 unsigned long kdebug_entry;
 unsigned long kdebug_trapme;   /* Figure out later... */
 /* The following is the number of pages that the debugger has
 * taken from to total pool.
 */

 unsigned long *kdebug_stolen_pages;
 /* Ok, after you remap yourself and/or change the trap table
 * from what you were left with at boot time you have to call
 * this synchronization function so the debugger can check out
 * what you have done.
 */

 debugger_funct teach_debugger;
}; /* I think that is it... */

extern struct kernel_debug *linux_dbvec;

/* Use this macro in C-code to enter the debugger. */
static inline void sp_enter_debugger(void)
{
 __asm__ __volatile__("jmpl %0, %%o7\n\t"
        "nop\n\t" : :
        "r" (linux_dbvec) : "o7""memory");
}

#define SP_ENTER_DEBUGGER do { \
      if((linux_dbvec!=0) && ((*(short *)linux_dbvec)!=-1)) \
        sp_enter_debugger(); \
         } while(0)

enum die_val {
 DIE_UNUSED,
 DIE_OOPS,
};

#endif /* !(__ASSEMBLY__) */

/* Some nice offset defines for assembler code. */
#define KDEBUG_ENTRY_OFF    0x0
#define KDEBUG_DUNNO_OFF    0x4
#define KDEBUG_DUNNO2_OFF   0x8
#define KDEBUG_TEACH_OFF    0xc

#endif /* !(_SPARC_KDEBUG_H) */

Messung V0.5
C=97 H=97 G=96

¤ Dauer der Verarbeitung: 0.8 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.