Rev 8534 | Rev 8867 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8534 | Rev 8840 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 8534 $ |
8 | $Revision: 8840 $ |
9 | 9 | ||
10 | 10 | ||
Line 150... | Line 150... | ||
150 | jne .ret |
150 | jne .ret |
Line 151... | Line 151... | ||
151 | 151 | ||
152 | inc ebx ; 1 - get sse context |
152 | inc ebx ; 1 - get sse context |
153 | ; TODO legacy 32-bit FPU/MMX context |
153 | ; TODO legacy 32-bit FPU/MMX context |
154 | .std_ctx: |
- | |
155 | ; push ecx |
- | |
156 | ; mov ecx, esi |
- | |
157 | call check_region |
- | |
158 | ; pop ecx |
- | |
159 | dec eax |
- | |
160 | jnz .ret |
154 | .std_ctx: |
161 | call get_debuggee_slot |
155 | call get_debuggee_slot |
Line 162... | Line 156... | ||
162 | jc .ret |
156 | jc .ret |
163 | 157 | ||
Line 231... | Line 225... | ||
231 | ; edx=sizeof(CONTEXT) |
225 | ; edx=sizeof(CONTEXT) |
232 | ; esi->CONTEXT |
226 | ; esi->CONTEXT |
233 | ; destroys eax,ecx,edx,esi,edi |
227 | ; destroys eax,ecx,edx,esi,edi |
234 | cmp edx, 28h |
228 | cmp edx, 28h |
235 | jnz .ret |
229 | jnz .ret |
236 | ; push ebx |
- | |
237 | ; mov ebx, edx |
- | |
238 | call check_region |
- | |
239 | ; pop ebx |
- | |
240 | dec eax |
- | |
241 | jnz .ret |
- | |
- | 230 | ||
242 | call get_debuggee_slot |
231 | call get_debuggee_slot |
243 | jc .stiret |
232 | jc .stiret |
244 | ; mov esi, edx |
233 | ; mov esi, edx |
245 | mov eax, [eax*8+SLOT_BASE+APPDATA.pl0_stack] |
234 | mov eax, [eax*8+SLOT_BASE+APPDATA.pl0_stack] |
246 | lea edi, [eax+RING0_STACK_SIZE] |
235 | lea edi, [eax+RING0_STACK_SIZE] |
Line 361... | Line 350... | ||
361 | ; edx=length |
350 | ; edx=length |
362 | ; edi->buffer in debugger |
351 | ; edi->buffer in debugger |
363 | ; esi=address in debuggee |
352 | ; esi=address in debuggee |
364 | ; out: [esp+36]=sizeof(read) |
353 | ; out: [esp+36]=sizeof(read) |
365 | ; destroys all |
354 | ; destroys all |
366 | ; push ebx |
- | |
367 | ; mov ebx, esi |
- | |
368 | call check_region |
- | |
369 | ; pop ebx |
- | |
370 | dec eax |
- | |
371 | jnz .err |
- | |
372 | call get_debuggee_slot |
355 | call get_debuggee_slot |
373 | jc .err |
356 | jc .err |
374 | shr eax, 5 |
357 | shr eax, 5 |
375 | mov ecx, edi |
358 | mov ecx, edi |
376 | call read_process_memory |
359 | call read_process_memory |
Line 387... | Line 370... | ||
387 | ; edx=length |
370 | ; edx=length |
388 | ; edi->buffer in debugger |
371 | ; edi->buffer in debugger |
389 | ; esi=address in debuggee |
372 | ; esi=address in debuggee |
390 | ; out: [esp+36]=sizeof(write) |
373 | ; out: [esp+36]=sizeof(write) |
391 | ; destroys all |
374 | ; destroys all |
392 | ; push ebx |
- | |
393 | ; mov ebx, esi |
- | |
394 | call check_region |
- | |
395 | ; pop ebx |
- | |
396 | dec eax |
- | |
397 | jnz debug_read_process_memory.err |
- | |
398 | call get_debuggee_slot |
375 | call get_debuggee_slot |
399 | jc debug_read_process_memory.err |
376 | jc debug_read_process_memory.err |
400 | shr eax, 5 |
377 | shr eax, 5 |
401 | mov ecx, edi |
378 | mov ecx, edi |
402 | call write_process_memory |
379 | call write_process_memory |