On Fri, Dec 08, 2017 at 12:15:37AM +0900, Masatake YAMATO wrote:
[...]
> I read this through. Other than assembly language code in code(),
> it looks good for me.
> 
> I don't understand what is done in code().
> I compiled .c file having only code() and run objdump -d:
> What I got is
> 
>     0000000000000000 <code>:
>        0:     55                      push   %rbp
>        1:     48 89 e5                mov    %rsp,%rbp
>        4:     ba f8 03 00 d8          mov    $0xd80003f8,%edx
>        9:     b0 0a                   mov    $0xa,%al
>        b:     ee                      out    %al,(%dx)
>        c:     f4                      hlt    
>        d:     90                      nop
>        e:     5d                      pop    %rbp
>        f:     c3                      retq

It looks slightly different in the real test,
most likely because gcc optimized it:

$ objdump -d ioctl_kvm_run.o | sed -n '/<code>/,/^$/p'
0000000000000000 <code>:
   0:   ba f8 03 00 d8          mov    $0xd80003f8,%edx
   5:   b0 0a                   mov    $0xa,%al
   7:   ee                      out    %al,(%dx)
   8:   f4                      hlt    
   9:   c3                      retq   
   a:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)

Anyway, the difference is not important as long as "out" and "hlt"
are there.

> I find no add operator in the output. So I guess what this
> code does is different fron what the original code does:
> 
>       const uint8_t code[] = {
>               0xba, 0xf8, 0x03, /* mov $0x3f8, %dx */
>               0x00, 0xd8,       /* add %bl, %al */
>               0x04, '0',        /* add $'0', %al */
> 
> The code executed by kvm is not important here. However,
> I wondher what the intent is.

I've just simplified the code a bit.


-- 
ldv

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to