Blame


1 d54ead7f 2004-12-28 devnull .globl _tas
2 d54ead7f 2004-12-28 devnull _tas:
3 d54ead7f 2004-12-28 devnull movl $0xCAFEBABE, %eax
4 d54ead7f 2004-12-28 devnull movl 4(%esp), %ecx
5 d54ead7f 2004-12-28 devnull xchgl %eax, 0(%ecx)
6 d54ead7f 2004-12-28 devnull ret
7 d54ead7f 2004-12-28 devnull
8 d54ead7f 2004-12-28 devnull .globl setmcontext
9 d54ead7f 2004-12-28 devnull setmcontext:
10 d54ead7f 2004-12-28 devnull movl 4(%esp), %edx
11 d54ead7f 2004-12-28 devnull movl 8(%edx), %fs
12 d54ead7f 2004-12-28 devnull movl 12(%edx), %es
13 d54ead7f 2004-12-28 devnull movl 16(%edx), %ds
14 d54ead7f 2004-12-28 devnull movl 76(%edx), %ss
15 d54ead7f 2004-12-28 devnull movl 20(%edx), %edi
16 d54ead7f 2004-12-28 devnull movl 24(%edx), %esi
17 d54ead7f 2004-12-28 devnull movl 28(%edx), %ebp
18 d54ead7f 2004-12-28 devnull movl %esp, %ecx
19 d54ead7f 2004-12-28 devnull movl 72(%edx), %esp
20 d54ead7f 2004-12-28 devnull pushl 60(%edx) /* eip */
21 d54ead7f 2004-12-28 devnull pushl 44(%edx) /* ecx */
22 d54ead7f 2004-12-28 devnull pushl 48(%edx) /* eax */
23 d54ead7f 2004-12-28 devnull movl 36(%edx), %ebx
24 d54ead7f 2004-12-28 devnull movl 40(%edx), %edx
25 d54ead7f 2004-12-28 devnull movl 12(%ecx), %eax
26 d54ead7f 2004-12-28 devnull popl %eax
27 d54ead7f 2004-12-28 devnull popl %ecx
28 d54ead7f 2004-12-28 devnull ret
29 d54ead7f 2004-12-28 devnull
30 d54ead7f 2004-12-28 devnull .globl getmcontext
31 d54ead7f 2004-12-28 devnull getmcontext:
32 d54ead7f 2004-12-28 devnull pushl %edx
33 d54ead7f 2004-12-28 devnull movl 8(%esp), %edx
34 d54ead7f 2004-12-28 devnull movl %fs, 8(%edx)
35 d54ead7f 2004-12-28 devnull movl %es, 12(%edx)
36 d54ead7f 2004-12-28 devnull movl %ds, 16(%edx)
37 d54ead7f 2004-12-28 devnull movl %ss, 76(%edx)
38 d54ead7f 2004-12-28 devnull movl %edi, 20(%edx)
39 d54ead7f 2004-12-28 devnull movl %esi, 24(%edx)
40 d54ead7f 2004-12-28 devnull movl %ebp, 28(%edx)
41 d54ead7f 2004-12-28 devnull movl %ebx, 36(%edx)
42 d54ead7f 2004-12-28 devnull movl $1, 48(%edx)
43 d54ead7f 2004-12-28 devnull popl %eax
44 d54ead7f 2004-12-28 devnull movl %eax, 40(%edx)
45 d54ead7f 2004-12-28 devnull movl %ecx, 44(%edx)
46 d54ead7f 2004-12-28 devnull movl (%esp), %eax /* eip */
47 d54ead7f 2004-12-28 devnull movl %eax, 60(%edx)
48 d54ead7f 2004-12-28 devnull movl %esp, %eax
49 d54ead7f 2004-12-28 devnull addl $4, %eax /* setmcontext will re-push the eip */
50 d54ead7f 2004-12-28 devnull movl %eax, 72(%edx)
51 d54ead7f 2004-12-28 devnull movl 40(%edx), %edx
52 d54ead7f 2004-12-28 devnull xorl %eax, %eax
53 d54ead7f 2004-12-28 devnull ret
54 d54ead7f 2004-12-28 devnull