]> git.saurik.com Git - apple/xnu.git/blob - osfmk/kdp/kdp_internal.h
xnu-344.49.tar.gz
[apple/xnu.git] / osfmk / kdp / kdp_internal.h
1 /*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25
26 /*
27 * Internal definitions for kdp module
28 */
29
30 #include <kdp/kdp.h>
31 #include <kdp/kdp_protocol.h>
32
33 typedef struct {
34 unsigned short reply_port;
35 unsigned int conn_seq;
36 boolean_t is_conn;
37 void *saved_state;
38 boolean_t is_halted;
39 unsigned short exception_port;
40 unsigned char exception_seq;
41 boolean_t exception_ack_needed;
42 } kdp_glob_t;
43
44 extern kdp_glob_t kdp;
45
46 extern int kdp_flag;
47 #define KDP_READY 0x1
48 #define KDP_ARP 0x2
49 #define KDP_BP_DIS 0x4
50
51
52 typedef boolean_t
53 (*kdp_dispatch_t) (
54 kdp_pkt_t *,
55 int *,
56 unsigned short *
57 );
58
59 boolean_t
60 kdp_packet(
61 unsigned char *,
62 int *,
63 unsigned short *
64 );
65
66 boolean_t
67 kdp_remove_all_breakpoints ();
68
69 void
70 kdp_exception(
71 unsigned char *,
72 int *,
73 unsigned short *,
74 unsigned int,
75 unsigned int,
76 unsigned int
77 );
78
79 boolean_t
80 kdp_exception_ack(
81 unsigned char *,
82 int
83 );
84
85 void
86 kdp_panic(
87 const char *msg
88 );
89
90 void
91 kdp_reset(
92 void
93 );
94
95 void
96 kdp_reboot(
97 void
98 );
99
100 void
101 kdp_us_spin(
102 int usec
103 );
104
105 int
106 kdp_intr_disbl(
107 void
108 );
109
110 void
111 kdp_intr_enbl(
112 int s
113 );
114
115 kdp_error_t
116 kdp_machine_read_regs(
117 unsigned int cpu,
118 unsigned int flavor,
119 char *data,
120 int *size
121 );
122
123 kdp_error_t
124 kdp_machine_write_regs(
125 unsigned int cpu,
126 unsigned int flavor,
127 char *data,
128 int *size
129 );
130
131 void
132 kdp_machine_hostinfo(
133 kdp_hostinfo_t *hostinfo
134 );
135
136 void
137 kdp_sync_cache(
138 void
139 );
140