Hi again,

well the second issue is a bit more clear now. It is because I do like
this:

printf("%"FMT64"d %"FMT64"d", sec,usec);

for some reason the second argument is shown as 0, though it is not 0.
I guess I need to go deeper in preprocessed code.

but the first one still remains:
1.      this is always falling back to BDOOR_CMD_GETTIME case. Why? Is my 
WMWare too old?

Sergey


> Hello guys,

> Urgently need your kind assistance!
> While playing with time-syncing part of guestd I have faced the
> following (mis?)behaviour of the block of code provided in the bottom (it is
> taken from ToolsDaemon_SyncTime function).

> I run it on VMWare 5.5.2 with SLED 10 Linux as a host and Fedora linux as a 
> guest.

> What I see is:
> 1.      this is always falling back to BDOOR_CMD_GETTIME case. Why? Is my 
> WMWare too old?
> 2.      In the end I see that hostUsecs is always 0. What could be the reason?
> BUT!!! I just made a test and discover that  this two assignments
> (that are the same for all 3 cases):
>    hostUsecs = bp.out.bx.word;
>    maxTimeLag = bp.out.cx.word;

> in my case place something that looks _extremely_ like usecs from
> the host to the maxTimeLag variable (Bug?)

> I got rid of all the initialization in guestd, and call this
> routine right away in int main(). Could this be the reason for this?

> Really hope that you help me out. Thanks.

> Sergey
> ----------------------------------------------------------------------------
> Here comes the extract:

> bp.in.cx.halfs.low = BDOOR_CMD_GETTIMEFULL_WITH_LAG;
>    Backdoor(&bp);
>    if (bp.out.ax.word == BDOOR_MAGIC) {
>       hostSecs = ((uint64)bp.out.si.word << 32) | bp.out.dx.word;
>       interruptLag = bp.out.di.word;
>       timeLagCall = TRUE;
>       Debug("Using BDOOR_CMD_GETTIMEFULL_WITH_LAG\n");
>    } else {
>       Debug("BDOOR_CMD_GETTIMEFULL_WITH_LAG not supported by current host, 
> attempting "
>             "BDOOR_CMD_GETTIMEFULL\n");
>       interruptLag = 0;
>       bp.in.cx.halfs.low = BDOOR_CMD_GETTIMEFULL;
>       Backdoor(&bp);
>       if (bp.out.ax.word == BDOOR_MAGIC) {
>          hostSecs = ((uint64)bp.out.si.word << 32) | bp.out.dx.word;
>       } else {
>          Debug("BDOOR_CMD_GETTIMEFULL not supported by current host, 
> attempting "
>                "BDOOR_CMD_GETTIME\n");
>          bp.in.cx.halfs.low = BDOOR_CMD_GETTIME;
>          Backdoor(&bp);
>          hostSecs = bp.out.ax.word;
>       }
>    }
>    hostUsecs = bp.out.bx.word;
>    maxTimeLag = bp.out.cx.word;


> ------------------------------------------------------------------------------
> _______________________________________________
> open-vm-tools-devel mailing list
> open-vm-tools-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open-vm-tools-devel



-- 
С уважением,
 Sergey                          mailto:hq9000_...@mail.ru


------------------------------------------------------------------------------
_______________________________________________
open-vm-tools-devel mailing list
open-vm-tools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-vm-tools-devel

Reply via email to