Page MenuHomeFreeBSD

pcpu_demo.after-all.disas

Authored By
rlibby
Jul 1 2024, 4:54 PM
Size
13 KB
Referenced Files
None
Subscribers
None

pcpu_demo.after-all.disas

==> /tmp/pcpu_demo.after.amd64.clang.disas <==
./usr/src/freebsd/amd64.amd64/sys/GENERIC/pcpu_demo.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <pcpu_demo_get_pcpu>:
0: 55 pushq %rbp
1: 48 89 e5 movq %rsp, %rbp
4: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
d: 5d popq %rbp
e: c3 retq
f: 90 nop
0000000000000010 <pcpu_demo_get>:
10: 55 pushq %rbp
11: 48 89 e5 movq %rsp, %rbp
14: 65 8b 04 25 3c 00 00 00 movl %gs:0x3c, %eax
1c: 5d popq %rbp
1d: c3 retq
1e: 66 90 nop
0000000000000020 <pcpu_demo_add>:
20: 55 pushq %rbp
21: 48 89 e5 movq %rsp, %rbp
24: 65 01 3c 25 3c 00 00 00 addl %edi, %gs:0x3c
2c: 5d popq %rbp
2d: c3 retq
2e: 66 90 nop
0000000000000030 <pcpu_demo_set>:
30: 55 pushq %rbp
31: 48 89 e5 movq %rsp, %rbp
34: 65 89 3c 25 3c 00 00 00 movl %edi, %gs:0x3c
3c: 5d popq %rbp
3d: c3 retq
3e: 66 90 nop
0000000000000040 <pcpu_demo_ptr>:
40: 55 pushq %rbp
41: 48 89 e5 movq %rsp, %rbp
44: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
4d: 48 83 c0 3c addq $0x3c, %rax
51: 5d popq %rbp
52: c3 retq
53: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
0000000000000060 <pcpu_demo_ptr_get>:
60: 55 pushq %rbp
61: 48 89 e5 movq %rsp, %rbp
64: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
6d: 8b 40 3c movl 0x3c(%rax), %eax
70: 5d popq %rbp
71: c3 retq
72: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
0000000000000080 <pcpu_demo_ptr_set>:
80: 55 pushq %rbp
81: 48 89 e5 movq %rsp, %rbp
84: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
8d: 89 78 3c movl %edi, 0x3c(%rax)
90: 5d popq %rbp
91: c3 retq
92: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
00000000000000a0 <pcpu_demo_curthread>:
a0: 55 pushq %rbp
a1: 48 89 e5 movq %rsp, %rbp
a4: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
ad: 5d popq %rbp
ae: c3 retq
af: 90 nop
00000000000000b0 <pcpu_demo_curpcb>:
b0: 55 pushq %rbp
b1: 48 89 e5 movq %rsp, %rbp
b4: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
bd: 48 05 20 05 00 00 addq $0x520, %rax # imm = 0x520
c3: 5d popq %rbp
c4: c3 retq
==> /tmp/pcpu_demo.after.amd64.gcc.disas <==
./gcc13/usr/src/freebsd/amd64.amd64/sys/GENERIC/pcpu_demo.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <pcpu_demo_get_pcpu>:
0: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
9: c3 retq
a: 66 0f 1f 44 00 00 nopw (%rax,%rax)
0000000000000010 <pcpu_demo_get>:
10: 65 8b 04 25 3c 00 00 00 movl %gs:0x3c, %eax
18: c3 retq
19: 0f 1f 80 00 00 00 00 nopl (%rax)
0000000000000020 <pcpu_demo_add>:
20: 65 01 3c 25 3c 00 00 00 addl %edi, %gs:0x3c
28: c3 retq
29: 0f 1f 80 00 00 00 00 nopl (%rax)
0000000000000030 <pcpu_demo_set>:
30: 65 89 3c 25 3c 00 00 00 movl %edi, %gs:0x3c
38: c3 retq
39: 0f 1f 80 00 00 00 00 nopl (%rax)
0000000000000040 <pcpu_demo_ptr>:
40: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
49: 48 83 c0 3c addq $0x3c, %rax
4d: c3 retq
4e: 66 90 nop
0000000000000050 <pcpu_demo_ptr_get>:
50: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
59: 8b 40 3c movl 0x3c(%rax), %eax
5c: c3 retq
5d: 0f 1f 00 nopl (%rax)
0000000000000060 <pcpu_demo_ptr_set>:
60: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
69: 89 78 3c movl %edi, 0x3c(%rax)
6c: c3 retq
6d: 0f 1f 00 nopl (%rax)
0000000000000070 <pcpu_demo_curthread>:
70: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
79: c3 retq
7a: 66 0f 1f 44 00 00 nopw (%rax,%rax)
0000000000000080 <pcpu_demo_curpcb>:
80: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
89: 48 05 20 05 00 00 addq $0x520, %rax # imm = 0x520
8f: c3 retq
==> /tmp/pcpu_demo.after.i386.clang.disas <==
./usr/src/freebsd/i386.i386/sys/GENERIC/pcpu_demo.o: file format elf32-i386
Disassembly of section .text:
00000000 <pcpu_demo_get_pcpu>:
0: 55 pushl %ebp
1: 89 e5 movl %esp, %ebp
3: 64 a1 00 01 00 00 movl %fs:0x100, %eax
9: 5d popl %ebp
a: c3 retl
b: 90 nop
c: 90 nop
d: 90 nop
e: 90 nop
f: 90 nop
00000010 <pcpu_demo_get>:
10: 55 pushl %ebp
11: 89 e5 movl %esp, %ebp
13: 64 a1 24 00 00 00 movl %fs:0x24, %eax
19: 5d popl %ebp
1a: c3 retl
1b: 90 nop
1c: 90 nop
1d: 90 nop
1e: 90 nop
1f: 90 nop
00000020 <pcpu_demo_add>:
20: 55 pushl %ebp
21: 89 e5 movl %esp, %ebp
23: 8b 45 08 movl 0x8(%ebp), %eax
26: 64 01 05 24 00 00 00 addl %eax, %fs:0x24
2d: 5d popl %ebp
2e: c3 retl
2f: 90 nop
00000030 <pcpu_demo_set>:
30: 55 pushl %ebp
31: 89 e5 movl %esp, %ebp
33: 8b 45 08 movl 0x8(%ebp), %eax
36: 64 a3 24 00 00 00 movl %eax, %fs:0x24
3c: 5d popl %ebp
3d: c3 retl
3e: 90 nop
3f: 90 nop
00000040 <pcpu_demo_ptr>:
40: 55 pushl %ebp
41: 89 e5 movl %esp, %ebp
43: 64 a1 00 01 00 00 movl %fs:0x100, %eax
49: 83 c0 24 addl $0x24, %eax
4c: 5d popl %ebp
4d: c3 retl
4e: 90 nop
4f: 90 nop
00000050 <pcpu_demo_ptr_get>:
50: 55 pushl %ebp
51: 89 e5 movl %esp, %ebp
53: 64 a1 00 01 00 00 movl %fs:0x100, %eax
59: 8b 40 24 movl 0x24(%eax), %eax
5c: 5d popl %ebp
5d: c3 retl
5e: 90 nop
5f: 90 nop
00000060 <pcpu_demo_ptr_set>:
60: 55 pushl %ebp
61: 89 e5 movl %esp, %ebp
63: 8b 45 08 movl 0x8(%ebp), %eax
66: 64 8b 0d 00 01 00 00 movl %fs:0x100, %ecx
6d: 89 41 24 movl %eax, 0x24(%ecx)
70: 5d popl %ebp
71: c3 retl
72: 90 nop
73: 90 nop
74: 90 nop
75: 90 nop
76: 90 nop
77: 90 nop
78: 90 nop
79: 90 nop
7a: 90 nop
7b: 90 nop
7c: 90 nop
7d: 90 nop
7e: 90 nop
7f: 90 nop
00000080 <pcpu_demo_curthread>:
80: 55 pushl %ebp
81: 89 e5 movl %esp, %ebp
83: 64 a1 00 00 00 00 movl %fs:0x0, %eax
89: 5d popl %ebp
8a: c3 retl
8b: 90 nop
8c: 90 nop
8d: 90 nop
8e: 90 nop
8f: 90 nop
00000090 <pcpu_demo_curpcb>:
90: 55 pushl %ebp
91: 89 e5 movl %esp, %ebp
93: 64 a1 10 00 00 00 movl %fs:0x10, %eax
99: 5d popl %ebp
9a: c3 retl
==> /tmp/pcpu_demo.after.i386.gcc.disas <==
./gcc13/usr/src/freebsd/i386.i386/sys/GENERIC/pcpu_demo.o: file format elf32-i386
Disassembly of section .text:
00000000 <pcpu_demo_get_pcpu>:
0: 64 a1 00 01 00 00 movl %fs:0x100, %eax
6: c3 retl
7: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
e: 66 90 nop
00000010 <pcpu_demo_get>:
10: 64 a1 24 00 00 00 movl %fs:0x24, %eax
16: c3 retl
17: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
1e: 66 90 nop
00000020 <pcpu_demo_add>:
20: 55 pushl %ebp
21: 89 e5 movl %esp, %ebp
23: 8b 45 08 movl 0x8(%ebp), %eax
26: 64 01 05 24 00 00 00 addl %eax, %fs:0x24
2d: 5d popl %ebp
2e: c3 retl
2f: 90 nop
00000030 <pcpu_demo_set>:
30: 55 pushl %ebp
31: 89 e5 movl %esp, %ebp
33: 8b 45 08 movl 0x8(%ebp), %eax
36: 64 a3 24 00 00 00 movl %eax, %fs:0x24
3c: 5d popl %ebp
3d: c3 retl
3e: 66 90 nop
00000040 <pcpu_demo_ptr>:
40: 64 a1 00 01 00 00 movl %fs:0x100, %eax
46: 83 c0 24 addl $0x24, %eax
49: c3 retl
4a: 8d b6 00 00 00 00 leal (%esi), %esi
00000050 <pcpu_demo_ptr_get>:
50: 64 a1 00 01 00 00 movl %fs:0x100, %eax
56: 8b 40 24 movl 0x24(%eax), %eax
59: c3 retl
5a: 8d b6 00 00 00 00 leal (%esi), %esi
00000060 <pcpu_demo_ptr_set>:
60: 55 pushl %ebp
61: 89 e5 movl %esp, %ebp
63: 64 a1 00 01 00 00 movl %fs:0x100, %eax
69: 8b 55 08 movl 0x8(%ebp), %edx
6c: 89 50 24 movl %edx, 0x24(%eax)
6f: 5d popl %ebp
70: c3 retl
71: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
78: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
7f: 90 nop
00000080 <pcpu_demo_curthread>:
80: 64 a1 00 00 00 00 movl %fs:0x0, %eax
86: c3 retl
87: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
8e: 66 90 nop
00000090 <pcpu_demo_curpcb>:
90: 64 a1 10 00 00 00 movl %fs:0x10, %eax
96: c3 retl

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
10272477
Default Alt Text
pcpu_demo.after-all.disas (13 KB)

Event Timeline