[PTLsim-devel] how to enter & leave simulation mode from the program?

Sasa Tomic sasa.tomic at bsc.es
Tue May 15 11:00:29 EDT 2007


And I forgot, objdump of the executable gives this:

0000000000400a94 <main>:
  400a94:    55                       push   %rbp
  400a95:    48 89 e5                 mov    %rsp,%rbp
  400a98:    48 81 ec a0 09 00 00     sub    $0x9a0,%rsp
  400a9f:    89 bd 6c f6 ff ff        mov    %edi,0xfffffffffffff66c(%rbp)
  400aa5:    48 89 b5 60 f6 ff ff     mov    %rsi,0xfffffffffffff660(%rbp)
  400aac:    48 8b b5 60 f6 ff ff     mov    0xfffffffffffff660(%rbp),%rsi
  400ab3:    8b bd 6c f6 ff ff        mov    0xfffffffffffff66c(%rbp),%edi
  400ab9:    e8 45 ff ff ff           callq  400a03 <parseArguments>
  400abe:    bf d8 29 46 00           mov    $0x4629d8,%edi
  400ac3:    e8 38 09 01 00           callq  411400 <_IO_puts>
  400ac8:    b8 00 00 00 00           mov    $0x0,%eax
  400acd:    e8 f2 f7 ff ff           callq  4002c4 <initTest>
  400adc:    be 00 00 00 00           mov    $0x0,%esi
  400ae1:    bf 00 ca 58 00           mov    $0x58ca00,%edi
  400ae6:    e8 e5 48 00 00           callq  4053d0 <__pthread_mutex_init>
  400aeb:    b8 00 00 00 00           mov    $0x0,%eax
  400af0:    e8 00 03 00 00           callq  400df5 <ptlcall_switch_to_sim>
  400af5:    bf e8 29 46 00           mov    $0x4629e8,%edi
  400afa:    e8 01 09 01 00           callq  411400 <_IO_puts>
...
0000000000400df5 <ptlcall_switch_to_sim>:
  400df5:    55                       push   %rbp
  400df6:    48 89 e5                 mov    %rsp,%rbp
  400df9:    41 b9 00 00 00 00        mov    $0x0,%r9d
  400dff:    41 b8 00 00 00 00        mov    $0x0,%r8d
  400e05:    b9 00 00 00 00           mov    $0x0,%ecx
  400e0a:    ba 00 00 00 00           mov    $0x0,%edx
  400e0f:    be 00 00 00 00           mov    $0x0,%esi
  400e14:    bf 02 00 00 00           mov    $0x2,%edi
  400e19:    e8 02 00 00 00           callq  400e20 <ptlcall>
  400e1e:    c9                       leaveq
  400e1f:    c3                       retq  

0000000000400e20 <ptlcall>:
  400e20:    55                       push   %rbp
  400e21:    48 89 e5                 mov    %rsp,%rbp
  400e24:    48 83 ec 60              sub    $0x60,%rsp
  400e28:    48 89 7d d8              mov    %rdi,0xffffffffffffffd8(%rbp)
  400e2c:    48 89 75 d0              mov    %rsi,0xffffffffffffffd0(%rbp)
  400e30:    48 89 55 c8              mov    %rdx,0xffffffffffffffc8(%rbp)
  400e34:    48 89 4d c0              mov    %rcx,0xffffffffffffffc0(%rbp)
  400e38:    4c 89 45 b8              mov    %r8,0xffffffffffffffb8(%rbp)
  400e3c:    4c 89 4d b0              mov    %r9,0xffffffffffffffb0(%rbp)
  400e40:    48 c7 45 e8 00 10 00     movq   
$0x1000,0xffffffffffffffe8(%rbp)
  400e47:    00
  400e48:    8b 05 6a 3b 18 00        mov    1588074(%rip),%eax        # 
5849b8 <running_under_ptlsim>
  400e4e:    85 c0                    test   %eax,%eax
  400e50:    79 4b                    jns    400e9d <ptlcall+0x7d>
  400e52:    48 8b 7d e8              mov    0xffffffffffffffe8(%rbp),%rdi
  400e56:    be 00 10 00 00           mov    $0x1000,%esi
  400e5b:    e8 30 fd 01 00           callq  420b90 <munlock>
  400e60:    89 45 fc                 mov    %eax,0xfffffffffffffffc(%rbp)
  400e63:    83 7d fc 00              cmpl   $0x0,0xfffffffffffffffc(%rbp)
  400e67:    0f 94 c0                 sete   %al
  400e6a:    0f b6 c0                 movzbl %al,%eax
  400e6d:    89 05 45 3b 18 00        mov    %eax,1588037(%rip)        # 
5849b8 <running_under_ptlsim>
  400e73:    8b 05 3f 3b 18 00        mov    1588031(%rip),%eax        # 
5849b8 <running_under_ptlsim>
  400e79:    85 c0                    test   %eax,%eax
  400e7b:    74 20                    je     400e9d <ptlcall+0x7d>
  400e7d:    48 8b 45 e8              mov    0xffffffffffffffe8(%rbp),%rax
  400e81:    48 8b 10                 mov    (%rax),%rdx
  400e84:    48 b8 50 54 4c 73 69     mov    $0x34366d69734c5450,%rax
  400e8b:    6d 36 34
  400e8e:    48 39 c2                 cmp    %rax,%rdx
  400e91:    74 0a                    je     400e9d <ptlcall+0x7d>
  400e93:    c7 05 1b 3b 18 00 00     movl   $0x0,1587995(%rip)        # 
5849b8 <running_under_ptlsim>
  400e9a:    00 00 00
  400e9d:    8b 05 15 3b 18 00        mov    1587989(%rip),%eax        # 
5849b8 <running_under_ptlsim>
  400ea3:    85 c0                    test   %eax,%eax
  400ea5:    75 0a                    jne    400eb1 <ptlcall+0x91>
  400ea7:    48 c7 45 a8 00 00 00     movq   $0x0,0xffffffffffffffa8(%rbp)
  400eae:    00
  400eaf:    eb 3e                    jmp    400eef <ptlcall+0xcf>
  400eb1:    48 8b 45 e8              mov    0xffffffffffffffe8(%rbp),%rax
  400eb5:    48 8b 40 10              mov    0x10(%rax),%rax
  400eb9:    48 89 45 f0              mov    %rax,0xfffffffffffffff0(%rbp)
  400ebd:    48 8b 45 b0              mov    0xffffffffffffffb0(%rbp),%rax
  400ec1:    48 8b 55 b8              mov    0xffffffffffffffb8(%rbp),%rdx
  400ec5:    48 8b 4d c0              mov    0xffffffffffffffc0(%rbp),%rcx
  400ec9:    48 8b 75 c8              mov    0xffffffffffffffc8(%rbp),%rsi
  400ecd:    48 8b 7d d0              mov    0xffffffffffffffd0(%rbp),%rdi
  400ed1:    4c 8b 55 d8              mov    0xffffffffffffffd8(%rbp),%r10
  400ed5:    4c 8b 5d f0              mov    0xfffffffffffffff0(%rbp),%r11
  400ed9:    49 89 c1                 mov    %rax,%r9
  400edc:    49 89 d0                 mov    %rdx,%r8
  400edf:    48 89 f2                 mov    %rsi,%rdx
  400ee2:    48 89 fe                 mov    %rdi,%rsi
  400ee5:    4c 89 d7                 mov    %r10,%rdi
  400ee8:    41 ff d3                 callq  *%r11
  400eeb:    48 89 45 a8              mov    %rax,0xffffffffffffffa8(%rbp)
  400eef:    48 8b 45 a8              mov    0xffffffffffffffa8(%rbp),%rax
  400ef3:    c9                       leaveq
  400ef4:    c3                       retq  

0000000000400ef5 <ptlcall_switch_to_native>:
  400ef5:    55                       push   %rbp
  400ef6:    48 89 e5                 mov    %rsp,%rbp
  400ef9:    41 b9 00 00 00 00        mov    $0x0,%r9d
  400eff:    41 b8 00 00 00 00        mov    $0x0,%r8d
  400f05:    b9 00 00 00 00           mov    $0x0,%ecx
  400f0a:    ba 00 00 00 00           mov    $0x0,%edx
  400f0f:    be 00 00 00 00           mov    $0x0,%esi
  400f14:    bf 03 00 00 00           mov    $0x3,%edi
  400f19:    e8 02 ff ff ff           callq  400e20 <ptlcall>
  400f1e:    c9                       leaveq
  400f1f:    c3                       retq  


-- 
Saša Tomić
BSC - Barcelona SuperComputing Center
c\ Jordi Girona 29, Nexus I, 08034 Barcelona, España
Tel.: +34671218062,  +34934054289
http://www.bsc.es


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
Url : http://ptlsim.org/pipermail/ptlsim-devel/attachments/20070515/bf9499a6/attachment.bin 


More information about the PTLsim-devel mailing list