Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / sys / kgdb.h @ 14

History | View | Annotate | Download (3.3 KB)

1 13 up20180614
/*        $NetBSD: kgdb.h,v 1.12 2011/04/03 22:29:28 dyoung Exp $        */
2
3
/*
4
 * Copyright (c) 1992, 1993
5
 *        The Regents of the University of California.  All rights reserved.
6
 *
7
 * This software was developed by the Computer Systems Engineering group
8
 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
9
 * contributed to Berkeley.
10
 *
11
 * All advertising materials mentioning features or use of this software
12
 * must display the following acknowledgement:
13
 *        This product includes software developed by the University of
14
 *        California, Lawrence Berkeley Laboratories.
15
 *
16
 * Redistribution and use in source and binary forms, with or without
17
 * modification, are permitted provided that the following conditions
18
 * are met:
19
 * 1. Redistributions of source code must retain the above copyright
20
 *    notice, this list of conditions and the following disclaimer.
21
 * 2. Redistributions in binary form must reproduce the above copyright
22
 *    notice, this list of conditions and the following disclaimer in the
23
 *    documentation and/or other materials provided with the distribution.
24
 * 3. Neither the name of the University nor the names of its contributors
25
 *    may be used to endorse or promote products derived from this software
26
 *    without specific prior written permission.
27
 *
28
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38
 * SUCH DAMAGE.
39
 *
40
 *        @(#)remote-sl.h        8.1 (Berkeley) 6/11/93
41
 */
42
43
#ifndef _SYS_KGDB_H_
44
#define _SYS_KGDB_H_
45
46
/*
47
 * Protocol definition for KGDB
48
 * (gdb over remote serial line)
49
 */
50
51
#include <machine/db_machdep.h>
52
53
/*
54
 * Message types.
55
 */
56
#define KGDB_MEM_R        'm'
57
#define KGDB_MEM_W        'M'
58
#define KGDB_REG_R        'g'
59
#define KGDB_REG_W        'G'
60
#define KGDB_CONT        'c'
61
#define KGDB_STEP        's'
62
#define KGDB_KILL        'k'
63
#define KGDB_DETACH        'D'
64
#define KGDB_SIGNAL        '?'
65
#define KGDB_DEBUG        'd'
66
67
/*
68
 * start of frame/end of frame
69
 */
70
#define KGDB_START        '$'
71
#define KGDB_END        '#'
72
#define KGDB_GOODP        '+'
73
#define KGDB_BADP        '-'
74
75
#ifdef        _KERNEL
76
77
#include <ddb/db_run.h>
78
#include <ddb/db_access.h>
79
80
/*
81
 * Functions and variables exported from kgdb_stub.c
82
 */
83
extern dev_t kgdb_dev;
84
extern int kgdb_rate, kgdb_active;
85
extern int kgdb_debug_init, kgdb_debug_panic;
86
extern label_t *kgdb_recover;
87
88
void kgdb_attach(int (*)(void *), void (*)(void *, int), void *);
89
void kgdb_connect(int);
90
void kgdb_panic(void);
91
int kgdb_trap(int, db_regs_t *);
92
int kgdb_disconnected(void);
93
94
/*
95
 * Machine dependent functions needed by kgdb_stub.c
96
 */
97
int kgdb_signal(int);
98
int kgdb_acc(vaddr_t, size_t);
99
void kgdb_entry_notice(int, db_regs_t *);
100
void kgdb_getregs(db_regs_t *, kgdb_reg_t *);
101
void kgdb_setregs(db_regs_t *, kgdb_reg_t *);
102
103
#endif        /* _KERNEL */
104
#endif /* !_SYS_KGDB_H_ */