1/*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28
29/*
30 * Private functions for kdp.c
31 */
32
33static boolean_t
34kdp_unknown(
35 kdp_pkt_t *,
36 int *,
37 unsigned short *
38 );
39
40static boolean_t
41kdp_connect(
42 kdp_pkt_t *,
43 int *,
44 unsigned short *
45 );
46
47static boolean_t
48kdp_disconnect(
49 kdp_pkt_t *,
50 int *,
51 unsigned short *
52 );
53
54static boolean_t
55kdp_reattach(
56 kdp_pkt_t *,
57 int *,
58 unsigned short *
59 );
60
61static boolean_t
62kdp_hostinfo(
63 kdp_pkt_t *,
64 int *,
65 unsigned short *
66 );
67
68static boolean_t
69kdp_suspend(
70 kdp_pkt_t *,
71 int *,
72 unsigned short *
73 );
74
75static boolean_t
76kdp_readregs(
77 kdp_pkt_t *,
78 int *,
79 unsigned short *
80 );
81
82static boolean_t
83kdp_writeregs(
84 kdp_pkt_t *,
85 int *,
86 unsigned short *
87 );
88
89static boolean_t
90kdp_version(
91 kdp_pkt_t *,
92 int *,
93 unsigned short *
94 );
95
96static boolean_t
97kdp_kernelversion(
98 kdp_pkt_t *,
99 int *,
100 unsigned short *
101 );
102
103static boolean_t
104kdp_regions(
105 kdp_pkt_t *,
106 int *,
107 unsigned short *
108 );
109
110static boolean_t
111kdp_maxbytes(
112 kdp_pkt_t *,
113 int *,
114 unsigned short *
115 );
116
117static boolean_t
118kdp_readmem(
119 kdp_pkt_t *,
120 int *,
121 unsigned short *
122 );
123
124static boolean_t
125kdp_readmem64(
126 kdp_pkt_t *,
127 int *,
128 unsigned short *
129 );
130
131static boolean_t
132kdp_readphysmem64(
133 kdp_pkt_t *,
134 int *,
135 unsigned short *
136 );
137
138static boolean_t
139kdp_writemem(
140 kdp_pkt_t *,
141 int *,
142 unsigned short *
143 );
144
145static boolean_t
146kdp_writemem64(
147 kdp_pkt_t *,
148 int *,
149 unsigned short *
150 );
151
152static boolean_t
153kdp_writephysmem64(
154 kdp_pkt_t *,
155 int *,
156 unsigned short *
157 );
158
159static boolean_t
160kdp_resumecpus(
161 kdp_pkt_t *,
162 int *,
163 unsigned short *
164 );
165
166static boolean_t
167kdp_breakpoint_set(
168 kdp_pkt_t *,
169 int *,
170 unsigned short *t
171 );
172
173static boolean_t
174kdp_breakpoint64_set(
175 kdp_pkt_t *,
176 int *,
177 unsigned short *t
178 );
179
180
181static boolean_t
182kdp_breakpoint_remove(
183 kdp_pkt_t *,
184 int *,
185 unsigned short *
186 );
187
188static boolean_t
189kdp_breakpoint64_remove(
190 kdp_pkt_t *,
191 int *,
192 unsigned short *
193 );
194
195
196static boolean_t
197kdp_reboot(
198 kdp_pkt_t *,
199 int *,
200 unsigned short *
201 );
202
203static boolean_t
204kdp_readioport(kdp_pkt_t *, int *, unsigned short *);
205
206static boolean_t
207kdp_writeioport(kdp_pkt_t *, int *, unsigned short *);
208
209static boolean_t
210kdp_readmsr64(kdp_pkt_t *, int *, unsigned short *);
211
212static boolean_t
213kdp_writemsr64(kdp_pkt_t *, int *, unsigned short *);
214
215static boolean_t
216kdp_dumpinfo(kdp_pkt_t *, int *, unsigned short *);
217